.badge-warning {
  display: inline-block;
  background-color: #fee2e2; /* red-100 */
  color: #b91c1c;            /* red-700 */
  padding: 0.125rem 0.5rem;  /* py-0.5 px-2 */
  border-radius: 0.25rem;    /* rounded */
  font-size: 0.75rem;        /* text-xs */
  line-height: 1rem;
  font-weight: 600;          /* font-semibold */
}
.skeleton {
  background-color: #e5e7eb; /* gray-200 */
  border-radius: 0.25rem;    /* rounded */
  animation: skeleton-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; /* animate-pulse */
}
@keyframes skeleton-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
th[data-sort] { cursor: pointer; user-select: none; }
.nav-icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  font-size: 1.25rem;
  line-height: 1;
  border-radius: 0.5rem;      /* rounded-lg */
  border: 1px solid #e5e7eb;  /* border-gray-200 */
  background-color: #fff;
  color: #6b7280;             /* text-gray-500 */
  cursor: pointer;
}
.nav-icon-btn:hover { background-color: #f9fafb; } /* hover:bg-gray-50 */
.nav-icon-btn.active {
  background-color: #2563eb; /* bg-blue-600 */
  border-color: #2563eb;
  color: #fff;
}
