/* V7.98: Club translations only; styles preserved from V7.97. */
:root{--sand:#d8c59d;--sand2:#f0e7d2;--black:#11110f;--ink:#23211c;--muted:#777064;--line:#d8d0bf;--white:#fbfaf7;--gold:#9d7d42}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f0e7;color:var(--ink)}header{height:78px;background:var(--black);color:white;display:flex;align-items:center;padding:0 4vw;gap:28px;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:10px;min-width:230px}.brand small{display:block;color:var(--sand);font-size:10px;letter-spacing:2px;margin-top:3px}.crest{width:42px;height:42px;border:2px solid var(--sand);display:grid;place-items:center;font-family:Arial,Helvetica,sans-serif;font-size:26px;color:var(--sand)}nav{display:flex;gap:6px;flex:1}nav button{background:none;border:0;color:#d9d5cc;padding:12px 10px;cursor:pointer;font-weight:700;font-size:12px}nav button.active,nav button:hover{color:var(--sand)}button{cursor:pointer}.outline{border:1px solid var(--sand);background:transparent;color:var(--sand);padding:10px 14px}.hero{min-height:430px;background:linear-gradient(100deg,#111 0%,#1a1813 58%,#cbb88f 58%,#e4d6b7 100%);display:grid;grid-template-columns:58% 42%;color:white}.heroText{padding:76px 7vw}.kicker{color:var(--sand);font-size:12px;letter-spacing:3px;font-weight:800}.hero h1{font-family:Arial,Helvetica,sans-serif;font-size:54px;line-height:.98;margin:15px 0 18px;max-width:650px}.hero p{color:#cbc7be;max-width:620px;line-height:1.6}.cta{display:flex;gap:10px;margin-top:26px}.primary{background:var(--sand);border:0;color:#171612;font-weight:800;padding:13px 18px}.secondary{background:transparent;border:1px solid #777;color:white;font-weight:700;padding:13px 18px}.playerArt{display:grid;place-items:center;overflow:hidden}.shirt{font-family:Arial,Helvetica,sans-serif;font-weight:900;font-size:180px;color:#181713;text-shadow:0 0 0 #000;opacity:.92}.section{padding:40px 6vw}.section h2{font-family:Arial,Helvetica,sans-serif;font-size:30px;margin:0 0 22px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--white);border:1px solid var(--line);padding:20px;box-shadow:0 3px 12px #00000008}.card h3{margin:4px 0 10px}.label{font-size:10px;font-weight:900;letter-spacing:2px;color:var(--gold)}.muted{color:var(--muted);font-size:13px}.table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--line)}.table th,.table td{text-align:left;padding:13px 12px;border-bottom:1px solid #e8e1d3;font-size:13px}.table th{background:#181713;color:var(--sand);font-size:11px;letter-spacing:1px}.dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:8px}.blue{background:#1683d8}.green{background:#31a363}.red{background:#d84040}.black{background:#111}.tabs{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.tabs button{padding:9px 12px;border:1px solid var(--line);background:#fff}.tabs .active{background:#171612;color:var(--sand);border-color:#171612}.stat{font-size:34px;font-family:Arial,Helvetica,sans-serif;font-weight:bold}.adminGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.status{font-weight:800;font-size:11px;padding:5px 8px;background:#eee6d4;display:inline-block}.chat{height:360px;overflow:auto;background:#fff;border:1px solid var(--line);padding:18px}.msg{margin-bottom:14px}.msg b{font-size:12px}.msg time{color:#999;font-size:10px;margin-left:8px}.msg p{margin:4px 0 0}.composer{display:flex;margin-top:10px}.composer input{flex:1;padding:13px;border:1px solid var(--line)}.composer button{border:0;background:#171612;color:var(--sand);padding:0 20px;font-weight:bold}footer{padding:25px 6vw;background:#171612;color:#8e887e;font-size:11px}.pageTitle{padding:22px 6vw 16px;background:#d8c59d}.pageTitle .kicker{font-size:10px;letter-spacing:1.4px}.pageTitle h1{font-family:Arial,Helvetica,sans-serif;font-size:30px;line-height:1.05;margin:2px 0 0}.pageTitle p{margin:7px 0 0;font-size:13px;line-height:1.35;max-width:980px}.two{display:grid;grid-template-columns:2fr 1fr;gap:20px}@media(max-width:900px){header{height:auto;flex-wrap:wrap;padding:15px 4vw}nav{order:3;overflow:auto;width:100%}.hero{grid-template-columns:1fr}.playerArt{display:none}.heroText{padding:55px 6vw}.hero h1{font-size:42px}.grid,.adminGrid,.two{grid-template-columns:1fr}.table{display:block;overflow:auto}.section{padding:30px 4vw}.pageTitle{padding:18px 4vw}.pageTitle h1{font-size:26px}}
.notice{background:#efe4ca;border-left:4px solid var(--gold);padding:14px 16px;margin-bottom:18px;font-size:13px}.form{display:grid;gap:13px}.form label{font-size:11px;font-weight:800;letter-spacing:.6px}.form input,.form select,.form textarea{width:100%;margin-top:6px;border:1px solid var(--line);background:white;padding:12px;font:inherit}.form textarea{min-height:95px;resize:vertical}.steps p{border-bottom:1px solid var(--line);padding:10px 0;margin:0}.steps b{display:inline-grid;place-items:center;width:25px;height:25px;background:#171612;color:var(--sand);margin-right:8px}.pendingCard{margin-top:18px}.success{max-width:620px;margin:auto;text-align:center;padding:45px}.bigIcon{font-size:50px}.mini{padding:7px 9px;border:1px solid var(--line);background:white;font-size:10px;font-weight:800}.mini.ok{background:#1e6b46;color:white;border-color:#1e6b46}.mini.danger{background:#752d29;color:white;border-color:#752d29}.empty{text-align:center!important;color:var(--muted);padding:28px!important}.adminTitle{font-family:Arial,Helvetica,sans-serif;margin:32px 0 12px}.profile h2{font-family:Arial,Helvetica,sans-serif;font-size:34px}.livebox{background:#171612;color:white;min-height:330px;display:grid;place-items:center;text-align:center}.livebox h2{font-family:Arial,Helvetica,sans-serif;font-size:36px}.livebox p{color:#aaa}
.badge{font-size:9px;background:#171612;color:var(--sand);padding:3px 6px;margin-left:5px}.projectIntro{max-width:850px;margin-bottom:30px}.projectIntro h2{font-size:42px;margin:8px 0 14px}.projectIntro p{font-size:18px;line-height:1.65}.featureGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}.featureGrid article{background:#fbfaf7;border:1px solid var(--line);padding:22px}.featureGrid article>b{font-family:Arial,Helvetica,sans-serif;font-size:28px;color:var(--sand)}.featureGrid h3{margin:10px 0 8px}.featureGrid p{color:var(--muted);line-height:1.5;font-size:13px}.clubCard{position:relative;overflow:hidden}.clubColors{display:flex;height:8px;position:absolute;top:0;left:0;right:0}.clubColors i{flex:1}.clubForm{margin-top:24px;max-width:720px}.colorFields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.colorFields input{height:48px;padding:3px}.project .notice{margin-top:20px}@media(max-width:900px){.featureGrid{grid-template-columns:1fr}.colorFields{grid-template-columns:1fr}.projectIntro h2{font-size:34px}}
.clickable{cursor:pointer}.clickable:hover{transform:translateY(-2px);box-shadow:0 8px 22px #00000012}.clubHero{display:flex;align-items:center;gap:18px;margin:18px 0}.clubMonogram{width:84px;height:84px;border:3px solid var(--black);display:grid;place-items:center;font-family:Arial,Helvetica,sans-serif;font-size:26px;font-weight:bold;background:var(--sand)}.clubHero h2{margin:3px 0 8px}.clubStripe{display:flex;width:170px;height:8px}.clubStripe i{flex:1}.clubTabs{margin-top:20px}.rosterGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}.rosterPlayer,.dragPlayer{display:flex;align-items:center;gap:12px;padding:10px;border:1px solid var(--line);background:#fff}.rosterPlayer small,.dragPlayer small{display:block;color:var(--muted);margin-top:3px}.miniShirt{position:relative;display:inline-block;width:82px;height:72px;clip-path:polygon(20% 0,38% 0,42% 9%,58% 9%,62% 0,80% 0,100% 20%,84% 36%,76% 29%,76% 100%,24% 100%,24% 29%,16% 36%,0 20%);border-bottom:5px solid var(--trim)}.miniShirt.small{width:38px;height:34px;flex:0 0 38px}.jerseyGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.jerseyCard{display:grid;gap:14px}.jerseyPreview{height:100px;display:grid;place-items:center;background:#eee8da}.jerseyCard select{width:100%;padding:10px;border:1px solid var(--line);margin-top:5px}.jerseyColors{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.jerseyColors input{width:100%;height:40px;border:0}.lineupToolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;background:#fff;border:1px solid var(--line);padding:12px;margin-bottom:14px}.lineupToolbar label{font-size:11px;font-weight:bold}.lineupToolbar select{display:block;margin-top:4px;padding:8px;border:1px solid var(--line)}.planLayout{display:grid;grid-template-columns:minmax(520px,2fr) minmax(250px,1fr);gap:18px}.pitch{position:relative;min-height:690px;background:linear-gradient(90deg,#527d49 0 10%,#5b8751 10% 20%,#527d49 20% 30%,#5b8751 30% 40%,#527d49 40% 50%,#5b8751 50% 60%,#527d49 60% 70%,#5b8751 70% 80%,#527d49 80% 90%,#5b8751 90%);border:4px solid #f1efe6;box-shadow:0 0 0 1px #375c34}.pitch:before{content:'';position:absolute;inset:4%;border:2px solid #ffffffaa}.pitch:after{content:'';position:absolute;left:50%;top:4%;bottom:4%;border-left:2px solid #ffffffaa}.pitchSlot{position:absolute;width:92px;height:78px;transform:translate(-50%,-50%);display:grid;place-items:center;z-index:2}.emptySlot{width:44px;height:44px;border:2px dashed #ffffffcc;border-radius:50%;display:grid;place-items:center;color:white;font-weight:bold;background:#0003}.fieldPlayer{display:grid;justify-items:center;gap:2px;cursor:grab;text-align:center}.fieldPlayer b{font-size:10px;background:#111e;color:#fff;padding:3px 5px;max-width:90px;overflow:hidden;text-overflow:ellipsis}.bench{max-height:690px;overflow:auto}.dragPlayer{cursor:grab;margin:8px 0}.savedLineup{display:block;width:100%;text-align:left;border:1px solid var(--line);background:#fff;padding:9px;margin-top:7px;font-weight:bold}@media(max-width:900px){.jerseyGrid,.rosterGrid{grid-template-columns:1fr}.planLayout{grid-template-columns:1fr}.pitch{min-height:600px}.bench{max-height:none}.clubTabs{overflow:auto;flex-wrap:nowrap}}
.offer{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.offer:last-child{border-bottom:0}
input[type=range]{width:100%;accent-color:#d8c59d}
.clubMark{position:relative;width:30px;height:30px;border:1px solid #cfc5b2;background:#fff;display:inline-grid;place-items:center;vertical-align:middle;margin-right:6px;overflow:hidden}.clubMark img{width:100%;height:100%;object-fit:contain}.clubMark b{font-size:9px}.clubMark i{position:absolute;bottom:0;height:4px;width:34%}.clubMark i:nth-last-child(3){left:0}.clubMark i:nth-last-child(2){left:33%}.clubMark i:nth-last-child(1){right:0}.entryClub{display:flex;align-items:center;gap:6px;padding:7px 0;border-bottom:1px solid #eee5d5}.compTop{margin:20px 0 30px}.week{margin-bottom:14px}.weekHead{display:flex;align-items:center;justify-content:space-between;gap:15px}.weekHead h3{margin:3px 0 12px}.fixture{display:grid;grid-template-columns:1fr 130px 1fr auto;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #e8e1d3}.fixture>span:last-of-type{text-align:right}.fixture>b{text-align:center;font-size:10px;color:var(--gold);letter-spacing:1px}@media(max-width:900px){.fixture{grid-template-columns:1fr}.fixture>span:last-of-type{text-align:left}.fixture>b{text-align:left}.weekHead{align-items:flex-start;flex-direction:column}}
.scoreHero{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;text-align:center;gap:24px;background:#111;color:#f0dfb6;padding:28px;border-radius:16px;margin:18px 0}.scoreHero strong{font-size:42px}.phaseGrid{margin:16px 0}.scoreInputs{display:flex;align-items:center;gap:10px}.scoreInputs input{width:80px;text-align:center;font-size:28px;font-weight:800}.fixtureActions{display:flex;gap:6px;flex-wrap:wrap}.statEdit input,.statEdit select{min-width:80px}.statEdit td:first-child input{min-width:150px}.finalize{text-align:center;margin-top:18px}.pointsForm{margin:24px 0}.pointsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pointsGrid label{font-size:12px}.pointsGrid input{margin-top:5px}.two .card label{display:block;margin:12px 0}.two .card input[type=text],.two .card input:not([type]){width:100%}@media(max-width:800px){.pointsGrid{grid-template-columns:1fr 1fr}.scoreHero{grid-template-columns:1fr}.fixtureActions{margin-top:8px}}

/* V1.4.1 — CHARTE FUMA : UNE POLICE, INTERFACE EN CAPITALES */
body,button,input,select,textarea{font-family:Arial,Helvetica,sans-serif}
nav,.brand,.pageTitle,.label,.badge,.tabs,.mini,.primary,.secondary,.status,.table th,.adminTitle,.clubTabs,.lineupToolbar,.rankingCard,.competitionHeading{text-transform:uppercase}
.pageTitle h1,.section>h2,.card>h2,.card>h3,.clubHero h2,.profile h2{font-family:Arial,Helvetica,sans-serif;text-transform:uppercase;letter-spacing:.02em}
/* Les textes longs restent en casse normale pour la lecture : projet, gazette, chat, descriptions. */
.rankingGrid{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:16px;margin:20px 0 34px}
.rankingCard{background:#fbfaf7;border:1px solid var(--line);box-shadow:0 3px 12px #00000008;overflow:hidden}
.rankingCard>header{position:static;height:auto;background:#171612;color:var(--sand);padding:15px 16px;display:flex;align-items:center;gap:10px}
.rankingCard>header span{font-size:20px}.rankingCard h3{margin:0;font-size:13px;letter-spacing:1.2px}
.rankingList{padding:5px 14px 12px}.rankRow{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;min-height:49px;border-bottom:1px solid #e8e1d3}
.rankRow:last-child{border-bottom:0}.rankNo{font-size:12px;color:var(--gold)}.rankPlayer{display:flex;align-items:center;min-width:0;gap:5px}.rankPlayer strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rankPlayer .clubMark{width:27px;height:27px;flex:0 0 27px}.clubMark.ghost{color:#aaa;font-size:9px}.rankValue{font-size:18px;color:#171612}.rankEmpty{padding:25px 4px;text-align:center;color:var(--muted);font-size:11px}.competitionHeading{margin-top:38px!important}
@media(max-width:1100px){.rankingGrid{grid-template-columns:repeat(2,minmax(240px,1fr))}}
@media(max-width:650px){.rankingGrid{grid-template-columns:1fr}.rankRow{min-height:52px}}

.testModeCard{margin:18px 0;border:1px solid #d8c59d}.testActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.testModeCard .label{color:#d8c59d}


/* V1.4.3 — NOUVELLE ARCHITECTURE ACCUEIL */
.homeDashboard{padding:28px 4vw 48px;max-width:1500px;margin:auto}
.homeIntro{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:22px 0 28px;border-bottom:1px solid var(--line)}
.homeIntro h1{font-family:Arial,Helvetica,sans-serif;font-size:46px;line-height:1;margin:7px 0 10px;letter-spacing:.02em}
.homeIntro p{max-width:720px;margin:0;color:var(--muted);font-size:15px}
.homeColumns{display:grid;grid-template-columns:minmax(255px,.8fr) minmax(420px,1.55fr) minmax(280px,.95fr);gap:18px;align-items:start;margin-top:20px}
.homeColumn{display:grid;gap:14px}
.homeCard{background:#fbfaf7;border:1px solid var(--line);padding:20px;box-shadow:0 4px 14px #00000008}
.homeCard h2,.homeCard h3{font-family:Arial,Helvetica,sans-serif;text-transform:uppercase;margin:7px 0 9px}
.homeCard p{color:var(--muted);line-height:1.45;font-size:13px}
.homeCard.priority{background:#171612;color:#fff;border-color:#171612;padding:24px}
.homeCard.priority .label{color:var(--sand)}
.homeCard.priority p{color:#c8c3b8}
.wide{width:100%}
.nextMatches{min-height:325px}
.nextMatchRow{padding:14px 0;border-bottom:1px solid var(--line)}
.nextMatchRow>div{display:grid;grid-template-columns:1fr 38px 1fr;align-items:center;gap:8px}
.nextMatchRow>div b:last-child{text-align:right}
.nextMatchRow span{text-align:center;font-size:10px;color:var(--gold);font-weight:900}
.nextMatchRow small{display:block;margin-top:7px;color:var(--muted);text-align:center}
.homeStandingRow{display:grid;grid-template-columns:28px 1fr auto;gap:8px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}
.homeStandingRow span{color:var(--gold);font-weight:800}.homeStandingRow b{font-size:12px}.homeStandingRow strong{font-size:12px}
.homeEmpty{padding:24px 0;color:var(--muted);font-size:12px}
.gazettePreview{background:linear-gradient(135deg,#efe4ca,#fbfaf7)}
.gazetteVisual{display:flex;align-items:center;gap:16px;margin:12px 0 16px}
.gazetteBadge{width:88px;height:88px;display:grid;place-items:center;background:#171612;color:var(--sand);font-size:21px;font-weight:900;letter-spacing:2px}
.livePreview{background:#171612;color:white}.livePreview p{color:#aaa}.liveDot{color:#e4483e;font-size:11px;font-weight:900;letter-spacing:1px}
.discordPreview{border-top:4px solid var(--gold)}
@media(max-width:1050px){.homeColumns{grid-template-columns:1fr 1.35fr}.homeCompetition{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.homeIntro{align-items:flex-start;flex-direction:column}.homeIntro h1{font-size:36px}.homeColumns{grid-template-columns:1fr}.homeCompetition{grid-column:auto;grid-template-columns:1fr}.nextMatches{min-height:auto}}
/* BETA 0.1 — DARK FUMA + LATEST TRANSFERS */
body{background:#0d0f0f;color:#eee9dd}.homeDashboard{color:#eee9dd}.homeIntro{border-color:#5b513e}.homeIntro p{color:#aaa69c}.homeCard{background:#171918;border-color:#66583e;box-shadow:0 8px 28px #0008}.homeCard p,.homeEmpty{color:#aaa69c}.homeCard.priority{background:#101211;border:1px solid #d8c59d}.gazettePreview{background:linear-gradient(135deg,#2a251c,#151716)}.nextMatchRow,.homeStandingRow{border-color:#3a352b}.mini{background:#202321;color:#eee9dd;border-color:#6d6047}.table{background:#171918}.table td{border-color:#3a352b}.latestTransfers{border-top:3px solid #d8c59d;overflow:hidden}.transferTicker{max-height:160px;overflow:hidden}.transferTickerRow{display:grid;grid-template-columns:1fr 24px 1fr;gap:5px;align-items:center;padding:10px 0;border-bottom:1px solid #393329;animation:transferIn .55s ease both}.transferTickerRow span{text-align:center;color:#d8c59d}.transferTickerRow strong{text-align:right;color:#d8c59d;font-size:11px}@keyframes transferIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.statEdit select{min-width:170px}.two .card select{width:100%;padding:10px;border:1px solid var(--line);margin-top:6px}

/* BETA 0.2 — CONTRAST, PIRATE STATUS, CLUB STORY, LOGO & FUMA LIVE */
.pageTitle{background:var(--sand);color:#171612}.pageTitle .kicker,.pageTitle h1,.pageTitle p{color:#171612}
.card{color:#211f1a}.card h1,.card h2,.card h3,.card b,.card strong{color:#211f1a}.card .muted{color:#625d54}
.livebox{color:#f8f5ed}.livebox h2,.livebox b,.livebox strong{color:#fff}.livebox .status{color:#171612}.livebox p{color:#c9c5bc}
.profile{background:#fbfaf7;color:#211f1a}.profile h2,.profile p,.profile b{color:#211f1a}.profile .label{color:#80662f}
.pirateStatus{display:inline-block;margin-right:8px;font-size:15px;filter:drop-shadow(0 0 2px #fff6)}
.clubIdentityGrid{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(360px,1.5fr) minmax(220px,.7fr);gap:18px;align-items:start}
.clubStory label{display:block;font-size:11px;font-weight:800;margin:12px 0}.clubStory input,.clubStory textarea{width:100%;margin-top:6px;padding:11px;border:1px solid var(--line);font:inherit}.clubStory textarea{min-height:100px;resize:vertical}.clubStory textarea:last-of-type{min-height:140px}
.jerseyCompact{text-align:center}.clubLogoTools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:18px}.clubLogoLarge,.clubLogoPlaceholder{width:92px;height:92px;object-fit:contain;border:1px solid var(--line);background:#fff}.clubLogoPlaceholder{display:grid;place-items:center;font-weight:900;color:#8b806c}.uploadLogo{position:relative;overflow:hidden;display:inline-block}.uploadLogo input{position:absolute;inset:0;opacity:0;cursor:pointer}
.liveEditor{margin-top:18px}.liveUrlRow{display:flex;gap:10px}.liveUrlRow input{flex:1;padding:12px;border:1px solid var(--line)}.liveContent{width:min(100%,960px)}.youtubeFrame{width:100%;aspect-ratio:16/9;border:0;margin-top:16px;background:#000}
@media(max-width:950px){.clubIdentityGrid{grid-template-columns:1fr}.liveUrlRow{flex-direction:column}}

/* BETA 0.3 — CONTRASTE STRICT + TCHAT FUMA */
/* Surfaces claires : aucun texte sable pâle. */
.card:not(.livebox),.featureGrid article,.profile,.notice,.rankingCard,.pageTitle{color:#171918!important}
.card:not(.livebox) h1,.card:not(.livebox) h2,.card:not(.livebox) h3,.card:not(.livebox) h4,.card:not(.livebox) b,.card:not(.livebox) strong,
.featureGrid article h1,.featureGrid article h2,.featureGrid article h3,.featureGrid article b,.featureGrid article strong,
.profile h1,.profile h2,.profile h3,.profile b,.profile strong,.pageTitle h1,.pageTitle p,.pageTitle .kicker{color:#171918!important}
.card:not(.livebox) p,.card:not(.livebox) small,.featureGrid article p,.profile p,.notice{color:#49463f!important}
.featureGrid article>b{color:#171918!important}
.card:not(.livebox) .label,.featureGrid article .label,.profile .label{color:#684f20!important}
/* Les cartes sombres conservent texte clair. */
.homeCard,.homeCard h1,.homeCard h2,.homeCard h3,.homeCard b,.homeCard strong{color:#f5f1e7!important}.homeCard p,.homeCard small{color:#bdb8ad!important}
.homeCard .label{color:#d8c59d!important}.gazettePreview{color:#f5f1e7!important}
.livebox,.livebox h1,.livebox h2,.livebox h3,.livebox b,.livebox strong{color:#fff!important}.livebox p{color:#c9c5bc!important}

.chatPage{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(250px,.75fr);gap:20px;align-items:start}
.chatMain{min-width:0}.chat{position:relative;height:430px;background:#dcefff url('assets/chat-background.png') center/cover no-repeat;border:1px solid #86aecd;padding:20px;color:#17232d;box-shadow:inset 0 0 50px #fff7}
.chat:after{content:'';position:absolute;inset:0;background:#e8f5ff33;pointer-events:none}.msg{position:relative;z-index:1;max-width:82%;background:#ffffffde;border:1px solid #b7d3e7;border-radius:10px;padding:10px 12px;margin-bottom:12px;box-shadow:0 2px 8px #41657a18}.msg b{color:#17232d}.msg time{color:#607786}.msg p{color:#243642;line-height:1.4}
.composer{display:flex;margin-top:10px;gap:8px}.composer textarea{flex:1;min-height:48px;max-height:130px;resize:vertical;padding:13px;border:1px solid #8ba9bd;background:#f8fcff;color:#17232d;font:inherit}.composer button{border:0;background:#171612;color:#d8c59d;padding:0 20px;font-weight:bold}.chatHint{display:block;margin-top:7px;color:#a9a59b;font-size:9px;letter-spacing:.7px}
.chatSide{display:grid;gap:14px}.onlinePanel{background:#171918;border:1px solid #66583e;padding:18px;color:#f5f1e7}.onlinePanel h3{margin:6px 0 14px}.onlineList{display:grid;gap:7px}.onlineUser{width:100%;display:grid;grid-template-columns:18px 1fr;gap:8px;text-align:left;align-items:center;background:#202321;border:1px solid #383a37;color:#f5f1e7;padding:9px;cursor:pointer}.onlineUser:hover{border-color:#d8c59d}.onlineUser .presence{color:#43c67a}.onlineUser b{display:block;font-size:11px}.onlineUser small{display:block;color:#9f9c94;font-size:9px;margin-top:2px}.chatRule{margin:0}
@media(max-width:900px){.chatPage{grid-template-columns:1fr}.chatSide{grid-template-columns:1fr 1fr}}@media(max-width:620px){.chatSide{grid-template-columns:1fr}.composer{flex-direction:column}.composer button{min-height:44px}.msg{max-width:94%}}

/* BETA 0.4 — CHAT DENSE + ONLINE DYNAMIQUE + MOBILE */
.chat{height:540px;padding:8px 14px;background:#dcefff;border:1px solid #86aecd;color:#17232d;box-shadow:inset 0 0 42px #fff8;position:relative}
/* Filigrane abstrait : on retire l'ancien joueur en attendant le visuel acrobatique définitif. */
.chat:before{content:'⚽';position:absolute;right:8%;top:28%;font-size:150px;line-height:1;opacity:.035;transform:rotate(-18deg);pointer-events:none}
.chat:after{display:none}
.msg{position:relative;z-index:1;max-width:100%;background:transparent;border:0;border-bottom:1px solid #abcbe055;border-radius:0;padding:5px 2px 6px;margin:0;box-shadow:none}
.msgMeta{display:flex;align-items:center;gap:8px;min-height:16px}.msg b{font-size:11px;color:#17232d}.msg time{font-size:9px;color:#607786;margin:0}.msg p{font-size:13px;line-height:1.22;margin:1px 0 0;color:#243642}
.composer textarea{min-height:42px;max-height:100px;padding:10px 12px}.composer button{min-width:108px}.chatHint{margin-top:5px}
.chatSide{gap:8px}.onlinePanel{padding:12px 14px}.onlineTitle{display:flex;align-items:flex-end;justify-content:space-between;gap:8px}.onlineTitle h3{margin:3px 0 7px}.onlineTitle strong{color:#54d68b;font-size:18px;margin-bottom:7px}.onlineList{display:grid;gap:3px;max-height:390px;overflow-y:auto;padding-right:3px}.onlineUser{grid-template-columns:12px 1fr;gap:6px;padding:5px 7px;min-height:34px}.onlineUser b{font-size:10px}.onlineUser small{font-size:8px;margin-top:0}.onlineUser .presence{font-size:10px}.chatRuleCompact{border:1px solid #66583e;background:#171918;color:#a9a59b;padding:9px 11px;font-size:9px;line-height:1.35;letter-spacing:.2px}
@media(max-width:900px){.chatPage{grid-template-columns:1fr}.chat{height:58vh;min-height:390px}.chatSide{display:block}.onlinePanel{margin-top:8px}.onlineList{max-height:220px}.chatRuleCompact{margin-top:8px}}
@media(max-width:620px){.section.chatPage{padding:18px 10px}.chat{height:62vh;min-height:390px;padding:7px 10px}.tabs{overflow-x:auto;flex-wrap:nowrap}.tabs button{white-space:nowrap}.composer{flex-direction:row}.composer button{min-width:82px;padding:0 10px;font-size:10px}.msg p{font-size:12px}.onlinePanel{max-height:none}.onlineList{max-height:180px}}
/* BETA 0.5 — rendez-vous & disponibilités */
.fixtureTeams{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin-bottom:10px}.fixtureTeams span:last-child{text-align:right}.appointment{margin:10px 0;padding:12px;border:1px solid #3b3f3d;border-radius:12px;background:#111514}.appointment.confirmed{border-color:#8da76d}.appointmentTop,.clubConfirm,.availabilityBar,.myAvailability,.appointmentControls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.appointmentTop{justify-content:space-between}.appointmentTop small{color:#b8b8b3}.appointmentControls{margin:9px 0}.appointmentControls input{min-height:38px}.clubConfirm{justify-content:space-between;padding:7px 0;border-top:1px solid #292d2b;border-bottom:1px solid #292d2b}.availabilityBar{font-size:.82rem;color:#d7d7d1;padding:8px 0;justify-content:space-between}.myAvailability{padding-top:5px}.mini.warn{border-color:#c9a94f}.myAvailability strong{font-size:.8rem;color:#dcc79c}@media(max-width:700px){.fixtureTeams{grid-template-columns:1fr;text-align:center}.fixtureTeams span:last-child{text-align:center}.appointmentControls>*{flex:1 1 130px}.availabilityBar{display:block}.availabilityBar span{display:block;margin:4px 0}}

/* BETA 0.6 — disponibilités hebdomadaires avant fixation du match */
.weeklyIntro{margin-bottom:14px}.bestSlots{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.bestSlots span{background:#171918;color:#f5f1e7;padding:8px 10px;border:1px solid #66583e;border-radius:8px;font-size:11px}.bestSlots b{color:#dcc79c!important}.weeklyScroll{overflow-x:auto;border:1px solid #3b3f3d}.weeklyTable{width:100%;border-collapse:collapse;min-width:980px;background:#111514;color:#f4f0e7}.weeklyTable th,.weeklyTable td{padding:8px;border:1px solid #303532;text-align:center}.weeklyTable thead th{background:#1a1e1c;color:#dcc79c;position:sticky;top:0}.weeklyTable thead small{display:block;color:#9d9b94;margin-top:2px}.weeklyTable tbody th{position:sticky;left:0;background:#171b19;color:#fff;text-align:left;z-index:1}.slot{display:block;width:100%;min-width:62px;margin:3px 0;padding:5px 6px;border:1px solid #4a504c;background:#202522;color:#a9aaa5;border-radius:5px;font-size:10px;cursor:pointer}.slot.on{background:#d8c59d;color:#171918;border-color:#f0dfb7;font-weight:900}.slot:disabled{cursor:default;opacity:.75}.slot.on:disabled{opacity:1}.weeklyFoot{margin-top:10px}.weeklyNote{display:block;color:#aaa69c;margin-top:5px}.weeklyMatchHint{border-top:1px solid #292d2b;margin-top:7px}

/* BETA 0.6.1 — KIT DESIGNER FUMA */

/* ===== BETA 0.7 — PLAN DE JEU / NUMEROS / CONTRASTE ===== */
.rosterPlayer{position:relative}.rosterInfo{min-width:0;flex:1}.squadNumberBox{margin-left:auto;display:grid;grid-template-columns:auto 54px;align-items:center;gap:6px}.squadNumberBox span{font-size:9px;font-weight:900;color:#555}.squadNumberBox input{width:54px;padding:7px;border:1px solid #b9b3a7;background:#fff;color:#171918;font-weight:900;text-align:center}.squadNumberBox b{font-size:18px;color:#171918}
.numberedKit{position:relative;display:inline-grid;place-items:center}.numberedKit .officialKit{display:block}.numberedKit>strong{position:absolute;top:31px;left:50%;transform:translate(-50%,-50%);z-index:3;color:#fff;font:900 20px/1 Arial,Helvetica,sans-serif;text-shadow:0 1px 2px #000,0 0 2px #000}.numberedKit.small>strong{top:15px;font-size:10px}
.pitchSlot{width:112px;height:112px}.fieldPlayer{gap:3px}.fieldPlayer .miniShirt{width:56px;height:50px}.fieldPlayer .miniShort{width:35px;height:15px}.fieldPlayer .numberedKit>strong{top:23px;font-size:16px}.fieldPlayer b{font-size:12px;background:transparent;color:#fff;padding:1px 4px;max-width:108px;text-shadow:0 1px 3px #000,0 0 3px #000;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emptySlot{width:30px;height:30px;border:1px dashed #ffffff99;background:#0001;font-size:13px;opacity:.7}.freePitch .movableSlot{cursor:move;touch-action:none}.freePitch .movableSlot:after{content:'↕';position:absolute;right:4px;top:4px;color:#fff8;font-size:10px}.freePitch .movableSlot:has(.fieldPlayer):after{display:none}
/* Light surfaces: hard contrast rule */
.card,.featureGrid article,.projectIntro,.notice,.lineupToolbar,.rosterPlayer,.dragPlayer,.jerseyCard,.clubStory,.clubIdentityGrid .card{color:#171918}.card h1,.card h2,.card h3,.card b,.featureGrid article h3,.featureGrid article b,.projectIntro h2,.lineupToolbar label{color:#171918!important}.card p,.card small,.featureGrid article p,.projectIntro p{color:#4c4942!important}.pageTitle,.hero-sand,.sand-bg{color:#171918!important}
@media(max-width:620px){.pitchSlot{width:88px;height:96px}.fieldPlayer .miniShirt{width:48px;height:43px}.fieldPlayer .numberedKit>strong{top:20px;font-size:14px}.fieldPlayer b{font-size:10px;max-width:82px}.squadNumberBox{grid-template-columns:auto 48px}}

/* BETA 0.7.1 — CHAT WATERMARK FIX: real acrobatic football silhouette */
.chat{
  background-color:#dcefff !important;
  background-image:url('assets/chat-background.svg') !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.chat:before{display:none !important;content:none !important}
.msg{background:rgba(255,255,255,.88) !important}

/* BETA 0.7.2 — FIXES RECRUTEMENT + PLAN DE JEU PC */
.dragPlayer.placed{opacity:.38;filter:grayscale(.65);background:#ece9e1}.dragPlayer.placed:after{content:'PLACÉ';margin-left:auto;font-size:9px;font-weight:900;letter-spacing:1px;color:#4e6650}
/* Le terrain conserve sa géométrie pendant un drop : le DOM du club entier n'est plus recréé. */
.planLayout{align-items:start}.pitch{contain:layout paint}.bench{min-height:690px}
@media(max-width:900px){.bench{min-height:0}}

/* BETA 0.7.3 — NAVIGATION PROFIL PUBLIC + PARCOURS RECRUTEMENT */
.playerLink{border:0;background:transparent;padding:0;color:inherit;cursor:pointer;text-decoration:underline;text-decoration-color:#9d7d4266;text-underline-offset:3px}.playerLink:hover{color:#72551f}.profileNav{margin-bottom:12px}.publicProfile{max-width:760px}.publicProfile .primary{margin-top:10px}
/* BETA 0.7.7 — action recrutement visible sur toute fiche d'un joueur libre */
.profileRecruitAction{margin-top:24px;padding-top:20px;border-top:1px solid rgba(21,24,23,.16)}
.profileRecruitAction .recruitPrimary{display:block;width:100%;max-width:520px;font-size:15px;padding:15px 18px}
.profileRecruitAction p{margin:9px 0 0}
/* BETA 0.8.6D — profil joueur fonctionnel */
.profileAvatar{width:96px;height:96px;object-fit:cover;border-radius:10px;border:1px solid rgba(205,177,122,.65);display:block;margin:0 0 14px}
.usualDays{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0 18px}.dayView,.dayPick{border:1px solid rgba(205,177,122,.45);padding:7px 9px;border-radius:6px;font-size:12px;font-weight:800}.dayView.on,.dayPick.selected{background:#cdb17a;color:#171717}.dayPick input{margin-right:5px}.profileStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 18px}.profileStats>div{border:1px solid rgba(205,177,122,.35);padding:10px;text-align:center}.profileStats b{display:block;font-size:20px}.profileStats span{font-size:10px;font-weight:800;letter-spacing:.05em}
@media(max-width:700px){.profileStats{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Profil joueur 0.8.6E : hiérarchie identité + points FUMA */
.profilePsn{font-size:18px;line-height:1.35;margin:7px 0 4px}.profilePsn b{font-size:13px;letter-spacing:.06em;margin-right:6px}.profileDiscord{font-size:15px;line-height:1.35;margin:4px 0 12px}.profileDiscord b{font-size:12px;letter-spacing:.06em;margin-right:6px}.profileStats .fumaPointsStat{grid-column:1/-1;border-width:2px}.profileStats .fumaPointsStat b{font-size:26px}

/* 0.8.6L — Historique : lecture publique distincte de l'édition */
.clubHistoryPublic{margin:18px 0;padding:14px 16px;border:1px solid rgba(0,0,0,.12);background:rgba(255,255,255,.45)}
.clubHistoryPublic h4,.clubHistoryEditor h4{margin:0 0 10px;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.clubHistoryPublic p{margin:0;white-space:pre-wrap;line-height:1.55}
.clubHistoryEditor{margin-top:18px;padding-top:16px;border-top:1px solid rgba(0,0,0,.12)}
.clubHistoryEditor textarea{display:block;width:min(100%,760px);min-height:110px;margin:0 0 12px;box-sizing:border-box}

/* 0.8.6M — Historique en trois blocs */
.clubHistoryGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.clubHistoryBlock{min-height:100%}
.clubHistoryBlock .clubHistoryPublic{min-height:92px}
.clubHistorySaveBar{grid-column:1/-1;display:flex;justify-content:flex-end}
.officialHistory .clubHistoryPublic{font-weight:700}
@media(max-width:1050px){.clubHistoryGrid{grid-template-columns:1fr}.clubHistorySaveBar{grid-column:auto}}

/* BETA 0.8.6O — LOGO CLUB : actions explicites */
.clubLogoFileInput{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.logoAction{cursor:pointer!important;transition:filter .15s ease,transform .15s ease}
.logoAction:hover{filter:brightness(1.12);transform:translateY(-1px)}
.logoAction:active{transform:translateY(0)}

/* BETA 0.8.6U — confirmation visuelle commune des sauvegardes */
button.saveConfirmed,button.saveConfirmed:hover{
  filter:brightness(.72)!important;
  transform:none!important;
  cursor:default!important;
  opacity:1!important;
}
/* 0.8.6V — séparation stricte identité club / maillot */
.clubPalettePreview{display:flex;width:118px;height:76px;border:2px solid #171918;overflow:hidden;background:#fff}.clubPalettePreview i{display:block;flex:1}.rosterPlayer>.miniShirt{flex:0 0 38px}

/* 0.8.6W — identité chromatique du club, sans incidence sur les maillots */
.clubPage{
  border-top:0;
  background:linear-gradient(180deg,var(--club-primary-soft) 0,transparent 210px);
  padding-top:18px;
}
.clubPage .clubHero{
  padding:14px 16px;
  border-left:7px solid var(--club-primary);
  border-bottom:1px solid color-mix(in srgb,var(--club-secondary) 45%,#d8d2c6);
  background:linear-gradient(105deg,var(--club-primary-soft),#fff 64%,var(--club-secondary-soft));
}
.clubPage .clubMonogram{
  background:var(--club-primary);
  color:var(--club-on-primary);
  border-color:var(--club-primary-dark);
  box-shadow:inset 0 -7px 0 color-mix(in srgb,var(--club-secondary) 30%,transparent);
}
.clubPage .clubTabs{border-bottom:3px solid var(--club-secondary)}
.clubPage .clubTabs button{border-color:color-mix(in srgb,var(--club-primary) 28%,#bdb7ab)}
.clubPage .clubTabs button:hover{background:var(--club-primary-soft);color:#111}
.clubPage .clubTabs button.active{
  background:var(--club-primary);
  color:var(--club-on-primary);
  border-color:var(--club-primary);
  box-shadow:inset 0 -4px 0 var(--club-secondary);
}
.clubPage .card{border-top-color:color-mix(in srgb,var(--club-primary) 30%,var(--line))}
.clubPage .card>.label{color:var(--club-primary-dark)}
.clubPage .primary{background:var(--club-primary);color:var(--club-on-primary);border-color:var(--club-primary-dark)}
.clubPage .primary:hover{background:var(--club-primary-dark);color:#fff}
.clubPage .mini:not(.back):hover{border-color:var(--club-primary);background:var(--club-primary-soft)}
.clubPage .clubStripe{box-shadow:0 0 0 1px #0002}
.appointmentReadOnly{margin:9px 0;padding:9px 10px;border:1px solid #2f3431;border-radius:8px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.appointmentReadOnly small{color:#aaa}.appointmentHistory{margin-top:9px;border-top:1px solid #292d2b;padding-top:8px}.appointmentHistory summary{cursor:pointer;font-size:.76rem;font-weight:800;letter-spacing:.04em}.appointmentHistory small{display:block;color:#aaa;margin-top:5px}

/* BETA 0.8.6X2 — calendrier : rendez-vous sous la confrontation */
.fixture{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
  gap:12px;
}
.fixtureTeams{
  grid-column:1 / -1;
  width:100%;
  margin-bottom:2px;
}
.fixture > .appointment{
  min-width:0;
  width:auto;
  margin:0;
}
.fixtureActions{
  grid-column:1 / -1;
  justify-content:flex-end;
  margin-top:2px;
}
@media(max-width:900px){
  .fixture{grid-template-columns:1fr}
  .fixtureTeams,.fixtureActions{grid-column:1}
  .fixtureActions{justify-content:flex-start}
}


/* DÉMO — cartes compétition : respiration + statut visuel */
.competitionsList{padding-top:58px}
.competitionCard{position:relative}
.competitionCardTop{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:5px}
.competitionStatus{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid currentColor;font-size:10px;font-weight:900;letter-spacing:.08em;line-height:1;background:#fff}
.competitionStatus i{font-style:normal;font-size:13px;line-height:1}
.competitionStatus.active{color:#187a49;background:#edf8f1}
.competitionStatus.registration{color:#9a6512;background:#fff6e4}
.competitionStatus.ended{color:#555;background:#f0f0ed}
@media(max-width:620px){.competitionsList{padding-top:40px}.competitionCardTop{align-items:flex-start}.competitionStatus{white-space:nowrap}}

/* DÉMO D2 — bannière compétition cinéma */
.competitionHeroList{display:grid;gap:24px}
.competitionHero{position:relative;isolation:isolate;min-height:250px;border:2px solid #d6aa37;border-radius:18px;overflow:hidden;background:#08110e url('assets/competition_fuma_bodo.png') center center/cover no-repeat;color:#fff;display:grid;grid-template-columns:minmax(240px,34%) 1fr minmax(220px,30%);align-items:stretch;box-shadow:inset 0 0 0 1px rgba(0,0,0,.35)}
.competitionHero:focus-visible{outline:3px solid #fff;outline-offset:3px}
.competitionHeroShade{position:absolute;z-index:-1;top:0;bottom:0;width:43%;pointer-events:none}
.competitionHeroShade.left{left:0;background:linear-gradient(90deg,rgba(4,10,8,.94) 0%,rgba(4,10,8,.72) 62%,rgba(4,10,8,0) 100%)}
.competitionHeroShade.right{right:0;background:linear-gradient(270deg,rgba(4,10,8,.94) 0%,rgba(4,10,8,.72) 62%,rgba(4,10,8,0) 100%)}
.competitionHeroLeft,.competitionHeroRight{position:relative;z-index:2;padding:28px 30px;display:flex;flex-direction:column;min-width:0;text-shadow:0 2px 8px #000}
.competitionHeroLeft{grid-column:1;align-items:flex-start;justify-content:flex-end}
.competitionHeroRight{grid-column:3;align-items:flex-end;justify-content:space-between;text-align:right}
.competitionHeroSeason{font-size:12px;font-weight:900;letter-spacing:.18em;color:#e8c66a}
.competitionHero h3{margin:6px 0 10px;font-size:30px;line-height:1;font-weight:900;letter-spacing:.01em;color:#fff}
.competitionHeroLeft p{margin:0;font-size:13px;font-weight:800;letter-spacing:.06em;color:#fff}
.competitionHeroLeft small{margin-top:8px;color:#e8e1d0;font-weight:700}
.competitionStatus.hero{background:rgba(7,13,11,.82);backdrop-filter:blur(4px);font-size:11px;text-shadow:none}
.competitionStatus.hero.active{color:#77efaa;border-color:#77efaa}.competitionStatus.hero.registration{color:#ffd071;border-color:#ffd071}.competitionStatus.hero.ended{color:#ddd;border-color:#aaa}
.competitionHeroRound{margin-top:auto;margin-bottom:14px;font-size:12px;font-weight:900;letter-spacing:.12em;color:#fff}
.competitionOpen{border:1px solid #e1bd58;background:#d9b342;color:#111;padding:11px 16px;font-weight:950;letter-spacing:.06em;cursor:pointer}
.competitionOpen:hover{filter:brightness(1.08)}
.competitionMine{margin-top:14px}
@media(max-width:760px){.competitionHero{min-height:320px;grid-template-columns:1fr 1fr;background-position:center}.competitionHeroShade{width:62%}.competitionHeroLeft,.competitionHeroRight{padding:20px 18px}.competitionHeroLeft{grid-column:1}.competitionHeroRight{grid-column:2}.competitionHero h3{font-size:22px}.competitionHeroLeft p{font-size:11px}.competitionHeroRound{font-size:10px}}

/* DÉMO D3 — bannière semaine complète + panneaux alignés */
.competitionHero{
  min-height:250px;
  grid-template-columns:260px minmax(0,1fr) 260px;
  background-image:var(--competition-banner);
  background-position:center;
  background-size:cover;
  border:2px solid #d6aa37;
}
.competitionHeroShade{display:none!important}
.competitionHeroLeft,.competitionHeroRight{
  margin:16px;
  padding:22px;
  border:1px solid rgba(225,189,88,.8);
  border-radius:12px;
  min-height:216px;
  box-sizing:border-box;
}
.competitionHeroLeft{
  margin-right:0;
  background:rgba(5,10,9,.90);
  justify-content:center;
}
.competitionHeroRight{
  margin-left:0;
  background:#08663d;
  color:#fff;
  align-items:center;
  text-align:center;
  justify-content:space-between;
}
.competitionHeroRight.registration{background:#8a5a0b}
.competitionHeroRight.ended{background:#3d4240}
.competitionStatus.hero,.competitionStatus.hero.active,.competitionStatus.hero.registration,.competitionStatus.hero.ended{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;padding:10px 8px;border:0;background:transparent!important;color:#fff!important;
  font-size:15px;font-weight:950;letter-spacing:.08em;text-shadow:0 1px 3px #000;
}
.competitionStatus.hero i{color:#70f0a9;font-style:normal;font-size:18px}
.competitionHeroRight.registration .competitionStatus.hero i{color:#ffd071}
.competitionHeroRight.ended .competitionStatus.hero i{color:#ddd}
.competitionHeroRound{margin:auto 0 12px;color:#fff;font-size:14px;font-weight:950;letter-spacing:.12em;text-shadow:0 1px 3px #000}
.competitionOpen{width:100%;min-height:44px}
.fixtureTeams span{font-weight:800;letter-spacing:.01em}
.clubConfirm span,.weeklyMatchHint b{font-weight:800}
@media(max-width:760px){
  .competitionHero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:320px}
  .competitionHeroLeft,.competitionHeroRight{margin:12px;padding:16px;min-height:280px}
  .competitionHeroLeft{margin-right:4px}.competitionHeroRight{margin-left:4px}
}
/* D4 — paramètres FC27 + mailing compétition */
.fcSettingsGrid,.fcPublicGrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fcSettings{border:1px solid var(--line);padding:16px;display:grid;gap:10px;min-width:0}.fcSettings legend{font-weight:900;padding:0 8px}.fcTwo{display:grid;grid-template-columns:1fr 1fr;gap:10px}.competitionSettingsAdmin{margin-top:14px}.competitionSettingsAdmin hr{border:0;border-top:1px solid var(--line);margin:22px 0}.fcPublic{margin:18px 0}.fcPublicGrid>div{border:1px solid var(--line);padding:15px}.ruleRow{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--line);font-size:12px}.ruleRow b{text-align:right}.mailToolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.mailToolbar label{min-width:260px;font-size:11px;font-weight:800}.mailToolbar select{width:100%;margin-top:6px;padding:10px;border:1px solid var(--line);background:#fff}.mailPreview{margin-top:14px}.mailPreview textarea{width:100%;min-height:360px;padding:14px;border:1px solid var(--line);font:14px/1.45 monospace;resize:vertical}.mailMeta{background:#f3ead5;border-left:4px solid var(--gold);padding:10px 12px;margin-bottom:10px;font-size:12px}.mailActions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}@media(max-width:800px){.fcSettingsGrid,.fcPublicGrid,.fcTwo{grid-template-columns:1fr}.ruleRow{align-items:flex-start}}

/* D7 — identification club par longues bandes d'identité */
.fixtureTeam{display:flex;align-items:center;gap:10px;min-width:0;font-weight:800}
.fixtureTeam strong{font-weight:900;letter-spacing:.02em;white-space:nowrap}
.fixtureTeam.awayTeam{justify-content:flex-end}
.fixtureColorBands{width:232px;height:16px;display:flex;flex-direction:column;overflow:hidden;border:1px solid #6e6a5f;border-radius:2px;flex:0 0 232px;background:#111}
.fixtureColorBands i{display:block;flex:1;min-height:0}
@media(max-width:700px){.fixtureColorBands{width:150px;flex-basis:150px}.fixtureTeam{justify-content:center!important;flex-wrap:wrap}}

/* D7 — deux streams possibles pour une même rencontre */
.clubStreamRow{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr) auto;gap:10px;align-items:center;margin:10px 0}
.clubStreamRow input{width:100%;padding:12px;border:1px solid var(--line)}
.clubStreamRow span{font-size:.7rem;font-weight:900;letter-spacing:.04em;color:#777}
.liveGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.liveGrid.single{grid-template-columns:1fr}
.homeLiveGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0}.homeLiveGrid.single{grid-template-columns:1fr}.homeLiveFeed{background:#0d0d0c;border:1px solid #39362e;padding:8px}.homeLiveFeed b,.homeLiveFeed small{display:block}.homeLiveFeed small{color:#aaa;margin-top:3px}
@media(max-width:800px){.clubStreamRow{grid-template-columns:1fr}.liveGrid{grid-template-columns:1fr}.homeLiveGrid{grid-template-columns:1fr}}


/* D8 — accès LIVE visible directement depuis le calendrier */
.fixtureLiveQuick{grid-column:1 / -1;border:1px solid #cdbb8d;border-radius:10px;background:#f7f1e4;padding:10px 12px;margin-top:2px}
.fixtureLiveQuick summary{cursor:pointer;font-weight:950;letter-spacing:.03em;color:#171918}
.fixtureLiveLeg{display:grid;grid-template-columns:80px minmax(0,1fr);gap:10px;align-items:end;margin:10px 0}
.fixtureLiveLeg label{display:grid;gap:5px;font-size:11px;font-weight:900;color:#171918}
.fixtureLiveLeg input{width:100%;min-height:42px;padding:10px 12px;border:1px solid #9f9a8d;background:#fff;color:#171918;font-size:14px}
@media(max-width:700px){.fixtureLiveLeg{grid-template-columns:1fr}}

/* D9 — LIVE réellement saisissable et sauvegarde explicite */
.fixtureLiveQuick.openLive{display:block;background:#f7f1e4;border:2px solid #bca56c;padding:14px;margin-top:12px}
.liveQuickTitle{font-weight:950;letter-spacing:.04em;color:#171918;margin-bottom:4px}
.fixtureLiveInputs{display:grid;gap:10px}.liveQuickRow{display:grid;gap:6px}.liveQuickRow label{font-size:11px;font-weight:950;color:#171918}
.liveQuickControls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.liveQuickControls input{width:100%;min-height:44px;padding:10px 12px;border:1px solid #8f897c;background:#fff;color:#171918;font-size:14px}.liveQuickControls .primary{min-height:44px;white-space:nowrap}
@media(max-width:760px){.liveQuickControls{grid-template-columns:1fr}}

/* D10 LIVE functional + project contrast */
.projectIntro{color:#f7f2e7!important}.projectIntro h2,.projectIntro .label{color:#fff!important}.projectIntro p{color:#d8d3c8!important}
.liveManager{margin-bottom:24px}.liveManagerHead{color:#f7f2e7;margin-bottom:14px}.liveManagerHead h2{color:#fff;margin:6px 0}.liveManagerHead p{color:#d8d3c8}.liveMatchManager{margin-bottom:14px}.liveMatchTitle{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center;margin-bottom:14px;font-size:17px}.liveMatchTitle b:last-child{text-align:right}.liveQuickRow{margin:10px 0}.liveQuickRow label{display:block;font-weight:900;margin-bottom:6px}.liveQuickControls{display:grid;grid-template-columns:1fr auto;gap:8px}.liveQuickControls input{min-width:0;padding:11px;border:1px solid #bca56c;background:#fff;color:#111}.liveEmpty{margin-top:18px}@media(max-width:700px){.liveQuickControls{grid-template-columns:1fr}.liveMatchTitle{font-size:14px}}
/* D11 — LE PROJET : 12 cartes de présentation validées */
.projectGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.projectCard{display:flex;flex-direction:column;min-height:330px;border-top:4px solid #171918!important;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.projectCardTop{display:flex;align-items:center;justify-content:space-between;gap:12px}
.projectCardTop>b{font-size:32px!important;line-height:1;color:#171918!important}
.projectStatus{display:inline-flex;align-items:center;min-height:25px;padding:5px 9px;font-size:10px;font-weight:900;letter-spacing:.06em;border:1px solid #171918}
.projectStatus.ready{background:#171918;color:#fff}
.projectStatus.dev{background:#e6d5ad;color:#171918}
.projectCard h3{font-size:19px;letter-spacing:.02em;text-transform:uppercase;margin:16px 0 10px!important}
.projectCard .projectLead{font-size:13px!important;line-height:1.55!important;color:#383630!important;margin:0 0 14px!important;min-height:61px}
.projectCard ul{margin:auto 0 0;padding:14px 0 0 18px;border-top:1px solid #ddd6c8;color:#5a564e;font-size:12px;line-height:1.55}
.projectCard li{margin:4px 0}
.betaProjectNotice{display:flex;gap:12px;align-items:center;margin:0 0 22px;padding:13px 16px;border:1px solid #d7c79e;background:#e6d5ad;color:#171918;font-size:12px}
.betaProjectNotice b{white-space:nowrap}.betaProjectNotice span{color:#403b31}
@media(max-width:1050px){.projectGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.projectGrid{grid-template-columns:1fr}.projectCard{min-height:0}.projectCard .projectLead{min-height:0}.betaProjectNotice{display:block}.betaProjectNotice b{display:block;margin-bottom:5px}}

/* D12 — FONCTIONS + finition FUMA LIVE */
.homeLiveAlert{display:flex;align-items:center;gap:9px;margin-bottom:10px}.homeLiveAlert strong{font-size:13px;letter-spacing:.08em}.livePulse{font-size:12px;text-shadow:0 0 12px rgba(228,72,62,.65)}
.liveWatchBtn{width:100%;margin-top:10px;background:#b72b24!important;border-color:#b72b24!important;color:#fff!important;font-weight:950;letter-spacing:.05em}
.liveStage{margin-top:24px}.liveStageHead{background:#171612;color:#fff;padding:18px 20px;border-left:5px solid #c8322c;margin-bottom:14px}.liveStageHead h2{margin:5px 0}.liveStageHead p{margin:0;color:#c9c4b9}
.liveQuickLabel{display:flex;justify-content:space-between;gap:12px;align-items:center}.liveConfigured,.liveNotConfigured{font-size:10px;font-weight:950;letter-spacing:.05em;white-space:nowrap}.liveConfigured{color:#16834e}.liveNotConfigured{color:#777}
button.liveSaved,button.liveSaved:hover{background:#12663e!important;border-color:#12663e!important;color:#fff!important}
.youtubeFallback{display:inline-block;margin-top:10px;text-decoration:none}.livebox .youtubeFrame{display:block}
@media(max-width:700px){.liveQuickLabel{align-items:flex-start;flex-direction:column;gap:4px}}
/* D13 — participants, barème FUMA et confirmation LIVE */
.saveConfirmed,.liveSaved{background:#176b3a!important;color:#fff!important;border-color:#176b3a!important;box-shadow:0 0 0 3px rgba(23,107,58,.18)!important}
.phaseParticipants{border-top:1px solid rgba(0,0,0,.12);padding:16px 0}.phaseParticipants:first-of-type{border-top:0}.participantTeam{padding:12px;border:1px solid rgba(0,0,0,.12);border-radius:8px}.participantChecks{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:7px;margin-top:10px}.participantChecks label{font-size:.82rem;display:flex;gap:7px;align-items:center}.keeperControl{padding:12px;border:1px solid rgba(0,0,0,.12);border-radius:8px;display:grid;gap:8px}.keeperControl select{width:100%}.pointsForm .notice{margin:14px 0}.liveQuickControls .saveConfirmed{min-width:170px}

/* D16 — convention LIVE rouge / REPLAY bleu */
.homeReplayAlert{display:flex;align-items:center;gap:9px;margin-bottom:10px}.homeReplayAlert strong{font-size:13px;letter-spacing:.08em}.replayDot{color:#2f7fd7;font-size:12px;font-weight:950;text-shadow:0 0 12px rgba(47,127,215,.35)}.replayWatchBtn{background:#2f7fd7!important;border-color:#2f7fd7!important;color:#fff!important}.replayWatchBtn:hover{filter:brightness(1.08)}.homeLiveFeed.replayFeed{border-color:#2f7fd7}.replayStatus{background:#2f7fd7!important;color:#fff!important;border-color:#2f7fd7!important}.replayHead .label{background:#2f7fd7!important;color:#fff!important;border-color:#2f7fd7!important}
/* D22 — état des feuilles dans le calendrier */
.sheetMark{display:inline-flex;align-items:center;justify-content:center;margin-left:7px;font-weight:900;font-size:14px;line-height:1}.sheetProgress{color:#d8891c}.sheetDone{color:#1f9b57}.autoCleanNotice{margin-top:16px}

/* D24 — calendrier : confrontations fortement identifiables */
.fixture{
  border:3px solid #171713;
  border-radius:12px;
  padding:16px 16px 14px;
  margin:20px 0 34px;
  background:#faf8f2;
  box-shadow:0 5px 0 rgba(0,0,0,.10);
}
.fixture + .fixture{margin-top:34px}
.fixtureTeams{
  display:grid;
  grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);
  align-items:center;
  gap:14px;
  padding:3px 2px 14px;
  border-bottom:3px solid #171713;
  margin-bottom:14px;
}
.fixtureTeams > b{
  display:flex;align-items:center;justify-content:center;
  width:70px;height:38px;
  font-size:19px;font-weight:950;letter-spacing:.08em;
  color:#111;background:#e8d7af;border:2px solid #111;
}
.fixtureTeam{display:grid!important;align-items:center!important;gap:12px!important;min-width:0}
.fixtureTeam.homeTeam{grid-template-columns:34px 190px minmax(180px,1fr)}
.fixtureTeam.awayTeam{grid-template-columns:minmax(180px,1fr) 190px 34px}
.fixtureTeam strong{
  display:flex;align-items:center;
  width:190px;min-height:38px;
  font-size:18px!important;font-weight:950!important;letter-spacing:.025em!important;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.fixtureTeam.awayTeam strong{justify-content:flex-end;text-align:right}
.fixtureTeam .clubMark{width:34px;height:34px}
.fixtureColorBands{
  width:100%!important;height:32px!important;
  flex:1 1 auto!important;min-width:180px!important;
  border:2px solid #4d493f!important;border-radius:2px!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);
}
.fixtureActions{padding-top:12px;border-top:2px solid #c7b98f;gap:8px!important}
.fixtureActions .mini{min-height:38px;font-weight:900}
.sheetBadge{
  display:inline-flex;align-items:center;justify-content:center;
  margin-left:9px;padding:5px 8px;border-radius:3px;
  font-size:11px;font-weight:950;letter-spacing:.045em;line-height:1;
  color:#fff!important;vertical-align:middle;
}
.sheetBadge.sheetProgress{background:#d8891c;border:1px solid #a8650c}
.sheetBadge.sheetDone{background:#1f9b57;border:1px solid #126b3a}
@media(max-width:1050px){
  .fixtureTeam.homeTeam{grid-template-columns:34px 150px minmax(120px,1fr)}
  .fixtureTeam.awayTeam{grid-template-columns:minmax(120px,1fr) 150px 34px}
  .fixtureTeam strong{width:150px;font-size:15px!important}
}
@media(max-width:700px){
  .fixture{padding:12px;margin-bottom:26px}
  .fixtureTeams{grid-template-columns:1fr;gap:9px}
  .fixtureTeams > b{margin:auto}
  .fixtureTeam.homeTeam,.fixtureTeam.awayTeam{grid-template-columns:34px minmax(0,1fr)!important;width:100%}
  .fixtureTeam.awayTeam{direction:rtl}.fixtureTeam.awayTeam>*{direction:ltr}
  .fixtureTeam strong{width:auto!important;justify-content:flex-start!important;text-align:left!important}
  .fixtureColorBands{grid-column:1/-1;min-width:0!important;width:100%!important;height:26px!important}
}

/* D25 — banc de test Points FUMA : règlement compact + séparations franches */
.compactCompTop{align-items:start!important;margin:16px 0 22px!important}
.regulationCard{min-height:0!important;padding:16px 20px!important}
.regulationCard h3{margin:5px 0 8px!important;font-size:20px!important}
.regulationCard p{margin:6px 0!important;line-height:1.35!important}
.regulationCard .status{display:inline-flex;margin-top:8px!important;padding:6px 10px!important}
.week .fixture{position:relative;margin-bottom:44px!important}
.week .fixture:not(:last-child)::after{
  content:"";position:absolute;left:-3px;right:-3px;bottom:-26px;height:10px;
  background:#0d0e0d;border-radius:1px;
}
@media(max-width:700px){.week .fixture:not(:last-child)::after{bottom:-21px;height:8px}.week .fixture{margin-bottom:36px!important}}

/* D26 — HABILLAGE CALENDRIER : pelouse sombre pixelisée */
.calendarPitch{
  padding:18px 18px 22px;
  margin-top:10px;
  border:4px solid #0b0d0b;
  background-color:#285f35;
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.035) 50%,rgba(0,0,0,.035) 50%),
    linear-gradient(rgba(255,255,255,.025) 50%,rgba(0,0,0,.025) 50%);
  background-size:56px 56px,8px 8px;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.08);
}
.calendarPitch > .week{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
  margin:0 0 28px!important;
}
.calendarPitch > .week:last-child{margin-bottom:0!important}
.calendarPitch .weekHead{
  padding:14px 16px;
  margin:0 0 14px;
  background:#f8f5ec;
  border:3px solid #11130f;
  box-shadow:0 4px 0 rgba(0,0,0,.24);
}
.calendarPitch .weekHead h3{margin-bottom:0!important}
.calendarPitch .fixture{
  background:#faf8f2;
}
.calendarPitch .week + .week{
  border-top:14px solid #0b0c0b!important;
  padding-top:28px!important;
}
@media(max-width:700px){
  .calendarPitch{padding:10px;border-width:3px;background-size:42px 42px,8px 8px}
  .calendarPitch .weekHead{padding:11px 12px}
  .calendarPitch .week + .week{border-top-width:10px!important;padding-top:20px!important}
}

/* D27 — hiérarchie calendrier + stabilité d'affichage */
/* Le vert regroupe une journée : aucune barre noire entre ses rencontres. */
.calendarPitch .week .fixture:not(:last-child)::after{display:none!important;content:none!important}
.calendarPitch .week .fixture{margin-bottom:24px!important}
.calendarPitch .week .fixture:last-child{margin-bottom:0!important}
/* Une seule coupure forte entre deux journées. */
.calendarPitch .week + .week{border-top:24px solid #080908!important;padding-top:28px!important;margin-top:30px!important}
.proposalOwn{display:inline-flex;align-items:center;min-height:38px;padding:0 10px;border:1px solid #557b5e;background:#e6f0e7;color:#234c2d;font-size:11px;font-weight:950;letter-spacing:.03em}
@media(max-width:700px){.calendarPitch .week + .week{border-top-width:16px!important;margin-top:22px!important}.calendarPitch .week .fixture{margin-bottom:18px!important}}

/* D28 — correctif groupé : calendrier, accès compétition, feuille, statuts, rouges */
/* Journée = pelouse continue ; seule la transition de journée est noire. */
.calendarPitch .week .fixture{margin-bottom:18px!important}
.calendarPitch .week .fixture:not(:last-child){border-bottom:0!important}
.calendarPitch .week .fixture:not(:last-child)::after{display:none!important;content:none!important}
.calendarPitch .week + .week{border-top:28px solid #070807!important;padding-top:26px!important;margin-top:28px!important}
/* Page compétitions : aperçu compact, action visible sans défilement interne. */
.competitionsList{padding-top:18px!important}
.competitionHero{min-height:168px!important;height:168px!important;grid-template-columns:250px minmax(0,1fr) 230px!important;overflow:hidden!important}
.competitionHeroLeft,.competitionHeroRight{min-height:136px!important;margin:10px!important;padding:14px 16px!important}
.competitionHero h3{font-size:24px!important;margin:4px 0 7px!important}
.competitionHeroRound{margin-bottom:8px!important}
.competitionOpen{padding:9px 14px!important}
/* Score provisoire repérable depuis le calendrier. */
.sheetOutsideScore{display:inline-flex;align-items:center;margin-left:8px;padding:4px 8px;border:2px solid currentColor;font-weight:1000;font-size:12px;letter-spacing:.06em;background:#fff}
.sheetOutsideScore.provisional{color:#c51f1f;background:#fff1f1}
.sheetOutsideScore.final{color:#16733d;background:#eef8f1}
/* Feuille : vrai bandeau match, symétrique et prêt pour l'image de rotation. */
.matchScoreBanner{position:relative;isolation:isolate;min-height:260px;margin:18px 0 22px;border:2px solid #c9ae6b;border-radius:16px;overflow:hidden;background:#111 var(--match-banner) center/cover no-repeat;display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,520px) minmax(220px,1fr);align-items:center;color:#f5e5b9}
.matchScoreShade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(5,7,6,.88),rgba(5,7,6,.56) 34%,rgba(5,7,6,.56) 66%,rgba(5,7,6,.88))}
.matchClub{display:flex;align-items:center;gap:12px;padding:24px;font-size:19px;font-weight:950;letter-spacing:.04em;text-shadow:0 2px 7px #000}
.matchClubHome{justify-content:flex-start}.matchClubAway{justify-content:flex-end;text-align:right}
.matchScoreCenter{text-align:center;padding:22px 8px}.matchScoreCenter>strong{display:block;font-size:48px;line-height:1;margin-bottom:20px;text-shadow:0 3px 9px #000}
.phaseScoreStrip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.phaseScoreMini{padding:10px 12px;border:1px solid rgba(230,205,145,.7);background:rgba(8,10,9,.78);border-radius:9px}
.phaseScoreMini>span{display:block;margin-bottom:7px;font-size:10px;font-weight:950;letter-spacing:.16em;color:#e8c66a}
.phaseScoreMini>div{display:flex;justify-content:center;align-items:center;gap:8px}
.phaseScoreMini input{width:58px;height:42px;text-align:center;font-size:23px;font-weight:950;background:#f7f5ef;border:1px solid #bbb;color:#080808}
/* Carton rouge binaire : blanc / rouge. */
.redCell{text-align:center}.redToggle{display:inline-flex!important;margin:0!important;cursor:pointer}.redToggle input{position:absolute;opacity:0;pointer-events:none}.redToggle span{display:block;width:28px;height:28px;border:2px solid #9a9a94;background:#fff;box-shadow:inset 0 0 0 2px #fff}.redToggle input:checked+span{background:#d31515;border-color:#8e0d0d}.redToggle input:focus-visible+span{outline:3px solid #d8b75d;outline-offset:2px}
@media(max-width:900px){.competitionHero{height:auto!important;min-height:220px!important;grid-template-columns:1fr 1fr!important}.matchScoreBanner{grid-template-columns:1fr;min-height:0}.matchClubHome,.matchClubAway{justify-content:center;text-align:center}.matchScoreCenter{order:2}.matchClubHome{order:1}.matchClubAway{order:3}.phaseScoreStrip{grid-template-columns:1fr 1fr}}

/* D29 — sélection d'effectif sportive + bandeau compétition stable */
.competitionsList{padding-top:24px!important}
.competitionHero{height:280px!important;min-height:280px!important;grid-template-columns:280px minmax(0,1fr) 260px!important;transform:none!important;transition:box-shadow .18s ease,filter .18s ease!important}
.competitionHero:hover{transform:none!important;filter:brightness(1.025);box-shadow:inset 0 0 0 1px rgba(0,0,0,.35),0 10px 28px rgba(0,0,0,.16)!important}
.competitionHeroLeft,.competitionHeroRight{min-height:244px!important;margin:16px!important;padding:22px!important;transform:none!important}
.competitionHero h3{font-size:29px!important}
.competitionOpen{min-height:44px!important}

.phaseParticipants{padding:20px 0!important}
.phaseParticipants>.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:16px!important;align-items:stretch}
.playerTilePanel{background:color-mix(in srgb,var(--club-accent) 8%,#fff 92%);border:1px solid color-mix(in srgb,var(--club-accent) 38%,#c8c8c2 62%)!important;border-top:5px solid var(--club-accent)!important;border-radius:12px!important;padding:14px!important;min-width:0}
.participantTeamHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 2px 12px;border-bottom:1px solid rgba(0,0,0,.11)}
.participantClubIdentity{display:flex;align-items:center;gap:9px;min-width:0;font-size:15px;letter-spacing:.02em}.participantClubIdentity>b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.participantCounter{display:flex;align-items:baseline;gap:3px;min-width:78px;justify-content:flex-end;font-weight:950;color:#222}.participantCounter strong{font-size:25px}.participantCounter span{font-size:13px}.participantCounter i{font-style:normal;margin-left:4px}.participantCounter.ok{color:#16733d}.participantCounter.bad{color:#b91414}
.participantTiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.participantTile{appearance:none;width:100%;min-height:44px;display:grid;grid-template-columns:34px minmax(0,1fr) 22px;align-items:center;gap:8px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--club-accent) 30%,#c8c8c2 70%);border-radius:8px;background:rgba(255,255,255,.86);color:#171717;text-align:left;cursor:pointer;box-shadow:none;transition:background .12s ease,border-color .12s ease,box-shadow .12s ease}
.participantTile:hover:not(:disabled){border-color:var(--club-accent);box-shadow:0 2px 8px rgba(0,0,0,.08);transform:none}
.participantTile.selected{background:linear-gradient(100deg,color-mix(in srgb,var(--club-accent) 82%,#111 18%),color-mix(in srgb,var(--club-accent2) 70%,#111 30%));border-color:var(--club-accent);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
.participantTile:disabled{cursor:default;opacity:.72}.participantNumber{display:flex;align-items:center;justify-content:center;width:32px;height:28px;border-radius:6px;background:rgba(0,0,0,.075);font-size:13px;font-weight:1000}.participantTile.selected .participantNumber{background:rgba(0,0,0,.28)}
.participantPseudo{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900}.participantTick{text-align:center;font-size:17px;font-weight:1000}
.participationCard>.muted{margin-bottom:4px}
@media(max-width:900px){.competitionHero{height:auto!important;min-height:250px!important;grid-template-columns:1fr 1fr!important}.competitionHeroLeft,.competitionHeroRight{min-height:214px!important}.phaseParticipants>.two{grid-template-columns:1fr!important}.participantTiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.participantTiles{grid-template-columns:1fr}.competitionHero{grid-template-columns:1fr!important}.competitionHeroLeft,.competitionHeroRight{margin:10px!important}}

/* D30 — synthèse publique, permissions stats et hiérarchie statistiques */
@media(min-width:1180px){.rankingGrid{grid-template-columns:repeat(4,minmax(220px,1fr))}}
.matchScoreBanner{min-height:300px}
.matchClub{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:14px}
.matchClubTitle{display:flex;align-items:center;gap:12px;min-height:34px}
.matchClubAway .matchClubTitle{justify-content:flex-end}
.matchEvents{width:min(100%,310px);min-height:96px;padding:8px 10px;border-radius:8px;background:rgba(5,7,6,.48);border:1px solid rgba(232,198,106,.22);font-size:12px;text-shadow:0 2px 5px #000}
.matchClubAway .matchEvents{margin-left:auto}
.matchEventLine{display:flex;justify-content:space-between;gap:12px;padding:3px 0;border-bottom:1px solid rgba(255,255,255,.10)}
.matchEventLine:last-child{border-bottom:0}.matchEventLine>b{white-space:nowrap;color:#fff}.matchEventLine i{font-style:normal}
.matchScoreCenter>strong{display:flex;justify-content:center;align-items:center;gap:16px}.matchScoreCenter>strong span{font-size:.72em;color:#e8c66a;font-weight:700}
.phaseScoreMini>div>b{font-size:20px;color:#e8c66a;font-weight:800}
.statAddActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.redToggle.disabled{cursor:default;opacity:.65}
@media(max-width:900px){.matchEvents{margin:0 auto!important}.matchClubTitle{justify-content:center!important}.matchScoreBanner{min-height:0}}

/* D31M6 — classement clubs maître partagé accueil/statistiques */
.tableScroll{width:100%;overflow-x:auto}
.standingsMasterCard{overflow:hidden}
.masterStandingsPreview .officialClubStandings .competitionHeading{margin-top:.35rem}
.masterStandingsPreview .standingsMasterCard{padding:.8rem}
.masterStandingsPreview .table{min-width:920px}
button[disabled]{opacity:.52;cursor:not-allowed;filter:grayscale(.35)}

/* D31M7 — SECURITE AFFICHAGE / SCROLL PAGE
   Le document principal doit toujours rester scrollable verticalement,
   même avec les tableaux de classement larges. */
html,body{
  min-height:100%;
  height:auto!important;
  overflow-x:hidden;
  overflow-y:auto!important;
}
body{position:relative}
#app{
  min-height:calc(100vh - 78px);
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.section,.statsSection,.officialClubStandings,.standingsMasterCard{
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
.tableScroll{
  display:block;
  width:100%;
  max-width:100%;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch;
}
.tableScroll .table{
  min-width:980px;
}
@media(max-width:900px){
  #app{min-height:100vh}
  .tableScroll .table{display:table;min-width:980px}
}

/* D31M8 — classement officiel lié + accueil recalibré + top 25 statistiques */
.homeOfficialStandings{width:100%;min-width:0}
.homeOfficialStandings .competitionHeading{font-size:15px;line-height:1.25;margin:.25rem 0 .7rem}
.homeStandingsBox{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.homeStandingsTable{width:100%;min-width:620px;font-size:12px}
.homeStandingsTable th,.homeStandingsTable td{padding:8px 7px;white-space:nowrap}
.homeStandingsTable th:nth-child(2),.homeStandingsTable td:nth-child(2){min-width:145px;text-align:left}
.homeStandingsTable th:last-child,.homeStandingsTable td:last-child{min-width:180px;text-align:left}
.homeStandingsTable td:last-child small{display:block;font-size:10px;opacity:.72;margin-top:2px}
.masterStandingsPreview{min-width:0;overflow:hidden}
.masterStandingsPreview>.label{display:block;margin-bottom:5px}
.statsLimitBar{display:flex;justify-content:flex-end;align-items:center;margin:18px 0 10px}
.statsLimitBar label{font-size:12px;font-weight:800;letter-spacing:.7px}
.statsLimitBar select{margin-left:10px;padding:8px 10px;border:1px solid var(--line);background:#fff;font-weight:700}
.rankMore{padding:10px 4px 2px;text-align:center;font-size:11px;opacity:.65;font-weight:700}
@media(max-width:900px){.statsLimitBar{justify-content:flex-start}.statsLimitBar label{display:flex;flex-direction:column;gap:6px}.statsLimitBar select{margin-left:0}.homeStandingsTable{min-width:590px}}

/* D31M11 — validation visuelle uniforme des clics et changements */
button,.clickable,select,input[type="range"],input[type="checkbox"],input[type="radio"]{transition:filter .14s ease,transform .14s ease,box-shadow .14s ease,border-color .14s ease,background-color .14s ease}
button.uiConfirmed,.clickable.uiConfirmed{box-shadow:0 0 0 3px rgba(42,139,82,.24)!important;filter:brightness(1.06);transform:translateY(1px)}
select.uiChanged,input.uiChanged{box-shadow:0 0 0 3px rgba(42,139,82,.22)!important;border-color:#2a8b52!important}
.adminCompetitionHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.adminCompetitionHead h3{margin-bottom:0}.adminCompetitionHead .danger[disabled]{opacity:.5;cursor:not-allowed}
@media(max-width:700px){.adminCompetitionHead{flex-direction:column}.adminCompetitionHead .danger{width:100%}}

/* Accueil : classement compact sans défilement horizontal */
.homeStandingsBox{width:100%!important;overflow-x:visible!important}
.homeStandingsTable{width:100%!important;min-width:0!important;table-layout:fixed!important;font-size:11px!important}
.homeStandingsTable th,.homeStandingsTable td{padding:7px 5px!important;white-space:normal!important;overflow-wrap:anywhere;vertical-align:middle}
.homeStandingsTable th:nth-child(1),.homeStandingsTable td:nth-child(1){width:7%}
.homeStandingsTable th:nth-child(2),.homeStandingsTable td:nth-child(2){width:28%;min-width:0!important;text-align:left}
.homeStandingsTable th:nth-child(3),.homeStandingsTable td:nth-child(3){width:10%}
.homeStandingsTable th:nth-child(4),.homeStandingsTable td:nth-child(4){width:12%}
.homeStandingsTable th:nth-child(5),.homeStandingsTable td:nth-child(5){width:11%}
.homeStandingsTable th:nth-child(6),.homeStandingsTable td:nth-child(6){width:32%;min-width:0!important;text-align:left}
.homeStandingsTable td:last-child b,.homeStandingsTable td:last-child small{display:block;white-space:normal!important;overflow-wrap:anywhere}
.masterStandingsPreview{overflow:hidden}


/* D31M12 — règles lisibles + limite d'effectif bloquante */
.ruleNotice{padding:14px 16px}.ruleList{display:grid;gap:9px;margin-top:10px}.ruleList>div{display:grid;grid-template-columns:minmax(150px,210px) 1fr;gap:12px;padding:9px 0;border-top:1px solid rgba(23,25,24,.12)}.ruleList>div:first-child{border-top:0}.ruleList strong{font-size:11px;letter-spacing:.35px}.ruleList span{font-size:13px;line-height:1.35}.adminSquadRow{padding:14px 0}.adminSquadHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.squadCounter{font-size:11px;font-weight:900;padding:5px 8px;border:1px solid #9b927f;background:#fff}.squadCounter.full{background:#752d29;color:#fff;border-color:#752d29}.adminAssignControls{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:8px;align-items:center}.adminAssignControls select{width:100%;padding:9px;border:1px solid var(--line);background:#fff}.adminAssignControls select:disabled,.adminAssignControls button:disabled{opacity:.6;cursor:not-allowed}.assignStatus{min-height:20px;margin-top:7px;font-size:12px;font-weight:800}.assignStatus.ok{color:#1e6b46}.assignStatus.error{color:#752d29}.adminSquadRow.isFull{background:rgba(117,45,41,.035)}.squadFullNotice{border-left-color:#752d29}@media(max-width:700px){.ruleList>div{grid-template-columns:1fr;gap:3px}.adminAssignControls{grid-template-columns:1fr}.adminSquadHead{align-items:flex-start}}


/* D31M13 — joueur à l'honneur dans les statistiques */
.featuredPlayerCard{min-height:294px}
.featuredPlayerBody{padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px;height:100%}
.featuredIdentity{display:grid;grid-template-columns:62px 1fr;gap:12px;align-items:center}
.featuredAvatar{width:62px;height:62px;object-fit:cover;border-radius:50%;border:2px solid var(--gold);background:#eee}
.featuredAvatarFallback{display:flex;align-items:center;justify-content:center;font-size:28px}
.featuredIdentity strong{display:block;font-size:16px;line-height:1.1;color:#171612}
.featuredIdentity small{display:block;margin-top:4px;color:var(--muted);font-size:10px}
.featuredClub{display:flex;align-items:center;gap:6px;margin-top:5px;font-size:11px;font-weight:700;color:#5d513a}
.featuredClub .clubMark{width:22px;height:22px;flex:0 0 22px}
.featuredTags{display:flex;flex-wrap:wrap;gap:6px}
.featuredTag{display:inline-flex;padding:5px 7px;border:1px solid #c7a55a;background:#efe3c5;color:#171612;font-size:9px;font-weight:800;letter-spacing:.45px}
.featuredNumbers{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;border-top:1px solid #e1d7c3;border-bottom:1px solid #e1d7c3;padding:9px 0}
.featuredNumbers span{text-align:center;font-size:8px;color:var(--muted);font-weight:800;letter-spacing:.5px}
.featuredNumbers b{display:block;font-size:17px;color:#171612;margin-bottom:2px}
.featuredProfileBtn{margin-top:auto;width:100%}
.featuredEmpty{min-height:230px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--muted);font-size:11px;padding:20px}

/* D31M14 — sélection explicite d'une compétition avant suppression */
.competitionDeletePanel{border:1px solid rgba(196,160,69,.45);background:linear-gradient(180deg,rgba(196,160,69,.08),rgba(0,0,0,.08));margin-bottom:18px}
.adminCompetitionCard{transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.adminCompetitionCard.competitionSelected{border:2px solid #c9a84f;box-shadow:0 0 0 3px rgba(201,168,79,.14),0 10px 28px rgba(0,0,0,.16)}
.competitionPick{display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 12px;font-weight:800;letter-spacing:.04em;white-space:nowrap}
.competitionPick input{accent-color:#c9a84f;width:18px;height:18px;cursor:pointer}
.competitionPick.picked{border-color:#c9a84f;background:rgba(201,168,79,.12)}
.competitionPick span{font-size:.78rem}
#competitionDeleteAction{margin-top:10px;max-width:100%;white-space:normal}

/* D31M16 — confort accueil, profils effectif, droits club, diffusion club */
.masterStandingsPreview .homeStandingsBox{
  overflow-x:visible!important;
  overflow-y:visible!important;
  max-height:none!important;
}
.masterStandingsPreview .homeStandingsTable{
  width:100%!important;
  min-width:0!important;
  table-layout:fixed!important;
  font-size:12px!important;
}
.masterStandingsPreview .homeStandingsTable th,
.masterStandingsPreview .homeStandingsTable td{
  padding:9px 6px!important;
  line-height:1.18;
  white-space:normal!important;
  vertical-align:middle;
}
.masterStandingsPreview .homeStandingsTable tbody tr{height:38px}
.masterStandingsPreview{height:auto!important;min-height:0!important;overflow:visible!important}
.masterStandingsPreview .officialClubStandings{height:auto!important}
.masterStandingsPreview .competitionHeading{font-size:18px;line-height:1.2;margin:8px 0 10px}
.playerLink{background:none;border:0;padding:0;color:inherit;text-align:left;cursor:pointer;text-decoration:underline;text-decoration-color:#d8c59d;text-underline-offset:3px}
.playerLink:hover{color:#d8c59d}
.clubBroadcastCard{max-width:820px}
.clubBroadcastCard label{display:block;margin:12px 0}
.clubBroadcastCard select,.clubBroadcastCard input{width:100%;margin-top:6px}
.clubBroadcastActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.liveClubNotice{margin-top:14px}
@media(max-width:760px){.masterStandingsPreview .homeStandingsTable{font-size:10px!important}.masterStandingsPreview .homeStandingsTable th,.masterStandingsPreview .homeStandingsTable td{padding:7px 3px!important}}


/* D31M17 — confort lisibilité, règles à pastilles, accès profil effectif */
.ruleList strong{display:flex;align-items:flex-start;gap:8px}
.rulePoint{display:inline-block;flex:0 0 9px;width:9px;height:9px;border-radius:50%;margin-top:2px;box-shadow:0 0 0 2px rgba(0,0,0,.06)}
.rulePoint.rp1{background:#ee7f3b}.rulePoint.rp2{background:#2f9d61}.rulePoint.rp3{background:#c7a64a}.rulePoint.rp4{background:#b84b47}.rulePoint.rp5{background:#5b78b7}
.rosterNameLine{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rosterProfileBtn{margin-top:7px;padding:5px 9px;font-size:10px}
/* Accueil : le classement grandit avec le nombre de clubs, sans fenêtre interne ni scroll horizontal. */
.masterStandingsPreview{display:block!important;min-height:0!important;height:auto!important;max-height:none!important}
.masterStandingsPreview .homeOfficialStandings,
.masterStandingsPreview .homeStandingsBox,
.masterStandingsPreview .homeStandingsTable,
.masterStandingsPreview .homeStandingsTable tbody{height:auto!important;max-height:none!important}
.masterStandingsPreview .homeStandingsBox{overflow:visible!important}
.masterStandingsPreview .homeStandingsTable tbody tr{height:auto!important;min-height:38px}
.masterStandingsPreview .homeStandingsTable td{min-height:38px}
.masterStandingsPreview .homeStandingsTable th:nth-child(1),.masterStandingsPreview .homeStandingsTable td:nth-child(1){width:6%!important}
.masterStandingsPreview .homeStandingsTable th:nth-child(2),.masterStandingsPreview .homeStandingsTable td:nth-child(2){width:30%!important}
.masterStandingsPreview .homeStandingsTable th:nth-child(3),.masterStandingsPreview .homeStandingsTable td:nth-child(3){width:9%!important;text-align:center}
.masterStandingsPreview .homeStandingsTable th:nth-child(4),.masterStandingsPreview .homeStandingsTable td:nth-child(4){width:11%!important;text-align:center}
.masterStandingsPreview .homeStandingsTable th:nth-child(5),.masterStandingsPreview .homeStandingsTable td:nth-child(5){width:10%!important;text-align:center}
.masterStandingsPreview .homeStandingsTable th:nth-child(6),.masterStandingsPreview .homeStandingsTable td:nth-child(6){width:34%!important}
.masterStandingsPreview > .mini.wide{margin-top:12px}
@media(min-width:1051px){.homeColumns{grid-template-columns:minmax(245px,.76fr) minmax(500px,1.7fr) minmax(270px,.9fr)}}

/* D31M18 — calendrier par journée : une seule journée visible à la fois */
.competitionCalendarTitle{margin:28px 0 12px}.competitionCalendarTitle h2{margin:3px 0 0}
.competitionDayNav{margin:0 0 14px;padding:14px;border:1px solid rgba(205,177,122,.55);background:#121411}
.competitionDayTabs{display:flex;flex-wrap:wrap;gap:8px}
.competitionDayTab{appearance:none;border:2px solid #111;background:#f7f4eb;color:#121212;padding:10px 14px;font-size:14px;font-weight:1000;letter-spacing:.035em;cursor:pointer;box-shadow:0 2px 0 rgba(0,0,0,.18)}
.competitionDayTab:hover{transform:translateY(-1px)}
.competitionDayTab.active{background:#25a842;color:#fff;border-color:#0a0a0a;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;box-shadow:0 0 0 2px #25a842,0 4px 0 rgba(0,0,0,.35)}
.competitionDaySelectLabel{display:none;color:#d8c59d;font-size:12px;font-weight:950;letter-spacing:.08em}
.competitionDaySelect{width:100%;margin-top:7px;padding:11px;border:2px solid #111;background:#fff;color:#111;font-weight:900}
.calendarPitch>.activeCompetitionDay{margin:0!important;border-top:0!important;padding-top:0!important}
@media(max-width:700px){
 .competitionDayTabs{display:none}
 .competitionDaySelectLabel{display:block}
 .competitionDayNav{padding:10px}
}

/* D31M20 — confort club / plan de jeu */
/* +50% sur les joueurs affichés sur le terrain */
.pitchSlot{width:168px!important;height:168px!important}
.fieldPlayer .miniShirt{width:84px!important;height:75px!important}
.fieldPlayer .numberedKit>strong{top:35px!important;font-size:24px!important}
.fieldPlayer b{font-size:15px!important;max-width:160px!important;line-height:1.05}

/* État compétition du club : la liste officielle Admin fait foi */
.clubCompetitionsPanel{display:grid;gap:10px}
.clubCompetitionRow{display:grid;grid-template-columns:minmax(180px,1fr) minmax(230px,auto) auto;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.clubCompetitionRow:first-of-type{border-top:0}
.clubCompetitionRow>div{display:grid;gap:3px}.clubCompetitionRow small{display:block}.clubCompetitionRow>strong{font-size:12px}
.clubCompetitionRow.engaged>strong{color:#1d7047!important}
@media(max-width:760px){.clubCompetitionRow{grid-template-columns:1fr}.pitchSlot{width:132px!important;height:132px!important}.fieldPlayer .miniShirt{width:72px!important;height:64px!important}.fieldPlayer .numberedKit>strong{top:30px!important;font-size:20px!important}.fieldPlayer b{font-size:13px!important;max-width:128px!important}}

/* D31M20 — confort club / cohérence compétition / profil */
.pitchSlot{width:168px!important;height:168px!important}
.fieldPlayer .miniShirt{width:84px!important;height:75px!important}
.fieldPlayer .numberedKit>strong{top:35px!important;font-size:24px!important}
.fieldPlayer b{font-size:15px!important;max-width:160px!important;line-height:1.05}
.clubCompetitionsPanel{display:grid;gap:10px}
.clubCompetitionRow{display:grid;grid-template-columns:minmax(180px,1fr) minmax(230px,auto) auto;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.clubCompetitionRow:first-of-type{border-top:0}
.clubCompetitionRow>div{display:grid;gap:3px}.clubCompetitionRow small{display:block}.clubCompetitionRow>strong{font-size:12px}
.clubCompetitionRow.engaged>strong{color:#1d7047!important}
@media(max-width:760px){.clubCompetitionRow{grid-template-columns:1fr}.pitchSlot{width:132px!important;height:132px!important}.fieldPlayer .miniShirt{width:72px!important;height:64px!important}.fieldPlayer .numberedKit>strong{top:30px!important;font-size:20px!important}.fieldPlayer b{font-size:13px!important;max-width:128px!important}}
\n\n/* D31M21 — confort feuille + bannière compétition */
.competitionHero{grid-template-columns:230px minmax(0,1fr) 190px!important;height:250px!important;min-height:250px!important}
.competitionHeroLeft,.competitionHeroRight{min-height:214px!important;margin:16px!important;padding:18px!important;background:rgba(5,10,9,.88)!important;border:1px solid rgba(225,189,88,.72)!important}
.competitionHeroLeft{justify-content:center!important;margin-right:0!important}
.competitionHeroRight{justify-content:center!important;gap:12px!important;margin-left:0!important;color:#fff!important}
.competitionHeroClubs{display:flex;align-items:baseline;justify-content:center;gap:5px;width:100%;font-weight:1000;color:#fff;text-shadow:0 2px 6px #000}
.competitionHeroClubs b{font-size:25px;line-height:1}.competitionHeroClubs i{font-style:normal;color:#e8c66a}.competitionHeroClubs small{font-size:10px;letter-spacing:.14em;color:#e8c66a;margin-left:4px}
.competitionStatus.hero{width:auto!important;padding:5px 9px!important;border:1px solid currentColor!important;border-radius:999px!important;background:rgba(0,0,0,.35)!important;font-size:11px!important}
.competitionHeroRound{margin:0!important;font-size:12px!important}
.competitionOpen{width:auto!important;min-width:118px!important;min-height:38px!important;padding:8px 14px!important}
.compactCompTop{grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr)!important;align-items:stretch!important}
.regulationCard{min-height:220px!important;padding:24px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.regulationCard h3{font-size:27px!important;margin:.35rem 0 .65rem!important}.regulationCard p{font-size:15px!important;font-weight:800!important;line-height:1.5!important}.regulationCard .muted{font-weight:800!important;color:#3b352d!important}
.motmCard label{font-weight:900!important}.motmCard label>b{display:block;margin-bottom:6px;font-size:13px;letter-spacing:.04em}
.eventSticker{display:inline-flex;align-items:center;justify-content:center;padding:2px 5px;border-radius:5px;background:rgba(0,0,0,.48);border:1px solid rgba(255,255,255,.14);font-style:normal;line-height:1.2}.assistSticker{border-color:rgba(232,198,106,.55);color:#ffe18d}.goalSticker{color:#fff}.redSticker{padding-inline:4px}
@media(max-width:900px){.competitionHero{grid-template-columns:1fr 1fr!important;height:auto!important;min-height:240px!important}.competitionHeroLeft,.competitionHeroRight{min-height:204px!important}.compactCompTop{grid-template-columns:1fr!important}.regulationCard{min-height:0!important}}

/* D31M28P — classements joueurs : fenêtre fixe de 25 lignes avec scroll interne */
.standingsMasterCard .table{background:#171918!important;color:#eee9dd!important}
.standingsMasterCard .table td{color:#eee9dd!important}
.standingsMasterCard .table td b{color:#fff!important}
.standingsMasterCard .table th{color:#e5cd86!important}
.rankingList{max-height:1242px!important;overflow-y:auto!important;overflow-x:hidden!important;scrollbar-gutter:stable;overscroll-behavior:contain}
.rankingCard{height:auto!important;max-height:none!important}
.rankingList::-webkit-scrollbar{width:10px}
.rankingList::-webkit-scrollbar-track{background:#1113}
.rankingList::-webkit-scrollbar-thumb{background:#c4a85d;border-radius:8px;border:2px solid #f7f3e8}

/* D31M26 — Bannière compétition : image dégagée, cartouches lisibles */
.competitionHero{
  min-height:270px;
  display:grid;
  grid-template-columns:minmax(210px,28%) 1fr minmax(190px,24%);
  align-items:stretch;
  background-image:var(--competition-banner);
  background-position:center;
  background-size:cover;
  border:2px solid #d6aa37;
  border-radius:18px;
  overflow:hidden;
}
.competitionHero::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(2,7,6,.48) 0%,rgba(2,7,6,0) 32%,rgba(2,7,6,0) 68%,rgba(2,7,6,.42) 100%);
}
.competitionHeroLeft,.competitionHeroRight{
  position:relative;z-index:2;box-sizing:border-box;min-width:0;
  margin:18px;padding:18px 20px;min-height:auto;
  border:1px solid rgba(229,199,112,.82);border-radius:12px;
  background:rgba(7,12,10,.78);backdrop-filter:blur(3px);
  color:#fff;text-shadow:0 2px 5px rgba(0,0,0,.9);
}
.competitionHeroLeft{grid-column:1;align-self:center;justify-content:center;align-items:flex-start;margin-right:0}
.competitionHeroRight{grid-column:3;align-self:center;justify-content:center;align-items:stretch;text-align:left;margin-left:0;background:rgba(7,12,10,.78)!important}
.competitionHeroSeason{font-size:13px;font-weight:950;letter-spacing:.18em;color:#f1cf6e}
.competitionHero h3{margin:6px 0 8px;font-size:30px;line-height:1.05;font-weight:950;color:#fff}
.competitionHeroLeft p{margin:0;font-size:14px;font-weight:900;color:#fff}
.competitionHeroLeft small{margin-top:9px;font-size:11px;font-weight:850;color:#fff}
.competitionHeroMeta{display:grid;gap:10px;align-content:center}
.competitionStatus.hero,.competitionStatus.hero.active,.competitionStatus.hero.registration,.competitionStatus.hero.ended{
  width:auto;justify-content:flex-start;padding:0;border:0;background:transparent!important;
  color:#fff!important;font-size:15px;font-weight:950;letter-spacing:.08em;text-shadow:0 2px 5px #000;
}
.competitionHeroClubs{display:flex;align-items:baseline;gap:8px;color:#fff}
.competitionHeroClubs b{font-size:22px;font-weight:950;color:#fff}
.competitionHeroClubs small{font-size:10px;font-weight:900;letter-spacing:.10em;color:#f0e7cf}
.competitionHeroRound{margin:0;font-size:13px;font-weight:950;letter-spacing:.10em;color:#fff;text-shadow:0 2px 5px #000}
.competitionOpen{display:inline-block;margin-top:14px;width:auto;align-self:flex-start;padding:10px 14px;border:1px solid #e1bd58;background:#d9b342;color:#111;font-weight:950;letter-spacing:.06em;text-shadow:none}
@media(max-width:760px){
  .competitionHero{grid-template-columns:1fr;min-height:410px;background-position:center}
  .competitionHeroLeft,.competitionHeroRight{grid-column:1;margin:12px 14px;padding:14px 16px}
  .competitionHeroLeft{align-self:start;margin-bottom:0}
  .competitionHeroRight{align-self:end;margin-top:0}
  .competitionHero h3{font-size:24px}
}

/* D31M26 — Lisibilité typographique globale */
body,button,input,select,textarea{
  font-family:"Segoe UI",Arial,Helvetica,sans-serif;
  font-weight:500;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.pageTitle h1,.section>h2,.card>h2,.card>h3,.clubHero h2,.profile h2,
.competitionHero h3,.competitionStatus,.competitionHeroRound,.competitionHeroClubs b{
  font-weight:800;
}
.muted{color:#625d55}

/* D31M27 — 7 nouvelles bannières + calque dynamique lisible */
.competitionHeroV2{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1920/500!important;
  background-image:var(--competition-banner)!important;
  background-size:100% 100%!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
.competitionHeroV2::after{display:none!important}
.competitionHeroInfoBar{
  position:absolute;z-index:4;left:24.6%;right:24.2%;bottom:2.6%;
  min-height:42px;box-sizing:border-box;padding:7px 12px;
  display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;
  background:rgba(5,8,8,.80);border:1px solid rgba(226,184,67,.82);
  color:#fff;text-shadow:0 2px 5px #000;backdrop-filter:blur(2px)
}
.competitionHeroInfoBar b{font-size:17px;font-weight:950;letter-spacing:.04em;color:#fff}
.competitionHeroInfoBar span{font-size:10px;font-weight:800;letter-spacing:.06em;color:#e9d99f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.competitionHeroInfoBar em{font-style:normal;font-size:10px;font-weight:950;letter-spacing:.08em;color:#111;background:#d8ae38;padding:7px 9px;text-shadow:none}
.competitionHeroSeasonValue,.competitionHeroRoundValue,.competitionHeroClubsValue,.competitionHeroMatchesValue{
  position:absolute;z-index:5;text-align:center;color:#fff;font-weight:950;
  text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000,0 2px 5px #000;
  -webkit-text-stroke:.25px #000;line-height:1
}
.competitionHeroSeasonValue{right:5.35%;top:58.5%;width:13.5%;font-size:14px;letter-spacing:.08em;color:#f0ca61}
.competitionHeroRoundValue{left:80.1%;top:74.5%;width:5.7%;font-size:13px;color:#f0ca61}
.competitionHeroClubsValue{left:86.55%;top:74.5%;width:7.1%;font-size:13px;color:#f0ca61}
.competitionHeroMatchesValue{left:94.0%;top:74.5%;width:4.7%;font-size:13px;color:#f0ca61}
@media(max-width:900px){
  .competitionHeroV2{aspect-ratio:auto!important;min-height:220px!important;background-size:cover!important}
  .competitionHeroInfoBar{left:3%;right:3%;bottom:3%;grid-template-columns:1fr auto}
  .competitionHeroInfoBar span{grid-column:1/-1;grid-row:2;white-space:normal}
  .competitionHeroSeasonValue,.competitionHeroRoundValue,.competitionHeroClubsValue,.competitionHeroMatchesValue{display:none}
}

/* D31M28 — alignement des valeurs dynamiques dans le cartouche droit de la bannière */
.competitionHeroSeasonValue,.competitionHeroRoundValue,.competitionHeroClubsValue,.competitionHeroMatchesValue{
  box-sizing:border-box;
  padding:3px 5px;
  background:rgba(4,6,6,.76);
  border:1px solid rgba(231,190,73,.58);
  border-radius:999px;
  color:#f4cf63!important;
  line-height:1.05!important;
  transform:translateY(-50%);
  white-space:nowrap;
}
.competitionHeroSeasonValue{
  right:5.65%!important;
  top:64.0%!important;
  width:12.2%!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
}
.competitionHeroRoundValue{
  left:80.25%!important;
  top:82.0%!important;
  width:5.35%!important;
  font-size:12px!important;
}
.competitionHeroClubsValue{
  left:86.70%!important;
  top:82.0%!important;
  width:6.55%!important;
  font-size:12px!important;
}
.competitionHeroMatchesValue{
  left:94.10%!important;
  top:82.0%!important;
  width:4.20%!important;
  font-size:12px!important;
}

/* D31M28O — sous-feuilles par manche : identification forte conservée */
.phaseSheetCard{margin-top:18px;border:1px solid #d8b45d66;background:linear-gradient(180deg,#151515,#0d0d0d);position:relative;overflow:hidden}
.phaseSheetCard.phase-1{box-shadow:inset 0 4px 0 #d8b45d}.phaseSheetCard.phase-2{box-shadow:inset 0 4px 0 #65c08a}
.phaseSheetHead{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 18px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #d8b45d33}
.phaseIdentity{display:inline-flex;align-items:center;gap:12px;padding:9px 13px;border:1px solid #d8b45d55;border-radius:12px;background:linear-gradient(180deg,#201c12,#13110d);box-shadow:0 6px 16px #0004}
.phaseChip{display:inline-block;padding:7px 13px;border-radius:999px;background:linear-gradient(180deg,#f0cb6f,#c79622);color:#111;font-size:19px;font-weight:1000;letter-spacing:.11em;line-height:1}
.phaseIdentityText{font-size:10px;font-weight:1000;letter-spacing:.20em;color:#f3e3b9;text-transform:uppercase;white-space:nowrap}
.phaseSheetHead h2{margin:0;flex:1 1 100%;font-size:26px;line-height:1.08;font-weight:1000;color:#fff;text-shadow:0 1px 0 #000}
.phaseNotice{flex:1 1 100%;margin:0;padding:9px 11px;border-left:4px solid #d8b45d;background:#121212;color:#ddd!important;font-size:13px;line-height:1.35}
.phaseStats{margin-top:14px}.motmInline{display:none}.motmPanel{margin-top:18px;max-width:620px;border:1px solid #d8b45d88;border-radius:12px;background:linear-gradient(180deg,#17140d,#0e0e0d);padding:12px 14px;box-shadow:inset 4px 0 0 #d8b45d,0 8px 18px #0003}.motmPanelHead{display:flex;align-items:center;gap:12px;margin-bottom:10px}.motmStar{font-size:27px;line-height:1;color:#f0c95a;text-shadow:0 0 10px #d8b45d66}.motmPanelHead div{display:grid;gap:3px}.motmPanelHead b{font-size:14px;letter-spacing:.08em;color:#fff}.motmPanelHead small{font-size:11px;color:#bdb7a9}.motmPanel select{width:100%;max-width:520px;min-height:38px;border:1px solid #d8b45d99;background:#f5f2e9;color:#111;font-weight:800}.motmPanel select:disabled{opacity:.55}
.phaseSheetCard .participantTeam{margin-bottom:8px}
@media(max-width:720px){.phaseSheetCard{padding:12px}.phaseStats{overflow-x:auto}.phaseIdentity{width:100%;justify-content:space-between}.phaseChip{font-size:17px}.phaseIdentityText{font-size:9px}.phaseSheetHead h2{font-size:20px}.phaseNotice{font-size:12px}}

/* D31M28G — ACCÈS CLUBS : gabarit vestiaire dynamique, logo + couleurs du club */
.clubAccessSection{background:#0b0e0d;border-radius:18px;padding:18px!important;box-shadow:inset 0 0 0 1px #ffffff12}
.clubAccessIntro{min-height:74px;margin:0 0 18px;padding:15px 18px;border:1px solid #ffffff14;background:linear-gradient(100deg,#070908 0%,#101311 55%,#080a09 100%);display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:end;position:relative;overflow:hidden}
.clubAccessIntro:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 0 63%,#d8c59d10 63% 65%,transparent 65% 100%);pointer-events:none}
.clubAccessIntro>span{font-size:30px;line-height:1;font-weight:1000;letter-spacing:.15em;color:#d8c59d}.clubAccessIntro>b{font-size:13px;letter-spacing:.28em;color:#fff}.clubAccessIntro>p{grid-column:1/-1;margin:7px 0 0!important;color:#a7aaa7!important;font-size:10px;letter-spacing:.20em;font-weight:800}
.clubAccessGrid{display:grid;grid-template-columns:repeat(3,minmax(280px,1fr));gap:18px}
.clubAccessCard{--club-c1:#111;--club-c2:#d8c59d;--club-c3:#fff;min-height:330px;position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--club-c2) 58%,#696b67 42%);border-radius:12px;background:#0b0d0c;color:#fff;cursor:pointer;box-shadow:0 12px 28px #0005;isolation:isolate;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.clubAccessCard:hover{transform:translateY(-3px);box-shadow:0 18px 34px #0008;border-color:var(--club-c2)}
.clubAccessLocker{position:absolute;inset:0 0 112px 0;overflow:hidden;background:linear-gradient(180deg,color-mix(in srgb,var(--club-c1) 78%,#050505 22%),#101210 88%);z-index:-2}
.clubAccessLocker:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 7%,color-mix(in srgb,var(--club-c2) 58%,transparent),transparent 35%),linear-gradient(90deg,#0008 0 3%,transparent 3% 97%,#0008 97% 100%);opacity:.92}
.clubAccessLocker:after{content:"";position:absolute;left:0;right:0;bottom:0;height:35%;background:linear-gradient(180deg,transparent,#0008),repeating-linear-gradient(90deg,#ffffff09 0 1px,transparent 1px 50px);transform:perspective(220px) rotateX(57deg);transform-origin:bottom}
.lockerBay{position:absolute;top:18%;bottom:19%;width:27%;border:1px solid #ffffff18;border-top:3px solid color-mix(in srgb,var(--club-c2) 75%,#fff 25%);background:linear-gradient(90deg,#0005,transparent 35% 65%,#0005),linear-gradient(180deg,color-mix(in srgb,var(--club-c1) 88%,#111 12%),#151815);box-shadow:inset 0 0 18px #0008}
.lockerBay:before{content:"";position:absolute;left:18%;right:18%;top:18%;height:42%;border-left:2px solid color-mix(in srgb,var(--club-c3) 68%,transparent);border-right:2px solid color-mix(in srgb,var(--club-c3) 30%,transparent);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--club-c2) 22%,transparent),transparent);clip-path:polygon(24% 0,76% 0,100% 100%,0 100%);opacity:.68}
.bay1{left:4%}.bay2{left:36.5%}.bay3{right:4%}
.lockerBench{position:absolute;left:5%;right:5%;bottom:13%;height:13%;border-top:3px solid color-mix(in srgb,var(--club-c2) 62%,#eee 38%);background:linear-gradient(180deg,color-mix(in srgb,var(--club-c1) 70%,#242424 30%),#080909);box-shadow:0 9px 12px #0009}
.lockerLight{position:absolute;left:18%;right:18%;top:4%;height:5px;background:linear-gradient(90deg,transparent,var(--club-c2),var(--club-c3),var(--club-c2),transparent);filter:blur(.2px);box-shadow:0 0 18px 5px color-mix(in srgb,var(--club-c2) 55%,transparent)}
.clubAccessLogoSlot{position:absolute;top:48px;left:50%;translate:-50% 0;width:128px;height:128px;display:grid;place-items:center;z-index:2;filter:drop-shadow(0 8px 10px #000a)}
.clubAccessLogo{max-width:100%;max-height:100%;object-fit:contain}.clubAccessMonogram,.clubAccessPlus{width:100px;height:100px;display:grid;place-items:center;border:3px solid var(--club-c2);border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--club-c1) 85%,#111 15%),#090a09);color:var(--club-c3);font-size:30px;font-weight:1000;box-shadow:inset 0 0 0 3px #ffffff12}.clubAccessPlus{font-size:56px;font-weight:300;color:#d8c59d;border-color:#d8c59d}
.clubAccessInfo{position:absolute;left:0;right:0;bottom:0;min-height:124px;padding:14px 18px 15px;background:linear-gradient(100deg,#f7f4ec 0%,#fff 72%,color-mix(in srgb,var(--club-c2) 15%,#fff 85%) 100%);color:#111;border-top:4px solid var(--club-c2)}
.clubAccessInfo:after{content:"";position:absolute;right:-22px;bottom:-42px;width:130px;height:130px;border:22px solid color-mix(in srgb,var(--club-c1) 13%,transparent);transform:rotate(22deg);pointer-events:none}
.clubAccessEyebrow{display:block;color:color-mix(in srgb,var(--club-c1) 70%,#555 30%);font-size:9px;letter-spacing:.24em;font-weight:1000;margin-bottom:4px}.clubAccessInfo h3{margin:0 0 5px!important;font-size:22px;letter-spacing:.015em;color:#111!important}.clubAccessInfo p{margin:0 0 10px!important;font-size:12px;color:#4d4a43!important}.clubAccessInfo small{position:absolute;right:17px;top:18px;max-width:34%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#79766d}
.clubAccessButton{position:relative;z-index:2;border:1px solid color-mix(in srgb,var(--club-c2) 75%,#111 25%);background:#101312;color:#fff;padding:9px 13px;font-size:10px;font-weight:1000;letter-spacing:.05em;box-shadow:inset 4px 0 0 var(--club-c1);cursor:pointer}.clubAccessButton b{color:var(--club-c2);font-size:16px;margin-left:10px}.clubAccessButton:hover{background:color-mix(in srgb,var(--club-c1) 76%,#111 24%)}.clubAccessButton.create{background:#d8c59d;color:#111;border-color:#c7aa70;box-shadow:none}.clubAccessButton.create b{color:#111}
.clubAccessCreate .clubAccessLocker{filter:saturate(.5)}
@media(max-width:1100px){.clubAccessGrid{grid-template-columns:repeat(2,minmax(280px,1fr))}}
@media(max-width:700px){.clubAccessSection{padding:10px!important}.clubAccessGrid{grid-template-columns:1fr}.clubAccessCard{min-height:310px}.clubAccessLogoSlot{top:42px;width:116px;height:116px}.clubAccessInfo h3{font-size:19px}}

/* D31M28H — signatures fictives sur les trois sièges du vestiaire */
.lockerBench{display:grid;grid-template-columns:repeat(3,1fr);align-items:center;padding:0 4%;overflow:visible}
.lockerBench:before,.lockerBench:after{content:"";position:absolute;top:9%;bottom:9%;width:1px;background:#ffffff16;box-shadow:0 0 8px #0006}
.lockerBench:before{left:33.333%}.lockerBench:after{left:66.666%}
.clubSeatSignature{position:relative;z-index:2;display:block;text-align:center;max-width:92%;margin:auto;color:color-mix(in srgb,var(--club-c3) 72%,var(--club-c2) 28%);font-family:"Brush Script MT","Segoe Script","URW Chancery L",cursive;font-size:clamp(15px,1.55vw,23px);font-weight:700;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 0 #000,0 0 7px color-mix(in srgb,var(--club-c2) 42%,transparent);opacity:.9;pointer-events:none;filter:drop-shadow(0 1px 1px #0008)}
.clubSeatSignature.sig1{transform:rotate(-7deg) translateY(1px)}
.clubSeatSignature.sig2{transform:rotate(4deg) translateY(-1px)}
.clubSeatSignature.sig3{transform:rotate(-3deg) translateY(2px)}
.clubSeatSignature.empty{opacity:0}
@media(max-width:700px){.clubSeatSignature{font-size:16px}}


/* D31M28I — vestiaire: centre libéré, logo bas-droite, 3 signatures recadrées */
.clubAccessLogoSlot{
  top:auto!important;
  left:auto!important;
  right:7%!important;
  bottom:122px!important;
  translate:0 0!important;
  width:86px!important;
  height:86px!important;
  z-index:3!important;
  filter:drop-shadow(0 7px 9px #000a)!important;
}
.clubAccessMonogram,.clubAccessPlus{
  width:72px!important;
  height:72px!important;
  border-radius:14px!important;
  font-size:23px!important;
}
.clubAccessPlus{font-size:43px!important}

/* la zone centrale du vestiaire reste visuellement dégagée */
.clubAccessLocker .bay2:before{opacity:.30!important}

.lockerBench{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  align-items:start!important;
  padding:0 5% 10px!important;
  overflow:hidden!important;
  bottom:14%!important;
  height:14%!important;
}
.lockerBench:before,.lockerBench:after{
  top:11%!important;
  bottom:12%!important;
}
.clubSeatSignature{
  align-self:start!important;
  max-width:84%!important;
  margin:-7px auto 0!important;
  font-size:clamp(13px,1.12vw,18px)!important;
  line-height:.92!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.clubSeatSignature.sig1{transform:rotate(-7deg) translateY(-1px)!important}
.clubSeatSignature.sig2{transform:rotate(4deg) translateY(-3px)!important}
.clubSeatSignature.sig3{transform:rotate(-3deg) translateY(-1px)!important}

@media(max-width:700px){
  .clubAccessLogoSlot{right:6%!important;bottom:118px!important;width:72px!important;height:72px!important}
  .clubAccessMonogram,.clubAccessPlus{width:62px!important;height:62px!important}
  .clubSeatSignature{font-size:13px!important;max-width:80%!important}
}


/* D31M28J — signatures réellement placées dans les trois cadres du vestiaire */
.lockerBench{display:block!important;padding:0!important;overflow:hidden!important}
.lockerBench:before,.lockerBench:after{display:none!important}
/* D31M28L — signatures un peu plus basses dans les cadres du vestiaire */
.lockerSignatures{
  position:absolute;
  left:4%;
  right:4%;
  top:18%;
  bottom:21%;
  display:grid;
  grid-template-columns:27% 27% 27%;
  justify-content:space-between;
  align-items:start;
  z-index:2;
  pointer-events:none;
}
.lockerSignatures .clubSeatSignature{
  display:block;
  width:84%!important;
  max-width:84%!important;
  margin:15% auto 0!important;
  text-align:center;
  font-size:clamp(13px,1.15vw,18px)!important;
  line-height:1!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  color:color-mix(in srgb,var(--club-c3) 72%,var(--club-c2) 28%)!important;
  text-shadow:0 1px 0 #000,0 0 7px color-mix(in srgb,var(--club-c2) 42%,transparent)!important;
}
.lockerSignatures .clubSeatSignature.sig1{transform:rotate(-7deg)!important}
.lockerSignatures .clubSeatSignature.sig2{transform:rotate(4deg)!important}
.lockerSignatures .clubSeatSignature.sig3{transform:rotate(-3deg)!important}
.lockerSignatures .clubSeatSignature.empty{opacity:0!important}
@media(max-width:700px){
  .lockerSignatures .clubSeatSignature{font-size:13px!important;margin:18% auto 0!important;width:80%!important;max-width:80%!important}
}

@media(max-width:720px){.motmPanel{max-width:none;padding:10px 11px}.motmPanelHead b{font-size:13px}.motmPanel select{max-width:none}}


/* D31M28O — cartouches clubs du bandeau score : largeur et lisibilité */
.matchClubTitle{width:100%;min-height:52px;padding:8px 12px;border:1px solid rgba(232,198,106,.38);border-radius:9px;background:rgba(7,9,8,.66);box-sizing:border-box}
.matchClubTitle b{display:block;min-width:0;flex:1;font-size:clamp(15px,1.65vw,21px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.matchClubHome .matchClubTitle{justify-content:flex-start}.matchClubAway .matchClubTitle{justify-content:flex-end}
@media(min-width:901px){.matchClub{min-width:0}.matchClubTitle{min-width:220px}.matchScoreCenter{min-width:360px}}

/* D31M28O — signatures légères lors de la consultation d'un club */
.clubConsultSignatures{margin-top:9px;display:grid;gap:4px}.clubConsultSignatures>small{font-size:8px;font-weight:1000;letter-spacing:.18em;color:var(--club-primary-dark)}
.clubConsultSignatures>div{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.clubConsultSignature{font-family:"Brush Script MT","Segoe Script","URW Chancery L",cursive;font-size:17px;font-weight:700;color:var(--club-primary-dark);text-shadow:0 1px 0 #fff;opacity:.88;display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.clubConsultSignature.sig1{transform:rotate(-4deg)}.clubConsultSignature.sig2{transform:rotate(3deg)}.clubConsultSignature.sig3{transform:rotate(-2deg)}.clubConsultSignature.empty{display:none}

/* D31M28Q — ergonomie EFFECTIF : action de recrutement visible en haut à droite */
.recruitmentPanelCard{align-self:start}
.recruitmentTop{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,42%);gap:18px;align-items:start;margin-bottom:14px}
.recruitmentTop h3{margin:4px 0 8px}
.recruitmentQuickAction{border:1px solid #d8c59d66;background:linear-gradient(180deg,#151713,#0e100e);padding:13px 14px;box-shadow:inset 4px 0 0 #d8c59d}
.recruitmentQuickAction .label{display:block;margin-bottom:8px}
.recruitmentQuickAction label{display:grid;gap:6px;margin:0 0 10px;font-weight:800}
.recruitmentQuickAction select{width:100%;min-width:0}
.recruitmentQuickAction .primary{margin:0}
.recruitmentQuickFull{margin:0}
@media(max-width:980px){.recruitmentTop{grid-template-columns:1fr}.recruitmentQuickAction{order:-1}}


/* D31M28R — ergonomie saisie feuille de match */
.keeperControl>b{font-size:13px;letter-spacing:.07em;text-transform:uppercase;color:#f0d480}
.matchEditLockNotice,.matchEditLockMine{display:grid;gap:5px;margin:12px 0 14px;padding:12px 14px;border-radius:8px}
.matchEditLockNotice{border-left:5px solid #b93a36;background:#2a1110;color:#f5ddd9}
.matchEditLockNotice b{color:#ffb5ad;letter-spacing:.08em}.matchEditLockNotice span{font-size:13px}
.matchEditLockMine{border-left:5px solid #d8b45d;background:#1d190f;color:#ead9a7}.matchEditLockMine b{letter-spacing:.08em}
.motmPanelHead small{font-weight:800;color:#d7caa9!important}


/* D31M28S — HDM explicite + ordre unique des classements clubs */
.motmPanelHead{display:grid!important;gap:5px!important;align-items:start!important}
.motmTitleLine{display:flex;align-items:center;gap:10px;min-width:0}
.motmTitleText{display:inline-block!important;color:#fff!important;font-size:15px!important;font-weight:1000!important;letter-spacing:.07em!important;text-transform:uppercase;line-height:1.15;text-shadow:0 1px 0 #000}
.motmStar{flex:0 0 auto}
.motmPanelHead>small{padding-left:38px}
.standingsOrderTable th,.standingsOrderTable td{white-space:nowrap}
.standingsOrderTable .stPts{font-weight:1000}
.homeStandingsBox{overflow-x:auto}
.homeStandingsTable{min-width:720px}
@media(max-width:1180px){.homeStandingsTable .stVd,.homeStandingsTable .stVe{display:none}}
@media(max-width:980px){.homeStandingsTable .stBp,.homeStandingsTable .stBc{display:none}}
@media(max-width:820px){.homeStandingsTable .stV,.homeStandingsTable .stN,.homeStandingsTable .stD{display:none}.homeStandingsTable{min-width:520px}}
@media(max-width:620px){.homeStandingsTable .stDiff{display:none}.homeStandingsTable{min-width:390px}.motmPanelHead>small{padding-left:0}}


/* D31M28T — Database : filtres statut + accès rapide par clubs */
.databaseControlBar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.databaseControlBar .databaseFilters{margin-bottom:0;flex:1 1 auto}
.databaseClubQuick{display:flex;gap:8px;max-width:48%;overflow-x:auto;padding:1px 2px 5px;scrollbar-width:thin}
.databaseClubLogoBtn{flex:0 0 42px;width:42px;height:42px;padding:3px;border:1px solid var(--line);background:#fff;display:grid;place-items:center;border-radius:4px;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.databaseClubLogoBtn:hover{transform:translateY(-1px);border-color:var(--sand)}
.databaseClubLogoBtn.active{border:2px solid var(--gold);box-shadow:0 0 0 2px #d8c59d55;background:#fffaf0}
.databaseClubLogoBtn img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.databaseClubLogoBlank{display:block;width:28px;height:28px;border:1px dashed #cfc6b4;border-radius:3px;background:linear-gradient(135deg,#faf8f2,#efebe2)}
.standingsOrderTable .stTop{min-width:150px}
.standingsOrderTable .stTop small{display:block;font-size:10px;opacity:.72;margin-top:2px;white-space:normal}
@media(max-width:980px){.databaseControlBar{flex-direction:column}.databaseClubQuick{max-width:100%;width:100%}}
@media(max-width:1180px){.homeStandingsTable .stVd,.homeStandingsTable .stVe{display:none}}
@media(max-width:980px){.homeStandingsTable .stBp,.homeStandingsTable .stBc{display:none}}
@media(max-width:820px){.homeStandingsTable .stV,.homeStandingsTable .stN,.homeStandingsTable .stD{display:none}.homeStandingsTable{min-width:560px}}
@media(max-width:620px){.homeStandingsTable .stDiff{display:none}.homeStandingsTable{min-width:470px}}


/* D31M28V — présence joueurs, couche visuelle indépendante */
.presenceDot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:middle;border:1px solid #0005;box-shadow:0 0 0 2px #ffffff0d}
.presenceDot.online{background:#55d66b;box-shadow:0 0 8px #55d66b88}
.presenceDot.recent{background:#e2a84a;box-shadow:0 0 7px #e2a84a66}
.presenceDot.offline{background:#686b69}
.databaseFilters button.active{font-weight:900}

/* D31M28W — calibration définitive des informations dynamiques du visuel COMPÉTITION
   Règle : SAISON lisible puis valeur dessous ; compteurs au-dessus des trois icônes. */
.competitionHeroSeasonValue{
  top:70.5%!important;
  right:5.65%!important;
  width:12.2%!important;
}
.competitionHeroRoundValue{
  top:68.0%!important;
  left:80.25%!important;
  width:5.35%!important;
}
.competitionHeroClubsValue{
  top:68.0%!important;
  left:86.70%!important;
  width:6.55%!important;
}
.competitionHeroMatchesValue{
  top:68.0%!important;
  left:94.10%!important;
  width:4.20%!important;
}


/* D31M28X — COMPÉTITION : panneau bas robuste, commun aux 7 fonds.
   Les icônes/cartouches imprimés dans le fond sont masqués par un panneau dynamique propre. */
.competitionHeroRoundValue,.competitionHeroClubsValue,.competitionHeroMatchesValue{display:none!important}
.competitionHeroStatsPanel{
  position:absolute;
  z-index:6;
  left:78.7%;
  right:.65%;
  top:74.0%;
  bottom:7.3%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:center;
  background:linear-gradient(180deg,rgba(5,7,6,.90),rgba(5,7,6,.96));
  border-top:1px solid rgba(231,190,73,.72);
  border-bottom:1px solid rgba(231,190,73,.36);
  box-shadow:0 -5px 14px rgba(0,0,0,.20),0 5px 14px rgba(0,0,0,.22);
  overflow:hidden;
}
.competitionHeroStat{
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:2px 4px;
  text-align:center;
  color:#fff;
  box-sizing:border-box;
}
.competitionHeroStat+.competitionHeroStat{border-left:1px solid rgba(231,190,73,.25)}
.competitionHeroStat strong{
  display:block;
  color:#f4cf63;
  font-size:clamp(12px,.92vw,17px);
  font-weight:1000;
  line-height:1;
  letter-spacing:.035em;
  text-shadow:0 2px 4px #000;
  white-space:nowrap;
}
.competitionHeroStat small{
  display:block;
  max-width:100%;
  color:#f5f1e6;
  font-size:clamp(7px,.48vw,10px);
  line-height:1.05;
  font-weight:900;
  letter-spacing:.035em;
  white-space:nowrap;
  text-shadow:0 1px 3px #000;
}
@media(max-width:900px){
  .competitionHeroStatsPanel{display:none!important}
}

/* D31M28Y — gouvernance : validation joueurs/clubs + règles signées + statuts admin */
.playerRulesBox{margin-top:12px;border-left:4px solid #d8b45d;background:#15130e}
.playerRulesBox p{margin:8px 0;color:#ddd}.rulesSign{display:flex!important;gap:10px;align-items:flex-start;padding:10px;background:#0c0c0c;border:1px solid #d8b45d55}.rulesSign input{width:auto!important;margin-top:3px}
.adminPlayerStatusCard{margin-top:16px;border-color:#d8b45d66}.adminStatusButtons{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.clubRequestStatus{margin-top:18px}.clubRequestStatus .offer{margin-top:10px}
.clubCompetitionsPanel .clubCompetitionRow{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1.2fr) auto;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #ffffff12}.clubCompetitionsPanel .clubCompetitionRow:last-child{border-bottom:0}.clubCompetitionRow>div:first-child{display:grid;gap:3px}.clubCompetitionRow>div:last-child{display:flex;gap:6px;justify-content:flex-end;align-items:center}
@media(max-width:760px){.clubCompetitionsPanel .clubCompetitionRow{grid-template-columns:1fr}.clubCompetitionRow>div:last-child{justify-content:flex-start}}

/* D31M28AA — audit: contrôle Admin joueur rendu immédiatement visible */
.publicProfile .adminPlayerStatusCard{
  margin:16px 0 20px!important;
  padding:16px!important;
  border:2px solid #d8b45d!important;
  background:linear-gradient(180deg,#211b0f,#12100c)!important;
  box-shadow:0 0 0 3px #d8b45d18,0 10px 24px #0005!important;
}
.publicProfile .adminPlayerStatusCard .label{color:#f0ca69!important;font-weight:1000!important;letter-spacing:.15em!important}
.publicProfile .adminPlayerStatusCard h3{margin:4px 0 7px!important;color:#fff!important}
.publicProfile .adminStatusButtons{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin-top:10px!important}


/* D31M28AC — états d'interface explicites + contrôle admin joueur */
button:not([disabled]):hover{filter:brightness(1.08);box-shadow:0 0 0 2px rgba(216,197,157,.18)}
button:not([disabled]):active,button.uiPressed{transform:translateY(1px) scale(.985)!important;filter:brightness(.94)!important;box-shadow:inset 0 2px 5px rgba(0,0,0,.28)!important}
button[disabled],select[disabled],input[disabled]{opacity:.48!important;cursor:not-allowed!important;filter:grayscale(.45)!important}
button[disabled]{box-shadow:none!important}
button.adminMasterActive[disabled]{opacity:1!important;filter:none!important;background:#1e6b46!important;color:#fff!important;border-color:#1e6b46!important;cursor:default!important}
.adminMasterReturn{border-color:#d8c59d!important;color:#f4e4b7!important;background:#252219!important}
input[type="checkbox"],input[type="radio"]{accent-color:#d8c59d;cursor:pointer}
label.controlChecked{box-shadow:inset 0 0 0 2px rgba(216,197,157,.55)}
.adminRange{accent-color:#d8c59d;cursor:ew-resize!important;min-height:28px}
.adminRange::-webkit-slider-thumb{cursor:grab}.adminRange:active::-webkit-slider-thumb{cursor:grabbing}
.controlHint{display:block;margin-top:4px;color:#a8a397;font-size:9px;font-weight:900;letter-spacing:.08em}
.adminPlayerStatusCard{max-width:760px;margin:0 0 14px!important;border:2px solid #d8b45d!important;background:linear-gradient(180deg,#1b1912,#101110)!important;box-shadow:0 10px 28px #0005,inset 5px 0 0 #d8b45d!important;color:#fff!important}
.adminPlayerStatusCard .muted{color:#c3beb0!important}
.adminStatusHead{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.adminCurrentStatus{padding:7px 10px;border:1px solid #d8b45d77;background:#0e100f;color:#f2d98d;font-size:11px;letter-spacing:.08em}
.adminStatusButtons{display:grid!important;grid-template-columns:repeat(3,minmax(150px,1fr));gap:9px!important;margin-top:12px!important}
.adminStatusChoice{min-height:42px!important;border-width:2px!important;opacity:.82}
.adminStatusChoice.isSelected{opacity:1!important;box-shadow:0 0 0 3px rgba(216,180,93,.24),inset 0 -3px 0 rgba(255,255,255,.13)!important;border-color:#f0c95a!important;font-weight:1000!important}
.adminStatusChoice[aria-pressed="true"]{cursor:default}
@media(max-width:700px){.adminStatusButtons{grid-template-columns:1fr!important}.adminStatusHead{align-items:flex-start}}

/* D31M28AD — Administration compacte par domaines */
.adminDashboard{position:relative}
.adminQuickSummary{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px;margin-bottom:12px}
.adminQuickSummary>div{background:linear-gradient(180deg,#171914,#0e100d);border:1px solid #d8b45d38;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-height:62px}
.adminQuickSummary span{font-size:9px;letter-spacing:.18em;color:#9f9b90;font-weight:900}.adminQuickSummary b{font-size:15px;color:#f2dfad}
.adminPanelNav{position:sticky;top:8px;z-index:25;display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:8px;padding:8px;margin:0 0 18px;background:#090b09ed;border:1px solid #ffffff12;border-radius:14px;backdrop-filter:blur(8px);box-shadow:0 8px 22px #0008}
.adminPanelNav button{min-height:68px;border:1px solid #ffffff17;border-radius:10px;background:#141614;color:#c9cbc7;padding:8px 10px;text-align:left;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:2px 8px;cursor:pointer;transition:.16s ease}
.adminPanelNav button:hover{border-color:#d8b45d88;background:#191b17}.adminPanelNav button.active{border-color:#d8b45d;background:linear-gradient(180deg,#272214,#17150f);box-shadow:inset 0 0 0 1px #d8b45d44,0 5px 16px #0006}
.adminPanelNav button b{font-size:11px;letter-spacing:.08em;color:#fff}.adminPanelNav button span{grid-row:1/3;grid-column:2;font-size:20px;font-weight:1000;color:#d8b45d;align-self:center}.adminPanelNav button small{font-size:9px;color:#888d87;letter-spacing:.04em}
.adminPanelBody{min-height:420px}.adminSectionLead{margin:2px 0 14px;padding:14px 16px;border-left:4px solid #d8b45d;background:linear-gradient(90deg,#17150f,#10110f)}.adminSectionLead h2{margin:3px 0 5px}.adminSectionLead p{margin:0}
.adminActionCounts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.adminActionCounts>div{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #ffffff12;border-radius:10px;background:#111311}.adminActionCounts b{font-size:26px;color:#d8b45d}.adminActionCounts span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#ccc}
.adminRulesSummary{margin-bottom:14px}
@media(max-width:900px){.adminQuickSummary{grid-template-columns:repeat(2,1fr)}.adminPanelNav{grid-template-columns:repeat(2,1fr);position:static}.adminActionCounts{grid-template-columns:1fr}}
@media(max-width:560px){.adminQuickSummary{grid-template-columns:1fr 1fr}.adminPanelNav{grid-template-columns:1fr}.adminPanelNav button{min-height:56px}}


/* D31M28AE — alertes administratives : point rouge uniquement si action attendue */
.adminAlertDot{display:inline-block;width:10px;height:10px;margin-left:7px;border-radius:50%;background:#e32222;box-shadow:0 0 0 0 rgba(227,34,34,.72);vertical-align:middle;animation:adminAlertPulse 1.15s ease-out infinite}
.adminPanelNav b .adminAlertDot{position:relative;top:-1px}
.adminActionCounts>div{position:relative}
.adminActionCounts>div>.adminAlertDot{position:absolute;top:10px;right:10px;width:11px;height:11px;margin:0}
.adminActionCounts>div.hasPending{border-color:#e3222255;box-shadow:inset 3px 0 0 #e32222}
@keyframes adminAlertPulse{0%{box-shadow:0 0 0 0 rgba(227,34,34,.72);opacity:1}55%{box-shadow:0 0 0 7px rgba(227,34,34,0);opacity:.86}100%{box-shadow:0 0 0 0 rgba(227,34,34,0);opacity:1}}
@media(prefers-reduced-motion:reduce){.adminAlertDot{animation:none;box-shadow:0 0 0 2px rgba(227,34,34,.22)}}

/* D31M28AF — administration générale / délégations / raccourcis actifs */
.adminQuickSummary{grid-template-columns:repeat(5,minmax(150px,1fr))}
.adminQuickCard{appearance:none;width:100%;background:linear-gradient(180deg,#171914,#0e100d);border:1px solid #d8b45d38;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;min-height:72px;color:inherit;cursor:pointer;text-align:left;transition:.16s ease}
.adminQuickCard:hover{border-color:#d8b45d99;background:#1c1e18;transform:translateY(-1px)}
.adminQuickCard span{font-size:9px;letter-spacing:.18em;color:#9f9b90;font-weight:900}.adminQuickCard b{font-size:15px;color:#f2dfad}.adminQuickCard small{font-size:8px;letter-spacing:.12em;color:#d8b45d;margin-top:auto}
.adminQuickCard.infoOnly{cursor:default;opacity:.62}.adminQuickCard.infoOnly:hover{transform:none;border-color:#d8b45d38;background:linear-gradient(180deg,#171914,#0e100d)}
.adminActionCounts>button{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;gap:2px 10px;padding:12px 14px;border:1px solid #ffffff12;border-radius:10px;background:#111311;color:#ddd;cursor:pointer;text-align:left;transition:.16s ease}
.adminActionCounts>button:hover{border-color:#d8b45d88;background:#171917}.adminActionCounts>button b{grid-row:1/3;font-size:26px;color:#d8b45d}.adminActionCounts>button span{font-size:10px;font-weight:900;letter-spacing:.12em;color:#ccc}.adminActionCounts>button small{font-size:8px;color:#8e938c;letter-spacing:.08em}.adminActionCounts>button.hasPending{border-color:#e3222255;box-shadow:inset 3px 0 0 #e32222}.adminActionCounts>button>.adminAlertDot{position:absolute;top:10px;right:10px}
.adminDelegateBox{display:grid;gap:7px;min-width:300px}.adminDelegateHead{display:flex;justify-content:space-between;align-items:center;gap:8px}.adminDelegateHead>b{font-size:10px;letter-spacing:.12em;color:#d8c59d}.adminPermissionGrid{display:flex;flex-wrap:wrap;gap:5px}.adminPermissionToggle{font-size:8px!important;padding:6px 8px!important}.adminPermissionToggle.isSelected{box-shadow:inset 0 0 0 1px #65c08a,0 0 0 2px #65c08a22!important}
.adminPermissionLegend{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.adminPermissionLegend span{border:1px solid #ffffff18;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:900;letter-spacing:.08em;color:#d7d8d4}
.adminMembersTable td:last-child{min-width:340px}
#adminPlayersPending,#adminClubsPending,#adminCompetitionsPending,#adminDelegates,#adminTransactions,#adminCommunityClubs{scroll-margin-top:110px}
@media(max-width:900px){.adminQuickSummary{grid-template-columns:repeat(2,1fr)}.adminMembersTable td:last-child{min-width:280px}}
@media(max-width:560px){.adminQuickSummary{grid-template-columns:1fr}.adminPermissionGrid{display:grid;grid-template-columns:1fr 1fr}.adminDelegateBox{min-width:240px}}

/* D31M28AH — filtres recrutement et informations profil */
.databaseAdvancedFilters{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin:14px 0 16px;padding:12px;border:1px solid #ffffff18;border-radius:12px;background:#0e1110}
.databaseAdvancedFilters label{display:grid;gap:6px;font-size:10px;font-weight:900;letter-spacing:.1em;color:#d8c59d}
.databaseAdvancedFilters select{width:100%;min-height:42px;background:#151816;color:#fff;border:1px solid #ffffff22;border-radius:8px;padding:8px 10px;font-weight:800}
.databaseAdvancedFilters select:focus{outline:2px solid #d8c59d66;border-color:#d8c59d}
@media(max-width:850px){.databaseAdvancedFilters{grid-template-columns:1fr}}

/* D31M28AO — contrôles saisie / HDM verrouillé / état de test */
.motmLockedNote{display:block;margin-top:8px;padding:8px 10px;border:1px solid #d8b45d55;border-radius:8px;background:#17140e;color:#e8d49f;font-weight:800}.motmPanel select:disabled{opacity:.68;cursor:not-allowed}.testStateTools{margin:14px 0}.testStateTools .mini{margin:4px 8px 4px 0}

/* D31M28AQ — lisibilite TOP JOUEUR + LES NERVEUX */
.standingsOrderTable .stTop .clubTopPlayer,
.standingsOrderTable .stTop .clubTopPoints{font-weight:900!important;text-shadow:0 1px 2px #000b;opacity:1!important}
.nervousCard>header>div{display:flex;flex-direction:column;gap:2px}
.nervousCard>header small{font-size:9px;letter-spacing:.08em;color:#d8c59d;opacity:.8}
.nervousMood{font-size:18px!important;line-height:1;text-align:center}
.nervousValue{white-space:nowrap}

/* D31M28AR — ACCUEIL CINEMATIQUE / GRILLE FIXEE */
.homeDashboard.homeV2{max-width:1700px;padding:16px 18px 34px;margin:0 auto;background:
 radial-gradient(circle at 50% 0,#5c431c26,transparent 34%),
 linear-gradient(180deg,#090d10,#0a0c0d 48%,#11100d);}
.homeGridV2{display:grid!important;grid-template-columns:minmax(270px,.82fr) minmax(590px,1.75fr) minmax(330px,1fr)!important;gap:10px!important;align-items:stretch!important;margin-top:0!important}
.homeActions,.homeRightV2{display:grid;gap:10px;align-content:start}.homeCenterV2{display:grid;gap:10px;align-content:start}
.homePanel,.homeActionCard,.homeHeroPanel{position:relative;overflow:hidden;border:1px solid #9b7a39!important;background:linear-gradient(180deg,#11171b,#0c1013)!important;box-shadow:0 0 0 1px #000 inset,0 5px 18px #0009,0 0 18px #d9a72b14;color:#f8f3e5!important}
.homePanel:before,.homeActionCard:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(120deg,transparent 0 62%,#f7d87409 63% 64%,transparent 65% 100%)}
.homeActionCard{min-height:142px;padding:18px 54px 16px 18px!important;display:flex;flex-direction:column;justify-content:center;background:
 radial-gradient(circle at 85% 25%,#d9a72b22,transparent 32%),
 linear-gradient(135deg,#10202a,#101417 60%,#0b0c0d)!important}
.homeActionCard.priority{background:radial-gradient(circle at 82% 30%,#2b8c6633,transparent 35%),linear-gradient(135deg,#102331,#0e171b 62%,#0b0c0d)!important}
.homeActionCard:nth-child(2){background:radial-gradient(circle at 82% 30%,#d9a72b28,transparent 34%),linear-gradient(135deg,#1f1b13,#101417 65%)!important}
.homeActionCard:nth-child(3){background:radial-gradient(circle at 82% 30%,#dfe7ec1c,transparent 34%),linear-gradient(135deg,#102331,#101417 65%)!important}
.homeActionCard:nth-child(4){background:radial-gradient(circle at 82% 30%,#d9a72b22,transparent 34%),linear-gradient(135deg,#18140d,#101417 65%)!important}
.homeActionCard h2{font-size:25px;line-height:.98;margin:5px 0 10px!important;max-width:225px;letter-spacing:-.02em}.homeActionCard p{margin:0;max-width:230px;font-size:11px!important;line-height:1.35}.homeActionCard .label{color:#e9c35b!important;font-size:10px;letter-spacing:.12em}
.homeArrow{position:absolute;right:13px;bottom:13px;width:38px;height:44px;border-radius:8px;border:1px solid #ffd76a;background:linear-gradient(#d7a938,#9d6b12);color:#fff;font-size:31px;line-height:1;cursor:pointer;box-shadow:0 3px 12px #0008}.homeArrow:hover{filter:brightness(1.15);transform:translateY(-1px)}
.homeHeroPanel{min-height:305px;background:
 radial-gradient(circle at 50% 12%,#ffe3a550,transparent 24%),
 radial-gradient(circle at 26% 100%,#0d8e5f38,transparent 36%),
 radial-gradient(circle at 78% 100%,#8f1e1e38,transparent 32%),
 linear-gradient(180deg,#1a1d1d,#080a0a)!important;display:grid;place-items:end center;padding:24px}
.homeHeroPanel:after{content:'';position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(0deg,#020303dd,transparent);pointer-events:none}.homeHeroGlow{position:absolute;inset:0;background:repeating-linear-gradient(105deg,transparent 0 48px,#ffffff06 49px 51px,transparent 52px 100px);opacity:.75}
.homeHeroKits{position:absolute;left:3%;right:3%;bottom:72px;display:flex;justify-content:space-evenly;align-items:end;gap:5px;opacity:.92}.homeHeroKit{display:grid;justify-items:center;gap:3px;filter:drop-shadow(0 5px 5px #000)}.homeHeroKit:nth-child(odd){transform:translateY(10px)}.homeHeroKit .miniShirt{width:58px;height:54px}.homeHeroKit small{font-size:7px!important;color:#e8cb73!important;max-width:78px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px #000}
.homeHeroTitle{position:relative;z-index:3;text-align:center;text-shadow:0 4px 14px #000}.homeHeroTitle>span{display:block;color:#f2c84b;font:1000 58px/.85 Arial Black,Arial,sans-serif;letter-spacing:.04em}.homeHeroTitle h1{margin:6px 0 2px!important;font-size:31px;letter-spacing:.16em}.homeHeroTitle p{margin:0;color:#fff!important;font-size:11px!important;letter-spacing:.26em;font-weight:900}
.homePanel{padding:0!important}.homePanelHead{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:8px 10px;border-bottom:1px solid #5f4c28;background:linear-gradient(90deg,#0c1114,#15120b)}.homePanelHead h3{margin:0!important;color:#e7c35d!important;font-size:17px;letter-spacing:.02em}.homePanelHead .mini{padding:7px 10px;font-size:9px;background:#11181b;border-color:#9c7a35;color:#f1dfaa}
.homeUpcomingPanel{min-height:222px}.homeFixtureRow{display:grid;grid-template-columns:70px 1fr 36px 1fr 120px;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid #2b302f}.homeFixtureTime{font-size:20px;font-weight:1000;color:#fff}.homeFixtureTeam{display:flex;align-items:center;gap:8px;min-width:0}.homeFixtureTeam.right{justify-content:flex-end}.homeFixtureTeam b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.homeVs{font:1000 italic 18px Arial;color:#e8c258;text-align:center}.homeFixtureRow>small{font-size:9px!important;color:#c8c1b2!important;text-align:right}.homeClubLogo{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 1px 2px #000)}.homeClubLogo.tiny{width:20px;height:20px}.homeFixtureTeam .miniShirt{width:27px;height:25px}.homeFixtureTeam .miniShirt.small{width:27px;height:25px}
.homeBottomGrid{display:grid;grid-template-columns:1.18fr .92fr;gap:10px}.homeGazettePanel,.homeLivePanel{min-height:285px}.homeGazetteLead{padding:18px;background:radial-gradient(circle at 80% 0,#2f8c5940,transparent 42%),linear-gradient(135deg,#152127,#101214)}.homeGazetteLead>span{display:inline-block;background:#e7c35d;color:#111;padding:4px 7px;font-weight:1000;font-size:9px}.homeGazetteLead h2{font-size:24px;margin:9px 0 6px!important}.homeGazetteLead p{margin:0;max-width:520px}.homeGazetteThumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:8px}.homeGazetteThumbs i{font-style:normal;border:1px solid #4b493f;background:#111718;padding:12px 6px;text-align:center;color:#e7c35d;font-size:9px;font-weight:900}
.homeLivePanel .homeLiveGrid{padding:8px}.homeLivePanel .homeLiveAlert,.homeLivePanel .homeReplayAlert{padding:9px 10px;margin:0}.homeLivePanel .homeLiveFeed{min-height:68px}
.homeRightV2{display:grid;grid-template-rows:auto auto auto auto;gap:10px}.homeCalendarPanel{min-height:250px}.homeCalendarRow{display:grid;grid-template-columns:55px 1fr;gap:8px;align-items:center;padding:8px 10px;border-bottom:1px solid #2d302e}.homeCalendarRow time{background:#111;border:1px solid #4d4738;color:#fff;font-weight:900;padding:5px;text-align:center;font-size:10px}.homeCalendarRow>div{display:flex;align-items:center;gap:6px;min-width:0}.homeCalendarRow b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.homeCalendarRow span{color:#e7c35d;font-weight:900;font-size:9px}
.homeStandingPanel{min-height:260px}.homeCompetitionName{display:block;padding:7px 10px 0;color:#8f8a7d!important;font-size:8px!important}.homeCompactStandings{width:100%;border-collapse:collapse;font-size:10px;table-layout:fixed}.homeCompactStandings th,.homeCompactStandings td{padding:6px 5px;border-bottom:1px solid #2b302e;text-align:center}.homeCompactStandings th{color:#d6c17c;font-size:8px}.homeCompactStandings th:nth-child(1){width:7%}.homeCompactStandings th:nth-child(2){width:37%;text-align:left}.homeCompactStandings th:nth-child(3){width:9%}.homeCompactStandings th:nth-child(4){width:10%}.homeCompactStandings th:nth-child(5){width:37%;text-align:left}.homeCompactStandings td:nth-child(2),.homeCompactStandings td:nth-child(5){text-align:left}.homeClubCell{display:flex;align-items:center;gap:5px;min-width:0}.homeClubCell b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.homePts{font-weight:1000;color:#fff}.homeTopPlayer{color:#f2c84b!important;font-weight:1000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.homeMercatoPanel{border-color:#1dbd6b!important;box-shadow:0 0 16px #1dbd6b22}.homeMercatoPanel .homePanelHead{border-bottom-color:#1dbd6b;background:linear-gradient(90deg,#06351f,#0d1813)}.homeMercatoPanel .homePanelHead h3{color:#40e78f!important;font-size:13px}.homeMercatoTicker{overflow:hidden;height:132px;position:relative}.homeMercatoTrack{display:flex;flex-direction:column;animation:homeMercatoScroll 18s linear infinite}.homeTransferRow{min-height:32px;display:grid;grid-template-columns:1fr 20px 24px 1fr;align-items:center;gap:6px;padding:6px 10px;border-bottom:1px solid #17462f;font-size:9px}.homeTransferRow b{color:#fff}.homeTransferRow span{color:#6cf0a6;text-align:center}.homeTransferRow strong{color:#e9dec1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes homeMercatoScroll{0%,35%{transform:translateY(0)}100%{transform:translateY(-50%)}}
.homeDiscordPanel{min-height:82px;padding:12px 58px 12px 14px!important;display:flex;align-items:center;background:linear-gradient(115deg,#10151e,#111218)!important}.homeDiscordPanel b,.homeDiscordPanel strong,.homeDiscordPanel small{display:block}.homeDiscordPanel b{color:#e8c560!important;font-size:10px}.homeDiscordPanel strong{color:#758dff!important;font-size:25px;line-height:1}.homeDiscordPanel small{font-size:8px!important;color:#bab7ae!important;margin-top:4px}
.homeV2 .clubTopPlayer,.homeV2 .clubTopPoints,.standingsOrderTable .clubTopPlayer,.standingsOrderTable .clubTopPoints{color:#f2c84b!important}
@media(max-width:1250px){.homeGridV2{grid-template-columns:250px minmax(520px,1fr) 300px!important}.homeActionCard h2{font-size:21px}.homeFixtureRow{grid-template-columns:58px 1fr 30px 1fr 92px}.homeFixtureRow>small{font-size:8px!important}.homeHeroKit:nth-child(n+6){display:none}}
@media(max-width:1040px){.homeGridV2{grid-template-columns:250px 1fr!important}.homeRightV2{grid-column:1/-1;grid-template-columns:1fr 1fr}.homeCalendarPanel,.homeStandingPanel,.homeMercatoPanel,.homeDiscordPanel{min-height:auto}.homeMercatoPanel,.homeDiscordPanel{grid-column:auto}.homeHeroPanel{min-height:280px}}
@media(max-width:760px){.homeDashboard.homeV2{padding:10px}.homeGridV2{grid-template-columns:1fr!important}.homeRightV2{grid-column:auto;grid-template-columns:1fr}.homeBottomGrid{grid-template-columns:1fr}.homeActionCard{min-height:126px}.homeFixtureRow{grid-template-columns:1fr 28px 1fr;gap:6px}.homeFixtureTime,.homeFixtureRow>small{grid-column:1/-1;text-align:left}.homeFixtureTeam.right{justify-content:flex-start}.homeHeroKits{bottom:78px}.homeHeroKit:nth-child(n+5){display:none}.homeHeroTitle>span{font-size:46px}.homeHeroTitle h1{font-size:24px}.homeCompactStandings{font-size:9px}}
@media(prefers-reduced-motion:reduce){.homeMercatoTrack{animation:none}}

/* D31M28AS — ACCUEIL PACK CINEMATIQUE / CALIBRAGE ECRAN */
.homeDashboard.homeV2{padding:8px!important;max-width:1900px;margin:0 auto}
.homeGridV2{display:grid!important;grid-template-columns:350px minmax(620px,1fr) 420px!important;gap:10px!important;align-items:start}
.homeActions{display:grid;grid-template-rows:repeat(4,1fr);gap:10px;height:calc(100vh - 98px);min-height:600px;max-height:820px}
.homeActionCard{min-height:0!important;height:auto!important}
.homeCenterV2{display:grid;grid-template-rows:minmax(180px,29vh) minmax(185px,27vh) minmax(190px,1fr);gap:10px;height:calc(100vh - 98px);min-height:600px;max-height:820px}
.homeRightV2{display:grid!important;grid-template-rows:minmax(260px,1.25fr) minmax(155px,.72fr) 82px!important;gap:10px!important;height:calc(100vh - 98px);min-height:600px;max-height:820px}
.homePanel,.homeHeroPanel{overflow:hidden}
.homeHeroPanel{min-height:0!important;height:100%;background-image:linear-gradient(180deg,#00000010,#000000a8),url('assets/home_hero.jpg.png')!important;background-size:cover!important;background-position:center 43%!important;display:flex!important;align-items:flex-end!important;justify-content:flex-start!important;padding:18px 22px!important;border:1px solid #b88a2b!important;box-shadow:0 0 0 1px #000 inset,0 6px 20px #0009!important}
.homeHeroPanel:after{display:none!important}.homeHeroGlow,.homeHeroKits{display:none!important}.homeHeroShade{position:absolute;inset:0;background:linear-gradient(90deg,#000b 0,#0002 45%,transparent 72%),linear-gradient(0deg,#000c 0,transparent 55%);pointer-events:none}
.homeHeroTitle{position:relative!important;z-index:2!important;text-align:left!important;max-width:560px;text-shadow:0 3px 12px #000!important}.homeHeroTitle>span{display:none!important}.homeHeroTitle h1{font-size:30px!important;letter-spacing:.12em!important;margin:0 0 4px!important}.homeHeroTitle p{font-size:10px!important;letter-spacing:.22em!important}
.homeUpcomingPanel{min-height:0!important;height:100%;background-image:linear-gradient(90deg,#070b0edd,#070b0eaa),url('assets/home_matches.png')!important;background-size:cover!important;background-position:center!important}
.homeFixtureRow{background:#070b0eaa!important;backdrop-filter:blur(1px);grid-template-columns:62px 1fr 34px 1fr 102px!important;padding:7px 11px!important;min-height:46px}.homeFixtureTime{font-size:18px!important}.homeFixtureRow>small{font-size:8px!important}
.homeBottomGrid{display:grid!important;grid-template-columns:1.08fr .92fr!important;gap:10px!important;min-height:0;height:100%}.homeGazettePanel,.homeLivePanel{min-height:0!important;height:100%}
.homeGazettePanel{background-image:linear-gradient(90deg,#081013e6,#081013aa),url('assets/home_gazette.png')!important;background-size:cover!important;background-position:center!important}.homeGazetteLead{padding:12px 14px!important;background:linear-gradient(90deg,#091013d9,#09101375)!important}.homeGazetteLead h2{font-size:20px!important;margin:6px 0 4px!important}.homeGazetteLead p{font-size:10px!important}.homeGazetteThumbs{padding:6px!important}.homeGazetteThumbs i{padding:8px 4px!important}
.homeLivePanel{background-image:linear-gradient(90deg,#081013df,#0810139a),url('assets/home_live.png')!important;background-size:cover!important;background-position:center!important}.homeLivePanel>p,.homeLivePanel>h3{margin-left:10px}.homeLivePanel .homeLiveGrid{padding:6px!important}.homeLivePanel .homeLiveFeed{min-height:52px!important}
.homeStandingPanel{min-height:0!important;height:100%;background-image:linear-gradient(90deg,#06090bdc,#06090bba),url('assets/home_standings.png')!important;background-size:cover!important;background-position:center!important}.homeCompactStandings{background:#05080ab8!important}.homeCompactStandings th,.homeCompactStandings td{padding:5px 5px!important;background:#05080a8c}.homeTopPlayer{color:#f4ca49!important}
.homeMercatoPanel{min-height:0!important;height:100%;background-image:linear-gradient(90deg,#022617d9,#06100bd1),url('assets/home_mercato.png')!important;background-size:cover!important;background-position:center!important}.homeMercatoTicker{height:104px!important}.homeTransferRow{min-height:27px!important;padding:4px 9px!important;background:#04140da8!important}
.homeDiscordPanel{min-height:0!important;height:82px!important}
.homePanelHead{min-height:38px!important;padding:6px 10px!important;background:linear-gradient(90deg,#080d10e8,#171209d9)!important}.homePanelHead h3{font-size:16px!important}
.homeCalendarPanel{display:none!important}
@media(max-width:1450px){.homeGridV2{grid-template-columns:320px minmax(560px,1fr) 360px!important}.homeActionCard h2{font-size:22px!important}.homeCompactStandings{font-size:9px!important}.homeHeroTitle h1{font-size:27px!important}}
@media(max-width:1180px){.homeGridV2{grid-template-columns:280px 1fr!important}.homeRightV2{grid-column:1/-1;height:auto!important;max-height:none!important;min-height:0!important;grid-template-columns:1fr 1fr 1fr!important;grid-template-rows:auto!important}.homeStandingPanel,.homeMercatoPanel,.homeDiscordPanel{height:auto!important}.homeCenterV2,.homeActions{height:auto!important;max-height:none!important}.homeHeroPanel{min-height:230px!important}.homeUpcomingPanel{min-height:210px!important}.homeBottomGrid{min-height:220px!important}}
@media(max-width:760px){.homeGridV2{grid-template-columns:1fr!important}.homeActions,.homeCenterV2,.homeRightV2{height:auto!important;min-height:0!important;max-height:none!important}.homeRightV2{grid-template-columns:1fr!important}.homeHeroPanel{min-height:220px!important}.homeFixtureRow{grid-template-columns:1fr 28px 1fr!important}.homeFixtureTime,.homeFixtureRow>small{grid-column:1/-1}.homeBottomGrid{grid-template-columns:1fr!important}.homeGazettePanel,.homeLivePanel{min-height:220px!important}}


/* D31M28AT — HABILLAGE COMPÉTITION CLAIR + TAMPON ACCEPTÉ */
.compTop .competitionLightPanel,.fcPublic.competitionLightPanel{position:relative;overflow:hidden;background-color:#f8f5ed;background-repeat:no-repeat;background-position:center;background-size:cover;border:1px solid #d7c28f;box-shadow:0 8px 24px rgba(0,0,0,.10)}
.regulationCard.competitionLightPanel{background-image:linear-gradient(rgba(255,255,255,.82),rgba(255,255,255,.82)),url('assets/competition_reglement_light.png')}
.validatedClubsCard.competitionLightPanel{background-image:linear-gradient(rgba(255,255,255,.84),rgba(255,255,255,.84)),url('assets/competition_clubs_light.png')}
.fcPublic.competitionTechnicalCard{background-image:linear-gradient(rgba(255,255,255,.86),rgba(255,255,255,.86)),url('assets/competition_settings_light.png')}
.compTop .competitionLightPanel,.fcPublic.competitionLightPanel,.fcPublic.competitionLightPanel *{color:#111}
.compTop .competitionLightPanel .muted,.fcPublic.competitionLightPanel .muted{color:#565656}
.compTop .competitionLightPanel .label,.fcPublic.competitionLightPanel .label{color:#8d681b;font-weight:1000;letter-spacing:.16em}
.compTop .competitionLightPanel h3,.fcPublic.competitionLightPanel h2,.fcPublic.competitionLightPanel h3{font-family:Arial Black,Impact,system-ui,sans-serif;font-weight:1000;letter-spacing:.015em;color:#101214}
.fcPublic.competitionTechnicalCard h2{font-size:clamp(26px,2.3vw,40px);line-height:1.02}
.fcPublic.competitionTechnicalCard h3{font-size:24px}
.fcPublic.competitionTechnicalCard .fcPublicGrid>div{background:rgba(255,255,255,.70);border:1px solid rgba(188,157,92,.48);box-shadow:0 3px 12px rgba(76,54,12,.06)}
.fcPublic.competitionTechnicalCard .ruleRow{border-bottom:1px solid rgba(167,132,61,.28);font-size:13px;padding:9px 0}
.validatedClubsCard .entryClub{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid rgba(165,132,62,.24)}
.acceptedStamp{display:inline-block;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18));vertical-align:middle}
.acceptedStamp.entryStamp{width:48px;height:48px;margin-left:auto}
.acceptedStamp.miniStamp{width:28px;height:28px;margin-right:6px}
.acceptedStamp.statusStamp{width:54px;height:54px;margin-right:10px}
.acceptedState{display:flex;align-items:center;gap:8px;font-family:Arial Black,Impact,system-ui,sans-serif;font-size:18px!important;color:#177a3c!important}
@media(max-width:760px){.acceptedStamp.entryStamp{width:38px;height:38px}.fcPublic.competitionTechnicalCard h3{font-size:20px}}

/* D31M28AU — PACK ACCUEIL CINEMATIQUE REELLEMENT VISIBLE */
/* Les images restent decoratives : aucune logique metier n'est modifiee. */
.homeHeroPanel{
  background-image:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.52)),url('assets/home_hero.jpg.png')!important;
  background-position:center 44%!important;
}
.homeHeroShade{
  background:linear-gradient(90deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.16) 48%,rgba(0,0,0,.04) 78%),linear-gradient(0deg,rgba(0,0,0,.72) 0%,transparent 58%)!important;
}

.homeUpcomingPanel{
  background-image:linear-gradient(90deg,rgba(5,9,11,.52),rgba(5,9,11,.28)),url('assets/home_matches.png')!important;
  background-position:center 50%!important;
}
.homeUpcomingPanel .homeFixtureRow{
  background:rgba(4,8,10,.54)!important;
  backdrop-filter:blur(.45px);
}
.homeUpcomingPanel .homePanelHead{background:linear-gradient(90deg,rgba(5,9,11,.86),rgba(17,13,6,.66))!important}

.homeGazettePanel{
  background-image:linear-gradient(90deg,rgba(5,11,14,.46),rgba(5,11,14,.17)),url('assets/home_gazette.png')!important;
  background-position:center 46%!important;
}
.homeGazettePanel .homeGazetteLead{background:linear-gradient(90deg,rgba(5,10,13,.72),rgba(5,10,13,.28))!important}
.homeGazettePanel .homeGazetteThumbs i{background:rgba(8,13,15,.64)!important;backdrop-filter:blur(.5px)}

.homeLivePanel{
  background-image:linear-gradient(90deg,rgba(5,10,13,.42),rgba(5,10,13,.14)),url('assets/home_live.png')!important;
  background-position:center 53%!important;
}
.homeLivePanel .homeLiveFeed{background:rgba(8,10,10,.62)!important;backdrop-filter:blur(.5px)}
.homeLivePanel .homePanelHead{background:linear-gradient(90deg,rgba(5,9,11,.88),rgba(17,13,6,.65))!important}

.homeStandingPanel{
  background-image:linear-gradient(90deg,rgba(2,5,7,.30),rgba(2,5,7,.12)),url('assets/home_standings.png')!important;
  background-size:cover!important;
  background-position:center top!important;
}
.homeStandingPanel .homePanelHead{background:rgba(5,8,9,.73)!important;backdrop-filter:blur(.4px)}
.homeStandingPanel .homeCompetitionName{background:rgba(5,8,9,.38)!important;padding-bottom:5px}
.homeStandingPanel .homeCompactStandings{background:transparent!important}
.homeStandingPanel .homeCompactStandings thead{background:rgba(4,7,8,.62)!important}
.homeStandingPanel .homeCompactStandings th,
.homeStandingPanel .homeCompactStandings td{background:rgba(4,7,8,.44)!important;border-bottom-color:rgba(195,158,72,.26)!important;text-shadow:0 1px 2px #000}
.homeStandingPanel .homeCompactStandings tbody tr:hover td{background:rgba(72,55,17,.48)!important}

.homeMercatoPanel{
  background-image:linear-gradient(90deg,rgba(0,25,14,.22),rgba(0,12,7,.08)),url('assets/home_mercato.png')!important;
  background-position:center center!important;
  background-size:cover!important;
  border-color:#20df79!important;
  box-shadow:0 0 18px rgba(32,223,121,.22)!important;
}
.homeMercatoPanel .homePanelHead{background:linear-gradient(90deg,rgba(0,54,31,.84),rgba(0,20,12,.46))!important;border-bottom-color:#20df79!important}
.homeMercatoPanel .homeMercatoTicker{background:rgba(0,8,5,.20)!important}
.homeMercatoPanel .homeTransferRow{background:rgba(0,17,9,.44)!important;border-bottom-color:rgba(55,222,130,.34)!important;text-shadow:0 1px 2px #000}

/* conserver les quatre tuiles de gauche a leur emplacement sans image du pack */
.homeActions .homeActionCard{background-blend-mode:normal!important}

@media(max-width:1180px){
  .homeStandingPanel,.homeMercatoPanel,.homeGazettePanel,.homeLivePanel,.homeUpcomingPanel{background-attachment:scroll!important}
}
/* D31M FIX — maillot image importé 1086×1448 (3:4) */
.officialKitImageWrap{display:inline-grid;place-items:center;width:82px;height:96px;flex:0 0 82px;position:relative}
.officialKitImageWrap.small{width:38px;height:46px;flex-basis:38px}
.officialKitImage{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:transparent;filter:drop-shadow(0 2px 2px #0003)}
.officialKitImageWrap.kitMissing{border:1px dashed #aaa;background:#f1eee7;color:#777;font-size:10px;font-weight:900;letter-spacing:.5px}
.clubKitPreview{display:block;width:min(220px,100%);aspect-ratio:3/4;object-fit:contain;margin:10px auto;background:transparent}
.kitImportPlaceholder{min-height:180px;display:grid;place-items:center;border:2px dashed #b8b09f;background:#f3efe6;color:#706b61;font-weight:900;text-align:center;padding:12px}
.kitImportPlaceholder.compact{min-height:72px;width:64px;font-size:8px;padding:5px}
.effectifKitAdmin{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:#f7f4ed;padding:10px;margin:12px 0}
.effectifKitAdmin>div{display:grid;gap:5px}
.effectifKitPreview{width:58px;height:78px;object-fit:contain;background:transparent}
.lineupReadFormation{display:block;margin-top:5px;padding:8px 10px;border:1px solid var(--line);background:#f3efe6}
.readOnlyBadge{margin-left:auto;font-size:10px;font-weight:900;letter-spacing:.8px;padding:8px 10px;border:1px solid var(--line);background:#eee8da}
.dragPlayer.readonly{cursor:default}
.fieldPlayer .officialKitImageWrap{width:84px;height:112px}
.fieldPlayer .officialKitImageWrap.small{width:56px;height:74px}
.dragPlayer .officialKitImageWrap.small,.rosterPlayer .officialKitImageWrap.small{width:42px;height:56px;flex-basis:42px}
.numberedKit .officialKitImageWrap+strong{z-index:2}
@media(max-width:760px){.fieldPlayer .officialKitImageWrap{width:70px;height:94px}.effectifKitAdmin{align-items:flex-start}}
\n/* 2026-10-02 — Club V3: nouveau maillot image + plan de jeu accessible */
.clubIdentityGrid.identityV3{grid-template-columns:minmax(430px,1.12fr) minmax(340px,1fr) minmax(280px,.78fr)}
.kitUploadIdentity{border:2px solid #171918;background:#fff}
.kitUploadIdentity h3{margin:6px 0 12px}
.clubKitPreview{display:block;width:min(100%,270px);aspect-ratio:3/4;object-fit:contain;margin:12px auto;background:transparent}
.kitImportPlaceholder{display:grid;place-items:center;min-height:260px;aspect-ratio:3/4;border:2px dashed #9d978b;background:#f4f0e7;color:#6b675f;font-weight:900;text-align:center;padding:20px}
.kitImportPlaceholder.compact{min-height:78px;aspect-ratio:auto}
.kitUploadBtn{width:100%;margin-top:10px}
.planIdentityCta{width:100%;margin-top:16px}
.effectifKitAdmin{display:flex;gap:14px;align-items:center;padding:12px;margin:10px 0 16px;border:1px solid var(--line);background:#f7f3ea}
.effectifKitPreview{width:72px;height:96px;object-fit:contain;background:transparent}
@media(max-width:950px){.clubIdentityGrid.identityV3{grid-template-columns:1fr}}

/* GAZETTE F.P.C — éditeur & mise en page */
.gazettePage{max-width:1240px;margin:auto}.gazetteTop{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}.gazetteTop h2{font-size:clamp(34px,6vw,74px);margin:6px 0}.gazetteGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}.gazetteCard{background:#111;border:1px solid rgba(216,197,157,.45);overflow:hidden;min-height:390px}.gazetteCard>img,.gazetteCardNoImage{width:100%;height:220px;object-fit:cover;display:block}.gazetteCardNoImage{display:grid;place-items:center;background:linear-gradient(135deg,#111,#2a251b);font-size:56px;font-weight:900;color:#d8c59d}.gazetteCardBody{padding:18px}.gazetteCardBody>span,.gazetteKicker{color:#d8c59d;font-weight:900;letter-spacing:.12em}.gazetteCardBody h3{font-size:28px;margin:7px 0 10px}.gazetteCardBody p{color:#ddd}.gazetteEditor{max-width:1100px;margin:auto}.gazetteEditorGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.gazetteUploadGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0}.gazetteUploadGrid label{border:1px dashed rgba(216,197,157,.55);padding:16px}.gazetteEditorActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.gazettePreviewHead{margin-top:30px;padding:10px 14px;background:#d8c59d;color:#111;font-weight:900;letter-spacing:.12em}.gazetteReader{max-width:1100px;margin:auto}.gazetteArticle{background:#f3efe5;color:#151515;margin:20px auto;padding:clamp(20px,5vw,56px);max-width:980px;box-shadow:0 18px 60px rgba(0,0,0,.3)}.gazetteArticle header{text-align:left;margin-bottom:28px}.gazetteArticle h1{font-size:clamp(38px,7vw,76px);line-height:.95;margin:10px 0 14px;color:#111}.gazetteArticle .gazetteSubtitle{font-size:22px;color:#444}.gazetteHero{margin:0 0 28px}.gazetteHero img{width:100%;max-height:620px;object-fit:cover;display:block}.gazetteIntro{font-size:22px;line-height:1.5;font-weight:700;border-left:5px solid #111;padding-left:18px}.gazetteBody{font-size:18px;line-height:1.72;margin:22px 0}.gazetteArticle h2{font-size:34px;margin-top:36px}.gazetteImages{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:28px 0}.gazetteImages img{width:100%;height:260px;object-fit:cover}.template-gallery .gazetteImages img:first-child{grid-column:span 2;height:420px}.template-poster .gazetteHero img{max-height:none;aspect-ratio:3/4;object-fit:contain;background:#111}.template-brief{max-width:760px}.template-brief .gazetteBody{font-size:20px}.gazetteCallout{border:3px solid #111;padding:20px;margin:28px 0;background:#e4d7b9}.gazetteCallout b{font-size:22px}.gazetteLink{display:inline-block;text-decoration:none;margin-top:10px}.gazetteAdminActions{display:flex;gap:10px;margin-top:32px;padding-top:20px;border-top:1px solid #bbb}.gazetteEmpty{text-align:center;padding:60px 20px}
@media(max-width:700px){.gazetteTop{align-items:flex-start;flex-direction:column}.gazetteEditorGrid,.gazetteUploadGrid{grid-template-columns:1fr}.template-gallery .gazetteImages img:first-child{grid-column:auto;height:260px}.gazetteArticle{padding:22px}.gazetteArticle h1{font-size:40px}}

/* GAZETTE V1.1 — images sans recadrage forcé */
.gazetteGrid{grid-template-columns:repeat(auto-fit,minmax(300px,560px));justify-content:start;align-items:start}
.gazetteCard{min-height:0}
.gazetteCard>img{
  width:100%;
  height:auto;
  aspect-ratio:auto;
  max-height:none;
  object-fit:contain;
  object-position:center;
  display:block;
  background:#090b0b;
}
.gazetteCardNoImage{height:315px}
.gazetteHero{
  display:flex;
  justify-content:center;
  align-items:center;
  overflow:hidden;
  background:#111;
}
.gazetteHero img{
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center;
  display:block;
}
.gazetteImages{align-items:start}
.gazetteImages img{
  width:100%;
  height:auto;
  max-height:520px;
  object-fit:contain;
  object-position:center;
  background:#111;
}
.template-gallery .gazetteImages img:first-child{
  height:auto;
  max-height:620px;
  object-fit:contain;
}
.template-poster .gazetteHero img{
  width:auto;
  max-width:100%;
  height:auto;
  max-height:900px;
  aspect-ratio:auto;
  object-fit:contain;
}
@media(max-width:700px){
  .gazetteGrid{grid-template-columns:1fr}
  .template-gallery .gazetteImages img:first-child{height:auto;max-height:520px}
}

/* GAZETTE V1.2 — correction du header de la page article.
   Le header global du site est sticky/flex/78px : il ne doit jamais s'appliquer
   au header éditorial contenu dans .gazetteArticle. */
.gazetteArticle > header{
  position:static!important;
  top:auto!important;
  z-index:auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  display:block!important;
  align-items:initial!important;
  justify-content:initial!important;
  gap:0!important;
  padding:0!important;
  margin:0 0 28px!important;
  background:transparent!important;
  color:#151515!important;
  overflow:visible!important;
}
.gazetteArticle > header .gazetteKicker{
  display:block;
  margin:0 0 8px;
  color:#8b6a2e!important;
}
.gazetteArticle > header h1{
  display:block;
  width:100%;
  max-width:100%;
  margin:0 0 14px!important;
  font-size:clamp(36px,5vw,68px)!important;
  line-height:1.02!important;
  overflow-wrap:anywhere;
  word-break:normal;
  color:#111!important;
}
.gazetteArticle > header .gazetteSubtitle{
  display:block;
  margin:0 0 12px;
}
.gazetteArticle > header small{
  display:block;
  width:auto!important;
  max-width:none!important;
  white-space:normal;
  line-height:1.35;
  color:#3c3933!important;
}
.gazetteReader > .mini{margin-bottom:8px}
.gazetteArticle > .gazetteHero{clear:both;margin-top:0}
@media(max-width:700px){
  .gazetteArticle > header h1{font-size:clamp(32px,10vw,48px)!important}
}


/* 2026-10-02 V3.5 — demi-terrain réaliste pour le plan de jeu */
.halfPitchLayout{align-items:start}
.pitchCard{padding:14px}
.pitchHeader{margin-bottom:12px}
.pitchHeader h3{margin:4px 0 6px}
.pitch.halfPitch{min-height:720px;border:4px solid #edf4e6;border-radius:18px;overflow:hidden;box-shadow:0 18px 32px #00000012, inset 0 0 0 1px #31562f;
background:
radial-gradient(ellipse at center bottom, #00000018 0%, transparent 42%),
linear-gradient(90deg,#3f7d3a 0 10%,#4a8c43 10% 20%,#3f7d3a 20% 30%,#4a8c43 30% 40%,#3f7d3a 40% 50%,#4a8c43 50% 60%,#3f7d3a 60% 70%,#4a8c43 70% 80%,#3f7d3a 80% 90%,#4a8c43 90% 100%);
}
.pitch.halfPitch:before{content:'';position:absolute;inset:3%;border:3px solid rgba(255,255,255,.88);border-top:none;border-radius:0 0 18px 18px;pointer-events:none}
.pitch.halfPitch:after{content:'';position:absolute;left:3%;right:3%;top:3%;border-top:3px solid rgba(255,255,255,.88);pointer-events:none}
.pitch.halfPitch .pitchSlot{z-index:2}
.pitch.halfPitch::marker{display:none}
.pitch.halfPitch .fieldPlayer{filter:drop-shadow(0 4px 5px rgba(0,0,0,.22))}
.pitch.halfPitch .emptySlot{background:#00000022}
.pitch.halfPitch .fieldPlayer b{background:rgba(8,18,10,.32);backdrop-filter:blur(1px);border-radius:8px}
.pitch.halfPitch .numberedKit>strong{text-shadow:0 2px 4px rgba(0,0,0,.85),0 0 3px rgba(0,0,0,.8)}
.pitch.halfPitch .officialKitImage{filter:drop-shadow(0 4px 3px rgba(0,0,0,.28))}
.pitch.halfPitch .pitchSlot:nth-child(1)::before{content:'';position:absolute;left:50%;bottom:-18px;transform:translateX(-50%);width:210px;height:110px;border:3px solid rgba(255,255,255,.88);border-bottom:none;border-radius:160px 160px 0 0;pointer-events:none}
.pitch.halfPitch .pitchSlot:nth-child(1)::after{content:'';position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);width:92px;height:42px;border:3px solid rgba(255,255,255,.88);border-bottom:none;pointer-events:none}
.pitch.halfPitch .halfSpot{display:none}
.pitch.halfPitch .halfCircle{display:none}
.pitchCard .muted{color:#dfe8da}
.pitchCard .pitchHeader .muted{color:#5e675a}
@media(max-width:900px){
  .pitch.halfPitch{min-height:640px}
}


/* 2026-10-02 V3.6 — lisibilité renforcée des noms sur le plan de jeu */
.fieldPlayer{gap:8px!important}
.fieldPlayer b{
  display:block;
  background:rgba(7,12,8,.78)!important;
  color:#ffffff!important;
  border:1px solid rgba(255,255,255,.18);
  border-radius:10px;
  padding:6px 10px!important;
  max-width:200px!important;
  min-width:110px;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.15!important;
  text-align:center;
  box-shadow:0 6px 14px rgba(0,0,0,.26);
  text-shadow:none!important;
  font-size:13px!important;
  font-weight:800;
  letter-spacing:.15px;
}
.pitch.halfPitch .fieldPlayer b{
  background:rgba(7,12,8,.84)!important;
  backdrop-filter:none;
}
@media(max-width:760px){
  .fieldPlayer b{
    font-size:11px!important;
    max-width:144px!important;
    min-width:84px;
    padding:5px 8px!important;
  }
}


/* 2026-10-02 V3.7 — nom des joueurs forcé en blanc + anti-cache */
.fieldNameTag{display:block!important;color:#fff!important;background:rgba(8,12,9,.92)!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:10px!important;padding:7px 10px!important;min-width:116px;max-width:210px!important;line-height:1.15!important;text-align:center!important;font:800 13px/1.15 Arial,Helvetica,sans-serif!important;letter-spacing:.15px!important;box-shadow:0 6px 16px rgba(0,0,0,.34)!important;text-shadow:none!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
@media(max-width:760px){.fieldNameTag{font-size:11px!important;min-width:88px;max-width:150px!important;padding:6px 8px!important}}


/* 2026-10-02 V3.8 — accueil moins sombre, filtres allégés */
.homeActionCard{
  background:
    radial-gradient(circle at 85% 25%,rgba(217,167,43,.18),transparent 32%),
    linear-gradient(135deg,rgba(16,32,42,.82),rgba(16,20,23,.72) 60%,rgba(11,12,13,.60))!important;
}
.homeActionCard.priority{
  background:radial-gradient(circle at 82% 30%,rgba(43,140,102,.22),transparent 35%),linear-gradient(135deg,rgba(16,35,49,.80),rgba(14,23,27,.68) 62%,rgba(11,12,13,.56))!important;
}
.homeActionCard:nth-child(2){background:radial-gradient(circle at 82% 30%,rgba(217,167,43,.18),transparent 34%),linear-gradient(135deg,rgba(31,27,19,.78),rgba(16,20,23,.66) 65%)!important}
.homeActionCard:nth-child(3){background:radial-gradient(circle at 82% 30%,rgba(223,231,236,.12),transparent 34%),linear-gradient(135deg,rgba(16,35,49,.76),rgba(16,20,23,.66) 65%)!important}
.homeActionCard:nth-child(4){background:radial-gradient(circle at 82% 30%,rgba(217,167,43,.16),transparent 34%),linear-gradient(135deg,rgba(24,20,13,.78),rgba(16,20,23,.66) 65%)!important}

.homeHeroPanel{
  background-image:linear-gradient(180deg,rgba(0,0,0,.01),rgba(0,0,0,.34)),url('assets/home_hero.jpg.png')!important;
}
.homeHeroShade{
  background:linear-gradient(90deg,rgba(0,0,0,.46) 0%,rgba(0,0,0,.10) 48%,rgba(0,0,0,.02) 78%),linear-gradient(0deg,rgba(0,0,0,.46) 0%,transparent 58%)!important;
}

.homeUpcomingPanel{
  background-image:linear-gradient(90deg,rgba(5,9,11,.32),rgba(5,9,11,.14)),url('assets/home_matches.png')!important;
}
.homeUpcomingPanel .homeFixtureRow{
  background:rgba(4,8,10,.36)!important;
}
.homeUpcomingPanel .homePanelHead{background:linear-gradient(90deg,rgba(5,9,11,.72),rgba(17,13,6,.46))!important}

.homeGazettePanel{
  background-image:linear-gradient(90deg,rgba(5,11,14,.28),rgba(5,11,14,.08)),url('assets/home_gazette.png')!important;
}
.homeGazettePanel .homeGazetteLead{background:linear-gradient(90deg,rgba(5,10,13,.54),rgba(5,10,13,.18))!important}
.homeGazettePanel .homeGazetteThumbs i{background:rgba(8,13,15,.46)!important}

.homeLivePanel{
  background-image:linear-gradient(90deg,rgba(5,10,13,.26),rgba(5,10,13,.08)),url('assets/home_live.png')!important;
}
.homeLivePanel .homeLiveFeed{background:rgba(8,10,10,.48)!important}
.homeLivePanel .homePanelHead{background:linear-gradient(90deg,rgba(5,9,11,.76),rgba(17,13,6,.48))!important}

.homeStandingPanel{
  background-image:linear-gradient(90deg,rgba(2,5,7,.18),rgba(2,5,7,.06)),url('assets/home_standings.png')!important;
}
.homeStandingPanel .homePanelHead{background:rgba(5,8,9,.60)!important}
.homeStandingPanel .homeCompetitionName{background:rgba(5,8,9,.24)!important}
.homeStandingPanel .homeCompactStandings thead{background:rgba(4,7,8,.44)!important}
.homeStandingPanel .homeCompactStandings th,
.homeStandingPanel .homeCompactStandings td{background:rgba(4,7,8,.28)!important}

.homeMercatoPanel{
  background-image:linear-gradient(90deg,rgba(0,25,14,.14),rgba(0,12,7,.04)),url('assets/home_mercato.png')!important;
}
.homeMercatoPanel .homePanelHead{background:linear-gradient(90deg,rgba(0,54,31,.74),rgba(0,20,12,.34))!important}
.homeMercatoPanel .homeMercatoTicker{background:rgba(0,8,5,.12)!important}
.homeMercatoPanel .homeTransferRow{background:rgba(0,17,9,.28)!important}

/* 2026-10-02 V3.9 — accueil plus clair + recadrage texte F.P.C LIVE */
.homeLivePanel{position:relative;overflow:hidden}
.homeLivePanel .homePanelHead{min-height:42px!important;padding:7px 10px!important}
.homeLivePanel .homePanelHead h3{font-size:16px!important;line-height:1!important;margin:0!important}
.homeLivePanel>h3,.homeLivePanel>p{position:relative;z-index:2;margin-left:12px!important;margin-right:12px!important}
.homeLivePanel>h3{margin-top:8px!important;margin-bottom:4px!important;font-size:17px!important;line-height:1.05!important}
.homeLivePanel>p{margin-top:0!important;margin-bottom:8px!important;max-width:92%;font-size:11px!important;line-height:1.28!important}
.homeLivePanel .homeLiveGrid{padding:4px 8px 8px!important;margin:0!important}
.homeLivePanel .homeLiveFeed{min-height:44px!important;padding:6px 8px!important}
.homeLivePanel .homeLiveFeed b{font-size:10px!important;line-height:1.1!important}
.homeLivePanel .homeLiveFeed small{font-size:8px!important;line-height:1.15!important}
.homeLivePanel .homeLiveAlert,.homeLivePanel .homeReplayAlert{margin:0!important;padding:4px 8px!important}
.homeLivePanel .homeLiveAlert strong,.homeLivePanel .homeReplayAlert strong{font-size:10px!important;line-height:1.1!important}
@media(max-width:760px){.homeLivePanel>h3{font-size:16px!important}.homeLivePanel>p{font-size:10px!important;max-width:96%}}


/* 2026-10-02 V4.0 — corrections gazette, plan de jeu et blocs fonctions */
.gazetteHero{justify-content:center!important;align-items:center!important;text-align:center}
.gazetteHero img{display:block!important;margin:0 auto!important;object-position:center center!important}
.gazetteCard>img{display:block!important;margin:0 auto!important;object-position:center center!important}
.gazetteImages img{object-position:center center!important}

.fieldPlayer{gap:8px!important}
.fieldNameTag{display:block!important;min-width:118px;max-width:220px!important;padding:0!important;margin:0 auto!important;background:#050706!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:10px!important;box-shadow:0 8px 16px rgba(0,0,0,.35)!important;opacity:1!important;mix-blend-mode:normal!important;filter:none!important}
.fieldNameTag span{display:block!important;padding:7px 10px!important;color:#ffffff!important;-webkit-text-fill-color:#ffffff!important;font:900 13px/1.16 Arial,Helvetica,sans-serif!important;letter-spacing:.15px!important;text-align:center!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;text-shadow:none!important;opacity:1!important}
.pitch.halfPitch .fieldNameTag{background:#040605!important}
@media(max-width:760px){.fieldNameTag{min-width:86px;max-width:150px!important}.fieldNameTag span{font-size:11px!important;padding:6px 8px!important}}

.projectCard .projectLead{min-height:72px}
.projectCard ul li{line-height:1.42}


/* 2026-10-02 V4.1 — plan de jeu : retrait joueur + noms lisibles au-dessus du fond */
.pitchSlot{overflow:visible!important}
.pitch.halfPitch .pitchSlot{width:128px!important;height:150px!important}
.pitch.halfPitch .fieldPlayer{position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:flex-start!important;gap:0!important;overflow:visible!important}
.pitch.halfPitch .numberedKit{position:relative;z-index:2}
.pitch.halfPitch .fieldNameTag{position:absolute!important;left:50%!important;top:66px!important;transform:translateX(-50%)!important;z-index:6!important;display:block!important;min-width:118px!important;max-width:210px!important;background:#020303!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:10px!important;box-shadow:0 10px 18px rgba(0,0,0,.42)!important;padding:0!important;opacity:1!important;mix-blend-mode:normal!important;filter:none!important;pointer-events:none}
.pitch.halfPitch .fieldNameTag span{display:block!important;padding:7px 10px!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font:900 13px/1.14 Arial,Helvetica,sans-serif!important;letter-spacing:.12px!important;text-align:center!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;text-shadow:none!important;opacity:1!important}
.removePlacedBtn{position:absolute;right:-6px;top:-6px;z-index:8;border:none;border-radius:999px;width:24px;height:24px;display:grid;place-items:center;background:#111;color:#fff;font:900 16px/1 Arial;box-shadow:0 4px 10px rgba(0,0,0,.35);cursor:pointer}
.removePlacedBtn:hover{background:#9b111e}
@media(max-width:760px){.pitch.halfPitch .pitchSlot{width:104px!important;height:132px!important}.pitch.halfPitch .fieldNameTag{top:58px!important;min-width:86px!important;max-width:150px!important}.pitch.halfPitch .fieldNameTag span{font-size:11px!important;padding:6px 8px!important}.removePlacedBtn{right:-2px;top:-4px;width:22px;height:22px;font-size:14px}}


/* 2026-10-02 V4.2 — identité club unifiée + logo header + plan de jeu */
.clubHeroLogo{width:100%;height:100%;object-fit:contain;display:block;padding:6px;background:#fff}
.clubIdentityColors{margin:16px 0;padding:14px;border:1px solid var(--line);background:#f7f3ea}
.clubColorMode{display:flex;gap:16px;flex-wrap:wrap;margin:8px 0 12px;font-size:12px;font-weight:800}
.clubColorInputs{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr));gap:10px}
.clubColorInputs label{font-size:11px;font-weight:800}
.clubColorInputs input[type=color]{display:block;width:100%;height:42px;border:1px solid var(--line);padding:2px;background:#fff;margin-top:5px}
.clubColorPreview{display:flex;width:220px;height:12px;margin-top:12px;border:1px solid #9f947e;overflow:hidden}
.clubColorPreview i{flex:1}.clubColorPreview.readOnly{margin:12px 0}
.pitch.halfPitch .fieldNameTag{top:86px!important}
.pitch.halfPitch .numberedKit{transform:translateY(-12px)}
@media(max-width:760px){.clubColorInputs{grid-template-columns:1fr}.pitch.halfPitch .fieldNameTag{top:72px!important}.pitch.halfPitch .numberedKit{transform:translateY(-7px)}}


/* V5 CLEAN — identité club : logo importé + palette 2/3 couleurs, sans ancien générateur */
.clubHeaderLogo{width:84px;height:84px;object-fit:contain;display:block;border:3px solid var(--club-secondary);background:#fff;padding:4px;box-shadow:0 4px 12px #0002;flex:0 0 84px}
.clubStripe{display:flex;width:170px;height:8px;overflow:hidden}
.clubStripe i{flex:1}
@media(max-width:620px){.clubHeaderLogo{width:72px;height:72px;flex-basis:72px}}


/* V5.1 — 4 plans de match datés */
.matchPlanSection{margin-bottom:18px}.matchPlanHead{display:flex;justify-content:space-between;gap:16px;align-items:end;margin-bottom:12px}.matchPlanHead h3{margin:4px 0 4px}.matchPlanGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.matchPlanCard{border:1px solid var(--line);background:#f7f4ed;padding:12px;display:grid;gap:8px;min-height:210px}.matchPlanCard.saved{border-color:#9d7d42;box-shadow:inset 0 3px 0 #9d7d42}.matchPlanCard.empty{opacity:.92}.matchPlanIndex{font-weight:1000;letter-spacing:.08em;color:#8b681f}.matchPlanCard label{font-size:10px;font-weight:900}.matchPlanCard input[type=date]{width:100%;margin-top:4px;padding:8px;border:1px solid var(--line);background:#fff}.matchPlanDate{padding:8px;border:1px solid var(--line);background:#fff;font-weight:900;font-size:12px}.matchPlanState{font-size:11px;font-weight:1000}.matchPlanCard small{font-size:9px;color:#666}.matchPlanActions{display:grid;gap:6px;margin-top:auto}.matchPlanActions .primary,.matchPlanActions .mini{width:100%;font-size:9px;padding:8px}.matchPlanPreviewCard{margin-top:16px}.matchPlanPreviewHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.matchPlanReadOnly{max-width:760px;margin:0 auto;min-height:640px!important}.matchPlanReadOnly .removePlacedBtn{display:none!important}.matchPlanReadOnly .fieldPlayer{cursor:default!important}
@media(max-width:1050px){.matchPlanGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.matchPlanGrid{grid-template-columns:1fr}.matchPlanReadOnly{min-height:560px!important}}


/* 2026-10-02 V5.2 — identité club stabilisée, uploads optimisés */
.clubIdentityGrid.identityV3{min-width:0}
.identityMainCard,.clubStory,.kitUploadIdentity{min-width:0}
.clubIdentityColors{width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}
.clubColorInputs{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(74px,1fr))!important;gap:8px!important;width:100%!important;max-width:100%!important;min-width:0!important}
.clubColorInputs label{min-width:0!important;overflow:hidden}
.clubColorInputs input[type=color]{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;height:38px!important;box-sizing:border-box!important;padding:2px!important}
.clubColorPreview{width:100%!important;max-width:220px!important}
.clubLogoTools{align-items:flex-start!important}
.clubLogoLarge,.clubHeaderLogo{object-fit:contain!important;background:#fff!important}
.clubLogoFileInput{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.logoAction,.kitUploadBtn{pointer-events:auto!important}
@media(max-width:520px){.clubColorInputs{grid-template-columns:repeat(auto-fit,minmax(62px,1fr))!important}.clubIdentityColors{padding:10px!important}.clubColorMode{gap:10px!important}}


/* 2026-10-02 V5.3 — statuts ACCEPTED / REJECTED universels */
.rejectedStamp{display:inline-block;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18));vertical-align:middle}
.rejectedStamp.entryStamp{width:48px;height:48px;margin-left:auto}
.rejectedStamp.miniStamp{width:28px;height:28px;margin-right:6px}
.rejectedStamp.statusStamp{width:54px;height:54px;margin-right:10px}
.validationHistoryRow{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid var(--line)}
.validationHistoryRow:last-child{border-bottom:0}
.validationHistoryRow small{display:block;margin-top:2px;color:var(--muted)}
.validationHistoryRow p{margin:5px 0 0;font-size:12px}
.validationHistoryRow.refused p{color:#7d3636}
.playerValidationHistory{margin-top:18px}

/* V5.6 — disponibilités centralisées dans le profil */
.availabilityProfileCard .usualDays{display:grid;grid-template-columns:repeat(7,minmax(54px,1fr));gap:8px;margin:14px 0 18px}
.availabilityProfileCard .dayPick{min-width:0;text-align:center;padding:10px 6px}
.availabilityDayGrid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:12px;margin:16px 0}
.availabilityDayCard{background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:14px;padding:14px;min-width:0;box-shadow:0 8px 18px rgba(0,0,0,.08)}
.availabilityDayCard strong{display:block;font-size:34px;line-height:1;margin:8px 0 4px}
.availabilityDayCard strong small{font-size:15px;font-weight:700;opacity:.55}
.availabilityDayCard p{font-size:11px;font-weight:900;letter-spacing:.5px;margin:0 0 10px}
.availabilityDayCard summary{cursor:pointer;font-size:11px;font-weight:900}
.availabilityNames{display:flex;flex-direction:column;gap:5px;margin-top:8px}
.availabilityNames span{font-size:12px;font-weight:800}
.availabilityNames em{font-size:12px;opacity:.6}
.availabilityGlobal{margin-top:12px;padding:10px 12px;border-radius:10px;background:rgba(0,0,0,.05);font-weight:800}
@media(max-width:1100px){.availabilityDayGrid{grid-template-columns:repeat(4,minmax(130px,1fr))}}
@media(max-width:720px){.availabilityDayGrid{grid-template-columns:repeat(2,minmax(130px,1fr))}.availabilityProfileCard .usualDays{grid-template-columns:repeat(4,minmax(54px,1fr))}}

/* V57 — public competition view for captains/players */
.competitionPublicSpectacle{padding:0!important;overflow:hidden}
.competitionPublicHero{display:grid;gap:18px;padding:24px 24px 18px;background:linear-gradient(180deg,rgba(255,255,255,.88),rgba(249,245,235,.92));border-bottom:1px solid rgba(188,157,92,.42)}
.competitionPublicIntro h2{margin:8px 0 10px;font-size:clamp(28px,2.8vw,42px);line-height:1.02;max-width:900px}
.competitionPublicFacts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.competitionPublicFact{background:linear-gradient(180deg,rgba(15,20,18,.94),rgba(34,41,36,.92));color:#fff;border:1px solid rgba(215,181,89,.5);border-radius:16px;padding:14px 15px;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.competitionPublicFact small{display:block;font-size:10px;font-weight:900;letter-spacing:.16em;color:#e5c067;margin-bottom:5px}
.competitionPublicFact b{display:block;font-size:16px;line-height:1.2;font-weight:950;color:#fff}
.competitionPublicHighlights{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.fcPublicShowcase{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:0 24px 24px}
.fcPublicBlock{position:relative;border:1px solid rgba(188,157,92,.42);border-radius:20px;padding:18px;background:rgba(255,255,255,.72);box-shadow:0 8px 20px rgba(76,54,12,.06)}
.fcPublicBlock.visualTone{background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(246,242,232,.86))}
.fcPublicBlock.gameplayTone{background:linear-gradient(180deg,rgba(255,255,255,.82),rgba(242,245,238,.86))}
.fcPublicBlockHead h3{margin:6px 0 0;font-size:23px;line-height:1.06}
.compRuleGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.compRuleTile{display:grid;grid-template-columns:42px 1fr;align-items:center;gap:12px;padding:12px 13px;border-radius:16px;border:1px solid rgba(188,157,92,.36);background:rgba(255,255,255,.78);box-shadow:0 4px 10px rgba(0,0,0,.04)}
.compRuleTile.visualTone{border-color:rgba(189,154,84,.42)}
.compRuleTile.gameplayTone{border-color:rgba(116,154,114,.34)}
.compRuleTile.highlight{background:linear-gradient(180deg,rgba(14,19,17,.95),rgba(31,38,34,.92));border-color:rgba(215,181,89,.56)}
.compRuleTile.highlight small,.compRuleTile.highlight b{color:#fff}
.compRuleTile.highlight .compRuleIcon{background:rgba(216,174,56,.16);color:#ffd970;border-color:rgba(255,217,112,.22)}
.compRuleIcon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#f4ebd2;border:1px solid rgba(188,157,92,.36);font-size:20px}
.compRuleTileText{min-width:0}
.compRuleTileText small{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;color:#83601d;text-transform:uppercase}
.compRuleTileText b{display:block;margin-top:4px;font-size:14px;line-height:1.2;color:#111;font-weight:950}
.fcPublicFootnote{padding:0 24px 24px;font-size:12px}
@media(max-width:1000px){
  .competitionPublicFacts,.competitionPublicHighlights,.compRuleGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fcPublicShowcase{grid-template-columns:1fr}
}
@media(max-width:640px){
  .competitionPublicHero{padding:18px 16px 14px}
  .competitionPublicFacts,.competitionPublicHighlights,.compRuleGrid{grid-template-columns:1fr}
  .fcPublicShowcase{padding:0 16px 18px}
  .fcPublicFootnote{padding:0 16px 18px}
}

/* V58 — prettier competition landing page */
.compLandingGrid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(320px,.95fr);gap:18px;margin:18px 0 20px}
.compHeroBoard,.compValidatedBoard{position:relative;overflow:hidden;border:1px solid rgba(188,157,92,.42)!important;border-radius:22px!important;box-shadow:0 10px 28px rgba(35,28,12,.08)!important}
.compHeroBoard{min-height:260px;background:
linear-gradient(135deg,rgba(255,255,255,.94),rgba(247,241,227,.92) 52%,rgba(239,232,213,.96)),
radial-gradient(circle at top right,rgba(184,143,36,.18),transparent 36%),
radial-gradient(circle at bottom left,rgba(151,23,34,.12),transparent 28%)!important}
.compHeroOverlay{position:absolute;inset:0;background:
linear-gradient(180deg,transparent 0 68%,rgba(183,149,73,.12) 68% 69%,transparent 69% 100%),
linear-gradient(130deg,transparent 0 83%,rgba(183,149,73,.14) 83% 84%,transparent 84% 100%);pointer-events:none}
.compHeroContent{position:relative;z-index:1;padding:28px 26px 24px}
.compHeroBoard h3{font-size:clamp(30px,3vw,48px);line-height:1.02;margin:10px 0 12px;max-width:780px}
.compHeroRules{font-size:15px;line-height:1.6;color:#332d22;max-width:760px;margin:0 0 18px}
.compMetaGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.compMetaPill{border:1px solid rgba(188,157,92,.4);border-radius:16px;padding:12px 14px;background:rgba(255,255,255,.68);box-shadow:0 4px 10px rgba(0,0,0,.03)}
.compMetaPill small{display:block;font-size:10px;font-weight:900;letter-spacing:.16em;color:#8a6420;margin-bottom:6px}
.compMetaPill b{display:block;font-size:18px;line-height:1.2;color:#101418;font-weight:950}
.compActionStrip{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.compActionStrip .status{margin:0}
.compValidatedBoard{background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(245,241,233,.95))!important;padding:20px}
.compValidatedHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.compValidatedHead b{display:inline-grid;place-items:center;min-width:58px;height:34px;padding:0 12px;border-radius:999px;background:#111;color:#fff;font-size:16px;font-weight:950}
.compEntryGrid{display:grid;gap:10px;max-height:520px;overflow:auto;padding-right:4px}
.compEntryCard{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;border:1px solid rgba(188,157,92,.28);background:rgba(255,255,255,.72);border-radius:16px;padding:12px 12px;box-shadow:0 4px 10px rgba(0,0,0,.03)}
.compEntryText{min-width:0}
.compEntryText b{display:block;font-size:14px;line-height:1.15;color:#111}
.compEntryText small{display:block;font-size:11px;color:#6b6252;margin-top:3px}
.compCalendarAction{margin-top:14px;display:flex;justify-content:flex-start}
.compCalendarAction .primary,.compCalendarAction .mini{width:100%;justify-content:center}
@media(max-width:1000px){.compLandingGrid{grid-template-columns:1fr}.compMetaGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.compHeroContent{padding:20px 18px 18px}.compMetaGrid{grid-template-columns:1fr}.compValidatedBoard{padding:16px}}

/* V59 — uniformité médias clubs */
.mediaAdminOnly{margin-top:10px;padding:10px 12px!important;border-left:4px solid var(--gold);background:rgba(244,235,210,.82)!important}
.mediaAdminOnly b{font-size:11px;letter-spacing:.08em}
.mediaAdminOnly .muted{font-size:11px;line-height:1.35}

/* V61 — accès rapide règlement pour les joueurs */
.quickRulesPage{display:grid;gap:18px}
.quickRulesSelector{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:22px;align-items:end;background:linear-gradient(135deg,#f8f4e8,#fff);border:1px solid #d9c48b}
.quickRulesSelector h2{margin:5px 0 8px}
.quickRulesSelector label{font-size:11px;font-weight:950;letter-spacing:.08em;color:#78571a}
.quickRulesSelector select{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #c9ad68;border-radius:12px;background:#fff;font-weight:850;color:#111}
.quickRulesSummary{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(300px,.8fr);gap:22px;align-items:center;background:linear-gradient(135deg,rgba(18,24,21,.97),rgba(45,52,45,.96));color:#fff;border:1px solid rgba(215,181,89,.55)}
.quickRulesSummary h2{font-size:clamp(28px,3vw,44px);margin:5px 0 10px;color:#fff}
.quickRulesSummary p{color:#f2eee3;line-height:1.55}
.quickRulesSummary .label{color:#e2bd59}
.quickRulesFacts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.quickRulesFacts>div{padding:12px 13px;border-radius:14px;background:rgba(255,255,255,.08);border:1px solid rgba(229,194,96,.24)}
.quickRulesFacts small{display:block;font-size:9px;font-weight:950;letter-spacing:.14em;color:#dfbd64;margin-bottom:4px}
.quickRulesFacts b{display:block;font-size:15px;color:#fff}
@media(max-width:850px){.quickRulesSelector,.quickRulesSummary{grid-template-columns:1fr}.quickRulesFacts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.quickRulesFacts{grid-template-columns:1fr}}


/* V6.2 — fiche club : suppression du doublon du nom */
.clubHeroMeta{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:6px}
.clubHeroMeta .label{margin:0}
.clubHeroSecondary{margin:0;font-size:14px;font-weight:850;letter-spacing:.04em;color:var(--ink,#1a1a1a);opacity:.78}

/* V6.3 — renommage dynamique du club */
.clubRenameBox{display:grid;grid-template-columns:1fr;gap:12px;margin:10px 0 14px;padding:16px;border:1px solid rgba(178,145,73,.38);border-radius:14px;background:rgba(255,255,255,.62)}
.clubRenameBox label{display:block;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#6d5a2a}
.clubRenameBox input{display:block;width:100%;min-width:0;margin-top:6px;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:#111;font-size:22px;font-weight:800;line-height:1.15;letter-spacing:.02em}
.clubRenameBox input::placeholder{font-size:16px;font-weight:700;color:#777;opacity:1}
.clubRenameBox .mini{width:100%;min-height:52px;padding:0 18px;white-space:normal;text-align:center;line-height:1.15;justify-self:stretch}
.clubRenameBox small{color:#6d685d;font-size:11px;line-height:1.4}
@media(max-width:1180px){.clubIdentityGrid.identityV3{grid-template-columns:minmax(360px,1fr) minmax(300px,1fr)}.kitUploadIdentity{grid-column:1/-1}}
@media(max-width:900px){.clubRenameBox .mini{width:100%}}
@media(max-width:760px){.clubIdentityGrid.identityV3{grid-template-columns:1fr}}

/* V6.4 — organigramme des rôles et confidentialité des plans */
.planPrivacyBlock{border-left:5px solid #1f1f1f;background:linear-gradient(135deg,#f7f2e5,#fff)}
.authorityOrg{margin:22px 0 28px;padding:24px;border:1px solid #d2bb79;border-radius:22px;background:linear-gradient(145deg,#fbf7ee,#fff 55%,#f2ebd8);box-shadow:0 12px 30px rgba(46,35,12,.10)}
.authorityOrgTitle h2{margin:6px 0 6px;font-size:clamp(26px,3vw,38px);color:#111}
.authorityOrgTitle p{margin:0;color:#433d31;font-size:15px;line-height:1.45}
.authorityFlow{display:grid;justify-items:center;margin:24px auto 28px;max-width:980px}
.authorityTop{padding:14px 28px;border-radius:999px;background:#111;color:#fff;font-weight:950;letter-spacing:.08em;text-align:center;box-shadow:0 8px 18px rgba(0,0,0,.14)}
.authorityTop span{display:block;margin-top:4px;font-size:11px;color:#f0cb69;letter-spacing:.13em}
.authorityLine{width:2px;height:32px;background:#b8953f}
.authorityBranches{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:100%;padding-top:18px}
.authorityBranches:before{content:"";position:absolute;left:16.5%;right:16.5%;top:0;height:2px;background:#b8953f}
.authorityBranches span{position:relative;padding:11px 14px;border:1px solid #d4bd7d;border-radius:12px;background:#fff;color:#17140d;text-align:center;font-weight:900;font-size:13px;letter-spacing:.03em;box-shadow:0 6px 16px rgba(61,45,13,.06)}
.authorityBranches span:before{content:"";position:absolute;left:50%;top:-19px;width:2px;height:18px;background:#b8953f}
.authorityGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.authorityCard{border:1px solid #d7c7a1;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 20px rgba(40,31,10,.05)}
.authorityCard.master{grid-column:1/-1}
.authorityHead{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:14px 16px;background:#171915;color:#fff}
.authorityHead span{font-weight:950;letter-spacing:.08em;font-size:15px}.authorityHead small{color:#f2cc69;font-weight:900;font-size:13px}
.authorityCols{display:grid;grid-template-columns:1fr 1fr;gap:0}
.authorityCols>div{padding:16px 16px}
.authorityCols>div:first-child{background:linear-gradient(180deg,#fff,#fbf8ef)}
.authorityCols>div+div{border-left:1px solid #e4dcc6}
.authorityCols b{display:block;margin-bottom:9px;font-size:11px;letter-spacing:.14em;color:#6b5213}
.authorityCols p{margin:8px 0;font-size:14px;line-height:1.45;color:#191611;font-weight:700}
.authorityCols>div:first-child p{color:#1b281d}
.authorityCols>div:first-child p::before{color:#1f7a37}
.authorityNo{background:linear-gradient(180deg,#fff,#fcf4f1)}
.authorityNo b{color:#8c321d}
.authorityNo p{color:#4b1f17}
.authorityCard .authorityCols p{opacity:1!important;text-shadow:none!important}
.authorityCard .authorityCols b,.authorityCard .authorityHead span,.authorityCard .authorityHead small{opacity:1!important}
@media(max-width:760px){.authorityOrg{padding:16px}.authorityGrid{grid-template-columns:1fr}.authorityCard.master{grid-column:auto}.authorityCols{grid-template-columns:1fr}.authorityCols>div+div{border-left:0;border-top:1px solid #e4dcc6}.authorityBranches{grid-template-columns:1fr}.authorityBranches:before,.authorityBranches span:before,.authorityLine{display:none}.authorityTop{margin-bottom:10px}}

/* V6.5 — capitaine adjoint désigné */
.clubDeputyPanel{margin:14px 0;padding:14px 15px;border:1px solid rgba(170,132,49,.36);border-radius:16px;background:linear-gradient(135deg,rgba(248,243,227,.92),rgba(255,255,255,.94))}
.clubDeputyPanel h4{margin:5px 0 6px;font-size:16px}
.clubDeputyPanel.readOnly{background:rgba(248,246,239,.75)}
.clubDeputyControls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
.clubDeputyControls select{min-width:240px;flex:1;padding:10px 12px;border:1px solid var(--line);background:#fff}
.authorityBranches{grid-template-columns:repeat(4,minmax(0,1fr))}
.authorityBranches:before{left:12.5%;right:12.5%}
.authorityCard.deputy .authorityHead{background:#4b3e18}
@media(max-width:760px){.clubDeputyControls{align-items:stretch}.clubDeputyControls select,.clubDeputyControls button{width:100%}}

/* V6.6 — Actualités joueurs rotatives dans le hero d’accueil */
.homeHeroPanel{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(250px,34%)!important;align-items:stretch!important;gap:18px!important;padding:18px 20px!important}
.homeHeroTitle{align-self:end!important;justify-self:start!important}
.homeSpotlight{position:relative;z-index:4;align-self:center;justify-self:stretch;min-width:0}
.homeSpotlightSlide{animation:homeSpotlightIn .28s ease both}
@keyframes homeSpotlightIn{from{opacity:.25;transform:translateX(10px)}to{opacity:1;transform:none}}
.homeSpotlightCard{position:relative;background:linear-gradient(180deg,rgba(9,14,13,.94),rgba(17,24,21,.92));border:1px solid rgba(231,190,73,.72);border-radius:18px;padding:15px 16px;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.28);backdrop-filter:blur(3px)}
.homeSpotlightLabel{font-size:10px;font-weight:1000;letter-spacing:.14em;color:#f2c84b;margin-bottom:12px}
.homeSpotlightIdentity{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:12px;min-width:0}
.homeSpotlightAvatar{width:58px;height:58px;border-radius:14px;object-fit:cover;border:1px solid rgba(242,200,75,.5);background:#1a211e}
.homeSpotlightAvatar.fallback{display:grid;place-items:center;font-size:25px}
.homeSpotlightIdentity strong{display:block;font-size:18px;line-height:1.05;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.homeSpotlightIdentity small{display:block;margin-top:4px;color:#d8d2c3;font-size:10px;font-weight:800}
.homeSpotlightClub{display:flex;align-items:center;gap:6px;margin-top:5px;color:#f2c84b;font-size:11px;font-weight:900}
.homeSpotlightClubLogo{width:22px;height:22px;object-fit:contain}
.homeSpotlightBadge{display:inline-flex;align-items:center;gap:5px;margin-top:12px;padding:6px 9px;border-radius:999px;background:rgba(242,200,75,.12);border:1px solid rgba(242,200,75,.28);color:#f7df92;font-size:10px;font-weight:950;letter-spacing:.08em}
.homeSpotlightStats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:12px}
.homeSpotlightStats span{padding:7px 5px;border-radius:10px;background:rgba(255,255,255,.055);text-align:center;font-size:8px;font-weight:850;color:#cfc8b8}
.homeSpotlightStats b{display:block;font-size:16px;color:#fff;line-height:1.05;margin-bottom:2px}
.homeTransferSpotlight{margin-top:12px;padding:9px 10px;border-radius:12px;background:rgba(255,255,255,.055)}
.homeTransferSpotlight small{display:block;color:#d3c9ad;font-size:8px;font-weight:900;letter-spacing:.11em;margin-bottom:5px}.homeTransferSpotlight div{display:flex;align-items:center;gap:7px;font-size:11px}.homeTransferSpotlight strong{color:#f2c84b}
.homeSpotlightOpen{margin-top:12px;width:100%;min-height:34px;border:1px solid rgba(242,200,75,.55);background:#d3aa37;color:#111;font-weight:950;font-size:10px;letter-spacing:.08em;cursor:pointer}
.homeSpotlightDots{display:flex;justify-content:center;gap:7px;margin-top:8px}.homeSpotlightDots button{width:7px;height:7px;border:0;border-radius:999px;background:rgba(255,255,255,.35);padding:0;cursor:pointer}.homeSpotlightDots button.active{width:22px;background:#f2c84b}
.homeSpotlightEmpty{padding:18px;border:1px solid rgba(242,200,75,.4);background:rgba(0,0,0,.5);color:#fff;font-size:11px;font-weight:900;text-align:center}
@media(prefers-reduced-motion:reduce){.homeSpotlightSlide{animation:none}}
@media(max-width:900px){.homeHeroPanel{grid-template-columns:1fr!important;align-content:end!important}.homeSpotlight{max-width:420px;justify-self:end}.homeHeroTitle{align-self:end!important}}
@media(max-width:620px){.homeHeroPanel{padding:14px!important}.homeSpotlight{max-width:none;width:100%}.homeHeroTitle{margin-bottom:4px}.homeSpotlightStats{grid-template-columns:repeat(3,1fr)}}

/* --- V67 accueil spotlight + admin readability fixes --- */
.publicProfile .adminPlayerStatusCard,
.adminPlayerStatusCard{
  color:#f7f1e2!important;
}
.publicProfile .adminPlayerStatusCard h3,
.adminPlayerStatusCard h3{
  color:#fff8ea!important;
  text-shadow:0 1px 8px rgba(0,0,0,.28);
}
.publicProfile .adminPlayerStatusCard .muted,
.adminPlayerStatusCard .muted,
.adminPlayerStatusCard p{
  color:#ddd4c2!important;
}
.adminCurrentStatus{
  color:#f2c84b!important;
  background:rgba(242,200,75,.08);
  border:1px solid rgba(242,200,75,.24);
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  letter-spacing:.06em;
}
.adminStatusChoice{
  color:#f7f1e2!important;
  background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.12))!important;
}
.adminStatusChoice.danger{color:#fff1ef!important}

.homeHeroPanel{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(290px,35%)!important;
  align-items:center!important;
  gap:18px!important;
  padding:18px 22px!important;
  background-position:center 41%!important;
}
.homeHeroIntro{
  position:relative;
  z-index:3;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:14px;
  min-width:0;
  padding:6px 0 10px;
}
.homeHeroContext{max-width:560px}
.homeHeroContextCard{
  max-width:470px;
  padding:14px 16px 13px;
  border:1px solid rgba(242,200,75,.42);
  background:linear-gradient(180deg,rgba(7,11,12,.48),rgba(8,12,13,.18));
  backdrop-filter:blur(2px);
  box-shadow:0 10px 24px rgba(0,0,0,.14);
}
.homeHeroContextKicker{
  display:block;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.18em;
  color:#f2c84b;
  margin-bottom:9px;
}
.homeHeroContextCard h2{
  margin:0 0 8px!important;
  font-size:20px!important;
  line-height:1.05;
  letter-spacing:.06em;
  color:#fff7e8!important;
  text-transform:uppercase;
}
.homeHeroContextCard p{
  margin:0;
  max-width:440px;
  color:#efe8d6!important;
  font-size:13px;
  line-height:1.45;
  font-weight:700;
}
.homeHeroContextCard small{
  display:block;
  margin-top:9px;
  color:#f2c84b;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.homeHeroTitle{
  align-self:start!important;
  justify-self:start!important;
  transform:translateY(-2px);
  margin-top:0!important;
  padding-top:0!important;
}
.homeHeroTitle h1{
  margin:0 0 6px!important;
  font-size:29px!important;
  letter-spacing:.14em!important;
}
.homeHeroTitle p{
  font-size:10px!important;
  letter-spacing:.24em!important;
}
.homeSpotlight{
  position:relative;
  z-index:4;
  align-self:start!important;
  justify-self:stretch;
  min-width:0;
  margin-top:2px;
}
.homeSpotlightCard{
  padding:16px 16px 14px;
  border-radius:18px;
}
.homeSpotlightLabel{
  margin-bottom:11px;
}
.homeSpotlightReason{
  display:grid;
  gap:3px;
  margin-top:12px;
  padding:10px 11px;
  border-radius:12px;
  border:1px solid rgba(242,200,75,.23);
  background:rgba(255,255,255,.04);
}
.homeSpotlightReason span{
  font-size:9px;
  color:#f2c84b;
  font-weight:1000;
  letter-spacing:.16em;
}
.homeSpotlightReason b{
  font-size:14px;
  color:#fff8eb;
  line-height:1.15;
}
.homeSpotlightMeta{
  margin-top:9px;
  color:#d8d2c3;
  font-size:11px;
  font-weight:800;
  line-height:1.35;
}
.homeSpotlightOpen{margin-top:13px}
@media(max-width:1080px){
  .homeHeroPanel{grid-template-columns:1fr!important;background-position:center 45%!important}
  .homeSpotlight{max-width:430px;justify-self:end;margin-top:0}
}
@media(max-width:760px){
  .homeHeroIntro{gap:10px;padding-bottom:2px}
  .homeHeroContextCard{padding:12px 12px 11px}
  .homeHeroContextCard h2{font-size:17px!important}
  .homeHeroContextCard p{font-size:12px}
  .homeSpotlight{max-width:none;width:100%}
}

/* V69 — recadrage définitif du bandeau À L'AFFICHE */
.homeHeroPanel{
  grid-template-columns:minmax(0,1fr) minmax(270px,34%)!important;
  align-items:center!important;
  padding:12px 18px!important;
  gap:20px!important;
  background-position:center 40%!important;
}
.homeHeroIntro{
  height:100%;
  min-height:0;
  padding:0!important;
  gap:8px!important;
  justify-content:space-between!important;
}
.homeHeroContext{
  display:flex;
  align-items:center;
  flex:1 1 auto;
  max-width:560px!important;
  min-height:0;
}
.homeHeroContextCard{
  width:100%;
  max-width:520px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  text-shadow:0 2px 9px #000;
}
.homeHeroContextKicker{
  margin:0 0 5px!important;
  font-size:9px!important;
  letter-spacing:.19em!important;
}
.homeHeroContextCard h2{
  margin:0 0 5px!important;
  font-size:21px!important;
  line-height:1!important;
  letter-spacing:.045em!important;
}
.homeHeroContextMain{
  display:block;
  margin:0 0 4px;
  color:#fff8ea;
  font-size:14px;
  line-height:1.1;
  font-weight:950;
  letter-spacing:.02em;
}
.homeHeroContextCard small{
  margin:0!important;
  font-size:10px!important;
  line-height:1.1;
  color:#f2c84b!important;
  letter-spacing:.07em!important;
}
.homeHeroTitle{
  flex:0 0 auto;
  transform:none!important;
  margin:0!important;
  padding:0!important;
}
.homeHeroTitle h1{
  font-size:26px!important;
  line-height:1!important;
  margin:0 0 3px!important;
  letter-spacing:.14em!important;
}
.homeHeroTitle p{
  margin:0!important;
  font-size:8px!important;
  line-height:1!important;
  letter-spacing:.23em!important;
}
.homeSpotlight{
  align-self:center!important;
  margin:0!important;
}
.homeSpotlightCard{
  padding:12px 14px 13px!important;
  border-radius:16px!important;
}
.homeSpotlightLabel{
  margin-bottom:8px!important;
  font-size:9px!important;
}
.homeSpotlightIdentity{
  grid-template-columns:52px 1fr!important;
  gap:10px!important;
}
.homeSpotlightAvatar{
  width:52px!important;
  height:52px!important;
  border-radius:12px!important;
}
.homeSpotlightIdentity strong{font-size:16px!important}
.homeSpotlightIdentity small{font-size:9px!important;margin-top:3px!important}
.homeSpotlightClub{font-size:10px!important;margin-top:3px!important}
.homeSpotlightClubLogo{width:18px!important;height:18px!important}
.homeSpotlightReason,.homeSpotlightMeta,.homeSpotlightStats{display:none!important}
.homeSpotlightOpen{
  margin-top:9px!important;
  min-height:31px!important;
  font-size:9px!important;
}
.homeSpotlightDots{margin-top:5px!important}
@media(max-width:1080px){
 .homeHeroPanel{grid-template-columns:1fr!important;align-content:start!important;min-height:330px!important}
 .homeHeroIntro{height:auto;gap:12px!important}
 .homeSpotlight{max-width:390px!important;justify-self:end!important}
}
@media(max-width:760px){
 .homeHeroPanel{padding:14px!important;min-height:360px!important}
 .homeHeroContextCard h2{font-size:18px!important}
 .homeHeroContextMain{font-size:13px}
 .homeSpotlight{max-width:none!important;width:100%!important}
}

/* V70 — corrections demandées */
.publicProfile .adminPlayerStatusCard,
.publicProfile .adminPlayerStatusCard .label,
.publicProfile .adminPlayerStatusCard h3,
.publicProfile .adminPlayerStatusCard p,
.publicProfile .adminPlayerStatusCard .muted,
.publicProfile .adminPlayerStatusCard .adminCurrentStatus,
.publicProfile .adminPlayerStatusCard .adminStatusChoice,
.publicProfile .adminPlayerStatusCard .adminStatusChoice.danger {color:#62d97d!important}
.homeHeroContextCard{border:0!important;background:transparent!important;box-shadow:none!important;padding:0!important}
.homeHeroContextKicker,.homeHeroContextCard h2,.homeHeroContextMain,.homeHeroContextCard small{display:block!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.homeHeroContextKicker{color:#f2c84b!important}.homeHeroContextCard h2,.homeHeroContextMain{color:#fff8ea!important}.homeHeroContextCard small{color:#f2c84b!important}

/* V71 — Lisibilité de l'onglet RÈGLEMENT */
.quickRulesSummary,
.quickRulesSummary *{
  text-shadow:none!important;
}
.quickRulesSummary{
  background:linear-gradient(135deg,#17201c 0%,#28312b 100%)!important;
  border:1px solid rgba(226,189,89,.72)!important;
  color:#f7f3e8!important;
}
.quickRulesSummary .label{
  color:#e6bf58!important;
}
.quickRulesSummary h2{
  color:#ffffff!important;
  opacity:1!important;
}
.quickRulesSummary p,
.quickRulesSummary .muted{
  color:#eee8d9!important;
  opacity:1!important;
}
.quickRulesFacts>div{
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(229,194,96,.36)!important;
}
.quickRulesFacts small{
  color:#e7c15e!important;
  opacity:1!important;
}
.quickRulesFacts b,
.quickRulesSummary strong{
  color:#ffffff!important;
  opacity:1!important;
}


/* V72 — règlement compétition : nouvelle présentation claire et lisible */
.competitionHero{
  background:#0b1412 url('assets/competition_fuma_bodo.png') center center/cover no-repeat!important;
}
.competitionHero::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(6,11,10,.88) 0%,rgba(8,14,12,.70) 38%,rgba(8,14,12,.55) 62%,rgba(6,11,10,.84) 100%);
  pointer-events:none;
}
.competitionHeroLeft,.competitionHeroRight{position:relative;z-index:2}
.competitionHeroSeason,.competitionHeroLeft .label{color:#f0cb69!important;text-shadow:none!important}
.competitionHero h3{color:#fffdf8!important;text-shadow:0 2px 10px rgba(0,0,0,.38)!important}
.competitionHeroLeft p,.competitionHeroLeft small,.competitionHeroRight,.competitionHeroRight *{color:#f7f1e2!important}
.competitionHeroMeta > div,
.competitionHeroFact,
.competitionHeroRight .competitionMetaCard,
.competitionHeroRight .metaCard{
  background:rgba(255,255,255,.12)!important;
  border:1px solid rgba(232,198,106,.50)!important;
  box-shadow:none!important;
}

.fcPublic.competitionTechnicalCard{
  background:linear-gradient(180deg,#fbf8f0 0%,#f6f0e2 100%)!important;
  border:1px solid rgba(188,157,92,.38)!important;
}
.competitionPublicSpectacle{background:transparent!important}
.competitionPublicHero{
  gap:16px!important;
  padding:28px 28px 20px!important;
  background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(247,242,232,.96))!important;
  border-bottom:1px solid rgba(188,157,92,.28)!important;
}
.competitionPublicIntro .label,
.competitionPublicIntro > .label{
  color:#8a6720!important;
  font-weight:1000!important;
  letter-spacing:.16em!important;
}
.competitionPublicIntro h2{
  color:#141414!important;
  margin:8px 0 10px!important;
  max-width:860px!important;
  font-size:clamp(30px,3vw,44px)!important;
  line-height:1.02!important;
}
.competitionPublicIntro p,
.fcPublic.competitionTechnicalCard .muted{
  color:#4c4030!important;
  font-size:14px!important;
  line-height:1.5!important;
}
.competitionPublicFacts{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
.competitionPublicFact{
  background:#fffdfa!important;
  color:#171717!important;
  border:1px solid rgba(188,157,92,.42)!important;
  border-left:5px solid #d6aa37!important;
  border-radius:16px!important;
  padding:14px 16px!important;
  box-shadow:0 8px 22px rgba(60,44,10,.08)!important;
}
.competitionPublicFact small{
  color:#8c6a26!important;
  font-size:10px!important;
  letter-spacing:.16em!important;
  margin-bottom:6px!important;
}
.competitionPublicFact b{
  color:#131313!important;
  font-size:19px!important;
  line-height:1.15!important;
}
.competitionPublicHighlights{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
.compRuleTile.highlight,
.competitionPublicHighlights .compRuleTile{
  background:#fff!important;
  border:1px solid rgba(188,157,92,.40)!important;
  border-radius:16px!important;
  box-shadow:0 7px 20px rgba(55,40,8,.06)!important;
}
.competitionPublicHighlights .compRuleTile{
  grid-template-columns:46px 1fr!important;
}
.competitionPublicHighlights .compRuleTile small,
.compRuleTile.highlight small{
  color:#8c6a26!important;
}
.competitionPublicHighlights .compRuleTile b,
.compRuleTile.highlight b{
  color:#161616!important;
  font-size:19px!important;
}
.competitionPublicHighlights .compRuleIcon,
.compRuleTile.highlight .compRuleIcon{
  background:linear-gradient(180deg,#fff7d7,#f1df9d)!important;
  border:1px solid rgba(188,157,92,.45)!important;
  color:#8b6a20!important;
}
.fcPublicShowcase{
  grid-template-columns:1fr 1fr!important;
  gap:18px!important;
  padding:0 28px 28px!important;
}
.fcPublicBlock{
  background:#fffdfa!important;
  border:1px solid rgba(188,157,92,.34)!important;
  border-radius:20px!important;
  box-shadow:0 10px 24px rgba(55,40,8,.05)!important;
}
.fcPublicBlock.visualTone,
.fcPublicBlock.gameplayTone{
  background:#fffdfa!important;
}
.fcPublicBlockHead .label{color:#8c6a26!important}
.fcPublicBlockHead h3{color:#161616!important}
.compRuleGrid{gap:13px!important}
.compRuleTile{
  background:#fff!important;
  border:1px solid rgba(188,157,92,.26)!important;
}
.compRuleTileText small{color:#8c6a26!important}
.compRuleTileText b{color:#121212!important;font-size:15px!important}
.fcPublicFootnote{
  color:#5b4d37!important;
  padding:0 28px 28px!important;
  font-size:12px!important;
}
@media(max-width:1000px){
  .competitionPublicFacts,.competitionPublicHighlights,.compRuleGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .fcPublicShowcase{grid-template-columns:1fr!important}
}
@media(max-width:640px){
  .competitionPublicHero{padding:18px 16px 14px!important}
  .competitionPublicFacts,.competitionPublicHighlights,.compRuleGrid{grid-template-columns:1fr!important}
  .fcPublicShowcase{padding:0 16px 18px!important}
  .fcPublicFootnote{padding:0 16px 18px!important}
}

/* V73 — correction ciblée du résumé supérieur de l’onglet RÈGLEMENT */
.quickRulesSummary{
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr)!important;
  gap:28px!important;
  align-items:center!important;
  background:#fbf7ee!important;
  border:1px solid #c9a84e!important;
  border-radius:18px!important;
  color:#171717!important;
  padding:24px 26px!important;
  box-shadow:0 8px 22px rgba(52,39,12,.07)!important;
}
.quickRulesSummary,
.quickRulesSummary *{text-shadow:none!important}
.quickRulesSummary .label{
  color:#8a651c!important;
  font-size:10px!important;
  font-weight:1000!important;
  letter-spacing:.18em!important;
}
.quickRulesSummary h2{
  margin:7px 0 10px!important;
  color:#111!important;
  font-size:clamp(28px,3vw,42px)!important;
  line-height:1.03!important;
  opacity:1!important;
}
.quickRulesSummary p,
.quickRulesSummary .muted{
  margin:0!important;
  color:#4b4133!important;
  font-size:14px!important;
  line-height:1.5!important;
  font-weight:700!important;
  opacity:1!important;
}
.quickRulesFacts{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
}
.quickRulesFacts>div{
  min-height:72px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:12px 14px!important;
  border-radius:14px!important;
  background:#fff!important;
  border:1px solid #d9c48b!important;
  border-left:4px solid #d1aa36!important;
  box-shadow:none!important;
}
.quickRulesFacts small{
  display:block!important;
  margin-bottom:5px!important;
  color:#8a651c!important;
  font-size:9px!important;
  font-weight:1000!important;
  letter-spacing:.15em!important;
  opacity:1!important;
}
.quickRulesFacts b,
.quickRulesSummary strong{
  color:#141414!important;
  font-size:17px!important;
  font-weight:950!important;
  opacity:1!important;
}
@media(max-width:850px){
  .quickRulesSummary{grid-template-columns:1fr!important;gap:18px!important}
}
@media(max-width:520px){
  .quickRulesSummary{padding:18px!important}
  .quickRulesFacts{grid-template-columns:1fr!important}
}

/* V74 — Admin FC27 gameplay/commandes : valeur + statut strict/libre */
.gameplayAdminRules{gap:12px!important}
.gameplayRulesLegend{display:flex;flex-wrap:wrap;gap:10px;margin:2px 0 8px}
.gameplayRulesLegend span{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:10px;font-weight:1000;letter-spacing:.08em}
.gameplayRulesLegend .strict{background:#ffe3e0;border:1px solid #c8352f;color:#a51f1a}
.gameplayRulesLegend .free{background:#e2f7e7;border:1px solid #2b9151;color:#1f713e}
.gameplayRuleField{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.42fr);gap:10px;align-items:end;padding:10px 11px;border:1px solid var(--line);border-left:5px solid #2b9151;background:#fff;border-radius:10px}
.gameplayRuleField.strict{border-left-color:#c8352f;background:#fff8f7}
.gameplayRuleField.free{border-left-color:#2b9151;background:#f8fff9}
.gameplayRuleField label{margin:0!important}
.gameplayRuleField label>span{display:block;margin-bottom:5px;font-size:10px;font-weight:900;letter-spacing:.06em;color:#3d3a34}
.gameplayPolicySelect.strict{color:#a51f1a!important;border-color:#c8352f!important;background:#fff0ee!important;font-weight:1000!important}
.gameplayPolicySelect.free{color:#1f713e!important;border-color:#2b9151!important;background:#effbf2!important;font-weight:1000!important}
@media(max-width:760px){.gameplayRuleField{grid-template-columns:1fr}}


/* V75 — administration : architecture clarifiée + console FC27 autonome */
.adminPanelNav{grid-template-columns:repeat(5,minmax(135px,1fr))!important}
.fc27GlobalStatus{display:flex;justify-content:space-between;align-items:center;gap:20px;border-left:5px solid #d6aa37}
.fc27GlobalStatus h3{margin:.35rem 0 .25rem}
.fc27PolicyCounts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.fc27PolicyCounts span{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:1000;letter-spacing:.06em;border:1px solid}
.fc27PolicyCounts span b{font-size:15px}
.fc27PolicyCounts .strict{color:#a51f1a;background:#fff0ee;border-color:#d86a65}
.fc27PolicyCounts .free{color:#1f713e;background:#effbf2;border-color:#69b181}
.fc27GlobalForm>.fcSettingsGrid{margin-top:12px}
.fc27ArchitectureNote .ruleList{margin-top:10px}
.compactSnapshot{padding:18px!important}
.competitionSnapshotHead{display:flex;align-items:center;justify-content:space-between;gap:18px}
.competitionSnapshotHead h3{margin:.35rem 0 .25rem}
.competitionSnapshotActions{display:grid;gap:12px;margin-top:14px}
.competitionFc27Override{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.46);overflow:hidden}
.competitionFc27Override>summary{cursor:pointer;padding:12px 14px;font-size:11px;font-weight:1000;letter-spacing:.07em;color:#44391f;background:rgba(216,180,93,.10)}
.competitionFc27Override>form{padding:14px}
.fc27CreateNotice{border-left-color:#d6aa37!important}
.adminCompetitionHead{align-items:flex-start!important}
@media(max-width:1050px){.adminPanelNav{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:760px){.adminPanelNav{grid-template-columns:1fr 1fr!important}.fc27GlobalStatus,.competitionSnapshotHead{align-items:flex-start;flex-direction:column}.fc27PolicyCounts{justify-content:flex-start}}
@media(max-width:520px){.adminPanelNav{grid-template-columns:1fr!important}}

/* V76 — Console FC 27 alignée sur les options officielles EA */
.fc27GameplayGroup{margin:18px 0 24px;padding:16px;border:1px solid rgba(184,145,51,.34);border-radius:16px;background:rgba(255,255,255,.035)}
.fc27GameplayGroupHead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(184,145,51,.22)}
.fc27GameplayGroupHead .label{color:#e0b443!important;font-size:11px!important;letter-spacing:.14em!important}
.fc27GameplayGroupHead small{color:#cfc7b7!important;font-weight:700;text-align:right}
.fc27GameplayGroupGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fc27ShotNote{margin:12px 0 16px!important;background:rgba(215,177,67,.10)!important;border-color:rgba(215,177,67,.45)!important;color:#f3ead5!important}
.gameplayRuleField{min-width:0}
.gameplayRuleField .gameplayValueLabel>span,.gameplayRuleField .gameplayPolicyLabel>span{font-weight:900!important}
@media(max-width:900px){.fc27GameplayGroupGrid{grid-template-columns:1fr}.fc27GameplayGroupHead{align-items:flex-start;flex-direction:column}.fc27GameplayGroupHead small{text-align:left}}


/* V77 — Console FC27 : VISUEL complet + largeur corrigée + règlement sans pictogrammes */
.fc27ConsoleGrid{
  grid-template-columns:minmax(360px,.72fr) minmax(720px,1.45fr)!important;
  align-items:start!important;
}
.visualAdminRules .fc27GameplayGroupGrid{
  grid-template-columns:1fr!important;
}
.gameplayAdminRules .fc27GameplayGroupGrid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.gameplayRuleField{
  grid-template-columns:minmax(170px,1.15fr) minmax(205px,.85fr)!important;
  min-width:0!important;
}
.gameplayRuleField select{
  width:100%!important;
  min-width:0!important;
  min-height:44px!important;
  padding:10px 34px 10px 12px!important;
  font-size:12px!important;
  font-weight:850!important;
  text-overflow:ellipsis;
}
.visualRuleField{
  grid-template-columns:minmax(160px,1fr) minmax(190px,.9fr)!important;
}
.fc27VisualGroup{
  margin:12px 0 18px!important;
}
.fc27VisualGroup .fc27GameplayGroupHead{
  margin-bottom:10px!important;
}
.compRuleTile{
  grid-template-columns:54px minmax(0,1fr)!important;
  min-height:84px;
}
.compRuleMedia{
  display:block;
  width:48px;
  height:48px;
  border:1px solid rgba(155,125,66,.38);
  border-radius:12px;
  background:linear-gradient(180deg,#fbf8f0,#efe7d5);
}
.compRuleTile.ruleStrict{border-left:5px solid #b33a32!important}
.compRuleTile.ruleFree{border-left:5px solid #2f8a50!important}
.rulePolicy{
  display:inline-flex;
  margin-top:7px;
  padding:4px 7px;
  border-radius:999px;
  font-size:9px;
  font-style:normal;
  font-weight:1000;
  letter-spacing:.05em;
}
.rulePolicy.strict{
  color:#8f211d;
  background:#ffebe8;
  border:1px solid #d76d67;
}
.rulePolicy.free{
  color:#176a38;
  background:#eaf8ee;
  border:1px solid #67ae7d;
}
.fcPublicShowcaseFull{grid-template-columns:1fr!important}
.fcPublicShowcaseFull .compRuleGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.competitionPublicHighlights .compRuleMedia{background:linear-gradient(180deg,#fff9e4,#eee0a7)}
@media(max-width:1180px){
  .fc27ConsoleGrid{grid-template-columns:minmax(320px,.8fr) minmax(600px,1.35fr)!important}
  .gameplayAdminRules .fc27GameplayGroupGrid{grid-template-columns:1fr!important}
  .fcPublicShowcaseFull .compRuleGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:900px){
  .fc27ConsoleGrid{grid-template-columns:1fr!important}
  .visualAdminRules .fc27GameplayGroupGrid,.gameplayAdminRules .fc27GameplayGroupGrid{grid-template-columns:1fr!important}
}
@media(max-width:640px){
  .gameplayRuleField,.visualRuleField{grid-template-columns:1fr!important}
  .fcPublicShowcaseFull .compRuleGrid{grid-template-columns:1fr!important}
}


/* V78 — Console FC27 plus proche du menu du jeu + largeur gameplay renforcée */
.fc27ConsoleGrid{grid-template-columns:minmax(290px,.56fr) minmax(840px,1.44fr)!important;gap:18px!important;align-items:start!important}
.fcSettings.visualAdminRules,.fcSettings.gameplayAdminRules{
  border:1px solid rgba(232,199,108,.18)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(10,14,16,.97),rgba(18,22,25,.96))!important;
  box-shadow:0 10px 34px rgba(0,0,0,.22)!important;
  color:#f2f1ea!important;
}
.fcSettings.visualAdminRules legend,.fcSettings.gameplayAdminRules legend{
  color:#ffffff!important;background:#11171b;border:1px solid rgba(232,199,108,.24);border-radius:999px;padding:7px 12px!important;
}
.fcSettings.visualAdminRules>.muted,.fcSettings.gameplayAdminRules>.muted{color:#d8d0bf!important}
.gameplayRulesLegend{gap:8px!important}
.gameplayRulesLegend .strict,.gameplayRulesLegend .free{padding:6px 9px;border-radius:999px;font-size:10px;font-weight:900;letter-spacing:.05em}
.gameplayRulesLegend .strict{background:#3a1513!important;color:#ffb2ae!important;border:1px solid rgba(222,94,86,.4)}
.gameplayRulesLegend .free{background:#13311f!important;color:#abebbf!important;border:1px solid rgba(73,181,109,.34)}
.fc27GameplayGroup{margin:14px 0 20px!important;padding:14px 14px 15px!important;border-radius:18px!important;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.02))!important;border:1px solid rgba(232,199,108,.16)!important}
.fc27GameplayGroup.fumaPriority{background:linear-gradient(180deg,rgba(74,18,18,.34),rgba(42,14,14,.26))!important;border-color:rgba(218,87,76,.42)!important}
.fc27GameplayGroupHead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:10px!important;padding-bottom:8px!important;border-bottom:1px solid rgba(232,199,108,.13)!important}
.fc27GameplayGroupHead .label{color:#f0c76a!important;font-size:11px!important;letter-spacing:.12em!important}
.fc27GameplayGroupHead small{color:#d8d0bf!important;font-weight:700!important;text-align:right}
.visualAdminRules .fc27GameplayGroupGrid{grid-template-columns:1fr!important;gap:10px!important}
.gameplayAdminRules .fc27GameplayGroupGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.gameplayRuleField,.visualRuleField{
  display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(255px,.85fr)!important;gap:10px!important;align-items:end!important;
  padding:10px 11px!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.08)!important;border-left:5px solid #2b9151!important;
  background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.03))!important;
}
.gameplayRuleField.strict,.visualRuleField.strict{border-left-color:#cb4a42!important;background:linear-gradient(180deg,rgba(113,35,32,.26),rgba(61,20,18,.2))!important}
.gameplayRuleField.free,.visualRuleField.free{border-left-color:#3ea966!important;background:linear-gradient(180deg,rgba(28,92,50,.22),rgba(18,52,29,.16))!important}
.gameplayRuleField label>span,.visualRuleField label>span{color:#f3f0e7!important;font-size:10px!important;font-weight:900!important;letter-spacing:.05em!important}
.gameplayValueLabel>span{font-size:11px!important}
.gameplayRuleField select,.visualRuleField select,.fcSettings select{
  width:100%!important;min-width:0!important;min-height:46px!important;padding:10px 38px 10px 12px!important;
  background:#f6f3ea!important;color:#101112!important;border:1px solid rgba(0,0,0,.15)!important;border-radius:10px!important;font-size:12px!important;font-weight:900!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85)!important;appearance:auto!important;
}
.gameplayPolicyLabel .gameplayPolicySelect.strict{background:#fff0ef!important;color:#811c16!important;border-color:#d86863!important}
.gameplayPolicyLabel .gameplayPolicySelect.free{background:#edf8f0!important;color:#146639!important;border-color:#6aac7c!important}
.fc27ShotNote{background:rgba(255,255,255,.06)!important;border-left:4px solid #f0c76a!important;color:#efe8d7!important}
.fc27ShotNote b{color:#fff4c5!important}
@media(max-width:1300px){.fc27ConsoleGrid{grid-template-columns:minmax(280px,.62fr) minmax(700px,1.38fr)!important}}
@media(max-width:1180px){.gameplayAdminRules .fc27GameplayGroupGrid{grid-template-columns:1fr!important}.fc27ConsoleGrid{grid-template-columns:minmax(280px,.8fr) minmax(580px,1.2fr)!important}}
@media(max-width:900px){.fc27ConsoleGrid{grid-template-columns:1fr!important}.gameplayRuleField,.visualRuleField{grid-template-columns:1fr!important}}


/* V79 — libellés sur une seule ligne dans la console FC27 */
.gameplayRuleField label,
.visualRuleField label,
.gameplayValueLabel,
.gameplayPolicyLabel{
  min-width:0!important;
}
.gameplayRuleField label>span,
.visualRuleField label>span,
.gameplayValueLabel>span,
.gameplayPolicyLabel>span{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  line-height:1.05!important;
}
.visualRuleField{
  grid-template-columns:minmax(170px,1.05fr) minmax(205px,.95fr)!important;
}
@media(max-width:900px){
  .gameplayRuleField,
  .visualRuleField{
    grid-template-columns:minmax(135px,.95fr) minmax(175px,1.05fr)!important;
    align-items:end!important;
  }
  .gameplayRuleField label>span,
  .visualRuleField label>span,
  .gameplayValueLabel>span,
  .gameplayPolicyLabel>span{
    font-size:9px!important;
    letter-spacing:.03em!important;
  }
}
@media(max-width:640px){
  .gameplayRuleField,
  .visualRuleField{
    grid-template-columns:minmax(128px,.92fr) minmax(168px,1.08fr)!important;
    gap:8px!important;
  }
  .gameplayRuleField select,
  .visualRuleField select,
  .fcSettings select{
    min-height:44px!important;
    padding:9px 30px 9px 10px!important;
    font-size:11px!important;
  }
}


/* V80 — libellés VISUEL autorisés sur deux lignes horizontales si nécessaire */
.visualRuleField{
  align-items:center!important;
}
.visualRuleField label{
  align-self:stretch!important;
  display:flex!important;
  align-items:center!important;
}
.visualRuleField label>span{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:break-word!important;
  line-height:1.15!important;
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  min-height:2.3em!important;
  max-height:2.3em!important;
}
@media(max-width:900px){
  .visualRuleField label>span{
    font-size:9px!important;
    line-height:1.12!important;
    min-height:2.24em!important;
    max-height:2.24em!important;
  }
}
@media(max-width:640px){
  .visualRuleField{
    grid-template-columns:minmax(138px,1fr) minmax(162px,1.06fr)!important;
    align-items:center!important;
  }
  .visualRuleField label>span{
    font-size:9px!important;
    letter-spacing:.02em!important;
    min-height:2.28em!important;
    max-height:2.28em!important;
  }
}


/* V81 — libellés visuels sans demi-mots */
.visualRuleField label>span{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  text-wrap:balance;
}
.visualRuleField{
  grid-template-columns:minmax(180px,1.08fr) minmax(205px,.92fr)!important;
}
@media(max-width:900px){
  .visualRuleField{grid-template-columns:minmax(155px,1fr) minmax(175px,1fr)!important}
}
@media(max-width:640px){
  .visualRuleField{grid-template-columns:minmax(150px,1fr) minmax(160px,1fr)!important}
  .visualRuleField label>span{font-size:9px!important; line-height:1.14!important}
}


/* V82 — rééquilibrage définitif de la place console FC27 */
@media(min-width:901px){
  .fc27ConsoleGrid{
    grid-template-columns:minmax(430px,.92fr) minmax(560px,1.08fr)!important;
    gap:14px!important;
  }
  .visualAdminRules{
    min-width:0!important;
  }
  .gameplayAdminRules{
    min-width:0!important;
  }
  .fc27GameplayGroupHead{
    display:block!important;
  }
  .fc27GameplayGroupHead .label{
    display:block!important;
    margin-bottom:5px!important;
  }
  .fc27GameplayGroupHead small{
    display:block!important;
    text-align:left!important;
    max-width:none!important;
    font-size:11px!important;
    line-height:1.25!important;
  }
  .visualRuleField{
    grid-template-columns:minmax(225px,1.18fr) minmax(180px,.82fr)!important;
    gap:9px!important;
  }
  .gameplayRuleField{
    grid-template-columns:minmax(210px,1.1fr) minmax(220px,.9fr)!important;
    gap:9px!important;
  }
  .visualRuleField label>span{
    min-height:2.35em!important;
    max-height:2.35em!important;
    line-height:1.16!important;
  }
  .visualRuleField select,
  .gameplayRuleField select,
  .fcSettings select{
    padding:9px 32px 9px 11px!important;
    font-size:11px!important;
  }
}
@media(max-width:1300px) and (min-width:901px){
  .fc27ConsoleGrid{
    grid-template-columns:minmax(390px,.9fr) minmax(520px,1.1fr)!important;
  }
  .visualRuleField{
    grid-template-columns:minmax(205px,1.1fr) minmax(176px,.9fr)!important;
  }
}


/* V83 — VISUEL et GAMEPLAY empilés pleine largeur */
.fc27ConsoleGrid{
  grid-template-columns:1fr!important;
  gap:18px!important;
}
.visualAdminRules,
.gameplayAdminRules{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
}
.visualAdminRules .fc27GameplayGroupGrid,
.gameplayAdminRules .fc27GameplayGroupGrid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.gameplayRuleField,
.visualRuleField{
  grid-template-columns:minmax(220px,1.15fr) minmax(170px,.85fr)!important;
  gap:10px!important;
}
.gameplayPolicyLabel .gameplayPolicySelect{
  min-width:150px!important;
  font-size:11px!important;
  padding-right:28px!important;
}
.gameplayPolicyLabel .gameplayPolicySelect option{
  font-size:11px!important;
}
.fc27GameplayGroupHead{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
}
.fc27GameplayGroupHead small{
  text-align:right!important;
  max-width:52%!important;
}
.visualRuleField label>span,
.gameplayRuleField label>span{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
  display:block!important;
  line-height:1.15!important;
}
.visualRuleField label>span{
  min-height:auto!important;
  max-height:none!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:initial!important;
}
@media(max-width:1000px){
  .visualAdminRules .fc27GameplayGroupGrid,
  .gameplayAdminRules .fc27GameplayGroupGrid{
    grid-template-columns:1fr!important;
  }
  .fc27GameplayGroupHead{
    display:block!important;
  }
  .fc27GameplayGroupHead small{
    display:block!important;
    max-width:none!important;
    text-align:left!important;
    margin-top:5px!important;
  }
}
@media(max-width:640px){
  .gameplayRuleField,
  .visualRuleField{
    grid-template-columns:minmax(150px,1fr) minmax(160px,.9fr)!important;
  }
}


/* V86 — restauration visuelle page COMPÉTITION */
.competitionHero{
  background-image:
    linear-gradient(90deg,rgba(5,10,8,.80),rgba(5,10,8,.20) 48%,rgba(5,10,8,.74)),
    url('assets/competition_bodo_v792.jpg')!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}

/* Grand bandeau de la page d'une compétition */
.compHeroBoard{
  min-height:300px!important;
  background-image:
    linear-gradient(90deg,rgba(7,12,10,.91) 0%,rgba(7,12,10,.70) 52%,rgba(7,12,10,.28) 100%),
    url('assets/competition_bodo_v792.jpg')!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  border-color:rgba(216,180,93,.68)!important;
}
.compHeroBoard .compHeroOverlay{
  background:
    linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.17)),
    linear-gradient(90deg,rgba(216,180,93,.14),transparent 26%,transparent 76%,rgba(216,180,93,.12))!important;
}
.compHeroBoard .compHeroContent{
  max-width:900px;
}
.compHeroBoard .label{color:#f0c75f!important}
.compHeroBoard h3{color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.58)!important}
.compHeroBoard .compHeroRules{color:#f1eadb!important;text-shadow:0 1px 5px rgba(0,0,0,.62)!important}
.compHeroBoard .compMetaPill{
  background:rgba(12,17,15,.78)!important;
  border-color:rgba(216,180,93,.58)!important;
  box-shadow:0 6px 18px rgba(0,0,0,.18)!important;
}
.compHeroBoard .compMetaPill small{color:#e3bb58!important}
.compHeroBoard .compMetaPill b{color:#fff!important}

/* Le bloc clubs validés conserve son fond illustré propre */
.compValidatedBoard{
  background-image:
    linear-gradient(rgba(255,255,255,.88),rgba(247,243,233,.92)),
    url('assets/competition_clubs_light.png')!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}


/* V87 — compétition avec image claire, sans côtés ternes */
.competitionHero{
  background-image:
    linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.12)),
    url('assets/competition_bodo_v792.jpg')!important;
  background-position:center!important;
  background-size:cover!important;
}
.competitionHero::after{
  background:linear-gradient(180deg,rgba(216,180,93,.04),rgba(0,0,0,.08))!important;
}
.competitionHeroShade.left{
  background:linear-gradient(90deg,rgba(4,10,8,.18) 0%,rgba(4,10,8,.08) 42%,rgba(4,10,8,0) 100%)!important;
}
.competitionHeroShade.right{
  background:linear-gradient(270deg,rgba(4,10,8,.18) 0%,rgba(4,10,8,.08) 42%,rgba(4,10,8,0) 100%)!important;
}
.competitionHeroLeft,.competitionHeroRight{
  background:rgba(7,12,10,.28)!important;
  backdrop-filter:blur(1px)!important;
  border-color:rgba(225,189,88,.50)!important;
}
.competitionHero h3,.competitionHeroLeft p,.competitionHeroLeft small,.competitionHeroRight,.competitionHeroRight *{
  text-shadow:0 1px 4px rgba(0,0,0,.45)!important;
}

.compHeroBoard{
  background-image:
    linear-gradient(90deg,rgba(7,12,10,.28) 0%,rgba(7,12,10,.12) 52%,rgba(7,12,10,.20) 100%),
    url('assets/competition_bodo_v792.jpg')!important;
  background-position:center!important;
  background-size:cover!important;
}
.compHeroBoard .compHeroOverlay{
  background:
    linear-gradient(180deg,rgba(255,255,255,.01),rgba(0,0,0,.08)),
    linear-gradient(90deg,rgba(216,180,93,.06),transparent 22%,transparent 78%,rgba(216,180,93,.05))!important;
}
.compHeroBoard .compMetaPill{
  background:rgba(12,17,15,.48)!important;
  border-color:rgba(216,180,93,.52)!important;
}

/* V8.9 — lisibilité renforcée organigramme */
.project .authorityOrg,
.project .authorityCard,
.project .authorityCard *,
.project .authorityBranches span{filter:none!important;opacity:1!important}
.project .authorityCard p{word-break:normal;overflow-wrap:anywhere}


/* V9.2 — restauration du panneau d'ouverture COMPÉTITION validé */
.compLandingGrid{
  display:grid!important;
  grid-template-columns:minmax(0,2.05fr) minmax(340px,1fr)!important;
  gap:18px!important;
  align-items:stretch!important;
  margin:18px 0 22px!important;
}
.compHeroBoard{
  min-height:clamp(520px,46vw,660px)!important;
  height:auto!important;
  background-image:linear-gradient(180deg,rgba(0,0,0,.03),rgba(0,0,0,.12)),var(--comp-banner)!important;
  background-position:center center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  border:1px solid rgba(214,174,70,.72)!important;
  border-radius:22px!important;
  overflow:hidden!important;
  box-shadow:0 10px 30px rgba(0,0,0,.18)!important;
}
.compHeroBoard .compHeroOverlay{
  background:linear-gradient(180deg,rgba(0,0,0,.01),rgba(0,0,0,.04) 58%,rgba(0,0,0,.14) 100%)!important;
}
.compHeroBoard .compHeroContent{
  position:relative!important;
  z-index:2!important;
  max-width:none!important;
  min-height:clamp(520px,46vw,660px)!important;
  padding:46px 46px 34px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
}
.compHeroBoard .label{color:#d8ad39!important;text-shadow:0 1px 4px rgba(0,0,0,.45)!important}
.compHeroBoard h3{
  margin:12px 0 10px!important;
  color:#fff!important;
  font-size:clamp(38px,4vw,62px)!important;
  line-height:.98!important;
  font-weight:1000!important;
  letter-spacing:.01em!important;
  -webkit-text-stroke:2px #111!important;
  paint-order:stroke fill!important;
  text-shadow:0 2px 8px rgba(0,0,0,.35)!important;
}
.compHeroBoard .compHeroRules{
  color:#2a251b!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.45!important;
  text-shadow:none!important;
  max-width:780px!important;
  margin:0 0 18px!important;
}
.compMetaGrid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin-top:2px!important}
.compHeroBoard .compMetaPill{
  background:rgba(12,14,12,.63)!important;
  border:1px solid rgba(231,190,73,.72)!important;
  border-radius:16px!important;
  box-shadow:0 5px 18px rgba(0,0,0,.16)!important;
  backdrop-filter:blur(2px)!important;
}
.compHeroBoard .compMetaPill small{color:#e7b94b!important}
.compHeroBoard .compMetaPill b{color:#fff!important;text-shadow:0 1px 4px rgba(0,0,0,.6)!important}
.compValidatedBoard{
  min-height:clamp(520px,46vw,660px)!important;
  display:flex!important;
  flex-direction:column!important;
  padding:20px!important;
  border-radius:22px!important;
}
.compValidatedBoard .compEntryGrid{flex:1 1 auto!important;max-height:none!important;overflow:auto!important;min-height:0!important}
.compValidatedBoard .compCalendarAction{margin-top:14px!important;flex:0 0 auto!important}
@media(max-width:1000px){
  .compLandingGrid{grid-template-columns:1fr!important}
  .compHeroBoard,.compValidatedBoard{min-height:auto!important}
  .compHeroBoard .compHeroContent{min-height:460px!important;padding:32px 28px 26px!important}
}
@media(max-width:640px){
  .compHeroBoard .compHeroContent{min-height:400px!important;padding:26px 20px 20px!important}
  .compMetaGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}


/* V9.4 — ergonomie fiche joueur + ouverture club équilibrée */
.profileQuickLinks{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 16px}
.profileQuickLinks .mini{min-height:38px;padding:0 14px}

/* Ouverture club : 2 zones principales équilibrées, média en bandeau compact dessous */
.clubIdentityGrid.identityV3{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:18px!important;
  align-items:stretch!important;
}
.identityMainCard,.clubStory{height:100%;min-width:0!important}
.kitUploadIdentity{
  grid-column:1/-1!important;
  min-width:0!important;
  text-align:left!important;
  padding:18px!important;
}
.kitIdentityHead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}
.kitIdentityHead h3{margin:0!important}
.kitIdentityLayout{display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr);gap:20px;align-items:center}
.kitIdentityVisual{display:grid;place-items:center;min-width:0}
.kitIdentityVisual .clubKitPreview{max-width:180px;max-height:240px;width:auto;height:auto;object-fit:contain}
.kitIdentityVisual .kitImportPlaceholder{width:100%;min-height:150px;display:grid;place-items:center}
.kitIdentityInfo{min-width:0}
.kitIdentityInfo p{margin:0 0 12px!important}
.kitIdentityActions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.kitIdentityActions .primary,.kitIdentityActions .mini{width:auto!important;min-width:190px}

/* Supprime l'ancien accès redondant au plan de jeu dans IDENTITÉ : l'onglet reste l'unique entrée */
.planIdentityCta{display:none!important}

@media(max-width:950px){
  .clubIdentityGrid.identityV3{grid-template-columns:1fr!important}
  .kitUploadIdentity{grid-column:auto!important}
}
@media(max-width:700px){
  .kitIdentityHead{display:block}
  .kitIdentityLayout{grid-template-columns:1fr}
  .kitIdentityActions .primary,.kitIdentityActions .mini{width:100%!important}
}

/* V9.5 — lisibilité compétition / fiche joueur / identité visuelle feuilles de match */

/* COMPÉTITION — compteur CLUBS VALIDÉS lisible sur la pastille noire */
.compValidatedHead b{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  opacity:1!important;
  text-shadow:none!important;
}

/* FICHE JOUEUR — panneau de statut admin : aucune couleur sombre héritée */
.adminPlayerStatusCard{
  color:#f7f2e7!important;
}
.adminPlayerStatusCard .label{
  color:#e9bd4f!important;
  -webkit-text-fill-color:#e9bd4f!important;
  opacity:1!important;
}
.adminPlayerStatusCard h3{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  opacity:1!important;
}
.adminPlayerStatusCard p,
.adminPlayerStatusCard .muted{
  color:#d9d2c3!important;
  -webkit-text-fill-color:#d9d2c3!important;
  opacity:1!important;
}
.adminPlayerStatusCard .adminCurrentStatus{
  color:#f1d06d!important;
  -webkit-text-fill-color:#f1d06d!important;
  background:#17140d!important;
  border-color:#9a7b2f!important;
  opacity:1!important;
}
.adminPlayerStatusCard .adminStatusChoice{
  color:#f7f2e7!important;
  -webkit-text-fill-color:#f7f2e7!important;
  background:#151716!important;
  opacity:1!important;
}
.adminPlayerStatusCard .adminStatusChoice.isSelected{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
}

/* FEUILLE DE MATCH — logo au-dessus, couleurs au bas avec une vraie séparation */
.matchClubTitle{
  min-height:76px!important;
  gap:14px!important;
}
.matchClubTitle .clubMark{
  position:relative!important;
  width:48px!important;
  height:58px!important;
  flex:0 0 48px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  overflow:visible!important;
  display:block!important;
}
.matchClubTitle .clubMark img,
.matchClubTitle .clubMark>b{
  position:absolute!important;
  top:0!important;
  left:4px!important;
  width:40px!important;
  height:40px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(232,198,106,.42)!important;
  background:#fff!important;
}
.matchClubTitle .clubMark img{
  object-fit:contain!important;
  padding:2px!important;
}
.matchClubTitle .clubMark>b{
  display:grid!important;
  place-items:center!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  font-size:10px!important;
}
.matchClubTitle .clubMark i{
  position:absolute!important;
  bottom:0!important;
  height:5px!important;
  width:33.34%!important;
  border:0!important;
}
.matchClubTitle .clubMark i:nth-last-child(3){left:0!important}
.matchClubTitle .clubMark i:nth-last-child(2){left:33.33%!important}
.matchClubTitle .clubMark i:nth-last-child(1){right:0!important}

@media(max-width:900px){
  .matchClubTitle{min-height:72px!important}
}

/* V9.7 — FC27 public = exact admin console in read-only, without breaking Admin */
.fc27SharedReadOnly{background:#0f1315!important;border:1px solid rgba(216,180,93,.42)!important;padding:18px!important;margin-top:18px}
.fc27SharedHead{margin-bottom:14px;padding:4px 2px 12px;border-bottom:1px solid rgba(216,180,93,.22)}
.fc27SharedHead h2{color:#fff!important;margin:6px 0}
.fc27SharedHead .muted{color:#cfc7b7!important}
.fc27ConsoleReadOnly select:disabled{opacity:1!important;cursor:default!important;-webkit-text-fill-color:currentColor!important}
.fc27ConsoleReadOnly .gameplayPolicySelect.strict:disabled{background:#fff0ef!important;color:#811c16!important}
.fc27ConsoleReadOnly .gameplayPolicySelect.free:disabled{background:#edf8f0!important;color:#146639!important}
.competitionFc27ReadOnlySection{margin-top:24px}

/* FEUILLE DE MATCH — logo plus grand, couleurs supprimées : un seul repère visuel */
.matchClubTitle{min-height:88px!important;gap:16px!important}
.matchClubTitle .clubMark{width:64px!important;height:64px!important;flex:0 0 64px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;overflow:visible!important;display:grid!important;place-items:center!important}
.matchClubTitle .clubMark img,.matchClubTitle .clubMark>b{position:static!important;width:60px!important;height:60px!important;border:1px solid rgba(232,198,106,.42)!important;background:#fff!important;box-sizing:border-box!important}
.matchClubTitle .clubMark img{object-fit:contain!important;padding:3px!important}
.matchClubTitle .clubMark>b{display:grid!important;place-items:center!important;color:#111!important;-webkit-text-fill-color:#111!important;font-size:12px!important}
.matchClubTitle .clubMark i{display:none!important}


/* V9.8 — mode LIBRE réellement libre */
.freePitch .movableSlot{cursor:grab!important;touch-action:none!important}
.freePitch .movableSlot.isFreeDragging{cursor:grabbing!important;z-index:8!important}
.freePitch .movableSlot .fieldPlayer{cursor:grab!important;touch-action:none!important}
.freePitch .movableSlot.isFreeDragging .fieldPlayer{cursor:grabbing!important}
.freePitch .movableSlot:after{content:'↕';display:grid!important;place-items:center;position:absolute;right:3px;top:3px;width:20px;height:20px;border-radius:999px;background:rgba(0,0,0,.52);color:#fff;font-size:11px;pointer-events:none}

/* V10.1 — restauration de la sauvegarde d'état */
.adminStateTools{max-width:980px}
.adminStateActions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:16px 0}
.adminStateActions .primary,.adminStateActions .mini{min-width:220px}


/* V10.4 — fiche joueur premium figée */
.playerProfilePage{max-width:1120px;margin:0 auto}
.playerProfileTopNav{display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:980px;margin:0 auto 14px}
.playerProfileTopLinks{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.premiumPlayerCard{
  position:relative;max-width:980px;margin:0 auto;
  border:1px solid #b38a38;border-radius:20px;overflow:hidden;
  background:#111;box-shadow:0 22px 52px rgba(0,0,0,.26)
}
.premiumPlayerStadium{
  position:absolute;inset:0;
  background:
   radial-gradient(circle at 50% 14%,rgba(142,88,178,.58),transparent 34%),
   linear-gradient(180deg,rgba(31,14,44,.76),rgba(10,10,12,.94)),
   url('assets/home_hero.jpg.png') center 38%/cover no-repeat;
  filter:saturate(.8)
}
.premiumPlayerFrame{
  position:relative;margin:18px;border:2px solid #d7b45b;border-radius:15px;
  background:linear-gradient(180deg,rgba(246,238,218,.96),rgba(224,207,166,.97));
  color:#151515;overflow:hidden
}
.premiumPlayerFrame:before,.premiumPlayerFrame:after{
  content:"";position:absolute;pointer-events:none;inset:8px;border:1px solid rgba(22,22,18,.28);border-radius:10px
}
.premiumPlayerFrame:after{inset:12px;border-color:rgba(215,180,91,.5)}
.premiumPlayerHeader{
  position:relative;z-index:1;min-height:88px;padding:18px 24px;
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  background:linear-gradient(90deg,#111 0 52%,#171912 100%);color:#fff;
  border-bottom:3px solid #d7b45b
}
.premiumBrand{display:flex;align-items:center;gap:12px}
.premiumCrown{font-size:34px;line-height:1;color:#d7b45b;text-shadow:0 1px 0 #000}
.premiumBrand div{display:flex;align-items:baseline;gap:9px}
.premiumBrand b{font-size:30px;line-height:1;color:#5ac66c;letter-spacing:.04em;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}
.premiumBrand strong{font-size:17px;letter-spacing:.18em;color:#f4e7c8}
.premiumClubIdentity{display:flex;align-items:center;gap:10px;color:#f4e7c8;font-size:13px;letter-spacing:.08em}
.premiumClubIdentity .clubMark{transform:scale(.9);transform-origin:right center}
.premiumPlayerIdentity{
  position:relative;z-index:1;display:grid;grid-template-columns:300px 1fr;gap:28px;
  min-height:320px;padding:26px 30px 20px;
  background:linear-gradient(90deg,rgba(14,14,14,.94) 0 31%,rgba(245,237,216,.96) 31% 100%)
}
.premiumPhotoColumn{display:flex;align-items:center;justify-content:center}
.premiumPlayerPhoto{
  width:240px;height:270px;object-fit:cover;object-position:center top;
  border:2px solid #d7b45b;border-radius:13px;background:#181818;
  box-shadow:0 12px 24px rgba(0,0,0,.28)
}
.premiumPlayerPhotoFallback{display:flex;align-items:center;justify-content:center;color:#d7b45b;font-size:64px;font-weight:1000;letter-spacing:.05em}
.premiumIdentityColumn{align-self:center;min-width:0}
.premiumStatusLine{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #bba46d;padding-bottom:9px}
.premiumStatusLine>span:first-child{font-size:11px;font-weight:1000;letter-spacing:.13em;text-transform:uppercase;color:#245b31}
.playerStars{white-space:nowrap;color:#c99b26;font-size:22px;letter-spacing:4px;text-shadow:0 1px 0 #fff}
.premiumIdentityColumn h2{font-size:48px;line-height:.98;margin:16px 0 6px;color:#111;letter-spacing:-.025em;overflow-wrap:anywhere}
.premiumPsn{font-size:16px;font-weight:900;letter-spacing:.13em;color:#6b5730;margin:0 0 19px}
.premiumMetaGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.premiumMetaGrid>div{padding:10px 12px;border:1px solid rgba(112,91,49,.34);background:rgba(255,255,255,.48);min-width:0}
.premiumMetaGrid small{display:block;font-size:9px;font-weight:1000;letter-spacing:.12em;color:#7b673a;margin-bottom:4px}
.premiumMetaGrid b{font-size:13px;overflow-wrap:anywhere}
.premiumAvailability,.premiumPresentation{position:relative;z-index:1;padding:17px 28px;background:rgba(247,240,222,.98);border-top:1px solid #bba46d}
.premiumSectionTitle{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.premiumSectionTitle span{font-size:12px;font-weight:1000;letter-spacing:.14em}
.premiumSectionTitle small{font-size:9px;font-weight:900;letter-spacing:.12em;color:#7a6538}
.premiumAvailability .usualDays{margin:4px 0 0;display:grid;grid-template-columns:repeat(7,1fr);gap:7px}
.premiumAvailability .dayView{padding:9px 4px;text-align:center;background:#e5dbc0;color:#766944;border-color:#bfa76a}
.premiumAvailability .dayView.on{background:#171a16;color:#d9bb65;border-color:#d9bb65}
.premiumPresentation p{margin:5px 0 12px;font-size:14px;line-height:1.5;min-height:42px}
.premiumInfoStrip{display:flex;gap:18px;flex-wrap:wrap;padding-top:10px;border-top:1px solid rgba(112,91,49,.28)}
.premiumInfoStrip span{font-size:12px;font-weight:800}.premiumInfoStrip b{margin-right:6px;color:#786235}
.premiumStats{position:relative;z-index:1;display:grid;grid-template-columns:repeat(6,1fr);background:#121412;color:#fff;border-top:3px solid #d7b45b}
.premiumStat{padding:15px 6px;text-align:center;border-right:1px solid rgba(215,180,91,.26)}
.premiumStat:last-child{border-right:0}
.premiumStat b{display:block;font-size:27px;color:#f1d176;line-height:1}
.premiumStat span{display:block;margin-top:6px;font-size:9px;font-weight:1000;letter-spacing:.08em;color:#e9e1cf}
.premiumPoints{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:13px 24px;background:#0a0b0a;color:#fff;border-top:1px solid #5e4a22}
.premiumPoints>span{font-size:12px;font-weight:1000;letter-spacing:.16em;color:#d7b45b}
.premiumPoints>strong{font-size:37px;line-height:1;color:#fff}
.premiumPoints>div{text-align:right}.premiumPoints .playerStars{font-size:18px}
.playerProfileActions{max-width:980px;margin:14px auto 0;display:grid;gap:10px}
.playerProfileAction{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.playerProfileAction small{color:#6d685d}
.playerProfilePage>.adminPlayerStatusCard{max-width:980px;margin:0 auto 14px}
@media(max-width:760px){
 .playerProfileTopNav{align-items:flex-start;flex-direction:column}
 .playerProfileTopLinks{justify-content:flex-start}
 .premiumPlayerFrame{margin:8px}
 .premiumPlayerHeader{align-items:flex-start;flex-direction:column;padding:16px 18px}
 .premiumBrand b{font-size:25px}.premiumBrand strong{font-size:13px}
 .premiumPlayerIdentity{grid-template-columns:1fr;background:linear-gradient(180deg,#141414 0 44%,#f5edd8 44% 100%);padding:18px}
 .premiumPlayerPhoto{width:210px;height:235px}
 .premiumIdentityColumn h2{font-size:35px}
 .premiumMetaGrid{grid-template-columns:1fr}
 .premiumAvailability,.premiumPresentation{padding:15px 18px}
 .premiumAvailability .usualDays{grid-template-columns:repeat(4,1fr)}
 .premiumStats{grid-template-columns:repeat(3,1fr)}
 .premiumStat{border-bottom:1px solid rgba(215,180,91,.18)}
 .premiumPoints{grid-template-columns:1fr auto;padding:12px 16px}
 .premiumPoints>div{grid-column:1/-1;text-align:left}
}


/* V10.5 — fiche joueur : retour à la référence validée, 5 étoiles */
.fpcReferenceCard{
  position:relative;
  max-width:860px;
  margin:0 auto;
  padding:30px;
  border-radius:24px;
  overflow:hidden;
  background:
    radial-gradient(circle at 12% 26%,rgba(219,160,55,.38),transparent 30%),
    radial-gradient(circle at 86% 24%,rgba(219,160,55,.25),transparent 28%),
    linear-gradient(135deg,#090909,#24180b 50%,#080808);
  box-shadow:0 26px 62px rgba(0,0,0,.35)
}
.fpcReferenceCard:before{
  content:"";
  position:absolute;inset:0;
  background:
    repeating-linear-gradient(135deg,transparent 0 22px,rgba(255,255,255,.025) 23px 24px),
    radial-gradient(circle at 50% 50%,transparent 50%,rgba(0,0,0,.45));
  pointer-events:none
}
.fpcReferenceShell{
  position:relative;
  padding:22px;
  border:4px solid #111;
  border-radius:24px;
  background:linear-gradient(180deg,#fffdf8,#f2ead8);
  color:#111;
  box-shadow:
    0 0 0 3px #e0a91e,
    0 0 0 7px #111,
    0 0 0 10px #f6d36a
}
.fpcReferenceBrand{
  position:relative;
  max-width:570px;
  min-height:72px;
  margin:-8px auto 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:4px solid #111;
  border-radius:16px;
  background:#fff8e9;
  box-shadow:inset 0 0 0 3px #dca414
}
.fpcReferenceBrand strong{
  font-size:36px;
  letter-spacing:-.03em;
  color:#111
}
.fpcReferenceCrown{
  position:absolute;
  top:-42px;
  font-size:64px;
  line-height:1;
  color:#e2a913;
  text-shadow:0 3px 0 #111
}
.fpcReferenceHero{
  display:grid;
  grid-template-columns:43% 57%;
  gap:20px
}
.fpcReferencePhoto{
  padding:8px;
  min-height:405px;
  border:3px solid #111;
  background:
    radial-gradient(circle at 50% 44%,rgba(216,164,70,.3),transparent 35%),
    linear-gradient(180deg,#21170d,#0b0b0b);
  box-shadow:inset 0 0 0 3px #dca414
}
.fpcRefPortrait{
  display:block;
  width:100%;
  height:100%;
  min-height:385px;
  max-height:435px;
  object-fit:cover;
  object-position:center top
}
.fpcRefPortraitFallback{
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle,#69481f,#111 70%);
  color:#e2b53d;
  font-size:88px;
  font-weight:1000
}
.fpcReferenceIdentity{padding:10px 2px 0}
.fpcRefKicker{
  font-size:13px;
  font-weight:1000;
  letter-spacing:.28em;
  margin:2px 0 10px
}
.fpcReferenceIdentity h2{
  margin:0 0 10px;
  font-size:52px;
  line-height:.96;
  letter-spacing:-.035em;
  text-transform:uppercase;
  overflow-wrap:anywhere
}
.fpcRefPsn{
  display:flex;
  gap:13px;
  align-items:center;
  font-size:20px;
  padding:0 0 13px;
  border-bottom:1px solid #b9a98a
}
.fpcRefPsn b{
  padding:5px 9px;
  background:#111;
  color:#fff;
  font-size:12px
}
.fpcRefPoints{
  margin:16px 0 12px;
  min-height:80px;
  padding:12px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  background:#0c0c0c;
  border:2px solid #dca414;
  color:#fff
}
.fpcRefPoints small{
  display:block;
  color:#dfc47e;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.12em
}
.fpcRefPoints strong{font-size:34px;color:#f4ca55}
.fpcRefPoints .playerStars{
  font-size:31px;
  letter-spacing:5px;
  color:#efb51c;
  text-shadow:none
}
.fpcRefArchetypes{
  display:grid;
  grid-template-columns:1fr 1.3fr;
  gap:10px
}
.fpcRefArchetypes>div{
  min-height:96px;
  padding:14px;
  border:2px solid #dca414;
  background:#111;
  color:#fff
}
.fpcRefArchetypes small{
  display:block;
  margin-bottom:10px;
  color:#e4d0a0;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.08em
}
.fpcRefArchetypes strong{font-size:16px;line-height:1.3}
.fpcRefInfoGrid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
  margin-top:14px
}
.fpcRefInfo{
  min-height:79px;
  padding:12px 14px;
  border:1px solid #d9b45e;
  background:rgba(255,255,255,.58)
}
.fpcRefInfo small{
  display:block;
  margin-bottom:7px;
  color:#5f4d28;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.08em
}
.fpcRefInfo>strong{font-size:17px}
.fpcRefClub>div{display:flex;align-items:center;gap:9px}
.fpcRefClub .clubMark{flex:0 0 auto}
.fpcRefNoClub{
  display:inline-flex;
  width:42px;height:42px;
  align-items:center;justify-content:center;
  border:2px solid #dca414;
  background:#111;color:#f3ca5d;
  font-weight:1000
}
.fpcRefSection{
  margin-top:11px;
  border:1px solid #d8b35d;
  background:rgba(255,255,255,.55)
}
.fpcRefSection>header{
  padding:10px 15px;
  background:#0d0d0d;
  color:#fff;
  font-size:13px;
  font-weight:1000;
  letter-spacing:.07em
}
.fpcRefDays{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:7px;
  padding:12px
}
.fpcRefDays span{
  padding:11px 4px;
  border:1px solid #d7b768;
  background:#f8f0dd;
  text-align:center;
  font-size:12px;
  font-weight:1000
}
.fpcRefDays span.on{
  background:#111;
  color:#f0bd32;
  border-color:#111
}
.fpcRefPresentation{
  min-height:78px;
  padding:14px 18px;
  font-size:15px;
  line-height:1.5
}
.fpcRefStatsSection{margin-top:13px}
.fpcRefStats{
  display:grid;
  grid-template-columns:repeat(7,1fr)
}
.fpcRefStats>div{
  min-height:110px;
  padding:12px 5px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  text-align:center;
  border-right:1px solid #d7b768
}
.fpcRefStats>div:last-child{border-right:0}
.fpcRefStats small{
  font-size:9px;
  line-height:1.12;
  font-weight:1000
}
.fpcRefStats strong{font-size:29px}
.fpcRefFooter{
  min-height:78px;
  margin-top:12px;
  padding:10px 18px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:14px;
  border:2px solid #dca414;
  background:#0c0c0c;
  color:#fff
}
.fpcRefFooterMark{
  color:#e6b42d;
  font-size:34px;
  font-weight:1000;
  letter-spacing:.06em
}
.fpcRefFooter>div:nth-child(2){
  min-width:180px;
  padding:7px 20px;
  text-align:center;
  border:2px solid #dca414;
  background:#fff7e8;
  color:#111
}
.fpcRefFooter>div:nth-child(2) small{
  display:block;
  font-size:9px;
  font-weight:1000
}
.fpcRefFooter>div:nth-child(2) strong{
  display:block;
  font-size:32px
}
.fpcRefFooterStars{text-align:right}
.fpcRefFooterStars .playerStars{
  color:#e8b328;
  font-size:18px;
  letter-spacing:3px;
  text-shadow:none
}
@media(max-width:760px){
  .fpcReferenceCard{padding:13px}
  .fpcReferenceShell{padding:12px}
  .fpcReferenceBrand strong{font-size:27px}
  .fpcReferenceCrown{font-size:48px;top:-30px}
  .fpcReferenceHero{grid-template-columns:1fr}
  .fpcReferencePhoto{min-height:330px}
  .fpcRefPortrait{min-height:315px;max-height:370px}
  .fpcReferenceIdentity h2{font-size:37px}
  .fpcRefArchetypes{grid-template-columns:1fr}
  .fpcRefInfoGrid{grid-template-columns:1fr 1fr}
  .fpcRefDays{grid-template-columns:repeat(4,1fr)}
  .fpcRefStats{grid-template-columns:repeat(2,1fr)}
  .fpcRefStats>div{border-bottom:1px solid #d7b768}
  .fpcRefFooter{grid-template-columns:1fr 1fr}
  .fpcRefFooterStars{grid-column:1/-1;text-align:center}
}


/* V10.8 — fiche joueur finale inspirée de la référence validée */
.fpcGoldCard{
  position:relative;
  max-width:900px;
  margin:0 auto;
  padding:30px;
  border-radius:26px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% -5%, color-mix(in srgb,var(--club-b) 58%, transparent), transparent 34%),
    radial-gradient(circle at 12% 28%, color-mix(in srgb,var(--club-a) 50%, transparent), transparent 34%),
    radial-gradient(circle at 88% 74%, color-mix(in srgb,var(--club-b) 34%, transparent), transparent 30%),
    linear-gradient(135deg,#080808,#161616 52%,#050505);
  box-shadow:0 26px 68px rgba(0,0,0,.38)
}
.fpcGoldBackdrop{
  position:absolute;inset:0;
  background:
    repeating-linear-gradient(135deg,transparent 0 22px,rgba(255,255,255,.022) 23px 24px),
    linear-gradient(90deg,transparent 0 48%,rgba(255,255,255,.025) 49% 51%,transparent 52%);
  pointer-events:none
}
.fpcGoldShell{
  position:relative;
  padding:22px;
  border:4px solid #111;
  border-radius:24px;
  background:linear-gradient(180deg,#fffdf8,#f5eddd);
  color:#111;
  box-shadow:0 0 0 3px #e3ad25,0 0 0 7px #111,0 0 0 10px #f5d16c
}
.fpcGoldBrand{
  position:relative;max-width:585px;min-height:76px;margin:-10px auto 20px;
  display:flex;align-items:center;justify-content:center;
  border:4px solid #111;border-radius:16px;
  background:#fff8e9;box-shadow:inset 0 0 0 3px #dca414
}
.fpcGoldBrand strong{
  font-size:38px;letter-spacing:-.035em;color:#2de13a;
  text-shadow:-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,2px 2px 0 #000
}
.fpcGoldCrown{
  position:absolute;top:-43px;font-size:66px;line-height:1;color:#e4ac1f;text-shadow:0 3px 0 #111
}
.fpcGoldHero{display:grid;grid-template-columns:43% 57%;gap:20px}
.fpcGoldPhoto{
  padding:8px;min-height:410px;border:3px solid #111;
  background:
    radial-gradient(circle at 50% 45%, color-mix(in srgb,var(--club-b) 32%, transparent), transparent 38%),
    linear-gradient(180deg,color-mix(in srgb,var(--club-a) 70%, #111),#090909);
  box-shadow:inset 0 0 0 3px #dca414
}
.fpcGoldPortrait{display:block;width:100%;height:100%;min-height:390px;max-height:438px;object-fit:cover;object-position:center top}
.fpcGoldPortraitFallback{display:flex;align-items:center;justify-content:center;color:#e4b63d;font-size:88px;font-weight:1000}
.fpcGoldIdentity{padding:10px 2px 0}
.fpcGoldKicker{font-size:13px;font-weight:1000;letter-spacing:.28em;margin:2px 0 10px}
.fpcGoldIdentity h2{margin:0 0 10px;font-size:54px;line-height:.95;letter-spacing:-.04em;text-transform:uppercase;overflow-wrap:anywhere}
.fpcGoldPsn{display:flex;gap:13px;align-items:center;font-size:20px;padding-bottom:13px;border-bottom:1px solid #b9a98a}
.fpcGoldPsn b{padding:5px 9px;background:#111;color:#fff;font-size:12px}
.fpcGoldPointsTop{
  margin:16px 0 12px;min-height:82px;padding:12px 16px;
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  background:#0b0b0b;border:2px solid #dca414;color:#fff
}
.fpcGoldPointsTop small{display:block;color:#e6d09c;font-size:11px;font-weight:1000;letter-spacing:.12em}
.fpcGoldPointsTop strong{font-size:35px;color:#f0c447}
.fpcGoldPointsTop .playerStars{font-size:31px;letter-spacing:5px;color:#efb51c;text-shadow:none}
.fpcGoldArchetypes{display:grid;grid-template-columns:1fr 1.35fr;gap:10px}
.fpcGoldArchetypes>div{min-height:98px;padding:14px;border:2px solid #dca414;background:#111;color:#fff}
.fpcGoldArchetypes small,.fpcGoldInfo small{display:block;margin-bottom:8px;font-size:10px;font-weight:1000;letter-spacing:.08em}
.fpcGoldArchetypes small{color:#e4d0a0}.fpcGoldArchetypes strong{font-size:16px;line-height:1.3}
.fpcGoldInfoGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}
.fpcGoldInfo{min-height:80px;padding:12px 14px;border:1px solid #d9b45e;background:rgba(255,255,255,.58)}
.fpcGoldInfo small{color:#5f4d28}.fpcGoldInfo>strong{font-size:17px}
.fpcGoldClub>div{display:flex;align-items:center;gap:9px}.fpcGoldClub .clubMark{flex:0 0 auto}
.fpcGoldNoClub{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border:2px solid #dca414;background:#111;color:#f3ca5d;font-weight:1000}
.fpcGoldSection{margin-top:11px;border:1px solid #d8b35d;background:rgba(255,255,255,.55)}
.fpcGoldSection>header{padding:10px 15px;background:#0d0d0d;color:#fff;font-size:13px;font-weight:1000;letter-spacing:.07em}
.fpcGoldDays{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;padding:12px}
.fpcGoldDays span{padding:11px 4px;border:1px solid #d7b768;background:#f8f0dd;text-align:center;font-size:12px;font-weight:1000}
.fpcGoldDays span.on{background:#111;color:#f0bd32;border-color:#111}
.fpcGoldPresentation{min-height:80px;padding:15px 18px;font-size:15px;line-height:1.5}
.fpcGoldStats{display:grid;grid-template-columns:repeat(7,1fr)}
.fpcGoldStats>div{min-height:112px;padding:12px 5px;display:flex;flex-direction:column;justify-content:space-between;text-align:center;border-right:1px solid #d7b768}
.fpcGoldStats>div:last-child{border-right:0}.fpcGoldStats small{font-size:9px;line-height:1.12;font-weight:1000}.fpcGoldStats strong{font-size:29px}
.fpcGoldFooter{
  margin-top:13px;display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:stretch
}
.fpcGoldNav{
  min-height:76px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  border:2px solid #dca414;background:#0b0b0b;color:#fff;font-weight:1000;font-size:14px;letter-spacing:.03em;cursor:pointer
}
.fpcGoldNav b{font-size:32px;color:#e8b328}.fpcGoldNav.disabled{opacity:.55;cursor:default}
.fpcGoldFooterPoints{
  min-width:190px;padding:8px 16px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  border:2px solid #dca414;background:#0b0b0b;color:#fff
}
.fpcGoldFooterPoints small{font-size:9px;font-weight:1000;letter-spacing:.08em;color:#d8c69c}
.fpcGoldFooterPoints strong{font-size:34px;color:#f1c64f;line-height:1}
.fpcGoldFooterPoints .playerStars{margin-top:5px;font-size:14px;letter-spacing:2px;color:#e7b12a;text-shadow:none}
@media(max-width:760px){
 .fpcGoldCard{padding:13px}.fpcGoldShell{padding:12px}.fpcGoldBrand strong{font-size:28px}.fpcGoldCrown{font-size:50px;top:-31px}
 .fpcGoldHero{grid-template-columns:1fr}.fpcGoldPhoto{min-height:330px}.fpcGoldPortrait{min-height:315px;max-height:370px}.fpcGoldIdentity h2{font-size:38px}
 .fpcGoldArchetypes{grid-template-columns:1fr}.fpcGoldInfoGrid{grid-template-columns:1fr 1fr}.fpcGoldDays{grid-template-columns:repeat(4,1fr)}.fpcGoldStats{grid-template-columns:repeat(2,1fr)}
 .fpcGoldStats>div{border-bottom:1px solid #d7b768}.fpcGoldFooter{grid-template-columns:1fr}.fpcGoldFooterPoints{order:-1}
}


/* ============================================================
   V10.9 — FICHE JOUEUR COMPACTE / 1 ÉCRAN DESKTOP
   Objectif : supprimer l'effet "deux pages PC" de V10.8.
   ============================================================ */
.playerProfileCompact{
  padding:12px 3vw 22px!important;
  background:#0d0d0d;
}
.playerProfileCompact .playerProfileTopNav{
  max-width:760px!important;
  margin:0 auto 7px!important;
}
.playerProfileCompact .playerProfileTopNav .mini{
  padding:6px 10px!important;
  font-size:10px!important;
}
.playerProfileCompact .fpcGoldCard{
  max-width:760px!important;
  padding:14px!important;
  border-radius:18px!important;
}
.playerProfileCompact .fpcGoldShell{
  padding:11px!important;
  border-width:3px!important;
  border-radius:18px!important;
  box-shadow:0 0 0 2px #e3ad25,0 0 0 5px #111,0 0 0 7px #f5d16c!important;
}
.playerProfileCompact .fpcGoldBrand{
  max-width:465px!important;
  min-height:48px!important;
  margin:-4px auto 10px!important;
  border-width:3px!important;
  border-radius:11px!important;
}
.playerProfileCompact .fpcGoldBrand strong{
  font-size:27px!important;
}
.playerProfileCompact .fpcGoldCrown{
  top:-29px!important;
  font-size:43px!important;
}
.playerProfileCompact .fpcGoldHero{
  grid-template-columns:36% 64%!important;
  gap:12px!important;
}
.playerProfileCompact .fpcGoldPhoto{
  min-height:245px!important;
  height:245px!important;
  padding:5px!important;
  border-width:2px!important;
}
.playerProfileCompact .fpcGoldPortrait{
  min-height:231px!important;
  height:231px!important;
  max-height:231px!important;
}
.playerProfileCompact .fpcGoldPortraitFallback{
  font-size:56px!important;
}
.playerProfileCompact .fpcGoldIdentity{
  padding:2px 0 0!important;
}
.playerProfileCompact .fpcGoldKicker{
  font-size:9px!important;
  letter-spacing:.22em!important;
  margin:0 0 4px!important;
}
.playerProfileCompact .fpcGoldIdentity h2{
  font-size:34px!important;
  margin:0 0 5px!important;
  line-height:.92!important;
}
.playerProfileCompact .fpcGoldPsn{
  font-size:13px!important;
  gap:7px!important;
  padding-bottom:5px!important;
}
.playerProfileCompact .fpcGoldPsn b{
  font-size:9px!important;
  padding:3px 6px!important;
}
.playerProfileCompact .fpcGoldPointsTop{
  min-height:48px!important;
  margin:7px 0 6px!important;
  padding:6px 9px!important;
}
.playerProfileCompact .fpcGoldPointsTop small{
  font-size:8px!important;
}
.playerProfileCompact .fpcGoldPointsTop strong{
  font-size:22px!important;
}
.playerProfileCompact .fpcGoldPointsTop .playerStars{
  font-size:20px!important;
  letter-spacing:3px!important;
}
.playerProfileCompact .fpcGoldArchetypes{
  gap:6px!important;
}
.playerProfileCompact .fpcGoldArchetypes>div{
  min-height:62px!important;
  padding:7px 9px!important;
}
.playerProfileCompact .fpcGoldArchetypes small,
.playerProfileCompact .fpcGoldInfo small{
  margin-bottom:4px!important;
  font-size:7px!important;
}
.playerProfileCompact .fpcGoldArchetypes strong{
  font-size:11px!important;
}
.playerProfileCompact .fpcGoldInfoGrid{
  gap:5px!important;
  margin-top:7px!important;
}
.playerProfileCompact .fpcGoldInfo{
  min-height:50px!important;
  padding:6px 8px!important;
}
.playerProfileCompact .fpcGoldInfo>strong{
  font-size:11px!important;
}
.playerProfileCompact .fpcGoldClub>div{
  gap:5px!important;
}
.playerProfileCompact .fpcGoldClub .clubMark{
  transform:scale(.68)!important;
  transform-origin:left center!important;
  margin-right:-7px!important;
}
.playerProfileCompact .fpcGoldNoClub{
  width:30px!important;height:30px!important;font-size:8px!important;
}
.playerProfileCompact .fpcGoldSection{
  margin-top:6px!important;
}
.playerProfileCompact .fpcGoldSection>header{
  padding:5px 9px!important;
  font-size:9px!important;
}
.playerProfileCompact .fpcGoldDays{
  gap:4px!important;
  padding:6px!important;
}
.playerProfileCompact .fpcGoldDays span{
  padding:6px 2px!important;
  font-size:9px!important;
}
.playerProfileCompact .fpcGoldPresentation{
  min-height:42px!important;
  padding:7px 10px!important;
  font-size:10px!important;
  line-height:1.28!important;
}
.playerProfileCompact .fpcGoldStats{
  grid-template-columns:repeat(7,1fr)!important;
}
.playerProfileCompact .fpcGoldStats>div{
  min-height:64px!important;
  padding:6px 2px!important;
}
.playerProfileCompact .fpcGoldStats small{
  font-size:7px!important;
}
.playerProfileCompact .fpcGoldStats strong{
  font-size:19px!important;
}
.playerProfileCompact .fpcGoldFooter{
  margin-top:7px!important;
  gap:6px!important;
  grid-template-columns:1fr 138px 1fr!important;
}
.playerProfileCompact .fpcGoldNav{
  min-height:48px!important;
  padding:0 10px!important;
  font-size:10px!important;
}
.playerProfileCompact .fpcGoldNav b{
  font-size:22px!important;
}
.playerProfileCompact .fpcGoldFooterPoints{
  min-width:138px!important;
  padding:5px 8px!important;
}
.playerProfileCompact .fpcGoldFooterPoints small{
  font-size:7px!important;
}
.playerProfileCompact .fpcGoldFooterPoints strong{
  font-size:22px!important;
}
.playerProfileCompact .fpcGoldFooterPoints .playerStars{
  margin-top:2px!important;
  font-size:9px!important;
  letter-spacing:1px!important;
}
.playerProfileCompact .playerProfileActions{
  max-width:760px!important;
  margin:7px auto 0!important;
}
.playerProfileCompact .playerProfileAction .primary{
  padding:7px 11px!important;
  font-size:10px!important;
}
/* L'administration reste disponible, mais ne casse plus la composition de la fiche. */
.playerProfileAdminCompact{
  max-width:760px;
  margin:7px auto 0;
}
.playerProfileAdminCompact .adminPlayerStatusCard{
  max-width:none!important;
  margin:0!important;
  padding:8px 10px!important;
  box-shadow:none!important;
  border-width:1px!important;
}
.playerProfileAdminCompact .adminPlayerStatusCard .label{
  font-size:7px!important;
}
.playerProfileAdminCompact .adminStatusHead{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}
.playerProfileAdminCompact .adminStatusHead h3{
  font-size:11px!important;
  margin:2px 0!important;
}
.playerProfileAdminCompact .adminCurrentStatus{
  margin-left:auto!important;
  font-size:8px!important;
  padding:4px 7px!important;
}
.playerProfileAdminCompact .adminPlayerStatusCard p{
  display:none!important;
}
.playerProfileAdminCompact .adminStatusButtons{
  margin-top:5px!important;
  gap:5px!important;
}
.playerProfileAdminCompact .adminStatusChoice{
  min-height:28px!important;
  padding:4px 7px!important;
  font-size:8px!important;
  flex:1!important;
}

/* Écrans desktop bas : encore plus serré, sans changer le mobile. */
@media (min-width:900px) and (max-height:850px){
  .playerProfileCompact{padding-top:7px!important}
  .playerProfileCompact .fpcGoldCard{max-width:720px!important;padding:11px!important}
  .playerProfileCompact .fpcGoldPhoto{min-height:220px!important;height:220px!important}
  .playerProfileCompact .fpcGoldPortrait{min-height:206px!important;height:206px!important;max-height:206px!important}
  .playerProfileCompact .fpcGoldIdentity h2{font-size:31px!important}
  .playerProfileCompact .fpcGoldInfo{min-height:45px!important}
  .playerProfileCompact .fpcGoldPresentation{min-height:36px!important}
  .playerProfileCompact .fpcGoldStats>div{min-height:58px!important}
  .playerProfileCompact .fpcGoldFooter,.playerProfileAdminCompact,.playerProfileCompact .playerProfileActions{max-width:720px!important}
}


/* V10.10 — MON PROFIL affiche la vraie fiche premium */
.playerAccountManagement{
  max-width:760px;
  margin:8px auto 0;
}
.playerAccountBar{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:6px;
  padding:7px;
  border:1px solid rgba(214,166,42,.45);
  background:#111;
}
.playerAccountBar .mini{
  min-height:32px;
  padding:5px 7px;
  font-size:8px;
  white-space:normal;
}
.playerAccountPanel{
  margin-top:7px!important;
}
.playerAccountManagement .availabilityEditor{
  margin:0!important;
}
@media(max-width:760px){
  .playerAccountBar{grid-template-columns:1fr 1fr}
}


/* ============================================================
   V10.11 — FICHE JOUEUR PREMIUM COMPACTE / HAUTEUR DESKTOP
   Référence : carte FUMA verticale or/noir, dense et sportive.
   ============================================================ */
.playerProfileCompact{
  min-height:auto!important;
  padding:8px 18px 18px!important;
}
.playerProfileCompact .playerProfileTopNav{
  max-width:690px!important;
  margin:0 auto 5px!important;
}
.playerProfileCompact .fpcGoldCard{
  max-width:690px!important;
  padding:10px!important;
  border-radius:16px!important;
  box-shadow:0 18px 42px rgba(0,0,0,.42)!important;
}
.playerProfileCompact .fpcGoldShell{
  padding:8px!important;
  border:3px solid #0b0b0b!important;
  border-radius:15px!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(246,238,217,.99)),
    repeating-linear-gradient(45deg,transparent 0 10px,rgba(208,169,75,.035) 10px 11px)!important;
  box-shadow:
    0 0 0 2px #d69e18,
    0 0 0 4px #090909,
    0 0 0 6px #f0c34d!important;
}
.playerProfileCompact .fpcGoldShell:before,
.playerProfileCompact .fpcGoldShell:after{
  content:"";position:absolute;pointer-events:none;z-index:0
}
.playerProfileCompact .fpcGoldShell:before{
  inset:5px;border:1px solid rgba(214,158,24,.42);clip-path:polygon(0 18px,18px 0,calc(100% - 18px) 0,100% 18px,100% calc(100% - 18px),calc(100% - 18px) 100%,18px 100%,0 calc(100% - 18px))
}
.playerProfileCompact .fpcGoldBrand,
.playerProfileCompact .fpcGoldHero,
.playerProfileCompact .fpcGoldInfoGrid,
.playerProfileCompact .fpcGoldSection,
.playerProfileCompact .fpcGoldFooter{position:relative;z-index:1}
.playerProfileCompact .fpcGoldBrand{
  max-width:420px!important;
  min-height:40px!important;
  margin:-2px auto 7px!important;
  border:2px solid #0c0c0c!important;
  border-radius:8px!important;
  background:linear-gradient(180deg,#0a0a0a,#171717)!important;
  box-shadow:inset 0 0 0 1px #e0aa27,0 3px 0 rgba(0,0,0,.22)!important;
}
.playerProfileCompact .fpcGoldBrand strong{
  font-size:24px!important;
  color:#38e14d!important;
  letter-spacing:-.03em!important;
  text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000!important;
}
.playerProfileCompact .fpcGoldCrown{
  top:-23px!important;
  font-size:35px!important;
}
.playerProfileCompact .fpcGoldHero{
  grid-template-columns:34% 66%!important;
  gap:8px!important;
}
.playerProfileCompact .fpcGoldPhoto{
  min-height:204px!important;
  height:204px!important;
  padding:4px!important;
  border:2px solid #0a0a0a!important;
  box-shadow:inset 0 0 0 2px #dca414!important;
}
.playerProfileCompact .fpcGoldPortrait{
  min-height:192px!important;
  height:192px!important;
  max-height:192px!important;
}
.playerProfileCompact .fpcGoldIdentity{padding:0!important}
.playerProfileCompact .fpcGoldKicker{
  font-size:7px!important;
  letter-spacing:.22em!important;
  margin:0 0 2px!important;
}
.playerProfileCompact .fpcGoldIdentity h2{
  font-size:29px!important;
  margin:0 0 3px!important;
  line-height:.9!important;
}
.playerProfileCompact .fpcGoldPsn{
  font-size:10px!important;
  gap:5px!important;
  padding-bottom:3px!important;
}
.playerProfileCompact .fpcGoldPsn b{
  font-size:7px!important;padding:2px 5px!important
}
.playerProfileCompact .fpcGoldPointsTop{
  min-height:38px!important;
  margin:4px 0!important;
  padding:4px 7px!important;
  border-width:1px!important;
}
.playerProfileCompact .fpcGoldPointsTop small{font-size:6px!important}
.playerProfileCompact .fpcGoldPointsTop strong{font-size:18px!important}
.playerProfileCompact .fpcGoldPointsTop .playerStars{
  font-size:17px!important;letter-spacing:2px!important
}
.playerProfileCompact .fpcGoldArchetypes{gap:4px!important}
.playerProfileCompact .fpcGoldArchetypes>div{
  min-height:48px!important;
  padding:5px 7px!important;
  border-width:1px!important;
}
.playerProfileCompact .fpcGoldArchetypes small,
.playerProfileCompact .fpcGoldInfo small{
  margin-bottom:2px!important;
  font-size:6px!important;
}
.playerProfileCompact .fpcGoldArchetypes strong{font-size:9px!important}
.playerProfileCompact .fpcGoldInfoGrid{
  gap:4px!important;
  margin-top:5px!important;
}
.playerProfileCompact .fpcGoldInfo{
  min-height:40px!important;
  padding:4px 6px!important;
  border-color:#d9b45e!important;
}
.playerProfileCompact .fpcGoldInfo>strong{font-size:9px!important}
.playerProfileCompact .fpcGoldClub>div{gap:3px!important}
.playerProfileCompact .fpcGoldClub .clubMark{
  transform:scale(.54)!important;
  transform-origin:left center!important;
  margin-right:-12px!important;
}
.playerProfileCompact .fpcGoldSection{
  margin-top:4px!important;
  border-color:#d8b35d!important;
}
.playerProfileCompact .fpcGoldSection>header{
  padding:4px 7px!important;
  font-size:8px!important;
  background:linear-gradient(180deg,#090909,#171717)!important;
  border-bottom:1px solid #dca414!important;
}
.playerProfileCompact .fpcGoldDays{
  gap:3px!important;
  padding:4px!important;
}
.playerProfileCompact .fpcGoldDays span{
  padding:4px 1px!important;
  font-size:7px!important;
}
.playerProfileCompact .fpcGoldPresentation{
  min-height:30px!important;
  padding:5px 7px!important;
  font-size:8px!important;
  line-height:1.2!important;
}
.playerProfileCompact .fpcGoldStats{
  grid-template-columns:repeat(7,1fr)!important;
}
.playerProfileCompact .fpcGoldStats>div{
  min-height:48px!important;
  padding:4px 1px!important;
}
.playerProfileCompact .fpcGoldStats small{
  font-size:5.7px!important;
  letter-spacing:0!important;
}
.playerProfileCompact .fpcGoldStats strong{font-size:16px!important}
.playerProfileCompact .fpcGoldFooter{
  margin-top:5px!important;
  gap:4px!important;
  grid-template-columns:1fr 112px 1fr!important;
}
.playerProfileCompact .fpcGoldNav{
  min-height:40px!important;
  padding:0 7px!important;
  font-size:8px!important;
  border-width:1px!important;
  background:linear-gradient(180deg,#070707,#151515)!important;
  box-shadow:inset 0 0 0 1px rgba(220,164,20,.45)!important;
}
.playerProfileCompact .fpcGoldNav b{font-size:18px!important}
.playerProfileCompact .fpcGoldFooterPoints{
  min-width:112px!important;
  padding:3px 5px!important;
  border-width:1px!important;
}
.playerProfileCompact .fpcGoldFooterPoints small{font-size:5.7px!important}
.playerProfileCompact .fpcGoldFooterPoints strong{font-size:18px!important}
.playerProfileCompact .fpcGoldFooterPoints .playerStars{
  font-size:7px!important;letter-spacing:.6px!important
}
/* Les outils du joueur restent disponibles mais ne rallongent plus la fiche au chargement. */
.playerAccountPanel.is-collapsed{display:none!important}
.playerAccountManagement{
  max-width:690px!important;
  margin:5px auto 0!important;
}
.playerAccountBar{
  gap:4px!important;
  padding:4px!important;
}
.playerAccountBar .mini{
  min-height:25px!important;
  padding:3px 5px!important;
  font-size:7px!important;
}
/* Le bloc Admin du profil est conservé mais replié visuellement au minimum. */
.playerProfileAdminCompact{
  max-width:690px!important;
  margin:5px auto 0!important;
}
.playerProfileAdminCompact .adminPlayerStatusCard{
  padding:5px 7px!important;
}
.playerProfileAdminCompact .adminStatusHead h3{font-size:9px!important}
.playerProfileAdminCompact .adminStatusButtons{margin-top:3px!important}
.playerProfileAdminCompact .adminStatusChoice{
  min-height:23px!important;
  font-size:7px!important;
}
/* Sur un écran 1080p, on privilégie la carte comme objet complet. */
@media (min-width:1000px) and (min-height:900px){
  .playerProfileCompact .fpcGoldCard{max-width:720px!important}
  .playerProfileCompact .playerProfileTopNav,
  .playerAccountManagement,
  .playerProfileAdminCompact{max-width:720px!important}
}

/* V10.11A — sortie de sécurité du mode TESTER COMME CE JOUEUR */
.adminRecoveryBar{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  max-width:920px;margin:10px auto;padding:10px 12px;
  border:1px solid #d6a62a;background:#111;color:#f6d46b;
}
.adminRecoveryBar b{font-size:12px;letter-spacing:.06em}
.adminRecoveryBar .primary{margin:0;white-space:nowrap}
@media(max-width:700px){.adminRecoveryBar{flex-direction:column;align-items:stretch}}

/* V10.11A — barème étoiles final : distinction étoile acquise / emplacement vide */
.playerStars .starFull{color:#d9a514!important;text-shadow:0 1px 0 #fff!important}
.playerStars .starEmpty{color:#8f8a7c!important;opacity:.58!important;text-shadow:none!important}


/* TCHAT V10.11Y RESTAURÉ — CSS CHAT UNIQUEMENT */
/* ============================================================
   V10.11Y — CORRECTION UX TCHAT + TITRE PROFIL
   ============================================================ */

/* TCHAT : cliquer sur un connecté ouvre désormais directement le privé. */
.onlineUser{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 34px!important;
  gap:4px!important;
  padding:0!important;
}
.onlineTalk{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:12px minmax(0,1fr) auto!important;
  gap:7px!important;
  align-items:center!important;
  padding:7px 8px!important;
  border:0!important;
  background:#202321!important;
  color:#f5f1e7!important;
  text-align:left!important;
  cursor:pointer!important;
}
.onlineTalk:hover{
  background:#2b2d2a!important;
  box-shadow:inset 3px 0 0 #d8c59d!important;
}
.onlineTalk.self{cursor:default!important}
.onlineTalk.self:hover{background:#202321!important;box-shadow:none!important}
.onlineTalk b{display:block!important;font-size:10px!important}
.onlineTalk small{display:block!important;font-size:8px!important;color:#9f9c94!important}
.onlineTalk em{
  font-style:normal!important;
  font-size:7px!important;
  font-weight:1000!important;
  letter-spacing:.08em!important;
  color:#d8c59d!important;
}
.onlineProfileIcon{
  width:34px!important;
  border:1px solid #3b3d39!important;
  background:#171918!important;
  color:#d8c59d!important;
  cursor:pointer!important;
  font-size:13px!important;
}
.onlineProfileIcon:hover{background:#2b2d2a!important;border-color:#d8c59d!important}



/* ============================================================
   V10.11A CHAT FIX — conversation privée lisible
   ============================================================ */
.chatPrivateLayout{
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  gap:10px!important;
  align-items:stretch!important;
}
.chatContacts{
  height:500px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#161817!important;
  border:1px solid #5d533e!important;
  padding:7px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:5px!important;
}
.chatContact{
  flex:0 0 auto!important;
  width:100%!important;
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:8px!important;
  padding:8px 9px!important;
  border:1px solid #333732!important;
  background:#202320!important;
  color:#f4efe3!important;
  text-align:left!important;
  cursor:pointer!important;
}
.chatContact:hover,
.chatContact.selected{
  border-color:#d4b96f!important;
  background:#2a2d29!important;
}
.chatContact b{
  display:block!important;
  font-size:11px!important;
  line-height:1.2!important;
}
.chatContact small{
  display:block!important;
  margin-top:3px!important;
  font-size:8px!important;
  color:#aaa69c!important;
}
.chatContact i{
  min-width:20px!important;
  height:20px!important;
  padding:0 5px!important;
  border-radius:12px!important;
  display:grid!important;
  place-items:center!important;
  background:#d8c59d!important;
  color:#151515!important;
  font-size:8px!important;
  font-style:normal!important;
  font-weight:900!important;
}
.chatNoThreads{
  padding:14px 10px!important;
  color:#aaa69c!important;
  font-size:10px!important;
  line-height:1.45!important;
  text-align:center!important;
}
.chatConversation{
  min-width:0!important;
  display:grid!important;
  grid-template-rows:minmax(330px,1fr) auto auto!important;
}
.chatConversation .chat{
  height:500px!important;
  overflow-y:auto!important;
}
.chatConversation .composer{
  margin-top:7px!important;
}
.chatEmpty{
  min-height:330px!important;
  display:grid!important;
  place-items:center!important;
  padding:20px!important;
  color:#7e8c95!important;
  text-align:center!important;
}
@media(max-width:900px){
  .chatPrivateLayout{grid-template-columns:1fr!important}
  .chatContacts{height:auto!important;max-height:180px!important}
  .chatConversation .chat{height:420px!important}
}


/* ============================================================
   PROFIL — BADGE MOUVEMENT TECHNIQUE LIÉ AUX ÉTOILES
   0 étoile : aucun badge
   1 : passe / 2 : passe allongée / 3 : jongle / 4 : retourné / 5 : acrobatique
   ============================================================ */

/* Couronne supprimée définitivement sur ce profil */
.playerProfileCompact .fpcGoldCrown{display:none!important}

/* Laisse une vraie zone à droite du titre pour le badge */
.playerProfileCompact .fpcGoldBrand{
  max-width:72%!important;
  margin-left:0!important;
  margin-right:auto!important;
}

/* Badge dans la zone haute droite du profil */
.playerProfileCompact .fpcRankMove{
  position:absolute!important;
  top:8px!important;
  right:18px!important;
  width:138px!important;
  height:122px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:5!important;
  pointer-events:none!important;
}

.playerProfileCompact .fpcRankMove img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:drop-shadow(0 3px 3px rgba(0,0,0,.18))!important;
}

/* Le badge ne doit jamais descendre dans la zone étoiles */
.playerProfileCompact .fpcGoldHero{
  position:relative!important;
}

/* Mobile : badge plus compact et replacé sans masquer le titre */
@media(max-width:760px){
  .playerProfileCompact .fpcGoldBrand{
    max-width:100%!important;
    margin-left:auto!important;
  }
  .playerProfileCompact .fpcRankMove{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    width:110px!important;
    height:96px!important;
    margin:-4px auto 8px!important;
  }
}


/* ============================================================
   TITRE PROFIL — AGRANDISSEMENT UNIQUEMENT
   ============================================================ */
.playerProfileCompact .fpcGoldBrand strong{
  font-size:34px!important;
  line-height:1!important;
  letter-spacing:.035em!important;
}

/* V4 — lecteur YouTube intégré directement dans le bloc F.P.C LIVE de l'accueil */
.homeLiveEmbedGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:4px 8px 8px;margin:0}
.homeLiveEmbedGrid.single{grid-template-columns:1fr}
.homeLivePlayer{min-width:0;border:1px solid #50482f;background:rgba(5,8,9,.80);box-shadow:0 2px 12px #0008;overflow:hidden}
.homeLivePlayerHead{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:6px 8px;background:linear-gradient(90deg,#100e09,#081013);border-bottom:1px solid #423a27}
.homeLivePlayerHead b{font-size:10px;color:#f0d47b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.homeLivePlayerHead small{font-size:8px;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right}
.homeYoutubeFrame{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}
.homeLiveEmbedFallback{min-height:110px;padding:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;font-size:9px;color:#ddd}
.homeLiveMoreBtn{margin:0 8px 8px;width:calc(100% - 16px)}
@media(max-width:900px){.homeLiveEmbedGrid{grid-template-columns:1fr}.homeLivePlayerHead{align-items:flex-start;flex-direction:column}.homeLivePlayerHead small{text-align:left}}

/* V6 — F.P.C LIVE accueil : lecteur 16:9 complet, sans troncature */
.homeYoutubeRatio{position:relative;width:100%;aspect-ratio:16/9;background:#000;overflow:hidden}
.homeYoutubeRatio .homeYoutubeFrame{position:absolute;inset:0;width:100%!important;height:100%!important;min-height:0!important;margin:0!important;border:0!important;display:block!important;background:#000}
.homeLivePanel:has(.homeYoutubeRatio){height:auto!important;min-height:0!important;overflow:visible!important}
.homeBottomGrid:has(.homeYoutubeRatio){height:auto!important;min-height:0!important;align-items:stretch!important}
.homeCenterV2:has(.homeYoutubeRatio){grid-template-rows:minmax(180px,29vh) minmax(185px,27vh) auto!important;height:auto!important;max-height:none!important}
.homeBottomGrid:has(.homeYoutubeRatio) .homeGazettePanel{height:100%!important;min-height:285px!important}
@media(max-width:1180px){.homeCenterV2:has(.homeYoutubeRatio){height:auto!important;max-height:none!important}.homeBottomGrid:has(.homeYoutubeRatio){grid-template-columns:1fr 1fr!important}}
@media(max-width:760px){.homeBottomGrid:has(.homeYoutubeRatio){grid-template-columns:1fr!important}.homeLivePanel:has(.homeYoutubeRatio){overflow:hidden!important}}

/* BETA DEMO — langues + actions compétition locales */
.betaLang{display:flex;align-items:center;gap:5px;margin-left:auto}.betaLang label{font-size:15px}.betaLang select{background:#111;color:#fff;border:1px solid rgba(216,197,157,.65);border-radius:8px;padding:7px 8px;font-weight:900;cursor:pointer}.demoCompetitionTools{margin:16px 0;border:1px solid rgba(216,173,57,.55)!important;background:linear-gradient(180deg,rgba(216,173,57,.08),rgba(255,255,255,.02))!important}.demoCompetitionActions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.demoCompetitionActions select{min-width:220px;padding:10px 12px;border:1px solid var(--line);background:#fff;font-weight:800}@media(max-width:900px){.betaLang{order:3}.demoCompetitionActions>*{width:100%}.demoCompetitionActions select{min-width:0}}

/* ============================================================
   V7 DEMO — CORRECTIF CARTOUCHES PROFIL / STATUT RECRUTEMENT
   ============================================================ */
.playerProfileCompact .fpcGoldBrand{
  min-height:72px!important;
  max-width:540px!important;
  padding:10px 18px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.playerProfileCompact .fpcGoldBrand strong{
  font-size:clamp(34px,3.2vw,46px)!important;
  line-height:1.02!important;
  letter-spacing:.02em!important;
  text-align:center!important;
}

.playerProfileAdminCompact{
  max-width:760px!important;
  margin:10px auto 0!important;
}
.playerProfileAdminCompact .adminPlayerStatusCard{
  padding:14px 14px 16px!important;
  border-width:2px!important;
}
.playerProfileAdminCompact .adminPlayerStatusCard .label{
  display:block!important;
  margin-bottom:8px!important;
  font-size:8px!important;
  letter-spacing:.16em!important;
}
.playerProfileAdminCompact .adminStatusHead{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:start!important;
  gap:10px!important;
  margin-bottom:8px!important;
}
.playerProfileAdminCompact .adminStatusHead h3{
  font-size:16px!important;
  line-height:1.1!important;
  margin:0!important;
  align-self:start!important;
  justify-self:center!important;
  text-align:center!important;
  width:100%!important;
}
.playerProfileAdminCompact .adminCurrentStatus{
  font-size:10px!important;
  padding:6px 10px!important;
  margin-left:0!important;
  align-self:start!important;
}
.playerProfileAdminCompact .adminPlayerStatusCard p,
.playerProfileAdminCompact .adminPlayerStatusCard .muted{
  display:block!important;
  margin:0 0 10px!important;
  font-size:11px!important;
  line-height:1.35!important;
}
.playerProfileAdminCompact .adminStatusButtons{
  margin-top:8px!important;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
.playerProfileAdminCompact .adminStatusChoice{
  min-height:46px!important;
  padding:9px 10px!important;
  font-size:11px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  .playerProfileCompact .fpcGoldBrand{
    min-height:60px!important;
    max-width:100%!important;
    padding:8px 12px!important;
  }
  .playerProfileCompact .fpcGoldBrand strong{
    font-size:clamp(28px,8vw,38px)!important;
  }
  .playerProfileAdminCompact .adminStatusHead{
    grid-template-columns:1fr!important;
  }
  .playerProfileAdminCompact .adminStatusHead h3{
    justify-self:center!important;
  }
  .playerProfileAdminCompact .adminCurrentStatus{
    justify-self:end!important;
  }
  .playerProfileAdminCompact .adminStatusButtons{
    grid-template-columns:1fr!important;
  }
}

/* ============================================================
   CONVOCATIONS CLUB + CONTACT PRIVÉ (préparation ouverture)
   ============================================================ */
.profileNotifyBox{margin:10px 0;padding:12px;border:1px solid #d8c59d66;background:linear-gradient(180deg,#171712,#10110f)}
.profileNotifyBox>.label{display:block;margin-bottom:8px}
.profileNotifyBox .muted{display:block;margin:-2px 0 10px;font-size:11px}
.notifyChoices{display:flex;flex-wrap:wrap;gap:8px 16px;padding-top:4px}
.notifyChoices label{display:flex!important;align-items:center;gap:7px;margin:0!important;font-weight:800}
.notifyChoices input{width:auto!important;margin:0!important}
.clubCallupCard{margin-top:16px;border:2px solid #d8b45d;background:linear-gradient(180deg,#171713,#0d0f0d)}
.clubCallupCard h3{margin:4px 0 7px}
.callupDemoNote{margin:8px 0;padding:8px 10px;border:1px dashed #d8b45d;color:#efd98f;font-size:11px;font-weight:900;letter-spacing:.05em}
.callupChooser{display:grid;gap:10px;margin-top:12px}
.callupActions{display:flex;flex-wrap:wrap;gap:7px}
.callupRoster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.callupRoster label{display:flex;align-items:center;gap:7px;margin:0;padding:8px 9px;border:1px solid #ffffff18;background:#0d0f0e;min-width:0}
.callupRoster input{width:auto;margin:0}
.callupRoster b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.callupSummary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0;padding:10px 12px;border:1px solid #d8b45d66;background:#0c0e0d}
.callupSummary>b{color:#f0d47b}
.callupSummary span{margin-right:auto}
.playerCallupInbox{margin:0 0 12px;border:2px solid #d8b45d}
.playerCallupItem{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #ffffff18}
.playerCallupItem:first-of-type{border-top:0}
.playerCallupItem>span{font-size:11px;font-weight:900}
@media(max-width:980px){.callupRoster{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.callupRoster{grid-template-columns:1fr}.playerCallupItem{grid-template-columns:1fr}.notifyChoices{display:grid;grid-template-columns:1fr}}


/* ============================================================
   V4 — NOTIFICATIONS / SÉCURITÉ COMPTE / JOURNAL ADMIN
   ============================================================ */
.notificationBell{position:relative;min-width:44px;height:40px;border:1px solid #d8c59d88;background:#10110f;color:#f2d98d;border-radius:10px;font-size:18px;cursor:pointer}
.notificationBell:hover,.notificationBell.hasUnread{border-color:#f0c95a;box-shadow:0 0 0 2px rgba(240,201,90,.12)}
.notificationBell[hidden]{display:none!important}
#notificationBadge{position:absolute;right:-7px;top:-7px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#d72f2f;color:#fff;border:2px solid #111;font-size:10px;font-weight:1000}
#notificationBadge[hidden]{display:none!important}
.notificationCenter{max-width:980px;margin:0 auto}.notificationHead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.notificationHead h2{margin:3px 0}
.notificationList{display:grid;gap:9px}.notificationItem{width:100%;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;border:1px solid #d8c59d55;background:linear-gradient(180deg,#181914,#0f100e);color:#fff;padding:13px 15px;border-radius:12px;cursor:pointer}.notificationItem.isUnread{border-color:#e0b83f;box-shadow:inset 4px 0 0 #e0b83f}.notificationItem.isRead{opacity:.72}.notificationIcon{font-size:22px}.notificationItem b{display:block;margin-bottom:3px}.notificationItem small{display:block;color:#c7c2b6}.notificationItem i{font-style:normal;font-size:9px;font-weight:1000;letter-spacing:.08em;color:#e7c75f}
.accountSecurityCard{margin-top:14px}.accountSecurityCard label{display:grid;gap:6px}.accountSecurityActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.adminAuditCard{margin-top:16px}.adminAuditHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.adminAuditHead h3{margin:4px 0}.adminAuditList{display:grid;gap:6px;max-height:460px;overflow:auto;margin-top:12px}.adminAuditRow{display:grid;grid-template-columns:145px 140px 170px minmax(0,1fr);gap:9px;align-items:start;padding:9px 10px;border:1px solid #d8c59d33;background:#0e0f0d}.adminAuditRow time,.adminAuditRow span{font-size:11px;color:#c5c0b3}.adminAuditRow strong,.adminAuditRow b{font-size:11px}
@media(max-width:760px){.notificationItem{grid-template-columns:38px minmax(0,1fr)}.notificationItem i{grid-column:2}.adminAuditRow{grid-template-columns:1fr}.notificationHead{align-items:flex-start;flex-direction:column}}

/* ============================================================
   V5 — DISPONIBILITÉS : ÉTAT VIDE LISIBLE
   ============================================================ */
.availabilityDayCard{
  color:#1c1d1b!important;
}
.availabilityDayCard strong{
  color:#171918!important;
  opacity:1!important;
}
.availabilityDayCard strong small{
  color:#625e55!important;
  opacity:1!important;
}
.availabilityDayCard p{
  color:#4d4941!important;
  opacity:1!important;
}
.availabilityDayCard summary{
  color:#34312c!important;
  opacity:1!important;
}
.availabilityDayCard:not(:has(.availabilityNames span)){
  background:linear-gradient(180deg,#fbfaf7,#f2eee5)!important;
  border-color:#cfc6b5!important;
}
.availabilityDayCard:not(:has(.availabilityNames span)) strong{
  color:#34312c!important;
}

/* ============================================================
   V5 — LIVE CLUB STRICTEMENT PRIVÉ + IDENTITÉ DU CLUB
   ============================================================ */
.privateClubBroadcast{overflow:hidden}
.clubPrivateLiveViewer,.clubPrivateLiveIdle{margin:14px 0 16px;border:1px solid #c8b57e;background:linear-gradient(180deg,#11130f,#090b09);color:#fff;border-radius:14px;overflow:hidden}
.clubPrivateLiveHead,.clubPrivateLiveIdle{display:flex;align-items:center;gap:16px;padding:16px}
.clubPrivateLiveHead h3,.clubPrivateLiveIdle h3{margin:2px 0 4px!important;color:#fff!important}
.clubPrivateLiveHead p,.clubPrivateLiveIdle p{margin:0!important;color:#cfcabc!important}
.clubPrivateBadge{display:inline-block;font-size:10px;font-weight:950;letter-spacing:.08em;color:#f0cc68}
.clubBroadcastLogo,.clubBroadcastMonogram{width:70px;height:70px;flex:0 0 70px;border-radius:14px;border:2px solid #d3ae52;background:#f7f0dd;object-fit:contain;padding:6px}
.clubBroadcastMonogram{display:grid;place-items:center;padding:0;background:#161812;color:#f0cc68;font-size:20px;font-weight:1000;letter-spacing:.05em}
.clubPrivateVideoRatio{position:relative;width:100%;aspect-ratio:16/9;background:#000}
.clubPrivateVideo{position:absolute;inset:0;width:100%;height:100%;border:0}
.clubPrivateLiveControls{padding-top:4px}
.clubPrivateLiveControls label{display:grid;gap:6px;margin:10px 0;font-weight:900}
.clubPrivateLiveControls input,.clubPrivateLiveControls select{width:100%;min-height:43px}
@media(max-width:620px){.clubPrivateLiveHead,.clubPrivateLiveIdle{align-items:flex-start}.clubBroadcastLogo,.clubBroadcastMonogram{width:58px;height:58px;flex-basis:58px}}

/* ============================================================
   V5 — FONCTIONS : 15 MODULES PLUS SOBRES, COLORÉS ET LISIBLES
   ============================================================ */
.projectGrid .projectCard{
  --module-accent:#9a7b3f;
  position:relative;
  overflow:hidden;
  border:1px solid #d4cec1!important;
  border-top:1px solid #d4cec1!important;
  border-left:5px solid var(--module-accent)!important;
  border-radius:12px;
  background:
    linear-gradient(135deg,color-mix(in srgb,var(--module-accent) 9%,#ffffff) 0%,#fbfaf7 38%,#f7f4ed 100%)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.08)!important;
  padding:21px 21px 19px!important;
}
.projectGrid .projectCard:after{
  content:"";position:absolute;right:-38px;top:-42px;width:120px;height:120px;border-radius:50%;
  background:color-mix(in srgb,var(--module-accent) 10%,transparent);pointer-events:none
}
.projectGrid .projectCardTop{position:relative;z-index:1}
.projectGrid .projectCardTop>b{
  display:grid!important;place-items:center;width:44px;height:44px;border-radius:50%;
  font-size:19px!important;line-height:1!important;color:#fff!important;background:var(--module-accent)!important;
  box-shadow:0 3px 10px rgba(0,0,0,.16)
}
.projectGrid .projectStatus{border-radius:999px;border:1px solid color-mix(in srgb,var(--module-accent) 45%,#777)!important;font-size:9px!important;letter-spacing:.08em!important}
.projectGrid .projectStatus.ready{background:color-mix(in srgb,var(--module-accent) 16%,#171918)!important;color:#fff!important}
.projectGrid .projectStatus.dev{background:color-mix(in srgb,var(--module-accent) 17%,#efe6d4)!important;color:#28251f!important}
.projectGrid .projectCard h3{color:#161817!important;font-size:20px!important;line-height:1.15!important;margin:15px 0 9px!important}
.projectGrid .projectCard .projectLead{color:#3e3b35!important;font-size:13px!important;line-height:1.55!important;font-weight:650}
.projectGrid .projectCard ul{color:#4b4841!important;border-top:1px solid color-mix(in srgb,var(--module-accent) 22%,#d8d1c5)!important;line-height:1.58!important}
.projectGrid .projectCard li::marker{color:var(--module-accent)}
.projectGrid .projectCard:nth-child(1){--module-accent:#4b78a8}
.projectGrid .projectCard:nth-child(2){--module-accent:#4f8667}
.projectGrid .projectCard:nth-child(3){--module-accent:#478d82}
.projectGrid .projectCard:nth-child(4){--module-accent:#a35e55}
.projectGrid .projectCard:nth-child(5){--module-accent:#a27a34}
.projectGrid .projectCard:nth-child(6){--module-accent:#617d60}
.projectGrid .projectCard:nth-child(7){--module-accent:#8a655b}
.projectGrid .projectCard:nth-child(8){--module-accent:#756ca1}
.projectGrid .projectCard:nth-child(9){--module-accent:#5e7893}
.projectGrid .projectCard:nth-child(10){--module-accent:#a24f4f}
.projectGrid .projectCard:nth-child(11){--module-accent:#9c7c43}
.projectGrid .projectCard:nth-child(12){--module-accent:#5d7897}
.projectGrid .projectCard:nth-child(13){--module-accent:#9b7436}
.projectGrid .projectCard:nth-child(14){--module-accent:#677268}
.projectGrid .projectCard:nth-child(15){--module-accent:#77665c}
@media(hover:hover){.projectGrid .projectCard{transition:transform .16s ease,box-shadow .16s ease}.projectGrid .projectCard:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.12)!important}}

/* V10.4 — Candidatures joueurs vers clubs */
.clubApplicationCard,.clubApplicationsManager{border-color:#d6b96b88!important;background:linear-gradient(180deg,#171915,#10110f)!important}
.clubApplicationCard h3,.clubApplicationsManager h3{color:#f3df9b!important}
.clubApplicationCard textarea{width:100%;min-height:78px;margin:10px 0 8px;background:#0c0e0d;color:#f5f2e8;border:1px solid #6f6446;border-radius:8px;padding:10px}
.clubApplicationCard.disabled{opacity:.8}
.clubApplicationsManager .offer{border-left:3px solid #d8b45d;padding-left:12px}

/* ============================================================
   V6.2 — CANDIDATURE JOUEUR : CTA VISITEUR VISIBLE EN HAUT DU CLUB
   ============================================================ */
.clubApplicationHero{
  max-width:1180px;
  margin:0 auto 18px;
  border:1px solid rgba(216,180,93,.72);
  border-radius:12px;
  background:linear-gradient(135deg,#171a16 0%,#0d100f 68%,#18140a 100%);
  box-shadow:0 10px 28px rgba(0,0,0,.28),inset 4px 0 0 #d8b45d;
  color:#f4f1e8;
  overflow:hidden;
}
.clubApplicationHero:not(details){
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:18px 20px;
}
.clubApplicationHeroText .label,
.clubApplicationHero summary small{
  display:block;
  color:#d8b45d;
  font-size:9px;
  font-weight:1000;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.clubApplicationHeroText h3{
  margin:5px 0 6px;
  color:#fff;
  font-size:22px;
  letter-spacing:.02em;
}
.clubApplicationHeroText p{margin:0;color:#d8d3c6;line-height:1.45}
.clubApplicationHeroAction{display:grid;gap:6px;justify-items:end}
.clubApplicationHeroAction small{color:#9f998b;font-size:9px;letter-spacing:.08em}
.clubApplicationMainBtn{
  min-height:48px;
  padding:0 22px;
  border:1px solid #f0cf6b;
  border-radius:8px;
  background:linear-gradient(180deg,#e4c15a,#b98d25);
  color:#090a09;
  font-weight:1000;
  font-size:12px;
  letter-spacing:.07em;
  box-shadow:0 5px 16px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.35);
  cursor:pointer;
}
.clubApplicationMainBtn:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}
.clubApplicationMainBtn:disabled{opacity:.72;cursor:default}
.clubApplicationJoin summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 20px;
  cursor:pointer;
  user-select:none;
}
.clubApplicationJoin summary::-webkit-details-marker{display:none}
.clubApplicationJoin summary span{display:grid;gap:4px}
.clubApplicationJoin summary strong{font-size:20px;color:#fff;letter-spacing:.03em}
.clubApplicationJoin summary em{font-style:normal;color:#d8d3c6;font-size:12px}
.clubApplicationJoin summary>b{font-size:28px;color:#e8c55e;transition:transform .18s ease}
.clubApplicationJoin[open] summary>b{transform:rotate(90deg)}
.clubApplicationForm{
  border-top:1px solid rgba(216,180,93,.35);
  padding:16px 20px 20px;
  background:rgba(0,0,0,.18);
}
.clubApplicationForm p{margin:0 0 12px;color:#cfc9bb;line-height:1.45}
.clubApplicationForm label{display:grid;gap:6px;color:#d8b45d;font-size:9px;font-weight:1000;letter-spacing:.14em}
.clubApplicationForm textarea{
  width:100%;min-height:82px;padding:11px 12px;
  border:1px solid #655b3f;border-radius:8px;background:#090c0b;color:#f5f2e8;
  resize:vertical;font:inherit;letter-spacing:normal;
}
.clubApplicationForm .clubApplicationMainBtn{margin-top:12px}
.clubApplicationHero.pending{border-color:#76a86c;box-shadow:0 10px 28px rgba(0,0,0,.28),inset 4px 0 0 #76a86c}
.clubApplicationHero.unavailable{opacity:.82}
.clubApplicationHero.adminPreview{border-style:dashed}
@media(max-width:760px){
  .clubApplicationHero:not(details){grid-template-columns:1fr;padding:15px}
  .clubApplicationHeroAction{justify-items:stretch}
  .clubApplicationMainBtn{width:100%}
  .clubApplicationJoin summary{padding:15px}
  .clubApplicationJoin summary strong{font-size:17px}
  .clubApplicationJoin summary em{font-size:11px}
  .clubApplicationForm{padding:14px 15px 16px}
}

/* V6.4 — Supabase Auth Admin 1, sans ouverture des écritures métier */
.fumaAuthLoginCard{border:1px solid #d8b45d;background:linear-gradient(180deg,#151713,#0d0f0e);color:#f5efe1;box-shadow:inset 4px 0 0 #d8b45d,0 10px 24px #0003}
.fumaAuthLoginCard h2{color:#fff;margin:6px 0 10px}.fumaAuthLoginCard form{display:grid;gap:10px}.fumaAuthLoginCard label{display:grid;gap:5px;font-weight:800}.fumaAuthLoginCard input{width:100%}

/* ============================================================
   V6.5 — CONNEXION ADMIN 1 CLAIRE ET PRIORITAIRE
   ============================================================ */
.fumaAuthEntrySection{padding-top:4px!important}
.fumaAuthLoginPrimary{
  max-width:760px!important;
  margin:0 auto 18px!important;
  padding:22px 24px 24px!important;
  border:2px solid #d8b45d!important;
  box-shadow:0 16px 38px #0007,inset 5px 0 0 #d8b45d!important;
}
.fumaAuthLoginTitle{text-align:center;margin-bottom:16px}
.fumaAuthLoginTitle .label{display:block;margin-bottom:5px;color:#e7c568!important}
.fumaAuthLoginTitle h2{margin:2px 0 7px!important;font-size:28px!important;letter-spacing:.03em!important}
.fumaAuthLoginTitle p{margin:0;color:#d7d1c2;font-size:13px}
.fumaAuthLoginPrimary form{display:grid!important;grid-template-columns:1fr 1fr;gap:14px!important;align-items:end}
.fumaAuthLoginPrimary form>label{font-size:12px!important;color:#f7f1e6!important}
.fumaAuthLoginPrimary input{
  min-height:46px!important;
  padding:10px 12px!important;
  background:#fffdf8!important;
  color:#111!important;
  border:1px solid #b99a4c!important;
  border-radius:4px!important;
}
.fumaPasswordField{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:stretch}
.fumaPasswordToggle{min-width:92px!important;min-height:46px!important;padding:8px 10px!important}
.fumaAuthSubmit{grid-column:1/-1;min-height:48px!important;font-size:13px!important;letter-spacing:.08em!important;margin-top:2px!important}
.fumaAuthReadOnlyNote{display:block;text-align:center;margin-top:12px;color:#a9a395;font-size:10px;letter-spacing:.025em}
.fumaAccountSecondary{margin-top:0!important}
.fumaSecuritySecondary .accountSecurityCard{opacity:.94;border-color:#8f805f!important}
.fumaSecuritySecondary .accountSecurityCard:before{content:'ASSISTANCE DE CONNEXION';display:block;font-size:8px;font-weight:900;letter-spacing:.14em;color:#a98a43;margin-bottom:7px}
@media(max-width:760px){
  .fumaAuthLoginPrimary{padding:18px 14px!important}
  .fumaAuthLoginPrimary form{grid-template-columns:1fr!important}
  .fumaAuthSubmit{grid-column:auto}
  .fumaPasswordField{grid-template-columns:1fr!important}
  .fumaPasswordToggle{min-height:38px!important}
}

/* ============================================================
   V6.6 — TITRE COMPÉTITION HORS BANNIÈRE
   Le nom ne dépend plus du contraste de l'image de fond.
   ============================================================ */
.competitionDisplayTitle{
  margin:18px 0 12px;
  padding:14px 20px 15px;
  border:1px solid rgba(216,180,93,.55);
  border-radius:14px;
  background:linear-gradient(180deg,#141414,#090909);
  box-shadow:0 8px 20px rgba(0,0,0,.18),inset 0 -2px 0 rgba(216,180,93,.18);
  text-align:center;
}
.competitionDisplayTitle>span{
  display:block;
  margin-bottom:5px;
  color:#d8b45d;
  font-size:10px;
  font-weight:900;
  letter-spacing:.22em;
}
.competitionDisplayTitle h2{
  margin:0;
  color:#fff;
  font-size:clamp(30px,4vw,54px);
  line-height:1.02;
  font-weight:1000;
  letter-spacing:.015em;
  -webkit-text-stroke:1.5px #111;
  paint-order:stroke fill;
  text-shadow:0 2px 10px rgba(0,0,0,.45);
}
/* Plus de titre superposé à l'image : la bannière redevient purement visuelle. */
.compHeroBoard .compHeroContent{padding-top:32px!important}
@media(max-width:700px){
  .competitionDisplayTitle{padding:12px 14px 13px}
  .competitionDisplayTitle h2{font-size:clamp(26px,8vw,38px)}
}


/* V6.7 — confirmation visuelle de la session Supabase Admin 1 */
.fumaAuthAdminTag{
 display:inline-flex;align-items:center;justify-content:center;
 min-height:34px;padding:0 11px;border:1px solid #d6ab3f;border-radius:999px;
 background:linear-gradient(180deg,#1a1d18,#0d0f0d);color:#f4d56f;
 font-size:10px;font-weight:1000;letter-spacing:.11em;white-space:nowrap;
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.04),0 4px 12px rgba(0,0,0,.28)
}
.fumaAuthAdminTag::before{content:'●';color:#54d67a;font-size:9px;margin-right:7px;text-shadow:0 0 8px rgba(84,214,122,.55)}
.fumaAuthAdminTag[hidden]{display:none!important}
@media(max-width:900px){.fumaAuthAdminTag{font-size:8px;padding:0 8px;min-height:30px;letter-spacing:.08em}}


/* ============================================================
   V6.8 — REPOSITIONNEMENT DES CONTROLES D'ENTETE
   Langue / notifications / tag Admin / Mon compte
   ============================================================ */
.headerTools{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex:0 0 auto;
  min-width:max-content;
}
.headerTools .betaLang{
  margin-left:0!important;
  flex:0 0 auto;
}
.headerTools .notificationBell,
.headerTools .fumaAuthAdminTag,
.headerTools #login{
  flex:0 0 auto;
}
.headerTools .fumaAuthAdminTag{
  max-width:none!important;
  white-space:nowrap!important;
}
header nav{
  min-width:0;
}
@media (min-width:901px) and (max-width:1280px){
  header{
    gap:14px!important;
    padding-left:2vw!important;
    padding-right:2vw!important;
  }
  .brand{
    min-width:190px!important;
  }
  nav button{
    padding-left:7px!important;
    padding-right:7px!important;
    font-size:11px!important;
  }
  .headerTools{
    gap:8px!important;
  }
  .headerTools #login{
    padding:9px 10px!important;
    font-size:10px!important;
  }
  .headerTools .fumaAuthAdminTag{
    padding-left:9px!important;
    padding-right:9px!important;
    font-size:8px!important;
  }
}
@media(max-width:900px){
  .headerTools{
    order:2;
    margin-left:auto;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:8px;
  }
  header nav{
    order:3;
    width:100%;
  }
  .headerTools .betaLang{
    order:1;
  }
  .headerTools .notificationBell{
    order:2;
  }
  .headerTools .fumaAuthAdminTag{
    order:3;
  }
  .headerTools #login{
    order:4;
  }
}
@media(max-width:620px){
  .headerTools{
    width:100%;
    justify-content:flex-start;
    margin-left:0;
  }
  .headerTools .fumaAuthAdminTag{
    margin-left:auto;
  }
}


/* ============================================================
   V6.9 — ENTETE STABLE : navigation + outils sur deux lignes
   Discord retiré du menu principal : accès conservé sur l'accueil
   et dans MON COMPTE.
   ============================================================ */
@media (min-width:901px){
  header{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    grid-template-areas:
      "brand spacer tools"
      "nav nav nav"!important;
    align-items:center!important;
    gap:8px 18px!important;
    padding-top:9px!important;
    padding-bottom:8px!important;
    height:auto!important;
    min-height:94px!important;
  }
  header .brand{grid-area:brand!important;margin:0!important}
  header nav{
    grid-area:nav!important;
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:20px!important;
    min-width:0!important;
    overflow:visible!important;
    white-space:nowrap!important;
    border-top:1px solid rgba(216,197,157,.16);
    padding-top:7px!important;
  }
  header nav button{
    flex:0 0 auto!important;
    padding:4px 0!important;
  }
  .headerTools{
    grid-area:tools!important;
    margin-left:0!important;
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    gap:10px!important;
    min-width:0!important;
  }
  .headerTools .betaLang{margin:0!important}
  .headerTools .fumaAuthAdminTag{max-width:none!important;white-space:nowrap!important}
}
@media (min-width:901px) and (max-width:1180px){
  header nav{gap:14px!important}
  header nav button{font-size:10px!important}
  .headerTools{gap:7px!important}
  .headerTools .fumaAuthAdminTag{font-size:8px!important;padding:7px 9px!important}
  .headerTools #login{font-size:9px!important;padding:8px 10px!important}
}
@media(max-width:900px){
  header{height:auto!important}
  .headerTools{width:auto!important;max-width:100%!important}
}

/* ============================================================
   V6.10 — ENTETE DESKTOP SUR UNE SEULE LIGNE
   Conserve toute la hauteur utile de la page d'accueil.
   Discord reste hors navigation principale.
   ============================================================ */
@media (min-width:1000px){
  header{
    display:grid!important;
    grid-template-columns:210px minmax(0,1fr) auto!important;
    grid-template-areas:"brand nav tools"!important;
    align-items:center!important;
    column-gap:16px!important;
    row-gap:0!important;
    min-height:62px!important;
    height:62px!important;
    padding:5px 2.2vw!important;
  }
  header .brand{
    grid-area:brand!important;
    margin:0!important;
    min-width:0!important;
  }
  header .brand .crest{
    width:42px!important;
    height:42px!important;
    min-width:42px!important;
  }
  header .brand b{font-size:14px!important}
  header .brand small{font-size:9px!important}

  header nav{
    grid-area:nav!important;
    width:auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex-wrap:nowrap!important;
    gap:clamp(8px,1.05vw,16px)!important;
    white-space:nowrap!important;
    overflow:visible!important;
    border-top:0!important;
    padding-top:0!important;
  }
  header nav button{
    flex:0 0 auto!important;
    padding:4px 0!important;
    font-size:clamp(9px,.72vw,11px)!important;
    line-height:1!important;
  }

  .headerTools{
    grid-area:tools!important;
    margin:0!important;
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    min-width:max-content!important;
  }
  .headerTools .betaLang{margin:0!important}
  .headerTools .betaLang label{margin-right:4px!important}
  .headerTools .betaLang select{min-width:56px!important;padding:8px 25px 8px 10px!important}
  .headerTools .notificationBell{width:44px!important;height:40px!important;min-width:44px!important}
  .headerTools .fumaAuthAdminTag{
    max-width:none!important;
    white-space:nowrap!important;
    font-size:9px!important;
    padding:8px 11px!important;
  }
  .headerTools #login{
    white-space:nowrap!important;
    font-size:10px!important;
    padding:10px 13px!important;
  }
}

/* Écrans desktop plus serrés : on compacte sans créer de seconde ligne. */
@media (min-width:1000px) and (max-width:1320px){
  header{
    grid-template-columns:184px minmax(0,1fr) auto!important;
    column-gap:10px!important;
    padding-left:1.2vw!important;
    padding-right:1.2vw!important;
  }
  header .brand b{font-size:12px!important}
  header .brand small{font-size:8px!important}
  header nav{gap:7px!important}
  header nav button{font-size:9px!important}
  .headerTools{gap:6px!important}
  .headerTools .betaLang label{display:none!important}
  .headerTools .fumaAuthAdminTag{font-size:8px!important;padding:7px 9px!important}
  .headerTools #login{font-size:9px!important;padding:9px 10px!important}
}


/* V6.15 — lisibilité CONTACT & NOTIFICATIONS */
.profileNotifyBox{
  border:1px solid #d8b45d!important;
  background:#11120f!important;
  padding:16px!important;
}
.profileNotifyBox>.label{
  color:#e5be56!important;
  font-weight:900!important;
  letter-spacing:.12em!important;
}
.profileNotifyBox label{
  color:#f3efe3!important;
  opacity:1!important;
}
.profileNotifyBox .muted{
  color:#cfc8b5!important;
  opacity:1!important;
  line-height:1.45!important;
}
.notifyChoices label{
  color:#f3efe3!important;
  opacity:1!important;
}
.profileNotifyBox input[type="checkbox"]{
  accent-color:#d8b45d;
}
.profileSaveStatus{
  min-height:18px;
  margin:4px 0 10px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
}
.profileSaveStatus.pending{color:#d8b45d}
.profileSaveStatus.success{color:#4da66b}
.profileSaveStatus.error{color:#d95d5d}

/* V7.1 — création club : choix 2 / 3 couleurs */
.clubCreateColorMode{
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  padding:12px 14px;
  margin:8px 0 4px;
  border:1px solid rgba(216,197,157,.55);
  background:rgba(216,197,157,.06);
}
.clubCreateColorMode .label{width:100%;margin-bottom:2px}
.clubCreateColorMode label{
  display:flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
}
.clubCreateColorMode input[type="radio"]{accent-color:#d8c59d}
.clubCreateThirdColor[hidden]{display:none!important}


/* V7.3 — profil joueur : couleurs club sous le logo sans le masquer */
.playerProfileHero .clubColors,
.playerProfileCard .clubColors,
.playerCard .clubColors,
.clubIdentityColors{
  position:relative!important;
  z-index:1!important;
  margin-top:12px!important;
  clear:both!important;
}
.playerProfileHero .clubColors{
  display:flex!important;
  gap:6px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  padding-top:2px!important;
}
.playerProfileHero .clubColors > *,
.playerProfileCard .clubColors > *,
.playerCard .clubColors > *{
  flex:0 0 auto!important;
}
.playerProfileHero .profileAvatar,
.playerProfileHero .playerAvatar,
.playerProfileHero img.avatar,
.playerProfileCard .profileAvatar,
.playerCard .profileAvatar{
  position:relative!important;
  z-index:2!important;
}


/* V7.7 — profil joueur : logo club seul, sans pastilles/barres de couleurs */
.fpcGoldClub > div{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.fpcProfileClubLogo{
  width:34px!important;
  height:34px!important;
  flex:0 0 34px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:7px!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(216,166,42,.75)!important;
}
.fpcProfileClubLogo img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
}
.fpcProfileClubLogoFallback{
  background:#111!important;
  color:#e2bd61!important;
  font-size:11px!important;
  font-weight:900!important;
}


/* ============================================================
   V7.8 — LISIBILITÉ FORMULAIRES + PROFIL PLUS COMPACT
   ============================================================ */

/* Formulaires : typo plus lisible sans changer la structure */
.form,
.card.form,
.clubForm{
  font-size:15px!important;
  line-height:1.35!important;
}
.form label,
.card.form label,
.clubForm label{
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
}
.form input,
.form select,
.form textarea,
.card.form input,
.card.form select,
.card.form textarea,
.clubForm input,
.clubForm select,
.clubForm textarea{
  font-size:15px!important;
  line-height:1.3!important;
  min-height:42px!important;
  padding:10px 12px!important;
}
.form textarea,
.card.form textarea,
.clubForm textarea{
  min-height:88px!important;
}
.form small,
.card.form small,
.clubForm small,
.form .muted,
.card.form .muted,
.clubForm .muted{
  font-size:12px!important;
  line-height:1.35!important;
}
.form .primary,
.form .mini,
.card.form .primary,
.card.form .mini,
.clubForm .primary,
.clubForm .mini{
  font-size:13px!important;
  min-height:40px!important;
  padding:9px 14px!important;
}

/* Réduit les grands vides verticaux dans les formulaires */
.form > *,
.card.form > *,
.clubForm > *{
  margin-top:7px!important;
  margin-bottom:7px!important;
}
.form .label,
.card.form .label,
.clubForm .label{
  margin-bottom:3px!important;
}

/* Profil joueur : compacter sans écraser */
.playerProfileCompact .fpcGoldShell{
  padding-top:14px!important;
  padding-bottom:14px!important;
}
.playerProfileCompact .fpcGoldHero{
  padding-top:14px!important;
  padding-bottom:14px!important;
  gap:18px!important;
}
.playerProfileCompact .fpcGoldIdentity{
  gap:7px!important;
}
.playerProfileCompact .fpcGoldInfoGrid{
  gap:6px!important;
  margin-top:8px!important;
  margin-bottom:8px!important;
}
.playerProfileCompact .fpcGoldInfo{
  padding:9px 12px!important;
  min-height:58px!important;
}
.playerProfileCompact .fpcGoldSection{
  margin-top:9px!important;
}
.playerProfileCompact .fpcGoldSection > header{
  padding:8px 12px!important;
}
.playerProfileCompact .fpcGoldPresentation{
  padding:10px 12px!important;
  min-height:0!important;
}
.playerProfileCompact .fpcGoldStats{
  gap:6px!important;
  padding:8px!important;
}
.playerProfileCompact .fpcGoldStats > div{
  padding:8px!important;
  min-height:52px!important;
}
.playerProfileCompact .fpcGoldDays{
  padding:8px 10px!important;
  gap:6px!important;
}
.playerProfileCompact .fpcGoldFooter{
  margin-top:10px!important;
  padding-top:8px!important;
}

/* Légère hausse de la lisibilité du profil */
.playerProfileCompact .fpcGoldInfo small,
.playerProfileCompact .fpcGoldSection header,
.playerProfileCompact .fpcGoldStats small{
  font-size:11px!important;
}
.playerProfileCompact .fpcGoldInfo strong,
.playerProfileCompact .fpcGoldStats strong{
  font-size:14px!important;
}
.playerProfileCompact .fpcGoldPresentation{
  font-size:14px!important;
  line-height:1.4!important;
}


/* ============================================================
   V7.10 — PROPOSITION DE RECRUTEMENT PRIORITAIRE
   ============================================================ */
.recruitmentPriorityAlert{
  display:grid;
  grid-template-columns:72px 1fr;
  gap:18px;
  align-items:center;
  margin:18px 0;
  padding:22px 24px;
  border:2px solid #d8b45d;
  background:#11120f;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
}
.recruitmentPriorityIcon{
  width:60px;
  height:60px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
  font-weight:1000;
  background:#d8b45d;
  color:#11120f;
}
.recruitmentPriorityBody .label{
  color:#e5be56;
  font-size:12px;
  letter-spacing:.13em;
}
.recruitmentPriorityBody h2{
  margin:4px 0 7px;
  color:#fff;
  font-size:24px;
}
.recruitmentPriorityBody p{
  color:#f3efe3;
  font-size:15px;
  margin:5px 0;
}
.recruitmentPriorityBody .muted{color:#cfc8b5!important}
.recruitmentPriorityActions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:16px;
}
.recruitmentAcceptBig,
.recruitmentRefuseBig{
  min-height:48px!important;
  padding:12px 18px!important;
  font-size:14px!important;
  font-weight:1000!important;
}
.playerAccountBar .hasPendingOffers{
  border-color:#d8b45d!important;
  box-shadow:inset 0 0 0 1px #d8b45d;
  font-weight:1000!important;
}
.recruitmentPanelAccept,
.recruitmentPanelRefuse{
  min-height:42px!important;
  margin-top:10px!important;
}
@media(max-width:700px){
  .recruitmentPriorityAlert{grid-template-columns:1fr;padding:18px}
  .recruitmentPriorityIcon{width:48px;height:48px;font-size:28px}
  .recruitmentPriorityBody h2{font-size:20px}
  .recruitmentPriorityActions>*{width:100%}
}


/* ============================================================
   V7.11 — STATISTIQUES : CARTES PROPRES ET COMPACTES
   ============================================================ */

/* Ne plus étirer toute une rangée à la hauteur de la carte la plus haute */
.statsSection .rankingGrid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:start!important;
  margin:18px 0 30px!important;
}

/* Carte nette, hauteur dictée par son contenu */
.statsSection .rankingCard{
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  align-self:start!important;
}

/* En-têtes homogènes : icône à gauche, titre lisible, aucun débordement */
.statsSection .rankingCard>header{
  min-height:68px!important;
  height:68px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  align-items:center!important;
  gap:10px!important;
  padding:10px 14px!important;
  overflow:hidden!important;
}
.statsSection .rankingCard>header>span{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  min-width:30px!important;
  font-size:20px!important;
  line-height:1!important;
}
.statsSection .rankingCard>header h3{
  min-width:0!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.18!important;
  letter-spacing:.7px!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.statsSection .nervousCard>header>div{
  min-width:0!important;
}
.statsSection .nervousCard>header small{
  display:block!important;
  margin-top:3px!important;
  color:#d5c49a!important;
  font-size:8.5px!important;
  line-height:1.1!important;
  letter-spacing:.55px!important;
}

/* États vides : plus de grandes plages blanches */
.statsSection .rankEmpty,
.statsSection .featuredEmpty{
  min-height:78px!important;
  height:auto!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px 12px!important;
  text-align:center!important;
  font-size:11px!important;
}

/* La carte Joueur à l'honneur ne force plus toute la rangée à 294px */
.statsSection .featuredPlayerCard{
  min-height:0!important;
  height:auto!important;
}
.statsSection .featuredPlayerBody{
  height:auto!important;
  min-height:0!important;
}

/* Listes remplies plus denses et mieux alignées */
.statsSection .rankingList{
  padding:5px 12px 9px!important;
}
.statsSection .rankRow{
  min-height:44px!important;
  grid-template-columns:26px minmax(0,1fr) auto!important;
  gap:7px!important;
}
.statsSection .rankPlayer strong{
  font-size:11px!important;
}
.statsSection .rankValue{
  font-size:17px!important;
}

/* Responsive : priorité à la lisibilité plutôt qu'à 4 colonnes trop étroites */
@media(max-width:1250px){
  .statsSection .rankingGrid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:680px){
  .statsSection .rankingGrid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .statsSection .rankingCard>header{
    height:auto!important;
    min-height:62px!important;
  }
}


/* V7.12 — pack d’icônes statistiques figé */
.statsSection .rankingCard>header .statIconBox{
  width:44px!important;height:44px!important;min-width:44px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  padding:0!important;border:1px solid #d9ad46!important;border-radius:6px!important;
  overflow:hidden!important;background:#0d0c09!important;box-shadow:0 0 10px rgba(217,173,70,.25)!important;
}
.statsSection .rankingCard>header .statIconBox.statIconRed{
  border-color:#df3030!important;box-shadow:0 0 10px rgba(223,48,48,.28)!important;
}
.statsSection .rankingCard>header .statIcon{
  width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;
}
.statsSection .rankingCard>header{grid-template-columns:44px minmax(0,1fr)!important;}

/* ============================================================
   V7.13 — BADGE GARDIEN PRINCIPAL + BIENVENUE PREMIERE CONNEXION
   ============================================================ */
.fpcPrimaryArchetypeValue{display:flex;align-items:center;gap:9px;min-width:0}
.fpcGoalkeeperBadge{
  width:34px;height:34px;flex:0 0 34px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #c8a653;background:#171612;border-radius:7px;overflow:hidden;
  box-shadow:0 0 0 1px rgba(255,255,255,.04),0 3px 10px rgba(0,0,0,.25)
}
.fpcGoalkeeperBadge img{width:100%;height:100%;object-fit:cover;display:block}

.fumaWelcomeOverlay{position:fixed;inset:0;z-index:99999;background:rgba(5,5,4,.76);backdrop-filter:blur(5px);display:grid;place-items:center;padding:20px}
.fumaWelcomeModal{position:relative;width:min(720px,96vw);max-height:90vh;overflow:auto;background:#f5f0e4;color:#171612;border:2px solid #c7a34d;box-shadow:0 24px 70px rgba(0,0,0,.55);padding:30px}
.fumaWelcomeModal:before{content:"";position:absolute;inset:8px;border:1px solid rgba(199,163,77,.42);pointer-events:none}
.fumaWelcomeClose{position:absolute;top:12px;right:14px;width:36px;height:36px;border-radius:50%;border:1px solid #b99b54;background:#171612;color:#e8cf8c;font-size:24px;line-height:1;cursor:pointer}
.fumaWelcomeModal .label{color:#8d6d25}
.fumaWelcomeModal h2{margin:7px 40px 6px 0;font-size:28px;letter-spacing:.03em}
.fumaWelcomeLead{margin:0 0 20px;color:#5b5548;font-weight:700}
.fumaWelcomeRules{display:grid;gap:8px;margin:18px 0}
.fumaWelcomeRules>div{display:grid;grid-template-columns:125px 1fr;gap:14px;align-items:start;padding:12px 14px;background:#fffdf8;border-left:4px solid #c7a34d}
.fumaWelcomeRules b{font-size:11px;letter-spacing:.08em;color:#171612}
.fumaWelcomeRules span{font-size:13px;line-height:1.4;color:#4d493f}
.fumaWelcomeActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.fumaWelcomeModal>small{display:block;margin-top:13px;color:#746d5e}
@media(max-width:620px){
 .fumaWelcomeModal{padding:24px 18px}.fumaWelcomeModal h2{font-size:22px}.fumaWelcomeRules>div{grid-template-columns:1fr;gap:4px}.fumaWelcomeActions>*{width:100%}
 .fpcGoalkeeperBadge{width:30px;height:30px;flex-basis:30px}
}


/* ============================================================
   V7.14 — PARTAGE PLANS / NOMS JOUEURS / ALERTE RECRUTEMENT
   ============================================================ */
.recruitmentPriorityIcon{
  animation:fumaRecruitPulse 1.15s ease-in-out infinite alternate;
}
@keyframes fumaRecruitPulse{
  0%{background:#0f4f32;color:#eafff2;box-shadow:0 0 0 0 rgba(43,181,108,.12),0 0 10px rgba(43,181,108,.15)}
  100%{background:#49c77f;color:#071d11;box-shadow:0 0 0 8px rgba(73,199,127,.10),0 0 22px rgba(73,199,127,.38)}
}
.matchPlanCard.private{border:1px dashed rgba(216,197,157,.45);background:rgba(20,19,16,.035)}
.matchPlanPrivateState{min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:7px;padding:14px}
.matchPlanPrivateState b{font-size:13px;letter-spacing:.08em;color:#544b3d}
.matchPlanPrivateState small{max-width:230px;color:var(--muted);line-height:1.35}
.matchPlanCard.shared{box-shadow:inset 0 0 0 1px rgba(76,164,104,.45),0 4px 14px rgba(0,0,0,.06)}
.planShareBtn{font-weight:900!important}
.sharedReadOnlyLabel{display:block;margin-top:6px;color:#3a7a50;font-weight:900;letter-spacing:.07em}
.planMemberInfo{margin-top:14px;border-left:4px solid #c6a85a}
/* Player names: visual harmony everywhere the dedicated player-name classes are used */
.rankPlayer strong,.fieldNameTag,.dragPlayer b,.featuredIdentity strong,.playerLink,.squadPlayerName,.rosterPlayerName,.callupPlayerName,.transferPlayerName,.offer h3{text-transform:uppercase!important}

/* V7.16 — accueil mercato : pas de répétition artificielle */
.homeMercatoTrack{animation:none!important;transform:none!important}


/* ============================================================
   V7.17 — DÉCONNEXION JOUEUR ACCESSIBLE
   ============================================================ */
.accountTopActions{
  position:sticky;
  top:8px;
  z-index:25;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0 0 16px;
  padding:12px 14px;
  border:1px solid rgba(216,180,93,.55);
  background:rgba(14,15,12,.96);
  box-shadow:0 8px 24px rgba(0,0,0,.22);
  backdrop-filter:blur(6px);
}
.accountTopIdentity{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}
.accountTopIdentity .label{
  font-size:10px;
  letter-spacing:.12em;
  color:#d8b45d;
}
.accountTopIdentity strong{
  color:#fff;
  font-size:14px;
  line-height:1.15;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.accountLogoutButton{
  min-width:170px;
  min-height:42px;
  padding:10px 18px;
  border:1px solid #a64848;
  background:#7f2e2e;
  color:#fff;
  font-weight:1000;
  font-size:12px;
  letter-spacing:.04em;
  cursor:pointer;
}
.accountLogoutButton:hover{
  background:#993838;
  border-color:#c96060;
}
@media(max-width:680px){
  .accountTopActions{
    top:4px;
    padding:10px;
  }
  .accountLogoutButton{
    min-width:0;
    padding:10px 12px;
    font-size:11px;
  }
}


/* ============================================================
   V7.19 — DATE DES PLANS PARTAGÉS LISIBLE CÔTÉ JOUEUR
   ============================================================ */
.matchPlanCard.shared .matchPlanDate{
  color:#17130d!important;
  background:#fff!important;
  border-color:#c9b98f!important;
  font-weight:1000!important;
}
.matchPlanCard.shared .matchPlanDate::before{
  color:#17130d!important;
}


/* ============================================================
   V7.20 — MODIFIER MON PROFIL : CARTE PREMIUM AUX COULEURS CLUB
   ============================================================ */
.profileEditPremium{
  position:relative;
  overflow:hidden;
  padding:0!important;
  border:1px solid color-mix(in srgb,var(--club1) 55%,#b99a54)!important;
  background:
    linear-gradient(145deg,
      color-mix(in srgb,var(--club1) 8%,#f7f3e9) 0%,
      #fbfaf6 38%,
      color-mix(in srgb,var(--club2) 8%,#ffffff) 70%,
      color-mix(in srgb,var(--club3) 7%,#f7f3e9) 100%)!important;
  box-shadow:0 18px 46px rgba(0,0,0,.14), inset 0 0 0 1px rgba(255,255,255,.75);
}
.profileEditPremium::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--club1),var(--club2),var(--club3));
}
.profileEditPremium::after{
  content:"";
  position:absolute;
  width:320px;height:320px;
  right:-110px;top:-130px;
  border-radius:50%;
  background:radial-gradient(circle,color-mix(in srgb,var(--club1) 14%,transparent),transparent 68%);
  pointer-events:none;
}
.profileEditHero{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:25px 30px 22px;
  border-bottom:1px solid color-mix(in srgb,var(--club1) 28%,#d7ccb2);
  background:
    linear-gradient(100deg,
      color-mix(in srgb,var(--club1) 12%,#fff) 0%,
      rgba(255,255,255,.80) 55%,
      color-mix(in srgb,var(--club2) 10%,#fff) 100%);
}
.profileEditHero h2{
  margin:3px 0 7px!important;
  font-size:28px!important;
  letter-spacing:.025em;
  color:#181610!important;
}
.profileEditHero p{
  margin:0;
  max-width:650px;
  color:#665d4e;
  font-size:12px;
  line-height:1.5;
}
.profileEditClubHead{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:190px;
  padding:9px 12px;
  border:1px solid color-mix(in srgb,var(--club1) 44%,#c6b78f);
  background:rgba(255,255,255,.74);
  box-shadow:inset 4px 0 0 var(--club1);
}
.profileEditClubHead img{
  width:45px;height:45px;object-fit:contain;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  padding:3px;
}
.profileEditClubHead>div{
  display:flex;flex-direction:column;gap:2px;
}
.profileEditClubHead .label{font-size:8px!important}
.profileEditClubHead strong{
  color:#242018;
  font-size:12px;
  letter-spacing:.05em;
}
.profileEditBody{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  padding:22px 28px 10px;
}
.profileEditSection{
  min-width:0;
  padding:18px;
  border:1px solid color-mix(in srgb,var(--club1) 20%,#ddd4c0);
  background:rgba(255,255,255,.72);
  box-shadow:0 5px 18px rgba(0,0,0,.045);
}
.profileEditSectionTitle{
  display:flex;
  align-items:center;
  gap:10px;
  margin:-2px 0 15px;
  padding-bottom:10px;
  border-bottom:1px solid color-mix(in srgb,var(--club1) 20%,#dfd8c9);
}
.profileEditSectionTitle>span{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 30px;
  width:30px;height:30px;
  border:1px solid color-mix(in srgb,var(--club1) 60%,#ad8d43);
  background:color-mix(in srgb,var(--club1) 10%,#f8f3e7);
  color:#725718;
  font-size:10px;
  font-weight:1000;
}
.profileEditSectionTitle>div{
  display:flex;flex-direction:column;gap:2px;
}
.profileEditSectionTitle b{
  color:#252118;
  font-size:11px;
  letter-spacing:.07em;
}
.profileEditSectionTitle small{
  color:#7a7060;
  font-size:9px;
}
.profileEditPremium label{
  color:#3e382d!important;
  font-weight:900!important;
}
.profileEditPremium input,
.profileEditPremium select,
.profileEditPremium textarea{
  border:1px solid color-mix(in srgb,var(--club1) 22%,#cec5b2)!important;
  background:rgba(255,255,255,.95)!important;
  color:#181610!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.03);
}
.profileEditPremium input:focus,
.profileEditPremium select:focus,
.profileEditPremium textarea:focus{
  border-color:color-mix(in srgb,var(--club1) 70%,#a7802d)!important;
  box-shadow:0 0 0 2px color-mix(in srgb,var(--club1) 12%,transparent)!important;
  outline:none;
}
.profileEditGrid,
.profileEditGameFields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px 14px;
}
.profileEditGameFields>label{min-width:0}
.profileEditAvatarRow{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
  padding:9px;
  border:1px solid color-mix(in srgb,var(--club1) 18%,#ddd4c0);
  background:color-mix(in srgb,var(--club1) 5%,#fff);
}
.profileEditAvatarRow .profileAvatar{
  width:72px!important;
  height:86px!important;
  object-fit:cover;
  margin:0!important;
  border:1px solid color-mix(in srgb,var(--club1) 35%,#c4b58c);
}
.profileEditAvatarRow>div{
  display:flex;flex-direction:column;gap:3px;
}
.profileEditAvatarRow b{
  font-size:13px;
  color:#242018;
}
.profileEditAvatarRow small{font-size:9px;color:#776e61}
.profileEditPremium .profileNotifyBox{
  margin:0!important;
  border-color:color-mix(in srgb,var(--club1) 22%,#d9d1be)!important;
  background:color-mix(in srgb,var(--club2) 5%,#fff)!important;
}
.profileEditAvailabilityLabel{
  display:block;
  margin-top:12px!important;
}
.profileEditActions{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:14px 28px 24px;
}
.profileEditActions .primary{
  min-width:260px;
  border-color:color-mix(in srgb,var(--club1) 65%,#9a7427)!important;
  box-shadow:inset 0 -2px 0 color-mix(in srgb,var(--club1) 45%,#6f561f);
}
.profileEditPremium .profileSaveStatus{
  margin:8px 28px 0;
}
@media(max-width:920px){
  .profileEditBody{grid-template-columns:1fr}
  .profileEditHero{align-items:flex-start;flex-direction:column}
  .profileEditClubHead{width:100%;box-sizing:border-box}
}
@media(max-width:620px){
  .profileEditHero{padding:20px 18px}
  .profileEditBody{padding:16px 18px 8px}
  .profileEditGrid,.profileEditGameFields{grid-template-columns:1fr}
  .profileEditActions{padding:12px 18px 20px;flex-direction:column}
  .profileEditActions .primary,.profileEditActions .mini{width:100%;min-width:0}
}


/* ============================================================
   V7.22 — MODIFIER MON PROFIL : CHAMPS PLUS PRÉSENTS / LÉGER RELIEF
   ============================================================ */
.profileEditPremium input,
.profileEditPremium select,
.profileEditPremium textarea{
  border:2px solid color-mix(in srgb,var(--club1) 30%,#bdb39f)!important;
  border-radius:4px;
  background:
    linear-gradient(180deg,#ffffff 0%,#fbfaf6 100%)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 0 -2px 3px rgba(0,0,0,.035),
    0 2px 4px rgba(0,0,0,.06)!important;
  transition:border-color .16s ease,box-shadow .16s ease,transform .12s ease;
}
.profileEditPremium input:hover,
.profileEditPremium select:hover,
.profileEditPremium textarea:hover{
  border-color:color-mix(in srgb,var(--club1) 46%,#a99568)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    inset 0 -2px 3px rgba(0,0,0,.045),
    0 3px 7px rgba(0,0,0,.08)!important;
}
.profileEditPremium input:focus,
.profileEditPremium select:focus,
.profileEditPremium textarea:focus{
  border-color:color-mix(in srgb,var(--club1) 74%,#8d6d29)!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.98),
    0 0 0 2px color-mix(in srgb,var(--club1) 13%,transparent),
    0 4px 10px rgba(0,0,0,.10)!important;
  transform:translateY(-1px);
}
.profileEditPremium label{
  font-weight:1000!important;
  letter-spacing:.015em;
}
.profileEditPremium .profileNotifyBox,
.profileEditPremium .profileEditSection{
  border-width:2px!important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.85),
    0 5px 14px rgba(0,0,0,.055)!important;
}
.profileEditPremium .profileEditSectionTitle{
  border-bottom-width:2px!important;
}
.profileEditPremium input[type="file"]{
  padding:9px!important;
}
.profileEditPremium textarea{
  min-height:96px;
}


/* ============================================================
   V7.24 — MODIFIER MON PROFIL : CHAMPS D'ÉCRITURE TRÈS VISIBLES
   ============================================================ */
.profileEditPremium{
  background:
    linear-gradient(145deg,
      color-mix(in srgb,var(--club1) 20%,#cfc3ae) 0%,
      #d8cdbb 42%,
      color-mix(in srgb,var(--club3) 16%,#cfc3ae) 100%)!important;
}
.profileEditHero{
  background:
    linear-gradient(100deg,
      color-mix(in srgb,var(--club1) 17%,#e0d5c3) 0%,
      #e8dece 58%,
      color-mix(in srgb,var(--club2) 13%,#ddd1bd) 100%)!important;
}
.profileEditSection,
.profileEditPremium .profileNotifyBox{
  background:rgba(235,228,215,.90)!important;
  border:2px solid color-mix(in srgb,var(--club1) 40%,#8f7b58)!important;
}
.profileEditPremium label{
  color:#17130d!important;
  font-weight:1000!important;
}
.profileEditPremium input,
.profileEditPremium select,
.profileEditPremium textarea{
  background:#ffffff!important;
  color:#0b0a08!important;
  border:2px solid #766a58!important;
  border-radius:4px!important;
  box-shadow:
    inset 0 1px 2px rgba(0,0,0,.08),
    0 2px 4px rgba(0,0,0,.10)!important;
}
.profileEditPremium input:hover,
.profileEditPremium select:hover,
.profileEditPremium textarea:hover{
  border-color:#4e4435!important;
  box-shadow:
    inset 0 1px 2px rgba(0,0,0,.09),
    0 3px 7px rgba(0,0,0,.13)!important;
}
.profileEditPremium input:focus,
.profileEditPremium select:focus,
.profileEditPremium textarea:focus{
  border-color:color-mix(in srgb,var(--club1) 72%,#3e331f)!important;
  box-shadow:
    inset 0 1px 2px rgba(0,0,0,.06),
    0 0 0 3px color-mix(in srgb,var(--club1) 24%,transparent),
    0 4px 9px rgba(0,0,0,.14)!important;
  outline:none!important;
}
.profileEditPremium input::placeholder,
.profileEditPremium textarea::placeholder{
  color:#756d63!important;
  opacity:1!important;
}
.profileEditPremium input[type="file"]{
  background:#fff!important;
  border:2px solid #766a58!important;
}
.profileEditPremium select{
  cursor:pointer;
}


/* V7.29 — Gazette : gestion claire des images */
.gazetteImageEditor{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:12px;
  border:2px solid rgba(0,0,0,.18);
  border-radius:8px;
  background:rgba(255,255,255,.72);
}
.gazetteCurrentImage{
  position:relative;
  min-height:120px;
  border:1px solid rgba(0,0,0,.2);
  background:#111;
  overflow:hidden;
  border-radius:6px;
}
.gazetteCurrentImage img{
  width:100%;
  height:160px;
  object-fit:cover;
  display:block;
}
.gazetteCurrentImage span{
  position:absolute;
  left:8px;
  bottom:8px;
  padding:4px 7px;
  font-size:11px;
  font-weight:900;
  background:rgba(0,0,0,.75);
  color:#fff;
}
.gazetteNoCurrentImage{
  display:grid;
  place-items:center;
  min-height:90px;
  border:2px dashed rgba(0,0,0,.2);
  font-weight:900;
  opacity:.55;
}
.gazetteFileLabel{
  font-weight:900;
}
.gazetteDeleteImage{
  display:flex!important;
  flex-direction:row!important;
  align-items:center;
  gap:8px;
  padding:7px 9px;
  border:1px solid rgba(130,0,0,.35);
  background:rgba(150,0,0,.06);
}
.gazetteDeleteImage input{
  width:auto!important;
  margin:0!important;
}


/* V7.30 — accueil Gazette réellement dynamique */
.homeGazetteLatest{
  width:100%;
  min-height:150px;
  display:grid;
  grid-template-columns:minmax(125px,34%) 1fr;
  gap:14px;
  align-items:stretch;
  text-align:left;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.18);
  border-radius:8px;
  background:rgba(255,255,255,.72);
  color:inherit;
  cursor:pointer;
}
.homeGazetteLatest:hover{transform:translateY(-1px);box-shadow:0 7px 17px rgba(0,0,0,.12)}
.homeGazetteLatest.hasNew{border:2px solid #b48a32;box-shadow:0 0 0 2px rgba(180,138,50,.10)}
.homeGazetteLatestImage{width:100%;height:100%;min-height:150px;object-fit:cover;display:block}
.homeGazetteLatestBody{display:flex;flex-direction:column;justify-content:center;gap:7px;padding:14px 14px 14px 0}
.homeGazetteLatestBody strong{font-size:clamp(18px,2vw,28px);line-height:1.02;font-weight:1000}
.homeGazetteLatestBody small{font-size:13px;line-height:1.35;opacity:.78}
.homeGazetteMeta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.homeGazetteMeta b{font-size:10px;letter-spacing:.08em;padding:4px 7px;border-radius:999px;background:#b48a32;color:#111}
.homeGazetteMeta i{font-style:normal;font-size:11px;font-weight:900;opacity:.68}
@media(max-width:700px){
 .homeGazetteLatest{grid-template-columns:1fr}
 .homeGazetteLatestImage{height:170px}
 .homeGazetteLatestBody{padding:12px}
}


/* V7.31 — Gazette : lisibilité accueil + entête éditorial + suppression explicite */
.homeGazetteLatest{
  position:relative;
  background:#171512!important;
  border-color:#a67c27!important;
}
.homeGazetteLatest::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(10,9,7,.04) 0%,rgba(10,9,7,.55) 36%,rgba(10,9,7,.91) 100%);
}
.homeGazetteLatestImage{
  position:relative;
  z-index:0;
}
.homeGazetteLatestBody{
  position:relative;
  z-index:2;
  padding-right:18px!important;
}
.homeGazetteLatestBody strong{
  color:#fff8e7!important;
  text-shadow:0 2px 3px rgba(0,0,0,.9);
}
.homeGazetteLatestBody small{
  color:#e7d9bd!important;
  opacity:1!important;
  text-shadow:0 1px 2px rgba(0,0,0,.85);
}
.homeGazetteMeta i{
  color:#d5b56b!important;
  opacity:1!important;
  text-shadow:0 1px 2px rgba(0,0,0,.9);
}
.homeGazetteMeta b{
  background:#c69220!important;
  color:#100d07!important;
  box-shadow:0 1px 2px rgba(0,0,0,.35);
}

.gazetteMasthead{
  margin-bottom:16px;
  padding:14px 18px 11px;
  background:#f4eee2;
  border:2px solid #15120d;
  box-shadow:0 5px 14px rgba(0,0,0,.10);
}
.gazetteMastheadBrand{
  font-size:clamp(28px,4vw,52px);
  line-height:.9;
  font-weight:1000;
  letter-spacing:-.045em;
  color:#111;
}
.gazetteMastheadRule{
  height:5px;
  margin:10px 0 6px;
  background:#111;
}
.gazetteMastheadSub{
  font-size:14px;
  font-weight:1000;
  letter-spacing:.22em;
  color:#8c6a25;
}

.gazetteRemoveImageBtn{
  width:100%;
  margin-top:2px;
  font-weight:1000!important;
}


/* V7.32 — vraie feuille de rédaction Gazette */
.gazetteEditorMasthead{
  margin:-4px -4px 18px;
  padding:16px 18px 12px;
  background:#f4eee2;
  border:2px solid #14110c;
  box-shadow:0 5px 14px rgba(0,0,0,.11);
}
.gazetteEditorBrand{
  font-size:clamp(30px,4vw,50px);
  line-height:.9;
  font-weight:1000;
  letter-spacing:-.045em;
  color:#111;
}
.gazetteEditorRule{
  height:5px;
  margin:10px 0 6px;
  background:#111;
}
.gazetteEditorSub{
  font-size:13px;
  font-weight:1000;
  letter-spacing:.24em;
  color:#8b6923;
}
.gazetteEditorTitleRow{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin-bottom:14px;
}
.gazetteEditorTitleRow h2{margin:.2rem 0 0}
.gazetteEditorTitleRow small{font-weight:800;opacity:.65}
.gazetteImagesTitle{
  margin-top:8px;
  padding-top:14px;
  border-top:2px solid rgba(0,0,0,.16);
}
.gazetteImagesTitle p{margin:.25rem 0 .8rem;opacity:.72}
.gazetteImageEditor{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px;
  border:2px solid rgba(0,0,0,.24);
  border-radius:8px;
  background:rgba(255,255,255,.82);
}
.gazetteImageEditorHead{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
}
.gazetteImageEditorHead b{font-weight:1000}
.gazetteImageEditorHead span{font-size:10px;font-weight:900;opacity:.58}
.gazetteCurrentImage{
  min-height:135px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:2px dashed rgba(0,0,0,.18);
  border-radius:6px;
  background:#eee9df;
}
.gazetteCurrentImage.hasImage{
  border-style:solid;
  background:#111;
}
.gazetteCurrentImage img{
  width:100%;
  height:180px;
  object-fit:cover;
  display:block;
}
.gazetteNoCurrentImage{
  padding:20px;
  text-align:center;
  font-weight:900;
  opacity:.55;
}
.gazetteImageButtons{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}
.gazettePickImageBtn{
  position:relative;
  overflow:hidden;
  display:flex!important;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  font-weight:1000!important;
}
.gazettePickImageBtn input{
  position:absolute!important;
  inset:0;
  opacity:0;
  cursor:pointer;
}
.gazetteImageButtons .danger{
  font-weight:1000!important;
}
@media(max-width:700px){
 .gazetteEditorTitleRow{align-items:flex-start;flex-direction:column}
 .gazetteImageButtons{grid-template-columns:1fr}
}


/* V7.34 — plans de jeu : un seul terrain, un plan sélectionné */
.planSelectorGrid .planSelectCard{
  appearance:none;
  width:100%;
  text-align:left;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.planSelectorGrid .planSelectCard.selected{
  border:3px solid var(--club-secondary,#d8c59d)!important;
  box-shadow:0 0 0 3px rgba(0,0,0,.08),0 8px 18px rgba(0,0,0,.12);
  transform:translateY(-2px);
}
.planSelectorGrid .planSelectCard i{
  align-self:flex-start;
  padding:4px 7px;
  border-radius:999px;
  background:#111;
  color:#fff4d8;
  font-style:normal;
  font-size:10px;
  font-weight:1000;
  letter-spacing:.05em;
}
.activePlanToolbar{
  display:grid;
  grid-template-columns:minmax(190px,1.2fr) minmax(150px,.8fr) minmax(180px,.8fr);
  gap:12px;
  align-items:end;
  margin:16px 0;
}
.activePlanToolbar h3{margin:.25rem 0 0}
.activePlanActions{
  grid-column:1/-1;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.planSingleWorkspace{
  margin-top:0!important;
}
.readOnlyWorkspace{
  margin-top:16px;
}
.savedLineupList{
  display:grid;
  gap:7px;
  margin-bottom:10px;
}
.savedLineupList .savedLineup{
  width:100%;
  display:grid;
  grid-template-columns:1fr auto;
  text-align:left;
  gap:2px 8px;
  align-items:center;
}
.savedLineupList .savedLineup b{grid-column:1}
.savedLineupList .savedLineup small{grid-column:1;opacity:.65}
.savedLineupList .savedLineup span{
  grid-column:2;
  grid-row:1/3;
  font-size:10px;
  font-weight:1000;
}
#matchPlanPreview{display:none!important}
@media(max-width:800px){
 .activePlanToolbar{grid-template-columns:1fr}
 .activePlanActions{grid-column:auto}
}

/* V7.37 — Plans de jeu minimal et robuste */
.simplePlanSelector{
 display:flex;
 gap:8px;
 flex-wrap:wrap;
 margin:0 0 14px;
}
.simplePlanSelector .active{
 outline:3px solid var(--club-secondary,#d8c59d);
 font-weight:1000;
}
.simplePlanCard{margin-top:12px}
.planErrorCard{
 border:2px solid #8d1f1f;
 background:#fff3f1;
}

/* V7.39 direct plans */
.simplePlanSelector{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.simplePlanSelector .active{outline:3px solid var(--club-secondary,#d8c59d);font-weight:1000}

/* V7.42 — Convocations : lisibilite et contraste */
.clubCallupCard{
  background:#11120f!important;
  border:1px solid #d7b95b!important;
  color:#f0e7cf!important;
}
.clubCallupCard .label{
  color:#c9a846!important;
  letter-spacing:.18em;
}
.clubCallupCard h3{
  color:#f4eedf!important;
  font-weight:1000;
}
.clubCallupCard>p,
.clubCallupCard .callupChooser>small{
  color:#d8cfba!important;
}
.callupActions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.callupActions .mini{
  color:#f4eedf!important;
  background:#1b1b17!important;
  border:1px solid #9c8650!important;
  font-weight:900!important;
}
.callupRoster{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:8px;
  margin:12px 0;
}
.callupRoster label{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:42px;
  padding:8px 10px!important;
  background:#151713!important;
  border:1px solid #6f6548!important;
  color:#f4eedf!important;
  font-weight:900!important;
  cursor:pointer;
}
.callupRoster label b{
  color:#f4eedf!important;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.callupRoster label:has(input:checked){
  background:#112419!important;
  border-color:#d7b95b!important;
  box-shadow:inset 0 0 0 1px rgba(96,210,102,.18);
}
.callupRoster input[type="checkbox"]{
  width:18px;
  height:18px;
  accent-color:#69d36f;
  flex:0 0 auto;
}
.callupChooser>.primary{
  width:100%;
  min-height:44px;
  font-weight:1000;
}
@media(max-width:700px){
  .callupRoster{grid-template-columns:1fr}
}

/* V7.43 — Convocation Express : contraste force */
.clubCallupCard{padding:22px!important}
.clubCallupCard .callupRoster label{
  min-height:46px!important;
  border:1px solid #c8aa4f!important;
  border-radius:4px!important;
  background:#111512!important;
}
.clubCallupCard .callupRoster label:has(.callupPlayerCheck:checked){
  background:#0e2a1a!important;
  border-color:#e1c15d!important;
}
.clubCallupCard .callupPlayerCheck{
  width:19px!important;height:19px!important;
  accent-color:#65d46f!important;
}
.clubCallupCard .callupActions .mini{
  color:#f4eedf!important;
  border-color:#a68d52!important;
}
.clubCallupCard .callupChooser>.primary{
  color:#fff!important;
}

/* V7.44 — Convocation : uniquement le nom joueur en blanc */
.clubCallupCard .callupRoster label b,
.clubCallupCard .callupRoster label b *{
  color:#ffffff!important;
  opacity:1!important;
  filter:none!important;
}

/* V7.47 — Reponses convocations visibles dans le club */
.callupSummary{display:grid;gap:12px}
.callupSummaryTop{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.callupResponseList{display:grid;gap:6px;margin-top:4px}
.callupResponseRow{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 10px;border:1px solid #5f5843;background:#151612
}
.callupResponseRow b{color:#fff!important;font-weight:1000}
.callupResponseRow span{font-weight:1000;font-size:12px}
.callupResponseRow.present{border-color:#4f9d63;background:#102519}
.callupResponseRow.present span{color:#8ee69a!important}
.callupResponseRow.unavailable{border-color:#9c4b4b;background:#2a1212}
.callupResponseRow.unavailable span{color:#ff9b9b!important}
.callupResponseRow.pending span{color:#d8cfba!important}

/* V7.47 — Numero maillot discret a droite sous la manche */
.numberedKit{position:relative!important;display:inline-block!important}
.numberedKit>strong.kitNumberSide{
  position:absolute!important;
  top:33%!important;
  right:-10px!important;
  left:auto!important;
  transform:none!important;
  z-index:4!important;
  min-width:18px!important;
  padding:2px 4px!important;
  border-radius:5px!important;
  background:rgba(15,15,14,.88)!important;
  border:1px solid #d8c59d!important;
  color:#f4eedf!important;
  font:900 12px/1 Arial,Helvetica,sans-serif!important;
  text-align:center!important;
  text-shadow:none!important;
  box-shadow:0 1px 2px rgba(0,0,0,.45)!important;
}
.numberedKit.small>strong.kitNumberSide{
  top:31%!important;
  right:-7px!important;
  min-width:14px!important;
  padding:1px 3px!important;
  font-size:9px!important;
}
.fieldPlayer .numberedKit>strong.kitNumberSide{
  top:29%!important;
  right:-12px!important;
  font-size:11px!important;
}

/* V7.48 — Nom joueur parfaitement lisible dans le suivi de convocation */
.callupResponseRow{
  display:grid!important;
  grid-template-columns:minmax(180px,1fr) auto!important;
  align-items:center!important;
  column-gap:18px!important;
}
.callupResponseRow>b{
  color:#ffffff!important;
  opacity:1!important;
  filter:none!important;
  text-shadow:none!important;
  font-weight:1000!important;
  letter-spacing:.02em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.callupResponseRow>span{
  justify-self:end!important;
  white-space:nowrap!important;
  margin-left:0!important;
}

/* V7.49 — Moyen de diffusion conseille + aide YouTube */
.broadcastHelpLink{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:8px;
  width:max-content;
  max-width:100%;
  padding:7px 10px;
  border:1px solid #b99b4b;
  background:#161713;
  color:#f4eedf!important;
  font-size:11px;
  font-weight:1000;
  letter-spacing:.03em;
  text-decoration:none!important;
}
.broadcastHelpLink:before{content:'▶';color:#e23b35}
.broadcastHelpLink:hover{
  background:#20211b;
  border-color:#e1c15d;
}

/* V7.50 — Gazette : images toujours entieres + suppression visible */
/* Toutes les images éditoriales de la Gazette privilégient l'image entière plutôt que le recadrage. */
.homeGazetteLatestImage,
.gazetteCard>img,
.gazetteHero img,
.gazetteImages img,
.gazetteCurrentImage img{
  object-fit:contain!important;
  object-position:center center!important;
  background:#111!important;
}
.homeGazetteLatestImage{
  padding:4px!important;
  box-sizing:border-box!important;
}
.gazetteCard>img{
  height:315px!important;
  padding:6px!important;
  box-sizing:border-box!important;
}
.gazetteHero img{
  max-height:none!important;
  height:auto!important;
}
.gazetteImages img{
  height:auto!important;
  min-height:180px!important;
  max-height:520px!important;
}
.template-gallery .gazetteImages img:first-child{
  height:auto!important;
  max-height:620px!important;
}
.gazetteCardDelete{
  display:block!important;
  width:100%!important;
  margin-top:14px!important;
  border-color:#9b3d34!important;
  color:#ffd9d2!important;
  background:#321411!important;
  font-weight:1000!important;
}
.gazetteCardDelete:hover{background:#4a1b16!important}

/* V7.51 — Accueil : états système contenus dans leurs panneaux */
.homePanel{
  overflow:hidden!important;
  box-sizing:border-box!important;
}
.homeUpcomingPanel>.homeEmpty,
.homeStandingPanel>.homeEmpty{
  display:flex!important;
  align-items:center!important;
  min-height:52px!important;
  margin:10px 12px 12px!important;
  padding:10px 12px!important;
  box-sizing:border-box!important;
  position:relative!important;
  z-index:2!important;
  line-height:1.35!important;
  max-width:calc(100% - 24px)!important;
  overflow:hidden!important;
  white-space:normal!important;
}
.homeUpcomingPanel>.homeEmpty{
  background:rgba(5,9,11,.48)!important;
}
.homeStandingPanel>.homeEmpty{
  background:rgba(4,7,8,.48)!important;
}
.homeUpcomingPanel .homePanelHead,
.homeStandingPanel .homePanelHead{
  position:relative!important;
  z-index:3!important;
  flex:0 0 auto!important;
}

/* V7.52 — joueurs deja convoques non re-sollicitables tant que la convocation est active */
.callupRoster label.alreadyCalled{
  opacity:.52!important;
  filter:grayscale(.55)!important;
  cursor:not-allowed!important;
  background:#171817!important;
  border-color:#5a5547!important;
}
.callupRoster label.alreadyCalled b{
  color:#bdb9ae!important;
}
.callupRoster label.alreadyCalled small{
  margin-left:auto!important;
  color:#c8c0ad!important;
  font-size:10px!important;
  font-weight:1000!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
}
.callupRoster label.alreadyCalled:has(input:checked){
  background:#171817!important;
  border-color:#5a5547!important;
}

/* V7.53 — Navigation rubriques club optimisee telephone uniquement */
.mobileClubTabSelector{display:none}

@media(max-width:760px){
  .desktopClubTabs{
    display:none!important;
  }
  .mobileClubTabSelector{
    display:grid!important;
    gap:6px!important;
    margin:12px 0 14px!important;
    padding:10px 12px!important;
    background:#11120f!important;
    border:1px solid #d8c59d!important;
    box-sizing:border-box!important;
    width:100%!important;
  }
  .mobileClubTabSelector>span{
    color:#c9a846!important;
    font-size:10px!important;
    font-weight:1000!important;
    letter-spacing:.14em!important;
  }
  .mobileClubTabSelector select{
    width:100%!important;
    min-height:44px!important;
    padding:10px 12px!important;
    background:#f5f1e7!important;
    color:#111!important;
    border:1px solid #a98f52!important;
    font-weight:1000!important;
    font-size:14px!important;
  }
}

/* V7.55 — rupture de contrat par le capitaine */
.stopContractBtn{margin-top:6px!important;width:max-content!important;max-width:100%!important;font-size:9px!important;letter-spacing:.04em!important}
@media(max-width:760px){.stopContractBtn{width:100%!important}}

/* V7.56 — joueur libre : accès clair au circuit de candidature */
.freePlayerApplicationShortcut{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,40%);
  gap:16px;
  align-items:center;
  margin:14px 0;
  padding:15px 16px;
  border:1px solid #c9a846;
  background:linear-gradient(135deg,#171813,#0d0f0d);
  box-shadow:inset 4px 0 0 #c9a846;
}
.freePlayerApplicationShortcut h3{margin:4px 0 6px;color:#f4eedf!important}
.freePlayerApplicationShortcut p{margin:0;color:#d9d1bf!important}
.freePlayerApplicationAction{display:grid;gap:8px}
.freePlayerApplicationAction select{width:100%;min-height:42px;background:#f5f1e7;color:#111;border:1px solid #b89b4b;font-weight:900}
.freePlayerApplicationAction .primary{margin:0}
@media(max-width:760px){
  .freePlayerApplicationShortcut{grid-template-columns:1fr}
}

/* V7.57 — candidature : zone de message plus lisible */
.clubApplicationForm textarea{
  font-size:16px!important;
  line-height:1.45!important;
  min-height:96px!important;
  padding:12px 14px!important;
  font-weight:600!important;
}
@media(max-width:760px){
  .clubApplicationForm textarea{
    font-size:16px!important;
    min-height:110px!important;
  }
}

/* V7.59 — suivi recrutement : ne pas afficher les anciens contrats terminés */

/* V7.62 — le joueur gère lui-même son ouverture au recrutement */
.profileRecruitmentChoice{
  grid-column:1/-1;
  padding:12px 14px!important;
  border:1px solid rgba(201,168,70,.55)!important;
  background:rgba(18,19,15,.92)!important;
}
.profileRecruitmentChoice select{
  margin-top:6px!important;
  font-weight:1000!important;
}
.profileRecruitmentChoice small{
  display:block!important;
  margin-top:7px!important;
  color:#d9d1bf!important;
  line-height:1.35!important;
}
\n/* V7.63 — visibilité des réglages FC 27 */\n.fc27ConsoleGrid{align-items:start!important}\n.gameplayAdminRules{order:1!important}\n.visualAdminRules{order:2!important}\n.fc27RulesShortcut{white-space:nowrap!important}\n@media(max-width:760px){\n .fc27ConsoleGrid{display:flex!important;flex-direction:column!important}\n .gameplayAdminRules,.visualAdminRules{width:100%!important}\n .clubCompetitionRow>div:last-child{display:flex!important;flex-wrap:wrap!important;gap:6px!important}\n}\n
/* V7.65 — bouton mot de passe uniforme Chrome / Edge / Firefox / mobile */
.fumaPasswordField{
  position:relative!important;
  display:flex!important;
  align-items:stretch!important;
  gap:8px!important;
  width:100%!important;
}
.fumaPasswordField input[type="password"],
.fumaPasswordField input[type="text"]{
  flex:1 1 auto!important;
  min-width:0!important;
}
.fumaPasswordToggle{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:92px!important;
  min-height:42px!important;
  padding:0 12px!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  position:relative!important;
  z-index:3!important;
  white-space:nowrap!important;
}
.fumaPasswordField input::-ms-reveal,
.fumaPasswordField input::-ms-clear{
  display:none!important;
}
@media (max-width:760px){
  .fumaPasswordField{gap:6px!important;}
  .fumaPasswordToggle{
    min-width:84px!important;
    padding:0 9px!important;
  }
}

/* V7.66 — sélecteur de langue produit */
.betaLang{
  display:inline-flex!important;
  align-items:center!important;
  gap:5px!important;
  padding:3px 6px!important;
  border:1px solid rgba(216,197,157,.45)!important;
  border-radius:8px!important;
  background:rgba(10,10,10,.5)!important;
}
.betaLang select{
  min-width:58px!important;
  font-weight:900!important;
  letter-spacing:.04em!important;
}

/* V7.67 — traduction renforcée : labels longs et textes d'aide */
.projectCard .projectLead,.projectCard li,.authorityCard p,.projectIntro p,.authorityOrgTitle p{
  text-wrap:pretty;
}

/* V7.68 — traduction rendue à la source, sans dépendre du navigateur DOM */
.projectCard h3,.projectCard .projectLead,.projectCard li,.authorityCard *{
  hyphens:auto;
}

/* V7.82 — libellés dynamiques sur la bannière compétition.
   Les images restent inchangées ; les textes français intégrés sont masqués par des labels UI traduits. */
.competitionHeroTitleOverlay{
  position:absolute;z-index:7;right:1.2%;top:5.2%;width:19.5%;height:13.5%;
  display:flex;align-items:center;justify-content:center;box-sizing:border-box;
  background:#080a09;color:#f5f5f5;border-bottom:1px solid rgba(221,178,55,.55);
  font-size:clamp(16px,2.25vw,40px);font-weight:1000;line-height:1;
  letter-spacing:.01em;text-align:center;text-transform:uppercase;
  text-shadow:0 2px 5px #000;
}
.competitionHeroSeasonLabel{
  position:absolute;z-index:7;right:5.0%;top:55.5%;width:12.8%;height:6.8%;
  display:flex;align-items:center;justify-content:center;box-sizing:border-box;
  background:#080a09;color:#f2eee6;
  font-size:clamp(8px,.82vw,16px);font-weight:800;line-height:1;
  letter-spacing:.22em;text-align:center;text-transform:uppercase;
}
.competitionHeroStatsPanel small{
  background:rgba(5,7,6,.96);
  padding:2px 3px;
}
@media(max-width:900px){
  .competitionHeroTitleOverlay,.competitionHeroSeasonLabel{display:none!important}
}

.generalRulesPublic p{white-space:pre-line;line-height:1.55;margin:10px 0 0}
.fc27GlobalForm textarea[name="generalRules"]{min-height:170px;resize:vertical}

/* V7.89 — Gazette responsive: no clipping of introduction and action. */
.gazettePage{width:100%;max-width:1240px;margin-inline:auto;min-width:0;overflow:visible;padding-inline:clamp(12px,2vw,24px)}
.gazettePage .gazetteTop{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;min-width:0}
.gazettePage .gazetteTop>div{flex:1 1 320px;min-width:0}
.gazettePage .gazetteTop p{margin:0;white-space:normal;overflow-wrap:anywhere;max-width:100%;text-indent:0;transform:none}
.gazettePage .gazetteTop .primary{flex:0 0 auto;max-width:100%;white-space:normal}
@media(max-width:700px){.gazettePage .gazetteTop{align-items:stretch;flex-direction:column}.gazettePage .gazetteTop>div{flex:0 1 auto}.gazettePage .gazetteTop .primary{align-self:flex-start}}

/* V7.91 — logo officiel accueil, modification ciblée de l'en-tête seulement. */
header > .brand > .fpcHeaderLogo {
  display:block;
  width:58px;
  height:58px;
  min-width:58px;
  flex:0 0 58px;
  object-fit:contain;
  background:transparent;
  filter:drop-shadow(0 1px 3px rgba(218,185,107,.20));
}
@media (max-width:550px) {
  header > .brand > .fpcHeaderLogo{width:52px;height:52px;min-width:52px;flex-basis:52px}
}

/* V7.92 — 7 fonds compétition nettoyés : aucun libellé français incrusté. */

/* V7.93 — CONTRASTE RÈGLEMENT (lecture publique seulement) :
   priorité sur les anciennes couleurs globales de .card, sans toucher l'admin. */
.card.fc27SharedReadOnly .fc27SharedHead{opacity:1!important;filter:none!important;}
.card.fc27SharedReadOnly .fc27SharedHead .label{
  color:#eac25c!important;-webkit-text-fill-color:#eac25c!important;opacity:1!important;
}
.card.fc27SharedReadOnly .fc27SharedHead h2{
  color:#fffaf0!important;-webkit-text-fill-color:#fffaf0!important;opacity:1!important;
  text-shadow:0 2px 5px #000!important;
}
.card.fc27SharedReadOnly .fc27SharedHead p.muted{
  color:#e2dac8!important;-webkit-text-fill-color:#e2dac8!important;opacity:1!important;
  text-shadow:0 1px 3px #000!important;
}

/* V7.93 — COMPÉTITIONS : titres traduits contenus dans le cartouche de droite.
   Les sept fonds V7.92, leur rotation et les traductions JS sont conservés. */
.competitionHeroTitleOverlay{
  right:1.25%!important;width:19.15%!important;max-width:19.15%!important;
  padding:0 6px!important;box-sizing:border-box!important;
  font-size:clamp(12px,1.57vw,26px)!important;line-height:1.05!important;
  letter-spacing:-.025em!important;white-space:nowrap!important;
  overflow:hidden!important;text-overflow:ellipsis!important;
}
.competitionHeroSeasonLabel{
  right:5.1%!important;width:12.7%!important;padding:0 3px!important;
  box-sizing:border-box!important;font-size:clamp(8px,.75vw,13px)!important;
  letter-spacing:.10em!important;white-space:nowrap!important;
  overflow:hidden!important;text-overflow:ellipsis!important;
}
.competitionHeroStatsPanel{min-width:0!important;}
.competitionHeroStat{min-width:0!important;padding:2px 1px!important;}
.competitionHeroStat small{
  max-width:98%!important;min-width:0!important;
  font-size:clamp(7px,.51vw,10px)!important;line-height:1.08!important;
  letter-spacing:0!important;white-space:normal!important;
  overflow-wrap:break-word!important;word-break:normal!important;
  text-align:center!important;
}

/* V7.94 — étiquette informative Gazette, sans impact sur les autres modules. */
.gazetteTranslationNotice{display:block;margin:8px 0;font-size:12px;font-weight:650;color:#d8bc75;}


/* V7.97 — ACCUEIL : meilleure composition de la vignette Gazette, sans toucher aux articles. */
.homeGazettePanel{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
}
.homeGazettePanel > .homePanelHead{flex:0 0 auto!important}
.homeGazettePanel .homeGazetteLatest{
  flex:1 1 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,31%) minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  width:calc(100% - 16px)!important;
  min-height:0!important;
  max-height:100%!important;
  margin:7px 8px 9px!important;
  padding:5px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
.homeGazettePanel .homeGazetteLatestImage{
  align-self:center!important;
  width:100%!important;
  height:clamp(76px,9.5vw,132px)!important;
  max-height:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:4px!important;
  object-fit:contain!important;
  object-position:center center!important;
}
.homeGazettePanel .homeGazetteLatestBody{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:5px!important;
  min-width:0!important;
  min-height:0!important;
  padding:7px 8px 7px 0!important;
  overflow:hidden!important;
}
.homeGazettePanel .homeGazetteMeta{min-width:0!important;gap:4px!important}
.homeGazettePanel .homeGazetteMeta i{
  display:block!important;
  max-width:100%!important;
  font-size:clamp(8px,.72vw,10px)!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.homeGazettePanel .homeGazetteLatestBody strong{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
  overflow:hidden!important;
  font-size:clamp(14px,1.2vw,19px)!important;
  line-height:1.13!important;
  overflow-wrap:anywhere!important;
  letter-spacing:-.015em!important;
}
.homeGazettePanel .homeGazetteLatestBody small{
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:3!important;
  overflow:hidden!important;
  font-size:clamp(10px,.84vw,12px)!important;
  line-height:1.33!important;
  overflow-wrap:anywhere!important;
}
/* Le dégradé assombrit le texte sans recouvrir le logo de la vignette. */
.homeGazettePanel .homeGazetteLatest::after{
  background:linear-gradient(90deg,transparent 0%,rgba(10,9,7,.28) 30%,rgba(10,9,7,.90) 100%)!important;
}

/* V7.97 — INDEX MOBILE VERTICAL : navigation existante, sans réacheminement. */
.fpcMobileNavToggle{display:none}
@media (max-width:760px){
  header{
    position:sticky!important;
    top:0!important;
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    gap:8px!important;
    height:auto!important;
    min-height:66px!important;
    padding:8px 12px!important;
    z-index:1000!important;
  }
  header .brand{order:0!important;flex:1 1 auto!important;min-width:0!important;width:auto!important}
  header .brand b{font-size:clamp(11px,3.2vw,15px)!important}
  .fpcMobileNavToggle{
    display:inline-flex!important;
    order:1!important;
    flex:0 0 auto!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    min-height:42px!important;
    padding:8px 13px!important;
    border:1px solid #d8b45d!important;
    border-radius:7px!important;
    background:#171810!important;
    color:#f1d27c!important;
    font-size:12px!important;
    font-weight:900!important;
    letter-spacing:.07em!important;
  }
  .fpcMobileNavToggle[aria-expanded="true"]{background:#3b311d!important;color:#fff!important}
  header .headerTools{order:2!important;width:100%!important;justify-content:flex-start!important;min-width:0!important;gap:6px!important;margin-left:0!important}
  header .headerTools .fumaAuthAdminTag{margin-left:auto!important}
  header nav#nav{
    display:none!important;
    position:absolute!important;
    order:3!important;
    left:8px!important;
    right:8px!important;
    top:calc(100% - 1px)!important;
    width:auto!important;
    max-height:calc(100dvh - 120px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    flex-direction:column!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    gap:0!important;
    padding:7px!important;
    border:1px solid #a78b4e!important;
    border-radius:0 0 9px 9px!important;
    background:#111410!important;
    box-shadow:0 16px 34px #000c!important;
    z-index:1001!important;
  }
  body.fpcMobileNavOpen header nav#nav{display:flex!important}
  header nav#nav button{
    width:100%!important;
    min-height:44px!important;
    display:block!important;
    flex:0 0 auto!important;
    margin:0!important;
    padding:11px 14px!important;
    border:0!important;
    border-bottom:1px solid #51462c!important;
    border-radius:0!important;
    background:transparent!important;
    color:#efeee5!important;
    text-align:left!important;
    font-size:13px!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
  }
  header nav#nav button:last-child{border-bottom:0!important}
  header nav#nav button.active{
    color:#f9d27a!important;
    background:#30291b!important;
    border-left:3px solid #deb957!important;
  }
  .homeGazettePanel .homeGazetteLatest{
    grid-template-columns:minmax(0,30%) minmax(0,1fr)!important;
    min-height:154px!important;
  }
  .homeGazettePanel .homeGazetteLatestImage{height:112px!important}
  .homeGazettePanel .homeGazetteLatestBody strong{font-size:clamp(15px,3.6vw,19px)!important}
  .homeGazettePanel .homeGazetteLatestBody small{font-size:12px!important}
}
@media (max-width:390px){
  header .headerTools .fumaAuthAdminTag{display:inline-flex!important;max-width:100%!important}
  .fpcMobileNavToggle{min-height:40px!important;padding:7px 10px!important}
  .homeGazettePanel .homeGazetteLatest{grid-template-columns:95px minmax(0,1fr)!important;gap:5px!important}
  .homeGazettePanel .homeGazetteLatestImage{height:95px!important}
  .homeGazettePanel .homeGazetteLatestBody{padding:5px 4px 5px 0!important}
  .homeGazettePanel .homeGazetteLatestBody small{-webkit-line-clamp:2!important}
}

/* V7.100 — Console de gestion des packs de bannières par compétition, Admin 1 */
.fpcBannerAdmin{margin-top:26px;display:grid;gap:14px;border:1px solid #bea66e;background:linear-gradient(155deg,#25221b,#121416);color:#f7f1df;box-sizing:border-box}
.fpcBannerAdmin h2,.fpcBannerAdmin h3{margin:0;color:#faf5e6}
.fpcBannerAdmin p{margin:0}
.fpcBannerAdmin label{display:grid;gap:6px;font-weight:700;color:#f4ead2}
.fpcBannerAdmin select,.fpcBannerAdmin input[type=text],.fpcBannerAdmin input:not([type]){width:100%;background:#faf7f0;color:#171717;border:1px solid #c7b482;border-radius:7px;padding:10px;box-sizing:border-box}
.fpcBannerChoices{display:grid;grid-template-columns:repeat(auto-fit,minmax(195px,1fr));gap:10px}
.fpcBannerPackPick,.fpcBannerDefault{background:#312d24;border:1px solid #756849;border-radius:9px;color:#fff;min-height:91px;padding:12px;text-align:left;display:flex;flex-direction:column;gap:8px;justify-content:center}
.fpcBannerPackPick.selected{outline:2px solid #e4bf61;background:#4b4028}
.fpcBannerPackPick small,.fpcBannerDefault small{color:#e3dac9}
.fpcBannerDefault button{align-self:start}
.fpcBannerCreate{display:grid;grid-template-columns:minmax(200px,1fr) auto auto;align-items:end;gap:10px;padding:12px;border-top:1px solid #655b45;border-bottom:1px solid #655b45}
.fpcBannerEditor{display:grid;gap:12px}
.fpcBannerEditorTitle{display:flex;justify-content:space-between;align-items:center;gap:12px}
.fpcBannerThumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.fpcBannerThumb{overflow:hidden;background:#332f26;border:1px solid #847557;border-radius:8px}
.fpcBannerThumb img{width:100%;height:auto;aspect-ratio:1920/500;object-fit:cover;display:block}
.fpcBannerThumb>div{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:9px}
.fpcBannerThumb>div>div{display:flex;gap:5px}
.fpcBannerEditorActions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.fpcBannerUpload{display:inline-flex!important;position:relative;cursor:pointer;background:#edcc71;color:#1c1a17!important;padding:11px 14px;border-radius:7px}
.fpcBannerUpload input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
@media(max-width:650px){.fpcBannerCreate{grid-template-columns:1fr}.fpcBannerEditorActions{align-items:stretch;flex-direction:column}}


/* V7.101 — Lisibilite exclusive de la console Admin1 / Reservoirs de bannieres.
   Corrige les anciennes regles globales .card et .card:not(.livebox),
   sans aucune modification des fonctions, permissions ou packs Supabase. */
#fpcAdminBannerManager.card{
  color:#f7f0df!important;
}
#fpcAdminBannerManager > .label{
  color:#f0c86f!important;
  -webkit-text-fill-color:#f0c86f!important;
}
#fpcAdminBannerManager h2,
#fpcAdminBannerManager h3{
  color:#fff7e6!important;
  -webkit-text-fill-color:#fff7e6!important;
  opacity:1!important;
}
#fpcAdminBannerManager > p.muted,
#fpcAdminBannerManager .fpcBannerEditor .muted{
  color:#d9d1c1!important;
  -webkit-text-fill-color:#d9d1c1!important;
  opacity:1!important;
  line-height:1.55;
}
#fpcAdminBannerManager label:not(.fpcBannerUpload){
  color:#fff1cc!important;
  -webkit-text-fill-color:#fff1cc!important;
}
#fpcAdminBannerManager .fpcBannerDefault,
#fpcAdminBannerManager .fpcBannerPackPick,
#fpcAdminBannerManager .fpcBannerThumb,
#fpcAdminBannerManager .fpcBannerEditorTitle{
  color:#fff5de!important;
}
#fpcAdminBannerManager .fpcBannerDefault b,
#fpcAdminBannerManager .fpcBannerPackPick b,
#fpcAdminBannerManager .fpcBannerEditorTitle h3,
#fpcAdminBannerManager .fpcBannerThumb b{
  color:#fff6e4!important;
  -webkit-text-fill-color:#fff6e4!important;
}
#fpcAdminBannerManager .fpcBannerDefault small,
#fpcAdminBannerManager .fpcBannerPackPick small,
#fpcAdminBannerManager .fpcBannerEditorTitle > span,
#fpcAdminBannerManager .fpcBannerThumb small{
  color:#e2d7bf!important;
  -webkit-text-fill-color:#e2d7bf!important;
}
/* Le texte des champs clairs conserve sa couleur foncee. */
#fpcAdminBannerManager select,
#fpcAdminBannerManager input[type="text"],
#fpcAdminBannerManager input:not([type]){
  color:#1c1a17!important;
  -webkit-text-fill-color:#1c1a17!important;
}
