/* judge-list.css */
#judge-list .jl-loading { font-style: italic; }
#judge-list .jl-error   { color: red; margin: 1em 0; }
#judge-list .jl-table {
  width: 100%;
  border-collapse: collapse;
  display: none;
}
#judge-list .jl-table th,
#judge-list .jl-table td {
  border: 1px solid #ddd;
  padding: 8px;
}
#judge-list .jl-table th.asc::after  { content: " ▲"; }
#judge-list .jl-table th.desc::after { content: " ▼"; }
#judge-list .jl-table label {
  margin-right: .5em;
  font-size: .9em;
}
#judge-list .jl-table td input[type="checkbox"] {
  display: block;
  margin: 0 auto;
}
/* —— Preloader spinner on .jl-loading —— */
.jl-loading {
  position: relative;
  text-align: center;
  font-style: italic;
  padding: 1em 0;
  display: none; /* still controlled by your JS */
}

.jl-loading::after {
  content: '';
  display: inline-block;
  vertical-align: middle;
  width: 24px;
  height: 24px;
  margin-left: 8px;
  border: 3px solid rgba(0,0,0,0.2);
  border-top-color: rgba(0,0,0,0.7);
  border-radius: 50%;
  animation: jl-spin 0.8s linear infinite;
}

@keyframes jl-spin {
  to { transform: rotate(360deg); }
}
