
/* Sports components share the existing club palette and typography. */
.sports-page{padding-top:3rem}.sports-page h1{max-width:18ch}.sports-page>p:not(.eyebrow){max-width:65ch}
.sports-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.sports-summary h3{margin-bottom:1rem}
.sports-agenda{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.5rem 0}
.match-card{border:1px solid #dde5ef;border-radius:16px;padding:1.4rem;background:#fff;min-width:0;box-shadow:0 4px 20px #07366806}
.match-meta{display:flex;justify-content:space-between;align-items:center;gap:.75rem;font-size:.8rem;font-weight:700;color:#475569}
.match-state{background:#eff4fb;border-radius:20px;padding:.4rem .7rem}.match-state.is-live{color:#176b38;background:#e4f6eb}
.match-teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:1rem;align-items:center;text-align:center;margin:1.5rem 0 1rem}
.match-teams strong{font-size:1rem;overflow-wrap:anywhere}.match-score{font-size:2rem;white-space:nowrap;color:#0754c9}.match-score span{font-weight:400;color:#64748b}
.match-date{font-weight:700}.score-origin{text-align:center;font-size:.8rem;color:#4b596b}.provisional{color:#8a5a12}
.match-detail{max-width:820px;margin:2rem 0}.match-detail .match-score{font-size:3rem}
.sports-empty{padding:1.5rem;border:1px dashed #bacadd;border-radius:12px;background:#f6f9fd;color:#50647d;grid-column:1/-1}
.sports-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1.5rem 0}
.sports-filters label,.round-select,.sports-download label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem;font-weight:600}
.sports-filters select,.round-select select,.sports-download input{width:100%;padding:.8rem;border:1px solid #bdcadd;border-radius:8px;background:white;color:#243c55;min-height:44px}
.sports-tabs{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.5rem 0}.sports-tabs a{text-decoration:none}
.sports-warning{padding:1rem;border-left:3px solid #c38932;background:#fff6e4;color:#74511c;border-radius:4px;font-size:.9rem}
.sports-freshness{margin-top:2rem;padding-top:1.2rem;border-top:1px solid #dce5f0}
.sports-download{margin:2rem 0;padding:1.5rem;background:#f0f5fc;border-radius:12px}.sports-download p{margin:.8rem 0}.sports-download input{font-weight:400}
.sports-table-section{margin:2.5rem 0}.round-select{max-width:220px;margin:1rem 0}
.sports-table-scroll{overflow-x:auto;border:1px solid #dce5f0;border-radius:12px}.sports-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.85rem}
.sports-table caption{text-align:left;padding:1rem;font-weight:600}.sports-table th,.sports-table td{padding:.9rem;border-top:1px solid #e0e8f2;text-align:center;white-space:nowrap}
.sports-table th:nth-child(2){text-align:left}.sports-table thead{background:#f1f5fa}.sports-table .club-row{background:#e5efff;color:#064cb5;font-weight:700}
.month-controls{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}.month-controls h2{margin:0;font-size:1.5rem;flex:1;text-transform:capitalize}
.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin-bottom:1rem}.month-weekday{text-align:center;padding:.6rem;font-size:.8rem;color:#516884}
.month-day{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;min-height:95px;min-width:0;border:1px solid #d8e3f0;border-radius:8px;background:#fff;padding:.7rem;color:#30445e}
.month-day b{font-size:.7rem;color:#0754c9;overflow-wrap:anywhere}.month-day.selected{border-color:#0754c9;background:#eaf2ff}.month-day:hover{background:#f0f5fd}
.sports-events{max-width:820px}.sports-events ol{list-style:none;padding:0}.sports-events li{border-bottom:1px solid #dde6f0;padding:1rem 0;display:flex;gap:1rem;align-items:baseline}.sports-events time{font-size:.75rem;color:#56697e;min-width:140px}
.sports-page [data-sports]{min-height:300px}.sports-summary .sports-empty{min-height:145px}.sports-team-link{display:block;margin-top:.9rem}
@media(max-width:700px){.sports-summary,.sports-agenda{grid-template-columns:1fr}.sports-filters{grid-template-columns:1fr}.match-card{padding:1rem}.match-teams{gap:.5rem}.match-meta{align-items:flex-start}.match-detail .match-score{font-size:2rem}.month-day{padding:.4rem;min-height:66px}.month-count-word{display:none}.month-controls h2{font-size:1.2rem}.sports-events li{flex-direction:column;gap:.3rem}.sports-download{padding:1rem}.sports-page{padding-top:2rem}}
