.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;}

.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;}
.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;}
.medal{display:inline-flex; align-items:center; justify-content:center; min-width:28px; height:22px; padding:0 7px; border-radius:20px; font-weight:700; font-size:12px; color:var(--grey-600); background:var(--grey-200);}
.medal.gold{background:#EAB308; color:#3D2E00;} .medal.silver{background:#98A2AE; color:#fff;} .medal.bronze{background:#C1662E; color:#fff;}
.score-btn{
  background:none; border:none; font:inherit; font-weight:700; color:var(--accent); cursor:pointer;
  display:inline-flex; align-items:center; gap:5px; padding:0;
}
.score-btn:hover{text-decoration:underline;}
.score-btn .chev{font-size:10px; transition:transform .15s ease;}
tr.data-row.expanded .score-btn .chev{transform:rotate(180deg);}
tr.detail-row td{padding:0; border-bottom:1px solid var(--grey-200);}
.detail-panel{background:var(--navy-100); padding:14px 16px;}
.detail-panel .dp-title{font-family:var(--font-head); font-weight:700; color:var(--navy-900); font-size:13px; margin-bottom:8px;}
table.detail-table{background:#fff; box-shadow:none;}
table.detail-table thead th{background:var(--navy-500); font-size:11.5px;}
table.detail-table tbody td, table.detail-table tfoot td{font-size:13px; padding:8px 12px;}
table.detail-table tfoot td{font-weight:700; color:var(--navy-900); background:var(--navy-100); border-top:2px solid var(--navy-500);}
.specialties-badge{display:inline-flex; align-items:center; justify-content:center; padding:2px 9px; border-radius:20px; background:var(--navy-100); color:var(--navy-700); font-weight:700; font-size:12px;}

.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 .top{display:flex; align-items:center; gap:10px; 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 .score-btn{font-size:17px; margin-top:2px;}
.result-card .media-line{color:var(--grey-600); font-size:12px; margin-top:4px;}
.card-detail{margin-top:10px; padding-top:10px; border-top:1px dashed var(--grey-200);}
.detail-line{font-size:12.5px; color:var(--grey-900); padding:4px 0; border-bottom:1px solid var(--grey-100);}
.detail-total{font-size:13px; font-weight:700; color:var(--navy-900); margin-top:6px;}

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