@font-face {
    font-family: Segoe;
    src: url('fonts/segoeui.ttf');
}

@font-face {
    font-family: Roboto;
    src: url('fonts/Roboto-Regular.ttf');
}

body {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    color: black;

    /* background: -webkit-gradient(linear, left top, left bottom, from(#143cdb), to(#00ba5d)) fixed; */
    /* background: -webkit-gradient(linear, left top, left bottom, from(#e66465), to(#9198e5)) fixed; */
    /* background: -webkit-gradient(linear, left top, left bottom, from(#e66465), to(#9198e5)) fixed; */
    /* background: -webkit-gradient(linear, left top, left bottom, from(#ff7676), to(#85ffdd)) fixed; */
    background: radial-gradient(circle, rgba(238, 174, 202, 1) 0%, rgba(148, 187, 233, 1) 100%) fixed;
    /* background: -webkit-gradient(linear, left top, left bottom, from(#5e0925), to(#af6780)) fixed; */
    /* background-color: #981d46; */
    background-repeat: no-repeat;
    margin: 0px;
    height: 100%;
    font-family: Roboto;

    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;

    scrollbar-width: thin;
    scrollbar-color: rgb(255 255 255) transparent;
}

select {
    height: 30px;
}


table {
    /* font-family: 'Roboto'; */
}

.ClassementPoints {
    text-align: center;
    width: 7%;
    font-weight: bold;
    font-size: 20px;
}

.ClassementSurnom {
    width: 200px;
    text-align: left;
    padding-left: 40px;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
}

.ClassementBonus {
    text-align: center;
    width: 65px;
    /* width: 7%; */
}

.ClassementEchec {
    width: 65px;
    /* width: 7%; */
    text-align: center;
}

.ClassementInverse {
    width: 65px;
    /* width: 7%; */
    text-align: center;
}

.ClassementCorrect {
    width: 65px;
    /* width: 8%; */
    text-align: center;
}

.ClassementCorrectp {
    width: 65px;
    /* width: 8%; */
    text-align: center;
}

.ClassementNbPerf {
    width: 65px;
    /* width: 8%; */
    text-align: center;
}

.ClassementNbPronos {
    width: 65px;
    /* width: 9%; */
    text-align: center;
}

.ClassementRang {
    width: 50px;
    text-align: center;
    font-size: 22px;
    font-weight: bold;
}

.ClassementRang--top1 { color: #c8972a; }
.ClassementRang--top2 { color: #8a9ab0; }
.ClassementRang--top3 { color: #a0714a; }

.titleSmallTexte {
    font-size: 10px;
}

table.sortable {
    width: 100%;
    border-collapse: collapse;
}

table.sortable thead {
    color: #3f68aa;
    background-color: #FFF;
    font-weight: bold;
    cursor: default;

}


.allListeClassement {
    width: 780px;
    display: block;
    margin: auto;
    margin-top: 10px;
    overflow-y: auto;
    background: #ffffff36;
    border-radius: 10px;
}

.uniqueClassement {
}

.uniqueStatistics {
    background: #00000085;
}

.surnomClassementDiv {
    cursor: pointer;
    word-break: break-word;
    color: #3f68aa;
    font-weight: bold;
    text-decoration: none;
}

.surnomClassementDiv:hover {
    color: #000000;
    cursor: pointer;
}

.homeClassementPoint {
    width: 50px;
    height: 100%;
    color: #3f68aa;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    padding: 0 30px;
    line-height: 60px;
    text-align: center;
    color: #000;
    font-weight: bold;
    padding-right: 30px;
}

.homeClassementSurnom {
    flex-grow: 1;
    font-size: 20px;
    font-weight: bold;
    height: 100%;
    line-height: 60px;
    width: 200px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.homeClassementRang {
    width: 20px;
    height: 100%;
    color: #000;
    font-weight: bold;
    font-size: 20px;
    text-align: center;
    padding: 0 30px;
    line-height: 60px;
}

.homeEquipeMilieuMatch {
    text-align: center;
    width: 12px;
    color: #1e1e1e;
}

.homePointMatch {
    text-align: center;
    width: 44px;
    font-size: 20px;
    padding: 0;
    /* text-align: center; */
    /* font-family: "Poppins", sans-serif; */
    /* -webkit-text-stroke-width: thin; */
    -webkit-text-stroke-color: #FFF;
}

.pronosMatch {
    text-align: center;
    width: 30px;
}

.homeEquipeDroiteMatch {
    width: 70px;
    text-align: right;
    padding-right: 10px;
}

.homeEquipeGaucheMatch {
    width: 70px;
    text-align: left;
    padding-left: 10px;
}

.surnomMatch {
    width: 180px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
}

.rangMatch {
    width: 30px;
    text-align: center;
    padding: 10px;
}

.allMatch {
    width: 780px;
    PADDING: 20px;
    display: block;
    margin: auto;
    background: rgba(255, 255, 255, 0.56);
    z-index: 1;
    border-radius: 20px;
}

.tableCalendrierL1 {
    text-align: center;
    background: rgba(255, 255, 255, 0.611764705882353);
    border-radius: 20px;
}

.tableCalendrierL3 {
    height: 25px;
    font-size: 12px;
    text-align: center;
}

.tableCalendrierL2 {
    height: 25px;
    font-size: 12px;
    text-align: center;
}

.allListeCalendrier {
    width: 650px;
    display: block;
    margin: auto;

    background: rgba(255, 255, 255, 0.45);
    border-radius: 20px;
}

.tableCalendrierGroup {
    width: 60px;
    text-align: center;
    font-size: 20px;
    font-weight: 400;
    background: rgba(228, 228, 228, 0.26);
    border-radius: 20px 0 0 20px;
}

.backgroundTab1 {
    /* background:#9a224aa3; */
    /* border-bottom: solid 1px #FFF; */
    /* font-weight: bold; */

}

.backgroundTab2 {
    background: #ffffffc7;
    /* border-bottom: solid 1px #FFF; */
    /* font-weight: bold; */
}

.profil-line {
    border-bottom: solid 1px #FFF;
}

.profil-score {
    text-align: left;
    /* margin-left: 20px; */
    margin-top: -12px;
    padding: 0 0 4px 31%;
    font-weight: bold;
    font-size: 13px;
    color: #474747;
}

.backgroundTab1Bleu {
    background: #8394df;
}

.backgroundTab2Bleu {
    background: #2768ff;
}

.backgroundTab1Rose {
    background: #f97ba6;
}

.backgroundTab2Rose {
    background: rgba(255, 139, 213, 0.5411764705882353);
}


.backgroundTab1Vert {
    background: #91d27f;
}

.backgroundTab2Vert {
    background: #3ccb24;
}

.tab button.active.tablinksgeneral {
    background: #fff900;
}

.tab button.tablinksgeneral:hover {
    border-bottom: solid 2px #fff900;
}

.tab button.active.tablinksequipe {
    background: #2768ff;
}

.tab button.tablinksequipe:hover {
    border-bottom: solid 2px #2768ff;
}

.tab button.active.tablinksfemme {
    background: #ff00a3;
}

.tab button.tablinksfemme:hover {
    border-bottom: solid 2px #ff00a3;
}

.tab button.active.tablinksmontagne {
    background: #3ccb24;
}

.tab button.tablinksmontagne:hover {
    border-bottom: solid 2px #3ccb24;
}

.tab button.active.tablinksjoueur {
    background: #2768ff;
}

.tab button.tablinksjoueur:hover {
    border-bottom: solid 2px #2768ff;
}


.homeEquipeEquipe {
    text-align: center;
}

.homeEquipeMilieu {
    text-align: center;
}


.homeEquipeMilieu2 {
    text-align: center;
}

.homeEquipeGauche2 {
    text-align: left;
    padding-left: 8px;
    font-size: 16x;
    width: 110px;
    color: #000;
}

.homeEquipeDroite2 {
    text-align: right;
    padding-right: 8px;
    font-size: 16px;
    width: 110px;
    color: #000;
}

.homeEquipeGauche {
    width: 110px;
    text-align: left;
    padding-left: 6px;
    font-size: 16px;
}

.homeEquipeDroite {
    width: 110px;
    text-align: right;
    padding-right: 6px;
    font-size: 16px;
}

.homePoint {
    font-size: 17px;
    padding-right: 5px;
    text-align: center;
}

.homeSmallDate {
    padding-left: 2px;
    font-size: 12px;
    padding-top: 8px;
    padding-bottom: 8px;
}

.black {
    background: rgb(0, 0, 0);
}

.cadreTableauAcceuil {
    height: 560px;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    border-radius: 15px;

}

.cadreTableauAcceuilBig {

    height: 490px;
}


.cadreTableauAcceuilNoHeight {
    width: 100%;
    overflow-y: auto;
    color: #FFF;
}

.cadreTableauAcceuilClassement {
    width: 100%;
    overflow-y: auto;
    color: #0A001D;
    font-weight: bold;
}

.ulperso {
    margin-top: -3px;
}

.regleDetail {
    font-weight: normal;
}

.regleExempleCorp {
    font-style: italic;
    font-weight: normal;
}

.regleExemple {
    font-style: italic;
    font-weight: 600;
}

.reglePoint {
    font-weight: 600;
}

.pointRegle {
    margin-left: 90px;
    padding-top: 5px;
}

.tab button.active.tablinksgeneral {
    background: #fff900;
}


.tab button.active.tablinksequipe {
    background: #2768ff;
}

.tab button.active.tablinksfemme {
    background: #ff00a3;
}

.tab button.tablinksmontagne:hover {
    border-bottom: solid 2px #3ccb24;
}


.perfectTitre {
    color: #c0f6ff;
    text-shadow: 2px 0 #00b7ff, -2px 0 #00b7ff, 0 2px #00b7ff, 0 -2px #00b7ff, 1px 1px #00b7ff, -1px -1px #00b7ff, 1px -1px #00b7ff, -1px 1px #00b7ff;
    /* color: #1792c1; */
}

.perfectInverse {
    color: #cdcdcd;
    text-shadow: 2px 0 #757575, -2px 0 #757575, 0 2px #757575, 0 -2px #757575, 1px 1px #757575, -1px -1px #757575, 1px -1px #757575, -1px 1px #757575;
    /* color: #757575; */
}

.perfectCorrect {

    color: #b1f7c0;
    text-shadow: 2px 0 #2bdf6e, -2px 0 #2bdf6e, 0 2px #2bdf6e, 0 -2px #2bdf6e, 1px 1px #2bdf6e, -1px -1px #2bdf6e, 1px -1px #2bdf6e, -1px 1px #2bdf6e;
    /* color : #1ea228; */
}

.perfectCorrectPlus {
    color: #b1f7ff;
    text-shadow: 2px 0 #2bdfaa, -2px 0 #2bdfaa, 0 2px #2bdfaa, 0 -2px #2bdfaa, 1px 1px #2bdfaa, -1px -1px #2bdfaa, 1px -1px #2bdfaa, -1px 1px #2bdfaa;
}

.perfectEchec {
    color: #ed9d9d;
    text-shadow: 2px 0 #ed1e25, -2px 0 #ed1e25, 0 2px #ed1e25, 0 -2px #ed1e25, 1px 1px #ed1e25, -1px -1px #ed1e25, 1px -1px #ed1e25, -1px 1px #ed1e25;
    /* color: rgba(0, 0, 0, 0.91); */
}


.sousTitre {
    margin-left: 40px;
    font-size: 20px;
    font-weight: bold;
    padding: 5px;
    padding-left: 20px;
}


.reglementDiv {
    text-align: left;
    margin: 50px;
    background: #ffffff40;
    color: #3f68aa;
    border-radius: 10px;
    line-height: 30px;

}

.reglement-titre-centre {
    font-family: "Kalam", cursive;
    font-size: 30px;
    padding: 30px 0;
    text-align: center;
}

.reglement-sous-text {
    text-align: center;
    font-size: 20px;
    padding: 10px 0;
}

.reglement-reponse-text {
    text-align: center;
    font-size: 15px;
    padding: 10px 70px;
    font-family: "Kalam", cursive;
}

.reglement-titre {
    font-family: "Kalam", cursive;
    font-size: 30px;
    padding: 60px 0 30px 40px;
}

.reglement-text {
    padding: 10px 50px;
    font-size: 20px;
}

.reglement-sub-titre {
    padding: 30px 90px 0px;
    font-size: 20px;
    font-family: "Kalam", cursive;
}

.reglement-sub-text {
    padding: 0px 140px;
    font-size: 20px;
}

.reglement-point {
    display: flex;
    margin: 20px;
    background: #ffffff45;
    border-radius: 20px;
}

.reglement-point-item {
    /* width: 200px; */
    flex: 1;
    padding: 30px 11px;
    border-right: solid 1px #FFF;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    line-height: 40px;
}

.reglement-point-item:last-child {
    border: none;
}

.reglement-point-item-text {
    font-size: 26px;
    text-align: center;
    font-family: "Poppins", sans-serif;
}

.reglement-point-item-point {
    font-family: "Poppins", sans-serif;
    font-size: 35px;
    text-align: center;
}

.reglement-point-item-def {
    text-align: center;
    font-size: 15px;
    font-weight: bold;
    line-height: 25px;
}

.reglement-link {
    text-decoration: none;
    font-size: 20px;
    cursor: pointer;
    color: #000000;
    font-weight: bold;
}

.reglement-link:hover {
    color: #FFF;
}


.tableListeSecond {
    font-weight: bold;
    font-size: 23px;
}

.imageListe {
    display: inline;
    height: 45px;
    width: 45px;
    margin: 15px;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
    border: solid 1px;
}

.pancarteListeJoueur {
    /* background: #018498; */
    margin-left: 79px;
    margin-right: 126px;
    padding: 5px;
    /* border-radius: 20px; */
    font-size: 19px;
    color: white;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.tableListeFour {
    width: 18%;
    text-align: center;
    cursor: pointer;
}

.tableListeFour:hover {
    width: 18%;
    text-align: center;
    color: #008192;
    cursor: pointer;
}

.tableListeDetail {
    padding: 0 55px;
    /* text-align: center;
    color: #000; */
}

/* .tableListeDetail:hover {
    width: 18%;
    text-align: center;
    color: #FFF;
    cursor: pointer;
} */


.tableListe .tableCalendrierElse~.tableCalendrierElse {
    background-color: #00123f;
}

.tableListeThird {
    width: 35%;
    text-align: center;
    font-size: 17px;
}

.tableCalendrierL2-hour {
    font-weight: bold;
    font-size: 16px;
}

.tableListeSecond {
    width: 35%;
    text-align: center;
}

.tableListeFirst {
    width: 12%;
    text-align: center;
}

.tableListe {
    margin: auto;
    width: 100%;
    border-collapse: collapse;
}

.allListe {
    height: 650px;
    width: 800px;
    border: solid 1px;
    display: block;
    margin: auto;
    margin-top: 30px;
    overflow-y: scroll;
    background: rgba(255, 255, 255, 0.45);
}

.listeJoueurTitre {
    display: block;
    padding: 30px;
    font-size: 28px;
    font-weight: bold;
    color: #3f68aa;
    background: #ffffff4f;
    border-bottom: solid 2px #FFF;
}

.TitreTableauBas {
    text-align: left;
    padding-left: 20px;
    font-size: 16px;
    padding-bottom: 5px;
    padding-top: 5px;
    font-weight: 500;
    color: #3f68aa;
    /* display: block; */
}

.tableAcceuilBas {
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: space-between;
}

.tableAcceuilInfos {
    gap: 8px;
}

.tableAcceuilInfos .information-card-event.mdl-card {
    flex: 1;
    width: auto;
    min-width: 0;
}

.tableAcceuilLiensStats {
    gap: 8px;
}

.tableAcceuilLiensStats .statistics-card-event.mdl-card {
    flex: 1;
    width: auto;
    min-width: 0;
}

.sousTitreTableauBas {
    display: block;
    border: none;
    padding: 2px 0 0 0;
    font-size: 12px;
    font-style: normal;
    color: #888;
    font-weight: 400;
}

.tableAcceuilResultat {
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: space-between;
}

.tableAcceuilBonus {
    width: 100%;
    max-width: 1040px;
}

.bonusWidgetWrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.widget-favorite-logo {
    width: 20px;
    height: 20px;
    object-fit: contain;
    vertical-align: middle;
    margin-right: 4px;
}

.widget-activated-label {
    display: inline-block;
    font-size: 11px;
    font-weight: bold;
    color: #18b85a;
    background: rgba(24, 184, 90, 0.12);
    border: 1px solid #18b85a;
    border-radius: 10px;
    padding: 1px 7px;
    margin-bottom: 4px;
}

.widget-pending {
    color: #aaa;
    font-style: italic;
    padding: 8px 0;
}

.widget-pts {
    font-size: 12px;
}

.tableAcceuilClassement {
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: space-between;
}

.tableAcceuil {
    font-weight: bold;
    color: #3f68aa;
    margin: auto;
    margin-bottom: 0px;
    margin-top: 0px;
    width: 845px;
    padding-bottom: 8px;
}

.secondColumProfil {
    width: 25%;
}

.petitPoint {
    font-size: 14px;
    padding-left: 4px;
}

.firstColumnProfilPadding {
    width: 70%;
    padding-left: 25px;
}

.tableDetails {
    /* background: rgba(0, 0, 0, 0.28); */
    margin: auto;
    margin-top: 35px;
    width: 80%;
    padding: 6px;
    background: #72203c70;
    color: #ffffff;
    border-radius: 10px;
    box-shadow: rgb(0 0 0 / 24%) 0px 3px 8px;
    /* box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); */
}


.profilInformationEmail {
    padding: 8px 5px 5px 5px;
    font-size: 15px;
    margin: 18px;
    font-size: 14px;
    background: #72203c70;
    color: #ffffff;
    border-radius: 10px;
    box-shadow: rgb(0 0 0 / 24%) 0px 3px 8px;
    /* background: rgba(0, 0, 0, 0.28);
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); */
}


.profilInformationCivil {
    padding-top: 5px;
    font-size: 15px;
    word-break: break-all;
    padding-left: 10px;
    padding-right: 10px;
}

.pointBonusView {
    font-size: 18px;
}

.pointBonusViewSmall {
    font-size: 18px;
    padding: 0 10px;
}

.pointBonus {
    font-size: 18px;
    padding-right: 20px;
    font-weight: bold;
}

.tdBonusCenter {
    text-align: center;
    padding-right: 20px;
    font-size: 18px;
    padding: 12px;
    font-weight: bold;
}

.tdBonusCenterSmall {
    text-align: left;
    padding-right: 20px;
    font-size: 18px;
    padding: 10px;
    font-weight: bold;
}

.tdBonusLeft {
    text-align: right;
    padding-right: 20px;
    font-size: 18px;
    padding: 18px;
}

#modifierJoker {
    background: #ffffffad;
    color: #3f68aa;
}

.InversePronos {
    font-size: 12px;
    font-weight: bold;
    text-align: center;
}

.CorrectPronos {
    font-size: 12px;
    font-weight: bold;
    text-align: center;
}

.CorrectPlusPronos {
    font-weight: bold;
    font-size: 12px;
    text-align: center;
}

.PerfectPronos {
    font-size: 13px;
    font-weight: bold;
    text-align: center;
}

.PasJouePronos {
    font-size: 9px;
    font-weight: bold;
    text-align: center;
}

.EchecPronos {
    font-size: 13px;
    font-weight: bold;
    text-align: center;
}

.pancarteAuto {
    background: rgba(0, 0, 0, 0.68);
    border: solid 2px rgb(77 71 74);
    text-align: center;
    font-size: 18px;
    color: #FFF;
    font-weight: bold;
    padding: 6px;
    border-radius: 5px;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.BigTitreRight {
    font-size: 45px;
    font-weight: bold;
    width: 42%;
    text-align: right;
    padding-right: 25px;
}


.BigTitreLeft {
    font-size: 45px;
    font-weight: bold;
    width: 45%;
    text-align: left;
    padding-left: 25px;
}

.pancarte {
    background: rgba(0, 0, 0, 0.68);
    padding-bottom: 3px;
    padding-top: 3px;
    display: block;
    text-align: center;
    /* border-radius: 5px; */
    font-size: 17px;
    color: #FFF;
    font-weight: bold;
    border-radius: 10px;
    /* box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12); */
}

.pancarteBig {
    padding: 2px;
    display: block;
    text-align: center;
    font-size: 17px;
    font-weight: bold;
    border-radius: 5px;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
    width: 26px;
    margin: auto;
    border: 2px solid rgba(150, 150, 150, 0.4);
    background: rgba(150, 150, 150, 0.15);
    color: #5b5b5b;

}

.pancarte-profil {
    background: rgba(0, 0, 0, 0.68);

    border: solid 2px #4d4649;
    padding: 4px 9px;
    display: block;
    text-align: center;
    font-size: 22px;
    color: #FFF;
    font-weight: bold;
    min-width: 10px;
    border-radius: 5px;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

img.logoEquipeBig {
    width: 90px;
    margin: 5px;
    /* border: solid 2px #000; */
}

img.logoEquipe {
    width: 34px;
    margin: 5px;
}

img.logoEquipeSmallBonus {
    width: 30px;
    margin: 5px;
}

img.logoEquipeSmall {
    width: 30px;
    margin: 5px;
}

img.logoEquipeSmaller {
    width: 18px;
    margin: 5px;
}


.tdMatchLeft {
    padding-right: 20px;
    text-align: right;
    font-size: 18px;
}


.tdMatchRight {
    padding-left: 20px;
    text-align: left;
    font-size: 18px;
}

.affPronosTableau {
    width: 100%;
    border-collapse: collapse;
    font-weight: bold;
}

.emptyTableau {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 18px;
}

.profilPronosSousTitre {
    /* display: block; */
    /* margin-top: 40px; */
    /* margin: auto; */
    /* margin-left: 145px; */
    font-size: 25px;
    font-weight: bold;
    color: #3f68aa;
    margin: 20px;
    text-align: center;
    /* margin-bottom: 8px; */
}

.profilPronosTitre {
    display: block;
    font-size: 28px;
    font-weight: bold;
    color: #FFF;
    padding: 20px;
    background: #ffffff38;
}

.cadreTableauBonus {
    width: 100%;
    height: 100%;
}

.cadreTableauMatch {
    height: 520px;
    overflow-y: auto;
}

table.TableMatch {
    margin: auto;
    border: solid 1px;
    width: 600px;
    margin-top: 20px;
    margin-bottom: 20px;
    border-collapse: collapse;
}

.profilPronos {
    width: 100%;
    font-size: x-large;
}

.profilPronosSmall {
    width: 800px;
    font-size: x-large;
    background: #ffffff30;
}

.floaleft {
    float: left;
}

.profilInformationImage {
    display: inline;
    width: 150px;
    margin: 15px;
    border: solid;
}

.profilInformationSurnom {
    height: 100%;
    width: 200px;
    text-align: center;
    font-size: 20px;
    color: #630f2a;

}

span.titre {
    font-style: italic;
    font-weight: lighter;
}

.padding20 {
    padding: 40px;
}

@media (max-width: 600px) {
    .padding20 {
        padding: 12px 6px;
    }
}

.RetourSpan {
    font-size: 25px;
    color: #FFF;
    cursor: pointer;
    font-weight: bold;
    margin: 10px 20px 0px 20px;
    display: flex;
    flex-direction: row-reverse;
}

.RetourSpanContainer {
    font-size: 25px;
    color: #FFF;
    font-weight: bold;
    margin: 10px 20px 0px 20px;
    display: flex;
    flex-direction: row-reverse;
}

.Retour {
    margin-left: 116px;
    margin-top: -25px;
    text-align: left;
    font-size: 20px;
    color: #FFF;
    cursor: pointer;
}

.Retoudiv {
    margin-left: 116px;
    margin-bottom: 50px;
    text-align: left;
    font-size: 20px;
    color: #FFF;
    cursor: pointer;
}

#RetourButtonBlanc:hover {
    opacity: 0.82;
}


#RetourButtonBlanc {
    background: #fff;
    color: #3f68aa;
    align-items: center;
    padding: 10px 20px;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    outline: none;
    transition: opacity .15s, transform .1s;
    white-space: nowrap;
    line-height: 1;
    box-shadow: 0 1px 4px rgba(63, 104, 170, 0.08);
    text-transform: uppercase;
}

#ButtonMoulinette {
    background: rgb(22 115 22);
    color: #FFF;
}

#ButtonBonus,
#ButtonDemandes,
#ModifierMatch,
#ButtonEtat,
#ButtonJoueurs,
#ModifierProfil,
#modifierBonus {
    color: #3f68aa;
    background: #FFF;
}

#RetourButtonRouge {
    background: #ffffffad;
    color: #3f68aa;
}

#buttonValidationSubmit,
#buttonValidationSubmitModif {
    background: rgb(22 115 22);
    color: #FFF;
}

