body {
    font-family: "Open Sans", Arial, sans-serif;
}

.admin-sidebar {
    min-height: calc(100vh - 56px);
}

.admin-sidebar .nav-link {
    color: #333;
}

.admin-sidebar .nav-link:hover {
    background-color: #e9ecef;
}

.dashboard-card {
    transition: transform 0.1s ease;
}

.dashboard-card:hover {
    transform: translateY(-2px);
}

.image-thumbnail {
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #f8f9fa;
    overflow: hidden;
}

.image-thumbnail img {
    max-width: 100%;
    max-height: 180px;
    width: auto;
    height: auto;
}

.event-row {
    transition: background-color 0.15s ease, box-shadow 0.15s ease;
}

.event-row:hover {
    background-color: var(--bs-light);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.event-row:active {
    background-color: var(--bs-secondary-bg);
}


.calendar-table {
    table-layout: fixed;
}

.calendar-table th {
    text-align: center;
    background-color: #f8f9fa;
}

.calendar-table td {
    height: 140px;
    vertical-align: top;
    padding: 8px;
}

.calendar-empty {
    background-color: #f8f9fa;
}

.calendar-today {
    background-color: #fff8e1;
}

.calendar-date {
    font-weight: 600;
    margin-bottom: 6px;
}

.calendar-event {
    padding: 5px 7px;
    margin-bottom: 5px;
    border-radius: 4px;
    font-size: 0.9rem;
}

.calendar-event-confirmed {
    background-color: #e9f5e9;
}

.calendar-event-provisional {
    background-color: #fff3cd;
}

.calendar-event-cancelled {
    background-color: #f8d7da;
    text-decoration: line-through;
}

.calendar-event:hover {
    opacity: 0.8;
}

.mobile-calendar {
    display: none;
}

.mobile-calendar-day {
    padding: 12px 0;
    border-bottom: 1px solid #dee2e6;
}

.mobile-calendar-day h2 {
    margin-bottom: 8px;
}

@media (max-width: 767.98px) {

    .desktop-calendar {
        display: none;
    }

    .mobile-calendar {
        display: block;
    }

    .mobile-calendar .calendar-event {
        margin-bottom: 6px;
        padding: 10px;
    }

}

.section-content p {
    margin-bottom: 1.5rem;
}

.section-two-columns {
    column-count: 2;
    column-gap: 2rem;
}

@media (max-width: 767.98px) {
    .section-two-columns {
        column-count: 1;
    }
}

.admin-list-row {
    transition: background-color 0.15s ease;
}

.admin-list-row:hover {
    background-color: var(--bs-tertiary-bg);
}

/* Softer, slightly transparent status badges */
.badge.text-bg-success {
    background-color: rgba(25, 135, 84, 0.6) !important;
}

.badge.text-bg-warning {
    background-color: rgba(255, 193, 7, 0.6) !important;
}

.badge.text-bg-danger {
    background-color: rgba(220, 53, 69, 0.6) !important;
}

.badge.text-bg-secondary {
    background-color: rgba(108, 117, 125, 0.6) !important;
}
