.td-grade{font-weight:700;color:#3b82f6;text-align:center;font-size:.85rem}
.result-margin{font-size:.82rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.margin-pos{color:#42BDA6}
.margin-neg{color:#f87171}
.margin-push{color:#94a3b8}
.margin-pending{color:#475569}
.result-margin-cell{text-align:right;min-width:3.5rem}
/* ── Filter bar ── */
.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;align-items:center}
.filter-bar select{padding:.35rem .6rem;border-radius:0;border:1.5px solid var(--border,#333);
  background:var(--surface,#111);color:var(--text,#e0e0e0);font-size:.82rem;cursor:pointer;outline:none}
.filter-bar select:focus{border-color:#3b82f6}
.filter-label{font-size:.75rem;color:var(--muted,#666);letter-spacing:.03em}
.filter-clear{font-size:.78rem;color:#3b82f6;cursor:pointer;padding:.3rem .65rem;
  border:1.5px solid #3b82f6;border-radius:0;background:transparent;transition:all .15s}
.filter-clear:hover{background:#3b82f6;color:#fff}
.pick-count-bar{font-size:.8rem;color:var(--muted,#888);margin-top:.4rem;margin-bottom:0}
/* ── Sortable table headers ── */
th.sortable{cursor:pointer;user-select:none;white-space:nowrap;transition:color .15s}
th.sortable:hover{color:#42BDA6}
th.sort-active{color:#3b82f6}
.sort-arrow{font-size:.7rem;margin-left:.15rem;display:inline-block;min-width:.7rem}