.buttons {
    margin: 20px;
}

textarea#description {
    margin-top: 7px;
    padding: 9px;
}


.RetourSpan:hover {
    color: rgb(0, 0, 0);
    cursor: pointer;
}


span.ui-button-text {
    margin-left: -10px;
}

#buttonValidationReset {
    margin-left: 10px;

    background: #ffffff;
    color: #3f68aa;

}


.inputLogin {
    margin: 5px;
}

div#add_err {
    border: solid 1px #AF0202;
    width: 90%;
    margin: auto;
    padding: 10px;
    background: rgba(177, 11, 11, 0.46);
    color: #fff;
}

.loginform-in {
    text-align: center;
    /* height: 367px; */
    margin: auto;
    padding: 0;
    max-width: 1000px;
    background: #ffffff61;
    border-radius: 0 0 20px 20px;
}

.loginform-in-acceuil {
    background: rgba(255, 255, 255, 0.26);
    width: auto;
}

.loginform-in fieldset {
    border: 0px #787880 solid;
    margin: 20px auto;
    padding: 10px;
    width: 90%;
}

.loginform-in fieldset label {
    color: black;
    font-size: 14px;
    font-weight: bold;
    padding: 8px 0 0;
    width: 100px;
}

.loginform-in fieldset input[type="text"],
input[type="password"],
fieldset select {
    border: 0px;
    /* border-radius: 2px 2px 2px 2px; */
    /* float: left; */
    height: 32px;
    padding: 1px 1px 1px 10px;
    width: 180px;
    outline: none;
    border-radius: 10px;
}

.full-table-collapse-white {
    border-collapse: collapse;
    width: 100%;
    color: #3f68aa;
    font-weight: bold;
}

.TitreSmallClassement {
    margin: auto;
    font-size: 16px;
    padding-bottom: 5px;
    padding-top: 5px;
}

#login {
    background: #6579ff;
    width: 180px;
}

#demand {
    background: #e2666b;
    width: 180px;
}

.material-icons.profilicon {
    font-size: 20px;
}

.tdmontagne {
    color: #009a46;
    font-size: 10px;
    text-align: center;
    font-weight: bold;
}

.viewEquipe {
    padding: 20px;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
    background: rgba(255, 255, 255, 0.45);
    margin: 0px 50px 20px;
}

.equipeContainer {
    width: 100%;
    text-align: center;
    display: flex;
    justify-content: space-around;
}

.equipeTitre {
    font-size: 30px;
    padding: 10px;
    margin-bottom: 30px;
    font-weight: bold;
}

.small-version {
    margin-top: 0px !important;
    margin: auto !important;
    width: 160px !important;
    min-height: 50px !important;
    height: 50px !important;
}

.TitreSmallClassementBig {
    margin: auto;
    font-size: 43px;
    padding-bottom: 5px;
    padding-top: 5px;
}

.width100 {
    width: 100%;
}

a.mdl-button.mdl-button--colored.mdl-js-button.mdl-js-ripple-effect {
    background: #ffffffb0;
    color: #3f68aa;
    /* background: #e189a794; */
    border-radius: 10px;
    font-weight: bold;
}

.dateCalendar {
    margin: auto;
    width: 650px;
    margin-top: 20px;
    text-align: start;
}

span.dateCalendarText {
    margin: 70px;
    line-height: 40px;
    font-size: 19px;
    font-weight: bold;
    color: #ffffff;
}

.resumeJoker {
    display: flex;
    justify-content: space-around;
    padding-top: 40px;
}

.jokerBig {
    width: 120px;
    padding-top: 20px;
}

.jokerMedium {
    width: 50px;
}

.jokerSmall {
    width: 38px;
}

