/* Two Weeks Schedule Table Styles (compact & minimal) */
.clinic-two-weeks-schedule {
	background: #fff;
	overflow: hidden;
}

/* Table Base Styles */
.schedule-table {
	width: 100%;
	border-collapse: collapse;
	background: #fff;
}

/* Header Styles */
.schedule-table thead {
	background: #e3f6e8;
	color: #333;
}

.schedule-table th {
	padding: 2px 4px;
	text-align: center;
	font-weight: 400;
	font-size: 11px;
	border: 1px solid #d0d0d0;
	position: relative;
}

.time-header {
	background: #e3f6e8;
	width: 85px;
	min-width: 85px;
}

/* Day Name Row */
.day-name-row th {
	font-size: 11px;
	font-weight: 400;
}

/* Day Date Row */
.day-date-row th {
	font-size: 10px;
	font-weight: 400;
}

.day-name-header.past,
.day-date-header.past {
	color: #999;
}

/* Saturday / Sunday header colors */
.day-name-header.saturday,
.day-date-header.saturday {
	background: #e3f1ff;
}

.day-name-header.sunday,
.day-date-header.sunday {
	background: #ffe3e3;
}

/* Body Styles */
.schedule-table tbody tr {
	border-bottom: 1px solid #e0e0e0;
}

.schedule-table td {
	padding: 2px 4px;
	text-align: center;
	border: 1px solid #d0d0d0;
	vertical-align: middle;
	font-size: 11px;
	background: #ffffff;
}

/* Time Cell */
.time-cell {
	background: #e3f6e8;
	font-weight: 400;
	color: #333;
	text-align: center;
	border-right: 1px solid #d0d0d0;
	white-space: nowrap;
}

/* Schedule Cell */
.schedule-cell {
	position: relative;
	font-size: 13px;
	font-weight: 400;
	background: #ffe5e5;
}

/* AM/PM Row Specific Styles */
.am-row {
	background: #ffffff;
}

.pm-row {
	background: #ffffff;
}

.am-row .time-cell,
.pm-row .time-cell {
	background: #e3f6e8;
}

/* Compact Mode (default already compact, keep slight tweak for class) */
.clinic-two-weeks-schedule.compact .schedule-table th,
.clinic-two-weeks-schedule.compact .schedule-table td {
	font-size: 10px;
}

/* Responsive Design */
@media (max-width: 768px) {
	.schedule-table th,
	.schedule-table td {
		font-size: 10px;
	}
}

@media (max-width: 480px) {
	.schedule-table th,
	.schedule-table td {
		padding: 1px 2px;
		font-size: 9px;
	}

	.time-header {
		width: 70px;
		min-width: 70px;
	}

	.schedule-cell {
		font-size: 11px;
		min-height: 25px;
	}

	.time-cell {
		font-size: 9px;
	}
}

.schedule-table th[scope] {
	background-color: rgba(0, 0, 0, 0.05);
}

/* Status symbols styling */
.schedule-cell span {
	display: inline-block;
	font-size: 13px;
	font-weight: 400;
	text-shadow: none;
}

/* Loading animation for dynamic updates */
@keyframes fadeIn {
	from {
		opacity: 0;
	}
    }

    to {
        opacity: 1;
    }
}


/* Improved contrast for accessibility */
@media (prefers-contrast: high) {
    .schedule-cell.status-available {
        background-color: #ffffff;
        border: 2px solid #28a745;
    }

    .schedule-cell.status-partial {
        background-color: #ffffff;
        border: 2px solid #ffc107;
    }

    .schedule-cell.status-unavailable {
        background-color: #ffffff;
        border: 2px solid #dc3545;
    }
}