th[role=columnheader]:not(.no-sort) {
  cursor: pointer;
}

th[role=columnheader]:not(.no-sort):after {
  content: '';
  float: right;
  margin-top: 7px;
  border-width: 0 4px 4px;
  border-style: solid;
  border-color: #404040 transparent;
  visibility: hidden;
  opacity: 0;
  -ms-user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

th[aria-sort=ascending]:not(.no-sort):after {
  border-bottom: none;
  border-width: 4px 4px 0;
}

th[aria-sort]:not(.no-sort):after {
  visibility: visible;
  opacity: 0.4;
}

th[role=columnheader]:not(.no-sort):hover:after {
  visibility: visible;
  opacity: 1;
}

/* Adaptação para modo dark */
@media (prefers-color-scheme: dark) {
  th[role=columnheader]:not(.no-sort):after {
    border-color: #e0e0e0 transparent;
  }
}

/* Suporte para classes de tema dark */
.dark-theme th[role=columnheader]:not(.no-sort):after {
  border-color: #1f2937 transparent;
}