.jokerdiv {
    width: 240px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.jokertile {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    background: #72203c70;
    color: #380817;
    border-radius: 10px;
    box-shadow: rgb(0 0 0 / 24%) 0px 3px 8px;
}

.jokertext {
    padding: 15px;
}

.jokertextdiv {
    width: 780px;
    margin: auto;
    padding-top: 15px;
}

.jokerBigText {
    margin: 20px;
}

.availableJoker {
    display: flex;
    align-items: center;
}

.dayofStageText {
    font-size: 18px;
    font-weight: bold;
    color: #380817;
    padding: 10px 10px 10px 20px;
    background: #701e3978;
}

.availableJokerText {
    font-size: 18px;
    font-weight: bold;
    color: #380817;
    padding: 30px 30px 30px 60px;
}

.availableJokerImg {
    padding: 15px;
}

.jokerDisplayMatchs {
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    height: 371px;
    flex-wrap: wrap;
    background: #701e3978;
}

.jokerMatch {
    width: 380px;
    display: flex;
    align-items: center;
    padding: 4px 0;
}

.tiret {
    padding: 0 6px;
}

/* IMAGE STYLES */
[type=radio] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

[type=radio]+img {
    cursor: pointer;
}

/* CHECKED STYLES */
[type=radio]:checked+img {
    opacity: 1;
}

.jokerButton {
    padding: 0 8px;
    opacity: 0.5;
}

.paddingtop20 {
    padding-top: 20px;
}

.cadreprofil {
    background: #72203c70;
    color: #FFF;
    border-radius: 10px;
    box-shadow: rgb(0 0 0 / 24%) 0px 3px 8px;
    margin: 18px;
    padding: 3px 0px 6px 0px;
}

.cadreprofilsurnom {
    background: #72203c70;
    color: #FFF;
    box-shadow: rgb(0 0 0 / 24%) 0px 3px 8px;
    padding: 3px 0px 22px 0px;
}

.logoEquipProfil {
    width: 23px;
    margin: 0 10px;
    border: 1px solid #ffffff;
}

.backgroundwhite {
    background: #ffffff91 !important;
}

.joueursimage {
    margin: 15px;
    border-color: #743957;
    border-radius: 10px;
    box-shadow: rgb(0 0 0 / 24%) 0px 3px 8px;
    border-radius: 10px;
}

.small-widget-content {
    height: 100%;
}

.totalbut {
    font-size: 34px;
    color: #3f68aa;
    font-weight: bold;
}

.totatbutsmall {
    font-size: 20px;
    color: #3f68aa;
}

.totalbutmoyenne {
    font-size: 14px;
    color: #3f68aa;
}

.totatbutsmallmoyenne {
    font-size: 9px;
    color: #3f68aa;
}


.minute {
    text-align: left;
    color: #3f68aa;
    line-height: 24px;
}

.scorers {
    color: #3f68aa;
    line-height: 19px;
    font-size: 16px;
    text-align: left;
    display: flex;
}

.scorer_name {
    width: 140px;
}


.gain {
    color: #3f68aa;
    line-height: 14px;
    font-size: 12px;
    text-align: left;
    display: flex;
    padding-left: 39px;
}

.gain_name {
    width: 60px;
}

.bar {
    height: 14px;
    padding: 0px;
}

.percentBar {
    border-collapse: collapse;
    margin: 12px auto;
}

.nextmatchsoloteams {
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 90px;
}

.logoEquipebigbig {
    width: 100px;
    margin: 5px;
    border-radius: 5px;
}

.nextmatchsoloteamshomename {
    /* font-weight: bold; */
    font-size: 20px;
    color: #3a4260;
}

.nextmatchsoloteamsawayname {
    /* font-weight: bold; */
    font-size: 20px;
    color: #3a4260;
}

.nextmatchsoloteamsmiddle {
    font-size: 20px;
    font-weight: bold;
    padding-bottom: 30px;
    /* font-family: "Kalam", cursive; */
}

.nextmatchsolodate {
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
}

.nextmatchsolotime {
    font-size: 14px;
    font-weight: 600;
    padding: 4px;
}

.nextmatchsolopronos {
    display: flex;
    justify-content: center;
    padding: 5px 0;
}

.lastmatchsolopronos {
    display: flex;
    justify-content: center;
}

.nextmatchsolopronosmiddle {
    width: 40px;
    font-size: 34px;
    font-weight: bold;
}

.nextmatchsolopronosmiddle-sep {
    font-weight: bold;
    color: #aaa;
}

.lastmatchsolopronosmiddle {
    width: 20px;
    line-height: 27px;
}


.pancarteBigBig {
    width: 50px;
    height: 50px;
    display: block;
    font-size: 40px;
    font-weight: bold;
    border-radius: 5px;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
    border: 2px solid rgba(150, 150, 150, 0.4);
    background: rgba(150, 150, 150, 0.15);
    color: #5b5b5b;
}

.pancarteBigBigSmall {
    border: solid 2px rgb(67 67 67);
    background: rgba(0, 0, 0, 0.68);
    width: 35px;
    height: 30px;
    line-height: 30px;
    display: block;
    font-size: 25px;
    color: #FFF;
    font-weight: bold;
    border-radius: 5px;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
    /* box-shadow: 0 2px 2px 0 rgb(0 0 0 / 14%), 0 3px 1px -2px rgb(0 0 0 / 20%), 0 1px 5px 0 rgb(0 0 0 / 12%); */
}

.percentBarpronos {
    border-collapse: collapse;
    margin: 22px 40px 2px 40px;
}

.percentBarresult {
    border-collapse: collapse;
    margin: 10px 40px 2px 40px;
}

.barpronos {
    height: 14px;
    padding: 0px;
}

.cadreTableauAcceuilOneMatch {
    height: 250px;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
}

.onematch-card-event.mdl-card {
    width: 415px;
    height: 324px;
    background: #ffffff91;
}

.onematch-card-event>.mdl-card__actions {
    border-color: rgba(255, 255, 255, 0.2);
}

.onematch-card-event>.mdl-card__title {
    align-items: flex-start;
    padding: 10px 10px;
    flex-direction: column;
}

.onematch-card-event>.mdl-card__title>h4 {
    margin-top: 0;
}

.onematch-card-event>.mdl-card__actions {
    display: flex;
    box-sizing: border-box;
    align-items: center;
}

.onematch-card-event>.mdl-card__actions>.material-icons {
    padding-right: 10px;
}

.onematch-card-event>.mdl-card__title,
.onematch-card-event>.mdl-card__actions,
.onematch-card-event>.mdl-card__actions>.mdl-button {
    color: #3f68aa;
}

span.scoretext {
    padding: 4px;
    font-size: 14px;
    font-weight: bold;
}

.magintopless20 {
    margin-top: -26px;
}

.magintoplessline {
    margin-top: -23px;
}

.middleResultText,
.resultText,
.resultTextPoint {
    width: 120px;
    font-weight: bold;
    font-size: 18px;
}

span.textmatch {
    padding: 4px;
    font-size: 14px;
    font-weight: bold;
    font-style: italic;
    color: #3f68aa;
}

.profilPageContent {
    width: 100%;
    height: 1600px;
    display: flex;
}

/* ------------------------- */

.profilPage {
    text-align: center;
    /* height: 367px; */
    margin: auto;
    padding: 0;
    background: #ffffff61;
    max-width: 1200px;
    border-radius: 0 0 20px 20px;
}

.profilPageContentNew {
    width: 100%;
    padding-bottom: 40px;
    display: flex;
    flex-direction: column;
}

.profilPage-info {
    width: 100%;
    /* height: 200px; */
    background: #ffffff4f;
    color: #3f68aa;
    padding-bottom: 12px;

    display: flex;
    /* flex-wrap: wrap; */
    justify-content: space-around;
    align-items: center;

    border-bottom: solid 2px #FFF;
}

.profilPage-info-perso {
    display: flex;
    flex-direction: column;
}

.profilPage-info-perso-surnom {
    font-size: 20px;
    font-weight: bold;
    padding: 10px;
}

.profilPage-info-perso-photo-img {
    width: 170px;
    border-radius: 15px;
    border: solid 2px #FFF;
}

.profilPage-info-perso-modif {
    height: 38px;
}

.profilPage-info-perso-modifprofil {
    padding: 6px;
}

.profilPage-content {
    position: relative;
    display: flex;
    flex-direction: column;
    padding-top: 20px;
}

.profilPage-content-pronos {
    display: flex;
    /* flex-wrap: wrap; */
    justify-content: space-evenly;
    align-items: center;
    flex-wrap: wrap;
    align-items: stretch;
}

.profilPage-content-pronos-list {
    flex: 1 1 770px;
    padding: 20px;
}

.profilPage-content-pronos-bonus {
    flex: 1 1 330px;
    padding: 20px;
}

.profilPage-info-about {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 200px;
}

.profilPage-info-about-title {
    font-size: 17px;
    font-weight: bold;
    padding: 8px 15px;
}

.profilPage-info-about-title-petit {
    font-size: 16px;
    font-weight: bold;
    padding: 8px 15px;
}

.profilPage-info-about-content {
    padding-left: 20px;
}

.profilPage-info-about-content-value {
    font-weight: bold;
}

.profilPage-info-about-profil {
    display: flex;
    justify-content: flex-end;
    padding: 2px 0;
}

.profilPage-info-about-profil-classement {
    font-size: 27px;
    font-weight: bold;
    line-height: 40px;
}

.profilPage-info-about-profil-points {
    font-size: 16px;
    font-weight: bold;
    line-height: 30px;
}

.profilPage-info-about-rang {
    margin: 30px 10px;
    color: #2b2b2b;
    background: #ffffffb3;
    border-radius: 10px;
}

.profilPage-info-citation-content {
    font-family: 'Special Elite';
    font-weight: 100;
    font-size: 24px;
    max-width: 340px;
    line-height: 1.4;
    position: relative;
    margin: 0;
    padding: 10px;
}

.profilPage-info-citation-content:before,
.profilPage-info-citation-content:after {
    position: absolute;
    color: #f1efe6;
    font-size: 8rem;
    width: 8rem;
    height: 6rem;
}

.profilPage-info-citation-content:before {
    content: '“';
    left: -6rem;
    top: 0rem;
}

.profilPage-info-citation-content:after {
    content: '”';
    right: -5rem;
    bottom: 0rem;
}


.profilPage-info-citation-content-cite {
    font-family: "Kalam", cursive;
    padding-left: 200px;
    font-size: 18px;
}

.bonuscard {}

input[type="number" i] {
    width: 40px;
    height: 30px;
    font-size: 20px;
    text-align: center;
    border: solid 1px;
    border-radius: 5px;
}


.checkbox-wrapper-22 .switch {
    display: inline-block;
    height: 34px;
    position: relative;
    width: 60px;
}

.checkbox-wrapper-22 .switch input {
    display: none;
}

.checkbox-wrapper-22 .slider {
    background-color: #b74a4a;
    bottom: 0;
    cursor: pointer;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    transition: .4s;
}

.checkbox-wrapper-22 .slider:before {
    background-color: #fff;
    bottom: 4px;
    content: "";
    height: 26px;
    left: 4px;
    position: absolute;
    transition: .4s;
    width: 26px;
}

.checkbox-wrapper-22 input:checked+.slider {
    /* background-color: #66bb6a; */
    background-color: #429b46;
}

.checkbox-wrapper-22 input:checked+.slider:before {
    transform: translateX(26px);
}

.checkbox-wrapper-22 .slider.round {
    border-radius: 34px;
}

.checkbox-wrapper-22 .slider.round:before {
    border-radius: 50%;
}

.match-date {
    font-size: 25px;
}

.match-bars {
    padding-top: 29px;
}

.showmore {
    text-decoration: none;
    border-radius: 8px;
    text-align: center;
    background: #ffffffb0;
    color: #3f68aa;
    cursor: pointer;
    font-weight: bold;
    padding: 3px 15px;
    font-size: 12px;
    height: 25px;
    font-family: Arial;
}

.RetourSpan-profil {
    flex-direction: row;
    margin: 0 20px 0 20px;
    z-index: 99;
    color: #ffffffab;
}

.RetourSpan-profil:hover {
    color: #ffffff;
}

/* ---- Admin Toolbar ---- */
.admin-toolbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 16px 20px;
}

.admin-toolbar-btn {
    padding: 8px 20px;
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    letter-spacing: 0.03em;
    transition: background 0.15s, border-color 0.15s;
}

.admin-toolbar-btn:hover {
    background: rgba(255, 255, 255, 0.25);
    border-color: rgba(255, 255, 255, 0.55);
}

.admin-toolbar-btn--run {
    background: rgba(63, 104, 170, 0.35);
    border-color: rgba(63, 104, 170, 0.7);
}

.admin-toolbar-btn--run:hover {
    background: rgba(63, 104, 170, 0.6);
}

.admin-toolbar-btn--back {
    background: transparent;
    border-color: rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.65);
}

/* ---- Admin Match List ---- */
.admin {
    margin: 0 16px 24px;
    border-radius: 14px;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.18);
}

.admin-date {
    padding: 7px 16px;
    background: rgba(0, 0, 0, 0.7);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: rgba(255, 255, 255, 0.7);
}

.admin-match {
    display: grid;
    grid-template-columns: 44px 1fr 140px 1fr 70px;
    align-items: center;
    gap: 0 10px;
    padding: 7px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    background: rgba(255, 255, 255, 0.04);
    transition: background 0.1s;
}

.admin-match--played {
    background: rgba(66, 155, 70, 0.50);
}

.admin-match-group {
    font-size: 14px;
    font-weight: bold;
    color: #161616;
    text-align: center;
    text-transform: uppercase;
    line-height: 1.3;
}

.admin-match-time {
    font-size: 14px;
    font-weight: bold;
    color: #161616;
    text-transform: none;
}

.admin-match-team {
    display: flex;
    align-items: center;
    gap: 8px;
    overflow: hidden;
    min-width: 0;
}

.admin-match-team--home {
    flex-direction: row-reverse;
    text-align: right;
}

.admin-match-team--away {
    flex-direction: row;
    text-align: left;
}

.admin-match-flag {
    width: 28px;
    height: 18px;
    object-fit: cover;
    border-radius: 2px;
    flex-shrink: 0;
}

.admin-match-team-name {
    font-size: 13px;
    font-weight: 500;
    color: #161616;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-match-center {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.admin-score-input {
    width: 60px !important;
    height: 34px !important;
    text-align: center;
    font-size: 15px;
    font-weight: 700;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.35);
    color: #fff;
    outline: none;
    -moz-appearance: textfield;
    appearance: textfield;
}

.admin-match-vs {
    font-size: 15px;
    font-weight: 700;
    color: rgba(255, 255, 255, 0.35);
}

.admin-match-checkbox {
    width: 22px;
    height: 22px;
    cursor: pointer;
    accent-color: #3f68aa;
}

.admin-team-select {
    width: 100%;
    height: 30px;
    padding: 0 8px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    background: rgba(0, 0, 0, 0.45);
    color: #fff;
    font-size: 12px;
    outline: none;
    cursor: pointer;
}

.admin-team-select:focus {
    border-color: rgba(63, 104, 170, 0.8);
}

.admin-match-toggle {
    display: flex;
    justify-content: center;
}

.admin-form-submit {
    display: flex;
    justify-content: center;
    padding: 14px;
}

.admin-submit-btn {
    padding: 10px 32px;
    border-radius: 22px;
    border: none;
    background: rgba(63, 104, 170, 0.7);
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    letter-spacing: 0.04em;
    transition: background 0.15s;
}

.admin-submit-btn:hover {
    background: rgba(63, 104, 170, 1);
}

/* Legacy — kept for other admin pages */
.admin-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
}

.admin-button {
    font-size: 25px;
    color: #FFF;
    cursor: pointer;
    font-weight: bold;
    margin: 12px 36px;
}

.admin-bonus {
    font-weight: bold;
    display: flex;
    flex-direction: column;
    padding: 30px 100px;
}

.admin-bonus-line {
    display: flex;
    justify-content: space-between;
}

.admin-bonus-titre {
    padding: 10px;
    width: 230px;
}

.admin-bonus-value {
    padding: 10px;
}

.admin-bonus-pts-section {
    padding: 10px 100px 30px;
}

.admin-bonus-pts-title {
    font-weight: bold;
    font-size: 13px;
    color: #888;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 10px 0 12px;
    border-top: 1px solid #e0e0e0;
    margin-bottom: 4px;
}

.admin-bonus-pts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px 20px;
}

.admin-bonus-pts-row {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 4px 0;
}

.admin-bonus-pts-flag {
    width: 28px;
    height: 18px;
    object-fit: cover;
    border-radius: 2px;
    flex-shrink: 0;
}

.admin-bonus-pts-name {
    flex: 1;
    font-size: 13px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.admin-bonus-value input[type="number"],
.admin-bonus-pts-input {
    width: 60px !important;
    height: 30px !important;
    font-size: 16px !important;
    text-align: center !important;
    padding: 0 4px !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    font-weight: bold !important;
    flex-shrink: 0 !important;
    box-sizing: border-box !important;
}

/* ── Trombinoscope ───────────────────────────────────────────────────────────── */
.trombi-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 16px;
    padding: 8px 4px;
}

