.sr-only {
  position: absolute;
  top: -30em;
}

table.sortable {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

table.sortable td,
table.sortable th {
  padding: 12px 16px;
  border-bottom: 1px solid #eee;
  color: #444;
}

table.sortable th {
  background-color: #f8f9fa;
  font-weight: 600;
  color: #2c3e50;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  position: relative;
  border-bottom: 2px solid #e0e0e0;
}

table.sortable th.no-sort {
  padding-top: 12px;
}

table.sortable th button {
  padding: 0;
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
  background: transparent;
  border: none;
  display: block;
  width: 100%;
  text-align: left;
  outline: none;
  cursor: pointer;
  color: inherit;
  font-family: inherit;
}

table.sortable th button span {
  position: absolute;
  right: 8px;
}

table.sortable th[aria-sort="descending"] span::after {
  content: "▼";
  color: #e74c3c;
  font-size: 0.7rem;
}

table.sortable th[aria-sort="ascending"] span::after {
  content: "▲";
  color: #e74c3c;
  font-size: 0.7rem;
}

table.sortable th:not([aria-sort]) button:focus span::after,
table.sortable th:not([aria-sort]) button:hover span::after {
  content: "▼";
  color: #ccc;
}

table.sortable td.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* Remove the old grey zebra striping and add a subtle hover */
table.sortable tbody tr {
  transition: background-color 0.2s ease;
}

table.sortable tbody tr:nth-child(odd) {
  background-color: #fff;
}

table.sortable tbody tr:nth-child(even) {
  background-color: #fafafa;
}

table.sortable tbody tr:hover {
  background-color: #f1f7ff !important;
}

/* Focus and hover styling for headers */
table.sortable th button:hover {
  background-color: #efefef;
}

table.sortable td img {
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  transition: transform 0.2s;
}

table.sortable td img:hover {
  transform: scale(1.1);
}

}