/* Desktop Styles for My Appointments Page */
@media screen and (min-width: 1024px) {
    /* Appointments Grid - 3 cards per row */
    #appointmentsList.appointments-grid {
        display: grid !important;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.5rem;
    }

    /* Appointment Card Styling */
    #appointmentsList.appointments-grid > div {
        display: flex;
        flex-direction: column;
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        height: 100%;
    }

    #appointmentsList.appointments-grid > div:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
    }

    .dark #appointmentsList.appointments-grid > div:hover {
        box-shadow: 0 12px 24px rgba(0, 0, 0, 0.4);
    }

    /* Card Content - Flexbox Layout */
    #appointmentsList.appointments-grid > div {
        height: 100%;
    }

    /* Status Badge */
    #appointmentsList.appointments-grid .status-badge {
        font-size: 0.6875rem;
        padding: 0.375rem 0.75rem;
    }

    /* Card Title */
    #appointmentsList.appointments-grid h3 {
        font-size: 1.125rem;
        line-height: 1.4;
    }

    /* Card Details */
    #appointmentsList.appointments-grid .text-sm {
        font-size: 0.8125rem;
    }
}

/* Mobile View - Keep single column */
@media screen and (max-width: 1023px) {
    #appointmentsList.appointments-grid {
        display: flex !important;
        flex-direction: column;
        gap: 1rem;
    }
}