.trombi-card {
    background: rgba(255,255,255,0.72);
    border: 1px solid rgba(63,104,170,0.12);
    border-radius: 20px;
    box-shadow: 0 4px 18px rgba(63,104,170,0.08);
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 24px 16px 18px;
    text-decoration: none;
    transition: transform 0.18s, box-shadow 0.18s;
    position: relative;
}

.trombi-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 32px rgba(63,104,170,0.18);
}

.trombi-card--me {
    border-color: rgb(63 104 170);
}

.trombi-card-rang {
    position: absolute;
    top: 12px;
    left: 14px;
    font-size: 13px;
    font-weight: 800;
    color: #9aa0b8;
    line-height: 1;
}

.trombi-card-rang--top1 { color: #c8972a; }
.trombi-card-rang--top2 { color: #8a9ab0; }
.trombi-card-rang--top3 { color: #a0714a; }

.trombi-card-avatar-wrap {
    position: relative;
    width: 80px;
    height: 80px;
    margin-bottom: 12px;
}

.trombi-card-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid rgba(63,104,170,0.2);
}

.trombi-card-flag {
    position: absolute;
    bottom: -2px;
    right: -4px;
    width: 24px;
    height: 16px;
    object-fit: contain;
    border-radius: 3px;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.2);
}

.trombi-card-surnom {
    font-size: 15px;
    font-weight: 700;
    color: #2c3459;
    text-align: center;
    margin-bottom: 4px;
    word-break: break-word;
}

.trombi-card-pts {
    font-size: 13px;
    font-weight: 600;
    color: #3f68aa;
    margin-bottom: 10px;
}

.trombi-card-pts-unit {
    font-size: 10px;
    font-weight: 500;
    color: #9aa0b8;
    margin-left: 2px;
}

.trombi-card-citation {
    font-size: 11px;
    color: #7a84a0;
    font-style: italic;
    text-align: center;
    line-height: 1.5;
    max-height: 48px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
}

@media (max-width: 520px) {
    .trombi-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .trombi-card { padding: 18px 10px 14px; }
    .trombi-card-avatar, .trombi-card-avatar-wrap { width: 64px; height: 64px; }
}

.profilPage-content-stat {
    padding: 0 20px;
}



/* ---- Stats grid (barres symétriques) ---- */
.stats-grid {
    display: grid;
    grid-template-columns: 1fr minmax(68px, auto) 1fr;
    align-items: center;
    gap: 6px 6px;
    padding: 14px 10px;
    width: 100%;
    box-sizing: border-box;
}

.stats-bar-cell {
    display: flex;
    min-width: 0;
}

.stats-bar-cell.stats-bar--left {
    justify-content: flex-end;
}

.stats-bar-cell.stats-bar--right {
    justify-content: flex-start;
}

.stats-bar {
    min-width: 26px;
    height: 25px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    padding: 0 8px;
    font-size: 11px;
    color: #fff;
    box-sizing: border-box;
    white-space: nowrap;
    overflow: hidden;
}

.stats-bar--left .stats-bar {
    justify-content: flex-start;
}

.stats-bar--right .stats-bar {
    justify-content: flex-end;
}

.stats-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-weight: bold;
    font-size: 12px;
    color: #141414;
    text-align: center;
    white-space: nowrap;
}

.stats-label-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* Couleurs des barres */
.bar-correct-plus {
    background: #2bdfaa;
}

.bar-perfect {
    background: #00b7ff;
}

.bar-correct {
    background: #2bdf6e;
}

.bar-inverse {
    background: #757575;
}

.bar-echec {
    background: #ed1e25;
}

.bar-bonus {
    background: #d9ca00;
}

/* ---- Stats — état d'attente ---- */
.stats-waiting {
    padding: 32px 16px;
    text-align: center;
}

.stats-waiting-title {
    font-size: 18px;
    font-weight: bold;
    color: #3f68aa;
    margin-bottom: 8px;
}

.stats-waiting-sub {
    font-size: 14px;
    color: #aaa;
    font-family: "Kalam", cursive;
}

.bonus-empty {
    font-size: 30px;
    font-weight: bold;
    padding: 90px 50px 28px 50px;
    color: #3f3f3f;
}

.bonus-empty-phrase {
    font-size: 18px;
    color: #3f3f3f;
    font-family: "Kalam", cursive;
    width: 80%;
    margin: auto;
    padding: 10px 0px 20px 0px;
}

.bonus-empty-phrase-middle {
    font-size: 18px;
    color: #3f3f3f;
    padding: 0px 0px 40px 0px;
}

.bonus_valeur {
    width: 200px;
}

.affPronosLigneTitre {
    width: 40%;
}

.affPronosLigneResult {
    width: 50%;
}

.home-classement {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    padding: 5px 10px;

    border-radius: 40px;
    overflow: hidden;
}

.home-classement-item {
    width: 50%;
    display: flex;
    flex-direction: row;
    height: 60px;
    align-items: center;
    justify-content: space-between;
}

.surnom-match {
    cursor: pointer;
    color: #1a1a1a;
    font-weight: bold;
    cursor: pointer;
    font-size: 20px;
    text-decoration: none;
}

.surnom-match:hover {
    color: #3f68aa;
}

.totalbut-content {
    display: flex;
    flex-direction: column;
}

.totalbut-content-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    color: #3f68aa;
    font-size: 15px;
}

.totalbutwinner-joueur {
    font-family: "Kalam", cursive;
}

.totalbut-content-but {
    padding-bottom: 10px;
}

.borderNone {
    border: none !important;
}

.affPronosLigne {
    height: 55px;
}

.totalbut-content-ligne {}

.admin-match-modif>input {
    width: 60px;
}

.pub {
    width: 400px;
    padding: 10px;
    height: 240px;
}

.pub-div {
    display: flex;
    justify-content: center;
}


.detailTitreUpdateRedSpan:hover {
    color: #3f68aa;
    cursor: pointer;
}

.detailTitreUpdateRedSpan {
    font-size: 12px;
    cursor: pointer;
    font-weight: 500;
}

.sousTitreUpdateRed {
    font-size: 12px;
    font-weight: 400;
    padding-left: 30px;
}

.titreUpdateRed {
    color: #d73636;
    font-weight: 500;
    font-size: 15px;
    font-family: "Kalam", cursive;
    margin-top: 4px;
    text-align: left;
}

.update-red-item {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between; 
}

.etatProfilRed {
    display: flex;
    flex-direction: column;
    padding: 8px 16px;
    margin: auto;
    margin-bottom: 20px;
    background: #ffffff82;
    max-width: 800px;
    width: 100%;
    box-sizing: border-box;
    border-radius: 0px 0px 10px 10px;
    border-bottom: solid 1px #FFF;
    border-right: solid 1px #FFF;
    border-left: solid 1px #FFF;
}

.etatProfilGreen {
    color: #3f68aa;
    padding: 5px 21px;
    margin: auto;
    margin-bottom: 20px;
    background: #ffffff82;
    font-weight: 500;
    max-width: 800px;
    width: 100%;
    box-sizing: border-box;
    border-radius: 0px 0px 10px 10px;
    border-bottom: solid 1px #FFF;
    border-right: solid 1px #FFF;
    border-left: solid 1px #FFF;
    font-family: "Kalam", cursive;
}

.cadreTableauAcceuilBg {
    color: #3f68aa;
}

/* ---- Admin Demandes ---- */

.admin-password-reveal {
    margin: 16px 70px;
    padding: 14px 20px;
    background: #fff176;
    border-radius: 10px;
    font-size: 15px;
    border: 2px solid #f9a825;
}

.admin-password-copy {
    user-select: all;
    cursor: pointer;
    font-weight: bold;
    background: rgba(0, 0, 0, 0.08);
    border-radius: 4px;
    padding: 1px 6px;
}

.admin-demande-error {
    margin: 16px 70px;
    padding: 14px 20px;
    background: #ffcdd2;
    border-radius: 10px;
    font-size: 15px;
    border: 2px solid #e53935;
    color: #b71c1c;
}

.admin-demande {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    background: #ffffff42;
    border-radius: 10px;
    margin: 8px 0;
    padding: 14px 20px;
}

.admin-demande:nth-child(even) {
    background: #ffffff22;
}

.admin-demande-info {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 24px;
    flex: 1;
}

.admin-demande-field {
    font-size: 14px;
    min-width: 200px;
}

.admin-demande-label {
    font-weight: bold;
    margin-right: 6px;
    color: #aaa;
    font-size: 12px;
    text-transform: uppercase;
}

.admin-demande-action {
    min-width: 220px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-left: 20px;
}

.admin-demande-badge-ok {
    background: #429b46;
    color: #fff;
    font-weight: bold;
    border-radius: 20px;
    padding: 6px 16px;
    font-size: 14px;
}

.admin-demande-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
}

.admin-demande-form-line {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: bold;
}

/* ---- Admin Etat ---- */

.admin-etat-section-title {
    font-size: 18px;
    font-weight: bold;
    padding: 16px 20px 8px;
    border-bottom: 1px solid #ffffff44;
    margin-bottom: 10px;
    margin-top: 10px;
}

.admin-etat-comp {
    font-weight: normal;
    font-size: 12px;
    color: #FFF;
    margin-left: 6px;
}

#RetourArrow {
    background: none;
    font-size: 65px;
}

.RetourSpanButton {
    margin-left: 650px;
    font-size: 25px;
    color: #FFF;
    cursor: pointer;
    font-weight: bold;
}

/* ---- Admin Joueur Card (Demandes) ---- */

.admin-joueur-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    min-width: 300px;
}

.admin-joueur-header {
    width: 100%;
    text-align: center;
}

.admin-joueur-avatar {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #ffffff55;
}

.admin-joueur-fields {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2px 12px;
    font-size: 13px;
}

.admin-joueur-fields .admin-demande-field {
    min-width: unset;
}

/* ---- Profil — couleurs communes (match cards + bonus) ---- */
/* resultClass : result-perfect / result-correct-plus / result-correct / result-inverse / result-echec */

.result-perfect {
    --rc: #00b7ff;
    --rc-bg: rgba(85, 197, 210, 0.18);
}

.result-correct-plus {
    --rc: #2bdfaa;
    --rc-bg: rgba(62, 237, 193, 0.15);
}

.result-correct {
    --rc: #2bdf6e;
    --rc-bg: rgba(62, 237, 80, 0.12);
}

.result-inverse {
    --rc: #999;
    --rc-bg: rgba(168, 168, 168, 0.12);
}

.result-echec {
    --rc: #ed1e25;
    --rc-bg: rgba(210, 85, 85, 0.12);
}

/* ---- Profil — séparateurs de journée ---- */

.profil-date-header {
    font-size: 13px;
    font-weight: bold;
    color: #3f68aa;
    padding: 10px 12px 2px;
    margin-top: 6px;
    margin: 6px;
    text-transform: capitalize;
    text-align: left;
}

.profil-date-header:first-child {
    margin-top: 0;
}

/* ---- Profil — liste des matches (flex cards) ---- */

.profil-match-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 100%;
    padding: 6px 8px;
    box-sizing: border-box;
    height: 600px;
    overflow-y: auto;
}

.profil-match-card {
    border-radius: 0 10px 10px 0;
    padding: 10px 10px 6px;
    margin-bottom: 4px;
    background: rgba(255, 255, 255, 0.63);
    border-left: 4px solid rgba(255, 255, 255, 0.63);
    transition: background 0.15s;
}

/* Couleur de fond + bordure selon résultat */
.profil-match-card.result-perfect,
.profil-match-card.result-correct-plus,
.profil-match-card.result-correct,
.profil-match-card.result-inverse,
.profil-match-card.result-echec {
    background: var(--rc-bg);
    border-left-color: var(--rc);
}

.profil-match-main {
    display: flex;
    align-items: center;
    gap: 6px;
}

.profil-match-logo {
    width: 30px;
    height: 30px;
    object-fit: contain;
    flex-shrink: 0;
}

.margin-right {
    margin-right: 8px;
}


.profil-match-team {
    font-size: 12px;
    font-weight: bold;
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #1e1e1e;
}

.profil-match-team--left {
    text-align: right;
}

.profil-match-team--right {
    text-align: left;
}

.profil-match-score {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
    margin: 0 15px;
}

.profil-score-row {
    display: flex;
    align-items: center;
    gap: 4px;
}

.profil-match-prono {
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    font-weight: bold;
    font-size: 18px;
    border: 2px solid rgba(150, 150, 150, 0.4);
    background: rgba(150, 150, 150, 0.15);
    color: #5b5b5b;
    flex-shrink: 0;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.20), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

/* pancarte-* classes override border-color + background + color via !important */

.profil-match-sep {
    font-size: 13px;
    font-weight: bold;
    color: #1e1e1e;
}

.profil-match-badge {
    font-size: 12px;
    font-weight: bold;
    border-radius: 5px;
    padding: 3px 7px;
    min-width: 60px;
    text-align: center;
    flex-shrink: 0;
    border: 2px solid transparent;
}

/* pancarte-* applies background + color + border-color !important */

.profil-match-pts {
    font-size: 14px;
    font-weight: bold;
    text-align: right;
    flex-shrink: 0;
    color: rgba(255, 255, 255, 0.35);
    border-radius: 6px;
    padding: 2px 5px;
    border: 2px solid transparent;
    min-width: 20px;
    TEXT-ALIGN: CENTER;
}

/* pancarte-* applies background + color + border-color !important */

.profil-match-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 4px;
    padding: 0 2px;
}

.profil-result-box {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 15px;
    height: 15px;
    border-radius: 4px;
    font-weight: bold;
    font-size: 12px;
    /* border: 2px solid rgba(150, 150, 150, 0.4); */
    background: rgb(150 150 150 / 31%);

    color: #5f5f5f;
    /* box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.20), 0 1px 5px 0 rgba(0, 0, 0, 0.12); */
}

.profil-result-sep {
    font-size: 11px;
    color: #666;
}

.match-detail-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 10px;
    border-radius: 20px;
    background: rgba(63, 104, 170, 0.12);
    border: 1px solid rgba(63, 104, 170, 0.35);
    color: #3f68aa;
    text-decoration: none;
    font-size: 11px;
    font-weight: 600;
    transition: background 0.15s, color 0.15s;
    flex-shrink: 0;
    margin-left: auto;
}

.match-detail-link:hover {
    background: rgba(63, 104, 170, 0.30);
    color: #fff;
}

.match-detail-link--icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(63, 104, 170, 0.12);
    border: 1px solid rgba(63, 104, 170, 0.35);
    color: #3f68aa;
    text-decoration: none;
    font-size: 15px;
    font-weight: bold;
    line-height: 1;
    padding-bottom: 1px;
    transition: background 0.15s, color 0.15s;
    flex-shrink: 0;
}

.match-detail-link--icon:hover {
    background: rgba(63, 104, 170, 0.30);
    color: #fff;
}

/* ---- Profil — bonus modern cards ---- */

.profil-bonus-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px;
    width: 100%;
    box-sizing: border-box;
}

.profil-bonus-item {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.10);
    border-radius: 10px;
    padding: 10px 14px;
}

