/* DynamicTable Styles */
.dynamic-table {
  max-height: 600px;
  overflow-y: auto;
  overflow-x: auto;
}

.dynamic-table table {
  font-size: .9rem;
  border: 1px solid var(--bs-border-color);
  border-top: none;
}

.dynamic-table th,
.dynamic-table td {
	padding: 7px;
	height: 52px;
}

/* Icon Styles */
.dynamic-table .bi-three-dots-vertical { /* Menu Elipsis Icon */
  font-size: 1.2rem;
  color: var(--bs-border-color);
  margin-left: .25rem;
}

.dynamic-table th:hover .bi-three-dots-vertical {
	color: var(--bs-primary);
}

.dynamic-table .sort-icon {
  font-size: 1.2rem;
}


.dynamic-table .trending-icon {
  float: right;
  font-size: 1.1rem;
}

.dynamic-table .trending-icon.trending-down {
  color: var(--bs-danger);
}

.dynamic-table .trending-icon.trending-up {
  color: var(--bs-success);
}

/* Dynamic Table Header Styles */
.dynamic-table .sticky-top-header {
  position: sticky;
  top: 0;
  z-index: 2;
}

.dynamic-table .table-header-content {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
}

.dynamic-table .table-header-content input {
	margin: 0px; /* Select All checkbox */
}

.dynamic-table .header-text {
  flex: 1;
}

.dynamic-table th {
  font-size: 1rem;
  box-shadow: inset 0 -2px 0 var(--bs-gray-600), inset 0 1px 0 var(--bs-border-color);
}

.dynamic-table th:hover {
	box-shadow: inset 0 -2px 0 var(--bs-primary),  inset 0 1px 0 var(--bs-border-color);
	background: #e5e5e5 !important;
}

/* DynamicTable Sort Menu Styles */
.dynamic-table .sort-menu-header:hover {
  cursor: pointer;
}

.dynamic-table .sort-dropdown-menu {
  display: none;
  min-width: 200px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 1000;
  top: 100%;
}

.dynamic-table .sort-menu-header:hover .sort-dropdown-menu,
.dynamic-table .sort-dropdown-menu:hover {
  display: block;
}

.dynamic-table .sort-menu-item:hover {
  background-color: #e5e5e5;
}

.dynamic-table .sort-menu-selected {
  background-color: #e5e5e5;
}

.dynamic-table.sort-menu-selected:hover {
  background-color: #e5e5e5;
}

.dynamic-table .sorted-column {
  background-color: #f8f9fa;
}

/* Add a pseudo-element to create an invisible bridge between header and menu */
.dynamic-table .sort-menu-header::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 8px; /* Creates an invisible bridge */
  display: none;
}

.dynamic-table .sort-menu-header:hover::after {
  display: block;
}

.student-avatar-cell {
  display: flex;
  align-items: center;
  margin-left: 8px; /* space after checkbox if present */
}

.student-avatar-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.student-avatar-small {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid #D0D3D3;
  margin-right: 8px;
  transition: transform 0.15s ease-in-out;
}

.student-avatar-link:hover .student-avatar-small {
  transform: scale(1.05);
}