:root{--bg:#07111f;--bg2:#0d1b2e;--card:#111f33;--text:#f6f8fb;--muted:#aab7ca;--line:rgba(255,255,255,.12);--accent:#ff6a2a;--accent2:#ffd166;--green:#3ddc97;--shadow:0 24px 60px rgba(0,0,0,.35);--radius:24px;--max:1180px}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(circle at 15% 0%,rgba(255,106,42,.18),transparent 28%),radial-gradient(circle at 90% 8%,rgba(61,220,151,.12),transparent 25%),linear-gradient(180deg,var(--bg),#050913 70%);color:var(--text);line-height:1.5;min-height:100vh}a{color:inherit;text-decoration:none}.wrap{max-width:var(--max);margin:auto;padding:0 22px}.topbar{position:sticky;top:0;z-index:20;background:rgba(7,17,31,.86);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:-.02em}.logo{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,var(--accent),#ff2d55);display:grid;place-items:center;box-shadow:0 12px 30px rgba(255,106,42,.3)}.links{display:flex;gap:6px;align-items:center}.links a{padding:10px 11px;border-radius:999px;color:var(--muted);font-weight:800;font-size:14px}.links a:hover,.links a.active{background:rgba(255,255,255,.09);color:var(--text)}.admin{background:rgba(255,106,42,.15)!important;color:#ffd9c9!important;border:1px solid rgba(255,106,42,.3)}.burger{display:none;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;border-radius:14px;padding:10px 12px;font-size:20px}.hero,.pageHero{padding:64px 0 36px}.heroGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center}.tag,.pill{display:inline-flex;gap:8px;align-items:center;padding:8px 12px;border:1px solid rgba(255,255,255,.14);border-radius:999px;color:#ffe4d6;background:rgba(255,106,42,.09);font-weight:900;font-size:13px}.hero h1,.pageHero h1{font-size:clamp(38px,6vw,78px);line-height:.95;margin:18px 0;letter-spacing:-.07em}.hero h1 span,.pageHero h1 span{color:var(--accent)}.lead{font-size:clamp(17px,2.1vw,22px);color:var(--muted);max-width:760px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 18px;border-radius:16px;font-weight:950;border:1px solid var(--line);background:rgba(255,255,255,.07)}.btn.primary{background:linear-gradient(135deg,var(--accent),#ff365f);border:0;color:#fff;box-shadow:0 18px 40px rgba(255,106,42,.25)}.scoreCard{position:relative;min-height:390px;border:1px solid var(--line);border-radius:32px;background:linear-gradient(160deg,rgba(255,255,255,.12),rgba(255,255,255,.04));box-shadow:var(--shadow);overflow:hidden;padding:28px}.tableShape{position:absolute;inset:105px 36px auto;height:145px;border-radius:26px;background:linear-gradient(135deg,#12355b,#0a8f7a);border:8px solid rgba(255,255,255,.1);transform:rotate(-4deg)}.net{position:absolute;left:8%;right:8%;top:50%;height:5px;background:rgba(255,255,255,.5)}.ball{position:absolute;right:62px;top:68px;width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,var(--accent2));box-shadow:0 20px 38px rgba(255,209,102,.3)}.bigScore{position:absolute;bottom:28px;left:28px;right:28px;border-radius:24px;background:rgba(0,0,0,.35);padding:22px;border:1px solid var(--line)}.bigScore strong{font-size:56px;line-height:1}.bigScore p{margin:8px 0 0;color:var(--muted)}section{padding:34px 0}.sectionHead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.sectionHead h2{font-size:clamp(28px,4vw,44px);margin:0;letter-spacing:-.04em}.sectionHead p{margin:8px 0 0;color:var(--muted)}.grid{display:grid;gap:16px}.grid3{grid-template-columns:repeat(3,1fr)}.grid2{grid-template-columns:repeat(2,1fr)}.card{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border-radius:var(--radius);padding:20px;box-shadow:0 18px 45px rgba(0,0,0,.16)}.card h3{margin:0 0 8px;font-size:21px}.muted{color:var(--muted)}.metric{font-size:34px;font-weight:950;letter-spacing:-.04em}.team{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:start}.rank{min-width:76px;text-align:center;border-radius:18px;background:rgba(255,106,42,.13);border:1px solid rgba(255,106,42,.25);padding:10px}.rank b{font-size:26px;color:#ffd0bf}.list{display:grid;gap:10px}.row{display:grid;grid-template-columns:1.2fr .7fr .7fr .7fr;gap:10px;align-items:center;padding:13px;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}.row.head{color:var(--muted);font-weight:900;background:transparent;border:0;padding-bottom:4px}.player{grid-template-columns:2fr .9fr .7fr .7fr}.footer{padding:36px 0 48px;color:var(--muted);border-top:1px solid var(--line);margin-top:34px}.mobileHint{display:none;color:var(--muted);font-size:13px;margin-top:8px}@media(max-width:980px){.heroGrid,.grid3,.grid2{grid-template-columns:1fr}.links{display:none;position:absolute;left:16px;right:16px;top:76px;background:#0b1728;border:1px solid var(--line);border-radius:22px;padding:12px;box-shadow:var(--shadow);flex-direction:column;align-items:stretch}.links.open{display:flex}.links a{padding:15px 16px;border-radius:14px}.burger{display:block}.hero,.pageHero{padding-top:38px}.scoreCard{min-height:310px}.tableShape{height:120px;inset:92px 28px auto}.bigScore strong{font-size:46px}.sectionHead{display:block}.row,.player{grid-template-columns:1fr}.row.head{display:none}.row span{display:flex;justify-content:space-between;gap:12px}.row span::before{content:attr(data-label);color:var(--muted);font-weight:800}.card{padding:17px}.wrap{padding:0 16px}.mobileHint{display:block}}
.grid4{grid-template-columns:repeat(4,1fr)}.evo{font-weight:950}.evo.up{color:var(--green)}.evo.down{color:#ff6b6b}.evo.flat{color:var(--muted)}.progressList{display:grid;gap:10px}.progressItem{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08)}.monthPlayer h3{font-size:34px;margin:18px 0 6px}.stat{display:grid;gap:6px}.stat small{color:var(--muted);font-weight:900}.stat b{font-size:20px}.row.player small{display:block;color:var(--muted);font-weight:700;margin-top:3px}.historyRow{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.historyRow:last-child{border-bottom:0}.chartBox{min-height:270px}.chartBars{height:230px;display:flex;align-items:end;gap:12px}.barWrap{height:100%;flex:1;display:flex;flex-direction:column;justify-content:end;align-items:center;gap:8px}.bar{width:100%;max-width:44px;border-radius:12px 12px 4px 4px;background:linear-gradient(180deg,var(--accent2),var(--accent));min-height:8px}.barWrap small{color:var(--muted);font-weight:800}.editableContent p:first-child{margin-top:0}.adminGrid{display:grid;grid-template-columns:280px 1fr;gap:16px;align-items:start}.adminMenu{position:sticky;top:90px;display:grid;gap:12px}.adminTabs{display:flex;flex-wrap:wrap;gap:10px}.adminTabs button,.adminMenu input,.adminTab input,.adminTab textarea{border:1px solid var(--line);background:rgba(255,255,255,.07);color:var(--text);border-radius:14px;padding:13px 14px;font:inherit}.adminTabs button{font-weight:950;cursor:pointer}.adminTab label,.adminMenu label{display:block;color:var(--muted);font-size:13px;font-weight:900;margin:10px 0 6px}.adminTab textarea{min-height:130px;resize:vertical;width:100%}.adminTab input,.adminMenu input{width:100%}.adminList{display:grid;gap:14px}.adminItem{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;align-items:end}.adminItem textarea,.adminItem p,.adminItem button{grid-column:1/-1}.pageEdit{display:grid;gap:8px}.pageEdit textarea{min-height:240px}@media(max-width:980px){.grid4,.adminGrid{grid-template-columns:1fr}.adminMenu{position:static}.adminItem{grid-template-columns:1fr}.progressItem{align-items:flex-start}.chartBars{gap:7px}.bar{max-width:30px}}

/* Admin convivial V2 */
.adminBody{background:radial-gradient(circle at 15% 0%,rgba(255,106,42,.2),transparent 24%),radial-gradient(circle at 85% 5%,rgba(61,220,151,.16),transparent 25%),linear-gradient(180deg,#07111f,#050913 78%)}
.adminTopbar .nav{min-height:68px}.adminShell{padding-bottom:50px}.adminHero{padding:44px 0 24px}.adminHeroGrid{display:grid;grid-template-columns:1fr 420px;gap:24px;align-items:end}.adminHero h1{font-size:clamp(34px,5vw,58px);line-height:1;margin:16px 0 10px;letter-spacing:-.06em;max-width:850px}.adminSavePanel{border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.11),rgba(255,255,255,.045));border-radius:28px;padding:20px;box-shadow:var(--shadow)}.pinLine{display:grid;grid-template-columns:1fr auto;gap:10px}.adminSavePanel label,.formCard label,.friendlyItem label,.pageEdit label{display:block;color:var(--muted);font-size:13px;font-weight:950;margin:8px 0 7px}.adminSavePanel input,.formCard input,.formCard textarea,.friendlyItem input,.friendlyItem textarea,.pageEdit input,.pageEdit textarea{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.075);color:var(--text);border-radius:16px;padding:14px 15px;font:inherit;outline:none}.adminSavePanel input:focus,.formCard input:focus,.formCard textarea:focus,.friendlyItem input:focus,.friendlyItem textarea:focus,.pageEdit input:focus,.pageEdit textarea:focus{border-color:rgba(255,106,42,.65);box-shadow:0 0 0 4px rgba(255,106,42,.12)}.saveStatus{margin:12px 0 0;color:#d8e2f2;font-weight:800}.adminWorkspace{display:grid;grid-template-columns:310px 1fr;gap:18px;align-items:start}.adminSidebar{position:sticky;top:88px;padding:14px}.adminProfile{display:flex;gap:12px;align-items:center;padding:12px;margin-bottom:10px}.adminProfile span{width:46px;height:46px;border-radius:16px;background:rgba(255,106,42,.15);display:grid;place-items:center;font-size:24px}.adminProfile b{display:block}.adminProfile small,.adminNav small{display:block;color:var(--muted);font-weight:800;margin-top:2px}.adminNav{width:100%;display:flex;gap:12px;align-items:center;text-align:left;border:1px solid transparent;background:transparent;color:var(--text);border-radius:18px;padding:13px;cursor:pointer;font:inherit;font-weight:950}.adminNav>span{width:38px;height:38px;border-radius:14px;background:rgba(255,255,255,.07);display:grid;place-items:center}.adminNav:hover{background:rgba(255,255,255,.06)}.adminNav.active{background:linear-gradient(135deg,rgba(255,106,42,.24),rgba(255,255,255,.075));border-color:rgba(255,106,42,.35)}.adminHelp{margin:14px 4px 2px;padding:13px;border-radius:18px;background:rgba(61,220,151,.09);border:1px solid rgba(61,220,151,.18);color:#d7fff0;font-size:13px}.adminContent{min-width:0}.adminTabPro{display:none}.adminSectionTitle{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:16px}.adminSectionTitle h2{font-size:clamp(30px,4vw,46px);letter-spacing:-.05em;margin:10px 0 0}.quickStats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.statTile small{color:var(--muted);font-weight:950}.statTile b{display:block;font-size:24px;line-height:1.1;margin:8px 0}.statTile span{font-weight:950}.friendlyCard h3{font-size:24px;margin-bottom:16px}.monthPlayerAdmin{text-align:center;padding:18px}.monthBadge{width:70px;height:70px;margin:auto;border-radius:24px;background:linear-gradient(135deg,var(--accent),#ff365f);display:grid;place-items:center;font-size:34px;box-shadow:0 18px 40px rgba(255,106,42,.25)}.monthPlayerAdmin h3{font-size:34px;margin:16px 0 4px}.monthPlayerAdmin p{font-size:24px;font-weight:950;margin:0}.formCard{padding:22px}.formGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.formGrid.three{grid-template-columns:repeat(3,1fr)}.bigTextarea{min-height:190px}.pageEdit textarea{min-height:260px}.miniHeader{display:flex;gap:10px;align-items:center;margin-bottom:6px}.miniHeader span{width:38px;height:38px;border-radius:14px;background:rgba(255,255,255,.07);display:grid;place-items:center}.miniHeader h3{margin:0}.friendlyList{display:grid;gap:14px}.friendlyItem{padding:18px}.itemTop{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.itemTop strong{font-size:18px}.friendlyItem textarea{min-height:125px}.dangerBtn{border:1px solid rgba(255,107,107,.35);background:rgba(255,107,107,.12);color:#ffd5d5;border-radius:14px;padding:10px 12px;font-weight:950;cursor:pointer}.dangerBtn:hover{background:rgba(255,107,107,.2)}.tipCard{margin-bottom:14px;border-color:rgba(61,220,151,.24);background:rgba(61,220,151,.09);color:#eafff6;font-weight:850}.playerFields{display:grid;grid-template-columns:2fr 1fr .8fr;gap:14px}.playerResume{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.playerResume span{padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);font-weight:900}.emptyBox{border:1px dashed var(--line);border-radius:22px;padding:28px;text-align:center;color:var(--muted);font-weight:900;background:rgba(255,255,255,.035)}
@media(max-width:1100px){.adminHeroGrid,.adminWorkspace{grid-template-columns:1fr}.adminSidebar{position:static}.quickStats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.pinLine,.formGrid,.formGrid.three,.playerFields,.quickStats{grid-template-columns:1fr}.adminSectionTitle{display:block}.adminSectionTitle .btn{margin-top:12px;width:100%}.itemTop{align-items:flex-start}.adminHero{padding-top:28px}.adminSavePanel{border-radius:22px}.adminNav{padding:12px}.playerResume span{width:100%;display:flex;justify-content:space-between}.grid3{grid-template-columns:1fr}}

/* Admin V3 - equipes historisees */
.adminV3{--admin-panel:rgba(255,255,255,.085);--admin-field:rgba(255,255,255,.105)}
.adminHeroV3{padding:34px 0 18px}.adminHeroV3 h1{max-width:760px}.savePanelV3{background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.055));border-radius:30px}.adminWorkspaceV3{grid-template-columns:290px 1fr}.adminSidebarV3{background:rgba(255,255,255,.065)}
.adminV3 select,.publicFilters select{width:100%;border:1px solid var(--line);background:var(--admin-field);color:var(--text);border-radius:16px;padding:14px 15px;font:inherit;outline:none}.adminV3 select:focus,.publicFilters select:focus{border-color:rgba(255,106,42,.65);box-shadow:0 0 0 4px rgba(255,106,42,.12)}
.teamAdminToolbar{display:grid;grid-template-columns:220px 180px 1fr;gap:14px;margin-bottom:14px;align-items:end}.teamAdminToolbar label,.teamEditCard label,.publicFilters label{display:block;color:var(--muted);font-size:13px;font-weight:950;margin:0 0 7px}.teamAdminToolbar input{width:100%;border:1px solid var(--line);background:var(--admin-field);color:var(--text);border-radius:16px;padding:14px 15px;font:inherit;outline:none}
.teamEditCard{padding:0;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.105),rgba(255,255,255,.04))}.teamCardHeader{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:18px 18px 14px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.045)}.teamCardHeader strong{display:block;font-size:19px}.teamCardHeader small{display:block;color:var(--muted);font-weight:850;margin-top:3px}.teamFormGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;padding:18px}.teamFormGrid .wide{grid-column:span 2}.teamEditCard input,.teamEditCard textarea,.teamEditCard select{width:100%;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.08);color:var(--text);border-radius:15px;padding:13px 14px;font:inherit;outline:none}.teamEditCard textarea{min-height:88px;resize:vertical}.teamEditCard input:focus,.teamEditCard textarea:focus,.teamEditCard select:focus{border-color:rgba(255,106,42,.7);box-shadow:0 0 0 4px rgba(255,106,42,.12)}
.publicFilters{display:grid;grid-template-columns:220px 220px 1fr;gap:14px;margin-bottom:18px;align-items:end}.publicFilters input{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.075);color:var(--text);border-radius:16px;padding:14px 15px;font:inherit;outline:none}.teamsFrontGrid{align-items:stretch}.teamFrontCard{grid-template-columns:1fr auto;position:relative}.teamFrontCard .teamMetaLine{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.teamMetaLine span{border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.055);border-radius:14px;padding:10px;text-align:center}.teamMetaLine small{display:block;color:var(--muted);font-weight:900}.teamMetaLine b{font-size:18px}.teamNote{margin:10px 0 0;padding:10px 12px;border-radius:14px;background:rgba(61,220,151,.08);border:1px solid rgba(61,220,151,.16);color:#defeef}.teamRankBox{align-self:start}
@media(max-width:1100px){.adminWorkspaceV3,.teamAdminToolbar,.publicFilters{grid-template-columns:1fr}.teamFormGrid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.teamCardHeader{align-items:flex-start}.teamFormGrid,.teamFormGrid .wide{grid-template-columns:1fr;grid-column:auto}.teamFrontCard{grid-template-columns:1fr}.teamFrontCard .teamMetaLine{grid-template-columns:1fr}.adminHeroV3{padding-top:24px}}
.fieldHelp{display:block;margin-top:6px;font-size:.82rem;color:#64748b;line-height:1.35}.readonlyInput{background:#f1f5f9!important;color:#334155!important;font-weight:900;text-align:center;letter-spacing:.08em}.playerFields select{width:100%;border:1px solid rgba(15,23,42,.12);border-radius:14px;padding:13px 14px;background:#fff;font:inherit;font-weight:800;color:#0f172a;box-shadow:0 8px 20px rgba(15,23,42,.04)}

/* Admin V4 - ergonomie club */
.adminV4{background:#f4f7fb;color:#102033}.adminHeroV4{background:linear-gradient(135deg,#071b35,#123f76 55%,#1d7f7a);color:white;padding:34px 0}.adminHeroV4 h1{font-size:clamp(30px,5vw,58px);margin:8px 0}.adminHeroV4 .lead{color:rgba(255,255,255,.84)}.adminWorkspaceV4{display:grid;grid-template-columns:290px 1fr;gap:22px;align-items:start;margin-top:24px}.adminSidebarV4{position:sticky;top:14px;padding:14px;border:1px solid rgba(15,35,65,.08);box-shadow:0 18px 45px rgba(10,31,68,.08)}.adminProfile{display:flex;gap:12px;align-items:center;padding:12px;margin-bottom:10px}.adminProfile span{font-size:28px}.adminProfile small{display:block;color:#6d7b8c}.adminNav{width:100%;display:flex;gap:12px;align-items:center;text-align:left;border:0;background:transparent;border-radius:16px;padding:12px;cursor:pointer;color:#20334a}.adminNav:hover,.adminNav.active{background:#edf5ff}.adminNav.active{box-shadow:inset 4px 0 #1d66d1}.adminNav span{font-size:23px}.adminNav small{display:block;color:#718196}.adminHelp{font-size:13px;line-height:1.45;background:#fff7df;border:1px solid #ffe2a3;border-radius:14px;padding:12px;margin:12px}.adminContent{min-width:0}.quickActionGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:16px}.quickActionGrid button{border:0;border-radius:22px;padding:22px;background:white;box-shadow:0 14px 35px rgba(10,31,68,.08);font-size:18px;font-weight:800;cursor:pointer;text-align:left}.quickActionGrid button:hover{transform:translateY(-2px)}.globalSearchCard{margin-bottom:16px}.globalResults{display:grid;gap:8px;margin-top:10px}.globalResults div{background:#f7f9fc;border-radius:12px;padding:10px}.adminSectionTitle{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px}.adminSectionTitle h2{margin:4px 0;font-size:32px}.niceForm label,.formCard label,.teamAdminToolbar label,.globalSearchCard label{display:block;font-size:13px;font-weight:800;color:#53657a;margin:8px 0 6px}.niceForm input,.niceForm select,.niceForm textarea,.formCard input,.formCard select,.formCard textarea,.teamAdminToolbar input,.teamAdminToolbar select,.globalSearchCard input{width:100%;box-sizing:border-box;border:1px solid #d8e0ec;border-radius:14px;background:#fff;padding:12px 13px;font-size:15px;outline:none}.niceForm input:focus,.niceForm select:focus,.niceForm textarea:focus,.formCard input:focus,.formCard select:focus,.formCard textarea:focus,.teamAdminToolbar input:focus,.teamAdminToolbar select:focus,.globalSearchCard input:focus{border-color:#1d66d1;box-shadow:0 0 0 4px rgba(29,102,209,.12)}.niceForm textarea,.formCard textarea{min-height:90px;resize:vertical}.adminRow{margin-bottom:14px;border:1px solid rgba(15,35,65,.08);box-shadow:0 12px 28px rgba(10,31,68,.06)}.rowTop{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.rowTop button{border:0;background:#fff0f0;color:#b42318;border-radius:12px;padding:8px 10px;cursor:pointer}.formGrid,.teamAdminToolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.teamAdminToolbar{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:14px}.featureGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px}.featureGrid label{background:#f7f9fc;border-radius:14px;padding:12px;margin:0}.statTile small{display:block;color:#6d7b8c}.statTile b{display:block;font-size:28px;margin:4px 0}.homeAlert{background:#fff7df;color:#4d3610;border:1px solid #ffe2a3;padding:12px 14px;border-radius:16px;margin:16px 0;font-weight:800}.featuredGrid .featuredCard{min-height:210px}.partnerLogo{max-height:80px;max-width:160px;object-fit:contain;display:block;margin:12px 0}.partnersStrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}.partnerMini{background:white;border-radius:18px;padding:16px;text-align:center;text-decoration:none;color:inherit;box-shadow:0 10px 25px rgba(10,31,68,.06)}.partnerMini img{height:58px;max-width:130px;object-fit:contain;display:block;margin:0 auto 8px}.partnerMini span{display:block;font-weight:800}.partnerMini small{color:#718196}.scoreBadge{display:inline-flex;background:#edf5ff;color:#123f76;font-weight:900;border-radius:14px;padding:8px 12px;margin:8px 0}.matchFrontCard{display:block!important}
@media(max-width:900px){.adminWorkspaceV4{grid-template-columns:1fr}.adminSidebarV4{position:relative;top:auto}.quickActionGrid,.formGrid,.teamAdminToolbar,.featureGrid{grid-template-columns:1fr}.adminSectionTitle{display:block}.adminHeroGrid{grid-template-columns:1fr}}
.teamRenameCard{margin-bottom:14px;background:linear-gradient(135deg,#ffffff,#f4f8ff);border:1px solid #dbe7f6}.renameHeader{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.renameHeader p{margin:4px 0 0}.renameGrid{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.renameGrid label{display:block;font-size:13px;font-weight:800;color:#53657a;margin:8px 0 6px}.renameGrid input,.renameGrid select{width:100%;box-sizing:border-box;border:1px solid #d8e0ec;border-radius:14px;background:#fff;padding:12px 13px;font-size:15px;outline:none}.renameGrid input:focus,.renameGrid select:focus{border-color:#1d66d1;box-shadow:0 0 0 4px rgba(29,102,209,.12)}.renameAction .btn{white-space:nowrap}@media(max-width:900px){.renameHeader{display:block}.renameGrid{grid-template-columns:1fr}.renameAction .btn{width:100%}}

/* Admin equipes - saisons/phases */
.duplicateTeamsCard{border:1px solid rgba(37,99,235,.18);background:linear-gradient(135deg,#ffffff,#f7fbff)}
.duplicateGrid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:14px;align-items:end}
.duplicateGrid label,.renameGrid label{display:block;font-weight:800;font-size:.82rem;margin-bottom:6px;color:#0f172a}
.duplicateGrid select,.renameGrid select,.renameGrid input{width:100%;min-height:42px;border:1px solid #dbe3ef;border-radius:12px;padding:9px 11px;background:#fff}
.teamMeta{font-size:.82rem;font-weight:800;color:#64748b;background:#f1f5f9;border-radius:999px;padding:6px 10px;margin-left:auto;margin-right:10px;white-space:nowrap}
.teamsAdminList .adminRow{border-left:5px solid #2563eb}
@media(max-width:900px){.duplicateGrid{grid-template-columns:1fr 1fr}.duplicateGrid .renameAction{grid-column:1/-1}.teamMeta{display:block;margin:8px 0 0 0}}
@media(max-width:560px){.duplicateGrid{grid-template-columns:1fr}}

/* Filtres front en pastilles - remplace les listes déroulantes Saison / Phase */
.publicFilters .filterPillGroup{min-width:0}
.publicFilters .filterLabel{display:block;font-size:13px;font-weight:900;color:var(--muted);margin:0 0 10px;letter-spacing:.02em}
.publicFilters .filterPills{display:flex;flex-wrap:wrap;gap:9px}
.publicFilters .filterPill{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:var(--text);border-radius:999px;padding:11px 15px;font:inherit;font-weight:900;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}
.publicFilters .filterPill:hover{transform:translateY(-1px);border-color:rgba(255,106,42,.45);background:rgba(255,106,42,.10)}
.publicFilters .filterPill.active{background:linear-gradient(135deg,#ff6a2a,#ff965c);border-color:rgba(255,106,42,.95);color:#fff;box-shadow:0 12px 26px rgba(255,106,42,.22)}
.emptyFrontState{border:1px dashed rgba(255,255,255,.18);background:rgba(255,255,255,.055);border-radius:24px;padding:24px;margin:18px 0;color:var(--text);font-weight:850;text-align:center}
.emptyFrontState strong{color:#ffb08a}

/* Ping Competition hero - accueil uniquement */
.hero{
  position:relative;
  overflow:hidden;
  min-height:610px;
  display:flex;
  align-items:center;
  isolation:isolate;
  padding:78px 0 70px;
  margin-bottom:18px;
  background:
    linear-gradient(90deg,rgba(5,9,19,.98) 0%,rgba(5,9,19,.88) 36%,rgba(5,9,19,.50) 68%,rgba(5,9,19,.78) 100%),
    url('ping-competition-bg.svg') center right/cover no-repeat;
  border-bottom:1px solid rgba(255,255,255,.10);
  box-shadow:inset 0 -90px 110px rgba(5,9,19,.80);
}
.hero:before{
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 18% 25%,rgba(255,106,42,.26),transparent 26%),
    radial-gradient(circle at 78% 22%,rgba(42,168,255,.20),transparent 30%),
    linear-gradient(180deg,transparent 0%,rgba(5,9,19,.72) 100%);
  pointer-events:none;
}
.hero:after{
  content:'';
  position:absolute;
  inset:auto 0 0 0;
  height:190px;
  z-index:-1;
  background:linear-gradient(180deg,transparent,rgba(5,9,19,.96));
  pointer-events:none;
}
.hero .tag{
  border-color:rgba(255,106,42,.38);
  background:rgba(255,106,42,.16);
  box-shadow:0 0 32px rgba(255,106,42,.16);
}
.hero h1{
  text-shadow:0 18px 55px rgba(0,0,0,.72);
}
.hero .lead{
  color:#d7e1ef;
  text-shadow:0 8px 24px rgba(0,0,0,.55);
}
.hero .scoreCard{
  background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.045));
  border-color:rgba(255,255,255,.18);
  backdrop-filter:blur(14px);
}
@media(max-width:980px){
  .hero{
    min-height:auto;
    padding:54px 0 48px;
    background:
      linear-gradient(180deg,rgba(5,9,19,.94) 0%,rgba(5,9,19,.72) 54%,rgba(5,9,19,.96) 100%),
      url('ping-competition-bg.svg') 62% center/cover no-repeat;
  }
}

@media(max-width:760px){.publicFilters{grid-template-columns:1fr!important}.publicFilters .filterPills{gap:8px}.publicFilters .filterPill{padding:10px 12px;font-size:14px}}

/* Correctifs anti-régression V11 */
select{background:#0b1220!important;color:#fff!important;border:1px solid rgba(255,106,42,.55)!important;border-radius:16px;padding:14px 42px 14px 15px;font:inherit;outline:none;min-height:52px;color-scheme:dark}select option{background:#0b1220!important;color:#fff!important}.publicFilters.compactFilters{display:grid;grid-template-columns:280px 1fr;gap:14px;align-items:end}.publicFilters label,.teamAdminToolbar label{display:block;color:#b9cef0;font-size:13px;font-weight:950;margin:0 0 8px}.publicFilters input,.publicFilters select{width:100%;border:1px solid var(--line);background:#0b1220;color:#fff;border-radius:16px;padding:14px 15px;font:inherit}.teamFrontCard{grid-template-columns:1fr auto}.teamMetaLine{grid-column:1/-1;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;width:100%}.teamMetaLine span{min-width:0;text-align:center;border-radius:14px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.08);padding:12px 8px;display:grid!important;gap:3px}.teamMetaLine small{color:#b9cef0;font-weight:900}.teamMetaLine b{font-size:20px}.resultsRow{grid-template-columns:1.35fr .5fr .42fr .48fr .42fr}.resultsRow small{display:block;color:var(--muted);font-size:13px;margin-top:3px}.emptyBox{border:1px solid var(--line);background:rgba(255,255,255,.06);border-radius:18px;padding:18px;color:var(--muted)}
@media(max-width:980px){.publicFilters.compactFilters{grid-template-columns:1fr}.teamMetaLine{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:7px!important}.teamMetaLine span{padding:10px 4px}.teamMetaLine small{font-size:11px}.teamMetaLine b{font-size:17px}.resultsRow{grid-template-columns:1fr}.teamFrontCard{grid-template-columns:1fr}.teamRankBox{justify-self:start}}

/* Correctif admin lisible : l'admin reste en thème clair avec textes noirs. */
body.adminBody,
body.adminBody .adminContent,
body.adminBody .adminContent h1,
body.adminBody .adminContent h2,
body.adminBody .adminContent h3,
body.adminBody .adminContent h4,
body.adminBody .adminContent p,
body.adminBody .adminContent span,
body.adminBody .adminContent b,
body.adminBody .adminContent strong,
body.adminBody .adminContent label,
body.adminBody .adminContent div {
  color:#102033 !important;
}
body.adminBody .adminContent small,
body.adminBody .adminContent .muted,
body.adminBody .adminContent .saveStatus,
body.adminBody .adminContent .adminSectionTitle p {
  color:#526275 !important;
}
body.adminBody .adminContent input,
body.adminBody .adminContent textarea,
body.adminBody .adminContent select,
body.adminBody .adminContent option,
body.adminBody .adminSidebar input,
body.adminBody .adminSidebar textarea,
body.adminBody .adminSidebar select,
body.adminBody .adminSidebar option {
  background:#ffffff !important;
  color:#111827 !important;
  -webkit-text-fill-color:#111827 !important;
  border-color:#d8e0ec !important;
  caret-color:#111827 !important;
}
body.adminBody .adminContent input::placeholder,
body.adminBody .adminContent textarea::placeholder,
body.adminBody .adminSidebar input::placeholder,
body.adminBody .adminSidebar textarea::placeholder {
  color:#64748b !important;
  -webkit-text-fill-color:#64748b !important;
  opacity:1 !important;
}
body.adminBody .adminContent .btn.primary,
body.adminBody .adminContent .btn.primary *,
body.adminBody .adminContent button.btn.primary,
body.adminBody .adminContent button.btn.primary * {
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}
body.adminBody .adminContent .rowTop button,
body.adminBody .adminContent .rowTop button * {
  color:#b42318 !important;
  -webkit-text-fill-color:#b42318 !important;
}


/* Hero visuel ping premium */
.heroPingVisual{
  position:relative;
  width:100%;
  max-width:560px;
  aspect-ratio:1.05/1;
  margin-left:auto;
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:
    0 24px 70px rgba(0,0,0,.40),
    0 0 0 1px rgba(255,255,255,.035) inset,
    inset 0 1px 0 rgba(255,255,255,.12);
  background:#050913;
  transform:translateZ(0);
  isolation:isolate;
}
.heroPingVisual img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
  transform:scale(1.13);
  filter:saturate(1.06) contrast(1.03);
  border-radius:inherit;
  clip-path:inset(0 round 28px);
}
.heroPingVisual:before{
  content:'';
  position:absolute;
  inset:-45%;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(115deg,transparent 38%,rgba(255,255,255,.16) 48%,transparent 58%);
  transform:translateX(-65%) rotate(6deg);
  animation:heroPingShine 7s ease-in-out infinite;
  opacity:.55;
}
.heroPingVisual:after{
  content:'';
  position:absolute;
  inset:0;
  z-index:3;
  border-radius:inherit;
  background:
    radial-gradient(circle at 22% 28%,rgba(42,168,255,.16),transparent 28%),
    radial-gradient(circle at 88% 75%,rgba(255,70,55,.18),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.05),transparent 34%,rgba(0,0,0,.18));
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.055);
  pointer-events:none;
}
.heroPingVisual:hover img{
  transform:scale(1.115);
}
.heroPingVisual:hover{
  border-color:rgba(255,106,42,.28);
  box-shadow:
    0 30px 90px rgba(0,0,0,.48),
    0 0 34px rgba(255,106,42,.10),
    inset 0 1px 0 rgba(255,255,255,.15);
}
@keyframes heroPingShine{
  0%,55%{transform:translateX(-70%) rotate(6deg)}
  75%,100%{transform:translateX(70%) rotate(6deg)}
}
@media(max-width:900px){
  .heroPingVisual{
    max-width:none;
    aspect-ratio:1.15/1;
    border-radius:22px;
  }
  .heroPingVisual img{
    clip-path:inset(0 round 22px);
  }
}
@media(prefers-reduced-motion:reduce){
  .heroPingVisual:before{animation:none}
  .heroPingVisual img,.heroPingVisual:hover img{transform:scale(1.115)}
}

/* Photos - affichage propre desktop/mobile sans impact accueil */
.photosPageGrid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:start !important;
}
.photoAlbumCard{
  overflow:hidden;
  padding:20px !important;
  border-radius:26px !important;
}
.photoAlbumHead{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin-bottom:12px;
}
.photoAlbumHead h2{
  font-size:clamp(22px,2.4vw,32px) !important;
  line-height:1.12 !important;
  margin:12px 0 0 !important;
  letter-spacing:-.04em;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.photoAlbumHead strong{
  padding:9px 11px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid var(--line);
  white-space:nowrap;
  font-size:13px;
}
.photoAlbumCard .editableContent{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-bottom:14px;
}
.photoMosaicCompact{
  display:grid !important;
  grid-template-columns:1.25fr .75fr !important;
  grid-template-rows:repeat(2,108px) !important;
  gap:10px !important;
  margin-top:14px !important;
}
.photoMosaicCompact .photoThumb{
  position:relative;
  height:100% !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  border:0;
  padding:0;
  overflow:hidden;
  cursor:pointer;
  border-radius:16px !important;
  background:rgba(255,255,255,.06);
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}
.photoMosaicCompact .photoThumb:first-child{grid-row:span 2 !important;}
.photoThumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s ease;}
.photoThumb:hover img{transform:scale(1.04);}
.photoMoreBadge{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  background:rgba(2,6,23,.62);
  color:#fff;
  font-weight:950;
  font-size:18px;
  text-shadow:0 2px 10px rgba(0,0,0,.45);
}
.photoOpenBtn{
  width:100%;
  margin-top:14px;
  background:rgba(255,106,42,.13) !important;
  border-color:rgba(255,106,42,.35) !important;
  color:#ffe1d4 !important;
}
.photoLightbox{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;background:rgba(2,6,23,.92);padding:70px 76px;}
.photoLightbox.open{display:flex;}
.photoLightbox img{max-width:min(1100px,92vw);max-height:78vh;border-radius:22px;box-shadow:0 30px 80px rgba(0,0,0,.45);}
.photoClose,.photoPrev,.photoNext{position:absolute;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.10);color:#fff;border-radius:999px;cursor:pointer;}
.photoClose{top:22px;right:22px;width:46px;height:46px;font-size:30px;}
.photoPrev,.photoNext{top:50%;transform:translateY(-50%);width:54px;height:54px;font-size:42px;}
.photoPrev{left:22px;}.photoNext{right:22px;}.photoCaption{position:absolute;left:22px;right:22px;bottom:22px;text-align:center;color:#fff;font-weight:900;}
@media(max-width:980px){.photosPageGrid{grid-template-columns:1fr !important;}}
@media(max-width:620px){
  .photosPageGrid{gap:16px !important;}
  .photoAlbumCard{padding:16px !important;border-radius:22px !important;}
  .photoAlbumHead{display:block !important;margin-bottom:10px !important;}
  .photoAlbumHead h2{font-size:24px !important;line-height:1.14 !important;}
  .photoAlbumHead strong{display:inline-flex !important;margin-top:8px !important;font-size:13px !important;}
  .photoAlbumCard .editableContent{-webkit-line-clamp:3;font-size:15px;}
  .photoMosaicCompact{grid-template-columns:1fr 1fr !important;grid-template-rows:142px 88px !important;gap:8px !important;}
  .photoMosaicCompact .photoThumb:first-child{grid-column:1/-1 !important;grid-row:auto !important;}
  .photoMosaicCompact .photoThumb:nth-child(n+4){display:none !important;}
  .photoMoreBadge{font-size:16px;}
  .photoOpenBtn{min-height:48px;border-radius:15px !important;font-size:15px;}
  .photoLightbox{padding:62px 14px;}
  .photoPrev,.photoNext{width:44px;height:44px;font-size:34px;}
  .photoPrev{left:8px;}.photoNext{right:8px;}
}


/* Header - logo Flavigny TT intégré au bandeau */
.topbar .brand{
  gap:14px;
}
.topbar .site-logo{
  width:86px;
  height:56px;
  display:block;
  object-fit:contain;
  border-radius:0;
  background:#07111f;
  box-shadow:none;
  flex:0 0 auto;
}
.topbar .brand:hover .site-logo{
  transform:scale(1.03);
  transition:transform .18s ease;
}
@media(max-width:640px){
  .topbar .site-logo{
    width:74px;
    height:50px;
  }
  .topbar .brand{
    gap:10px;
  }
}


/* Correctif navigation desktop : Hall of Fame sur une seule ligne, style homogène */
@media (min-width:981px){
  .topbar .nav{gap:14px;}
  .topbar .links{gap:4px;flex-wrap:nowrap;}
  .topbar .links a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    white-space:nowrap;
    line-height:1;
    min-height:44px;
    padding:10px 10px;
    font-size:14px;
  }
  .topbar .links a.active{
    border-radius:999px;
  }
}


/* Audit final public - confort mobile et performance perçue */
@media(max-width:760px){
  html{scroll-padding-top:86px;}
  .wrap{width:min(100% - 28px,var(--wrap));}
  .pageHero{padding-top:34px;padding-bottom:24px;}
  .pageHero h1{font-size:clamp(32px,10vw,46px);line-height:1.02;}
  .pageHero .lead{font-size:16px;line-height:1.5;}
  .card{border-radius:22px;}
  .publicFilters.compactFilters{grid-template-columns:1fr!important;gap:12px;padding:14px!important;}
  .publicFilters select,.publicFilters input{min-height:48px;font-size:16px;}
  .topbar .links.open{max-height:calc(100vh - 78px);overflow:auto;}
  .btn{min-height:46px;}
}
@media(min-width:761px){
  .card,.photoAlbumCard,.resultTeamRow,.calendarTeam{content-visibility:auto;contain-intrinsic-size:1px 320px;}
}

/* Harmonisation premium des cartes publiques - base Resultats */
.premiumStatCard,
.newsPremiumCard,
.quickPremiumCard,
.premiumHomeCard,
.premiumPhotoAlbumCard,
.premiumCalendarTeam,
.page-performances .perfStat,
.page-performances .perfTeamCard,
.page-performances .perfPhotoCard{
  position:relative;
  overflow:hidden;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:
    radial-gradient(circle at 92% 5%,rgba(255,106,42,.24),transparent 24%),
    radial-gradient(circle at 0% 0%,rgba(29,102,209,.12),transparent 30%),
    linear-gradient(145deg,rgba(22,32,48,.98),rgba(8,15,28,.98)) !important;
  box-shadow:0 18px 45px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.premiumStatCard:before,
.newsPremiumCard:before,
.quickPremiumCard:before,
.premiumHomeCard:before,
.premiumPhotoAlbumCard:before,
.premiumCalendarTeam:before,
.page-performances .perfStat:before,
.page-performances .perfTeamCard:before,
.page-performances .perfPhotoCard:before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.05),transparent 42%,rgba(255,106,42,.035));
}
.premiumStatCard > *,
.newsPremiumCard > *,
.quickPremiumCard > *,
.premiumHomeCard > *,
.premiumPhotoAlbumCard > *,
.premiumCalendarTeam > *,
.page-performances .perfStat > *,
.page-performances .perfTeamCard > *,
.page-performances .perfPhotoCard > *{position:relative;z-index:1}
.newsPremiumCard h3,
.quickPremiumCard h3,
.premiumHomeCard h3,
.premiumPhotoAlbumCard h2,
.page-performances .perfStat b{
  color:#fff !important;
  letter-spacing:-.035em;
  text-shadow:0 2px 18px rgba(0,0,0,.22);
}
.newsPremiumCard .pill,
.premiumHomeCard .pill,
.premiumPhotoAlbumCard .pill,
.page-performances .perfPill{
  background:rgba(255,106,42,.14) !important;
  border-color:rgba(255,106,42,.28) !important;
  color:#ffe1d4 !important;
}
.quickPremiumCard,
.newsPremiumCard,
.premiumHomeCard{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.quickPremiumCard:hover,
.newsPremiumCard:hover,
.premiumHomeCard:hover{
  transform:translateY(-2px);
  border-color:rgba(255,106,42,.30) !important;
  box-shadow:0 22px 52px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.07) !important;
}
.playerStatsPremium .premiumStatCard small,
.premiumCalendarSummary .premiumStatCard small,
.page-performances .perfStat small{
  color:#b8c3d4 !important;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.playerStatsPremium .premiumStatCard b,
.premiumCalendarSummary .premiumStatCard b{
  display:block;
  color:#fff !important;
  font-size:30px;
  line-height:1.05;
  letter-spacing:-.04em;
}
.playersPremiumList .playerPremiumCard{
  border-radius:18px !important;
  border-color:rgba(255,255,255,.13) !important;
  background:
    radial-gradient(circle at 92% 5%,rgba(255,106,42,.24),transparent 24%),
    radial-gradient(circle at 0% 0%,rgba(29,102,209,.12),transparent 30%),
    linear-gradient(145deg,rgba(22,32,48,.98),rgba(8,15,28,.98)) !important;
  box-shadow:0 18px 45px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.premiumProgressList{
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:linear-gradient(145deg,rgba(22,32,48,.96),rgba(8,15,28,.96)) !important;
}
.premiumProgressList .progressItem{
  border-radius:14px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.08);
}
.premiumCalendarTeam .calendarTeamHead{position:relative;z-index:1}
.premiumCalendarTeam .calendarTeamBody{position:relative;z-index:1}
.premiumCalendarTeam .calendarMatch{
  border:1px solid rgba(255,255,255,.11) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06), 0 10px 24px rgba(0,0,0,.16);
}
.premiumCalendarTeam .calendarNumber,
.resultsList .resultTeamRow > span:nth-child(4):after,
.resultsList .resultTeamRow > span:nth-child(5):after,
.resultsList .resultTeamRow > span:nth-child(6):after{
  background:#ff8a3d !important;
}
.premiumPhotoAlbumCard .photoAlbumHead strong,
.resultBadges em{
  background:rgba(255,255,255,.055) !important;
  border-color:rgba(255,255,255,.12) !important;
}
.premiumPhotoAlbumCard .photoMosaicCompact .photoThumb{
  border:1px solid rgba(255,255,255,.12) !important;
  box-shadow:0 14px 32px rgba(0,0,0,.24) !important;
}
.page-performances .perfGrid4,
.page-performances .perfGrid3,
.page-performances .perfGrid2{gap:20px !important}
.page-performances .perfStat{
  min-height:178px;
  padding:24px !important;
}
.page-performances .perfStat b{font-size:30px !important}
@media(max-width:760px){
  .premiumStatCard,
  .newsPremiumCard,
  .quickPremiumCard,
  .premiumHomeCard,
  .premiumPhotoAlbumCard,
  .premiumCalendarTeam,
  .page-performances .perfStat,
  .page-performances .perfTeamCard,
  .page-performances .perfPhotoCard{border-radius:18px !important}
  .playerStatsPremium .premiumStatCard b,
  .premiumCalendarSummary .premiumStatCard b,
  .page-performances .perfStat b{font-size:26px !important}
}

/* Harmonisation premium - pages Club et Entrainements */
.premiumInfoSection{position:relative}
.premiumInfoGrid{display:grid;gap:20px}
.premiumInfoGrid2{grid-template-columns:repeat(2,minmax(0,1fr))}
.premiumInfoGrid3{grid-template-columns:repeat(3,minmax(0,1fr))}
.premiumInfoCard{
  position:relative;
  overflow:hidden;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:
    radial-gradient(circle at 92% 5%,rgba(255,106,42,.24),transparent 24%),
    radial-gradient(circle at 0% 0%,rgba(29,102,209,.12),transparent 30%),
    linear-gradient(145deg,rgba(22,32,48,.98),rgba(8,15,28,.98)) !important;
  box-shadow:0 18px 45px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.06) !important;
}
.premiumInfoCard:before{
  content:'';
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(135deg,rgba(255,255,255,.05),transparent 42%,rgba(255,106,42,.035));
}
.premiumInfoCard > *{position:relative;z-index:1}
.premiumInfoCard h3{
  margin:0 0 12px;
  color:#fff !important;
  font-size:24px;
  line-height:1.08;
  font-weight:950;
  letter-spacing:-.04em;
  text-shadow:0 2px 18px rgba(0,0,0,.22);
}
.premiumInfoCard .muted,
.premiumInfoCard .editableContent,
.premiumInfoCard p,
.premiumInfoCard li{color:#dbe7f5 !important}
.premiumInfoCard .muted{opacity:.88}
.premiumInfoLabel{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  margin:0 0 14px;
  padding:0 11px;
  border-radius:999px;
  background:rgba(255,106,42,.14);
  border:1px solid rgba(255,106,42,.28);
  color:#ffe1d4;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.premiumInfoCardMain{min-height:100%}
.premiumInfoCardMain .premiumInfoLabel{margin-bottom:16px}
.premiumInfoCardMain .editableContent,
.premiumInfoCardMain > div{font-size:16px;line-height:1.72}
.premiumStackCard{display:grid;gap:20px}
.premiumInfoBlock + .premiumInfoBlock{
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.11);
}
.premiumCtaCard .btn{margin-top:18px}
.premiumTrainingCard{min-height:210px}
.premiumTrainingCard:after,
.premiumInfoBlock:after{
  content:'';
  display:block;
  width:34px;
  height:3px;
  margin-top:18px;
  border-radius:999px;
  background:#ff8a3d;
  box-shadow:0 0 18px rgba(255,106,42,.38);
}
@media(max-width:980px){
  .premiumInfoGrid2,.premiumInfoGrid3{grid-template-columns:1fr}
}
@media(max-width:760px){
  .premiumInfoGrid{gap:16px}
  .premiumInfoCard{border-radius:18px !important;padding:20px !important}
  .premiumInfoCard h3{font-size:22px}
  .premiumInfoCardMain .editableContent,
  .premiumInfoCardMain > div{font-size:15px;line-height:1.65}
  .premiumTrainingCard{min-height:0}
}

/* =========================================================
   Pack finition front premium - Ludres Flavigny TT
   Finitions globales : header, boutons, cartes, mobile, etats vides.
   ========================================================= */
:root{
  --premium-card-bg:
    radial-gradient(circle at 92% 5%,rgba(255,106,42,.22),transparent 24%),
    radial-gradient(circle at 0% 0%,rgba(29,102,209,.11),transparent 30%),
    linear-gradient(145deg,rgba(22,32,48,.98),rgba(8,15,28,.98));
  --premium-border:rgba(255,255,255,.13);
  --premium-soft:rgba(255,255,255,.075);
}

html{scroll-behavior:smooth;}
body{overflow-x:hidden;}
::selection{background:rgba(255,106,42,.32);color:#fff;}

/* Header plus qualitatif, sans changer la structure */
.topbar{
  background:linear-gradient(180deg,rgba(7,17,31,.92),rgba(7,17,31,.76)) !important;
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}
.topbar:after{
  content:'';
  display:block;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,106,42,.45),rgba(255,255,255,.16),transparent);
  opacity:.78;
}
.links a{
  position:relative;
  transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease;
}
.links a:hover{transform:translateY(-1px);}
.links a.active{
  color:#fff !important;
  background:rgba(255,106,42,.16) !important;
  border:1px solid rgba(255,106,42,.30);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 10px 24px rgba(255,106,42,.10);
}
.links a.active:after{
  content:'';
  position:absolute;
  left:16px;
  right:16px;
  bottom:5px;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));
  opacity:.95;
}
.admin:hover{background:rgba(255,106,42,.22)!important;color:#fff!important;}

/* Boutons harmonises */
.btn,
button.btn,
a.btn,
.photoOpenBtn,
.publicFilters select,
select{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease,filter .18s ease;
}
.btn,
button.btn,
a.btn{
  min-height:48px;
  border-radius:16px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 12px 28px rgba(0,0,0,.14);
}
.btn:hover,
button.btn:hover,
a.btn:hover,
.photoOpenBtn:hover{
  transform:translateY(-2px);
  border-color:rgba(255,106,42,.38) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 18px 36px rgba(0,0,0,.22);
}
.btn.primary:hover{filter:saturate(112%) brightness(1.05);}
.btn:active,
button.btn:active,
a.btn:active{transform:translateY(0);}

/* Cartes : meme comportement premium partout, sans casser les grilles existantes */
.card,
.premiumInfoCard,
.resultTeamRow,
.calendarTeam,
.photoAlbumCard,
.newsCard,
.hofCard,
.playerCard,
.featureCard{
  transform:translateZ(0);
  transition:transform .20s ease,box-shadow .20s ease,border-color .20s ease,filter .20s ease;
}
.card:hover,
.premiumInfoCard:hover,
.resultTeamRow:hover,
.calendarTeam:hover,
.photoAlbumCard:hover,
.newsCard:hover,
.hofCard:hover,
.playerCard:hover,
.featureCard:hover{
  transform:translateY(-3px);
  border-color:rgba(255,106,42,.24) !important;
  box-shadow:0 22px 52px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.07) !important;
}

/* Badges et pills plus homogenes */
.tag,.pill,.scoreBadge,.resultBadges em,.premiumInfoLabel{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.tag,.pill{
  background:linear-gradient(180deg,rgba(255,106,42,.14),rgba(255,106,42,.075));
}

/* Etats vides propres */
.emptyBox,
.noData,
.noResults{
  position:relative;
  padding:22px 24px !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:
    radial-gradient(circle at 92% 10%,rgba(255,106,42,.17),transparent 26%),
    linear-gradient(145deg,rgba(22,32,48,.92),rgba(8,15,28,.94)) !important;
  color:#dbe7f5 !important;
  box-shadow:0 18px 42px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06) !important;
  font-weight:850;
}
.emptyBox:before,
.noData:before,
.noResults:before{
  content:'ℹ️';
  margin-right:8px;
}

/* Finition des formulaires publics */
.publicFilters,
.compactFilters{
  background:rgba(255,255,255,.055) !important;
  border-color:rgba(255,255,255,.12) !important;
}
.publicFilters label,
.compactFilters label{
  color:#cbd5e1 !important;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.045em;
  font-size:12px;
}
.publicFilters select,
.compactFilters select,
select{
  min-height:46px;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  font-weight:850;
}
.publicFilters select:focus,
.compactFilters select:focus,
select:focus{
  outline:none;
  border-color:rgba(255,106,42,.48) !important;
  box-shadow:0 0 0 4px rgba(255,106,42,.13);
}

/* Lisibilite des titres et textes sur mobile */
.pageHero .lead,
.hero .lead{line-height:1.58;}
.sectionHead p{line-height:1.55;}

/* Micro-animation d'arrivee sobre */
@media (prefers-reduced-motion:no-preference){
  main > section{animation:frontFadeUp .38s ease both;}
  main > section:nth-child(2){animation-delay:.04s;}
  main > section:nth-child(3){animation-delay:.08s;}
  @keyframes frontFadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
}

/* Polish mobile */
@media(max-width:980px){
  .topbar .nav{min-height:68px;}
  .links.open{
    background:linear-gradient(145deg,rgba(13,27,46,.98),rgba(5,9,19,.98)) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.38) !important;
  }
  .links.open a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:48px;
  }
  .links.open a.active:after{display:none;}
  .burger:hover{border-color:rgba(255,106,42,.38);background:rgba(255,106,42,.12);}
}
@media(max-width:760px){
  section{padding:24px 0;}
  .hero,.pageHero{padding:32px 0 24px !important;}
  .hero h1,.pageHero h1{font-size:clamp(34px,11vw,48px) !important;line-height:.98 !important;}
  .lead{font-size:16px !important;}
  .sectionHead{margin-bottom:14px;}
  .sectionHead h2{font-size:28px !important;line-height:1.05;}
  .actions{gap:10px;}
  .actions .btn{flex:1 1 100%;min-height:50px;}
  .card:hover,
  .premiumInfoCard:hover,
  .resultTeamRow:hover,
  .calendarTeam:hover,
  .photoAlbumCard:hover,
  .newsCard:hover,
  .hofCard:hover,
  .playerCard:hover,
  .featureCard:hover{transform:none;}
  .emptyBox,.noData,.noResults{padding:18px !important;border-radius:16px !important;}
  .footer{padding:28px 0 34px;text-align:center;font-size:13px;}
}



/* Correctif footer SEO : maillage propre, discret et lisible */
.footerSeoLinks{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:8px 10px;
  margin:0 0 14px;
  line-height:1.4;
}
.footerSeoLinks a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:inherit;
  opacity:.88;
  text-decoration:none;
  font-weight:850;
  font-size:13px;
  white-space:nowrap;
}
.footerSeoLinks a:hover{
  opacity:1;
  background:rgba(255,255,255,.075);
  text-decoration:none;
}
.footerSignature{opacity:.82;text-align:center;}
@media(max-width:760px){
  .footerSeoLinks{gap:7px;margin-bottom:12px;}
  .footerSeoLinks a{font-size:12px;min-height:32px;padding:6px 10px;}
}

.partnerLogo,.partnerMini img,.perfPhotoThumb,.photoThumb img{content-visibility:auto;}

/* Performance mobile : le visuel hero utilise des WebP legers via <picture> sans changer le rendu. */
.heroPingVisual picture{position:absolute;inset:0;display:block;width:100%;height:100%;}