.profil-bonus-item:nth-child(even) {
    background: rgba(255, 255, 255, 0.06);
}

.profil-bonus-label {
    font-size: 13px;
    font-weight: bold;
    color: #3f68aa;
    min-width: 0;
}

.profil-bonus-value {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    justify-content: flex-end;
}

.profil-bonus-prono {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 28px;
    padding: 0 8px;
    border-radius: 6px;
    font-weight: bold;
    font-size: 14px;
    border: 2px solid rgba(150, 150, 150, 0.4);
    background: rgba(150, 150, 150, 0.15);
    color: #5b5b5b;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.20), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

/* pancarte-* applies border-color + background + color !important */

.profil-bonus-prono--team {
    font-size: 12px;
    min-width: 60px;
}

.profil-bonus-unit {
    font-size: 12px;
    color: #3f68aa;
}

.profil-bonus-pts {
    min-width: 20px;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    color: rgba(255, 255, 255, 0.3);
    border-radius: 6px;
    padding: 2px 5px;
    border: 2px solid transparent;
}

/* pancarte-* applies background + color + border-color !important */

/* ---- Calendrier — design moderne ---- */

.cal-page {
    max-width: 780px;
    margin: 0 auto;
}

.cal-date-header {
    font-size: 14px;
    font-weight: 500;
    color: #3f68aa;
    padding: 6px 0;
    margin-top: 20px;
    text-transform: uppercase;
    /* margin-bottom: 8px;  */
}

.cal-date-header:first-child {
    margin-top: 0;
}

.cal-match-card {
    background: #ffffff82;
    border-radius: 14px;
    padding: 12px 6px;
    margin-bottom: 8px;
    box-shadow: 0 2px 12px rgba(63, 104, 170, 0.10);
}

.cal-match-main {
    display: flex;
    align-items: center;
    gap: 8px;
}

.cal-group-badge {
    font-size: 11px;
    font-weight: bold;
    color: #3f68aa;
    background: rgba(63, 104, 170, 0.12);
    border-radius: 6px;
    padding: 3px 7px;
    min-width: 36px;
    text-align: center;
    flex-shrink: 0;
}

.cal-logo {
    border-radius: 3px;
    width: 28px;
    object-fit: contain;
    flex-shrink: 0;
}

.cal-team {
    overflow-x: clip;
    width: 0;
    flex: 1;
    font-size: 14px;
    color: #3a4260;
    font-weight: 500;
}

.cal-team--left {
    text-align: right;
}

.cal-team--right {
    text-align: left;
}

.cal-scores {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    min-width: 72px;
    justify-content: center;
}

.cal-score {
    font-weight: bold;
    font-size: 16px;
    border-radius: 6px;
    padding: 3px 9px;
    min-width: 7px;
    text-align: center;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.20), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
    border: 2px solid rgba(150, 150, 150, 0.4);
    background: rgba(150, 150, 150, 0.15);
    color: #5b5b5b;
}

/* pancarte-* classes override border-color + background + color via !important */

.cal-score--empty {
    background: rgba(63, 104, 170, 0.12);
    color: #aab;
}

.cal-sep {
    font-size: 15px;
    font-weight: bold;
    color: #bbb;
}

.cal-match-footer {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid #f0f3f9;
    font-size: 11px;
    color: #999;
}

.cal-hour {
    font-weight: 600;
    color: #3f68aa;
    font-size: 13px;
}

.cal-footer-sep {
    color: #ddd;
}

/* .cal-detail-link remplacé par .match-detail-link / .match-detail-link--icon */

/* Badge points */
.cal-points {
    font-size: 12px;
    font-weight: bold;
    border-radius: 5px;
    padding: 3px 8px;
    border: 2px solid transparent;
    background: rgba(0, 0, 0, 0.12);
}

/* pancarte-* applies background + color + border-color !important */

/* ---- Solo Last Match card ---- */

/* Override middle section when showing an actual score (not "VS") */
.solo-score-middle {
    padding-bottom: 0 !important;
    display: flex !important;
    align-items: center;
    gap: 6px;
    padding-top: 26px;
}

.solo-score-sep {
    font-size: 22px;
    font-weight: bold;
    color: #aaa;
}

/* Two score boxes — larger and properly aligned */
.solo-actual-score {
    display: inline-block;
    font-weight: bold;
    font-size: 28px;
    border-radius: 8px;
    width: 48px;
    height: 44px;
    line-height: 44px;
    text-align: center;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.20), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
    border: 2px solid rgba(150, 150, 150, 0.4);
    background: rgba(150, 150, 150, 0.15);
    color: #5b5b5b;
}

/* Pronos block */
.solo-pronos-block {
    text-align: center;
    margin: 4px 0 6px;
}

.solo-pronos-label {
    font-size: 11px;
    color: #888;
    font-style: italic;
    margin-bottom: 4px;
}

/* Result badge + points row */
.solo-result-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
}

.solo-result-badge,
.solo-result-pts {
    font-size: 13px;
    font-weight: bold;
    border-radius: 5px;
    padding: 3px 12px;
    border: 2px solid;
}

/* solo-score--* remplacées par pancarte-* (voir pancarte-echec/correct etc.) */
.solo-score--perfect {
    background: #55c5d28d !important;
    color: #00b7ff !important;
    border-color: #00b7ff !important;
}

/* Bar chart */
.solo-bar {
    display: flex;
    height: 10px;
    border-radius: 6px;
    overflow: hidden;
    gap: 2px;
}

.solo-bar--spaced {
    margin: 6px 30px 4px;
}

.solo-bar-seg {
    height: 100%;
}

.solo-bar--echec {
    background: #ed1e25;
}

.solo-bar--inverse {
    background: #757575;
}

.solo-bar--correct {
    background: #2bdf6e;
}

.solo-bar--correct-plus {
    background: #2bdfaa;
}

.solo-bar--perfect {
    background: #00b7ff;
}

/* ---- Page Match (viewMatch.php) ---- */

.match-header {
    max-width: 750px;
    margin: 0 auto 16px;
}

.match-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 12px;
    color: #888;
    font-weight: bold;
    margin-bottom: 14px;
}

.match-meta-date {
    text-align: center;
    font-size: 18px;
    color: #333;
    line-height: 1.5;
}

.match-teams {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.match-team {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.match-team--home {
    flex-direction: row;
    justify-content: flex-end;
}

.match-team--away {
    flex-direction: row;
    justify-content: flex-start;
}

.match-team-name {
    font-weight: 500;
    font-size: 22px;
    color: #3a4260;
}

.match-score-zone {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.match-score-box {
    display: inline-block;
    background: rgba(0, 0, 0, 0.68);
    border: solid 2px rgb(67, 67, 67);
    color: #fff;
    font-weight: bold;
    font-size: 28px;
    border-radius: 8px;
    width: 52px;
    height: 48px;
    line-height: 48px;
    text-align: center;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.20), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.match-score--empty {
    background: rgba(63, 104, 170, 0.12);
    border-color: #cdd8ee;
    color: #aab;
    font-size: 20px;
}

.match-score-sep {
    font-size: 24px;
    font-weight: bold;
    color: #aaa;
}

/* Barres statistiques */
.match-bars {
    max-width: 600px;
    margin: 0 auto 16px;
}


.match-bar {
    display: flex;
    height: 22px;
    border-radius: 11px;
    overflow: hidden;
    gap: 2px;
    margin: 6px 0 12px; 
}
.match-bar-left {
    animation: barRevealLeft 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}
.match-bar-right {
    animation: barRevealRight 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.match-bar-seg {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    color: rgba(255, 255, 255, 0.9);
    overflow: hidden;
    white-space: nowrap;
   }


@keyframes barRevealLeft {
    from { clip-path: inset(0 100% 0 0); }
    to   { clip-path: inset(0 0% 0 0); }
}

@keyframes barRevealRight {
    from { clip-path: inset(0 0 0 100%); }
    to   { clip-path: inset(0 0 0 0%); }
}

/* ===== Score chips (heatmap) ===== */
.match-scores {
    padding: 6px 12px 10px;
}

.score-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 6px;
    justify-content: center;
}

.score-chip {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    padding: 5px 12px;
    border-radius: 10px;
    border: 1px solid;
    cursor: pointer;
    transition: transform 0.12s, box-shadow 0.12s;
    color: #fff;
    /* text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35); */
    user-select: none;
    width: 35px;
}

.score-chip:hover {
    transform: scale(1.08);
}

.score-chip--active {
    box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.55), 0 2px 10px rgba(0, 0, 0, 0.35);
    transform: scale(1.08);
    border: 2px solid #c5551b;
}

.score-chip-value {
    font-size: 13px;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.5px;
    color: #1a1a1a;
}

.score-chip-count {
    font-size: 18px;
    font-weight: 600;
    opacity: 0.88;
    margin-top: 5px;
}

/* ===== Page Bonus ===== */
.page-wrap {
    padding: 12px 64px 50px;
}

.page-nav {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 10px 0 18px;    
    justify-content: space-between;
    flex-direction: row-reverse;
}

.page-title {
    font-size: 22px;
    font-weight: 700;
    color: #3f68aa;
    letter-spacing: -0.5px;
}

.bonus-section {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.09);
    border-radius: 12px;
    overflow: hidden;
}

.bonus-section--champion {
    grid-column: span 2;
}

.bonus-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 9px 16px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #3f68aa;
    background: rgb(255 255 255 / 69%);
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.bonus-myval-chip {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    color: #5a6279;
    background: rgba(90, 98, 121, 0.12);
    border: 1px solid rgba(90, 98, 121, 0.25);
    border-radius: 20px;
    padding: 2px 10px;
    white-space: nowrap;
    flex-shrink: 0;
}

/* Grille principale : champion sur 2 cols, 7 sections en auto-placement */
.bonus-grid-main {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 14px;
    align-items: start;
}

/* Tableau scrollable — 6 lignes max (~38px chacune) */
.bonus-table-wrap {
    max-height: 270px;
    overflow-y: auto;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgb(255 255 255) transparent;
    background: #ffffff59;
}

.bonus-table-wrap::-webkit-scrollbar {
    width: 4px;
}

.bonus-table-wrap::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.18);
    border-radius: 2px;
}

.bonus-table {
    width: 100%;
    border-collapse: collapse;
}

.bonus-player {
    padding: 8px 14px;
    font-size: 13px;
    color: #3a4260;
    white-space: nowrap;
    font-weight: 600;
}

.bonus-val-cell {
    padding: 6px 8px;
    text-align: center;
}

.bonus-val-cell--team {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
}

.bonus-flag {
    width: 26px;
    height: auto;
    border-radius: 3px;
    flex-shrink: 0;
}

.bonus-prono {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px 6px;
    border-radius: 6px;
    border: 2px solid rgba(150, 150, 150, 0.4);
    background: rgba(150, 150, 150, 0.15);
    color: #5b5b5b;
    font-size: 13px;
    font-weight: bold;
    white-space: nowrap;
    min-width: 14px;
    text-align: center;
}

.bonus-pts-cell {
    padding: 6px 12px 6px 4px;
    text-align: right;
    width: 52px;
    white-space: nowrap;
}

.bonus-locked {
    text-align: center;
    padding: 60px 20px;
}

.bonus-locked-icon {
    font-size: 48px;
    margin-bottom: 16px;
}

.bonus-locked-title {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 12px;
}

.bonus-locked-sub {
    font-size: 13px;
    color: #888;
    line-height: 1.6;
}

/* Responsive Bonus */
@media (max-width: 860px) {
    .bonus-grid-main {
        grid-template-columns: 1fr 1fr;
    }

    .bonus-section--champion {
        grid-column: span 2;
    }
}

@media (max-width: 520px) {
    .bonus-grid-main {
        grid-template-columns: 1fr;
    }

    .bonus-section--champion {
        grid-column: span 1;
    }
}

/* Couleurs pancarteBig pour pronos joués */
.pancarte-echec {
    background: #d255558d !important;
    color: #ed1e25 !important;
    border: solid 1px #ed1e25 !important;
}

.pancarte-inverse {
    background: #a8a8a88d !important;
    color: #757575 !important;
    border: solid 1px #757575 !important;
}

.pancarte-correct {
    background: #3eed5051 !important;
    color: #2bdf6e !important;
    border: solid 1px #2bdf6e !important;
}

.pancarte-correct-plus {
    background: #3eedc151 !important;
    color: #2bdfaa !important;
    border: solid 1px #2bdfaa !important;
}

.pancarte-perfect {
    background: #55c5d28d !important;
    color: #00b7ff !important;
    border: solid 1px #00b7ff !important;
}

.text-echec {
    color: #ed1e25 !important;
}

.text-inverse {
    color: #757575 !important;
}

.text-correct {
    color: #2bdf6e !important;
}

.text-correct-plus {
    color: #2bdfaa !important;
}

.text-perfect {
    color: #00b7ff !important;
}

/* Teinte de ligne */
.classTREchec {
    background: rgba(210, 85, 85, 0.30);
}

.classTRInverse {
    background: rgba(168, 168, 168, 0.30);
}

.classTRCorrect {
    background: rgba(62, 237, 80, 0.30);
}

.classTRCorrectPlus {
    background: rgba(62, 237, 193, 0.30);
}

.classTRPerfect {
    background: rgba(85, 197, 210, 0.30);
}

/* Icône prédiction vainqueur */
.match-winner-cell {
    text-align: center;
    width: 36px;
    padding: 2px 4px;
}

.match-prono-flag {
    width: 28px;
    height: 20px;
    object-fit: contain;
    border-radius: 3px;
    vertical-align: middle;
}

.match-draw-icon {
    display: inline-block;
    width: 26px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    background: #66666c;
    color: #fff;
    font-weight: bold;
    font-size: 12px;
    border-radius: 3px;
    vertical-align: middle;
}

/* Badge points */
.match-pts-badge {
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    border-radius: 5px;
    padding: 2px 6px;
    white-space: nowrap;
    background: rgba(0, 0, 0, 0.12);
    color: #555;
    border: 2px solid transparent;    
    width: 14px;
    text-align: center;
}

/* pancarte-* applies background + color + border-color !important */

.match-meta-diff,
.match-meta-stadium {
    width: 80px;
}

/* ---- Admin Joueurs — table par compétition ---- */

.admin-joueurs-comp-title {
    font-size: 15px;
    font-weight: bold;
    color: #3f68aa;
    padding: 16px 20px 8px;
    border-bottom: 1px solid #ffffff33;
    margin-bottom: 4px;
    margin-top: 16px;
}

.admin-joueurs-table {
    width: 500px;
    margin: auto;
}

.admin-joueurs-header,
.admin-joueurs-row {
    display: grid;
    grid-template-columns: auto 50px 50px 50px 50px;
    align-items: center;
    padding: 6px 12px;
}

.admin-joueurs-header {
    font-size: 11px;
    font-weight: bold;
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid #ffffff22;
}

.admin-joueurs-row {
    border-bottom: 1px solid #ffffff11;
}

.admin-joueurs-row:last-child {
    border-bottom: none;
}

.admin-joueurs-cell {
    display: flex;
    align-items: center;
    justify-content: center;
}

.admin-joueurs-name {
    justify-content: flex-start;
    font-size: 14px;
    color: #fff;
}

.admin-joueurs-toggle-label {
    font-size: 10px;
    justify-content: center;
    text-align: center;
    color: #FFF;
}

