/* ICMAB LMS Core — student-facing class lists */

.ilc-course-classes {
	margin: 0 0 32px;
	padding: 20px 24px;
	background: #fff;
	border: 1px solid #e3e6eb;
	border-radius: 8px;
}

.ilc-course-classes__heading {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 16px;
	font-size: 18px;
	font-weight: 600;
	color: #1a1a1a;
}

.ilc-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 7px;
	border-radius: 11px;
	background: #1f5c4a;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
}

.ilc-class-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ilc-class-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding: 14px 16px;
	border: 1px solid #e3e6eb;
	border-radius: 6px;
	margin-bottom: 10px;
	background: #fbfcfd;
}

.ilc-class-item:last-child {
	margin-bottom: 0;
}

.ilc-class-item--live {
	border-color: #1f5c4a;
	background: #f2f9f6;
}

.ilc-class-item--ended {
	opacity: 0.7;
}

.ilc-class-item__info {
	flex: 1 1 260px;
	min-width: 0;
}

.ilc-class-item__title {
	font-size: 15px;
	font-weight: 600;
	color: #1a1a1a;
	margin-bottom: 4px;
}

.ilc-class-item__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
	font-size: 13px;
	color: #5b5b5b;
}

.ilc-course-name {
	font-weight: 500;
	color: #2c6b58;
}

.ilc-state {
	font-weight: 600;
}

.ilc-state--live {
	color: #1f5c4a;
}

.ilc-state--upcoming {
	color: #9a6b00;
}

.ilc-state--ended {
	color: #888;
}

.ilc-btn {
	display: inline-block;
	padding: 9px 20px;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.ilc-btn--primary {
	background: #1f5c4a;
	color: #fff !important;
	transition: background 0.15s ease;
}

.ilc-btn--primary:hover,
.ilc-btn--primary:focus {
	background: #17493a;
	color: #fff !important;
	text-decoration: none;
}

.ilc-btn--muted {
	background: #eef0f3;
	color: #6b6b6b !important;
	cursor: default;
}

.ilc-empty {
	padding: 28px;
	text-align: center;
	color: #6b6b6b;
	background: #fbfcfd;
	border: 1px dashed #d5d9e0;
	border-radius: 6px;
}

/* Instructor attendance sheet */

.ilc-hint {
	color: #5b5b5b;
	margin-bottom: 14px;
}

.ilc-notice {
	padding: 10px 14px;
	border-radius: 5px;
	margin-bottom: 16px;
	font-weight: 500;
}

.ilc-notice--success {
	background: #e6f4ea;
	border-left: 4px solid #1f5c4a;
	color: #1f5c4a;
}

.ilc-sheet-header {
	background: #fbfcfd;
	border: 1px solid #e3e6eb;
	border-radius: 6px;
	padding: 12px 16px;
	margin-bottom: 16px;
}

.ilc-sheet-header strong {
	display: block;
	font-size: 15px;
	margin-bottom: 4px;
	color: #1a1a1a;
}

/* Wide sheet must scroll inside itself rather than stretch the page. */
.ilc-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid #e3e6eb;
	border-radius: 6px;
	background: #fff;
}

.ilc-attendance-table {
	width: 100%;
	min-width: 720px;
	border-collapse: collapse;
	background: #fff;
	margin: 0;
}

/* Themes style bare th/td generously; pin our own metrics so the sheet
   stays compact and readable inside any theme's dashboard. */
.ilc-attendance-table th,
.ilc-attendance-table td {
	padding: 10px 12px;
	text-align: left;
	border-bottom: 1px solid #eceff3;
	vertical-align: middle;
	font-size: 14px;
	line-height: 1.45;
}

.ilc-attendance-table thead th {
	background: #f4f6f8;
	font-weight: 600;
	color: #33383d;
	font-size: 13px;
	text-transform: none;
	letter-spacing: 0;
	white-space: nowrap;
}

.ilc-attendance-table td input[type="number"] {
	width: 80px;
	padding: 6px 8px;
	border: 1px solid #c9ced6;
	border-radius: 4px;
}

.ilc-attendance-table td label {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 13px;
	white-space: nowrap;
}

.ilc-attendance-table tbody tr:last-child td {
	border-bottom: none;
}

.ilc-dashboard-attendance .button {
	display: inline-block;
	padding: 7px 14px;
	margin-right: 6px;
	border: 1px solid #c9ced6;
	border-radius: 4px;
	background: #fff;
	color: #33383d;
	font-size: 13px;
	cursor: pointer;
}

.ilc-dashboard-attendance .button-primary {
	background: #1f5c4a;
	border-color: #1f5c4a;
	color: #fff;
}

.ilc-dashboard-attendance .button-large {
	padding: 10px 22px;
	font-size: 14px;
	font-weight: 600;
}

/* ------------------------------------------------------------------ */
/* Event list beneath the calendar                                     */
/* The month grid itself lives in calendar.css, shared with wp-admin.  */
/* ------------------------------------------------------------------ */

.ilc-events-subhead {
	margin: 26px 0 12px;
	font-size: 15px;
	font-weight: 600;
	color: #21252b;
}

.ilc-event-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ilc-event-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 10px;
	padding: 14px 16px;
	background: #fff;
	border: 1px solid #e0e2e6;
	border-left: 4px solid #2271b1;
	border-radius: 5px;
	flex-wrap: wrap;
}

.ilc-event-item__title {
	font-size: 15px;
	font-weight: 600;
	color: #21252b;
	margin-bottom: 4px;
}

.ilc-event-item__meta {
	font-size: 13px;
	color: #6b7280;
}

.ilc-event-item__desc {
	margin: 8px 0 0;
	font-size: 13px;
	color: #50575e;
}
