.bfm-wrap{width:100%;font-family:inherit;color:inherit}.bfm-table-scroll{width:100%;overflow-x:auto}.bfm-table{width:100%;border-collapse:separate;border-spacing:0;background:#fff;color:#1d2327}.bfm-table th,.bfm-table td{padding:.85rem .9rem;text-align:center;border:0;border-bottom:1px solid #e6e9ed;white-space:nowrap}.bfm-table thead th{font-size:.76rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase;background:#17233c;color:#fff}.bfm-table tbody tr:nth-child(even){background:#f7f8fa}.bfm-table tbody tr:hover{background:#eef3f8}.bfm-table-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;background:#fff;border:1px solid #e3e7ec;border-bottom:0;border-radius:10px 10px 0 0}.bfm-table-head h3{margin:0;font-size:1.3rem;line-height:1.2}.bfm-table-head span{font-size:.82rem;font-weight:700;color:#697386}.bfm-standings{border-radius:10px;box-shadow:0 4px 18px rgba(20,35,55,.09);overflow:hidden}.bfm-standings-table .bfm-team-name{text-align:left;font-weight:700;min-width:180px}.bfm-standings-table .bfm-pos{width:54px;font-weight:800}.bfm-standings-table tbody .bfm-pos span{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#eef2f6}.bfm-standings-table .bfm-points{font-weight:800;background:rgba(23,35,60,.045)}.bfm-standings-table .bfm-gd{font-weight:600}.bfm-empty{text-align:center!important;padding:2rem!important;color:#697386}.bfm-matchday{margin:0 0 1.5rem;border:1px solid #e3e7ec;border-radius:10px;overflow:hidden;box-shadow:0 3px 14px rgba(20,35,55,.07)}.bfm-matchday-title{padding:.8rem 1rem;background:#17233c;color:#fff;font-weight:800;font-size:1rem}.bfm-schedule-table thead th{background:#f0f3f7;color:#334155}.bfm-schedule-table .bfm-home-team{text-align:right;font-weight:700}.bfm-schedule-table .bfm-away-team{text-align:left;font-weight:700}.bfm-schedule-table .bfm-score{font-weight:900;font-size:1.05rem}.bfm-empty-state{padding:1.25rem;border:1px solid #e3e7ec;border-radius:8px;background:#fff;color:#697386;text-align:center}@media(max-width:700px){.bfm-table th,.bfm-table td{padding:.7rem .65rem;font-size:.85rem}.bfm-table-head{padding:.85rem 1rem}.bfm-standings-table .bfm-team-name{min-width:145px}.bfm-schedule-table th:nth-child(6),.bfm-schedule-table td:nth-child(6){display:none}}

/* v0.8 scorer leaderboard */
.bfm-leaderboard{border-radius:10px;box-shadow:0 4px 18px rgba(20,35,55,.09);overflow:hidden}.bfm-row-control{display:flex;align-items:center;gap:.45rem;font-size:.85rem;font-weight:700;color:#475569}.bfm-row-control select{padding:.35rem 1.8rem .35rem .55rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff}.bfm-scorers-table .bfm-rank{width:65px;font-weight:800}.bfm-scorers-table .bfm-player-name{text-align:left;font-weight:700;min-width:180px}.bfm-scorers-table .bfm-goals{font-size:1.05rem;font-weight:900}.bfm-scorers-table td:nth-child(3){text-align:left}@media(max-width:600px){.bfm-table-head{align-items:flex-start;flex-direction:column}.bfm-scorers-table .bfm-player-name{min-width:140px}}
.bfm-bracket{display:flex;gap:22px;overflow-x:auto;padding:8px 2px 18px}.bfm-bracket-round{min-width:240px;flex:1}.bfm-bracket-round h4{margin:0 0 10px}.bfm-bracket-match{border:1px solid var(--bfm-border,#ddd);border-radius:8px;padding:10px;margin:0 0 14px;background:#fff}.bfm-bracket-match small{display:block;opacity:.65;margin-bottom:6px}.bfm-bracket-match div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-top:1px solid #eee}.bfm-bracket-match div:first-of-type{border-top:0}.bfm-tournament-champion{display:flex;gap:12px;align-items:center;padding:12px 16px;margin:12px 0;border:1px solid #ddd;border-radius:8px}.bfm-tournament-champion span{font-size:1.1em;font-weight:700}
/* v0.9 test3 tournament bracket */
.bfm-bracket-section{margin:1.5rem 0}.bfm-bracket-section>h4{margin:0 0 .75rem;font-size:1.15rem}.bfm-bracket{align-items:stretch;gap:34px;padding:12px 8px 24px}.bfm-bracket-round{display:flex;flex-direction:column;justify-content:space-around;min-width:255px;position:relative}.bfm-bracket-round h5{margin:0 0 12px;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.bfm-bracket-match{position:relative;margin:10px 0;box-shadow:0 2px 8px rgba(15,23,42,.06)}.bfm-bracket-match:after{content:"";position:absolute;right:-35px;top:50%;width:35px;border-top:2px solid #cbd5e1}.bfm-bracket-round:last-child .bfm-bracket-match:after{display:none}.bfm-bracket-match.is-pending{background:#f8fafc}.bfm-bracket-match.is-bye{border-style:dashed}.bfm-bracket-match small{font-weight:700;color:#64748b}.bfm-bracket-match span{min-width:0;overflow:hidden;text-overflow:ellipsis}.bfm-bracket-section:nth-of-type(n+2) .bfm-bracket{border-top:1px solid #e2e8f0;padding-top:18px}@media(max-width:700px){.bfm-bracket{gap:18px}.bfm-bracket-round{min-width:225px}.bfm-bracket-match:after{right:-19px;width:19px}}
/* v0.9 test4 team identity and linked venues */
.bfm-team-cell{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.bfm-team-logo{width:30px;height:30px;object-fit:contain;flex:0 0 30px;background:transparent}.bfm-standings .bfm-team-logo{width:32px;height:32px;flex-basis:32px}.bfm-bracket-match .bfm-team-logo{width:24px;height:24px;flex-basis:24px}.bfm-venue-link{text-decoration:none;font-weight:650}.bfm-venue-link:hover{text-decoration:underline}.bfm-home-team .bfm-team-cell{justify-content:flex-end}.bfm-away-team .bfm-team-cell{justify-content:flex-start}