.admin-joueurs-dot {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.admin-joueurs-dot--on {
    background: #2bdf6e;
}

.admin-joueurs-dot--off {
    background: #ffffff33;
}

.image-cropper {
    border: 1.5px solid #FFF;
    width: 20px;
    height: 14px;
    position: absolute;
    overflow: hidden;
    border-radius: 3px;
    right: -4px;
    bottom: -3px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);
}

.drapeausmall {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* ================================================
   viewProfil_brand.php — Thème clair (négatif)
   Préfixe : pb-   Bleu d'action : #3f68aa
   ================================================ */

.pb-wrap {
    width: 100%;
    padding: 14px 12px 0px;
    /* background: #eef1f8; */
    border-radius: 0 0 20px 20px;
    min-height: 400px;
    box-sizing: border-box;
}

/* ---- HERO ---- */
.pb-hero {
    position: relative;
    border-radius: 16px;
    margin-bottom: 12px;
    overflow: hidden;
    background: linear-gradient(145deg, #ffffff 0%, #f0f4fc 100%);
    box-shadow: 0 4px 18px rgba(63, 104, 170, 0.10);
}

.pb-hero-gradient {
    position: absolute;
    inset: 0;
    background: linear-gradient(120deg, var(--pc) 0%, transparent 55%);
    opacity: 0.4;
    pointer-events: none;
}

.pb-hero-accent {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 8px;
    background: linear-gradient(90deg, var(--pc), transparent 80%);
}

.pb-hero-inner {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: flex-start;
    gap: 22px;
    padding: 28px 28px 24px;
}

.pb-avatar-wrap {
    position: relative;
    flex-shrink: 0;
    width: 150px;
    height: 150px;
}

.pb-hero-avatar {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid var(--pc);
    box-shadow: 0 0 20px color-mix(in srgb, var(--pc) 30%, transparent);
}

.pb-avatar-flag {
    position: absolute;
    bottom: -4px;
    right: -6px;
    width: 36px;
    height: 24px;
    object-fit: contain;
    border-radius: 4px;
    border: 2px solid #eef1f8;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.pb-hero-identity {
    flex: 1;
    min-width: 0;
}

.pb-hero-surnom {
    font-size: 30px;
    font-weight: 800;
    color: #1a2240;
    line-height: 1;
    margin-bottom: 5px;
    letter-spacing: -0.5px;
}

.pb-hero-fullname {
    font-size: 13px;
    color: #7a84a0;
    margin-bottom: 10px;
}

.pb-hero-citation {
    position: relative;
    font-size: 15px;
    color: #3a4260;
    font-style: italic;
    margin: 8px 0 0;
    line-height: 1.6;
    padding: 10px 80px 10px 80px;
    background: color-mix(in srgb, var(--pc) 8%, white);
    border-radius: 10px;
}

.pb-citation {
    display: flex;
    justify-content: center;
}

.pb-citation-mark {
    position: absolute;
    left: 8px;
    top: 2px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    color: var(--pc);
    line-height: 1;
    opacity: 0.55;
    user-select: none;
}

.pb-citation-mark-right {
    position: absolute;
    right: 8px;
    top: 2px;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 48px;
    font-style: normal;
    font-weight: 700;
    color: var(--pc);
    line-height: 1;
    opacity: 0.55;
    user-select: none;
}

.pb-hero-right {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 14px;
}

.pb-rank-block {
    text-align: right;
}

.pb-rank-pts {
    font-size: 38px;
    font-weight: 900;
    color: #1a2240;
    line-height: 1;
    letter-spacing: -1px;
}

.pb-rank-unit {
    font-size: 11px;
    color: #9aa0b8;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 4px;
}

.pb-rank-pos {
    font-size: 15px;
    font-weight: 700;
    color: var(--pc);
}

.pb-status-row {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: flex-end;
}

.pb-status-badge {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #5a6279;
    background: rgba(63, 104, 170, 0.07);
    border-radius: 20px;
    padding: 4px 12px 4px 8px;
}

.pb-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.pb-status-dot--on {
    background: #18b85a;
    box-shadow: 0 0 6px #18b85a88;
}

.pb-status-dot--off {
    background: #c8ccd8;
}

/* ---- ACTIONS ---- */
.pb-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 12px;
}

.pb-actions-container {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.pb-btn {
    display: inline-flex;
    align-items: center;
    padding: 10px 20px;
    border-radius: 5px;
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    border: none;
    outline: none;
    transition: opacity .15s, transform .1s;
    white-space: nowrap;
    line-height: 1;
    box-shadow: 0 1px 4px rgba(63, 104, 170, 0.08);
    text-transform: uppercase;
}

.pb-btn:hover {
    opacity: 0.82;
}

.pb-btn:active {
    transform: scale(0.97);
}

.pb-btn--back {
    margin: 0;
    background: #fff;
    color: #3f68aa;
}

.pb-btn--accent {
    background: #3f68aa;
    color: #fff;
    box-shadow: 0 2px 10px rgba(63, 104, 170, 0.30);
}

/* ---- BODY GRID ---- */
.pb-body {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr 320px;
    align-items: start;
}

@media (max-width: 1000px) {
    .pb-body {
        grid-template-columns: 1fr;
    }

    .pb-hero-inner {
        flex-wrap: wrap;
    }

    .pb-hero-right {
        flex-direction: column;
        gap: 14px;
    }

    .pb-side-col {
        flex-direction: row !important;
    }

    .pb-panel {
        flex: 1 !important;
    }

    .pb-match-list {
        max-height: 850px !important;
    }

}

/* ---- PANEL ---- */
.pb-panel {
    background: #ffffffa8;
    border-radius: 14px;
    border: 1px solid rgba(63, 104, 170, 0.12);
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(63, 104, 170, 0.07);
}

.pb-panel-title {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #3f68aa;
    padding: 14px 16px 6px;
}

.pb-panel-footer {
    padding: 10px 16px;
    border-top: 1px solid rgba(63, 104, 170, 0.08);
    display: flex;
    gap: 16px;
    align-items: center;
}

.pb-panel-link {
    font-size: 12px;
    font-weight: 700;
    color: #9aa0b8;
    text-decoration: none;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    transition: color .15s;
}

.pb-panel-link:hover {
    color: #3f68aa;
}

.pb-empty {
    padding: 28px 16px;
    text-align: center;
    color: #9aa0b8;
    font-size: 15px;
}

/* ---- MATCHES ---- */
.pb-date-sep {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #9aa0b8;
    padding: 10px 16px 4px;
    background: #f7f9fc;
    text-align: left;
}

.pb-match-row {
    display: grid;
    grid-template-columns: 120px 1fr 40px auto 40px 1fr 30px;
    align-items: center;
    gap: 6px;
    padding: 8px 14px 8px 10px;
    border-left: 3px solid transparent;
    transition: background .1s;
}

.pb-match-row:hover {
    background: rgba(63, 104, 170, 0.03);
}

.pb-match-row+.pb-match-row {
    border-top: 1px solid rgba(63, 104, 170, 0.06);
}

.pb-match-row.result-perfect {
    border-left-color: #0094d4;
    background: rgba(0, 148, 212, 0.20);
}

.pb-match-row.result-correct-plus {
    border-left-color: #00a892;
    background: rgba(0, 168, 146, 0.20);
}

.pb-match-row.result-correct {
    border-left-color: #18b85a;
    background: rgba(24, 184, 90, 0.20);
}

.pb-match-row.result-inverse {
    border-left-color: #aaa;
    background: rgba(0, 0, 0, 0.20);
}

.pb-match-row.result-echec {
    border-left-color: #d32f2f;
    background: rgba(211, 47, 47, 0.20);
}

.pb-match-flag {
    width: 24px;
    height: 16px;
    border-radius: 4px;
    object-fit: contain;
    justify-self: center;
}

.pb-match-team {
    font-size: 16px;
    font-weight: 500;
    color: #3a4260;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pb-match-team--home {
    text-align: right;
}

.pb-match-team--away {
    text-align: left;
}

.pb-match-score-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.pb-score-prono {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 16px;
    font-weight: 800;
    color: #1a2240;
    letter-spacing: -0.5px;
}

.pb-score-result {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 12px;
    color: #9aa0b8;
}

.pb-sep {
    color: #c0c6d8;
}

.pb-match-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.pb-result-chip-point {
    min-width: 20px;
}

.pb-result-chip-text {
    min-width: 50px;
}

.pb-result-chip {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1px;
    padding: 3px 8px;
    border-radius: 5px;
    white-space: nowrap;
    border: solid 1px;
}

.pb-result-chip-label {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.6px;
    text-transform: uppercase;
}

.pb-result-chip-pts {
    font-size: 13px;
    font-weight: 900;
}

/* .pb-result-chip.pancarte-perfect      { background: rgba(0,148,212,0.12);  color: #0076a8; border: solid 1px;}
.pb-result-chip.pancarte-correct-plus { background: rgba(0,168,146,0.12);  color: #00856e; border: solid 1px;}
.pb-result-chip.pancarte-correct      { background: rgba(24,184,90,0.12);  color: #0e8f42; border: solid 1px;}
.pb-result-chip.pancarte-inverse      { background: rgba(0,0,0,0.07);      color: #777; border: solid 1px;}
.pb-result-chip.pancarte-echec        { background: rgba(211,47,47,0.10);  color: #c62828; border: solid 1px;} */

.pb-detail-link:hover {
    background: rgba(63, 104, 170, 0.30);
    color: #fff;
}

.pb-detail-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 1px 10px;
    border-radius: 20px;
    background: rgba(63, 104, 170, 0.12);
    border: 1px solid rgba(63, 104, 170, 0.35);
    color: #3f68aa;
    text-decoration: none;
    font-size: 11px;
    font-weight: 600;
    transition: background 0.15s, color 0.15s;
    flex-shrink: 0;
    margin-left: auto;
}

/* ---- MATCHES SCROLL ---- */
.pb-match-list {
    display: flex;
    flex-direction: column;
    max-height: 595px;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: rgba(63, 104, 170, 0.25) transparent;
}

/* ---- BONUS ---- */
.pb-bonus-list {
    padding: 0;
}

.pb-bonus-item {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    border-bottom: 1px solid rgba(63, 104, 170, 0.07);
}

.pb-bonus-item:last-child {
    border-bottom: none;
}

.pb-bonus-label {
    font-size: 14px;
    color: #6b7494;
}

.pb-bonus-val {
    font-size: 15px;
    font-weight: 700;
    color: #1a2240;
    text-align: right;
    display: flex;
    align-items: center;
    gap: 5px;
}

.pb-bonus-unit {
    font-size: 12px;
    color: #9aa0b8;
    font-weight: 400;
}

.pb-bonus-flag {
    width: 18px;
    height: 12px;
    border-radius: 2px;
}

.pb-bonus-pts {
    font-size: 13px;
    font-weight: 800;
    padding: 3px 9px;
    border-radius: 10px;
    min-width: 20px;
    text-align: center;
    white-space: nowrap;
}

.pb-bonus-pts:empty {
    visibility: hidden;
}

/* ---- STATS ---- */
.pb-stats-list {
    padding: 4px 0;
}

.pb-stat-item {
    display: grid;
    grid-template-columns: 78px 1fr 56px;
    align-items: center;
    gap: 10px;
    padding: 7px 16px;
}

.pb-stat-label {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 14px;
    color: #5a6279;
}

.pb-stat-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.pb-stat-bar-track {
    height: 5px;
    background: rgba(63, 104, 170, 0.10);
    border-radius: 3px;
    overflow: hidden;
}

.pb-stat-bar {
    height: 100%;
    border-radius: 3px;
    transition: width .5s ease;
}

.pb-stat-val {
    font-size: 14px;
    font-weight: 700;
    color: #5a6279;
    text-align: right;
}

.pb-stat-dot--perfect,
.pb-stat-bar--perfect {
    background: #0094d4;
}

.pb-stat-dot--correct-plus,
.pb-stat-bar--correct-plus {
    background: #00a892;
}

.pb-stat-dot--correct,
.pb-stat-bar--correct {
    background: #18b85a;
}

.pb-stat-dot--inverse,
.pb-stat-bar--inverse {
    background: #aaa;
}

.pb-stat-dot--echec,
.pb-stat-bar--echec {
    background: #d32f2f;
}

.pb-stat-dot--bonus,
.pb-stat-bar--bonus {
    background: #e89c10;
}

.pb-stats-waiting {
    padding: 22px 16px;
    text-align: center;
    color: #9aa0b8;
    font-size: 12px;
}

.pb-side-col {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

/* ---- STATS TOGGLE ---- */
.pb-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px 4px;
}

.pb-panel-header .pb-panel-title {
    padding: 0;
}

.pb-stats-toggle {
    display: flex;
    gap: 3px;
    background: rgba(63, 104, 170, 0.08);
    border-radius: 12px;
    padding: 3px;
}

.pb-toggle-btn {
    font-size: 11px;
    font-weight: 700;
    padding: 4px 11px;
    border-radius: 9px;
    border: none;
    background: transparent;
    color: #9aa0b8;
    cursor: pointer;
    transition: background .15s, color .15s;
}

.pb-toggle-btn--active {
    background: #fff;
    color: #3f68aa;
    box-shadow: 0 1px 4px rgba(63, 104, 170, 0.15);
}


/* ── Règlement USA 2026 — préfixe : rgl- ── */
.rgl-wrap {
    max-width: 860px;
    margin: 0 auto;
    padding: 20px 4px 40px;
    word-break: break-word;
    overflow-wrap: break-word;
}

/* Nav */
.rgl-nav {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}

.rgl-page-title {
    font-size: 22px;
    font-weight: 700;
    color: #3f68aa;
    letter-spacing: -0.5px;
}

.rgl-btn-back {
    display: inline-flex;
    align-items: center;
    padding: 8px 18px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    border: 1px solid rgba(63, 104, 170, 0.22);
    background: #fff;
    color: #5a6279;
    box-shadow: 0 1px 4px rgba(63, 104, 170, 0.08);
    transition: opacity .15s;
}

.rgl-btn-back:hover {
    opacity: .75;
}

/* Sections */
.rgl-section {
    background: #ffffff69;
    border-radius: 14px;
    border: 1px solid rgba(63, 104, 170, 0.12);
    box-shadow: 0 2px 10px rgba(63, 104, 170, 0.07);
    overflow: hidden;
    margin-bottom: 16px;
}

/* Table des matières */
.rgl-toc {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin-bottom: 20px;
    padding: 14px 100px;
    background: rgba(255,255,255,0.45);
    border-radius: 14px;
    border: 1px solid rgba(63,104,170,0.12);
}
.rgl-toc-item {
    display: inline-block;
    padding: 5px 13px;
    background: rgba(63,104,170,0.08);
    border: 1px solid rgba(63,104,170,0.2);
    border-radius: 20px;
    font-size: 13px;
    font-weight: 700;
    color: #3f68aa;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.rgl-toc-item:hover {
    background: rgba(63,104,170,0.18);
    color: #1a3d7a;
}

/* Variante stats : moins de marge en haut */
.stats-toc {
    margin-top: 4px;
    margin-bottom: 10px;
}

/* Décalage des ancres pour compenser le bandeau fixe */
.stats-section {
    scroll-margin-top: 70px;
}

/* Décalage scroll pour compenser le bandeau fixe (40px) */
.rgl-section[id] {
    scroll-margin-top: 52px;
}

.rgl-section-title {
    padding: 12px 20px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #3f68aa;
    background: rgb(0 98 255 / 6%);
    border-bottom: 1px solid rgba(63, 104, 170, 0.10);
    display: flex;
    align-items: center;
    gap: 8px;
}

.rgl-body {
    padding: 16px 20px;
}

.rgl-intro {
    font-size: 15px;
    color: #3a4260;
    line-height: 1.65;
    margin-bottom: 8px;
}

/* Grille pronostics */
.rgl-pronos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.rgl-prono-card {
    border-radius: 10px;
    border: 1.5px solid;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    background: #f8f9fc9c !important;
}

.rgl-prono-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rgl-prono-label {
    font-size: 14px;
    font-weight: 800;
}

.rgl-prono-pts {
    font-size: 20px;
    font-weight: 900;
    line-height: 1;
}

.rgl-prono-def {
    font-size: 12px;
    color: #5a6279;
    line-height: 1.4;
    margin-top: 4px;
}

.rgl-prono-examples {
    font-size: 11px;
    color: #9aa0b8;
    font-style: italic;
    margin-top: 2px;
}

/* Couleurs pronos */
.rgl-perfect {
    border-color: #0094d4;
    background: rgba(0, 148, 212, 0.08);
}

.rgl-perfect .rgl-prono-label,
.rgl-perfect .rgl-prono-pts {
    color: #0094d4;
}

.rgl-correct-plus {
    border-color: #00a892;
    background: rgba(0, 168, 146, 0.08);
}

.rgl-correct-plus .rgl-prono-label,
.rgl-correct-plus .rgl-prono-pts {
    color: #00a892;
}

.rgl-correct {
    border-color: #18b85a;
    background: rgba(24, 184, 90, 0.08);
}

.rgl-correct .rgl-prono-label,
.rgl-correct .rgl-prono-pts {
    color: #18b85a;
}

.rgl-inverse {
    border-color: #888;
    background: rgba(0, 0, 0, 0.05);
}

.rgl-inverse .rgl-prono-label,
.rgl-inverse .rgl-prono-pts {
    color: #666;
}

.rgl-echec {
    border-color: #d32f2f;
    background: rgba(211, 47, 47, 0.06);
}

.rgl-echec .rgl-prono-label,
.rgl-echec .rgl-prono-pts {
    color: #d32f2f;
}

/* Bonus items */
.rgl-bonus-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 6px;
}

