.sr-form, .sr-rankings, .sr-schedule, .sr-search, .sr-athlete-profile { max-width: 1100px; }
.sr-grid { display:grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.sr-grid label { display:flex; flex-direction:column; gap:6px; font-size: 14px; }
.sr-grid input, .sr-grid select, .sr-form input, .sr-form select, .sr-form textarea {
  padding: 10px 12px; border: 1px solid #d6dbe6; border-radius: 10px;
}
.sr-btn { padding: 10px 14px; border-radius: 10px; border:1px solid #cbd5e1; background:#fff; cursor:pointer; display:inline-block; text-decoration:none; }
.sr-primary { background:#0b5cff; border-color:#0b5cff; color:#fff; }
.sr-notice { padding: 12px 14px; border: 1px solid #e2e8f0; border-radius: 12px; background: #fff; margin: 12px 0; }
.sr-success { border-color:#86efac; }
.sr-filters { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-bottom: 12px; }
.sr-table { width: 100%; border-collapse: collapse; }
.sr-table th, .sr-table td { padding: 10px 12px; border-bottom: 1px solid #edf2f7; text-align:left; }
.sr-row { display:grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr 1fr auto; gap: 10px; align-items:center; margin: 10px 0; }
.sr-team-grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.sr-team-row { border: 1px solid #edf2f7; border-radius: 12px; padding: 12px; margin: 12px 0; background:#fff; }
.sr-help { font-size: 13px; opacity: .85; }
.sr-search-results { margin-top: 8px; }
.sr-search-list { list-style:none; padding:0; margin:0; border:1px solid #e2e8f0; border-radius:12px; background:#fff; overflow:hidden; }
.sr-search-list li a { display:block; padding:10px 12px; text-decoration:none; border-bottom:1px solid #edf2f7; }
.sr-search-list li:last-child a { border-bottom:0; }
.sr-search-empty { padding:10px 12px; border:1px solid #e2e8f0; border-radius:12px; background:#fff; }
.sr-athlete-grid { display:grid; grid-template-columns: 2fr 1fr; gap: 12px; }
.sr-athlete-box { background:#fff; border:1px solid #e2e8f0; border-radius:14px; padding: 14px; }
.sr-athlete-field { display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid #f1f5f9; }
.sr-athlete-field:last-child { border-bottom:0; }
.sr-athlete-field span { opacity:.8; }
@media (max-width: 960px){
  .sr-grid { grid-template-columns: 1fr; }
  .sr-row { grid-template-columns: 1fr; }
  .sr-team-grid { grid-template-columns: 1fr; }
  .sr-athlete-grid { grid-template-columns: 1fr; }
}
