.filters-bar{background:#fff; border-bottom:1px solid var(--grey-200); padding:18px 0;}
.filters-row{display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px 14px; align-items:end;}
.filter-field{display:flex; flex-direction:column; gap:4px; font-size:12.5px; color:var(--grey-600); font-weight:600;}
.filter-field select{
  font-family:var(--font-body); font-size:13.5px; padding:8px 10px; border-radius:8px; border:1px solid var(--grey-200);
  background:#fff; color:var(--grey-900);
}
.filters-actions{display:flex; align-items:end; gap:10px;}
.btn-filter{
  background:var(--navy-700); color:#fff; font-family:var(--font-head); font-weight:700; font-size:14px;
  border:none; border-radius:8px; padding:10px 18px; cursor:pointer; white-space:nowrap;
}
.result-count{color:var(--grey-600); font-size:13px; margin:16px 0 0;}
.legend{color:var(--grey-600); font-size:12.5px; margin-top:8px; display:flex; align-items:center; gap:8px;}
.legend .swatch{width:14px; height:14px; border-radius:4px; background:#FBE2E4; display:inline-block;}

.desktop-table{display:block;}
table{width:100%; border-collapse:collapse; background:#fff; border-radius:10px; overflow:hidden;}
thead th{background:var(--navy-700); color:#fff; text-align:left; padding:7px 12px; font-size:12.5px; font-family:var(--font-head); white-space:nowrap;}
tbody td{padding:7px 12px; font-size:13.5px; border-bottom:1px solid var(--grey-200); white-space:nowrap;}
tbody tr:nth-child(even){background:#E7F6FB;}
tbody tr.pb-row, tbody tr.pb-row:nth-child(even){background:#FBE2E4;}
.table-scroll{overflow-x:auto; border-radius:10px; box-shadow:0 1px 4px rgba(31,36,48,.08);}
.athlete-link{color:var(--navy-700); font-weight:600; text-decoration:none;}
.athlete-link:hover{text-decoration:underline;}

.mobile-cards{display:none;}
.result-card{background:#fff; border-radius:12px; padding:14px 16px; margin-bottom:10px; box-shadow:0 1px 4px rgba(31,36,48,.08);}
.result-card.pb-row{background:#FBE2E4;}
.result-card .top{display:flex; justify-content:space-between; align-items:center; margin-bottom:4px;}
.result-card .athlete{font-weight:700; color:var(--navy-900); font-size:14.5px;}
.result-card .meta{color:var(--grey-600); font-size:12.5px;}
.result-card .time{font-family:var(--font-head); font-size:19px; color:var(--navy-700); margin-top:8px; display:block;}

@media (max-width:760px){
  .desktop-table{display:none;}
  .mobile-cards{display:block;}
  .filters-row{grid-template-columns:repeat(2,1fr);}
}