.rgl-bonus-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 12px 14px;
    background: #f8f9fc9c;
    border-radius: 10px;
    border: 1px solid rgba(63, 104, 170, 0.10);
}

.rgl-bonus-icon {
    font-size: 20px;
    flex-shrink: 0;
    width: 32px;
    text-align: center;
}

.rgl-bonus-content {
    flex: 1;
}

.rgl-bonus-name {
    font-size: 14px;
    font-weight: 700;
    color: #1a2240;
    margin-bottom: 3px;
}

.rgl-bonus-desc {
    font-size: 13px;
    color: #5a6279;
    line-height: 1.5;
}

.rgl-bonus-pts {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-end;
}

.rgl-pts-chip {
    font-size: 12px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 12px;
    white-space: nowrap;
}

.rgl-pts-chip--exact {
    background: rgb(164 199 255 / 39%);
    color: #0094d4;
}

.rgl-pts-chip--near {
    background: rgba(24, 184, 90, 0.15);
    color: #18b85a;
}

/* Unité "pts" en petite taille */
.rgl-pts-unit {
    font-size: 0.55em;
    font-weight: 600;
    letter-spacing: 0;
    margin-left: 2px;
    text-transform: lowercase;
}

/* Liste intro à puces centrée */
.rgl-intro-bullets {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: fit-content;
    margin: 8px auto 0;
}

.rgl-intro-bullet {
    font-size: 15px;
    color: #3a4260;
    line-height: 1.65;
    margin-bottom: 2px;
    display: flex;
    align-items: baseline;
    gap: 6px;
}

.rgl-bullet-dot {
    color: #3f68aa;
    font-weight: 700;
    flex-shrink: 0;
}

/* Équipe favorite scale */
.rgl-winner-scale {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 10px;
    justify-content: center;
    flex: 1;
    width: 100%;
}

.rgl-winner-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 2px;
    padding: 8px 12px;
    border-radius: 8px;
    background: #f8f9fc;
    border: 2px solid rgba(63, 104, 170, 0.10);
    min-width: 60px;
}

.rgl-winner-step-label {
    font-size: 11px;
    color: #9aa0b8;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .5px;
}

.rgl-winner-step-pts {
    font-size: 16px;
    font-weight: 900;
    color: #1a2240;
}

.rgl-grey {
    color: #888;
}


.rgl-red {
    color: #d32f2f;
}

.rgl-redlight {
    color: #b36e6e;
}

.rgl-green {
    color: #18b85a;
}

.rgl-greenplus {
    color: #00a892;
}

.rgl-blue {
    color: #0094d4;
}

.rgl-gold {
    color: #c8972a;
}

/* Équipe favorite — exemples */
.rgl-bonus-examples-block {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 6px;
    padding: 10px 14px;
    background: rgba(255,255,255,0.35);
    border-radius: 10px;
    font-size: 13px;
    color: #3a4466;
    width: 100%;
    box-sizing: border-box;
}
.rgl-bonus-example {
    line-height: 1.5;
}

/* Nouveauté — titre */
.rgl-nouveaute-title {
    font-size: 17px;
    font-weight: 800;
    color: #3f68aa;
    text-align: center;
    margin-bottom: 12px;
    letter-spacing: 0.3px;
}

/* Nouveauté — tableau des horaires 4 colonnes (2 entrées par ligne) */
.rgl-nouveaute-schedule {
    display: flex;
    flex-direction: column;
    margin: 12px auto;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(63,104,170,0.15);
    width: fit-content;
}
.rgl-nouveaute-header,
.rgl-nouveaute-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    border-bottom: 1px solid rgba(255,255,255,0.6);
}
.rgl-nouveaute-row:last-child {
    border-bottom: none;
}
.rgl-nouveaute-header {
    background: rgba(63,104,170,0.12);
    border-bottom: 1px solid rgba(63,104,170,0.15);
}
.rgl-nouveaute-header .rgl-nouveaute-label,
.rgl-nouveaute-header .rgl-nouveaute-date {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    font-weight: 800;
    color: #3f68aa;
    padding: 6px 14px;
}
.rgl-nouveaute-row {
    background: rgba(255,255,255,0.4);
}
.rgl-nouveaute-label {
    font-weight: 700;
    color: #3f68aa;
    padding: 9px 14px;
    text-align: right;
}
.rgl-nouveaute-date {
    color: #5a6279;
    font-size: 13px;
    padding: 9px 14px;
    text-align: left;
    border-right: 1px solid rgba(63,104,170,0.1);
    text-align: center;
}
.rgl-nouveaute-date:last-child {
    border-right: none;
}

/* Gains */
.rgl-gains-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
}

.rgl-gains-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 8px;
    background: #f8f9fc9c;
    border: 1px solid rgba(63, 104, 170, 0.10);
}

.rgl-gains-rank {
    font-size: 15px;
    font-weight: bold;
    width: 80px;
    text-align: center;
    flex-shrink: 0;
}

.rgl-gains-rank--1 {
    color: #c8972a;
}

.rgl-gains-rank--2 {
    color: #8a9ab0;
}

.rgl-gains-rank--3 {
    color: #a0714a;
}

.rgl-gains-rank--4 {
    color: #5a6279;
}

.rgl-gains-pct {
    font-size: 15px;
    font-weight: 700;
    color: #3f68aa;
}

.rgl-gains-note {
    font-size: 12px;
    color: #9aa0b8;
}

/* FAQ */
.rgl-faq-list {
    margin-top: 6px;
}

.rgl-faq-item {
    border-bottom: 1px solid rgba(63, 104, 170, 0.08);
    padding: 12px 0;
}

.rgl-faq-item:last-child {
    border-bottom: none;
}

.rgl-faq-q {
    font-size: 14px;
    font-weight: 700;
    color: #1a2240;
    margin-bottom: 5px;
    cursor: pointer;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.rgl-faq-q::before {
    content: "Q";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #3f68aa;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    flex-shrink: 0;
    margin-top: 1px;
}

.rgl-faq-a {
    font-size: 13px;
    color: #5a6279;
    line-height: 1.6;
    padding-left: 28px;
}

.rgl-faq-a code {
    background: rgba(63, 104, 170, 0.08);
    border-radius: 4px;
    padding: 1px 5px;
    font-family: monospace;
    color: #3f68aa;
    font-style: normal;
}

.totalbutwinner-totalbyt{
    font-weight: 500;
}

/* ===== Page Historique ===== */

.historique-wrap {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.historique-edition {
    background: rgba(255, 255, 255, 0.85);
    border: 1px solid rgba(63, 104, 170, 0.2);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(63, 104, 170, 0.1);
}

.historique-header {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px 20px;
    background: rgba(63, 104, 170, 0.12);
    border-bottom: 1px solid rgba(63, 104, 170, 0.15);
}

.historique-annee {
    font-size: 26px;
    font-weight: 800;
    color: #3f68aa;
    letter-spacing: -0.5px;
    min-width: 52px;
}

.historique-competition {
    font-size: 15px;
    font-weight: 500;
    color: #5a6279;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.historique-groupes {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

.historique-groupe {
    flex: 1 1 180px;
    padding: 16px 20px;
    border-right: 1px solid rgba(63, 104, 170, 0.1);
}

.historique-groupe:last-child {
    border-right: none;
}

.historique-groupe-titre {
    font-size: 13px;
    font-weight: 700;
    color: #3f68aa;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 12px;
}

.historique-podium {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.historique-ligne {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.03);
    border: 1px solid transparent;
}

.historique-ligne.rang-1 {
    background: rgba(255, 215, 0, 0.18);
    border: 1px solid rgba(200, 160, 0, 0.3);
}

.historique-ligne.rang-2 {
    background: rgba(180, 180, 180, 0.18);
    border: 1px solid rgba(150, 150, 150, 0.3);
}

.historique-ligne.rang-3 {
    background: rgba(205, 127, 50, 0.15);
    border: 1px solid rgba(180, 100, 30, 0.28);
}

.historique-ligne.rang-4 {
    background: rgba(0, 0, 0, 0.06);
    border: 1px solid rgba(0, 0, 0, 0.12);
}

.historique-medaille {
    font-size: 20px;
    min-width: 26px;
    text-align: center;
}

.historique-pseudo {
    font-size: 15px;
    font-weight: 600;
    color: #2c3459;
}

/* ===== Loader Statistiques ===== */

.stats-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 340px;
}

.stats-loader-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.stats-loader-bars {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    height: 48px;
}

.stats-loader-bars span {
    display: block;
    width: 8px;
    border-radius: 4px;
    background: #3f68aa;
    animation: stats-bar-bounce 1s ease-in-out infinite;
}

.stats-loader-bars span:nth-child(1) { height: 24px; animation-delay: 0s;   opacity: 0.4; }
.stats-loader-bars span:nth-child(2) { height: 36px; animation-delay: 0.1s; opacity: 0.6; }
.stats-loader-bars span:nth-child(3) { height: 48px; animation-delay: 0.2s; opacity: 1;   }
.stats-loader-bars span:nth-child(4) { height: 36px; animation-delay: 0.3s; opacity: 0.6; }
.stats-loader-bars span:nth-child(5) { height: 24px; animation-delay: 0.4s; opacity: 0.4; }

@keyframes stats-bar-bounce {
    0%, 100% { transform: scaleY(1);   }
    50%       { transform: scaleY(0.4); }
}

.stats-loader-text {
    font-size: 14px;
    font-weight: 500;
    color: #5a6279;
    letter-spacing: 0.3px;
}

/* ===== Page Statistiques Globales ===== */

.stats-global-wrap {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.stats-section {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(63, 104, 170, 0.18);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(63, 104, 170, 0.08);
}

.stats-section-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 20px;
    background: rgba(63, 104, 170, 0.08);
    border-bottom: 1px solid rgba(63, 104, 170, 0.12);
    flex-wrap: wrap;
}

.stats-section-icon {
    font-size: 20px;
}

.stats-section-title {
    font-size: 16px;
    font-weight: 700;
    color: #3f68aa;
}

.stats-section-sub {
    font-size: 12px;
    color: #8a94b0;
    margin-left: auto;
}

.stats-chart-card {
    padding: 20px 16px 8px;
}

.stats-empty {
    text-align: center;
    padding: 40px;
    color: #8a94b0;
    font-size: 14px;
}

.chart-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    padding: 12px 16px 4px;
    border-top: 1px solid rgba(63, 104, 170, 0.1);
    margin-top: 8px;
}

.chart-legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 20px;
    background: rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.07);
    cursor: default;
}

.chart-legend-item--me {
    background: rgba(63, 104, 170, 0.08);
    border-color: rgba(63, 104, 170, 0.25);
    font-weight: 700;
}

.chart-legend-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.chart-legend-name {
    font-size: 12px;
    color: #2c3459;
    white-space: nowrap;
}

.apexcharts-legend-marker {
    margin-right: 8px !important;
}

.stats-donuts-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    padding: 16px;
    justify-content: center;
}

.stats-donut-block {
    flex: 1 1 300px;
    max-width: 420px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.stats-donut-selector {
    display: flex;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    color: #3f68aa;
}


.stats-donut-label {
    display: flex;
    justify-content: center;
    font-size: 14px;
    font-weight: 700;
    color: #3f68aa;
    line-height: 26px;
}

.pselect {
    position: relative;
    display: inline-block;
    min-width: 160px;
}

.pselect-displayed {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 2px 14px;
    background: rgba(63, 104, 170, 0.07);
    border: 1px solid rgba(63, 104, 170, 0.25);
    border-radius: 20px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: #2c3459;
    user-select: none;
}

.pselect-displayed:hover {
    background: rgba(63, 104, 170, 0.14);
}

.pselect-flag {
    width: 22px;
    height: 15px;
    object-fit: cover;
    border-radius: 2px;
    flex-shrink: 0;
}

.pselect-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    border: 1px solid rgba(63, 104, 170, 0.2);
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(63, 104, 170, 0.15);
    z-index: 100;
    min-width: 180px;
    max-height: 260px;
    overflow-y: auto;
    scrollbar-width: thin;
}

.pselect-hidden {
    display: none;
}

.pselect-item {
    display: flex;
    align-items: center;
    /* justify-content: center; */
    gap: 8px;
    padding: 7px 14px 7px 40px;
    cursor: pointer;
    font-size: 13px;
    color: #2c3459;
    transition: background 0.1s;
}

.pselect-item:hover {
    background: rgba(63, 104, 170, 0.07);
}

.pselect-item--active {
    background: rgba(63, 104, 170, 0.1);
    font-weight: 700;
}

.pselect-arrow {
    font-size: 12px;
    color: #3f68aa;
    margin-left: 2px;
}

.stats-chart-toolbar {
    display: flex;
    justify-content: flex-end;
    padding: 0 4px 8px;
}

