.school-appointments {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 24px;
	margin: 24px 0;
}

.school-appointments__panel {
	padding: 24px;
	border: 1px solid #d0d7de;
	border-radius: 12px;
	background: linear-gradient(180deg, #ffffff 0%, #f5f9fc 100%);
	box-shadow: 0 8px 24px rgba(16, 24, 40, 0.06);
}

.school-appointments__form label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
}

.school-appointments__form input,
.school-appointments__form select,
.school-appointments__form textarea,
.school-appointments__form button {
	width: 100%;
}

.school-appointments__form input,
.school-appointments__form select,
.school-appointments__form textarea {
	padding: 10px 12px;
	border: 1px solid #b8c4ce;
	border-radius: 8px;
	box-sizing: border-box;
}

.school-appointments__form button {
	padding: 12px 16px;
	border: 0;
	border-radius: 999px;
	background: #0f5a7a;
	color: #fff;
	font-weight: 700;
	cursor: pointer;
}

.school-appointments__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 16px;
}

.school-appointments__linkbutton,
.school-appointments__ghostbutton {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 12px 16px;
	border-radius: 999px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
}

.school-appointments__linkbutton {
	background: #0f5a7a;
	color: #fff;
}

.school-appointments__ghostbutton {
	background: #eef4f7;
	color: #0f5a7a;
	border: 1px solid #b8c4ce;
}

.school-appointments__notice {
	min-height: 24px;
	margin-bottom: 12px;
	color: #0f5a7a;
	font-weight: 600;
}

.school-appointments-dashboard {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 16px;
	margin-top: 24px;
}

.school-appointments-dashboard__card {
	padding: 18px;
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 10px;
}
