:root{
  --navy:#061844; --navy2:#0b2f77; --gold:#d6a53a; --gold2:#f0cf78;
  --red:#d62828; --white:#fff; --ink:#15213d; --muted:#6d7891; --panel:#ffffffee;
  --line:#d9deea; --success:#1d7b4f; --danger:#b62828;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,Segoe UI,Arial,sans-serif;color:var(--ink);background:#f5f7fb}
button,input,textarea,select{font:inherit}
button{cursor:pointer}

/* HOME */
.home-page{min-height:100vh;background:#f6f6f4 none center/cover no-repeat;display:flex;align-items:center;justify-content:center;padding:32px}
.home-overlay{width:min(1180px,96vw);margin-top:8vh;display:flex;flex-direction:column;align-items:center;gap:22px}
.home-title{font-family:Georgia,serif;color:var(--navy);font-weight:800;font-size:clamp(30px,4vw,60px);letter-spacing:.04em;text-align:center;text-shadow:0 2px 0 #fff}
.home-subtitle{margin-top:-12px;color:#31415f;font-size:clamp(14px,1.3vw,20px);font-weight:600;background:#ffffffc7;padding:8px 16px;border-radius:999px;backdrop-filter:blur(4px)}
.format-grid{width:100%;display:grid;grid-template-columns:repeat(2,minmax(260px,1fr));gap:18px;margin-top:6px}
.format-card{border:1px solid #d7bd7c;background:linear-gradient(145deg,#ffffffed,#f7f9ffea);border-radius:22px;box-shadow:0 16px 40px #0b1f4c22;padding:24px 26px;min-height:148px;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none;color:var(--ink);transition:.18s transform,.18s box-shadow}
.format-card:hover{transform:translateY(-3px);box-shadow:0 22px 50px #0b1f4c30}
.format-card.active{outline:3px solid #d8ad4b33}
.format-name{font-family:Georgia,serif;font-size:clamp(22px,2.2vw,34px);font-weight:800;color:var(--navy)}
.format-desc{color:#5d6880;line-height:1.45;margin-top:8px}
.format-status{margin-top:16px;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.08em;font-size:12px}
.format-card.disabled{opacity:.68;filter:saturate(.75);pointer-events:none}

/* APP */
.app-page{min-height:100vh;background:radial-gradient(circle at 20% 0,#fff 0,#f5f7fb 35%,#eef2f8 100%)}
.topbar{height:88px;background:linear-gradient(90deg,#031238,#0b2c70);color:#fff;display:flex;align-items:center;padding:10px 28px;gap:18px;border-bottom:3px solid var(--gold);position:sticky;top:0;z-index:20}
.topbar img{width:64px;height:64px;object-fit:contain;border-radius:14px;background:#000}
.topbar-title{font-family:Georgia,serif;font-size:26px;font-weight:800}
.topbar-sub{font-size:13px;color:#d9e2ff;margin-top:2px}
.topbar-actions{margin-left:auto;display:flex;gap:8px;flex-wrap:wrap}
.container{width:min(1500px,96vw);margin:24px auto 60px}
.panel{background:var(--panel);border:1px solid #dfe3ed;border-radius:20px;box-shadow:0 12px 30px #21335b12;padding:22px;margin-bottom:20px}
.panel h2{margin:0 0 16px;font-family:Georgia,serif;color:var(--navy);font-size:26px}
.setup-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:13px}
.field label{font-weight:750;color:#263453;font-size:14px}
input[type=text],input[type=number],textarea,select{width:100%;border:1px solid #cfd6e4;border-radius:12px;padding:11px 12px;background:#fff;color:var(--ink);outline:none}
input:focus,textarea:focus,select:focus{border-color:#9d7a29;box-shadow:0 0 0 3px #d9b66024}
textarea{min-height:186px;resize:vertical;line-height:1.5}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.btn{border:0;border-radius:12px;padding:11px 15px;font-weight:800;background:#e9edf5;color:#1d2a49}
.btn:hover{filter:brightness(.98)}
.btn.primary{background:linear-gradient(180deg,#dcb14e,#bd8723);color:#111629}
.btn.navy{background:var(--navy);color:#fff}
.btn.red{background:#f6e4e4;color:#8f2020}
.btn.ghost{background:transparent;border:1px solid #cfd6e4}
.btn.small{padding:7px 9px;border-radius:9px;font-size:12px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.stat{background:#f7f9fd;border:1px solid #e1e5ef;border-radius:14px;padding:12px;text-align:center}
.stat strong{display:block;font-size:24px;color:var(--navy)}
.stat span{font-size:12px;color:var(--muted)}
.player-list{display:flex;flex-wrap:wrap;gap:8px;min-height:48px}
.player-chip{display:flex;align-items:center;gap:7px;background:#f0f3f9;border:1px solid #dde3ee;border-radius:999px;padding:8px 10px;font-size:13px;font-weight:700}
.player-chip button{border:0;background:transparent;color:#9c2830;font-weight:900}
.help{font-size:13px;color:var(--muted);line-height:1.45}

.bracket-shell{overflow:auto;padding:6px 2px 18px}
.bracket{display:flex;gap:26px;min-width:max-content;align-items:stretch}
.round{width:280px;display:flex;flex-direction:column;gap:16px}
.round-title{position:relative;z-index:1;background:#f5f7fb;padding:10px 12px;border-radius:12px;border:1px solid #dfe4ee;font-family:Georgia,serif;color:var(--navy);font-weight:800;text-align:center;margin-bottom:4px}
.round-matches{display:flex;flex-direction:column;gap:16px;justify-content:space-around;flex:1;min-height:520px}
.match{background:#fff;border:1px solid #dce2ed;border-radius:16px;padding:11px;box-shadow:0 8px 20px #263b6410;position:relative}
.match.done{border-color:#c8b069;background:linear-gradient(180deg,#fff,#fffaf0)}
.match-number{font-size:11px;color:#7b8498;font-weight:800;margin-bottom:6px;text-transform:uppercase;letter-spacing:.08em}
.competitor{display:grid;grid-template-columns:1fr 62px;gap:8px;align-items:center;padding:7px 0;border-top:1px dashed #e4e7ef}
.competitor:first-of-type{border-top:0}
.name{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.name.winner{color:var(--success)}
.score{width:62px!important;text-align:center;font-weight:900;padding:8px!important}
.match-actions{display:flex;gap:7px;margin-top:8px}
.match-actions .btn{flex:1}
.waiting{color:#9aa3b3;font-style:italic;font-weight:600}

.display-mode .setup-panel,.display-mode .topbar-actions .admin-only,.display-mode .help-text{display:none!important}
.display-mode .container{width:99vw;margin-top:12px}
.display-mode .panel{border-radius:10px;padding:12px}
.display-mode .round{width:340px}
.display-mode .name{font-size:19px}
.display-mode .score{font-size:20px}
.display-mode .topbar{height:76px}
.display-mode .round-matches{min-height:680px}

.toast{position:fixed;right:20px;bottom:20px;background:#13254d;color:#fff;padding:12px 16px;border-radius:12px;box-shadow:0 10px 25px #0002;opacity:0;transform:translateY(10px);transition:.2s;pointer-events:none;z-index:100}
.toast.show{opacity:1;transform:translateY(0)}
.empty-state{text-align:center;padding:55px 20px;color:#778198}
.empty-state strong{display:block;color:var(--navy);font-size:22px;margin-bottom:8px}
footer{text-align:center;color:#8891a3;font-size:12px;padding:20px}

@media(max-width:900px){.format-grid,.setup-grid{grid-template-columns:1fr}.home-page{background-position:center top}.topbar{height:auto;min-height:82px;padding:10px 14px}.topbar-title{font-size:20px}.container{width:95vw}.stats{grid-template-columns:1fr}.round{width:260px}}

/* INSCRIPTIONS */
.registration-container{max-width:1240px}
.registration-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;background:linear-gradient(135deg,#fff,#fff8e8)}
.registration-hero h1{margin:5px 0 6px;font-family:Georgia,serif;color:var(--navy);font-size:clamp(30px,4vw,48px)}
.registration-hero p{margin:0;color:var(--muted);font-size:16px}
.eyebrow{font-size:11px;font-weight:900;letter-spacing:.14em;color:#a87b20;text-transform:uppercase}
.registration-badge{min-width:145px;border-radius:20px;background:var(--navy);color:#fff;padding:18px 22px;text-align:center;border:2px solid var(--gold)}
.registration-badge strong{display:block;font-size:38px;line-height:1}
.registration-badge span{display:block;margin-top:5px;font-size:12px;color:#dce5ff}
.registration-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:30px}
.add-player-row{display:grid;grid-template-columns:1fr auto;gap:10px}
.registration-list-head h2{margin:4px 0 12px}
.registration-list{display:flex;flex-direction:column;gap:8px;max-height:470px;overflow:auto;padding-right:4px}
.registration-player{display:grid;grid-template-columns:42px 1fr 38px;align-items:center;gap:10px;border:1px solid #dfe4ee;border-radius:12px;background:#fafbfe;min-height:50px;padding:5px 8px}
.registration-number{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eef1f7;color:var(--navy);font-weight:900;font-size:13px}
.registration-name{font-weight:800;color:#263453}
.remove-registration{width:32px;height:32px;border:0;border-radius:9px;background:#f8e8e8;color:#a42d35;font-size:20px;font-weight:900}
.empty-registration{min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #cfd6e4;border-radius:16px;color:var(--muted);text-align:center}
.empty-registration strong{color:var(--navy);font-size:18px;margin-bottom:6px}
.registration-next{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:#d7bd7c}
.registration-next strong,.registration-next span{display:block}
.registration-next strong{color:var(--navy);font-size:19px;margin-bottom:4px}
.registration-next span{color:var(--muted);font-size:13px}
.btn-large{padding:14px 20px;font-size:15px}
.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}
.simple-setup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}
.simple-setup-head h2{margin:5px 0 4px}
.simple-setup-grid{grid-template-columns:1.25fr .75fr}

@media(max-width:900px){
  .registration-grid,.simple-setup-grid{grid-template-columns:1fr}
  .registration-hero,.registration-next,.simple-setup-head{align-items:stretch;flex-direction:column}
  .registration-badge{min-width:0;width:150px}
  .add-player-row{grid-template-columns:1fr}
}
\n\n/* ANIMATION DU CHAMPION */\n.champion-overlay{position:fixed;inset:0;z-index:9999;background:rgba(1,9,30,.88);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease;overflow:hidden}\n.champion-overlay.show{opacity:1;visibility:visible}\n.champion-card{position:relative;z-index:3;width:min(720px,92vw);text-align:center;padding:34px 28px 30px;border:3px solid var(--gold);border-radius:30px;background:radial-gradient(circle at 50% 20%,#173e8a 0,#071b4b 42%,#030d29 100%);box-shadow:0 0 0 7px rgba(214,165,58,.18),0 30px 90px #0008;transform:scale(.72) translateY(30px);opacity:0;transition:transform .55s cubic-bezier(.2,.85,.25,1.25),opacity .4s ease}\n.champion-overlay.show .champion-card{transform:scale(1) translateY(0);opacity:1}\n.champion-logo{width:118px;height:118px;object-fit:contain;border-radius:22px;background:#000;margin-bottom:10px;filter:drop-shadow(0 10px 22px #0008)}\n.champion-kicker{font-family:Georgia,serif;font-size:clamp(25px,4vw,46px);font-weight:900;color:var(--gold2);letter-spacing:.08em;text-shadow:0 3px 0 #5b3d00,0 8px 25px #000;margin-bottom:12px;animation:championPulse 1.15s ease-in-out infinite alternate}\n.champion-name{font-family:Georgia,serif;font-size:clamp(42px,7vw,82px);font-weight:900;line-height:1;color:#fff;text-shadow:0 4px 0 #09183a,0 0 30px rgba(240,207,120,.55);word-break:break-word}\n.champion-tournament{margin:16px auto 22px;color:#dce5ff;font-size:clamp(15px,2vw,22px);font-weight:700}\n.champion-close{min-width:150px;font-size:16px}\n.champion-confetti{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}\n.champion-confetti i{position:absolute;top:-10vh;width:10px;height:20px;border-radius:2px;background:var(--gold2);animation:confettiFall linear forwards;box-shadow:0 0 8px rgba(255,255,255,.25)}\n.champion-confetti i:nth-child(3n){background:#fff;width:8px;height:14px}\n.champion-confetti i:nth-child(3n+1){background:#d62828;width:9px;height:18px}\n.champion-confetti i:nth-child(4n){border-radius:50%;width:11px;height:11px}\n@keyframes confettiFall{0%{transform:translate3d(0,-10vh,0) rotate(0);opacity:1}100%{transform:translate3d(var(--drift),115vh,0) rotate(900deg);opacity:.9}}\n@keyframes championPulse{from{transform:scale(1)}to{transform:scale(1.045)}}\n@media (prefers-reduced-motion:reduce){.champion-card,.champion-kicker,.champion-confetti i{animation:none!important;transition:none!important}}\n
/* ===== VERSION 2.0 · PAGE VAINQUEUR ===== */
.winner-page{margin:0;min-height:100vh;overflow:hidden;background:#f8f8f8;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#071b4b}
.winner-scene{position:relative;min-height:100vh;display:grid;place-items:center;overflow:hidden;background-image:linear-gradient(rgba(255,255,255,.12),rgba(255,255,255,.08)),none;background-size:cover;background-position:center center;background-repeat:no-repeat}
.winner-scene::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 44%,rgba(255,255,255,.08) 0 22%,rgba(255,255,255,.36) 48%,rgba(255,255,255,.05) 80%);pointer-events:none}
.winner-scene::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,28,78,.08),transparent 26%,transparent 74%,rgba(4,28,78,.08));pointer-events:none}
.winner-content{position:relative;z-index:4;width:min(980px,90vw);text-align:center;padding:4vh 18px 5vh;display:flex;flex-direction:column;align-items:center}
.winner-logo{width:clamp(112px,10vw,170px);height:clamp(112px,10vw,170px);object-fit:contain;filter:drop-shadow(0 12px 24px rgba(3,25,71,.2));opacity:0;transform:translateY(-26px) scale(.8)}
.winner-crown{font-size:clamp(48px,6vw,82px);line-height:.85;color:#d8a52b;text-shadow:0 3px 0 #8c6110,0 0 22px rgba(233,184,68,.45);margin-top:-3px;opacity:0;transform:translateY(-10px) scale(.5)}
.winner-label{font-size:clamp(13px,1.3vw,18px);font-weight:900;letter-spacing:.42em;color:#173b7a;margin-top:14px;opacity:0}
.winner-title{margin:3px 0 8px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(62px,9vw,132px);line-height:.84;letter-spacing:.015em;color:#d9a62e;text-transform:uppercase;text-shadow:0 2px 0 #8d6314,0 5px 0 #6e4b0c,0 12px 24px rgba(125,82,8,.25),0 0 34px rgba(255,208,85,.34);opacity:0;transform:scale(.7)}
.winner-name-wrap{position:relative;width:min(820px,86vw);padding:4px;border-radius:20px;background:linear-gradient(90deg,#b98316,#f0ca67,#b98316);box-shadow:0 14px 30px rgba(2,28,77,.2),0 0 36px rgba(224,172,55,.22);opacity:0;transform:translateY(28px)}
.winner-name{background:linear-gradient(180deg,#0b2f70,#031a4c);border-radius:16px;color:#fff;padding:14px 28px 16px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,5.2vw,78px);font-weight:900;line-height:1;letter-spacing:.04em;text-transform:uppercase;text-shadow:0 3px 0 rgba(0,0,0,.2),0 0 22px rgba(255,255,255,.2);white-space:normal;overflow-wrap:anywhere}
.winner-tournament{margin-top:17px;padding:8px 20px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(18px,2vw,30px);font-weight:800;color:#071b4b;background:rgba(255,255,255,.7);border-radius:999px;backdrop-filter:blur(4px);opacity:0}
.winner-congrats{margin-top:6px;font-family:'Segoe Script','Brush Script MT',cursive;font-size:clamp(30px,4vw,58px);font-weight:700;color:#a97618;transform:rotate(-2deg);text-shadow:0 2px 12px rgba(255,255,255,.9);opacity:0}
.winner-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:18px;opacity:0;transform:translateY(10px)}
.winner-btn{text-decoration:none;min-width:165px;border-radius:999px;border:1px solid #c89a34;background:rgba(255,255,255,.9);box-shadow:0 8px 18px rgba(7,27,75,.12);backdrop-filter:blur(6px)}
.winner-btn.navy{background:#061f57;color:#fff;border-color:#d3a33b}
.winner-glow{position:absolute;z-index:2;width:34vw;height:34vw;border-radius:50%;filter:blur(50px);opacity:.18;pointer-events:none}
.winner-glow-left{left:-15vw;top:25vh;background:#0c48a5}
.winner-glow-right{right:-15vw;top:25vh;background:#e6b343}
.winner-confetti{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden}
.winner-confetti i{position:absolute;top:-8vh;border-radius:2px;box-shadow:0 0 5px rgba(255,255,255,.35);animation:winnerConfetti linear forwards}
.winner-animate .winner-logo{animation:winnerLogo .85s .1s cubic-bezier(.2,.8,.2,1.2) forwards}
.winner-animate .winner-crown{animation:winnerCrown .65s .55s cubic-bezier(.1,.9,.2,1.35) forwards}
.winner-animate .winner-label{animation:winnerFade .5s .72s ease forwards}
.winner-animate .winner-title{animation:winnerTitle .9s .78s cubic-bezier(.12,.82,.2,1.15) forwards,winnerShine 2.1s 1.8s ease-in-out infinite alternate}
.winner-animate .winner-name-wrap{animation:winnerName .8s 1.2s cubic-bezier(.18,.8,.2,1.12) forwards}
.winner-animate .winner-tournament{animation:winnerFade .55s 1.55s ease forwards}
.winner-animate .winner-congrats{animation:winnerFade .7s 1.75s ease forwards}
.winner-animate .winner-actions{animation:winnerActions .55s 2.15s ease forwards}
@keyframes winnerLogo{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes winnerCrown{to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes winnerFade{to{opacity:1}}
@keyframes winnerTitle{0%{opacity:0;transform:scale(.7)}70%{opacity:1;transform:scale(1.06)}100%{opacity:1;transform:scale(1)}}
@keyframes winnerName{to{opacity:1;transform:translateY(0)}}
@keyframes winnerActions{to{opacity:1;transform:translateY(0)}}
@keyframes winnerShine{from{filter:drop-shadow(0 0 0 rgba(255,202,76,0))}to{filter:drop-shadow(0 0 16px rgba(255,202,76,.8))}}
@keyframes winnerConfetti{0%{transform:translate3d(0,-12vh,0) rotate(0);opacity:1}100%{transform:translate3d(var(--x),112vh,0) rotate(var(--r));opacity:.9}}
@media(max-width:700px){.winner-scene{background-position:center top}.winner-content{width:94vw;padding-top:2vh}.winner-name{padding-left:16px;padding-right:16px}.winner-actions{margin-top:12px}.winner-btn{min-width:145px}}
@media(prefers-reduced-motion:reduce){.winner-logo,.winner-crown,.winner-label,.winner-title,.winner-name-wrap,.winner-tournament,.winner-congrats,.winner-actions{opacity:1!important;transform:none!important;animation:none!important}.winner-confetti{display:none}}

/* V2.1 — statut de match + vainqueur par case à cocher */
.validation-note{background:#f7f9fd;border:1px solid #e1e5ef;border-radius:12px;padding:12px 14px;color:#44506a;font-size:13px;line-height:1.45}
.match-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:5px}
.match-head .match-number{margin-bottom:0}
.match-status{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.match-status.pending{background:#eef1f6;color:#7a8498}
.match-status.in-progress{background:#fff1c7;color:#8b6200;border:1px solid #e6bd4f}
.match-status.finished{background:#e8f6ed;color:#247342;border:1px solid #acd6ba}
.match.active-match{border:2px solid var(--gold);box-shadow:0 0 0 4px #d5a42a1c,0 10px 24px #263b6414}
.winner-select-row{grid-template-columns:1fr 42px}
.winner-check{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;border:2px solid #cad2e0;background:#fff;cursor:pointer;transition:.15s;justify-self:end}
.winner-check input{position:absolute;opacity:0;pointer-events:none}
.winner-check span{font-size:20px;line-height:1;color:transparent;font-weight:900}
.winner-check:hover{border-color:#b58b24;background:#fffaf0}
.winner-check.selected{background:#e9f7ee;border-color:#55a96f}
.winner-check.selected span{color:#248047}
.winner-check:has(input:disabled){opacity:.65;cursor:default}
.match-progress-row{display:flex;align-items:center;margin-top:8px;padding-top:8px;border-top:1px solid #edf0f5}
.progress-check{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;color:#697387;cursor:pointer;user-select:none}
.progress-check input{position:absolute;opacity:0;pointer-events:none}
.progress-check span{width:18px;height:18px;border-radius:5px;border:2px solid #cbd3df;background:#fff;position:relative;flex:0 0 auto}
.progress-check.checked{color:#8b6200}
.progress-check.checked span{background:var(--gold);border-color:var(--gold)}
.progress-check.checked span:after{content:'✓';position:absolute;inset:0;display:grid;place-items:center;color:#10234e;font-size:12px;font-weight:900}
.progress-check:has(input:disabled){opacity:.45;cursor:default}
.display-mode .winner-check{width:38px;height:38px}
.display-mode .match-status{font-size:11px}

/* ===== V2.4 · POULES + SIMPLE ÉLIMINATION ===== */
.player-count-grid{display:grid;grid-template-columns:repeat(4,minmax(90px,1fr));gap:12px;margin:16px 0 8px}
.count-choice{appearance:none;border:2px solid #dbe1ec;background:#fff;border-radius:16px;padding:20px 10px;font-size:28px;font-weight:900;color:#0b285f;cursor:pointer;transition:.18s}
.count-choice:hover{border-color:#c99a2e;transform:translateY(-2px)}
.count-choice.selected{background:linear-gradient(180deg,#0b3479,#061d52);color:#fff;border-color:#d2a33c;box-shadow:0 8px 24px #0a2a681f}
.is-locked{opacity:.55;pointer-events:none;filter:grayscale(.15)}
.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:14px}
.pools-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.pool-card{border:1px solid #dde3ed;border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 24px #10234e0c}
.pool-title{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(180deg,#0b3479,#061d52);color:#fff;border-bottom:3px solid #d2a33c}
.pool-title h3{margin:0;font-family:Georgia,serif;font-size:22px}.pool-title span{font-size:12px;opacity:.8;font-weight:800}
.pool-standings{padding:12px 14px 4px}.standings-head,.standings-row{display:grid;grid-template-columns:30px 1fr 34px 34px 34px;gap:6px;align-items:center}.standings-head{font-size:10px;font-weight:900;letter-spacing:.08em;color:#8690a4;text-transform:uppercase;padding:0 7px 6px}.standings-row{min-height:38px;padding:5px 7px;border-top:1px solid #eef1f5;font-size:13px}.standings-row.qualified{background:#f2f8f4}.standings-row.qualified:first-of-type{}.standings-row.qualified strong:after{content:'  ✓';color:#2e8a50}
.pool-matches{padding:10px 12px 14px;background:#f8fafc;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pool-matches .match{margin:0}.pool-matches .player-row{font-size:12px}.pool-matches .match-actions .btn{font-size:10px;padding:7px 8px}
.display-mode .admin-only{display:none!important}.display-mode .container{max-width:none;width:100%;padding:10px}.display-mode .topbar-actions .btn:not(#displayBtn){display:none}.display-mode .pools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:1000px){.pools-grid{grid-template-columns:1fr}.pool-matches{grid-template-columns:1fr 1fr}.player-count-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.pool-matches{grid-template-columns:1fr}.section-title-row{align-items:flex-start;flex-direction:column}.player-count-grid{grid-template-columns:repeat(2,1fr)}}
.auto-pool-info{border-left:5px solid #d2a33c}.auto-pool-info h2{margin:.25rem 0 .4rem}.auto-pool-info .help{font-size:14px}

/* ===== V2.7 · CARTES DE MATCH GRAND FORMAT ===== */
.match{
  background:#fff;
  border:2px solid #dde4ef;
  border-radius:30px;
  padding:20px 22px 18px;
  box-shadow:0 12px 28px rgba(18,42,85,.07);
  position:relative;
  overflow:hidden;
}
.match.active-match{
  border-color:#d4a63d;
  box-shadow:0 0 0 4px rgba(212,166,61,.12),0 14px 32px rgba(18,42,85,.10);
}
.match-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:4px;
}
.match-head .match-number,
.match-number{
  margin:0;
  font-size:17px;
  line-height:1.2;
  font-weight:900;
  color:#758198;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.match-status{
  padding:8px 15px;
  border-radius:999px;
  font-size:14px;
  line-height:1;
  font-weight:900;
  letter-spacing:.035em;
}
.match-status.pending{background:#f0f3f8;color:#7e899e}
.match-status.in-progress{background:#fff0bf;color:#8b6200;border:1px solid #e5bb4b}
.match-status.finished{background:#e6f5eb;color:#287647;border:1px solid #abd5b9}

/* Ligne joueur : nom à gauche, grande case à droite */
.player-row,
.competitor{
  display:grid;
  grid-template-columns:minmax(0,1fr) 70px;
  gap:14px;
  align-items:center;
  min-height:94px;
  padding:10px 0;
  border-top:2px dashed #e0e6ef;
  font-size:22px;
  font-weight:900;
  color:#263453;
}
.competitor:first-of-type{border-top:2px dashed #e0e6ef}
.player-row > span,
.competitor > div:first-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.waiting,
.player-row > span:only-child{
  color:#98a3b7;
  font-style:italic;
}
.player-row.winner,
.competitor .winner{color:#26794a}

.winner-check{
  width:64px;
  height:64px;
  border-radius:18px;
  border:4px solid #dce2ec;
  background:#fff;
  box-shadow:inset 0 0 0 1px #f8fafc;
  justify-self:end;
}
.winner-check span{font-size:32px}
.winner-check:hover{border-color:#d3a43a;background:#fffaf0}
.winner-check.selected{background:#e9f7ee;border-color:#55a96f}

.match-progress-row{
  margin-top:2px;
  padding-top:18px;
  border-top:2px solid #edf1f6;
  min-height:52px;
}
.progress-check{
  gap:14px;
  font-size:20px;
  font-weight:900;
  color:#a1a9b8;
}
.progress-check span{
  width:36px;
  height:36px;
  border-radius:10px;
  border:4px solid #dce2ec;
}
.progress-check.checked{color:#8b6200}
.progress-check.checked span:after{font-size:22px}

.match-actions{margin-top:14px}
.match-actions .btn{
  min-height:58px;
  border-radius:18px;
  font-size:19px!important;
  font-weight:900;
  padding:13px 18px!important;
}
.match-actions .btn:disabled{
  background:#99a3ba!important;
  color:#fff!important;
  opacity:1;
  border-color:#99a3ba!important;
}

/* Les matchs de poules sont présentés verticalement et lisibles */
.pool-matches{
  padding:16px;
  background:#f8fafc;
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}
.pool-matches .match{margin:0}
.pool-matches .player-row{font-size:20px}
.pool-matches .match-actions .btn{font-size:18px!important;padding:13px 16px!important}

/* Tableau final : cartes plus larges */
.round{width:360px}
.round-matches{gap:22px}

@media(max-width:900px){
  .round{width:330px}
  .match{padding:17px 18px 16px;border-radius:24px}
  .player-row,.competitor{grid-template-columns:minmax(0,1fr) 58px;min-height:80px;font-size:18px}
  .winner-check{width:54px;height:54px;border-radius:15px}
  .progress-check{font-size:17px}
  .progress-check span{width:31px;height:31px}
  .match-actions .btn{min-height:50px;font-size:17px!important}
}


/* V2.8 — matchs de poules compacts */
.pool-matches{
  padding:10px 12px 14px!important;
  background:#f8fafc;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
}
.pool-match-row{
  background:#fff;
  border:1px solid #dce3ee;
  border-radius:14px;
  padding:9px 10px;
  box-shadow:0 3px 10px rgba(10,35,78,.04);
}
.pool-match-row.active-match{border-color:#d2a33c;box-shadow:0 0 0 2px rgba(210,163,60,.13)}
.pool-match-row.finished-match{background:#fbfffc;border-color:#cfe4d6}
.pool-match-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.pool-match-top strong{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#67738a}
.pool-match-top .match-status{font-size:9px;padding:4px 8px;border-radius:999px}
.pool-versus{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:center;gap:6px}
.pool-vs{text-align:center;font-size:10px;font-weight:900;color:#9aa4b6}
.pool-player-choice{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:6px;border:1px solid #e4e9f1;border-radius:10px;padding:6px 7px;cursor:pointer;background:#fff}
.pool-player-choice.selected{border-color:#d2a33c;background:#fffaf0}
.pool-player-choice.winner{border-color:#7fc096;background:#f1faf4}
.pool-player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;color:#12254b}
.pool-player-choice.winner .pool-player-name{color:#247544}
.pool-player-choice input{position:absolute;opacity:0;pointer-events:none}
.pool-mini-check{width:28px;height:28px;border:2px solid #dce3ee;border-radius:8px;display:flex;align-items:center;justify-content:center;color:transparent;font-size:18px;font-weight:900;background:#fff}
.pool-player-choice.selected .pool-mini-check,.pool-player-choice.winner .pool-mini-check{border-color:#82bf96;color:#3a8a57;background:#f0faf3}
.pool-match-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;padding-top:7px;border-top:1px solid #edf0f5}
.pool-progress{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;color:#7f899c;cursor:pointer}
.pool-progress input{position:absolute;opacity:0;pointer-events:none}
.pool-progress>span{width:20px;height:20px;border:2px solid #dce3ee;border-radius:6px;background:#fff;position:relative;display:inline-block}
.pool-progress.checked>span{border-color:#d2a33c;background:#fff8e8}
.pool-progress.checked>span:after{content:'✓';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#a97910;font-size:13px;font-weight:900}
.pool-mini-btn{min-width:78px;border:0;border-radius:8px;padding:7px 10px;background:#08245c;color:#fff;font-size:11px;font-weight:900;cursor:pointer}
.pool-mini-btn:disabled{background:#a6afc1;cursor:not-allowed}
.pool-mini-btn.ghost{background:#fff;color:#102b60;border:1px solid #d8dfeb}
@media(max-width:650px){.pool-versus{grid-template-columns:1fr}.pool-vs{display:none}.pool-match-bottom{align-items:stretch}.pool-mini-btn{min-width:90px}}

/* V2.9 — scores dans les matchs de poules */
.standings-head,.standings-row{grid-template-columns:30px 1fr 34px 34px 34px 42px}
.pool-score-line{display:grid;grid-template-columns:minmax(0,1fr) 48px 14px 48px minmax(0,1fr);align-items:center;gap:6px}
.pool-player-name.right{text-align:right}
.pool-player-name.winner-text{color:#247544}
.pool-score{width:48px;height:36px;border:2px solid #dce3ee;border-radius:9px;background:#fff;color:#102b60;font-size:16px;font-weight:900;text-align:center;padding:0 4px}
.pool-score:focus{outline:none;border-color:#d2a33c;box-shadow:0 0 0 3px rgba(210,163,60,.12)}
.pool-score:disabled{background:#f3f5f8;color:#7f899c}
.pool-score-sep{text-align:center;font-weight:900;color:#9aa4b6}
@media(max-width:650px){.pool-score-line{grid-template-columns:minmax(0,1fr) 44px 10px 44px minmax(0,1fr)}.pool-score{width:44px}}

/* ===== V3.0 · MODE ÉCRAN DASHBOARD ===== */
.screen-dashboard{display:none;position:fixed;inset:0;z-index:9998;background:linear-gradient(135deg,#f9fbff 0%,#ffffff 48%,#f3f6fc 100%);color:#081b45;overflow:hidden}
.screen-dashboard.open{display:block}
.screen-dashboard-inner{height:100vh;display:grid;grid-template-rows:auto auto 1fr auto;gap:12px;padding:14px 18px 10px;background-image:radial-gradient(circle at 10% 10%,rgba(214,165,58,.10),transparent 25%),radial-gradient(circle at 90% 5%,rgba(11,44,112,.08),transparent 30%)}
.screen-head{display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(90deg,#04153f,#0b3278);border-bottom:3px solid #d4a63d;border-radius:18px;padding:10px 16px;color:#fff;box-shadow:0 10px 30px rgba(4,21,63,.15)}
.screen-brand{display:flex;align-items:center;gap:14px;min-width:0}.screen-brand img{width:64px;height:64px;object-fit:contain;background:#020a1c;border-radius:14px;padding:4px}.screen-kicker{font-size:11px;letter-spacing:.25em;color:#e4c36b;font-weight:900}.screen-head h1{margin:2px 0 0;font-family:Georgia,serif;font-size:clamp(24px,2.4vw,38px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.screen-head-right{display:flex;align-items:center;gap:14px}.screen-clock{font-size:clamp(30px,3vw,48px);font-weight:900;letter-spacing:.04em;color:#f5d675}.screen-exit{border:1px solid #ffffff55;background:#ffffff12;color:#fff;border-radius:12px;padding:10px 13px;font-weight:800;cursor:pointer}
.screen-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.screen-stat{background:#fff;border:1px solid #dfe5ef;border-radius:15px;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;min-width:0;box-shadow:0 6px 18px rgba(18,42,85,.06)}.screen-stat strong{font-size:clamp(22px,2vw,31px);color:#08245c}.screen-stat span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:#7d8799;text-align:right}.screen-stat.gold{border-color:#dfc57d;background:#fffaf0}
.screen-grid{display:grid;grid-template-columns:.9fr .9fr 1.45fr;gap:12px;min-height:0}.screen-panel{background:#fff;border:1px solid #dfe5ef;border-radius:18px;box-shadow:0 10px 26px rgba(18,42,85,.07);min-height:0;display:flex;flex-direction:column;overflow:hidden}.screen-panel-title{display:flex;align-items:center;gap:8px;padding:10px 13px;background:#f6f8fc;border-bottom:1px solid #e6eaf1}.screen-panel-title h2{margin:0;font-family:Georgia,serif;font-size:18px;color:#09245a}.screen-panel-title span{font-size:18px}.screen-list{padding:9px;display:flex;flex-direction:column;gap:8px;overflow:auto;min-height:0}.screen-empty{height:100%;display:grid;place-items:center;text-align:center;color:#8791a4;font-weight:800;padding:20px}.screen-match-card{border:1px solid #dfe4ed;border-radius:14px;padding:9px 10px;background:#fff}.screen-match-card.live{border:2px solid #d6a63b;background:#fffaf0;box-shadow:0 0 0 3px rgba(214,166,59,.10)}.screen-match-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:#798398}.screen-live-pill{background:#fff0c2;color:#8b6200;border:1px solid #e6bd4f;border-radius:999px;padding:3px 7px}.screen-match-players{display:grid;grid-template-columns:1fr auto 1fr;gap:7px;align-items:center;font-weight:900;color:#18284d}.screen-match-players span:first-child{text-align:left}.screen-match-players span:last-child{text-align:right}.screen-vs{font-size:10px;color:#a0a7b4}.screen-score{font-size:15px;color:#0c3277;white-space:nowrap}.screen-next .screen-match-card{padding:8px 10px}.screen-next .screen-match-players{font-size:13px}
.screen-standings-grid{padding:8px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow:auto;min-height:0}.screen-pool{border:1px solid #e1e6ef;border-radius:13px;overflow:hidden;background:#fff}.screen-pool-head{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(90deg,#08245c,#0d3a83);color:#fff;padding:6px 9px;font-weight:900;font-size:12px}.screen-pool-table{display:grid}.screen-pool-row{display:grid;grid-template-columns:22px 1fr 28px 28px 32px;gap:4px;align-items:center;min-height:27px;padding:3px 7px;border-top:1px solid #eef1f5;font-size:11px}.screen-pool-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.screen-pool-row.qual{background:#eef8f1}.screen-pool-row.qual strong{color:#247342}.screen-pool-colhead{font-size:9px;text-transform:uppercase;color:#929bac;font-weight:900;background:#f8f9fc}.screen-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 12px;color:#667087;font-size:11px;font-weight:800;border-top:1px solid #e3e7ef}.screen-footer span:first-child{color:#9a7117;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:1200px){.screen-grid{grid-template-columns:1fr 1fr 1.3fr}.screen-standings-grid{grid-template-columns:1fr}.screen-stat span{font-size:9px}.screen-match-players{font-size:12px}}
@media(max-height:760px){.screen-dashboard-inner{gap:8px;padding:8px 12px 6px}.screen-head{padding:7px 12px}.screen-brand img{width:52px;height:52px}.screen-stats{gap:7px}.screen-stat{padding:5px 9px}.screen-panel-title{padding:7px 10px}.screen-list{padding:6px;gap:5px}.screen-match-card{padding:6px 8px}.screen-pool-row{min-height:23px}.screen-footer{padding:3px 8px}}

/* v3.1 — tableau de bord de gestion des poules */
.manage-dashboard{padding:16px 18px}.manage-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:12px 0}.manage-summary>div{background:#f6f8fc;border:1px solid #e0e6f0;border-radius:12px;padding:9px 12px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.manage-summary strong{font-size:22px;color:#08245c}.manage-summary span{font-size:10px;text-transform:uppercase;font-weight:900;color:#7b879c}.manage-live-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.manage-live{border:1px solid #dfe5ef;border-radius:14px;overflow:hidden;background:#fff}.manage-live h3{margin:0;padding:8px 11px;background:#08245c;color:#fff;font-size:13px}.manage-match{display:grid;grid-template-columns:110px 1fr 70px;gap:8px;align-items:center;padding:7px 10px;border-top:1px solid #edf0f5;font-size:11px}.manage-match.live{background:#fff8e8}.manage-match-id{font-weight:900;color:#7b879c}.manage-match strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#12254b}.manage-match strong b{font-size:9px;color:#a0a8b7;margin:0 5px}.manage-match>span:last-child{text-align:right;font-size:9px;font-weight:900;color:#9a7117}.manage-empty{padding:14px;color:#929bad;font-size:12px}.pools-dashboard-panel{padding:16px}.pools-dashboard-panel .pools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pools-dashboard-panel .pool-card{border-radius:14px}.pools-dashboard-panel .pool-title{padding:9px 12px}.pools-dashboard-panel .pool-title h3{font-size:18px}.pools-dashboard-panel .pool-standings{padding:8px 10px 2px}.pools-dashboard-panel .standings-head,.pools-dashboard-panel .standings-row{grid-template-columns:24px 1fr 30px 30px 30px 34px}.pools-dashboard-panel .standings-row{min-height:30px;padding:3px 5px;font-size:11px}.pools-dashboard-panel .pool-matches{padding:8px 9px 10px;gap:7px}.pools-dashboard-panel .pool-match-row{padding:7px 8px}.pools-dashboard-panel .pool-score{height:30px;font-size:14px}.pools-dashboard-panel .pool-match-bottom{margin-top:5px;padding-top:5px}.pools-dashboard-panel .pool-mini-btn{padding:5px 9px}.pools-dashboard-panel .pool-progress>span{width:18px;height:18px}
@media(max-width:1000px){.manage-summary{grid-template-columns:repeat(3,1fr)}.manage-live-grid,.pools-dashboard-panel .pools-grid{grid-template-columns:1fr}}

/* ===== V3.3 · INTERFACE POULES SIMPLE EN 3 COLONNES ===== */
.simple-pool-dashboard{padding:14px 16px;min-height:620px}.simple-dashboard-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.simple-dashboard-head h2{margin:2px 0 0}.dashboard-progress{display:flex;align-items:baseline;gap:8px;background:#f7f9fc;border:1px solid #e1e7f0;border-radius:12px;padding:8px 12px;color:#7d8798}.dashboard-progress strong{font-size:22px;color:#08245c}.dashboard-progress span{font-size:11px;font-weight:900;text-transform:uppercase}.dashboard-progress b{font-size:12px;color:#a87913}
.simple-dashboard-grid{display:grid;grid-template-columns:1fr 1fr 1.12fr;gap:12px;min-height:540px}.simple-column{border:1px solid #dfe5ef;border-radius:16px;background:#fff;overflow:hidden;display:flex;flex-direction:column;min-width:0;box-shadow:0 8px 22px rgba(18,42,85,.05)}.simple-column-title{display:flex;align-items:center;gap:8px;background:#08245c;color:#fff;padding:10px 12px;border-bottom:2px solid #d3a43e}.simple-column-title h3{margin:0;font-size:15px}.simple-column-title span{font-size:17px}.simple-column-content{padding:9px;display:flex;flex-direction:column;gap:8px;overflow:auto;min-height:0;max-height:70vh}.current-column .simple-column-title{background:linear-gradient(90deg,#6e4b00,#a87913)}.standings-column .simple-column-title{background:linear-gradient(90deg,#08245c,#0f3c83)}
.dash-match{border:1px solid #dfe4ed;border-radius:12px;padding:9px;background:#fff}.dash-match.live{border:2px solid #d3a43e;background:#fffaf0}.dash-match-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:#7b8598;margin-bottom:7px}.dash-match-meta strong{color:#213457}.dash-match-meta span{font-weight:900;color:#9a7117}.dash-score-row{display:grid;grid-template-columns:minmax(0,1fr) 44px 10px 44px minmax(0,1fr);gap:5px;align-items:center}.dash-score-row>span,.dash-next-row>span{font-weight:900;color:#18294d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dash-score-row .right{text-align:right}.dash-score-row>b,.dash-next-row>b{text-align:center;color:#9fa8b7;font-size:11px}.dash-score{width:44px;height:34px;border:2px solid #dce3ee;border-radius:8px;background:#fff;font-size:15px;font-weight:900;color:#0c3277;text-align:center}.dash-score:focus{outline:none;border-color:#d2a33c}.dash-primary,.dash-secondary{width:100%;margin-top:7px;border:0;border-radius:8px;padding:7px 8px;font-weight:900;font-size:11px;cursor:pointer}.dash-primary{background:#08245c;color:#fff}.dash-primary:disabled{background:#a8b1c1;cursor:not-allowed}.dash-secondary{background:#f3f6fb;color:#0b2e6f;border:1px solid #d8e0eb}.dash-secondary:hover{background:#eaf0f9}.dash-next-row{display:grid;grid-template-columns:1fr 22px 1fr;gap:5px;align-items:center;font-size:12px}.dash-next-row span:last-child{text-align:right}.dash-empty{padding:28px 16px;text-align:center;color:#8d97a9;display:flex;flex-direction:column;gap:4px}.dash-empty strong{color:#5e6a80}.dash-empty span{font-size:11px}
.standings-scroll{padding:8px}.dash-pool{border:1px solid #e1e6ef;border-radius:12px;overflow:hidden;background:#fff}.dash-pool-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;background:#f4f7fb;border-bottom:1px solid #e4e9f1}.dash-pool-head strong{color:#08245c}.dash-pool-head span{font-size:10px;color:#8b95a7}.dash-rank-head,.dash-rank-row{display:grid;grid-template-columns:26px 1fr 30px 30px 38px;gap:4px;align-items:center;padding:4px 7px}.dash-rank-head{font-size:9px;text-transform:uppercase;font-weight:900;color:#929bad;background:#fafbfd}.dash-rank-row{min-height:28px;border-top:1px solid #eef1f5;font-size:11px}.dash-rank-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#24385f}.dash-rank-row.qualified{background:#eef8f1}.dash-rank-row.qualified strong{color:#247342}
/* L'ancien grand bloc Poules & classements n'est plus affiché en gestion */
.pools-dashboard-panel{display:none!important}
@media(max-width:1100px){.simple-dashboard-grid{grid-template-columns:1fr 1fr}.standings-column{grid-column:1/-1}.standings-scroll{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.dash-empty{grid-column:1/-1}}
@media(max-width:760px){.simple-dashboard-grid{grid-template-columns:1fr}.standings-column{grid-column:auto}.standings-scroll{display:flex}.simple-dashboard-head{align-items:flex-start;flex-direction:column}.dashboard-progress{width:100%;justify-content:center}}

/* ===== V3.3 · CLASSEMENTS PLUS LISIBLES ===== */
@media(min-width:1101px){
  .simple-dashboard-grid{
    grid-template-columns:.82fr .98fr 1.75fr;
    gap:12px;
  }
  .standings-scroll{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    align-content:start;
    padding:9px;
  }
  .standings-scroll .dash-pool{
    min-width:0;
    height:auto!important;
    max-height:none!important;
    align-self:start;
  }
  .standings-scroll .dash-rank-row{
    display:grid!important;
    min-height:27px;
  }
}
.standings-column .simple-column-content{max-height:72vh}
.dash-pool{height:auto!important;max-height:none!important}
.dash-rank-head,.dash-rank-row{grid-template-columns:25px minmax(0,1fr) 30px 30px 38px}
.dash-rank-row{font-size:12px;line-height:1.15}
.dash-rank-row strong{font-size:12px}
.dash-rank-head{font-size:9px}
.dash-pool-head{padding:8px 9px}
.dash-pool-head strong{font-size:14px}
@media(max-width:1350px) and (min-width:1101px){
  .simple-dashboard-grid{grid-template-columns:.78fr .92fr 1.6fr}
  .standings-scroll{grid-template-columns:1fr}
}
/* v3.5 — ordre complet des prochains matchs */
.dash-order{display:inline-flex;align-items:center;justify-content:center;min-width:27px;height:20px;padding:0 6px;margin-right:4px;border-radius:999px;background:#0b3479;color:#fff;font-size:10px;font-weight:950;letter-spacing:.02em;vertical-align:middle}
.next-column .simple-column-content{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}


/* V4.0 — tableau final compact, lisible et élégant */
#finalSection{
  background:linear-gradient(180deg,#ffffff 0%,#fbfcff 100%);
}
#finalSection .bracket-shell{
  overflow-x:auto;
  overflow-y:visible;
  padding:10px 2px 18px;
  scrollbar-gutter:stable;
}
#finalSection .compact-bracket{
  --match-h:88px;
  display:grid;
  grid-template-columns:repeat(4,minmax(220px,1fr));
  gap:18px;
  align-items:stretch;
  min-width:980px;
  min-height:720px;
}
#finalSection .compact-round{
  min-width:0;
  display:flex;
  flex-direction:column;
  position:relative;
}
#finalSection .compact-round-title{
  min-height:44px;
  padding:8px 12px;
  background:linear-gradient(135deg,#071f4d,#0b377d);
  color:#fff;
  border:1px solid #0a2d68;
  border-bottom:3px solid #d2a23a;
  border-radius:12px 12px 7px 7px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  box-shadow:0 7px 18px rgba(8,36,92,.12);
}
#finalSection .compact-round-title span{
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  line-height:1;
  font-weight:900;
  letter-spacing:.01em;
}
#finalSection .compact-round-title small{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:28px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.15);
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  white-space:nowrap;
}
#finalSection .compact-round-list{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:space-around;
  gap:10px;
  padding:12px 0 0;
  position:relative;
}
#finalSection .compact-bracket-match{
  min-height:var(--match-h);
  background:#fff;
  border:1px solid #dce4ef;
  border-radius:12px;
  overflow:visible;
  box-shadow:0 5px 15px rgba(18,42,85,.07);
  position:relative;
  transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease;
}
#finalSection .compact-bracket-match:hover{
  border-color:#c9d4e4;
  box-shadow:0 8px 20px rgba(18,42,85,.10);
}
#finalSection .compact-bracket-match.live{
  border-color:#d2a23a;
  box-shadow:0 0 0 2px rgba(210,162,58,.13),0 7px 18px rgba(18,42,85,.08);
}
#finalSection .compact-bracket-match.done{
  border-color:#b8d9c4;
  background:linear-gradient(180deg,#fff,#fbfffc);
}
/* petite flèche visuelle entre les tours */
#finalSection .compact-round:not(:last-child) .compact-bracket-match:after{
  content:'›';
  position:absolute;
  right:-16px;
  top:50%;
  transform:translateY(-50%);
  width:16px;
  text-align:center;
  color:#bcc7d7;
  font-size:22px;
  font-weight:900;
  pointer-events:none;
}
#finalSection .compact-match-head{
  height:24px;
  padding:3px 8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  background:#f5f7fb;
  border-bottom:1px solid #e7ecf3;
  border-radius:11px 11px 0 0;
}
#finalSection .compact-match-head b{
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:#627089;
}
#finalSection .compact-match-head .match-status{
  padding:2px 6px;
  border-radius:999px;
  font-size:8px;
  line-height:1.25;
  border-width:1px;
}
#finalSection .compact-players{
  display:grid;
  grid-template-columns:1fr;
}
#finalSection .compact-player{
  min-height:27px;
  padding:2px 7px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 21px;
  gap:5px;
  align-items:center;
  border-top:1px solid #edf1f5;
  cursor:pointer;
  background:#fff;
}
#finalSection .compact-player:first-child{border-top:0}
#finalSection .compact-player>span{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:11px;
  font-weight:900;
  color:#182d55;
}
#finalSection .compact-player input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
#finalSection .compact-player i{
  width:19px;
  height:19px;
  border:2px solid #d5dde9;
  border-radius:6px;
  display:grid;
  place-items:center;
  font-style:normal;
  font-size:10px;
  font-weight:950;
  color:transparent;
  background:#fff;
}
#finalSection .compact-player:hover:not(:has(input:disabled)){
  background:#fffaf0;
}
#finalSection .compact-player.selected{
  background:#f1faf4;
}
#finalSection .compact-player.selected i,
#finalSection .compact-player.winner i{
  background:#e8f6ed;
  border-color:#63aa79;
  color:#247544;
}
#finalSection .compact-player.winner>span{
  color:#247544;
}
#finalSection .compact-player.winner>span:before{
  content:'★ ';
  color:#c89524;
}
#finalSection .compact-player:has(input:disabled){cursor:default}
#finalSection .compact-player:has(input:disabled):not(.winner){opacity:.72}
#finalSection .compact-match-actions{
  min-height:27px;
  padding:3px 6px 4px;
  border-top:1px solid #e8edf3;
  border-radius:0 0 11px 11px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  background:#fafbfd;
}
#finalSection .compact-progress{
  display:flex;
  align-items:center;
  gap:4px;
  font-size:8px;
  font-weight:900;
  color:#77839a;
  white-space:nowrap;
  cursor:pointer;
  text-transform:uppercase;
  letter-spacing:.02em;
}
#finalSection .compact-progress input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
#finalSection .compact-progress span{
  width:13px;
  height:13px;
  border:2px solid #cfd8e5;
  border-radius:4px;
  background:#fff;
  position:relative;
}
#finalSection .compact-progress.checked{color:#8b6200}
#finalSection .compact-progress.checked span{
  background:#d2a23a;
  border-color:#d2a23a;
}
#finalSection .compact-progress.checked span:after{
  content:'✓';
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#08245c;
  font-size:8px;
  font-weight:950;
}
#finalSection .compact-progress:has(input:disabled){opacity:.45;cursor:default}
#finalSection .compact-btn{
  border:0;
  border-radius:7px;
  background:#08245c;
  color:#fff;
  padding:4px 8px;
  min-height:20px;
  font-size:8px;
  line-height:1;
  font-weight:950;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:none;
}
#finalSection .compact-btn:hover:not(:disabled){background:#0d377e}
#finalSection .compact-btn:disabled{
  background:#d8dee8;
  color:#8792a5;
  cursor:not-allowed;
}
#finalSection .compact-btn.ghost{
  background:#eef3f9;
  color:#0b2f70;
  border:1px solid #d7e0ec;
}
#finalSection .compact-match-actions em{
  font-size:8px;
  color:#7d8797;
  font-style:normal;
  font-weight:900;
}
/* La finale ressort légèrement */
#finalSection .compact-round:last-child .compact-round-title{
  background:linear-gradient(135deg,#7b5708,#d0a039);
  color:#071f4d;
  border-color:#c9982d;
}
#finalSection .compact-round:last-child .compact-bracket-match{
  border-color:#d7bb72;
  box-shadow:0 7px 20px rgba(184,136,31,.12);
}
@media(max-width:1100px){
  #finalSection .compact-bracket{grid-template-columns:repeat(4,220px);min-width:934px;gap:16px}
}
@media(max-width:760px){
  #finalSection .compact-bracket{min-height:650px}
}

/* ===== Double KO v4.1 ===== */
.doubleko-container{max-width:1500px}.dk-setup{display:flex;align-items:center;justify-content:space-between;gap:20px}.dk-setup h2,.dk-section-head h2{margin:3px 0 5px;color:var(--navy);font-family:Georgia,serif}.dk-panel{padding:18px 20px}.dk-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.dk-badge{font-size:11px;font-weight:900;text-transform:uppercase;border-radius:999px;padding:7px 11px}.dk-badge.blue{background:#e9effc;color:#0b2c70}.dk-badge.gold{background:#fff2cc;color:#7c5700}.dk-scroll{overflow-x:auto;padding:2px 2px 12px}.dk-bracket{display:flex;gap:16px;min-width:max-content}.dk-round{width:225px}.dk-round h3,.dk-finals h3{font-family:Georgia,serif;color:var(--navy);text-align:center;margin:0 0 9px;font-size:15px}.dk-round-list{display:flex;flex-direction:column;gap:12px;justify-content:space-around;height:100%}.dk-match{background:#fff;border:1px solid #dbe3f0;border-radius:13px;padding:9px;box-shadow:0 5px 16px #10204a0b}.dk-match.live{border-color:#d5a62a;box-shadow:0 0 0 2px #f5d87855}.dk-match.done{background:#f8fafc}.dk-match-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#65728b;margin-bottom:5px}.dk-match-head b{font-size:11px;color:#33415e}.dk-match-head span{font-weight:900;font-size:9px}.dk-player{height:34px;border-top:1px solid #edf0f5;display:flex;align-items:center;gap:6px;font-weight:800;color:#17284d}.dk-player span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dk-player.waiting{color:#a7afbd;font-weight:600}.dk-player.won{color:#8a6200}.dk-pick{width:25px;height:25px;border-radius:7px;border:1px solid #cfd8e7;background:#fff;color:#aeb8c8;font-weight:900}.dk-pick.selected,.dk-player.won .dk-pick{background:#d5a62a;color:#10204a;border-color:#d5a62a}.dk-pick:disabled{opacity:.45}.dk-actions{border-top:1px solid #edf0f5;padding-top:7px;margin-top:3px;display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:10px;color:#66738c}.dk-actions .btn{padding:6px 10px;font-size:10px}.loser-panel{border-top:3px solid #d5a62a}.final-panel{background:linear-gradient(135deg,#fff,#fff9e9)}.dk-finals{display:grid;grid-template-columns:repeat(2,minmax(240px,360px));gap:24px;justify-content:center}.dk-reset{opacity:.55}.dk-reset.active{opacity:1}.dk-reset-wait{border:1px dashed #d7bd7c;border-radius:13px;padding:28px 16px;text-align:center;color:#7c6a3c;background:#fffdf7;font-size:12px}.display-mode .dk-setup{display:none}.display-mode .doubleko-container{max-width:none;width:100%;padding:10px}.display-mode .dk-panel{padding:12px}.display-mode .dk-round{width:205px}.display-mode .dk-match{padding:7px}.display-mode .dk-player{height:30px}@media(max-width:800px){.dk-setup{align-items:stretch;flex-direction:column}.dk-finals{grid-template-columns:1fr}.dk-round{width:210px}}

/* v4.3 — Simple élimination : même lisibilité compacte que Double KO */
.simple-dk-scroll{padding:8px 4px 16px}.simple-dk-bracket{align-items:stretch;gap:18px}.simple-dk-round{width:225px;display:flex;flex-direction:column}.simple-dk-round .dk-round-list{flex:1;min-height:100%;justify-content:space-around}.simple-dk-round .dk-match{margin:5px 0}.simple-dk-round:last-child .dk-match{border-color:#d5a62a;background:linear-gradient(135deg,#fff,#fff9e9);box-shadow:0 5px 18px rgba(213,166,42,.14)}
@media(max-width:800px){.simple-dk-round{width:210px}}

/* v4.4 — sélection vainqueur sans faux coches après remise à zéro */
.simple-dk-round .dk-pick:not(.selected){color:transparent;background:#fff;}
.simple-dk-round .dk-pick:not(.selected):not(:disabled):hover{background:#f7f9fc;border-color:#9cabc2;}
.simple-dk-round .dk-pick.selected{color:#10204a;}

/* ===== V4.7 · NOUVEL ACCUEIL ROYAL ===== */
.home-page.home-v47{
  min-height:100vh;
  margin:0;
  padding:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow-x:hidden;
  background:#f6f0e6 none center center/cover no-repeat fixed;
}
.home-v47 .home-stage{
  width:min(1020px,70vw);
  min-width:760px;
  min-height:min(860px,94vh);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:16px 12px 18px;
}
.home-v47 .home-brand{text-align:center;color:#071b4b;margin-bottom:24px;text-shadow:0 2px 0 rgba(255,255,255,.9)}
.home-v47 .home-logo{
  width:116px;height:116px;object-fit:contain;
  display:block;margin:0 auto 5px;
  filter:drop-shadow(0 8px 14px rgba(31,27,17,.18));
}
.home-v47 .home-brand h1{
  margin:0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(35px,3.2vw,58px);
  line-height:1;
  letter-spacing:.025em;
  color:#061a48;
}
.home-v47 .home-brand h1::after{content:'';display:inline-block;width:.25em}
.home-v47 .home-rule{
  margin:10px auto 0;
  display:flex;align-items:center;justify-content:center;gap:14px;
  color:#9a6b22;font-family:Georgia,'Times New Roman',serif;
  letter-spacing:.34em;font-size:clamp(11px,.9vw,15px);font-weight:700;
}
.home-v47 .home-rule span{height:1px;width:70px;background:linear-gradient(90deg,transparent,#b88a36)}
.home-v47 .home-rule span:last-child{background:linear-gradient(90deg,#b88a36,transparent)}
.home-v47 .home-brand p{
  margin:9px 0 0;
  font-family:'Segoe Script','Brush Script MT',cursive;
  font-size:clamp(20px,1.8vw,31px);
  color:#a8741d;
  font-weight:700;
  transform:rotate(-1deg);
}
.home-v47 .home-format-grid{
  width:100%;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.home-v47 .home-format-card{
  min-height:288px;
  padding:20px 14px 15px;
  border-radius:18px;
  border:2px solid #d4a440;
  background:linear-gradient(155deg,rgba(4,27,70,.97),rgba(7,45,99,.97));
  box-shadow:0 11px 26px rgba(17,32,64,.22),inset 0 1px 0 rgba(255,255,255,.12);
  color:#fff;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.home-v47 .home-format-card:hover{
  transform:translateY(-5px);
  border-color:#f0c867;
  box-shadow:0 18px 34px rgba(12,30,66,.30),0 0 0 4px rgba(211,164,64,.12);
}
.home-v47 .home-format-icon{
  height:48px;display:flex;align-items:center;justify-content:center;
  color:#e6b951;font-size:38px;line-height:1;
  text-shadow:0 2px 0 rgba(0,0,0,.18);
}
.home-v47 .home-format-card h2{
  margin:9px 0 8px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(19px,1.55vw,26px);
  line-height:1.05;
  color:#fff;
}
.home-v47 .home-format-card p{
  margin:0;color:#e9edf7;font-size:13px;line-height:1.35;min-height:54px;
}
.home-v47 .home-format-btn{
  width:100%;
  margin-top:auto;
  display:flex;align-items:center;justify-content:center;gap:7px;
  min-height:42px;padding:9px 10px;border-radius:999px;
  background:linear-gradient(180deg,#f0c45f,#d99d31);
  color:#081739;font-size:13px;font-weight:900;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 5px 12px rgba(0,0,0,.18);
}
.home-v47 .home-format-btn b{font-size:22px;line-height:0;margin-top:-2px}
.home-v47 .home-footer{margin-top:23px;text-align:center;color:#9d7025;font-family:Georgia,'Times New Roman',serif}
.home-v47 .home-footer-name{display:flex;align-items:center;justify-content:center;gap:14px;font-weight:800;letter-spacing:.2em;font-size:17px}
.home-v47 .home-footer-name span{height:1px;width:90px;background:linear-gradient(90deg,transparent,#b88a36)}
.home-v47 .home-footer-name span:last-child{background:linear-gradient(90deg,#b88a36,transparent)}
.home-v47 .home-footer-tagline{margin-top:7px;font-size:12px;letter-spacing:.2em}.home-v47 .home-footer-tagline b{padding:0 6px}

@media(max-width:1180px){
  .home-v47 .home-stage{width:min(940px,76vw);min-width:680px}
  .home-v47 .home-format-card{min-height:270px;padding-left:10px;padding-right:10px}
}
@media(max-width:900px){
  .home-page.home-v47{align-items:flex-start;background-position:center top;background-attachment:scroll;padding:18px 12px 38px}
  .home-v47 .home-stage{width:min(660px,92vw);min-width:0;min-height:auto;padding-top:12px}
  .home-v47 .home-format-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .home-v47 .home-format-card{min-height:250px}
  .home-v47 .home-logo{width:94px;height:94px}
  .home-v47 .home-brand{margin-bottom:18px}
}
@media(max-width:560px){
  .home-page.home-v47{background-position:center top}
  .home-v47 .home-stage{width:94vw}
  .home-v47 .home-format-grid{grid-template-columns:1fr}
  .home-v47 .home-format-card{min-height:220px}
  .home-v47 .home-rule span,.home-v47 .home-footer-name span{width:34px}
  .home-v47 .home-rule{letter-spacing:.18em;gap:8px}
}


/* ===== V4.8 · Accueil : logo agrandi + nouvelle signature ===== */
.home-v48 .home-stage{
  justify-content:center;
  padding-top:8px;
}
.home-v48 .home-brand{
  margin-bottom:20px;
}
.home-v48 .home-logo{
  width:190px;
  height:190px;
  margin:0 auto 4px;
  filter:drop-shadow(0 10px 18px rgba(31,27,17,.22));
}
.home-v48 .home-brand h1{
  font-size:clamp(38px,3.45vw,62px);
}
.home-v48 .home-rule{
  margin-top:8px;
}
.home-v48 .home-brand p{
  margin-top:7px;
}
.home-v48 .home-format-card{
  min-height:274px;
}
.home-v48 .home-footer-v48{
  margin-top:22px;
  width:100%;
}
.home-v48 .home-footer-credit{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  color:#13254b;
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  letter-spacing:.035em;
  text-shadow:0 1px 0 rgba(255,255,255,.9);
}
.home-v48 .home-footer-credit strong{font-weight:700}
.home-v48 .home-footer-credit span{
  height:1px;
  flex:0 1 120px;
  background:linear-gradient(90deg,transparent,#b88a36);
}
.home-v48 .home-footer-credit span:last-child{
  background:linear-gradient(90deg,#b88a36,transparent);
}
@media(max-width:1180px){
  .home-v48 .home-logo{width:165px;height:165px}
}
@media(max-width:900px){
  .home-v48 .home-logo{width:145px;height:145px}
  .home-v48 .home-footer-credit{font-size:14px}
  .home-v48 .home-footer-credit span{flex-basis:60px}
}
@media(max-width:560px){
  .home-v48 .home-logo{width:128px;height:128px}
  .home-v48 .home-footer-credit{gap:8px;font-size:12px;letter-spacing:0}
  .home-v48 .home-footer-credit span{display:none}
}

/* ===== V4.9 · FOND ROYAL GLOBAL + TRANSPARENCE ===== */
:root{
  --glass:rgba(255,255,255,.78);
  --glass-soft:rgba(255,255,255,.66);
  --glass-dark:rgba(5,24,68,.84);
  --glass-navy:rgba(6,24,68,.76);
}
html{
  min-height:100%;
  background:#efe8dd none center center / cover fixed no-repeat;
}
body,
.app-page,
.home-page,
.winner-page,
.winner-scene{
  background-color:transparent !important;
  background-image:none !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-attachment:fixed !important;
}
body{min-height:100vh}

/* voile très léger pour garder les textes lisibles */
.app-page::before,
.home-page::before{
  content:'';
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:rgba(255,255,255,.08);
}
.app-page > *, .home-page > *{position:relative;z-index:1}

/* navigation */
.topbar{
  background:linear-gradient(90deg,rgba(3,18,56,.94),rgba(11,44,112,.90)) !important;
  backdrop-filter:blur(10px) saturate(1.1);
  -webkit-backdrop-filter:blur(10px) saturate(1.1);
  box-shadow:0 8px 24px rgba(0,0,0,.16);
}

/* grands panneaux / formulaires */
.panel,
.registration-hero,
.registration-next,
.validation-note,
.auto-pool-info{
  background:var(--glass) !important;
  border-color:rgba(199,157,64,.48) !important;
  backdrop-filter:blur(12px) saturate(1.05);
  -webkit-backdrop-filter:blur(12px) saturate(1.05);
  box-shadow:0 14px 34px rgba(7,27,75,.14) !important;
}

/* tableaux, poules et cartes */
.match,
.pool-card,
.stat,
.registration-player,
.player-chip,
.empty-registration,
.round-title,
.bracket-section,
.bracket-panel,
.double-ko-section,
.ko-section,
.dashboard-column,
.dashboard-card,
.screen-column,
.screen-card,
.final-panel,
.gf-card{
  background:var(--glass-soft) !important;
  backdrop-filter:blur(9px) saturate(1.03);
  -webkit-backdrop-filter:blur(9px) saturate(1.03);
  box-shadow:0 8px 22px rgba(7,27,75,.12);
}

/* zones de classement et listes internes */
.pool-matches,
.pool-standings,
.standings-row,
.standings-head,
.registration-list,
.bracket-shell{
  background:transparent !important;
}
.pool-title{
  background:linear-gradient(180deg,rgba(11,52,121,.92),rgba(6,29,82,.90)) !important;
  backdrop-filter:blur(8px);
}

/* champs : opaques juste ce qu'il faut pour être pratiques */
input[type=text],input[type=number],textarea,select{
  background:rgba(255,255,255,.88) !important;
  backdrop-filter:blur(6px);
}

/* tableau simple/double KO : laisser apparaître le décor entre les colonnes */
.bracket,
.round,
.round-matches,
.double-ko-board,
.ko-board,
.winners-bracket,
.losers-bracket{
  background:transparent !important;
}

/* Mode écran garde le même fond */
.display-mode,
.display-mode body,
.screen-mode,
.screen-overlay,
.display-overlay{
  background-color:transparent !important;
  background-image:none !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
}
.screen-overlay,
.display-overlay{
  background-attachment:fixed !important;
}

/* accueil : le nouveau fond est lui aussi global */
.home-page{padding:32px}
.home-overlay{
  background:rgba(255,255,255,.12);
  border-radius:28px;
}
.format-card{
  background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(247,249,255,.72)) !important;
  backdrop-filter:blur(11px);
  -webkit-backdrop-filter:blur(11px);
}

/* animation champion sur le même décor */
.winner-scene::before{
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.13)) !important;
}
.winner-tournament,
.winner-btn{
  background:rgba(255,255,255,.76) !important;
  backdrop-filter:blur(10px);
}
.winner-btn.navy{background:rgba(6,31,87,.90) !important}

@media(max-width:900px){
  html,body,.app-page,.home-page,.winner-scene{background-attachment:scroll !important}
}

/* ===== V5.0 · GLASSMORPHISM PLUS TRANSPARENT ===== */
:root{
  --glass:rgba(255,255,255,.48);
  --glass-soft:rgba(255,255,255,.32);
  --glass-dark:rgba(5,24,68,.68);
  --glass-navy:rgba(6,24,68,.58);
}
.app-page::before,.home-page::before{background:rgba(255,255,255,.025)}
.topbar{
  background:linear-gradient(90deg,rgba(3,18,56,.78),rgba(11,44,112,.68)) !important;
  backdrop-filter:blur(16px) saturate(1.18);
  -webkit-backdrop-filter:blur(16px) saturate(1.18);
  border-bottom:1px solid rgba(225,180,74,.52);
}
.panel,.registration-hero,.registration-next,.validation-note,.auto-pool-info{
  background:rgba(255,255,255,.46) !important;
  border:1px solid rgba(255,255,255,.52) !important;
  outline:1px solid rgba(199,157,64,.24);
  backdrop-filter:blur(17px) saturate(1.15);
  -webkit-backdrop-filter:blur(17px) saturate(1.15);
  box-shadow:0 14px 38px rgba(7,27,75,.12),inset 0 1px 0 rgba(255,255,255,.55) !important;
}
.match,.pool-card,.stat,.registration-player,.player-chip,.empty-registration,.round-title,.bracket-section,.bracket-panel,.double-ko-section,.ko-section,.dashboard-column,.dashboard-card,.screen-column,.screen-card,.final-panel,.gf-card{
  background:rgba(255,255,255,.30) !important;
  border-color:rgba(255,255,255,.48) !important;
  backdrop-filter:blur(13px) saturate(1.12);
  -webkit-backdrop-filter:blur(13px) saturate(1.12);
  box-shadow:0 8px 24px rgba(7,27,75,.10),inset 0 1px 0 rgba(255,255,255,.48) !important;
}
.pool-title{
  background:linear-gradient(180deg,rgba(11,52,121,.70),rgba(6,29,82,.62)) !important;
  backdrop-filter:blur(14px) saturate(1.15);
  -webkit-backdrop-filter:blur(14px) saturate(1.15);
}
input[type=text],input[type=number],textarea,select{
  background:rgba(255,255,255,.66) !important;
  border-color:rgba(255,255,255,.58) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.home-overlay{background:rgba(255,255,255,.035)}
.format-card{
  background:linear-gradient(145deg,rgba(255,255,255,.43),rgba(240,245,255,.28)) !important;
  border-color:rgba(203,157,54,.68) !important;
  backdrop-filter:blur(16px) saturate(1.15);
  -webkit-backdrop-filter:blur(16px) saturate(1.15);
  box-shadow:0 12px 32px rgba(4,24,68,.14),inset 0 1px 0 rgba(255,255,255,.52) !important;
}
.winner-tournament,.winner-btn{
  background:rgba(255,255,255,.44) !important;
  backdrop-filter:blur(15px) saturate(1.12);
  -webkit-backdrop-filter:blur(15px) saturate(1.12);
}
.winner-btn.navy{background:rgba(6,31,87,.70) !important}
/* Les zones de bracket restent totalement ouvertes pour laisser respirer le décor. */
.bracket-shell,.bracket,.round,.round-matches,.double-ko-board,.ko-board,.winners-bracket,.losers-bracket,.pool-matches,.pool-standings,.registration-list{background:transparent !important}

/* ===== V5.1 · ULTRA GLASS — décor beaucoup plus visible ===== */
:root{
  --glass:rgba(255,255,255,.20);
  --glass-soft:rgba(255,255,255,.11);
  --glass-dark:rgba(5,24,68,.52);
  --glass-navy:rgba(6,24,68,.46);
}
.app-page::before,.home-page::before{background:rgba(255,255,255,0) !important}
.panel,.registration-hero,.registration-next,.validation-note,.auto-pool-info{
  background:rgba(255,255,255,.20) !important;
  border:1px solid rgba(255,255,255,.52) !important;
  outline:1px solid rgba(199,157,64,.38);
  backdrop-filter:blur(8px) saturate(1.08) !important;
  -webkit-backdrop-filter:blur(8px) saturate(1.08) !important;
  box-shadow:0 12px 28px rgba(5,22,62,.12),inset 0 1px 0 rgba(255,255,255,.55) !important;
}
.match,.pool-card,.stat,.registration-player,.player-chip,.empty-registration,.round-title,.bracket-section,.bracket-panel,.double-ko-section,.ko-section,.dashboard-column,.dashboard-card,.screen-column,.screen-card,.final-panel,.gf-card{
  background:rgba(255,255,255,.105) !important;
  border:1px solid rgba(255,255,255,.46) !important;
  outline:1px solid rgba(199,157,64,.18);
  backdrop-filter:blur(5px) saturate(1.06) !important;
  -webkit-backdrop-filter:blur(5px) saturate(1.06) !important;
  box-shadow:0 7px 18px rgba(5,22,62,.09),inset 0 1px 0 rgba(255,255,255,.42) !important;
}
.dashboard-column,.screen-column{background:rgba(255,255,255,.085) !important}
.stat{background:rgba(255,255,255,.16) !important}
.pool-title{
  background:linear-gradient(180deg,rgba(6,35,94,.72),rgba(4,25,72,.64)) !important;
  backdrop-filter:blur(7px) saturate(1.08) !important;
  -webkit-backdrop-filter:blur(7px) saturate(1.08) !important;
}
input[type=text],input[type=number],textarea,select{
  background:rgba(255,255,255,.52) !important;
  backdrop-filter:blur(5px) !important;
  -webkit-backdrop-filter:blur(5px) !important;
}
.format-card{background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(235,242,255,.10)) !important;backdrop-filter:blur(7px) saturate(1.08) !important;-webkit-backdrop-filter:blur(7px) saturate(1.08) !important}
.winner-tournament,.winner-btn{background:rgba(255,255,255,.22) !important;backdrop-filter:blur(7px) !important;-webkit-backdrop-filter:blur(7px) !important}
.winner-btn.navy{background:rgba(6,31,87,.58) !important}
/* Les grands intérieurs ne déposent plus de voile blanc : seul le contour en verre reste visible. */
.pool-matches,.pool-standings,.standings-row,.standings-head,.registration-list,.bracket-shell,.bracket,.round,.round-matches,.double-ko-board,.ko-board,.winners-bracket,.losers-bracket{background:transparent !important}

/* ===== V5.2 · FULL GLASS — barre haute + accueil ===== */
.topbar{
  background:linear-gradient(90deg,rgba(3,18,56,.42),rgba(11,44,112,.30)) !important;
  border-bottom:1px solid rgba(211,165,59,.72) !important;
  backdrop-filter:blur(8px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(8px) saturate(1.12) !important;
  box-shadow:0 7px 22px rgba(2,15,48,.13),inset 0 1px 0 rgba(255,255,255,.16) !important;
}
.topbar img{
  width:78px !important;height:78px !important;
  background:rgba(0,0,0,.18) !important;
  border:1px solid rgba(224,178,70,.55);
  box-shadow:0 4px 15px rgba(0,0,0,.18);
}
.topbar{height:98px !important}

.home-v47.home-v48 .home-stage{
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.22);
  outline:1px solid rgba(199,157,64,.22);
  border-radius:28px;
  backdrop-filter:blur(4px) saturate(1.06) !important;
  -webkit-backdrop-filter:blur(4px) saturate(1.06) !important;
  box-shadow:0 18px 45px rgba(3,18,56,.10),inset 0 1px 0 rgba(255,255,255,.24);
}
.home-v48 .home-brand{
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.22);
  border-radius:22px;
  padding:10px 18px 14px;
  backdrop-filter:blur(4px) !important;
  -webkit-backdrop-filter:blur(4px) !important;
}
.home-v47 .home-format-card,
.home-v48 .home-format-card{
  background:linear-gradient(145deg,rgba(4,27,77,.50),rgba(6,38,96,.38)) !important;
  border:1px solid rgba(224,178,70,.72) !important;
  backdrop-filter:blur(6px) saturate(1.10) !important;
  -webkit-backdrop-filter:blur(6px) saturate(1.10) !important;
  box-shadow:0 9px 25px rgba(2,16,49,.15),inset 0 1px 0 rgba(255,255,255,.14) !important;
}
.home-v48 .home-logo{width:190px !important;height:190px !important;filter:drop-shadow(0 8px 16px rgba(0,0,0,.22))}
.home-v48 .home-footer-v48{
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;padding:10px 16px;
  backdrop-filter:blur(4px) !important;-webkit-backdrop-filter:blur(4px) !important;
}
@media(max-width:900px){.topbar img{width:66px !important;height:66px !important}.topbar{height:auto !important;min-height:86px}.home-v48 .home-logo{width:155px !important;height:155px !important}}

/* ===== V5.3 · FOND ROYAL LIONS — global + accueil logo hero ===== */
html,body,.app-page,.home-page,.winner-scene{
  background-color:#071a3e !important;
  background-image:none !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-attachment:fixed !important;
}
.app-page::before,.home-page::before{background:rgba(2,16,48,.015) !important}

/* Le décor reste visible sous les panneaux de travail. */
.panel,.registration-hero,.registration-next,.validation-note,.auto-pool-info{
  background:rgba(255,255,255,.16) !important;
  backdrop-filter:blur(6px) saturate(1.05) !important;
  -webkit-backdrop-filter:blur(6px) saturate(1.05) !important;
}
.match,.pool-card,.stat,.registration-player,.player-chip,.empty-registration,.round-title,
.bracket-section,.bracket-panel,.double-ko-section,.ko-section,.dashboard-column,.dashboard-card,
.screen-column,.screen-card,.final-panel,.gf-card{
  background:rgba(255,255,255,.085) !important;
  backdrop-filter:blur(4px) saturate(1.04) !important;
  -webkit-backdrop-filter:blur(4px) saturate(1.04) !important;
}
.dashboard-column,.screen-column{background:rgba(255,255,255,.065) !important}

/* Accueil : le logo devient le vrai point focal. */
.home-page.home-v47{
  background-image:none !important;
  background-position:center center !important;
  background-size:cover !important;
}
.home-v47.home-v48 .home-stage{
  background:rgba(2,18,52,.12) !important;
  border-color:rgba(225,180,74,.34) !important;
  backdrop-filter:blur(3px) saturate(1.04) !important;
  -webkit-backdrop-filter:blur(3px) saturate(1.04) !important;
}
.home-v48 .home-brand{
  background:rgba(255,255,255,.055) !important;
  border-color:rgba(225,180,74,.28) !important;
  padding:18px 22px 16px !important;
  box-shadow:0 12px 30px rgba(2,16,48,.12), inset 0 1px 0 rgba(255,255,255,.18) !important;
}
.home-v48 .home-logo{
  width:250px !important;
  height:250px !important;
  object-fit:contain;
  background:rgba(0,0,0,.10);
  border-radius:34px;
  border:1px solid rgba(226,180,70,.72);
  padding:8px;
  box-shadow:0 0 0 8px rgba(225,180,74,.08),0 18px 40px rgba(0,0,0,.22) !important;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.26)) !important;
}
.home-v48 .home-brand h1{
  text-shadow:0 2px 0 rgba(255,255,255,.82),0 7px 22px rgba(2,19,55,.18) !important;
}
.home-v47 .home-format-card,.home-v48 .home-format-card{
  background:linear-gradient(145deg,rgba(3,24,67,.46),rgba(5,36,91,.34)) !important;
  backdrop-filter:blur(4px) saturate(1.05) !important;
  -webkit-backdrop-filter:blur(4px) saturate(1.05) !important;
}
.home-v48 .home-footer-v48{background:rgba(255,255,255,.045) !important}

/* En-tête des pages : davantage de décor visible, logo mieux détaché. */
.topbar{
  background:linear-gradient(90deg,rgba(2,15,47,.34),rgba(8,37,94,.24)) !important;
  backdrop-filter:blur(5px) saturate(1.07) !important;
  -webkit-backdrop-filter:blur(5px) saturate(1.07) !important;
}
.topbar img{
  width:82px !important;
  height:82px !important;
  background:rgba(0,0,0,.12) !important;
  border:1px solid rgba(226,180,70,.72) !important;
  box-shadow:0 0 0 4px rgba(225,180,74,.06),0 5px 18px rgba(0,0,0,.20) !important;
}
@media(max-width:900px){
  html,body,.app-page,.home-page,.winner-scene{background-attachment:scroll !important}
  .home-v48 .home-logo{width:190px !important;height:190px !important}
  .topbar img{width:68px !important;height:68px !important}
}

/* ===== V5.4 · FOND CLAIR LIONS DORÉS ===== */
html,body,.app-page,.home-page,.winner-scene{
  background-color:#f8f6f1 !important;
  background-image:none !important;
  background-position:center center !important;
  background-size:cover !important;
  background-repeat:no-repeat !important;
  background-attachment:fixed !important;
}
.app-page::before,.home-page::before{background:rgba(255,255,255,.01) !important}
/* Verre clair : laisse les lions visibles sans perdre la lecture. */
.panel,.registration-hero,.registration-next,.validation-note,.auto-pool-info{
  background:rgba(255,255,255,.24) !important;
  border-color:rgba(184,138,54,.38) !important;
  backdrop-filter:blur(5px) saturate(1.02) !important;
  -webkit-backdrop-filter:blur(5px) saturate(1.02) !important;
}
.match,.pool-card,.stat,.registration-player,.player-chip,.empty-registration,.round-title,
.bracket-section,.bracket-panel,.double-ko-section,.ko-section,.dashboard-column,.dashboard-card,
.screen-column,.screen-card,.final-panel,.gf-card{
  background:rgba(255,255,255,.20) !important;
  border-color:rgba(184,138,54,.28) !important;
  backdrop-filter:blur(3px) saturate(1.02) !important;
  -webkit-backdrop-filter:blur(3px) saturate(1.02) !important;
}
.dashboard-column,.screen-column{background:rgba(255,255,255,.16) !important}
/* Barre haute en verre clair/navy transparent pour rester lisible sur le fond ivoire. */
.topbar{
  background:linear-gradient(90deg,rgba(4,24,67,.86),rgba(13,52,116,.72)) !important;
  backdrop-filter:blur(8px) saturate(1.08) !important;
  -webkit-backdrop-filter:blur(8px) saturate(1.08) !important;
}
.home-page.home-v47{background-image:none !important}
.home-v47.home-v48 .home-stage{background:rgba(255,255,255,.10) !important;backdrop-filter:blur(2px) !important;-webkit-backdrop-filter:blur(2px) !important}
.home-v48 .home-brand{background:rgba(255,255,255,.14) !important}
.home-v47 .home-format-card,.home-v48 .home-format-card{background:linear-gradient(145deg,rgba(5,28,75,.76),rgba(9,45,105,.66)) !important}

/* ===== V5.5 · ACCUEIL ÉPURÉ + TABLEAUX DE POULES EN VERRE ===== */
/* Accueil : suppression des gros cadres imbriqués. Le décor devient la structure visuelle. */
.home-v47.home-v48 .home-stage{
  width:min(1120px,86vw) !important;
  min-width:0 !important;
  margin:0 auto !important;
  padding:18px 0 24px !important;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.home-v48 .home-brand{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:0 12px 14px !important;
  margin-bottom:12px !important;
}
.home-v48 .home-logo{
  width:220px !important;
  height:220px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 10px 18px rgba(66,43,7,.18)) !important;
}
.home-v47 .home-brand h1{
  margin-top:2px !important;
  font-size:clamp(38px,4.4vw,62px) !important;
  color:#071b4b !important;
}
.home-v47 .home-brand p{
  color:#8e651c !important;
  font-size:clamp(18px,1.6vw,25px) !important;
  background:transparent !important;
  text-shadow:0 1px 0 rgba(255,255,255,.8);
}
.home-v47 .home-format-grid{
  gap:14px !important;
  margin-top:4px !important;
}
.home-v47 .home-format-card,.home-v48 .home-format-card{
  min-height:245px !important;
  padding:20px 16px !important;
  background:linear-gradient(145deg,rgba(255,255,255,.34),rgba(255,255,255,.18)) !important;
  color:#0a2456 !important;
  border:1px solid rgba(255,255,255,.72) !important;
  outline:1px solid rgba(190,140,47,.25) !important;
  border-radius:20px !important;
  backdrop-filter:blur(7px) saturate(1.05) !important;
  -webkit-backdrop-filter:blur(7px) saturate(1.05) !important;
  box-shadow:0 10px 28px rgba(75,52,12,.10),inset 0 1px 0 rgba(255,255,255,.72) !important;
}
.home-v47 .home-format-card h2,.home-v48 .home-format-card h2{color:#092457 !important}
.home-v47 .home-format-card p,.home-v48 .home-format-card p{color:#42516d !important}
.home-v47 .home-format-icon,.home-v48 .home-format-icon{
  width:58px;height:58px;margin:0 auto 8px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,255,255,.36);border:1px solid rgba(255,255,255,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.home-v47 .home-format-btn,.home-v48 .home-format-btn{
  background:linear-gradient(180deg,#123b75,#082659) !important;
  color:#fff !important;
  border:1px solid rgba(198,151,53,.60) !important;
  box-shadow:0 6px 16px rgba(7,31,75,.16) !important;
}
.home-v48 .home-footer-v48{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  padding:8px 0 0 !important;
}
.home-footer-credit{color:#092457 !important}

/* Poules : les grands aplats blancs deviennent de vraies plaques de verre. */
.simple-pool-dashboard,
.simple-column,
.simple-column-content,
.standings-scroll,
.pool-card,
.pool-standings,
.pool-matches,
.dash-pool,
.dash-pool-head,
.dash-rank-head,
.dash-rank-row,
.dashboard-progress,
.manage-live,
.manage-summary>div,
.screen-pool,
.screen-pool-head,
.screen-pool-row{
  background:rgba(255,255,255,.12) !important;
  border-color:rgba(184,138,54,.28) !important;
  backdrop-filter:blur(4px) saturate(1.02) !important;
  -webkit-backdrop-filter:blur(4px) saturate(1.02) !important;
}
.simple-column{
  box-shadow:0 8px 22px rgba(18,42,85,.06),inset 0 1px 0 rgba(255,255,255,.48) !important;
}
.simple-column-content,.standings-scroll,.pool-standings,.pool-matches{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
.simple-column-title{
  background:linear-gradient(90deg,rgba(8,36,92,.86),rgba(15,60,131,.72)) !important;
  backdrop-filter:blur(6px) !important;
  -webkit-backdrop-filter:blur(6px) !important;
}
.current-column .simple-column-title{background:linear-gradient(90deg,rgba(110,75,0,.86),rgba(168,121,19,.72)) !important}
.standings-column .simple-column-title{background:linear-gradient(90deg,rgba(8,36,92,.86),rgba(15,60,131,.72)) !important}
.dash-pool-head,.dash-rank-head{
  background:rgba(255,255,255,.16) !important;
}
.dash-rank-row.qualified,.standings-row.qualified{
  background:rgba(222,247,229,.32) !important;
}
.pool-match-row,.screen-match-card,.manage-match{
  background:rgba(255,255,255,.16) !important;
  border-color:rgba(184,138,54,.20) !important;
}
.pool-match-row.finished-match{background:rgba(236,250,240,.24) !important}
.pool-player-choice,.pool-mini-check,.pool-score{
  background:rgba(255,255,255,.48) !important;
}
/* Evite qu'une colonne vide redevienne un grand panneau blanc via une règle ancienne. */
.simple-column:empty,.simple-column-content:empty{background:rgba(255,255,255,.08) !important}

@media(max-width:900px){
  .home-v47.home-v48 .home-stage{width:94vw !important;padding-top:10px !important}
  .home-v48 .home-logo{width:165px !important;height:165px !important}
}

/* V5.8 — lisibilité renforcée sur l'ensemble du site */
body,.app-page,.home-page{color:#10244f}
.panel,.registration-hero,.registration-player,.stat,.match,.simple-column,.simple-pool-dashboard,.dash-pool,.pool-card,.screen-pool{
  color:#10244f;
}
h1,h2,h3,h4,.topbar-title,.round-title,.format-name,.home-title,.registration-name,.name,.dash-pool-head,.simple-column-title{
  text-shadow:0 1px 1px rgba(255,255,255,.7);
}
.panel p,.help,.muted,.registration-hero p,.registration-next span,.stat span,.format-desc,.home-v47 .home-format-card p,.home-v48 .home-format-card p,
.match-number,.topbar-sub,.empty-state,.empty-registration,small{
  color:#334a72 !important;
  font-weight:600;
}
label,.field label,.registration-name,.player-chip,.name,.dash-rank-row,.standings-row,.pool-player-choice,.manage-match,.screen-match-card{
  color:#10244f !important;
}
.topbar,.simple-column-title,.registration-badge,.btn.navy{
  text-shadow:0 1px 2px rgba(0,0,0,.45);
}
footer,.home-footer-credit{
  color:#092457 !important;
  font-weight:800 !important;
  font-size:13px !important;
  text-shadow:0 1px 1px rgba(255,255,255,.85);
  letter-spacing:.02em;
}


/* ===== V5.9 · LOGO TOPBAR LISIBLE + NOM TOURNOI OFFICIEL ===== */
.topbar img{
  width:86px !important;
  height:86px !important;
  object-fit:contain !important;
  object-position:center !important;
  padding:6px !important;
  background:rgba(255,255,255,.96) !important;
  border:2px solid rgba(225,180,74,.92) !important;
  border-radius:16px !important;
  box-shadow:0 0 0 4px rgba(255,255,255,.20),0 5px 18px rgba(0,0,0,.20) !important;
  filter:none !important;
}
.topbar .topbar-title,.topbar .topbar-sub{
  color:#fff !important;
  text-shadow:0 1px 3px rgba(0,0,0,.58) !important;
}
#tournamentName[readonly]{
  background:rgba(255,255,255,.68) !important;
  color:#10244f !important;
  font-weight:800 !important;
  cursor:default !important;
  border-color:rgba(184,138,54,.46) !important;
}
@media(max-width:900px){
  .topbar img{width:72px !important;height:72px !important;padding:5px !important}
}

/* ===== V6.0 · BARRE DU HAUT BLEUE TRANSPARENTE ===== */
.topbar{
  background:linear-gradient(90deg,rgba(5,31,79,.76),rgba(17,62,128,.64)) !important;
  border-bottom:1px solid rgba(225,180,74,.42) !important;
  box-shadow:0 5px 18px rgba(5,25,65,.12) !important;
  backdrop-filter:blur(8px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(8px) saturate(1.12) !important;
}
.topbar .topbar-title,.topbar .topbar-sub{color:#fff !important}

/* ===== V6.1 · TOPBAR ULTRA GLASS ===== */
.topbar{
  background:linear-gradient(90deg,rgba(255,255,255,.14),rgba(15,52,111,.18),rgba(255,255,255,.10)) !important;
  border:1px solid rgba(225,180,74,.24) !important;
  border-left:0 !important;
  border-right:0 !important;
  box-shadow:0 6px 24px rgba(5,25,65,.08),inset 0 1px 0 rgba(255,255,255,.30) !important;
  backdrop-filter:blur(6px) saturate(1.08) !important;
  -webkit-backdrop-filter:blur(6px) saturate(1.08) !important;
}
.topbar .topbar-title{color:#10244f !important;text-shadow:0 1px 1px rgba(255,255,255,.9) !important}
.topbar .topbar-sub{color:#29446f !important;text-shadow:0 1px 1px rgba(255,255,255,.85) !important}
.topbar img{
  background:rgba(255,255,255,.34) !important;
  border:1px solid rgba(225,180,74,.62) !important;
  box-shadow:0 5px 18px rgba(5,25,65,.10),inset 0 1px 0 rgba(255,255,255,.55) !important;
  backdrop-filter:blur(4px) !important;
  -webkit-backdrop-filter:blur(4px) !important;
}

/* ===== V6.2 · LISIBILITE RENFORCEE SUR TOUT LE SITE ===== */
body,.app-page,.home-page{color:#071d49 !important}
.panel,.registration-hero,.registration-next,.validation-note,.auto-pool-info,
.match,.pool-card,.stat,.registration-player,.player-chip,.empty-registration,.round-title,
.bracket-section,.bracket-panel,.double-ko-section,.ko-section,.dashboard-column,.dashboard-card,
.screen-column,.screen-card,.final-panel,.gf-card{
  color:#071d49 !important;
}
p,.help,.muted,.registration-hero p,.registration-next span,.stat span,.format-desc,
.match-number,.empty-state,.empty-registration,small,.panel p{
  color:#173660 !important;
  font-weight:700 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.92) !important;
}
h1,h2,h3,h4,h5,.round-title,.registration-name,.name,.dash-pool-head,.simple-column-title,
label,.field label,.player-chip,.dash-rank-row,.standings-row,.pool-player-choice,.manage-match,.screen-match-card{
  color:#071d49 !important;
  font-weight:800 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.95) !important;
}
.topbar{
  background:linear-gradient(90deg,rgba(255,255,255,.38),rgba(28,65,120,.30),rgba(255,255,255,.32)) !important;
  border-bottom:1px solid rgba(177,127,35,.46) !important;
  backdrop-filter:blur(8px) saturate(1.12) !important;
  -webkit-backdrop-filter:blur(8px) saturate(1.12) !important;
}
.topbar .topbar-title{
  color:#061c49 !important;
  font-weight:900 !important;
  text-shadow:0 1px 0 #fff,0 2px 5px rgba(255,255,255,.95) !important;
}
.topbar .topbar-sub{
  color:#17345e !important;
  font-weight:800 !important;
  text-shadow:0 1px 0 #fff !important;
}
.topbar a,.topbar button,.topbar .btn{
  color:#071d49 !important;
  font-weight:800 !important;
  text-shadow:0 1px 0 rgba(255,255,255,.9) !important;
}
.topbar .btn.gold{color:#071d49 !important}
input,textarea,select{color:#071d49 !important;font-weight:700 !important}
footer,.home-footer-credit{color:#061c49 !important;font-weight:900 !important}

/* ===== V6.5 · LISIBILITE GLASS HAUT CONTRASTE ===== */
:root{
  --ink:#061b46;
  --ink-soft:#16345d;
  --glass-readable:rgba(255,255,255,.34);
  --glass-readable-soft:rgba(255,255,255,.24);
}

/* Le fond reste visible, mais le verre est assez laiteux pour isoler le texte des lions. */
.panel,.registration-hero,.registration-next,.validation-note,.auto-pool-info,
.bracket-section,.bracket-panel,.double-ko-section,.ko-section,.final-panel,.gf-card,
.simple-pool-dashboard,.simple-column,.dashboard-column,.screen-column{
  background:linear-gradient(145deg,rgba(255,255,255,.42),rgba(255,255,255,.27)) !important;
  border-color:rgba(177,127,35,.34) !important;
  backdrop-filter:blur(10px) saturate(.98) !important;
  -webkit-backdrop-filter:blur(10px) saturate(.98) !important;
  box-shadow:0 8px 26px rgba(6,27,70,.09),inset 0 1px 0 rgba(255,255,255,.78) !important;
}

.match,.pool-card,.stat,.registration-player,.player-chip,.empty-registration,
.dashboard-card,.screen-card,.dash-pool,.dash-rank-row,.standings-row,.pool-match-row,
.manage-match,.screen-match-card,.registration-badge{
  background:linear-gradient(145deg,rgba(255,255,255,.52),rgba(255,255,255,.34)) !important;
  border-color:rgba(177,127,35,.30) !important;
  backdrop-filter:blur(7px) saturate(.98) !important;
  -webkit-backdrop-filter:blur(7px) saturate(.98) !important;
}

/* Texte principal : marine profond + fin halo clair, lisible même sur une zone détaillée du fond. */
body,.app-page,.home-page,
h1,h2,h3,h4,h5,h6,p,span,label,small,strong,
.panel,.match,.pool-card,.stat,.registration-player,.player-chip,
.dash-rank-row,.standings-row,.pool-player-choice,.manage-match,.screen-match-card{
  color:var(--ink) !important;
}

h1,h2,h3,h4,h5,h6,.topbar-title,.round-title,.registration-name,.name,
.simple-column-title,.dash-pool-head{
  font-weight:900 !important;
  text-shadow:
    0 1px 0 rgba(255,255,255,1),
    1px 0 0 rgba(255,255,255,.78),
    -1px 0 0 rgba(255,255,255,.78),
    0 2px 4px rgba(255,255,255,.78) !important;
}

p,.help,.muted,.registration-hero p,.registration-next span,.stat span,
.match-number,.empty-state,.empty-registration,small,.topbar-sub{
  color:var(--ink-soft) !important;
  font-weight:750 !important;
  text-shadow:0 1px 0 rgba(255,255,255,1),0 0 3px rgba(255,255,255,.86) !important;
}

label,.field label,.player-chip,.name,.registration-name,
.dash-rank-row,.standings-row,.pool-player-choice,.manage-match,.screen-match-card{
  font-weight:800 !important;
}

/* Barre supérieure : vrai verre clair, mais avec suffisamment de matière pour lire partout. */
.topbar{
  background:linear-gradient(90deg,rgba(255,255,255,.62),rgba(220,231,247,.54),rgba(255,255,255,.58)) !important;
  border-bottom:1px solid rgba(177,127,35,.42) !important;
  box-shadow:0 6px 22px rgba(6,27,70,.10),inset 0 1px 0 rgba(255,255,255,.88) !important;
  backdrop-filter:blur(12px) saturate(1.02) !important;
  -webkit-backdrop-filter:blur(12px) saturate(1.02) !important;
}
.topbar .topbar-title,.topbar .topbar-sub,.topbar a,.topbar button,.topbar .btn{
  color:#04183f !important;
  font-weight:900 !important;
  text-shadow:0 1px 0 #fff,0 0 4px rgba(255,255,255,.95) !important;
}
.topbar .topbar-sub{font-weight:800 !important}

/* Champs et boutons secondaires : contraste stable. */
input,textarea,select{
  background:rgba(255,255,255,.78) !important;
  color:#04183f !important;
  font-weight:800 !important;
  border-color:rgba(116,87,31,.28) !important;
}
input::placeholder,textarea::placeholder{color:#62708a !important;opacity:1 !important}

footer,.home-footer-credit{
  color:#04183f !important;
  font-weight:900 !important;
  text-shadow:0 1px 0 #fff,0 0 4px rgba(255,255,255,.95) !important;
}

/* ===== V6.9 · GRANDE FINALE DOUBLE KO — scène centrale compacte ===== */
.final-panel{
  position:relative;
  overflow:hidden;
  padding:20px 24px 24px !important;
}
.final-panel .dk-section-head{
  max-width:980px;
  margin:0 auto 14px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(177,127,35,.26);
}
.final-panel .dk-section-head h2{font-size:26px !important}
.final-panel .dk-badge.gold{
  background:#0a2457 !important;
  color:#fff !important;
  border:1px solid rgba(213,166,42,.72);
  box-shadow:0 4px 12px rgba(10,36,87,.12);
}
.dk-finals{
  display:block !important;
  max-width:980px;
  margin:0 auto;
}
.gf-arena{
  position:relative;
  max-width:820px;
  margin:0 auto;
  padding:18px 20px 20px;
  border:1px solid rgba(177,127,35,.34);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,255,255,.60),rgba(255,250,236,.46)) !important;
  box-shadow:0 14px 34px rgba(6,27,70,.10),inset 0 1px 0 rgba(255,255,255,.90);
  backdrop-filter:blur(10px) saturate(1.02);
  -webkit-backdrop-filter:blur(10px) saturate(1.02);
}
.gf-status{
  width:max-content;
  max-width:100%;
  margin:0 auto 14px;
  padding:6px 12px;
  border-radius:999px;
  background:rgba(10,36,87,.08);
  border:1px solid rgba(10,36,87,.12);
  color:#0a2457 !important;
  font-size:11px;
  font-weight:900 !important;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.gf-status.live{
  background:#fff1bd;
  border-color:#d5a62a;
  color:#6d4b00 !important;
}
.gf-finalists{
  display:grid;
  grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);
  align-items:stretch;
  gap:14px;
  margin-bottom:18px;
}
.gf-finalist{
  min-height:98px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:13px 12px;
  border-radius:15px;
  border:1px solid rgba(10,36,87,.13);
  background:rgba(255,255,255,.58) !important;
  box-shadow:0 5px 16px rgba(6,27,70,.06);
}
.gf-finalist.winner-side{border-top:3px solid #0a3d8f}
.gf-finalist.loser-side{border-top:3px solid #d5a62a}
.gf-role{
  display:block;
  margin-bottom:6px;
  color:#5b6880 !important;
  font-size:10px;
  font-weight:900 !important;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.gf-finalist strong{
  width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#061b46 !important;
  font-family:Georgia,serif;
  font-size:18px;
  font-weight:900 !important;
}
.gf-finalist small{
  margin-top:5px;
  color:#60708c !important;
  font-size:10px;
  font-weight:800 !important;
}
.gf-vs{display:flex;align-items:center;justify-content:center}
.gf-vs span{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:50%;
  background:#0a2457;
  color:#fff !important;
  border:3px solid #e1b848;
  box-shadow:0 6px 16px rgba(6,27,70,.16);
  font-family:Georgia,serif;
  font-weight:900 !important;
  font-size:15px;
  text-shadow:none !important;
}
.gf-match-wrap{
  width:min(100%,430px);
  margin:0 auto;
}
.gf-match-label{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  margin:0 0 8px;
  color:#0a2457 !important;
  font-size:13px;
}
.gf-match-label strong{font-weight:900 !important}
.final-panel .gf-match-wrap .dk-match{
  padding:12px !important;
  border:1px solid rgba(177,127,35,.45) !important;
  border-radius:15px !important;
  background:rgba(255,255,255,.76) !important;
  box-shadow:0 8px 22px rgba(6,27,70,.10) !important;
}
.final-panel .gf-match-wrap .dk-player{height:39px;font-size:13px}
.final-panel .gf-match-wrap .dk-match-head{font-size:11px}
.final-panel .gf-match-wrap .dk-match-head b{font-size:12px}
.final-panel .gf-match-wrap .dk-actions{font-size:11px;padding-top:9px}
.final-panel .gf-match-wrap .dk-actions .btn{padding:8px 14px;font-size:11px}
.gf-decisive{
  max-width:620px;
  margin:18px auto 0;
  padding:16px 18px 18px;
  border:2px solid rgba(213,166,42,.58);
  border-radius:18px;
  background:linear-gradient(145deg,rgba(255,248,221,.76),rgba(255,255,255,.64)) !important;
  box-shadow:0 10px 26px rgba(125,86,0,.10);
}
.gf-decisive-head{text-align:center;margin-bottom:12px}
.gf-decisive-head h3{margin:7px 0 4px !important;font-size:20px !important}
.gf-decisive-head p{margin:0 auto;max-width:500px;font-size:11px;line-height:1.45}
.gf-decisive-badge{
  display:inline-block;
  padding:5px 10px;
  border-radius:999px;
  background:#d5a62a;
  color:#071d49 !important;
  font-size:9px;
  font-weight:900 !important;
  letter-spacing:.08em;
}
.gf-empty{
  max-width:520px;
  margin:4px auto;
  padding:26px 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  border:1px dashed rgba(177,127,35,.42);
  border-radius:17px;
  background:rgba(255,255,255,.40) !important;
}
.gf-empty .gf-trophy{font-size:28px;margin-bottom:6px}
.gf-empty strong{font-family:Georgia,serif;font-size:18px;color:#061b46 !important}
.gf-empty span{margin-top:5px;font-size:11px;color:#52617a !important}

@media(max-width:700px){
  .final-panel{padding:16px 12px 18px !important}
  .final-panel .dk-section-head h2{font-size:22px !important}
  .gf-arena{padding:14px 12px 16px;border-radius:16px}
  .gf-finalists{grid-template-columns:1fr;gap:8px}
  .gf-vs{height:34px}
  .gf-vs span{width:40px;height:40px;font-size:12px;border-width:2px}
  .gf-finalist{min-height:78px}
  .gf-finalist strong{font-size:16px}
  .gf-decisive{padding:14px 12px 16px}
}


/* ===== PARTAGE V2 · SANS LOGO / SANS IMAGE DE FOND ===== */
html,body,.app-page,.home-page,.winner-scene{
  background:#f4f6f9 !important;
  background-image:none !important;
  background-attachment:scroll !important;
}
.app-page::before,.home-page::before{display:none !important;background:none !important}
.home-page,.home-page.home-v47,.home-page.home-v47.home-v48,
.winner-scene,.screen-dashboard-inner{
  background:#f4f6f9 !important;
  background-image:none !important;
}
.home-logo,.topbar>img,.winner-logo,.screen-brand>img{display:none !important}
.topbar{
  background:rgba(255,255,255,.94) !important;
  border-bottom:1px solid #d9e0ea !important;
  box-shadow:0 3px 14px rgba(15,35,65,.08) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.topbar-title,.topbar-sub,.topbar div,.topbar a.ghost{color:#102a52 !important;text-shadow:none !important}
.topbar .ghost{border-color:#b8c4d4 !important;background:#fff !important}
.panel,.registration-hero,.registration-next,.validation-note,.auto-pool-info,
.match,.pool-card,.stat,.registration-player,.player-chip,.empty-registration,.round-title,
.bracket-section,.bracket-panel,.double-ko-section,.ko-section,.dashboard-column,.dashboard-card,
.screen-column,.screen-card,.final-panel,.gf-card,.home-v47 .home-format-card,.home-v48 .home-format-card{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* ===== PARTAGE V3 · NAVY + ORANGE MODERNE ===== */
:root{--share-navy:#07182f;--share-navy2:#0d2d52;--share-orange:#ff6a1a;--share-orange2:#ff8a3d;--share-ink:#10233f}
html,body,.app-page,.home-page,.winner-scene{
  background-color:var(--share-navy) !important;
  background-image:
    radial-gradient(circle at 4% 8%,rgba(255,106,26,.28),transparent 22%),
    radial-gradient(circle at 96% 42%,rgba(255,120,40,.22),transparent 25%),
    linear-gradient(145deg,#071426 0%,#0b294a 48%,#06172d 100%) !important;
  background-attachment:fixed !important;
  color:#fff;
}
body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;
  background:linear-gradient(155deg,transparent 15%,rgba(255,117,35,.10) 15.2%,transparent 15.5%,transparent 72%,rgba(255,117,35,.12) 72.2%,transparent 72.5%);
}
.app-page::before,.home-page::before{display:block !important;background:transparent !important}
.home-page,.home-page.home-v47,.home-page.home-v47.home-v48,.winner-scene,.screen-dashboard-inner{background-color:transparent !important;background-image:none !important}
.home-logo,.topbar>img,.winner-logo,.screen-brand>img{display:none !important}
.topbar{
  background:rgba(7,24,47,.82) !important;border-bottom:1px solid rgba(255,125,47,.40) !important;
  box-shadow:0 8px 24px rgba(0,0,0,.18) !important;backdrop-filter:blur(12px) !important;-webkit-backdrop-filter:blur(12px) !important;
}
.topbar-title,.topbar-sub,.topbar div{color:#fff !important;text-shadow:none !important}.topbar-sub{color:#dbe7f5 !important}
.topbar .ghost{color:#fff !important;border-color:rgba(255,255,255,.25) !important;background:rgba(255,255,255,.08) !important}
.topbar .ghost:hover{border-color:var(--share-orange) !important;background:rgba(255,106,26,.15) !important}

.panel,.registration-hero,.registration-next,.validation-note,.auto-pool-info,.bracket-section,.bracket-panel,.double-ko-section,.ko-section,.dashboard-column,.screen-column,.final-panel,
.home-v48 .home-brand,.home-v48 .home-footer-v48{
  background:rgba(249,251,255,.96) !important;border-color:rgba(255,255,255,.78) !important;
  box-shadow:0 14px 38px rgba(0,0,0,.18) !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
}
.match,.pool-card,.stat,.registration-player,.player-chip,.empty-registration,.round-title,.dashboard-card,.screen-card,.gf-card{
  background:#fff !important;border-color:#dbe3ee !important;box-shadow:0 6px 18px rgba(8,28,54,.09) !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
}
.panel,.registration-hero,.registration-next,.validation-note,.auto-pool-info,.match,.pool-card,.stat,.registration-player,.player-chip,.empty-registration,.round-title,.bracket-section,.bracket-panel,.double-ko-section,.ko-section,.dashboard-column,.dashboard-card,.screen-column,.screen-card,.final-panel,.gf-card{color:var(--share-ink) !important}
h1,h2,h3,h4,.panel h1,.panel h2,.panel h3,.registration-hero h1,.round-title,.dk-section-head h2{color:#0b2345 !important;text-shadow:none !important}
.eyebrow,.kicker,.registration-kicker{color:#d94c00 !important}
button,.btn,.primary,.home-format-card .home-card-cta,a.primary{background:linear-gradient(135deg,var(--share-orange),#ed4b0b) !important;color:#fff !important;border-color:transparent !important;box-shadow:0 7px 18px rgba(238,78,12,.24) !important}
button:hover,.btn:hover,.primary:hover,.home-format-card:hover .home-card-cta{filter:brightness(1.06)}

.home-v47 .home-stage,.home-v48 .home-stage{background:transparent !important;border:0 !important;box-shadow:none !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
.home-v48 .home-brand{background:transparent !important;border:0 !important;box-shadow:none !important;padding:20px !important}
.home-v48 .home-brand h1,.home-brand h1{color:#fff !important;font-family:Arial,sans-serif !important;font-weight:900 !important;text-shadow:none !important}
.home-v48 .home-brand h1::first-line{color:#fff}
.home-brand p,.home-rule strong{color:#dbe7f5 !important}.home-rule span{background:var(--share-orange) !important}
.home-v47 .home-format-card,.home-v48 .home-format-card{background:rgba(255,255,255,.97) !important;border:1px solid rgba(255,255,255,.78) !important;box-shadow:0 16px 32px rgba(0,0,0,.20) !important;color:var(--share-ink) !important}
.home-format-card h2,.home-format-card h3{color:#0b1830 !important}.home-format-card p{color:#455773 !important}
.home-footer,.home-footer-v48{background:transparent !important;color:#fff !important;border:0 !important;box-shadow:none !important}.home-footer-credit strong{color:#fff !important}.home-footer-credit span{background:var(--share-orange) !important}
footer,.footer,.page-footer{color:#fff !important}

input,textarea,select{background:#fff !important;color:#10233f !important;border:1px solid #cbd6e4 !important;box-shadow:inset 0 1px 2px rgba(10,30,55,.04) !important}
.status,.badge,.pill{border-color:#dbe3ee}
.gf-arena,.gf-decisive{background:linear-gradient(145deg,#fff7f1,#fff) !important;border-color:rgba(255,106,26,.45) !important}.gf-vs span,.gf-decisive-badge{background:var(--share-orange) !important;color:#fff !important}

@media(max-width:900px){html,body,.app-page,.home-page,.winner-scene{background-attachment:scroll !important}}

/* ===== PARTAGE V6 · TEXTE NET / ZERO FLOU ===== */
html,body,*{
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
/* Safari peut rendre les caractères flous lorsqu'ils sont dans un élément avec backdrop-filter. */
.topbar,.panel,.registration-hero,.registration-next,.validation-note,.auto-pool-info,
.match,.pool-card,.stat,.registration-player,.player-chip,.empty-registration,.round-title,
.bracket-section,.bracket-panel,.double-ko-section,.ko-section,.dashboard-column,.dashboard-card,
.screen-column,.screen-card,.final-panel,.gf-card,.gf-arena,.gf-decisive,
.home-stage,.home-brand,.home-format-card,.home-footer,
.simple-column-content,.standings-scroll,.pool-standings,.pool-matches{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.topbar{background:#0a2340 !important}
/* Pas de halo autour des caractères : contraste par couleur et graisse uniquement. */
body,h1,h2,h3,h4,h5,h6,p,span,strong,small,label,button,a,input,textarea,select,th,td,
.topbar-title,.topbar-sub,.home-brand h1,.home-brand p,.home-rule strong,
.panel,.panel *,.match,.match *,.pool-card,.pool-card *,.dashboard-card,.dashboard-card *{
  text-shadow:none !important;
}
body{font-weight:500}
p,small,.muted,.topbar-sub,.help,.hint{font-weight:600 !important}
h1,h2,h3,h4,.topbar-title,strong,th,label{font-weight:800 !important}
.panel,.registration-hero,.registration-next,.validation-note,.bracket-section,.bracket-panel,
.double-ko-section,.ko-section,.dashboard-column,.final-panel{background:#f9fbff !important}
.match,.pool-card,.stat,.registration-player,.player-chip,.dashboard-card,.screen-card,.gf-card{background:#fff !important}

/* ===== PARTAGE V6 · CONTRASTE BLANC / BLEU ===== */
:root{--v6-blue:#0b2a4d;--v6-blue-2:#123b67;--v6-white:#ffffff}

/* Sur le thème sombre : texte blanc net */
html,body,.app-page,.home-page,.winner-scene,
.home-stage,.home-brand,.home-footer,.page-footer,footer,
.topbar{
  color:var(--v6-white) !important;
}
body,body p,body span,body small,body strong,body label,body a,
body h1,body h2,body h3,body h4,body h5,body h6,
.home-brand h1,.home-brand p,.home-rule strong,
.home-footer,.home-footer *,.page-footer,.page-footer *,footer,footer *,
.topbar,.topbar *{
  text-shadow:none !important;
}

/* Barre de titre sombre : tout en blanc */
.topbar{background:rgba(8,32,59,.88) !important;border-bottom:1px solid rgba(255,122,40,.45) !important}
.topbar-title,.topbar-sub,.topbar div,.topbar span,.topbar strong,.topbar a{color:#fff !important}
.topbar .ghost{color:#fff !important;background:rgba(255,255,255,.08) !important;border-color:rgba(255,255,255,.38) !important}

/* Toutes les surfaces claires : texte bleu marine */
.panel,.registration-hero,.registration-next,.validation-note,.auto-pool-info,
.match,.pool-card,.stat,.registration-player,.player-chip,.empty-registration,.round-title,
.bracket-section,.bracket-panel,.double-ko-section,.ko-section,.dashboard-column,.dashboard-card,
.screen-column,.screen-card,.final-panel,.gf-card,.gf-arena,.gf-decisive,
.home-format-card,.simple-column-content,.standings-scroll,.pool-standings,.pool-matches,
table,thead,tbody,tr,td,th,
input,textarea,select,option{
  color:var(--v6-blue) !important;
}
.panel *,.registration-hero *,.registration-next *,.validation-note *,.auto-pool-info *,
.match *,.pool-card *,.stat *,.registration-player *,.player-chip *,.empty-registration *,
.bracket-section *,.bracket-panel *,.double-ko-section *,.ko-section *,.dashboard-column *,.dashboard-card *,
.screen-column *,.screen-card *,.final-panel *,.gf-card *,.gf-arena *,.gf-decisive *,
.home-format-card *,.simple-column-content *,.standings-scroll *,.pool-standings *,.pool-matches *,
table *,thead *,tbody *,tr *,td *,th *{
  color:var(--v6-blue) !important;
  text-shadow:none !important;
}

/* Exceptions : boutons / badges colorés gardent du blanc */
button,.btn,.primary,a.primary,.home-card-cta,
button *, .btn *, .primary *, a.primary *, .home-card-cta *,
.gf-vs span,.gf-decisive-badge{
  color:#fff !important;
}

/* Les cartes blanches restent bien opaques et lisibles */
.panel,.registration-hero,.registration-next,.validation-note,.auto-pool-info,
.bracket-section,.bracket-panel,.double-ko-section,.ko-section,.dashboard-column,.final-panel,
.home-format-card{background:rgba(249,251,255,.97) !important}
.match,.pool-card,.stat,.registration-player,.player-chip,.empty-registration,.round-title,
.dashboard-card,.screen-card,.gf-card,table,input,textarea,select{background:#fff !important}

/* Lisibilité renforcée */
body{font-weight:600 !important}
p,small,.muted,.help,.hint,.topbar-sub{font-weight:650 !important}
h1,h2,h3,h4,h5,h6,strong,th,label,.topbar-title{font-weight:800 !important}

/* Aucun flou sur les zones de texte */
.topbar,.panel,.registration-hero,.registration-next,.validation-note,.auto-pool-info,
.match,.pool-card,.stat,.registration-player,.player-chip,.empty-registration,.round-title,
.bracket-section,.bracket-panel,.double-ko-section,.ko-section,.dashboard-column,.dashboard-card,
.screen-column,.screen-card,.final-panel,.gf-card,.gf-arena,.gf-decisive,
.home-stage,.home-brand,.home-format-card,.home-footer,.simple-column-content,.standings-scroll,.pool-standings,.pool-matches{
  backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
}

/* ===== PARTAGE V7 · TITRE LOCAL + LISIBILITE TOPBAR/FOOTER ACCUEIL ===== */
/* Barre de titre : fond bleu, toutes les écritures blanches */
.topbar,
.topbar * ,
.topbar .topbar-title,
.topbar .topbar-sub,
.topbar div,
.topbar span,
.topbar small,
.topbar strong,
.topbar a,
.topbar button,
.topbar .btn,
.topbar .ghost{
  color:#fff !important;
  text-shadow:none !important;
}
.topbar .topbar-sub{color:#fff !important;opacity:.92 !important}
.topbar .ghost{
  border-color:rgba(255,255,255,.42) !important;
  background:rgba(255,255,255,.08) !important;
}

/* Accueil : la signature est posée directement sur le fond, sans barre/cadre blanc */
.home-page .home-footer,
.home-page .home-footer-v48,
.home-page .home-footer-credit{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.home-page .home-footer-credit strong{color:#fff !important;text-shadow:0 1px 2px rgba(0,0,0,.45) !important}
.home-page .home-footer-credit span{background:#ff7a28 !important}

/* ===== PARTAGE V8 · ACCUEIL — BARRE/TITRE EN BLANC ===== */
.home-page .home-brand,
.home-page .home-brand h1,
.home-page .home-brand p,
.home-page .home-brand strong,
.home-page .home-brand span,
.home-page .home-rule,
.home-page .home-rule strong{
  color:#fff !important;
}
.home-page .home-brand h1{
  font-weight:900 !important;
  text-shadow:0 2px 8px rgba(0,0,0,.30) !important;
}
.home-page .home-brand p,
.home-page .home-rule strong{
  color:#fff !important;
  opacity:1 !important;
  font-weight:800 !important;
  text-shadow:0 1px 5px rgba(0,0,0,.32) !important;
}
.home-page .home-rule span{background:#ff7a28 !important;}

/* ===== MODIFICATION DES RÉSULTATS + HISTORIQUE MATCHS DE POULES ===== */
.dashboard-head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.finished-toggle{white-space:nowrap;font-weight:800}
.finished-matches-panel{margin-top:16px;padding:16px;border:1px solid rgba(225,180,74,.45);border-radius:18px;background:rgba(255,255,255,.82)}
.finished-matches-panel[hidden]{display:none!important}
.finished-matches-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.finished-matches-head h3{margin:0;color:#071b49}
.finished-matches-head span{font-weight:800;color:#8b6418}
.finished-matches-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px}
.finished-history{margin:0!important}
.finished-score{grid-template-columns:1fr auto 1fr!important}
.dash-edit-btn,.match-edit-btn{border:1px solid rgba(9,35,88,.28)!important;background:#fff!important;color:#092358!important;font-weight:900!important;border-radius:10px!important;padding:7px 11px!important;cursor:pointer}
.dash-edit-btn:hover,.match-edit-btn:hover{background:#eef4ff!important;border-color:#d99b19!important}
@media(max-width:760px){.dashboard-head-actions{justify-content:flex-start;width:100%}.finished-matches-list{grid-template-columns:1fr}}


/* ===== Matchs terminés · fenêtre compacte ===== */
.finished-matches-panel{
  position:fixed !important; inset:0 !important; z-index:10050 !important;
  margin:0 !important; padding:clamp(18px,4vh,42px) 16px !important;
  border:0 !important; border-radius:0 !important;
  background:rgba(2,10,28,.68) !important;
  display:flex; flex-direction:column; align-items:center; justify-content:flex-start;
  overflow:auto; backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
}
.finished-matches-panel[hidden]{display:none!important}
.finished-matches-head,.finished-matches-list{
  width:min(760px,96vw); box-sizing:border-box;
}
.finished-matches-head{
  position:sticky; top:0; z-index:2; margin:0 !important; padding:12px 14px !important;
  background:#fff !important; border:1px solid #d7dfeb; border-radius:14px 14px 0 0;
  box-shadow:0 10px 28px rgba(0,0,0,.18);
}
.finished-matches-head>div{display:flex;align-items:baseline;gap:10px;min-width:0}
.finished-matches-head h3{font-size:17px!important;margin:0!important;color:#071b49!important}
.finished-matches-head span{font-size:12px!important;color:#667085!important;white-space:nowrap}
.finished-close{width:34px;height:34px;border:0;border-radius:9px;background:#eef2f7;color:#071b49;font-size:25px;line-height:1;cursor:pointer;font-weight:800}
.finished-matches-list{
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:7px !important;
  padding:10px !important; background:#f7f9fc !important; border:1px solid #d7dfeb; border-top:0;
  border-radius:0 0 14px 14px; box-shadow:0 14px 30px rgba(0,0,0,.18);
}
.finished-history{padding:8px 10px!important;border-radius:10px!important;min-height:0!important;background:#fff!important;border:1px solid #dde4ee!important;box-shadow:none!important}
.finished-history .dash-match-meta{margin-bottom:5px!important;font-size:11px!important}
.finished-history .dash-score-row{gap:6px!important;font-size:12px!important;line-height:1.2!important}
.finished-history .dash-score-row b{font-size:13px!important;white-space:nowrap}
.finished-history .dash-edit-btn{margin-top:6px!important;padding:5px 8px!important;min-height:28px!important;font-size:11px!important;width:100%}
@media(max-width:620px){
 .finished-matches-panel{padding:12px 8px!important}
 .finished-matches-head,.finished-matches-list{width:98vw}
 .finished-matches-list{grid-template-columns:1fr!important}
}


/* ===== Correction directe des scores depuis la fenêtre Matchs terminés ===== */
.finished-history.editing{padding:10px !important}
.finished-edit-row{grid-template-columns:minmax(0,1fr) 46px 12px 46px minmax(0,1fr) !important;gap:6px !important;align-items:center}
.finished-edit-score{width:46px !important;min-width:46px !important;height:34px !important;padding:2px 5px !important;border-radius:8px !important;text-align:center !important;font-weight:800 !important}
.finished-edit-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:8px}
.finished-edit-actions button{min-height:32px !important;padding:5px 9px !important;font-size:.78rem !important}
.compact-save{width:auto !important;margin:0 !important}
@media (max-width:600px){.finished-edit-row{grid-template-columns:minmax(0,1fr) 42px 10px 42px minmax(0,1fr) !important}.finished-edit-score{width:42px !important;min-width:42px !important}}

/* ===== TOURNOI LOCAL · VERSION COMMERCIALE 1.0 ===== */
html,body,.app-page,.home-page,.winner-scene{
  background-color:#07182f !important;
  background-image:radial-gradient(circle at 5% 8%,rgba(255,106,26,.24),transparent 22%),radial-gradient(circle at 96% 42%,rgba(255,120,40,.18),transparent 25%),linear-gradient(145deg,#071426 0%,#0b294a 48%,#06172d 100%) !important;
  background-attachment:fixed !important;
}
.commercial-version{font-size:11px;opacity:.86;color:#fff!important;font-weight:800;letter-spacing:.03em}
.commercial-badge{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:rgba(255,106,26,.16);border:1px solid rgba(255,137,74,.55);color:#fff;font-size:11px;font-weight:900;letter-spacing:.12em;margin-bottom:10px}
.commercial-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(850px,94vw);margin:0 auto 18px}
.commercial-tool-btn{appearance:none;border:1px solid rgba(255,255,255,.22);background:rgba(6,25,48,.80);color:#fff!important;border-radius:15px;padding:11px 13px;display:flex;align-items:center;gap:10px;text-align:left;text-decoration:none;cursor:pointer;box-shadow:0 10px 25px rgba(0,0,0,.12)}
.commercial-tool-btn:hover{border-color:#ff7a28;background:#0c3157}.commercial-tool-btn>b{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#ff6a1a;color:#fff;font-size:18px}.commercial-tool-btn span{display:grid;gap:2px}.commercial-tool-btn strong{color:#fff!important;font-size:13px}.commercial-tool-btn small{color:rgba(255,255,255,.78)!important;font-size:10px;font-weight:700}
.commercial-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,18px);opacity:0;pointer-events:none;z-index:20000;padding:10px 15px;border-radius:12px;background:#081f39;color:#fff;font-weight:800;box-shadow:0 10px 28px rgba(0,0,0,.3);transition:.2s}.commercial-toast.show{opacity:1;transform:translate(-50%,0)}
.commercial-help-wrap{width:min(1100px,94vw);margin:24px auto 36px}.commercial-help-hero{display:flex;justify-content:space-between;gap:20px;align-items:center}.commercial-help-hero h1{margin:.2rem 0 .4rem}.commercial-offline-pill{white-space:nowrap;padding:9px 12px;border-radius:999px;background:#eaf7ef;color:#176b3a!important;font-weight:900}.commercial-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:14px 0}.commercial-help-card{position:relative;padding-top:54px!important}.commercial-help-card>span{position:absolute;top:16px;left:16px;width:28px;height:28px;border-radius:9px;background:#ff6a1a;color:#fff!important;display:grid;place-items:center;font-weight:900}.commercial-help-card h2{margin:0 0 7px;font-size:17px}.commercial-help-card p,.commercial-help-note p{margin:0;line-height:1.55}.commercial-help-note{margin-top:14px}.commercial-help-note h2{margin-top:0}
@media(max-width:760px){.commercial-tools{grid-template-columns:1fr}.commercial-help-grid{grid-template-columns:1fr}.commercial-help-hero{align-items:flex-start;flex-direction:column}.commercial-offline-pill{align-self:flex-start}}

/* ===== VERSION COMMERCIALE 2.0 · ACTIVATION ===== */
.commercial-tools{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.license-overlay{position:fixed;inset:0;z-index:30000;display:grid;place-items:center;padding:18px;background:rgba(2,10,28,.86)}
.license-card{width:min(500px,94vw);box-sizing:border-box;background:#fff;color:#0b2a4d;border-radius:22px;padding:24px;box-shadow:0 24px 70px rgba(0,0,0,.42);display:grid;gap:14px}
.license-card *{text-shadow:none!important}.license-card h1{margin:3px 0 4px;color:#0b2a4d!important;font-size:26px}.license-lead{margin:0;color:#52657a!important;line-height:1.5}.license-mark{width:54px;height:54px;border-radius:16px;background:#ff6a1a;color:#fff!important;display:grid;place-items:center;font-weight:950;font-size:20px}.license-card label{display:grid;gap:6px;color:#0b2a4d!important;font-weight:850}.license-card input{box-sizing:border-box;width:100%;height:44px;border:1px solid #cbd5e1;border-radius:10px;padding:0 12px;color:#0b2a4d!important;background:#fff!important;font:inherit}.license-card input:focus{outline:2px solid rgba(255,106,26,.28);border-color:#ff6a1a}.license-error{padding:9px 11px;border-radius:9px;background:#fff0ed;color:#a52d19!important;font-weight:800}.license-activate{width:100%;min-height:44px}.license-note{color:#667085!important;text-align:center}.license-ok{display:grid;gap:5px;padding:14px;border-radius:12px;background:#eaf7ef;color:#176b3a!important}.license-ok *{color:#176b3a!important}.license-actions{display:flex;gap:9px;justify-content:flex-end}.license-danger{color:#8d2d20!important;background:#fff!important;border:1px solid #e2b8b1!important}
@media(max-width:900px){.commercial-tools{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:560px){.commercial-tools{grid-template-columns:1fr!important}.license-actions{flex-direction:column}.license-actions button{width:100%}}

/* ===== TOURNOI LOCAL WEB / PWA V1 ===== */
.pwa-statusbar{max-width:1180px;margin:0 auto 14px;display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:0 8px;color:#fff;font-weight:800}
#networkStatus{font-size:.82rem;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:8px 11px}
#networkStatus.offline{background:rgba(255,106,26,.18);border-color:rgba(255,106,26,.55)}
.pwa-install-btn{border:0;border-radius:999px;background:#ff6a1a;color:#fff;padding:9px 14px;font-weight:800;cursor:pointer}
@media(max-width:700px){.pwa-statusbar{justify-content:center;flex-wrap:wrap}.pwa-install-btn{min-height:44px}}
html.auth-checking body{visibility:hidden}.tl-login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(145deg,#071426,#0b294a 52%,#06172d);color:#fff}.tl-login-shell{width:min(100%,460px)}.tl-login-card{background:#f9fbff;color:#0b2a4d;border-radius:24px;padding:30px;box-shadow:0 24px 70px rgba(0,0,0,.28)}.tl-login-card h1{margin:14px 0 8px;color:#0b2a4d!important;font-size:clamp(30px,8vw,44px)}.tl-login-intro,.tl-login-note{color:#49617b!important;line-height:1.45}.tl-login-card form{display:grid;gap:10px;margin-top:22px}.tl-login-card label{color:#0b2a4d!important;font-weight:800}.tl-login-card input{width:100%;box-sizing:border-box;border:1px solid #b8c7d7;border-radius:12px;padding:14px 15px;font:inherit;color:#0b2a4d!important;background:#fff!important}.tl-login-submit{width:100%;margin-top:6px;padding:14px;border-radius:12px}.tl-login-submit:disabled{opacity:.65}.tl-login-error{min-height:22px;margin:0;color:#b42318!important;font-weight:700}.tl-login-note{font-size:13px;margin:18px 0 0}.tl-login-credit{margin-top:22px;padding-top:16px;border-top:1px solid #dbe3ec;text-align:center;color:#0b2a4d;font-size:12px;font-weight:800}.tl-accountbar{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin:4px auto 18px;color:#fff}.tl-accountbar button{border:1px solid rgba(255,255,255,.55);background:rgba(255,255,255,.08);color:#fff!important;border-radius:999px;padding:8px 13px;font-weight:800;cursor:pointer}.tl-accountbar span,.tl-accountbar b{color:#fff!important;font-size:13px}

/* ===== PWA V2.4 · TOPBAR ACTIONS BLANC ===== */
.topbar .topbar-actions a,
.topbar .topbar-actions a.btn,
.topbar .topbar-actions a.ghost,
.topbar .topbar-actions button,
.topbar .topbar-actions .btn,
.topbar .topbar-actions .ghost {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-decoration:none !important;
  text-shadow:none !important;
}
.topbar .topbar-actions a:visited,
.topbar .topbar-actions a:hover,
.topbar .topbar-actions a:active,
.topbar .topbar-actions a:focus {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}


/* ===== PWA V2.5 · BADGE NET + AIDE SUPPRIMÉE ===== */
.commercial-badge{
  background:#19324f !important;
  border:1px solid #ff8a3d !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  filter:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  text-shadow:none !important;
  box-shadow:none !important;
  transform:none !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  -webkit-font-smoothing:antialiased !important;
  -moz-osx-font-smoothing:grayscale !important;
  text-rendering:optimizeLegibility !important;
}
.commercial-tools{grid-template-columns:repeat(2,minmax(0,1fr))!important;max-width:620px!important}
@media(max-width:560px){.commercial-tools{grid-template-columns:1fr!important}}