.stats-toolbar-btn {
    font-size: 12px;
    font-weight: 600;
    color: #3f68aa;
    background: rgba(63, 104, 170, 0.08);
    border: 1px solid rgba(63, 104, 170, 0.25);
    border-radius: 20px;
    padding: 4px 14px;
    cursor: pointer;
    transition: background 0.15s;
}

.stats-toolbar-btn:hover {
    background: rgba(63, 104, 170, 0.16);
}

/* ── Phase rankings (4 columns) ───────────────────────────── */
.stats-phases-wrap {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.stats-phase-block {
    flex: 1 1 0;
    min-width: 0;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(63,104,170,0.10);
    display: flex;
    flex-direction: column;
    max-height: 400px;
    overflow: hidden;
}

.stats-phase-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: rgba(63,104,170,0.07);
    border-bottom: 1px solid rgba(63,104,170,0.12);
    position: sticky;
    top: 0;
    z-index: 1;
}

.stats-phase-icon {
    font-size: 18px;
    line-height: 1;
}

.stats-phase-title {
    font-size: 13px;
    font-weight: 700;
    color: #2c3459;
    white-space: nowrap;
}

.stats-phase-list {
    overflow-y: auto;
    flex: 1;
    padding: 6px 0;
    scrollbar-width: thin;
    scrollbar-color: rgba(63,104,170,0.2) transparent;
}

.sph-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 12px;
    border-radius: 8px;
    margin: 2px 6px;
    transition: background 0.12s;
}

.sph-item:hover {
    background: rgba(63,104,170,0.06);
}

.sph-item--me {
    background: rgba(63,104,170,0.10);
    font-weight: 700;
}

.sph-rang {
    min-width: 24px;
    height: 24px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 700;
    background: rgba(63,104,170,0.1);
    color: #5a6279;
    flex-shrink: 0;
}

.sph-rang--1 { background: #ffd700; color: #7a5a00; }
.sph-rang--2 { background: #c0c0c0; color: #505050; }
.sph-rang--3 { background: #cd7f32; color: #fff; }

.sph-avatar {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid rgba(63,104,170,0.15);
}

.sph-surnom {
    flex: 1;
    min-width: 0;
    font-size: 13px;
    color: #2c3459;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sph-surnom a {
    color: inherit;
    text-decoration: none;
}

.sph-surnom a:hover {
    text-decoration: underline;
    color: #3f68aa;
}

.sph-pts {
    font-size: 14px;
    font-weight: 700;
    color: #3f68aa;
    flex-shrink: 0;
}

.sph-pts-unit {
    font-size: 10px;
    font-weight: 400;
    color: #8a94b0;
    margin-left: 2px;
}

.sph-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 40px 16px;
    color: #8a94b0;
}

.sph-empty-icon {
    font-size: 32px;
    line-height: 1;
}

.sph-empty-text {
    font-size: 13px;
    font-weight: 600;
    color: #aab0c4;
    text-align: center;
}

/* ── Forme des joueurs ─────────────────────────────────────── */
.stats-forme-wrap {
    display: flex;
    gap: 16px;
}

.stats-forme-col {
    flex: 1;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(0,0,0,0.13);
}

.stats-forme-col-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 13px 16px;
    background: #fff;
    border-bottom: 1px solid rgba(63,104,170,0.10);
}

.stats-forme-col-icon {
    font-size: 18px;
    line-height: 1;
}

.stats-forme-col-title {
    font-size: 15px;
    font-weight: 800;
    color: #2c3459;
}

.stats-forme-col-sub {
    font-size: 11px;
    font-weight: 400;
    color: #8a94b0;
    margin-left: auto;
}

.stats-forme-col-list {
    background: #fff;
}

.sfm-item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 11px 16px;
    border-bottom: 1px solid rgba(63,104,170,0.07);
    text-decoration: none;
    transition: background 0.12s;
    color: inherit;
}

.sfm-item:last-child {
    border-bottom: none;
}

.sfm-item:hover {
    background: rgba(63,104,170,0.05);
}

.sfm-item--me {
    background: rgba(63,104,170,0.09);
    font-weight: 700;
}

.sfm-rank {
    min-width: 22px;
    font-size: 13px;
    font-weight: 700;
    color: #aab0c4;
    text-align: center;
    flex-shrink: 0;
}

.sfm-avatars {
    position: relative;
    width: 42px;
    height: 42px;
    flex-shrink: 0;
}

.sfm-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid rgba(63,104,170,0.15);
}

.sfm-flag {
    position: absolute;
    bottom: -2px;
    right: -4px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.18);
}

.sfm-name {
    flex: 1 1 0;
    min-width: 0;
    font-size: 13px;
    font-weight: 700;
    color: #2c3459;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sfm-pills {
    display: flex;
    gap: 4px;
    flex-wrap: nowrap;
    flex-shrink: 0;
}

.sfm-pill {
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    border-radius: 20px;
    padding: 2px 7px;
    min-width: 10px;
    text-align: center;
    line-height: 1.5;
    letter-spacing: 0.2px;
}

.sfm-total {
    font-size: 20px;
    font-weight: 800;
    color: #2c3459;
    flex-shrink: 0;
    text-align: right;
    line-height: 1;
}

.sfm-total-unit {
    font-size: 10px;
    font-weight: 400;
    color: #8a94b0;
    margin-left: 2px;
}

.sfm-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 48px 16px;
    color: #8a94b0;
}

.sfm-empty-icon {
    font-size: 36px;
}

.sfm-empty-text {
    font-size: 14px;
    font-weight: 600;
    color: #aab0c4;
}

/* ══════════════════════════════════════════
   ROI DES BONUS
══════════════════════════════════════════ */

/* ── Empty state ── */
.rb-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 48px 16px;
    color: #8a94b0;
}
.rb-empty-icon  { font-size: 36px; }
.rb-empty-text  { font-size: 14px; font-weight: 600; color: #aab0c4; }

/* ── Podium ── */
.rb-podium {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 0;
    padding: 24px 16px 0;
    background: linear-gradient(to bottom, #f0f4ff 0%, #ffffff 100%);
}

.rb-podium-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    max-width: 160px;
}

.rb-podium-top {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding-bottom: 10px;
}

.rb-podium-avatars {
    position: relative;
    width: 56px;
    height: 56px;
}
.rb-podium-step--1 .rb-podium-avatars {
    width: 68px;
    height: 68px;
}

.rb-podium-avatar {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    border: 3px solid #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,0.15);
}

.rb-podium-flag {
    position: absolute;
    bottom: -2px;
    right: -4px;
    width: 20px;
    height: 14px;
    object-fit: cover;
    border-radius: 2px;
    border: 1px solid #fff;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}

.rb-podium-name {
    font-size: 13px;
    font-weight: 700;
    color: #2c3459;
    text-align: center;
    max-width: 120px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rb-podium-step--1 .rb-podium-name { font-size: 14px; }

.rb-podium-pts {
    font-size: 18px;
    font-weight: 800;
    color: #2c3459;
    text-align: center;
}
.rb-podium-pts-unit {
    font-size: 10px;
    font-weight: 400;
    color: #8a94b0;
}

.rb-podium-block {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px 8px 0 0;
    opacity: 0.9;
}
.rb-podium-step--1 .rb-podium-block { height: 70px; }
.rb-podium-step--2 .rb-podium-block { height: 46px; }
.rb-podium-step--3 .rb-podium-block { height: 32px; }

.rb-podium-medal { font-size: 22px; }
.rb-podium-step--1 .rb-podium-medal { font-size: 28px; }

.rb-podium-step--me .rb-podium-name {
    color: #143cdb;
}

/* ── Liste ── */
.rb-list {
    display: flex;
    flex-direction: column;
    border-top: 1px solid rgba(63,104,170,0.08);
        height: 180px;
    overflow: auto;
}

.rb-list-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    text-decoration: none;
    color: inherit;
    border-bottom: 1px solid rgba(63,104,170,0.06);
    transition: background 0.15s;
}
.rb-list-item:hover { background: rgba(63,104,170,0.05); }
.rb-list-item:last-child { border-bottom: none; }

.rb-list-item--me { background: rgba(20,60,219,0.04); }
.rb-list-item--me .rb-list-name { font-weight: 700; }

.rb-list-rank {
    font-size: 13px;
    font-weight: 700;
    color: #8a94b0;
    min-width: 20px;
    text-align: center;
    flex-shrink: 0;
}

.rb-list-avatars {
    position: relative;
    width: 36px;
    height: 36px;
    flex-shrink: 0;
}

.rb-list-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.12);
}

.rb-list-flag {
    position: absolute;
    bottom: -2px;
    right: -4px;
    width: 16px;
    height: 11px;
    object-fit: cover;
    border-radius: 2px;
    border: 1px solid #fff;
}

.rb-list-name {
    flex: 1 1 0;
    min-width: 0;
    font-size: 13px;
    font-weight: 600;
    color: #2c3459;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rb-list-breakdown {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    flex-shrink: 0;
    justify-content: flex-end;
    width: 220px;
}

.rb-list-pill {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: rgba(63,104,170,0.08);
    border-radius: 20px;
    padding: 2px 7px;
    font-size: 11px;
}
.rb-list-pill-label {
    color: #5a6279;
    font-weight: 500;
}
.rb-list-pill-pts {
    font-weight: 700;
}

.rb-list-empty-row {
    font-size: 13px;
    color: #c0c6d8;
}

.rb-list-total {
    font-size: 17px;
    font-weight: 800;
    color: #2c3459;
    flex-shrink: 0;
    min-width: 42px;
    text-align: right;
}
.rb-list-total-unit {
    font-size: 10px;
    font-weight: 400;
    color: #8a94b0;
    margin-left: 2px;
}

/* ══════════════════════════════════════════
   SÉRIES & RECORDS
══════════════════════════════════════════ */

.rec-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 40px 16px;
    color: #8a94b0;
}
.rec-empty-icon { font-size: 32px; }
.rec-empty-text { font-size: 14px; font-weight: 600; color: #aab0c4; }

.rec-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 12px;
}

.rec-card {
    display: flex;
    flex-direction: column;
    gap: 12px;
    background: #fff;
    border-radius: 14px;
    padding: 14px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.07);
    text-decoration: none;
    color: inherit;
    transition: box-shadow 0.18s, transform 0.18s;
    border: 2px solid transparent;
}
.rec-card:hover {
    box-shadow: 0 4px 18px rgba(63,104,170,0.15);
    transform: translateY(-2px);
}
.rec-card--me { border-color: transparent; background: rgba(63,104,170,0.09); }

.rec-card-top {
    display: flex;
    align-items: center;
    gap: 10px;
}
.rec-avatars {
    position: relative;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
}
.rec-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.12);
}
.rec-flag {
    position: absolute;
    bottom: -2px;
    right: -4px;
    width: 16px;
    height: 11px;
    object-fit: cover;
    border-radius: 2px;
    border: 1px solid #fff;
}
.rec-name {
    font-size: 13px;
    font-weight: 700;
    color: #2c3459;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rec-card--me .rec-name { color: #2c3459; }

.rec-badges {
    display: flex;
    gap: 6px;
}
.rec-badge {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    background: rgba(63,104,170,0.06);
    border-radius: 10px;
    padding: 8px 4px 6px;
}
.rec-badge--warm { background: rgba(245,166,35,0.12); }
.rec-badge--fire { background: rgba(232,48,48,0.10); }

.rec-badge-icon { font-size: 14px; line-height: 1; }
.rec-badge-val {
    font-size: 18px;
    font-weight: 800;
    color: #2c3459;
    line-height: 1;
}
.rec-badge-unit {
    font-size: 10px;
    font-weight: 400;
    color: #8a94b0;
    margin-left: 1px;
}

.rec-badge-label {
    font-size: 9px;
    font-weight: 500;
    color: #8a94b0;
    text-align: center;
    line-height: 1.2;
}

/* ══════════════════════════════════════════
   RADAR DE STYLE
══════════════════════════════════════════ */

.stats-radar-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 16px;
}

.stats-radar-selector {
    z-index: 99;
    margin-bottom: 8px;
    display: flex;
    justify-content: center;
}

#chart-radar {
    width: 100%;
    max-width: 360px;
    margin: -40px 0px -60px 40px;
}

/* ── Page de connexion ───────────────────────────────────────────────────────── */
.lp-body {
    min-height: 100vh;
    background: radial-gradient(circle, rgba(238,174,202,1) 0%, rgba(148,187,233,1) 100%) fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Poppins', sans-serif;
}

.lp-card {
    background: rgba(255,255,255,0.55);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255,255,255,0.7);
    border-radius: 24px;
    box-shadow: 0 16px 48px rgba(100,120,180,0.18);
    padding: 48px 40px 40px;
    width: 100%;
    max-width: 380px;
    margin: 20px;
}

.lp-logo {
    opacity: 0.9;
    display: block;
    width: 250px;
    margin: 0 auto 36px;
    filter: drop-shadow(0 6px 18px rgba(63,104,170,0.3));
}

.lp-title {
    color: #2c3459;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.2px;
    margin-bottom: 32px;
}

.lp-error {
    background: rgba(220,50,50,0.1);
    border: 1px solid rgba(220,80,80,0.25);
    border-radius: 12px;
    color: #c0392b;
    font-size: 13px;
    padding: 11px 14px;
    margin-bottom: 18px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.lp-field { margin-bottom: 14px; }

.lp-field input {
    width: 100%;
    box-sizing: border-box;
    background: rgba(255,255,255,0.7);
    border: 1px solid rgba(63,104,170,0.2);
    border-radius: 12px;
    color: #2c3459;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    height: 48px;
    padding: 0 16px;
    outline: none;
    transition: border-color 0.2s, background 0.2s, box-shadow 0.2s;
}

.lp-field input::placeholder { color: rgba(44,52,89,0.4); }

.lp-field input:focus {
    border-color: #3f68aa;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(63,104,170,0.12);
}

.lp-btn {
    width: 100%;
    background: #3f68aa;
    border: none;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(63,104,170,0.45);
    color: #fff;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.3px;
    margin-top: 6px;
    padding: 14px;
    transition: background 0.2s, box-shadow 0.2s, transform 0.1s;
}

.lp-btn:hover {
    background: #5078bc;
    box-shadow: 0 6px 24px rgba(63,104,170,0.6);
}

.lp-btn:active { transform: translateY(1px); }

.lp-divider {
    align-items: center;
    display: flex;
    gap: 12px;
    margin: 22px 0;
}

.lp-divider::before,
.lp-divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: rgba(63,104,170,0.15);
}

.lp-divider span {
    color: rgba(63,104,170,0.4);
    font-size: 11px;
}

.lp-btn-secondary {
    width: 100%;
    background: transparent;
    border: 1px solid rgba(63,104,170,0.3);
    border-radius: 12px;
    color: #3f68aa;
    cursor: pointer;
    font-family: 'Poppins', sans-serif;
    font-size: 14px;
    font-weight: 500;
    padding: 13px;
    transition: background 0.2s, border-color 0.2s;
}

.lp-btn-secondary:hover {
    background: rgba(63,104,170,0.07);
    border-color: #3f68aa;
}

@media (max-width: 440px) {
    .lp-card { padding: 36px 24px 30px; }
}