/* Le Ballon d'Oc — statistiques équipe FDM V1 */
.fo-ts-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:18px 0;padding:24px 26px;border-radius:22px;background:#111820;color:#fff}
.fo-ts-hero span,.fo-ts-card header>span,.fo-ts-fdm-head span{font-size:.67rem;font-weight:950;letter-spacing:.14em;color:#f0b323}
.fo-ts-hero h2{margin:4px 0 3px;font-size:1.7rem;font-weight:950}.fo-ts-hero p{margin:0;color:#b9c3cd}
.fo-ts-rank{text-align:right}.fo-ts-rank strong{display:block;font-size:2.4rem;line-height:1;font-weight:950}.fo-ts-rank span{color:#b9c3cd;letter-spacing:0;font-size:.75rem}
.fo-ts-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:18px}
.fo-ts-kpis article{padding:18px 14px;border:1px solid #e6eaf0;border-radius:16px;background:#fff;text-align:center;box-shadow:0 8px 24px rgba(15,23,42,.05)}
.fo-ts-kpis strong{display:block;font-size:1.75rem;font-weight:950;color:#151d27}.fo-ts-kpis span{display:block;margin-top:3px;font-size:.69rem;color:#778393}.fo-ts-kpis .is-good strong{color:#168b47}
.fo-ts-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-bottom:22px}.fo-ts-grid--players{grid-template-columns:1fr 1fr}
.fo-ts-card{padding:20px;border:1px solid #e6eaf0;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.05)}
.fo-ts-card header h3,.fo-ts-fdm-head h2{margin:4px 0 0;font-size:1.15rem;font-weight:950;color:#172033}.fo-ts-card header p{margin:5px 0 0;color:#7b8795;font-size:.78rem}
.fo-ts-form{display:flex;gap:8px;margin:18px 0}.fo-ts-form i{display:flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:12px;font-style:normal;font-weight:950;background:#eef1f4}.fo-ts-form .is-win{background:#e5f7ec;color:#12813e}.fo-ts-form .is-draw{background:#fff3d5;color:#8a6500}.fo-ts-form .is-loss{background:#fde8e8;color:#b4232c}
.fo-ts-splits{display:grid;grid-template-columns:1fr 1fr;gap:10px}.fo-ts-splits>div{padding:13px;border-radius:14px;background:#f7f9fb}.fo-ts-splits b,.fo-ts-splits strong,.fo-ts-splits small{display:block}.fo-ts-splits b{font-size:.67rem;color:#8994a2;text-transform:uppercase}.fo-ts-splits strong{margin-top:5px}.fo-ts-splits small{margin-top:3px;color:#7c8795}
.fo-ts-card--rate{text-align:center}.fo-ts-big{display:block;margin:20px 0 4px;font-size:3.6rem;line-height:1;font-weight:950;color:#d71920}.fo-ts-big small{font-size:1.2rem}.fo-ts-card--rate p{color:#7b8795}
.fo-ts-fdm-head{display:flex;justify-content:space-between;align-items:end;margin:30px 0 12px;padding-top:22px;border-top:1px solid #e5e9ef}.fo-ts-fdm-head span{color:#d71920}.fo-ts-fdm-head p{margin:5px 0 0;color:#7b8795}
.fo-ts-kpis--fdm{grid-template-columns:repeat(4,1fr)}.fo-ts-kpis--fdm article:first-child strong{color:#d71920}
.fo-ts-ranking{margin-top:12px}.fo-ts-ranking>div{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 3px;border-bottom:1px solid #eef1f4}.fo-ts-ranking>div:last-child{border-bottom:0}.fo-ts-ranking>div>b{display:flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:8px;background:#f1f3f6;color:#6f7a88;font-size:.72rem}.fo-ts-ranking span strong,.fo-ts-ranking span small{display:block}.fo-ts-ranking span strong{font-size:.85rem}.fo-ts-ranking span small{margin-top:2px;color:#8a95a2;font-size:.67rem}.fo-ts-ranking em{font-style:normal;font-size:1.25rem;font-weight:950;color:#172033}.fo-ts-ranking em small{font-size:.65rem;color:#8a95a2;font-weight:700}
.fo-ts-xi{margin-bottom:24px}.fo-ts-xi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:15px}.fo-ts-xi-grid article{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:13px;background:#f7f9fb}.fo-ts-xi-grid article>b{display:flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:9px;background:#111820;color:#f0b323}.fo-ts-xi-grid span strong,.fo-ts-xi-grid span small{display:block}.fo-ts-xi-grid span strong{font-size:.82rem}.fo-ts-xi-grid span small{margin-top:2px;color:#84909e;font-size:.67rem}.fo-ts-muted{color:#7c8795;font-size:.8rem}
@media(max-width:900px){.fo-ts-kpis{grid-template-columns:repeat(3,1fr)}.fo-ts-grid,.fo-ts-grid--players{grid-template-columns:1fr}}
@media(max-width:600px){.fo-ts-hero{align-items:flex-start;padding:18px;border-radius:17px}.fo-ts-hero h2{font-size:1.35rem}.fo-ts-rank strong{font-size:1.8rem}.fo-ts-kpis,.fo-ts-kpis--fdm{grid-template-columns:repeat(2,1fr)}.fo-ts-kpis article{padding:14px 8px}.fo-ts-xi-grid{grid-template-columns:1fr}.fo-ts-splits{grid-template-columns:1fr}}

/* Effectif complet */
.fo-ts-squad{margin-bottom:22px;padding:0;overflow:hidden}
.fo-ts-squad__head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;padding:20px 20px 16px}
.fo-ts-squad__head>div>span{display:block;color:#d71920;font-size:.67rem;font-weight:950;letter-spacing:.14em}
.fo-ts-squad__head>small{padding:6px 10px;border-radius:999px;background:#f1f3f6;color:#687484;font-size:.68rem;font-weight:850;white-space:nowrap}
.fo-ts-table-wrap{overflow-x:auto;border-top:1px solid #e8ebef}
.fo-ts-table{width:100%;border-collapse:collapse;min-width:720px}
.fo-ts-table th{padding:10px 12px;background:#111820;color:#aeb9c5;font-size:.63rem;font-weight:950;letter-spacing:.06em;text-align:center}
.fo-ts-table th:first-child{text-align:left;color:#f0b323}
.fo-ts-table td{padding:10px 12px;border-bottom:1px solid #edf0f3;text-align:center;color:#4d5968;font-size:.79rem}
.fo-ts-table tbody tr:hover{background:#fafbfc}
.fo-ts-table td:first-child{text-align:left}
.fo-ts-player-name{display:flex;align-items:center;gap:9px;min-width:190px}
.fo-ts-player-name>span{display:flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:#111820;color:#f0b323;font-size:.7rem;font-weight:950}
.fo-ts-player-name strong{color:#172033;font-size:.82rem;font-weight:900}
.fo-ts-table td>b{color:#172033;font-weight:950}
.fo-ts-table .fo-ts-goals{color:#d71920;font-size:.92rem;font-weight:950}
.fo-ts-table .fo-ts-minutes{color:#172033;font-weight:850}
.fo-ts-table-note{margin:0;padding:10px 20px 14px;background:#fafbfc;color:#8994a1;font-size:.66rem;line-height:1.4}
@media(max-width:600px){
 .fo-ts-squad__head{align-items:flex-start;padding:16px}
 .fo-ts-squad__head>small{display:none}
 .fo-ts-table{min-width:650px}
 .fo-ts-table th,.fo-ts-table td{padding:9px 8px}
 .fo-ts-player-name{min-width:160px}
 .fo-ts-table-note{padding:10px 16px 13px}
}

/* V1.3 — badge de poste réel */
.fo-ts-player-name{display:flex;align-items:center;gap:9px;min-width:215px}
.fo-ts-player-id{display:block;min-width:0}
.fo-ts-player-id strong{display:block;color:#172033;font-size:.82rem;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fo-ts-player-id small{display:block;margin-top:2px;color:#8a95a2;font-size:.63rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fo-ts-pos{display:flex!important;align-items:center!important;justify-content:center!important;flex:0 0 36px!important;width:36px!important;height:28px!important;border-radius:8px!important;font-size:.59rem!important;font-weight:950!important;letter-spacing:.02em!important}
.fo-ts-pos--gk{background:#fff1b8!important;color:#775b00!important}
.fo-ts-pos--def{background:#e7f0ff!important;color:#235da8!important}
.fo-ts-pos--mid{background:#e7f7ee!important;color:#187346!important}
.fo-ts-pos--att{background:#fde8e8!important;color:#b4232c!important}
.fo-ts-pos--none{background:#eef1f4!important;color:#7a8490!important}
@media(max-width:600px){
 .fo-ts-player-name{min-width:185px}
 .fo-ts-pos{flex-basis:32px!important;width:32px!important}
}

/* V1.3.1 — identité compacte : badge + prénom fin + nom gras */
.fo-ts-player-id{display:inline!important;min-width:0;color:#172033;font-size:.83rem;white-space:nowrap}
.fo-ts-player-id .fo-ts-firstname{display:inline!important;color:#5f6b79;font-weight:400}
.fo-ts-player-id strong{display:inline!important;color:#172033;font-size:inherit;font-weight:950;white-space:nowrap}
.fo-ts-player-id small{display:none!important}

/* V1.3.2 — neutralise l'ancien faux avatar sur le conteneur du nom */
.fo-ts-player-name > .fo-ts-player-id{
  display:inline-block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  flex:1 1 auto!important;
  border-radius:0!important;
  background:transparent!important;
  color:#172033!important;
  font-size:.83rem!important;
  font-weight:400!important;
  letter-spacing:0!important;
  line-height:1.2!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.fo-ts-player-name > .fo-ts-pos{
  display:flex!important;
  flex:0 0 36px!important;
  width:36px!important;
  height:28px!important;
}
.fo-ts-player-id .fo-ts-firstname{
  display:inline!important;
  width:auto!important;
  height:auto!important;
  background:transparent!important;
  color:#697482!important;
  font-weight:400!important;
  font-size:.82rem!important;
}
.fo-ts-player-id strong{
  display:inline!important;
  margin-left:3px!important;
  color:#111820!important;
  font-size:.83rem!important;
  font-weight:950!important;
  letter-spacing:0!important;
}

.fo-ts-player-id a{color:inherit;text-decoration:none}.fo-ts-player-id a:hover strong{text-decoration:underline}
