@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{font-family:'DM Sans',system-ui,-apple-system,sans-serif;color:#f3f6f9;background:#090f19;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}a{color:#d8fc65;text-decoration:none}.app{display:flex;min-height:100vh}.side{width:258px;min-width:258px;background:#0c1420;border-right:1px solid #263141;display:flex;flex-direction:column;padding:26px 18px;position:sticky;top:0;height:100vh}.logo{display:flex;align-items:center;gap:11px;font-family:'Outfit',sans-serif;font-size:12px;line-height:1.25;letter-spacing:1px;font-weight:800;margin:0 0 46px 6px}.logo strong{font-size:17px;letter-spacing:-.3px}.logo i{color:#dafa59;font-style:normal}.mark{background:#e2ff6a;color:#0b111c;height:42px;width:42px;border-radius:14px;display:grid;place-items:center;font:900 23px 'Outfit',sans-serif;transform:rotate(-8deg)}.mark span{font-size:12px}.side-label,.field-label{color:#66778b;font-size:11px;font-weight:800;letter-spacing:1.4px;margin:20px 10px 11px}.field-label{margin:12px 0 6px;letter-spacing:0;display:block;color:#aab9c9}.side select{width:100%;border:1px solid #2b394a;border-radius:9px;background:#152130;color:#e7eef8;padding:12px 10px;outline:none}nav{display:grid;gap:6px}nav button{background:none;color:#97a5b7;border:0;text-align:left;padding:15px 13px;border-radius:9px;font-weight:700;font-size:13px;display:flex;gap:13px;align-items:center}nav button:hover,nav button.active{background:#1e2a37;color:#e2ff70}nav button.active{border-left:3px solid #dafa59}.aside-bottom{margin-top:auto;color:#a9b7c7;font-size:12px;padding:18px 10px 0;border-top:1px solid #263141}.aside-bottom p{color:#62758b;line-height:1.6}.status-dot{display:inline-block;height:8px;width:8px;border-radius:50%;background:#daff65;box-shadow:0 0 13px #daff6570;margin-right:7px}.main{max-width:1500px;flex:1;min-width:0;padding:0 44px}.topbar{height:74px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #263141}.crumb{font-size:11px;letter-spacing:1.6px;color:#697c92;font-weight:800}.crumb strong{color:#dafa59}.pill{display:inline-flex;align-items:center;border-radius:30px;padding:9px 12px;font-size:10px;font-weight:900;letter-spacing:1px}.amber{color:#ffcf74;background:#4a351b}.green{color:#e2ff78;background:#29371d}.hero{background:linear-gradient(115deg,#1b2b3c 0%,#122030 55%,#1e3034 100%);min-height:316px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden;padding:32px 45px;border-radius:0 0 18px 18px}.eyebrow{font-size:10px;font-weight:900;letter-spacing:2px;color:#c6e76a}.hero h1{font-family:'Outfit',sans-serif;text-transform:uppercase;font-size:clamp(35px,4.8vw,62px);line-height:.95;margin:14px 0;letter-spacing:-2px}.hero h1 em{color:#dfff70;font-style:normal}.hero p{max-width:460px;font-size:13px;line-height:1.75;color:#b9c8d6;margin-bottom:19px}.btn{background:#dfff70;color:#111922;border:0;padding:13px 20px;font-weight:900;font-size:12px;letter-spacing:.2px;border-radius:9px}.btn:hover{filter:brightness(1.05)}.btn span{margin-left:18px}.btn.subtle{background:#243346;color:#e9f1f8;border:1px solid #45576a}.btn.full{width:100%}.hero-art{width:235px;height:235px;position:absolute;right:7%;top:42px}.orange{position:relative;transform:rotate(-16deg);background:#e67831;border:3px solid #0d1115;box-shadow:16px 20px 0 #0d111588,0 0 80px #e6783130;border-radius:50%;width:235px;height:235px;display:grid;place-items:center;overflow:hidden}.orange:before,.orange:after{content:"";position:absolute;border:3px solid #1d2024;border-radius:50%;width:340px;height:280px;top:-20px}.orange:after{left:-118px}.orange:before{right:-118px}.orange>span{z-index:1;text-align:center;font:900 38px/0.9 'Outfit',sans-serif;letter-spacing:-2px;color:#10161d;text-shadow:1px 1px #ffbd80}.seam{position:absolute;background:#212024;width:4px;height:100%;left:49%}.seam.s2{height:4px;width:100%;left:0;top:48%}.seam.s3{width:3px;left:30%;height:150%;transform:rotate(68deg)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0 32px}.stat{background:#101c2a;border:1px solid #283646;border-radius:13px;padding:22px 24px}.stat-k{font-size:10px;font-weight:900;letter-spacing:1.3px;color:#788ca1}.stat-v{font:800 31px 'Outfit',sans-serif;margin:10px 0 4px}.stat-v small{font-size:14px;color:#daff65}.stat-s{font-size:11px;color:#73869d}.page{display:none}.page.show{display:block}.sectionhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px}.sectionhead h2{font:800 clamp(26px,3.2vw,38px) 'Outfit',sans-serif;margin:6px 0}.sectionhead p,.block p,.roster-panel p{font-size:13px;line-height:1.65;color:#8498ab;margin:4px 0}.meta-counter{font-size:12px;color:#91a4b8}.filters{display:flex;gap:11px;margin:22px 0 14px}input:not([type=checkbox]),.filters select,.roster-panel select{border:1px solid #2a3b4c;background:#101c2a;padding:13px 14px;border-radius:9px;color:#f5f7f8;outline:0;min-width:0}.filters input{flex:1}.filters select{min-width:170px}.player-list{display:grid;gap:8px}.player{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid #273649;border-radius:11px;background:#111d2b}.jersey{width:44px;height:48px;background:#26394a;clip-path:polygon(22% 0,34% 6%,66% 6%,78% 0,100% 20%,86% 39%,83% 100%,17% 100%,14% 39%,0 20%);display:grid;place-items:center;font:900 19px 'Outfit',sans-serif;color:#e0ff6e}.player-info{flex:1;min-width:0}.player-info strong{font-size:14px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-info span{color:#7d91a8;font-size:11px}.player-right{text-align:right;min-width:76px}.player-right strong{font:800 17px 'Outfit',sans-serif}.player-right small{color:#8298af;font-size:10px;display:block}.add{border:0;background:#d9f967;color:#142028;width:36px;height:36px;border-radius:8px;font-size:24px;line-height:1}.add.selected{background:#2d4156;color:#b6c6d8}.empty{padding:36px;border:1px dashed #40546b;border-radius:13px;text-align:center;color:#98acbf}.team-layout,.two-col{display:grid;grid-template-columns:1.35fr 1fr;gap:17px}.court-wrap{min-width:0}.court{border-radius:15px;background:radial-gradient(ellipse at 50% 35%,#304d44 0%,#172d31 65%,#1b3033 100%);height:420px;position:relative;overflow:hidden;border:2px solid #385554}.court:before{content:"";position:absolute;inset:23px;border:2px solid #91aaa170;border-radius:3px}.court-line{position:absolute;left:23px;right:23px;top:50%;height:2px;background:#91aaa15c}.court-circle{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100px;height:100px;border:2px solid #91aaa167;border-radius:50%}.court-arc{position:absolute;left:50%;bottom:-130px;transform:translateX(-50%);width:390px;height:250px;border:2px solid #91aaa164;border-radius:50%}.court-net{position:absolute;left:50%;bottom:23px;transform:translateX(-50%);width:72px;height:15px;border:3px solid #91aaa179;border-radius:50%}.court-title{position:absolute;left:23px;top:14px;font-size:11px;font-weight:900;letter-spacing:2px;color:#b5d2ba}.starters{position:relative;z-index:1;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(2,150px);align-items:center;justify-items:center;margin:46px 30px}.slot{grid-column:span 2;display:flex;align-items:center;flex-direction:column;gap:5px;width:100%;min-width:0;text-align:center}.slot:nth-child(1){grid-column:2/span 2}.slot:nth-child(2){grid-column:4/span 2}.slot .avatar{height:65px;width:65px;border-radius:50%;background:#182830;border:2px solid #bddf65;display:grid;place-items:center;font:900 21px 'Outfit';color:#e1f18f;box-shadow:0 9px 25px #0004}.slot strong{max-width:90px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.slot span{font-size:10px;color:#aecdc0}.slot button{font-size:10px;border:1px solid #d5ed79;background:#e5ff7e;color:#192124;border-radius:7px;padding:4px 7px;font-weight:800}.slot button.captain{background:#ec9435;border-color:#ec9435}.bench{border:1px solid #263c46;background:#111d28;margin-top:13px;border-radius:12px;padding:15px}.bench h3{font-size:11px;letter-spacing:1px;margin:2px 0 12px}.bench small{color:#8297a3;font-weight:400}.bench-item{display:flex;align-items:center;gap:10px;padding:8px;border-top:1px solid #273b47;font-size:13px}.bench-item span{flex:1}.bench-item button{background:#243749;border:0;color:#eaf7ff;font-weight:700;border-radius:7px;padding:7px}.roster-panel,.block{background:#111d2a;border:1px solid #2a3b4b;border-radius:14px;padding:24px;align-self:start}.roster-panel h3,.block h3{font:800 21px 'Outfit';margin:0 0 10px}.input-group{margin:19px 0}.input-group label{display:block;font-weight:800;font-size:11px;color:#acbece;margin-bottom:7px}.input-group input,.input-group select{width:100%}.fine{font-size:11px!important;color:#6a8195!important;margin:14px 0!important}.check{display:flex;align-items:center;gap:9px;font-size:12px;color:#c4d1e0;margin:15px 0}.check input{accent-color:#d9fe67}.subhead{display:flex;justify-content:space-between;align-items:center;margin:30px 0 12px}.subhead h3{font:800 23px 'Outfit';margin:0}.subhead span{color:#8296a6;font-size:12px}.rank{border:1px solid #2c3b4a;border-radius:10px;background:#101c29;padding:13px 17px;margin:8px 0}.rank>header{display:flex;align-items:center;justify-content:space-between}.rank strong{font-size:14px}.rank code{color:#d7f973;font-size:13px}.rank>p{color:#8fa1b3;font-size:12px}.rank-row{display:flex;justify-content:space-between;padding:12px 0;border-top:1px solid #273949;font-size:12px;color:#c0cedb}.rank-row b{color:#e4ff7a}.result{font-size:12px;color:#b8c8d8;white-space:pre-wrap;margin:15px 0;line-height:1.5;word-break:break-word}.external{display:inline-block;font-size:12px;margin-top:12px}.note{margin:19px 0}.note ul{color:#9ab0c1;font-size:13px;line-height:1.8;padding-left:20px}.note p{border-top:1px solid #2c3b4e;margin-top:15px;padding-top:14px}#alert:not(:empty){background:#283948;border-left:3px solid #dffd71;padding:13px 16px;border-radius:7px;margin:-13px 0 25px;font-size:13px}footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;color:#73879a;font-size:10px;letter-spacing:.5px;margin:65px 0 26px;padding-top:16px;border-top:1px solid #243345}footer strong{color:#b1c6d1}
@media(max-width:1100px){.side{width:220px;min-width:220px}.main{padding:0 22px}.hero-art{right:4%;transform:scale(.8)}.hero{padding-left:26px}.hero h1{font-size:45px}.team-layout{grid-template-columns:1fr}.court-wrap{max-width:680px}}
@media(max-width:740px){.app{display:block}.side{position:relative;height:auto;width:auto;display:block;padding:14px 16px}.logo{margin:0 0 15px}.side-label,.field-label,.aside-bottom{display:none}.side select{width:49%;padding:9px;font-size:11px}nav{display:flex;overflow-x:auto;gap:5px;margin-top:11px}nav button{font-size:17px;padding:10px 13px;white-space:nowrap}nav button span{display:none}.main{padding:0 14px}.topbar{height:48px}.hero{min-height:260px;padding:23px 18px}.hero h1{font-size:39px}.hero p{max-width:76%;font-size:11px}.hero-art{right:-80px;top:50px;transform:scale(.63)}.stats{gap:7px;margin:10px 0 27px}.stat{padding:13px 10px}.stat-k{font-size:8px;letter-spacing:0}.stat-v{font-size:22px}.stat-v small{font-size:11px}.stat-s{font-size:9px}.two-col{grid-template-columns:1fr}.player-right{min-width:65px}.player-info strong{font-size:12px}.filters select{min-width:110px;font-size:10px}.sectionhead h2{font-size:28px}.court{height:425px}.starters{margin:46px 20px}.slot .avatar{height:55px;width:55px}.pill{font-size:8px}.crumb{font-size:9px}}

.sync-panel{margin-bottom:18px}.sync-title,.sync-controls{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.sync-controls{justify-content:flex-start;margin:18px 0}.sync-panel .input-group input{max-width:460px}.sync-panel button:disabled{opacity:.55;cursor:wait}.progress-outer{height:8px;background:#273b47;border-radius:7px;overflow:hidden;margin:16px 0 8px}.progress-inner{height:100%;width:0;background:#ddff76;transition:width .25s}.fixtures-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.fixture{padding:13px;border:1px solid #2c3b4a;border-radius:9px;display:grid;gap:6px;background:#101c29}.fixture span,.fixture small{font-size:11px;color:#8ca0b2}.fixture strong{font-size:12px}@media(max-width:740px){.fixtures-list{grid-template-columns:1fr}}

/* V3 : barre d'apparence et classement par journée */
.theme-picker{margin:12px 0 4px;display:flex;align-items:center;justify-content:space-between;gap:7px;color:#9db0c6;font-size:11px;font-weight:750}.theme-picker button{background:#22354a;border:1px solid #43576d;color:#edf6ff;padding:9px 12px;border-radius:9px;font-weight:800;font-size:11px}
.week-toolbar{display:flex;align-items:center;gap:16px;margin:6px 0 15px;flex-wrap:wrap}.week-toolbar label{font-size:12px;font-weight:800;color:#a5b6c7}.week-toolbar select{padding:12px 15px;min-width:235px;border-radius:10px;background:#152436;color:#f6f9ff;border:1px solid #38506a}
.week-panel{background:#17283b;border:1px solid #35516b;border-radius:13px;padding:17px 19px;margin-bottom:18px;color:#cddbeb;font-size:13px;line-height:1.7}.week-panel p{font-size:12px;line-height:1.55;color:#a9bacd}.week-panel.mini{padding:13px 15px;margin-top:18px;margin-bottom:13px}.week-panel.mini span{color:#a9bacd}.week-heading{display:flex;justify-content:space-between;gap:13px;align-items:center;flex-wrap:wrap}
.simple-rank{display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #2c3c50;padding:13px 4px;font-size:13px}.simple-rank:last-child{border:0}.simple-rank strong{font-size:12px}.simple-rank span{font-weight:900;color:#dfff70;white-space:nowrap}.simple-rank .tiny{font-size:11px;color:#899fb7;margin-top:4px}

/* Version claire : contraste, surfaces blanches, navigation aérée. */
:root[data-theme="light"]{background:#f3f6fa;color:#122334;color-scheme:light}
:root[data-theme="light"] a{color:#3060a3}
:root[data-theme="light"] .side{background:#ffffff;border-color:#dce5ed}
:root[data-theme="light"] .logo i{color:#4a7016}
:root[data-theme="light"] .side-label{color:#687e92}
:root[data-theme="light"] .field-label{color:#506577}
:root[data-theme="light"] .side select,
:root[data-theme="light"] input:not([type=checkbox]),
:root[data-theme="light"] .filters select,
:root[data-theme="light"] .roster-panel select,
:root[data-theme="light"] .week-toolbar select{background:#ffffff;border:1px solid #cbd8e4;color:#20364b}
:root[data-theme="light"] nav button{color:#4c6176}
:root[data-theme="light"] nav button:hover,:root[data-theme="light"] nav button.active{background:#e7f2ea;color:#264a1b}
:root[data-theme="light"] nav button.active{border-color:#87b536}
:root[data-theme="light"] .theme-picker{color:#667a90}
:root[data-theme="light"] .theme-picker button{background:#f0f5e8;border-color:#c3d6a7;color:#2b4c21}
:root[data-theme="light"] .aside-bottom{color:#4d6276;border-color:#dce5ed}
:root[data-theme="light"] .aside-bottom p{color:#687e91}
:root[data-theme="light"] .topbar{border-color:#e2e9f1}
:root[data-theme="light"] .crumb{color:#647a8b}
:root[data-theme="light"] .crumb strong{color:#3d6320}
:root[data-theme="light"] .hero{background:linear-gradient(118deg,#edf4ff,#e7f5e5 70%,#f1f9ed);border:1px solid #dee8e1;box-shadow:0 14px 26px #264c3010}
:root[data-theme="light"] .hero h1{color:#14283d}
:root[data-theme="light"] .hero h1 em{color:#3a671f}
:root[data-theme="light"] .eyebrow{color:#456b29}
:root[data-theme="light"] .hero p{color:#425b6f}
:root[data-theme="light"] .orange{box-shadow:11px 15px 0 #15223525,0 12px 40px #ea763b16}
:root[data-theme="light"] .btn{background:#d5f66e;color:#15251d;border:1px solid #b3d957}
:root[data-theme="light"] .btn.subtle{background:#edf2f8;color:#243f56;border:1px solid #d3dfed}
:root[data-theme="light"] .stat,
:root[data-theme="light"] .player,
:root[data-theme="light"] .block,
:root[data-theme="light"] .roster-panel,
:root[data-theme="light"] .rank,
:root[data-theme="light"] .fixture,
:root[data-theme="light"] .bench,
:root[data-theme="light"] .week-panel{background:#ffffff;border-color:#dbe5ef;box-shadow:0 4px 16px #1b334808}
:root[data-theme="light"] .stat-k{color:#62778c}
:root[data-theme="light"] .stat-s,:root[data-theme="light"] .meta-counter{color:#60758b}
:root[data-theme="light"] .stat-v small{color:#527a27}
:root[data-theme="light"] .sectionhead p,
:root[data-theme="light"] .block p,
:root[data-theme="light"] .roster-panel p,
:root[data-theme="light"] .week-panel p{color:#546a7e}
:root[data-theme="light"] .player-info span,:root[data-theme="light"] .player-right small{color:#5b6e82}
:root[data-theme="light"] .jersey{background:#dfebf1;color:#264f68}
:root[data-theme="light"] .add.selected{background:#e7eef3;color:#32516d}
:root[data-theme="light"] .bench-item,:root[data-theme="light"] .rank-row,:root[data-theme="light"] .simple-rank{border-color:#dfe9f1;color:#385169}
:root[data-theme="light"] .bench-item button{background:#e9f0f6;color:#18364d}
:root[data-theme="light"] .rank code,:root[data-theme="light"] .rank-row b,:root[data-theme="light"] .simple-rank span{color:#446d22}
:root[data-theme="light"] .rank>p,:root[data-theme="light"] .week-panel.mini span,:root[data-theme="light"] .simple-rank .tiny{color:#60778b}
:root[data-theme="light"] .note ul,:root[data-theme="light"] .fine,:root[data-theme="light"] .check,:root[data-theme="light"] .week-toolbar label{color:#4e6578!important}
:root[data-theme="light"] .input-group label{color:#4a6177}
:root[data-theme="light"] .green{background:#e6f5dd;color:#346323}
:root[data-theme="light"] .amber{background:#fff1da;color:#77511b}
:root[data-theme="light"] .pill{border:1px solid #e2e8e9}
:root[data-theme="light"] .result,:root[data-theme="light"] .fixture span,:root[data-theme="light"] .fixture small{color:#536c7d}
:root[data-theme="light"] .empty{border-color:#c5d4e2;color:#506a7f}
:root[data-theme="light"] #alert:not(:empty){background:#e3f0da;color:#22482d;border-color:#719d36}
:root[data-theme="light"] .progress-outer{background:#dde8f1}
:root[data-theme="light"] .progress-inner{background:#90c44d}
:root[data-theme="light"] footer{border-color:#e0e8f0;color:#60778b}
:root[data-theme="light"] footer strong{color:#244358}
:root[data-theme="light"] .court{color:#edf8ed}
:root[data-theme="light"] .court .slot strong{color:#e5f1ed}
@media(max-width:740px){.theme-picker{margin:8px 0}.week-toolbar select{width:100%}.simple-rank{padding:12px 0}.hero-art{opacity:.7}}
:root[data-theme="light"] .week-panel{color:#203a52}
:root[data-theme="light"] .week-panel strong{color:#17324d}

/* V4 : filtres du marché et meilleure lisibilité en thème clair */
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.filters input{flex:2 1 300px;min-width:180px}
.filters select{flex:1 1 160px;min-width:145px}
#price-status{margin:8px 0 14px}
@media(max-width:740px){.filters{gap:8px}.filters input,.filters select{flex:1 1 100%;min-width:0}.sync-controls .btn{width:100%}}

/* Économie V5 : bloc d'analyse lisible en clair et en sombre */
.negative-budget,.econ-danger{color:#c64545!important}
.econ-good{color:#16855b}
.economy-panel{border:1px solid var(--border,rgba(115,136,158,.4));background:var(--surface,#ffffff);border-radius:17px;padding:22px;margin:16px 0 22px;box-shadow:0 8px 25px rgba(13,27,43,.045)}
.econ-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.econ-top h3{font-size:21px;margin:5px 0}
.econ-budget{border-radius:12px;background:#dcfa7a;color:#263122;font-weight:900;padding:10px 14px;white-space:nowrap}
.econ-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:18px}
.econ-grid h4{margin:0 0 9px;font-size:15px}
.econ-stars{margin:0;padding-left:23px}
.econ-stars li{margin-bottom:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.econ-stars li small{font-size:11px;color:var(--muted,#778a9e)}
.econ-stars li strong{font-variant-numeric:tabular-nums}
.econ-table{width:100%;border-collapse:collapse;font-size:13px}
.econ-table td,.econ-table th{text-align:left;padding:7px;border-bottom:1px solid rgba(129,143,158,.22)}
.econ-table .econ-current{background:rgba(153,194,72,.17);font-weight:bold}
@media(max-width:850px){.econ-grid{grid-template-columns:1fr}.economy-panel{padding:16px}}
:root[data-theme="dark"] .economy-panel{background:#111d2a;border-color:#2a3b4b}
:root[data-theme="light"] .economy-panel{background:#fff;border-color:#dbe5ef}
:root[data-theme="light"] .econ-good{color:#1d7650}

/* V6 : marché des coaches, sixième homme, fiche joueur et duels privés */
.coach-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:12px;margin:16px 0 28px}
.coach-tile{display:flex;align-items:center;gap:12px;border:1px solid var(--border,#d8e2ec);border-radius:14px;padding:14px;background:var(--surface,#fff)}
.coach-tile.chosen{outline:2px solid #67a98a}.coach-symbol{font-size:29px;color:#6ba384}.coach-tile>div:nth-child(2){flex:1;min-width:0}.coach-tile strong,.coach-tile small{display:block}.coach-tile small{font-size:11px;opacity:.75;margin-top:4px}
.coach-price{text-align:right;white-space:nowrap}.coach-price button{margin-top:8px;padding:7px 9px;font-size:11px}
.profile-view{border:1px solid #a1b9c9;background:transparent;color:inherit;border-radius:8px;padding:7px 9px;cursor:pointer;font-weight:650;font-size:11px}
.selected-sixth{background:#e3f5e9!important;color:#216c48!important;font-weight:800}
.profile-overlay[hidden]{display:none!important}.profile-overlay{position:fixed;z-index:1200;inset:0;background:rgba(8,23,34,.72);display:flex;justify-content:center;align-items:center;padding:20px}
.profile-card{position:relative;max-width:570px;width:100%;max-height:85vh;overflow-y:auto;background:var(--surface,#fff);color:var(--text,#132f3e);border-radius:20px;padding:28px;box-shadow:0 20px 70px #0005}
.profile-close{position:absolute;right:16px;top:12px;font-size:28px;border:0;background:transparent;color:inherit;cursor:pointer}.profile-card h2{margin-top:6px}
.profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.profile-stats>div{border-radius:12px;padding:12px;background:var(--muted,#eef4f7)}.profile-stats b{display:block;font-size:21px}.profile-stats span{font-size:11px}
.profile-game{display:flex;gap:9px;flex-wrap:wrap;border-bottom:1px solid #d6e1e8;padding:10px 0;align-items:baseline}.profile-game small{margin-left:auto}
.h2h-block{margin-top:14px;border-top:1px solid #b9cfdd;padding-top:12px}.h2h-block h4{margin:4px 0 12px}.h2h-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:9px 0;border-top:1px solid #d3e1e9;font-size:12px}.h2h-row span:nth-of-type(2){text-align:right}.h2h-row small{opacity:.65}
@media(max-width:600px){.coach-grid{grid-template-columns:1fr}.h2h-row{grid-template-columns:1fr auto 1fr}.h2h-row small{display:none}.profile-stats b{font-size:18px}}

.h2h-ranking{margin:0 0 14px}.h2h-ranking>div{display:grid;grid-template-columns:1fr auto auto;gap:12px;border-bottom:1px solid #c7d5df;padding:7px 0;font-size:12px;align-items:center}.h2h-ranking small{opacity:.8}
html[data-theme="dark"] .coach-tile,html[data-theme="dark"] .profile-card{background:#152b3b;color:#eaf4fb}
html[data-theme="dark"] .profile-stats>div{background:#203e50}

/* V7 — une seule Fantasy D2 et une composition sur parquet épurée */
.season-side{display:flex;align-items:center;gap:11px;padding:16px 11px;margin:0 0 22px;border-radius:13px;background:rgba(159,197,122,.095);border:1px solid rgba(166,198,143,.23);font-size:10px;font-weight:800;letter-spacing:1.15px;color:#94a9b8}
.season-side strong{display:block;letter-spacing:.2px;font-size:14px;margin-top:4px;color:#e1ff79}.season-dot{width:9px;height:9px;border-radius:50%;background:#ddfa78;box-shadow:0 0 0 5px rgba(221,250,120,.09)}
.top-actions{display:flex;align-items:center;gap:9px}.sync-quick{font-size:11px;font-weight:800;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;border-radius:999px;padding:10px 13px;border:1px solid #354b5a;color:#d1e3e6;background:#1a2b38}.sync-quick:hover{border-color:#a9d357}.sync-quick span:first-child{font-size:19px;line-height:8px}
.sync-feedback[hidden]{display:none}.sync-feedback{margin:-15px 0 20px;border:1px solid #b9cf8a;border-radius:10px;padding:12px 15px;background:#f0f8e4;color:#254326;font-size:12px;font-weight:700}
.court-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px}.court-header h3{margin:4px 0 0;font:800 26px 'Outfit',sans-serif}.lineup-count{border-radius:30px;background:#e9f1e1;border:1px solid #c7dab7;color:#3c5927;padding:9px 13px;font-size:12px;font-weight:800}
.court{height:530px;border-radius:22px;isolation:isolate;overflow:hidden;position:relative;border:8px solid #243c46;background:
  linear-gradient(90deg,transparent 0%,rgba(255,255,255,.12) 48%,rgba(76,43,16,.13) 50%,transparent 53%),
  repeating-linear-gradient(90deg,rgba(109,65,26,.07) 0,rgba(109,65,26,.07) 1px,transparent 2px,transparent 43px,rgba(255,255,255,.18) 44px,transparent 45px,transparent 89px),
  linear-gradient(135deg,#dbaa69 0%,#eac991 43%,#cf9c58 100%);
 box-shadow:inset 0 0 0 2px #f9dba3,0 10px 24px rgba(27,49,61,.12)}
.court:before{content:none}.parquet-lines{position:absolute;inset:15px;pointer-events:none;border:2px solid rgba(255,251,233,.85);border-radius:2px;opacity:.86}
.court-midline{position:absolute;left:0;right:0;top:44%;height:2px;background:rgba(255,250,232,.83)}
.court-center-ring{position:absolute;width:142px;height:142px;border:2px solid rgba(255,250,232,.88);border-radius:50%;left:50%;top:44%;transform:translate(-50%,-50%)}
.court-three-arc{position:absolute;bottom:-150px;width:88%;height:330px;border:2px solid rgba(255,250,232,.88);border-radius:50%;left:6%}
.court-hoop{position:absolute;bottom:19px;left:50%;transform:translateX(-50%);height:15px;width:68px;border:3px solid rgba(255,250,232,.88);border-radius:50%;box-shadow:0 -16px 0 -5px rgba(255,250,232,.88)}
.court-key{position:absolute;bottom:0;left:calc(50% - 80px);width:160px;height:98px;border:2px solid rgba(255,250,232,.8);border-bottom:0}
.court-baseline{position:absolute;bottom:0;left:0;right:0;height:2px;background:rgba(255,250,232,.8)}
.court-caption{position:absolute;left:25px;top:18px;font-size:10px;letter-spacing:2px;font-weight:900;color:#624523;text-shadow:0 1px 0 #f2d5a4}
.starters{position:absolute;z-index:2;inset:61px 19px 12px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));align-items:center;justify-items:center;gap:4px;margin:0}
.court-position-1{grid-column:2/span 2;grid-row:1}.court-position-2{grid-column:4/span 2;grid-row:1}.court-position-3{grid-column:1/span 2;grid-row:2}.court-position-4{grid-column:3/span 2;grid-row:2}.court-position-5{grid-column:5/span 2;grid-row:2}
.court-player{position:relative;width:min(100%,155px);height:178px;display:flex;flex-direction:column;min-width:0;text-align:left;border-radius:16px;background:rgba(17,38,49,.96);border:1px solid rgba(221,243,231,.27);color:#f4fff9;box-shadow:0 14px 28px rgba(42,40,24,.23);backdrop-filter:blur(6px);overflow:hidden;transition:transform .15s ease,box-shadow .15s ease}
.court-player:hover{transform:translateY(-2px);box-shadow:0 19px 31px rgba(42,40,24,.3)}.court-player.is-captain{border-color:#dffa79;box-shadow:0 0 0 2px #dffa79,0 14px 30px rgba(40,42,24,.26)}
.court-player-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:11px 12px 6px}
.player-card-top{display:flex;align-items:center;justify-content:space-between;gap:4px}.card-shirt-number{width:36px;height:39px;display:grid;place-items:center;clip-path:polygon(17% 0,34% 7%,68% 7%,83% 0,100% 20%,88% 40%,84% 100%,15% 100%,12% 40%,0 20%);background:#e5ff85;color:#1a3240;font:900 18px 'Outfit'}
.cap-token{font-size:9px;font-weight:900;letter-spacing:.3px;border-radius:8px;background:#fbcb73;color:#4e3415;padding:5px}
.court-player-text{display:flex;flex-direction:column;gap:1px;min-width:0;margin-top:8px}.player-first{font-size:10px;opacity:.78}.court-player-text strong{font-size:13px;font-weight:900;line-height:1.15;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.court-player-text small{font-size:9px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;opacity:.7}
.court-player-metric{margin-top:auto;display:flex;align-items:baseline;gap:4px}.court-player-metric b{color:#e5ff85;font:900 17px 'Outfit'}.court-player-metric span{font-size:9px;color:#b5cdd0}
.court-card-actions{display:flex;background:#152b38;border-top:1px solid rgba(221,243,231,.17);height:34px;flex-shrink:0}.court-card-actions .card-action{border:0;border-right:1px solid rgba(221,243,231,.16);background:transparent;color:#dcefea;flex:1;border-radius:0;padding:0;font-size:17px;font-weight:900}.court-card-actions .card-action:last-child{border-right:0}.court-card-actions .card-action:hover,.court-card-actions .card-action:focus-visible{background:#dffa79;color:#203634}.court-card-actions .card-action.chosen{color:#ffce73}
.empty-court-player{background:rgba(249,235,196,.57);border:2px dashed rgba(92,66,40,.53);color:#5d462c;box-shadow:none;align-items:center;text-align:center;justify-content:center}.empty-court-player .court-player-body{justify-content:center;align-items:center;gap:7px}.empty-player-number{font-size:28px;line-height:1}.empty-player-name{font-size:11px;font-weight:800}.empty-market-link{background:#223f46;color:#fff;border:0;border-radius:8px;padding:7px 10px;font-size:11px;font-weight:800}
.court-help{font-size:11px;color:#637687;margin:10px 4px 18px}
.bench{margin-top:2px;border-radius:18px;padding:18px}.bench h3{font-size:13px;letter-spacing:.5px;margin:0 0 12px}.bench h3 small{display:block;letter-spacing:0;margin-top:4px;font-size:11px}
.bench-card{display:flex;gap:10px;align-items:center;padding:12px 0}.bench-number{background:#dfebc1;border-radius:10px;width:43px;height:43px;display:grid;place-items:center;font:900 18px 'Outfit';color:#345027;flex:0 0 auto}.bench-player{min-width:0;flex:1;display:grid;gap:4px}.bench-player strong{font-size:13px}.bench-player small{font-size:10px;opacity:.72}.bench-role{font-size:10px;font-weight:800;color:#9baec1}.bench-role.full-points{color:#95c77a}.bench-actions{display:flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.bench-actions button{font-size:10px;padding:7px 8px;white-space:nowrap}.bench-empty{padding:18px 0;font-size:12px;color:#8fa4b4;line-height:1.5}
:root[data-theme="light"] .season-side{background:#f4f8ee;border-color:#dfead7;color:#667e64}:root[data-theme="light"] .season-side strong{color:#2b5930}
:root[data-theme="light"] .sync-quick{background:#fff;border-color:#ccdacc;color:#36543d}:root[data-theme="light"] .sync-quick:hover{background:#eaf6e1}
:root[data-theme="light"] .court{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.12) 48%,rgba(76,43,16,.13) 50%,transparent 53%),repeating-linear-gradient(90deg,rgba(109,65,26,.07) 0,rgba(109,65,26,.07) 1px,transparent 2px,transparent 43px,rgba(255,255,255,.18) 44px,transparent 45px,transparent 89px),linear-gradient(135deg,#dbaa69 0%,#eac991 43%,#cf9c58 100%)}
:root[data-theme="light"] .court-player{color:#f4fff9}:root[data-theme="light"] .bench-role{color:#577185}:root[data-theme="light"] .bench-role.full-points{color:#377f45}
@media(max-width:1100px){.court-wrap{max-width:none}.court{height:505px}}
@media(max-width:740px){.season-side{display:none}.topbar{gap:9px}.top-actions{gap:5px}.sync-quick{font-size:10px;padding:7px}.sync-quick span:last-child{display:none}.sync-quick span:first-child{font-size:20px}.court-header h3{font-size:23px}.court{height:467px;border-width:5px;border-radius:15px}.parquet-lines{inset:8px}.court-caption{left:13px;top:13px;font-size:9px}.starters{inset:52px 7px 12px;gap:4px}.court-player{height:163px;border-radius:11px}.court-player-body{padding:9px 8px 5px}.card-shirt-number{height:31px;width:30px;font-size:15px}.cap-token{font-size:7px;padding:4px}.court-player-text{margin-top:6px}.court-player-text strong{font-size:11px}.court-player-text small{font-size:8px}.player-first{font-size:9px}.court-player-metric b{font-size:15px}.court-player-metric span{font-size:8px}.court-card-actions{height:32px}.bench-card{flex-wrap:wrap}.bench-actions{width:100%;justify-content:flex-start;padding-left:53px}.side nav button span{display:inline;font-size:11px}.side nav button{font-size:13px;padding:9px 10px}.side nav{gap:0}.side{padding-bottom:10px}.theme-picker{position:absolute;top:13px;right:12px}.theme-picker>span{display:none}.logo{margin-bottom:9px}}
@media(max-width:420px){.court-player{height:159px}.court-player-text strong{font-size:10px}.court-player-body{padding:7px 6px 5px}.court-player-metric span{display:none}.court{height:447px}.court-header h3{font-size:21px}.court-caption{font-size:8px}.side nav button span{font-size:10px}}
/* Affichage mobile V7 : priorité à l'équipe, pas à la bannière marketing. */
@media(max-width:740px){
  .hero{min-height:0;padding:20px 18px 22px;border-radius:13px;margin-top:10px}
  .hero-art{display:none}
  .hero h1{font-size:34px;line-height:1.04;letter-spacing:-1.2px;max-width:100%}
  .hero p{max-width:100%;font-size:12px;line-height:1.5;margin:10px 0 14px}
  .hero .eyebrow{font-size:8px;letter-spacing:1.4px}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:13px 0 25px;gap:8px}
  .stat{min-width:0;padding:14px 13px}
  .stat:last-child{grid-column:1/-1}
  .stat-v{font-size:25px;line-height:1.18;overflow-wrap:anywhere}
  .stat-s{font-size:10px;line-height:1.35}
  .stat-k{font-size:9px;letter-spacing:.45px}
  .stat-v small{font-size:11px}
}

/* V7.1 : la page commence directement par les chiffres utiles. */
.main > .stats{margin-top:22px}
@media(max-width:740px){.main > .stats{margin-top:12px}}

/* V8 — Accueil Fantasy, marché lisible et composition intuitive */
.home-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:27px}
.home-intro h1{font:850 clamp(27px,3.8vw,42px)/1.08 'Outfit',sans-serif;letter-spacing:-1.1px;margin:7px 0 8px}
.home-intro p{font-size:13px;color:#829bad;margin:0;line-height:1.5}
.home-season{font-weight:900;color:#d9f97b;font-size:10px;letter-spacing:1px;padding:10px 13px;border:1px solid #384c44;border-radius:999px;white-space:nowrap}
#page-accueil .stats{margin:22px 0}
.home-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,1fr);gap:17px;align-items:start;margin-bottom:25px}
.home-primary,.home-secondary{display:grid;gap:17px;min-width:0}
.home-card{border:1px solid #34424c;background:#111f2e;border-radius:20px;padding:22px;min-width:0}
.home-next{background:linear-gradient(135deg,#253c3a,#163039 75%);border-color:#4e7968;color:#eefbf1}
.home-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.home-card-head h3{font:800 19px 'Outfit',sans-serif;letter-spacing:-.2px;margin:0}
.home-next h2{font:850 29px/1.15 'Outfit',sans-serif;margin:18px 0 8px}
.home-next p{font-size:12px;color:#bed4cd;line-height:1.5}
.home-tag{background:#e1f8a0;color:#335032;font-weight:850;font-size:10px;border-radius:40px;padding:7px 10px;white-space:nowrap}
.home-ready{display:flex;gap:6px;flex-direction:column;margin:19px 0 12px;padding:15px;border:1px solid rgba(241,255,232,.25);background:rgba(255,255,255,.09);border-radius:12px}
.home-ready strong{font-size:15px}.home-ready span,.home-ready small{color:#d8eadc;font-size:12px}
.home-mini-progress,.team-progress-rail{height:7px;border-radius:30px;background:rgba(255,255,255,.24);overflow:hidden}.home-mini-progress i,.team-progress-rail span{display:block;background:#dfff70;height:100%;border-radius:30px;transition:width .2s}
.home-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:19px}.home-actions .btn{font-size:12px;padding:12px 17px}
.link-button{border:0;background:transparent;color:#dfff70;font-weight:850;font-size:11px;white-space:nowrap}.link-button:hover{text-decoration:underline}
.home-fixture{display:flex;gap:14px;align-items:center;padding:13px 0;border-bottom:1px solid #354554}.home-fixture:last-child{border:0}
.home-date{display:grid;gap:2px;min-width:67px;flex-shrink:0;color:#dfff70;font:850 12px 'Outfit'}.home-date small{font:600 11px 'DM Sans';color:#9daebc}
.home-match{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.home-match strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-match small{font-size:10px;color:#7892a2}
.fixture-arrow{font-size:21px;color:#7692a4}.home-muted{font-size:12px;color:#8ca3af;line-height:1.6}
.home-roster-player,.home-trend{display:flex;align-items:center;gap:10px;border-bottom:1px solid #314658;padding:10px 0;min-width:0}.home-roster-player:last-child,.home-trend:last-child{border:0}
.home-roster-player>span:nth-child(2),.home-trend>span:nth-child(2){min-width:0;flex:1;display:grid;gap:3px}
.home-roster-player b,.home-trend strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-roster-player small,.home-trend small{font-size:10px;color:#93aabc}.home-roster-player>strong,.home-trend>b{font-size:15px;font-weight:900;color:#dfff70;white-space:nowrap}
.home-roster-foot{font-size:11px;color:#99afbc;margin-top:12px}.small-shirt{width:32px;height:33px;border-radius:8px;background:#e2ff84;color:#1f3632;display:grid;place-items:center;font:900 13px 'Outfit';flex-shrink:0}
.home-trend{width:100%;text-align:left;color:inherit;background:none;border-left:0;border-right:0;border-top:0;cursor:pointer}.home-trend:hover{background:rgba(255,255,255,.04)}.home-rank{font:850 14px 'Outfit';color:#b9cda7;min-width:15px}
.home-empty-team{text-align:center;padding:15px 6px}.home-empty-team strong{font:800 16px 'Outfit'}.home-empty-team p{font-size:12px;line-height:1.5;color:#879dad}.home-ball{font-size:33px;margin-bottom:10px}
/* Marché de joueurs enrichi */
.player-list{gap:10px}.market-card{display:flex;align-items:center;gap:15px;min-width:0;border:1px solid #354b5a;border-radius:15px;background:#152436;padding:13px 16px;transition:border-color .15s,box-shadow .15s}
.market-card:hover{border-color:#93b681;box-shadow:0 6px 22px rgba(0,0,0,.12)}.market-selected{border-color:#a6c96c}
.market-portrait{width:59px;min-width:59px;height:69px;display:grid;grid-template-rows:1fr auto;place-items:center;gap:0;background:linear-gradient(145deg,#294d52,#1b3449);border:1px solid #446a66;border-radius:13px;color:#dfff76;padding:5px}
.market-portrait>span{font:900 27px 'Outfit'}.market-portrait small{font-size:9px;font-weight:900;text-transform:uppercase;opacity:.82}
.market-person{flex:1;min-width:0}.market-person>strong{display:block;font:850 15px 'Outfit';white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.market-person>span{display:block;font-size:11px;color:#9eb1c3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:4px 0 0}
.market-form{height:30px;display:flex;align-items:flex-end;gap:4px;margin-top:7px}.form-bar{display:block;width:7px;min-height:3px;border-radius:3px 3px 0 0;background:#afd970}.form-bar.negative{background:#d78873}.form-none{font-size:10px;color:#7e92a6}
.market-metrics{display:flex;gap:18px;align-items:center}.market-metrics>div{display:grid;gap:2px;text-align:center}.market-metrics strong{font:850 20px 'Outfit'}.market-metrics small{font-size:10px;color:#91a9ba;white-space:nowrap}
.market-price{text-align:right;min-width:63px;display:grid;gap:5px}.market-price strong{font:850 19px 'Outfit';color:#dfff80}.market-price strong small{font-size:11px}.market-price span{font-size:10px;color:#9cb0be}
.market-actions{display:flex;gap:7px;align-items:center}.market-actions .add{width:40px;height:40px;border-radius:11px}
/* Fiche joueur */
.profile-card{max-width:630px;padding:0;overflow:auto;background:#172b39}.profile-card #profile-content{padding:0 24px 25px}
.profile-hero{margin:0 -24px 18px;padding:25px 26px;display:flex;align-items:center;gap:24px;background:linear-gradient(115deg,#243d43,#385b53)}
.profile-avatar{width:98px;height:112px;border-radius:18px;background:linear-gradient(145deg,#daf991,#a9d76e);box-shadow:inset 0 -8px 20px #5e945144;display:grid;place-items:center;flex-shrink:0;color:#1b3c36}.profile-avatar span{font:900 55px 'Outfit'}
.profile-hero-info{min-width:0}.profile-hero-info h2{font:850 clamp(22px,3vw,33px)/1.05 'Outfit',sans-serif;margin:8px 0;color:#f1fff2}.profile-hero-info .eyebrow{color:#d9ffa6}
.profile-rate{font:850 19px 'Outfit';color:#ecffb1}.profile-rate small{font:650 11px 'DM Sans';opacity:.8}
.profile-substats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:8px 0 20px}.profile-substats span{display:flex;flex-direction:column;gap:3px;text-align:center;padding:10px 4px;border:1px solid #3b5263;border-radius:9px;font-size:10px;color:#aec2d1}.profile-substats b{font-size:17px;color:#e7ffa7}
.profile-dual{display:flex;align-items:center;justify-content:space-between;gap:9px;margin:20px 0 9px}.profile-dual h3{margin:0;font:800 18px 'Outfit',sans-serif}.profile-dual small{font-size:10px;color:#8da4b4}
.profile-chart{min-height:125px;display:flex;align-items:end;gap:8px;padding:12px 12px 8px;background:#203745;border:1px solid #385465;border-radius:12px}
.profile-chart-col{display:grid;grid-template-rows:19px 85px 15px;flex:1;justify-items:center;align-items:end;min-width:0}.profile-chart-number{font-size:10px;font-weight:850;color:#dfff82}.profile-chart-track{height:80px;align-self:end;width:100%;max-width:48px;display:flex;align-items:flex-end;justify-content:center}.profile-chart-bar{width:70%;background:linear-gradient(#dffa80,#7cae6b);border-radius:5px 5px 2px 2px}.profile-chart-bar.negative{background:#d7837d}.profile-chart-col small{font-size:10px;color:#a3b9c7}
.profile-next{margin-top:15px;padding:14px;border-radius:12px;border:1px solid #3e5a67;display:grid;gap:5px}.profile-next span{font-size:9px;letter-spacing:1.1px;font-weight:900;color:#b9d8ac}.profile-next b{font-size:14px}.profile-next small{font-size:11px;color:#9db1be}
.profile-game-v8{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid #385063}.profile-game-v8>div{display:grid;gap:3px;min-width:0}.profile-game-v8>div:last-child{text-align:right}.profile-game-v8 strong{font-size:12px}.profile-game-v8 b{font-size:13px;color:#dfff82}.profile-game-v8 small{font-size:10px;color:#a5bbc9}
.profile-recruit{margin-top:20px}
.profile-close{z-index:3;color:#eaf4f5}
/* Equipe - progression et remplacement explicite */
.team-progress{padding:17px 20px;border:1px solid #3c5264;background:#122437;border-radius:16px;margin:0 0 18px}
.team-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.team-progress-heading strong{font-size:13px}.team-progress-heading span{font-size:11px;color:#b7caba}
.team-progress-rail{background:#345162}.team-checks{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.team-checks>span{padding:7px 9px;background:#243849;border-radius:20px;color:#b5c4d3;font-size:10px;font-weight:750}.team-checks>span.done{background:#d9f3c3;color:#28563c}.team-checks small{opacity:.65;margin-left:3px}
.court-card-actions .card-action{font-size:16px}.roster-reminder{padding:11px 0;font-size:12px!important}
.swap-dialog{position:relative;background:#152937;color:#edf6fa;border:1px solid #4b6573;border-radius:19px;padding:25px;max-width:440px;width:100%;max-height:85vh;overflow:auto}.swap-dialog h2{font:800 25px 'Outfit';margin:10px 0}.swap-dialog>p{font-size:12px;line-height:1.6;color:#aabfcb}.swap-choice{display:flex;gap:12px;align-items:center;text-align:left;width:100%;background:#203948;border:1px solid #436074;color:inherit;border-radius:12px;padding:12px;margin-top:8px}.swap-choice:hover{border-color:#bbec78}.swap-choice span:nth-child(2){display:grid;gap:4px;flex:1}.swap-choice strong{font-size:13px}.swap-choice small{font-size:10px;color:#aac0cd}.swap-shirt{display:grid;place-items:center;background:#ddf989;color:#274333;border-radius:10px;width:40px;height:40px;font:850 17px 'Outfit'}
/* Theme clair */
:root[data-theme="light"] .home-season{color:#4f6c30;border-color:#d5e5c4;background:#f1f7e9}
:root[data-theme="light"] .home-intro p{color:#64798a}
:root[data-theme="light"] .home-card{background:#fff;border-color:#d8e3ea;box-shadow:0 4px 16px #1b334808}
:root[data-theme="light"] .home-next{background:linear-gradient(130deg,#e9f6e8,#f3f9ec 75%);border-color:#c9dfc5;color:#1c3a30}
:root[data-theme="light"] .home-next p{color:#52766a}
:root[data-theme="light"] .home-ready{border-color:#cae1c7;background:#fff;color:#1e4636}
:root[data-theme="light"] .home-ready span,:root[data-theme="light"] .home-ready small{color:#607d70}
:root[data-theme="light"] .home-mini-progress{background:#dbe9d5}
:root[data-theme="light"] .link-button{color:#406e29}
:root[data-theme="light"] .home-fixture,:root[data-theme="light"] .home-roster-player,:root[data-theme="light"] .home-trend{border-color:#e3ebf0}
:root[data-theme="light"] .home-date,:root[data-theme="light"] .home-roster-player>strong,:root[data-theme="light"] .home-trend>b{color:#37692a}
:root[data-theme="light"] .home-date small,:root[data-theme="light"] .home-match small,:root[data-theme="light"] .home-roster-player small,:root[data-theme="light"] .home-trend small{color:#6c8396}
:root[data-theme="light"] .home-muted,:root[data-theme="light"] .home-empty-team p{color:#6b8293}
:root[data-theme="light"] .market-card{background:#fff;border-color:#d9e4ed}
:root[data-theme="light"] .market-selected{border-color:#94ba55;background:#f7fbef}
:root[data-theme="light"] .market-portrait{background:linear-gradient(145deg,#d5e9e3,#e7eff5);border-color:#c8d9de;color:#345e56}
:root[data-theme="light"] .market-person>span,:root[data-theme="light"] .market-metrics small,:root[data-theme="light"] .market-price span{color:#6b8092}
:root[data-theme="light"] .market-price strong{color:#426d2a}
:root[data-theme="light"] .profile-card{background:#fff;color:#172a37}
:root[data-theme="light"] .profile-hero{background:linear-gradient(110deg,#24463f,#42685a)}
:root[data-theme="light"] .profile-stats>div{background:#f1f6eb}
:root[data-theme="light"] .profile-substats span{border-color:#dce8ea;color:#617888}
:root[data-theme="light"] .profile-substats b{color:#335d31}
:root[data-theme="light"] .profile-chart{background:#f2f7f2;border-color:#dbe8dd}
:root[data-theme="light"] .profile-chart-number{color:#2c5933}
:root[data-theme="light"] .profile-chart-col small{color:#71879a}
:root[data-theme="light"] .profile-next{border-color:#d3e4d6;background:#f6fbf5}
:root[data-theme="light"] .profile-next span{color:#417146}
:root[data-theme="light"] .profile-next small{color:#6a8190}
:root[data-theme="light"] .profile-game-v8{border-color:#e0e9ec}
:root[data-theme="light"] .profile-game-v8 b{color:#376e32}
:root[data-theme="light"] .profile-game-v8 small{color:#6c8293}
:root[data-theme="light"] .team-progress{background:#fff;border-color:#d6e3ee}
:root[data-theme="light"] .team-progress-heading span{color:#60778b}
:root[data-theme="light"] .team-progress-rail{background:#e4eced}
:root[data-theme="light"] .team-checks>span{background:#ecf2f5;color:#647788}
:root[data-theme="light"] .team-checks>span.done{background:#e3f5d5;color:#34632e}
:root[data-theme="light"] .swap-dialog{background:#fff;color:#1c3241;border-color:#d6e2eb}
:root[data-theme="light"] .swap-dialog>p{color:#63798a}
:root[data-theme="light"] .swap-choice{background:#f8fbfc;color:#2c4558;border-color:#d7e4e9}
:root[data-theme="light"] .swap-choice small{color:#71869a}
:root[data-theme="light"] .swap-dialog .profile-close{color:#2a4357}
@media(max-width:1100px){.home-grid{grid-template-columns:1fr}.home-secondary{grid-template-columns:1fr 1fr}.market-metrics{gap:10px}}
@media(max-width:800px){.market-yield{display:none}.market-card{gap:9px;padding:11px}.market-metrics strong{font-size:17px}.market-price strong{font-size:16px}}
@media(max-width:740px){.home-intro{margin-top:14px}.home-intro h1{font-size:29px}.home-season{display:none}.home-secondary{grid-template-columns:1fr}.home-grid{gap:12px}.home-card{padding:17px;border-radius:15px}.home-next h2{font-size:24px}.home-actions .btn{flex:1}.market-portrait{width:48px;min-width:48px;height:60px}.market-portrait>span{font-size:22px}.market-person>strong{font-size:12px}.market-person>span{font-size:10px}.market-price{min-width:47px}.market-price span{display:none}.market-metrics{min-width:48px}.market-metrics small{font-size:9px}.market-actions{gap:4px}.market-actions .profile-view{font-size:10px;padding:7px}.market-actions .add{width:32px;height:34px}.market-form{height:22px}.profile-card{max-height:93vh}.profile-hero{gap:13px}.profile-avatar{width:70px;height:84px}.profile-avatar span{font-size:39px}.profile-card #profile-content{padding:0 15px 18px}.profile-hero{margin:0 -15px 15px;padding:26px 16px}.profile-substats{grid-template-columns:repeat(4,minmax(0,1fr))}.team-progress{padding:13px}.team-checks{gap:5px}.team-checks>span{font-size:9px}.market-price strong small{font-size:9px}}
@media(max-width:430px){.market-card{flex-wrap:wrap}.market-person{flex:1;min-width:calc(100% - 80px)}.market-metrics{flex:1;justify-content:start}.market-actions{margin-left:auto}.market-form{margin-bottom:0}.home-card-head h3{font-size:17px}}

/* V8 - solde toujours visible pendant les achats */
.market-budget-notice{display:flex;align-items:center;gap:12px;padding:13px 17px;background:#192d38;border:1px solid #4b6457;border-radius:12px;margin:8px 0 3px}
.market-budget-notice span{font-size:10px;letter-spacing:1px;font-weight:900;color:#b5c9bd}
.market-budget-notice strong{font:850 18px 'Outfit',sans-serif;color:#e4ff8a;margin-right:auto}
.market-budget-notice button{font-size:11px;font-weight:850;border:0;background:none;color:#e4ff8a;cursor:pointer}
:root[data-theme="light"] .market-budget-notice{background:#eef7e6;border-color:#c8dfa8}
:root[data-theme="light"] .market-budget-notice span{color:#607753}
:root[data-theme="light"] .market-budget-notice strong,:root[data-theme="light"] .market-budget-notice button{color:#345f26}
@media(max-width:550px){.market-budget-notice{gap:6px;flex-wrap:wrap;padding:11px}.market-budget-notice span{width:100%}.market-budget-notice strong{font-size:19px}}
/* V8.1 — repères de match, composition réalisable, coaching sans friction */
.profile-chart{min-height:164px;align-items:stretch;gap:6px}
.profile-chart-col{appearance:none;border:1px solid transparent;background:transparent;color:inherit;border-radius:10px;padding:7px 3px 5px;cursor:pointer;grid-template-rows:18px 76px minmax(24px,auto) 15px;min-height:143px;min-width:0;align-content:end;transition:background .15s,border-color .15s}
.profile-chart-col:hover,.profile-chart-col:focus-visible,.profile-chart-col.active{border-color:#77987b;background:rgba(190,234,167,.13);outline:none}
.profile-chart-track{height:72px}
.profile-chart-rival{font-size:10px;line-height:1.15;color:#cbded4;font-weight:800;word-break:break-word;text-align:center;max-width:100%;align-self:center}
.profile-chart-col small{align-self:end}
.profile-game-focus{display:flex;flex-wrap:wrap;gap:5px 11px;align-items:center;background:#192e3d;border:1px solid #4e6b6c;border-radius:11px;padding:12px 13px;margin-top:8px;font-size:11px;color:#d9ebe7}
.profile-game-focus strong{width:100%;font-size:13px}
.profile-game-focus span{color:#b1c9c8}
.market-opponent{font-size:10px!important;color:#a9cba1!important;margin-top:2px}
.budget-filter{display:flex;align-items:center;gap:7px;white-space:nowrap;font-weight:750;font-size:11px;padding:0 8px;cursor:pointer}
.budget-filter input{width:16px;height:16px;accent-color:#8db65b}
.team-budget-guide{margin:0 0 19px;border:1px solid #4b6b62;background:#1e3834;color:#def7de;padding:14px 16px;border-radius:14px;display:grid;gap:6px}
.team-budget-guide:empty{display:none}
.team-budget-guide strong{font-size:13px}
.team-budget-guide span{font-size:12px;line-height:1.55}
.team-budget-guide button{justify-self:start;border:1px solid #98bc7b;background:transparent;border-radius:8px;padding:9px 12px;font-size:11px;font-weight:800;color:inherit;cursor:pointer;margin-top:4px}
.team-budget-guide.warning{background:#402f25;border-color:#916b44;color:#ffe8c4}
.team-budget-guide.warning button{border-color:#be996d}
.coach-help-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.tiny-action{font-size:11px;font-weight:800;border:1px solid #7a9984;background:#243e3d;border-radius:9px;color:#d6f3ce;cursor:pointer;padding:9px 11px}
.tiny-action:hover:not(:disabled){background:#355844}
.tiny-action:disabled{opacity:.48;cursor:not-allowed}
.bench-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
.bench-head h3{margin:0}.bench-head .tiny-action{white-space:normal}
:root[data-theme="light"] .profile-chart-rival{color:#406b49}
:root[data-theme="light"] .profile-chart-col.active,:root[data-theme="light"] .profile-chart-col:hover,:root[data-theme="light"] .profile-chart-col:focus-visible{background:#dcedd9;border-color:#82a785}
:root[data-theme="light"] .profile-game-focus{background:#f2f9ee;border-color:#d1e4cc;color:#173e28}
:root[data-theme="light"] .profile-game-focus span{color:#516e5d}
:root[data-theme="light"] .market-opponent{color:#426f48!important}
:root[data-theme="light"] .team-budget-guide{background:#edf7e8;color:#2d5633;border-color:#c4deb6}
:root[data-theme="light"] .team-budget-guide.warning{background:#fff4e8;color:#80512d;border-color:#edcfac}
:root[data-theme="light"] .tiny-action{background:#f5f9ed;color:#345835;border-color:#baceb1}
:root[data-theme="light"] .tiny-action:hover:not(:disabled){background:#e3f2d4}
@media(max-width:700px){.profile-chart{gap:3px;padding:7px 4px;min-height:163px}.profile-chart-col{padding:6px 1px;grid-template-rows:18px 65px minmax(35px,auto) 14px}.profile-chart-rival{font-size:8px}.profile-chart-number{font-size:9px}.profile-chart-track{height:65px}.bench-head{align-items:flex-start;flex-direction:column}.budget-filter{width:100%;order:2}.team-budget-guide{padding:12px}}

/* V8.2 — fiches joueurs aux couleurs du club + polish UX */
.club-card{border-left:4px solid var(--club-accent,#cde567)}
.market-card.club-card,.coach-tile.club-card,.bench-card.club-card,.court-player.club-card{position:relative;overflow:hidden}
.market-card.club-card:hover,.coach-tile.club-card:hover{border-color:var(--club-accent,#93b681)}
.market-card.club-card .market-portrait{background:linear-gradient(145deg,var(--club-accent,#dffa80),var(--club-accent-2,#5e8759));border-color:transparent;color:var(--club-dark,#19323d)}
.market-card.club-card .market-price strong,.market-card.club-card .market-metrics strong{color:var(--club-accent-2,#426d2a)}
.market-card.club-card .profile-view{border-color:var(--club-accent-2,#5e8759);color:var(--club-accent-2,#335032)}
.market-card.club-card .profile-view:hover{background:var(--club-surface,#f4f8ee)}
.market-card.club-card .add{background:var(--club-accent,#dffa80);color:var(--club-dark,#1d3732);border:0}
.market-card.club-card .add.selected{background:var(--club-dark,#213640);color:var(--club-text,#f7fffb)}
.coach-tile.club-card .coach-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:linear-gradient(145deg,var(--club-accent,#dffa80),var(--club-accent-2,#5e8759));color:var(--club-dark,#1f3632);flex:0 0 auto}
.coach-tile.club-card.chosen{outline:2px solid var(--club-accent,#67a98a)}
.court-player.club-card{background:linear-gradient(180deg,var(--club-dark,#182d39),#10202c 72%);border-color:rgba(255,255,255,.14)}
.court-player.club-card .card-shirt-number{background:linear-gradient(145deg,var(--club-accent,#dffa80),var(--club-accent-2,#5e8759));color:var(--club-dark,#1a3240)}
.court-player.club-card .court-player-metric b{color:var(--club-accent,#dfff70)}
.court-player.club-card .court-card-actions{background:rgba(0,0,0,.16)}
.court-player.club-card .court-card-actions .card-action:hover,.court-player.club-card .court-card-actions .card-action:focus-visible{background:var(--club-accent,#dffa79);color:var(--club-dark,#203634)}
.bench-card.club-card{border-top:1px solid rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.06);padding:14px 0}
.bench-card.club-card .bench-number{background:linear-gradient(145deg,var(--club-accent,#e5ff85),var(--club-accent-2,#7cae6b));color:var(--club-dark,#345027)}
.bench-card.club-card .bench-actions .selected-sixth{background:var(--club-accent,#dffa80);color:var(--club-dark,#203634);border-color:var(--club-accent,#dffa80)}

.profile-card.club-themed{max-width:760px;background:#fff;color:#172a37}
.profile-card.club-themed #profile-content{padding:0 24px 24px}
.profile-card.club-themed .profile-hero{background:linear-gradient(135deg,var(--club-dark,#24463f),var(--club-accent-2,#42685a));color:var(--club-text,#f6fff5);margin:0 -24px 18px;padding:26px 24px 24px}
.profile-card.club-themed .profile-avatar{background:linear-gradient(145deg,var(--club-accent,#daf991),var(--club-accent-2,#a9d76e));color:var(--club-dark,#1b3c36);box-shadow:inset 0 -8px 20px rgba(0,0,0,.14)}
.profile-card.club-themed .profile-close{position:absolute;right:16px;top:16px;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.35);color:#fff;backdrop-filter:blur(6px)}
.profile-club-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px}
.profile-club-badge,.profile-pos-badge,.profile-trend,.profile-next-chip{border-radius:999px}
.profile-club-badge{display:inline-flex;align-items:center;padding:6px 11px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);font-size:11px;font-weight:850;letter-spacing:.35px;color:#fff}
.profile-pos-badge{display:inline-flex;align-items:center;padding:6px 10px;background:var(--club-accent,#dffa80);color:var(--club-dark,#203634);font-size:11px;font-weight:900}
.profile-meta-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:8px}
.profile-card.club-themed .profile-rate{color:#fff6c6}
.profile-trend{display:inline-flex;align-items:center;padding:7px 11px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.24);font-size:11px;font-weight:800;color:#fff}
.profile-trend.up{background:rgba(163,255,188,.18)}
.profile-trend.down{background:rgba(255,194,194,.18)}
.profile-next-chip{display:inline-grid;gap:2px;margin-top:12px;padding:10px 13px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);max-width:fit-content}
.profile-next-chip span{font-size:9px;letter-spacing:1.1px;text-transform:uppercase;opacity:.82}
.profile-next-chip strong{font-size:13px;line-height:1.1}
.profile-next-chip small{font-size:10px;opacity:.8}
.profile-card.club-themed .profile-stats>div{background:var(--club-surface,#f1f6eb);box-shadow:inset 0 0 0 1px rgba(23,42,55,.06)}
.profile-card.club-themed .profile-stats b{color:var(--club-accent-2,#2e6a36)}
.profile-card.club-themed .profile-substats span{background:#fff;border-color:#e2e8ee;color:#617888}
.profile-card.club-themed .profile-substats b{color:var(--club-accent-2,#335d31)}
.profile-card.club-themed .profile-chart{background:var(--club-surface,#f2f7f2);border-color:#dbe8dd}
.profile-card.club-themed .profile-chart-number{color:var(--club-accent-2,#2c5933)}
.profile-card.club-themed .profile-chart-bar{background:linear-gradient(var(--club-accent,#dffa80),var(--club-accent-2,#7cae6b))}
.profile-card.club-themed .profile-chart-col:hover,.profile-card.club-themed .profile-chart-col:focus-visible,.profile-card.club-themed .profile-chart-col.active{background:#fff;border-color:var(--club-accent-2,#82a785)}
.profile-card.club-themed .profile-chart-rival{color:var(--club-accent-2,#406b49)}
.profile-card.club-themed .profile-game-focus{background:var(--club-surface,#f2f9ee);border-color:#d1e4cc;color:#173e28}
.profile-card.club-themed .profile-game-focus span{color:#516e5d}
.profile-card.club-themed .profile-game-v8{border-color:#e0e9ec}
.profile-card.club-themed .profile-game-v8 b{color:var(--club-accent-2,#376e32)}
.profile-sticky-bar{position:sticky;bottom:-1px;margin:20px -24px -24px;padding:15px 24px 18px;background:linear-gradient(180deg,rgba(255,255,255,.5),#fff 32%);border-top:1px solid #ebf0f4}
.profile-card.club-themed .profile-recruit{background:linear-gradient(135deg,var(--club-accent,#dffa80),var(--club-accent-2,#7cae6b));color:var(--club-dark,#1d3732);border:0;box-shadow:none}
.profile-card.club-themed .profile-recruit:hover{filter:brightness(.98)}

@media(max-width:740px){
  .profile-card.club-themed #profile-content{padding:0 14px 18px}
  .profile-card.club-themed .profile-hero{margin:0 -14px 14px;padding:22px 14px 20px}
  .profile-card.club-themed .profile-close{right:10px;top:10px;width:42px;height:42px}
  .profile-sticky-bar{margin:18px -14px -18px;padding:13px 14px 15px}
  .profile-club-badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}

/* V8.3 — corrections de contraste selon le thème et les couleurs publiées des clubs */
:root[data-theme="dark"] .market-card.club-card .market-price strong,
:root[data-theme="dark"] .market-card.club-card .market-metrics strong,
:root[data-theme="dark"] .market-card.club-card .profile-view{color:var(--club-accent,#cbd5e1)}
:root[data-theme="dark"] .market-card.club-card .profile-view{border-color:var(--club-accent,#cbd5e1)}
:root[data-theme="dark"] .market-card.club-card .profile-view:hover{background:rgba(255,255,255,.09)}
:root[data-theme="dark"] .market-card.club-card .add{color:var(--club-dark,#172a37)}
.profile-card.club-themed .profile-hero-info h2{color:#fff}
.profile-card.club-themed .profile-rate{color:#fff}
.profile-card.club-themed .profile-club-row{padding-right:32px}

/* Fantasy BE V9 — expérience compacte et comptes personnels */
body.unauth .app{display:none!important}
body.authenticated #auth-screen{display:none!important}
.auth-screen{position:fixed;z-index:5000;inset:0;display:grid;grid-template-columns:minmax(300px,1fr) minmax(320px,500px);align-items:center;background:#eff4f7;color:#142938;padding:clamp(18px,5vw,70px);gap:clamp(25px,7vw,100px);overflow:auto}
.auth-side{align-self:center;max-width:580px}.auth-mark{width:76px;height:80px;background:#dafa77;color:#18342f;border-radius:22px;display:grid;place-items:center;font:900 48px 'Outfit';transform:rotate(-5deg);position:relative;margin-bottom:35px}.auth-mark span{position:absolute;font-size:14px;right:8px;bottom:10px}
.auth-label{font-size:12px;letter-spacing:2px;font-weight:900;color:#39643e}.auth-side h1{font:900 clamp(38px,5vw,69px)/1.02 'Outfit',sans-serif;letter-spacing:-2px;margin:18px 0 20px}.auth-side p{max-width:390px;line-height:1.6;font-size:16px;color:#5d7380}
.auth-card{padding:clamp(24px,4vw,45px);border:1px solid #dbe4eb;border-radius:25px;background:white;box-shadow:0 16px 65px #15324b14;max-width:500px;width:100%;justify-self:center}.auth-card h2{margin:12px 0 6px;font:850 30px 'Outfit'}.auth-card p{font-size:13px;color:#607788;line-height:1.5}.auth-card form{display:grid;gap:16px;margin:23px 0 14px}.auth-card label{font-size:12px;font-weight:800;color:#293f4c;display:grid;gap:7px}.auth-card input{height:49px;border-radius:12px;border:1px solid #d1dfe7;background:#f9fbfd;padding:12px 14px;font:600 14px 'DM Sans';color:#183040}.auth-card input:focus{outline:2px solid #b5d85a;border-color:#9bb66a}.auth-card button.full{padding:14px}.auth-card #auth-error{color:#b53b3b;min-height:0;margin:0}.auth-card #auth-error:empty{display:none}.auth-switch{border:0;background:none;color:#326d49;font-size:13px;font-weight:850;cursor:pointer;padding:8px 0}.auth-card>small{display:block;font-size:11px;line-height:1.5;color:#78909d;margin-top:15px}.logout-button{background:none;border:1px solid #526b72;color:inherit;padding:9px 12px;border-radius:10px;font-size:11px;font-weight:700;cursor:pointer;margin-top:7px}

/* Home : équipe et matchs visibles sans grande bannière */
.dashboard-topline{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:7px 0 10px}.dashboard-topline h1{font:850 clamp(25px,2.8vw,34px) 'Outfit',sans-serif;letter-spacing:-.7px;margin:3px 0}.home-week-pill{display:grid;gap:2px;text-align:right;padding:8px 12px;background:#f0f7e6;border:1px solid #d5e6c6;color:#325437;border-radius:12px}.home-week-pill strong{font-size:12px}.home-week-pill small{font-size:10px}
#page-accueil .dashboard-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:9px 0 14px}#page-accueil .dashboard-stats .stat{padding:11px 15px;min-height:0}#page-accueil .dashboard-stats .stat-k{font-size:9px}#page-accueil .dashboard-stats .stat-v{font-size:25px;line-height:1.1;margin:4px 0}#page-accueil .dashboard-stats .stat-s{font-size:10px}
.dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(305px,.8fr);gap:14px;align-items:stretch}#page-accueil .block{padding:15px;border-radius:15px}.dashboard-roster{min-width:0}.dashboard-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.dashboard-panel-heading h2{font:850 18px 'Outfit',sans-serif;margin:0}.dashboard-panel-heading .link-button{font-size:11px}
.dashboard-coach{display:flex;align-items:center;gap:10px;background:#213d36;border:1px solid #3b6455;color:#e8f8e9;padding:10px 12px;border-radius:12px;margin:0 0 13px;min-height:61px}.coach-dash-icon{background:#dffb86;color:#274534;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;font-size:21px}.dashboard-coach>div:nth-child(2){flex:1;display:grid;gap:1px;min-width:0}.dashboard-coach small{font-size:9px;letter-spacing:.9px;color:#b7ddc6;font-weight:850}.dashboard-coach strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-coach span{font-size:10px;color:#d6eadc}.dashboard-coach>b{font-size:12px;white-space:nowrap;color:#e1fb98}
.dashboard-five{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;min-width:0;margin-bottom:13px}.home-five-card{border:1px solid #d2e0e4;background:linear-gradient(180deg,#f6f9fc,#fff);border-radius:11px;padding:8px 5px;display:flex;flex-direction:column;align-items:center;min-width:0;min-height:155px;gap:3px;color:#19313e;cursor:pointer;position:relative}.home-five-card:hover{border-color:var(--club-accent-2,#6e9c4a);box-shadow:0 4px 15px #112a3618}.home-five-card .dash-shirt{width:47px;height:48px;background:linear-gradient(145deg,var(--club-accent,#dfff77),var(--club-accent-2,#8eb965));color:var(--club-dark,#243b37);display:grid;place-items:center;border-radius:14px 14px 10px 10px;font:900 22px 'Outfit';margin-bottom:5px}.home-five-card strong{font:800 11px/1.16 'DM Sans';overflow-wrap:anywhere;text-align:center;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-five-card small{font-size:9px;color:#6b8190;max-width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.home-five-card b{font-size:10px;margin-top:auto;color:var(--club-accent-2,#42673e)}.home-five-card em{position:absolute;top:5px;right:4px;font:800 8px 'DM Sans';padding:3px 4px;border-radius:5px;background:#ffde89;color:#66430c}.home-five-card.empty{border:1px dashed #cbdadf;background:#fbfdff;justify-content:center}
.dashboard-bench-heading{font:850 10px 'DM Sans';letter-spacing:1.2px;margin:3px 0 8px;display:flex;align-items:center;gap:9px}.dashboard-bench-heading span{font-size:9px;font-weight:600;letter-spacing:0;color:#76909f}.dashboard-bench{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.home-bench-card{display:flex;align-items:center;gap:7px;border:1px solid #d9e4ea;background:#f8fbfc;border-radius:10px;padding:8px 7px;min-width:0;text-align:left;color:#1c3442;cursor:pointer}.home-bench-card .dash-mini-shirt{display:grid;place-items:center;flex-shrink:0;width:29px;height:33px;border-radius:7px;background:var(--club-accent,#e4fb87);color:var(--club-dark,#233e30);font-size:13px;font-weight:900}.home-bench-card span:nth-child(2){display:grid;gap:3px;min-width:0;flex:1}.home-bench-card strong{font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-bench-card small{font-size:9px;color:#7b919b}.home-bench-card b{font-size:10px;color:var(--club-accent-2,#396f39)}.home-bench-card.empty{border-style:dashed}.dashboard-actions{display:flex;gap:9px;margin-top:12px}.dashboard-actions .btn{font-size:11px;padding:10px 13px}
.dashboard-side{display:grid;grid-template-rows:minmax(0,1fr) auto auto;gap:12px;min-width:0}#page-accueil .dashboard-fixtures,#page-accueil .dashboard-trending{min-height:0}.dashboard-fixtures .home-fixtures{max-height:330px;overflow-y:auto;scrollbar-width:thin}.dashboard-fixtures .home-fixture{padding:7px 0}.dashboard-fixtures .home-date{font-size:11px;min-width:67px}.dashboard-fixtures .home-match strong{font-size:11px}.dashboard-trending .home-trend{padding:6px 0}.dashboard-ready{border:1px solid #d5e3e5;background:#f7fbfc;padding:10px 12px;border-radius:12px;display:flex;align-items:center;gap:10px}.dashboard-ready strong{font-size:11px;white-space:nowrap}.dashboard-ready span{font-size:10px;color:#587485}.dashboard-ready .home-mini-progress{flex:1;background:#dbe9e9;max-width:115px;height:6px;margin-left:auto}.dashboard-ready .home-mini-progress i{background:#9ad154}

/* Marché : budget et filtres fixes pendant le défilement des joueurs */
#page-marche{position:relative}#page-marche .sectionhead{margin:10px 0 8px}#page-marche .sectionhead h2{font-size:27px}#page-marche .sectionhead p{font-size:11px;margin-top:5px}
#page-marche .market-budget-notice{position:sticky;top:0;z-index:16;box-shadow:0 6px 17px #112d3613;margin-bottom:9px;padding:10px 15px}#page-marche .market-budget-notice strong{font-size:25px}#page-marche .filters{margin:8px 0}
#page-marche .player-list{max-height:calc(100vh - 345px);min-height:200px;overflow-y:auto;scrollbar-width:thin;padding:2px 5px 8px 0}#page-marche .market-card{padding:9px 13px;gap:12px}#page-marche .market-portrait{height:55px;width:48px;min-width:48px}#page-marche .market-portrait span{font-size:23px}
#page-equipe .sectionhead h2{font-size:27px}#page-equipe .sectionhead{margin:7px 0 12px}#page-equipe .sectionhead p{font-size:11px}#page-equipe .court{height:435px}#page-equipe .court-player{height:157px}#page-equipe .bench{padding:12px}#page-equipe .bench-card{padding:6px 0}

:root[data-theme="dark"] .dashboard-topline h1{color:#f0f7fb}:root[data-theme="dark"] .home-week-pill{background:#223b30;color:#e4fbb4;border-color:#4c6d57}:root[data-theme="dark"] .dashboard-coach{background:#182f2a}
:root[data-theme="dark"] .home-five-card{background:linear-gradient(#1e3645,#122532);color:#f1f9fc;border-color:#3c5560}:root[data-theme="dark"] .home-five-card small{color:#a8bbc8}:root[data-theme="dark"] .home-bench-card{background:#152f3d;color:#eaf4f6;border-color:#365463}:root[data-theme="dark"] .dashboard-ready{background:#162b38;border-color:#38505c}:root[data-theme="dark"] .dashboard-ready span{color:#a8bcc8}
@media(min-width:1150px) and (min-height:810px){#page-accueil{max-height:calc(100vh - 110px)}#page-accueil .dashboard-main-grid{max-height:calc(100vh - 250px)}.dashboard-fixtures .home-fixtures{max-height:calc(100vh - 390px)}}
@media(max-width:1100px){.dashboard-main-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:1fr 1fr;grid-template-rows:auto}.dashboard-ready{grid-column:1/-1}}
@media(max-width:740px){.auth-screen{grid-template-columns:1fr;gap:15px;position:fixed;padding:17px;align-content:start}.auth-side{margin:10px auto 0}.auth-mark{height:50px;width:50px;font-size:30px;margin-bottom:9px;border-radius:13px}.auth-side h1{font-size:29px;letter-spacing:-1px;margin:7px 0}.auth-side p{font-size:12px}.auth-card{padding:23px}.dashboard-topline{margin:3px 0 8px}.dashboard-topline h1{font-size:24px}.home-week-pill{max-width:48%;padding:7px}.home-week-pill small{font-size:9px}#page-accueil .dashboard-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin:7px 0 12px}#page-accueil .dashboard-stats .stat{min-width:0;padding:9px 8px;grid-column:auto}#page-accueil .dashboard-stats .stat-k{font-size:8px;letter-spacing:0}#page-accueil .dashboard-stats .stat-v{font-size:19px}#page-accueil .dashboard-stats .stat-s{display:none}.dashboard-five{gap:4px}.home-five-card{min-height:126px;padding:6px 2px}.home-five-card .dash-shirt{height:36px;width:32px;font-size:17px}.home-five-card strong{font-size:9px}.home-five-card small{font-size:8px}.dashboard-bench{grid-template-columns:1fr}.home-bench-card{padding:7px 9px}.dashboard-side{grid-template-columns:1fr}.dashboard-ready{grid-column:auto}#page-marche .player-list{max-height:57vh}#page-marche .market-budget-notice{top:0}#page-equipe .court{height:440px}}

/* V10 — Navigation sur une hauteur d'écran, sans zones de scroll imbriquées */
@media (min-width: 801px){
  html,body{height:100%;overflow:hidden}
  .app{height:100dvh;min-height:0;overflow:hidden}
  .side{height:100dvh;min-height:0;padding:17px 15px 14px}
  .side .logo{margin:0 0 15px 5px}
  .side .side-tools{display:grid;gap:7px;margin:4px 0 12px}
  .side .side-label{margin:11px 10px 7px}
  .side nav{gap:4px}
  .side nav button{padding:11px 12px}
  .side .aside-bottom{padding-top:12px}
  .side .aside-bottom p{display:none}
  .main{display:flex;flex-direction:column;height:100dvh;min-width:0;min-height:0;padding:0 22px;max-width:none}
  .main>footer{display:none}
  .page.show{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:12px 1px 12px 0}
  #page-accueil.show{display:flex;flex-direction:column;gap:10px;overflow:hidden}
  #page-accueil .dashboard-stats{margin:0;flex:0 0 auto;gap:8px}
  #page-accueil .dashboard-stats .stat{padding:8px 13px}
  #page-accueil .dashboard-stats .stat-v{font-size:23px;margin:3px 0}
  #page-accueil .dashboard-main-grid{height:100%;flex:1;min-height:0;margin:0;align-items:stretch;max-height:none}
  #page-accueil .dashboard-roster,#page-accueil .dashboard-side{height:100%;min-height:0}
  #page-accueil .dashboard-roster{display:flex;flex-direction:column}
  #page-accueil .dashboard-coach{min-height:49px;padding:6px 11px;margin:0 0 9px}
  #page-accueil .dashboard-five{gap:7px;margin:0 0 8px;flex:1;min-height:0}
  #page-accueil .home-five-card{min-height:0;height:100%;max-height:170px}
  #page-accueil .dashboard-bench-heading{margin:5px 0 6px}
  #page-accueil .home-bench-card{padding:5px 5px;min-height:45px}
  #page-accueil .dashboard-actions{margin-top:9px}
  #page-accueil .dashboard-actions .btn{padding:8px 12px}
  #page-accueil .dashboard-side{display:flex;flex-direction:column;gap:10px}
  #page-accueil .dashboard-trending{flex:1;overflow:hidden;display:flex;flex-direction:column;min-height:0}
  #page-accueil .dashboard-ready{flex:0 0 auto}
  #page-accueil .dashboard-trending .home-trend{flex:1;min-height:0;padding:9px 0}
  #page-accueil .dashboard-trending .home-trend:first-of-type{margin-top:5px}
  #page-marche.show{display:flex;flex-direction:column;overflow:hidden;padding-bottom:10px}
  #page-marche .filters{flex:0 0 auto;flex-wrap:wrap;margin:8px 0 9px}
  #page-marche .market-scroll-panel{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:7px}
  #page-marche .player-list{max-height:none;min-height:0;overflow:visible}
  #page-marche .market-budget-notice{position:relative;top:auto;flex:0 0 auto}
  #page-marche .market-heading{flex:0 0 auto}
}
.side-tools{display:grid;gap:8px;margin:8px 0 14px}
.side-tools .sync-quick{width:100%;justify-content:center;padding:10px 7px;font-size:11px}
.side-tools .theme-picker{display:block;padding:0;margin:0}
.side-tools .theme-picker>span{display:none}
.side-tools #theme-toggle{display:block;width:100%;padding:9px 10px;white-space:nowrap}
.ticker-dot{height:7px;width:7px;flex:0 0 7px;border-radius:50%;background:#9ada56;box-shadow:0 0 0 4px #9ada5622}
.fixture-ticker{display:flex;align-items:center;gap:11px;min-height:66px;max-height:66px;flex:0 0 66px;position:relative;background:#fff;border:1px solid #d9e6dc;border-radius:15px;overflow:hidden;padding:5px 10px;color:#203a32}
.ticker-label{display:flex;align-items:center;gap:8px;flex:0 0 123px;min-width:0;font-size:9px;letter-spacing:.7px;line-height:1.25}
.ticker-viewport{flex:1;min-width:0;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
.ticker-track{width:max-content;display:flex;gap:13px;align-items:center;will-change:transform}
.ticker-track.ticker-moving{animation:fixturesMarquee 48s linear infinite}
.ticker-set{display:flex;align-items:center;gap:13px;flex-shrink:0}
.ticker-fixture{display:flex;align-items:center;gap:8px;min-height:49px;min-width:292px;padding:4px 11px;background:#f7faf6;border:1px solid #dfebdf;border-radius:12px}
.ticker-date{display:grid;gap:1px;min-width:46px;color:#597363;font-size:9px;font-weight:800;line-height:1.3}
.ticker-date b{font-size:10px;color:#233d34}
.ticker-club{display:flex;align-items:center;gap:5px;min-width:72px;max-width:100px}
.ticker-club strong{font-size:10px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:66px}
.ticker-crest{font-style:normal;font:900 8px 'Outfit',sans-serif;display:grid;place-items:center;min-width:29px;max-width:29px;height:29px;border:1px solid var(--club-accent-2,#8095a3);background:var(--club-dark,#253447);color:var(--club-accent,#d7e7e9);border-radius:8px}
.ticker-vs{font-weight:900;font-size:8px;color:#8ca397;letter-spacing:.4px}
.ticker-calendar{border:0;border-radius:9px;padding:8px 10px;flex:0 0 auto;background:#eaf4e7;color:#315737;font-size:10px;font-weight:850;white-space:nowrap}
.ticker-empty{font-size:12px;color:#60788a}
.fixture-ticker:hover .ticker-moving,.fixture-ticker:focus-within .ticker-moving{animation-play-state:paused}
@keyframes fixturesMarquee{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 6.5px))}}
@media(prefers-reduced-motion:reduce){.ticker-track.ticker-moving{animation:none}.ticker-viewport{overflow-x:auto;scrollbar-width:thin}}
.trend-helper{margin-top:auto;padding:10px 0 0;color:#76909c;font-size:10px;line-height:1.4}
.market-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:3px 0 9px}
.market-tabs{display:flex;align-items:center;gap:5px;padding:4px;background:#eaf1f3;border-radius:12px}
.market-tabs button{border:0;background:transparent;padding:8px 13px;color:#56717d;border-radius:9px;font-size:13px;font-weight:850}
.market-tabs button.active{background:white;color:#173b2e;box-shadow:0 2px 8px #24413815}
#page-marche .market-budget-notice{margin:0 0 6px;padding:7px 13px;min-height:48px}
#page-marche .market-budget-notice strong{font-size:23px}
#page-marche .filters{gap:7px}
#page-marche .filters input:not([type=checkbox]),#page-marche .filters select{padding:9px 11px;font-size:12px}
#page-marche .filters .budget-filter{font-size:11px}
#page-marche .filters.coach-mode #position-filter,#page-marche .filters.coach-mode #sort{display:none}
#page-marche .market-scroll-panel>.coach-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
#page-marche .market-scroll-panel>[hidden]{display:none!important}
#page-marche .market-card{padding:8px 10px;gap:10px}
#page-marche .market-portrait{width:43px;min-width:43px;height:47px}
#page-marche .market-portrait span{font-size:19px}
#page-marche .market-card .market-form{height:19px}
#page-marche .market-card .market-person>span{font-size:10px}
#page-marche .market-card .market-person>strong{font-size:12px}
#page-marche .market-card .market-price strong{font-size:16px}
/* Remove old page headings and redundant status labels from the playable screens */
#page-equipe .sectionhead,#page-journees .sectionhead,#page-ligues .sectionhead{margin:0 0 9px}
#page-equipe .sectionhead .eyebrow,#page-journees .sectionhead .eyebrow,#page-ligues .sectionhead .eyebrow{display:none}
#page-equipe .sectionhead h2,#page-journees .sectionhead h2,#page-ligues .sectionhead h2{font-size:23px;margin:0}
#page-equipe .sectionhead p,#page-journees .sectionhead p,#page-ligues .sectionhead p{display:none}
#page-equipe .team-progress{padding:10px 12px;margin:0 0 8px}
#page-equipe .team-progress-rail{height:5px}
#page-equipe .team-checks{gap:5px}
#page-equipe .team-budget-guide{padding:8px 10px;margin:0 0 8px;font-size:11px}
#page-equipe .court-header{margin:0 0 7px}
#page-equipe .court-header .eyebrow{display:none}
#page-equipe .court-header h3{font-size:19px}
#page-equipe .court{height:min(48vh,400px)}
#page-equipe .court-player{height:clamp(126px,17vh,150px)}
#page-equipe .bench{margin-top:4px}
#page-equipe .roster-panel{padding:15px}
#page-equipe .roster-panel h3{font-size:18px}
#page-equipe .input-group{margin:9px 0}
#page-equipe .input-group input,#page-equipe .input-group select{padding:8px 10px}
#page-equipe .roster-reminder{font-size:10px;line-height:1.3}
#page-equipe .bench-card{padding:4px 0}
#page-journees .block,#page-ligues .block{padding:13px}
#page-journees .two-col,#page-ligues .two-col{gap:10px}
#page-journees .block h3,#page-ligues .block h3{font-size:17px}
#page-journees .week-panel,#page-ligues .rank{padding:9px 12px}
#page-ligues .input-group{margin:9px 0}
/* Support dark mode with a restrained ticker and tab palette */
:root[data-theme="dark"] .fixture-ticker{background:#162b32;border-color:#37564e;color:#e5f3ee}
:root[data-theme="dark"] .ticker-fixture{background:#1d323b;border-color:#38535a}
:root[data-theme="dark"] .ticker-date{color:#b1c8b8}
:root[data-theme="dark"] .ticker-date b{color:#e2f3ec}
:root[data-theme="dark"] .ticker-calendar{background:#294738;color:#deefdc}
:root[data-theme="dark"] .market-tabs{background:#253d49}
:root[data-theme="dark"] .market-tabs button{color:#bad0dc}
:root[data-theme="dark"] .market-tabs button.active{background:#182c38;color:#e2ff75}
@media(min-width:801px) and (max-height:750px){
 #page-accueil .dashboard-stats .stat{padding:7px 11px}
 #page-accueil .dashboard-stats .stat-v{font-size:20px}
 #page-accueil .dashboard-five{gap:5px}
 #page-accueil .home-five-card{max-height:130px}
 #page-accueil .dashboard-bench-heading{margin:2px 0 4px}
 #page-accueil .dashboard-actions{margin-top:6px}
 #page-accueil .dashboard-trending .home-trend{padding:4px 0}
 #page-accueil .trend-helper{display:none}
}
@media(max-width:800px){
 body,html{height:auto;overflow:auto}
 .side-tools{margin:4px 0 8px;display:flex;gap:6px}
 .side-tools .sync-quick{padding:7px;flex:1}
 .side-tools .theme-picker{position:static;flex:1;max-width:150px}
 .side-tools #theme-toggle{font-size:10px;padding:8px 5px}
 #page-accueil .dashboard-main-grid{display:grid;grid-template-columns:1fr}
 .fixture-ticker{margin-top:6px;height:61px;min-height:61px;max-height:61px;padding:4px 8px;gap:6px}
 .ticker-label{flex:0 0 68px;font-size:8px}
 .ticker-calendar{font-size:0;padding:8px}
 .ticker-calendar:after{content:'↗';font-size:15px}
 #page-marche .market-scroll-panel{height:auto;overflow:visible}
 #page-marche .player-list{max-height:none;overflow:visible}
 #page-marche .market-scroll-panel>.coach-grid{grid-template-columns:1fr}
 .market-tabs button{padding:7px 10px;font-size:12px}
 #page-equipe .court{height:440px}
}
/* V10 — cinq majeur organisé comme sur un terrain, sans vide vertical inutile */
@media(min-width:801px){
 #page-accueil .dashboard-five{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:7px;background:linear-gradient(180deg,rgba(221,239,226,.38),rgba(242,249,244,.58));border:1px solid #e1ede4;border-radius:14px;padding:8px 12px;align-items:stretch;max-height:430px}
 #page-accueil .dashboard-five .home-five-card{height:100%;max-height:none;min-height:0;justify-content:center;gap:5px;padding:7px}
 #page-accueil .dashboard-five .home-five-card:nth-child(1){grid-column:2/span 2;grid-row:1}
 #page-accueil .dashboard-five .home-five-card:nth-child(2){grid-column:4/span 2;grid-row:1}
 #page-accueil .dashboard-five .home-five-card:nth-child(3){grid-column:1/span 2;grid-row:2}
 #page-accueil .dashboard-five .home-five-card:nth-child(4){grid-column:3/span 2;grid-row:2}
 #page-accueil .dashboard-five .home-five-card:nth-child(5){grid-column:5/span 2;grid-row:2}
 #page-accueil .dashboard-five .home-five-card .dash-shirt{flex:0 0 auto}
 #page-accueil .dashboard-five .home-five-card b{margin-top:5px}
 #page-accueil .dashboard-trending .home-trend{padding:5px 0}
 #page-accueil .dashboard-trending .home-trend:first-of-type{margin-top:2px}
}
:root[data-theme="dark"] #page-accueil .dashboard-five{background:linear-gradient(#182d30,#192c34);border-color:#33484a}
@media(min-width:801px) and (max-height:750px){
 #page-accueil .dashboard-five{padding:6px 9px;gap:5px}
 #page-accueil .dashboard-five .home-five-card .dash-shirt{width:38px;height:37px;font-size:17px;margin:0}
 #page-accueil .dashboard-five .home-five-card{gap:2px}
 #page-accueil .dashboard-five .home-five-card strong{font-size:10px}
 #page-accueil .dashboard-trending .home-trend{padding:3px 0}
}
/* Feedback non bloquant : les notifications ne déplacent plus la composition. */
@media(min-width:801px){
 #alert:not(:empty),.sync-feedback:not([hidden]){position:fixed;z-index:1002;top:17px;right:20px;width:min(420px,calc(100vw - 300px));margin:0;box-shadow:0 12px 35px #102a3429;border-radius:12px;padding:13px 17px}
 .sync-feedback:not([hidden]){top:70px}
}
/* Mobile : éliminer les doublons sans sacrifier les commandes indispensables. */
@media(max-width:740px){
 .main>footer{display:none}
 #page-accueil .dashboard-bench{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 #page-accueil .home-bench-card{padding:5px;min-height:52px;display:grid;justify-items:center;text-align:center;gap:2px}
 #page-accueil .home-bench-card .dash-mini-shirt{width:25px;height:25px;font-size:12px}
 #page-accueil .home-bench-card span:nth-child(2){display:grid;min-width:0;max-width:100%;gap:0}
 #page-accueil .home-bench-card strong{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
 #page-accueil .home-bench-card small{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #page-accueil .home-bench-card b{display:none}
 #page-accueil .dashboard-ready,#page-accueil .trend-helper{display:none}
 #page-accueil .dashboard-actions{margin-top:8px}
 #page-accueil .dashboard-trending .home-trend{padding:7px 0}
 #page-accueil .dashboard-trending{padding:14px}
 #page-accueil .dashboard-roster{padding:14px}
}

/* V11 · Championnat H2H intégré aux ligues, sans panneau défilant supplémentaire. */
#page-ligues .league-card{margin:8px 0;padding:12px 14px}
#page-ligues .league-header{display:flex;align-items:center;justify-content:space-between;gap:8px}
#page-ligues .league-meta{margin:4px 0 8px;font-size:11px}
.league-tabs{display:flex;gap:5px;padding:3px;background:#e8eff2;border-radius:9px;margin:8px 0 12px}
.league-tabs button{border:0;border-radius:7px;background:transparent;color:#3d596b;font-weight:800;font-size:12px;padding:8px 12px;cursor:pointer;flex:1}
.league-tabs button.active{background:#fff;color:#254e39;box-shadow:0 1px 5px #1738491a}
.league-general-ranking .rank-row{padding:8px 2px}
.champ-empty{background:var(--surface,#f6faf9);border:1px dashed #a9c5b6;padding:12px;border-radius:10px}
.champ-empty p{font-size:12px;line-height:1.5;margin:7px 0}
.champ-setup{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.champ-setup .btn{padding:9px 15px;font-size:12px}
.champ-check{font-size:11px;display:flex;align-items:center;gap:7px}
.champ-check input{accent-color:#4b9160}
.champ-note{color:#718b99;font-size:11px;line-height:1.45;margin:8px 0 0}
.champ-summary{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:0 0 9px}
.champ-summary>span,.champ-summary>strong{padding:5px 9px;background:#eaf2ef;border:1px solid #d9e7e0;border-radius:8px;font-size:11px;color:#31584a}
.champ-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:10px}
.champ-standings,.champ-calendar,.champ-playoffs{min-width:0;border:1px solid #dae6ea;border-radius:10px;padding:10px;background:#ffffff}
.champ-standings h4,.champ-calendar h4,.champ-playoffs h4{margin:0 0 9px;font-size:13px}
.champ-standing-row{display:grid;grid-template-columns:22px minmax(100px,1fr) repeat(4,26px) 35px 44px;gap:4px;align-items:center;padding:6px 4px;border-bottom:1px solid #edf1f4;font-size:11px}
.champ-standing-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.champ-standing-row span:not(:nth-child(2)),.champ-standing-row b,.champ-standing-row small{text-align:right}
.champ-standing-head{color:#728b98;font-size:10px;font-weight:700;background:#f3f7f8}
.champ-winner{background:#edf8e9}
.champ-calendar-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.champ-calendar-head h4{margin:0}
.champ-round-tools{display:flex;gap:4px;align-items:center;max-width:100%}
.champ-round-tools button{border:1px solid #d2e0e6;border-radius:6px;padding:4px 9px;background:#f3f7fa;cursor:pointer}
.champ-round-tools button:disabled{opacity:.4;cursor:default}
.champ-round-tools select{max-width:225px;min-width:140px;border:1px solid #d2e0e6;border-radius:6px;padding:5px;font-size:11px;background:#f8fbfb;color:#234}
.champ-date{font-size:10px;color:#698494;margin:8px 0 4px}
.champ-match{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;border-top:1px solid #e5edf0;padding:7px 0;font-size:11px}
.champ-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600}
.champ-name.winner{color:#276b3d;font-weight:900}
.champ-away{text-align:right}
.champ-match-score{text-align:center;min-width:94px}
.champ-match-score strong{font-size:12px;white-space:nowrap}
.champ-match-score small{display:block;color:#7992a0;font-size:9px;margin-top:1px}
.champ-playoffs{margin-top:9px}
.champ-playoff-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.champ-playoff-grid h5{margin:8px 0;font-size:11px}
.champ-legacy{border-top:1px solid #e0e8eb;margin-top:10px;padding-top:8px;font-size:11px}
.champ-legacy summary{cursor:pointer;color:#53748b}
:root[data-theme="dark"] .league-tabs{background:#253d49}
:root[data-theme="dark"] .league-tabs button{color:#b6d1db}
:root[data-theme="dark"] .league-tabs button.active{background:#152e35;color:#d5f58c}
:root[data-theme="dark"] .champ-standings,:root[data-theme="dark"] .champ-calendar,:root[data-theme="dark"] .champ-playoffs{background:#182b37;border-color:#35515e}
:root[data-theme="dark"] .champ-summary>span,:root[data-theme="dark"] .champ-summary>strong{background:#233e41;border-color:#375b59;color:#c5edcf}
:root[data-theme="dark"] .champ-standing-row{border-color:#36505b}
:root[data-theme="dark"] .champ-standing-head{background:#273d47;color:#c5d7dc}
:root[data-theme="dark"] .champ-winner{background:#244837}
:root[data-theme="dark"] .champ-match{border-color:#35505b}
:root[data-theme="dark"] .champ-empty{background:#1b3339;border-color:#506960}
:root[data-theme="dark"] .champ-legacy{border-color:#3a535c}
:root[data-theme="dark"] .champ-round-tools select,:root[data-theme="dark"] .champ-round-tools button{background:#1a323b;color:#cbe0ec;border-color:#395662}
@media(max-width:1100px){.champ-columns{grid-template-columns:1fr}}
@media(max-width:640px){.league-tabs button{font-size:11px;padding:7px 4px}.champ-standing-row{grid-template-columns:18px minmax(76px,1fr) repeat(4,19px) 27px 33px;gap:2px;font-size:10px}.champ-standing-row strong{font-size:10px}.champ-match-score{min-width:70px}.champ-playoff-grid{grid-template-columns:1fr}.champ-round-tools select{min-width:110px;max-width:160px}}
#page-ligues .league-access{border:1px solid #cfdfe6;border-radius:9px;background:#f1f7f5;margin:3px 0 9px}
#page-ligues .league-access>summary{cursor:pointer;font-size:12px;font-weight:800;color:#315c54;padding:9px 12px}
#page-ligues .league-access>.two-col{padding:4px 8px 8px}
#page-ligues .league-access .block{padding:11px}
#page-ligues .subhead{margin:9px 0 5px}
#page-ligues .week-toolbar[hidden]{display:none!important}
:root[data-theme="dark"] #page-ligues .league-access{background:#213941;border-color:#3b525e}
:root[data-theme="dark"] #page-ligues .league-access>summary{color:#c1ecdc}


/* V11.2 compact UX refinements */
body,.app,.main{overflow:hidden}
.main{display:flex;flex-direction:column;gap:8px;padding:0 26px 12px;height:100vh;max-width:none}
.page.show{display:flex;flex-direction:column;min-height:0;overflow:hidden}
.side{padding:18px 14px}.logo{margin:0 0 24px 4px}.aside-bottom{padding-top:12px}.sync-feedback{margin-top:2px}
#page-accueil{gap:8px}#page-accueil .dashboard-stats{margin:0;gap:8px}#page-accueil .dashboard-stats .stat{padding:10px 14px;border-radius:12px}#page-accueil .dashboard-stats .stat-v{font-size:24px;margin:5px 0 0}#page-accueil .dashboard-main-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,.85fr);gap:10px;flex:1;min-height:0;margin:0}#page-accueil .dashboard-roster,#page-accueil .dashboard-side{min-height:0;height:100%}#page-accueil .dashboard-roster{padding:14px;display:flex;flex-direction:column}#page-accueil .dashboard-panel-heading h2{font-size:18px}#page-accueil .dashboard-coach{min-height:52px;padding:8px 12px;margin:0 0 8px}#page-accueil .dashboard-five{margin:0 0 8px;flex:1;min-height:0;padding:8px 10px;gap:6px}#page-accueil .home-five-card{padding:8px 6px;min-height:0;gap:4px}#page-accueil .home-five-card strong{font-size:10px}#page-accueil .home-five-card small{font-size:9px}#page-accueil .home-five-card b{font-size:11px}#page-accueil .dashboard-bench-heading{margin:0 0 5px;font-size:12px}#page-accueil .dashboard-bench{gap:6px}#page-accueil .dashboard-actions{margin-top:8px}#page-accueil .dashboard-actions .btn{padding:9px 11px}#page-accueil .dashboard-side{display:flex;flex-direction:column}#page-accueil .dashboard-trending{padding:14px;display:flex;flex-direction:column;min-height:0;flex:1}#page-accueil .dashboard-trending #home-trending{display:grid;gap:3px;min-height:0;overflow:auto}#page-accueil .dashboard-trending .home-trend{padding:5px 0}#page-accueil .trend-helper{display:none}#page-accueil .dashboard-ready{display:none}.fixture-ticker{margin-top:0;height:60px;min-height:60px;max-height:60px;padding:4px 10px} .ticker-label strong{font-size:11px} .ticker-club strong{font-size:10px} .ticker-club{gap:6px} .ticker-date{font-size:10px}
#page-journees{gap:10px}#page-journees .journees-head{display:flex;align-items:center;justify-content:space-between;gap:12px}#page-journees .journees-head h2{font:800 24px "Outfit",sans-serif;margin:0}#page-journees .week-toolbar.compact{margin:0;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #d9e6dc;border-radius:12px;padding:6px 10px}#page-journees .week-toolbar.compact label{font-size:12px;font-weight:700;color:#667f8a}#page-journees .week-toolbar.compact select{min-width:250px;border:0;background:transparent;padding:4px 0;color:#163044;font-weight:700}#page-journees .week-panel.compact{padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #d9e6dc}#page-journees .week-heading.compact{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}#page-journees .week-heading.compact strong{font-size:20px;line-height:1.1}#page-journees .week-summary-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px}#page-journees .week-summary-chips span{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#f4f8f7;color:#305066;border:1px solid #e0e9e5;font-size:11px;font-weight:700}#page-journees .week-summary-tip{font-size:12px;color:#5a7487;line-height:1.45}#page-journees .week-grid-compact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.1fr);gap:10px;min-height:0;flex:1}#page-journees .compact-block{padding:14px;display:flex;flex-direction:column;min-height:0}#page-journees .compact-block.wide{min-width:0}#page-journees .compact-title-row{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:10px}#page-journees .compact-title-row h3{font-size:18px;margin:0}#page-journees .compact-title-row small{font-size:11px;color:#718b9c}#page-journees #week-ranking,#page-journees #week-top-players,#page-journees #season-ranking{display:grid;gap:6px;overflow:auto;min-height:0}#page-journees .simple-rank.compact{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 10px;border:1px solid #e1eaee;border-radius:10px;background:#fbfdfe}#page-journees .simple-rank.compact strong{font-size:13px}#page-journees .simple-rank.compact .tiny{font-size:10px;color:#7e92a3;margin-top:2px}#page-journees .simple-rank.compact span{font-size:12px;font-weight:800;color:#1b3649;white-space:nowrap}#page-journees .compact-empty{padding:18px;min-height:120px;display:grid;place-items:center;border-style:dashed;color:#7f92a1}#page-journees .block{background:#fff;border-color:#d9e6dc}#page-journees .empty{background:#fbfdfe} .team-budget-guide.compact{padding:9px 12px;border-radius:12px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px} .team-budget-guide.compact strong{font-size:13px} .team-budget-guide.compact span{font-size:12px;color:#587485} .team-budget-guide.compact button{margin-left:auto;background:none;border:1px solid currentColor;border-radius:999px;padding:7px 10px;font-weight:800;color:inherit} .team-budget-guide.compact.ok{background:#f6fbf1;border:1px solid #d8e8cc;color:#41633f}.team-budget-guide.compact.warning{background:#fff8ef;border:1px solid #f0d4a7;color:#885c16}
@media (max-width: 1260px){.main{overflow:auto;height:auto}body,.app{overflow:auto}#page-journees .week-grid-compact,#page-accueil .dashboard-main-grid{grid-template-columns:1fr}#page-journees .week-toolbar.compact select{min-width:180px}}

/* V11.3 responsive + value improvements */
#page-equipe{overflow:auto;padding-right:6px}
#page-equipe .team-layout{grid-template-columns:minmax(0,1.28fr) minmax(320px,.92fr);align-items:start}
#page-equipe .court-wrap{min-width:0}
#page-equipe .court-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 8px}
#page-equipe .court{height:auto;aspect-ratio:1.08/1;max-height:none;border-radius:22px;background:linear-gradient(180deg,#e9c88f 0%,#e1bc7b 50%,#ddb875 100%);border:8px solid #27424f;box-shadow:inset 0 0 0 2px rgba(255,255,255,.17)}
#page-equipe .parquet-lines{inset:18px;border:2px solid rgba(255,247,229,.95)}
#page-equipe .court-midline{position:absolute;left:0;right:0;top:50%;height:2px;background:rgba(255,248,233,.92)}
#page-equipe .court-center-ring{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:22%;aspect-ratio:1;border:2px solid rgba(255,248,233,.9);border-radius:999px}
#page-equipe .court-key{left:calc(50% - 13%);width:26%;height:34%;border-color:rgba(255,248,233,.9)}
#page-equipe .court-key:before{content:"";position:absolute;left:50%;transform:translateX(-50%);top:-22%;width:86%;aspect-ratio:1;border:2px solid rgba(255,248,233,.8);border-bottom:0;border-radius:999px 999px 0 0}
#page-equipe .court-three-arc{bottom:-39%;left:7%;width:86%;height:62%;border-color:rgba(255,248,233,.92)}
#page-equipe .court-hoop{bottom:6.5%;width:11%;height:3.4%;border-width:2px;box-shadow:0 -12px 0 -4px rgba(255,250,232,.88)}
#page-equipe .starters{inset:14% 5.5% 8.5%;margin:0;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr);gap:12px;position:absolute}
#page-equipe .slot:nth-child(1){grid-column:2/span 2;grid-row:1/span 2}
#page-equipe .slot:nth-child(2){grid-column:4/span 2;grid-row:1/span 2}
#page-equipe .slot:nth-child(3){grid-column:1/span 2;grid-row:4/span 2}
#page-equipe .slot:nth-child(4){grid-column:3/span 2;grid-row:4/span 2}
#page-equipe .slot:nth-child(5){grid-column:5/span 2;grid-row:4/span 2}
#page-equipe .bench{margin-top:8px;padding:12px 14px}
#page-equipe .roster-panel{position:sticky;top:12px;max-height:calc(100vh - 44px);overflow:auto}
#page-equipe .input-group{margin:10px 0}
#page-equipe .roster-panel .week-panel{margin:10px 0}
#page-equipe .team-progress{padding:10px 12px}
#page-equipe .team-checks{row-gap:6px}
#page-equipe .team-budget-guide.compact{margin-bottom:10px}

#page-journees{overflow:auto;padding-right:6px}
#page-journees .week-grid-value{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) minmax(0,.95fr)}
#page-journees #week-fixtures{display:grid;gap:7px;overflow:auto;min-height:0}
#page-journees .fixture-row.compact{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #e1eaee;border-radius:10px;background:#fbfdfe}
#page-journees .fixture-row.compact strong{font-size:12px;line-height:1.35;color:#183548;display:block}
#page-journees .fixture-row.compact strong span{font-weight:600;color:#8194a1;margin:0 4px}
#page-journees .fixture-state{flex-shrink:0;border-radius:999px;padding:5px 9px;background:#f4f6f7;color:#6d8290;font-size:10px;font-weight:800;letter-spacing:.4px}
#page-journees .fixture-state.done{background:#eef8dd;color:#5a7f21}

@media (max-height: 860px){
  body,.app,.main{overflow:auto;height:auto}
  .page.show{overflow:visible}
  #page-equipe .roster-panel{position:static;max-height:none;overflow:visible}
}
@media (max-width: 1180px){
  body,.app,.main{overflow:auto;height:auto}
  #page-equipe .team-layout{grid-template-columns:1fr;gap:12px}
  #page-equipe .roster-panel{position:static;max-height:none;overflow:visible}
  #page-equipe .court{max-width:760px}
  #page-journees .week-grid-value{grid-template-columns:1fr}
}
@media (max-width: 900px){
  body,.app,.main{overflow:auto;height:auto}
  .app{display:block}
  .side{position:relative;top:auto;height:auto;width:100%;min-width:0;border-right:0;border-bottom:1px solid #d8e3e8;background:#fff;color:#102338}
  .logo,.side-label,.aside-bottom,.side select,nav button{color:inherit}
  nav button:hover,nav button.active{background:#edf4ef;color:#2e5b2f}
  nav button.active{border-left:3px solid #b5d264}
  .main{padding:0 14px 24px}
  .page.show{display:block;overflow:visible}
  #page-equipe .court{aspect-ratio:1/1.06;border-width:6px}
  #page-equipe .starters{gap:8px}
  #page-equipe .bench{overflow:visible}
}
@media (max-width: 620px){
  #page-equipe .court-header{flex-direction:column;align-items:flex-start}
  #page-equipe .court{aspect-ratio:.96/1.18}
  #page-equipe .starters{inset:13% 4% 8%}
  #page-equipe .bench-head{flex-direction:column;align-items:flex-start}
  #page-journees .journees-head{flex-direction:column;align-items:flex-start}
  #page-journees .week-toolbar.compact{width:100%}
  #page-journees .week-toolbar.compact select{width:100%;min-width:0}
}

/* Connexion : la grille CSS ne doit jamais réafficher le champ Pseudo masqué. */
.auth-card label[hidden]{display:none!important}


/* V11.4 — Correction definitive du scroll et du banc sur toutes les tailles d'ecran.
   N'enfermons jamais un contenu de composition dans un ancetre overflow:hidden. */
html{min-height:100%;}
body{min-height:100%;}
@media (min-width: 901px){
  body,.app{height:100dvh;overflow:hidden;}
  .app{min-height:0;}
  .main{height:100dvh;max-height:100dvh;min-height:0;min-width:0;overflow:hidden;display:flex;flex-direction:column;}
  .page.show{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior-y:contain;}
  #page-equipe{display:block;overflow-y:auto;overflow-x:hidden;min-height:0;}
  #page-equipe .roster-panel{position:static;max-height:none;overflow:visible;}
}
/* Le suivi et le budget sont regroupes en une seule ligne : pas de banniere
   inutile lorsque le budget est suffisant. */
#page-equipe .sectionhead{margin:0 0 6px;}
#page-equipe .team-progress{padding:9px 12px;margin:0 0 8px;flex:0 0 auto;}
#page-equipe .team-progress-heading{margin:0;}
#page-equipe .team-progress-rail,#page-equipe .team-checks{display:none;}
#page-equipe .team-budget-guide[hidden]{display:none!important;}
#page-equipe .team-budget-guide.compact{margin:0 0 8px;}
#page-equipe .team-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(290px,.95fr);gap:12px;align-items:start;}
#page-equipe .court-wrap{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(175px,.41fr);grid-template-rows:auto minmax(0,auto) auto;column-gap:10px;row-gap:5px;align-items:start;}
#page-equipe .court-header{grid-column:1/-1;grid-row:1;margin:0 0 3px;}
#page-equipe .court{grid-column:1;grid-row:2;width:100%;max-width:590px;min-width:0;height:auto!important;max-height:none;aspect-ratio:15/14!important;border-width:6px;border-radius:17px;}
#page-equipe .court-help{grid-column:1;grid-row:3;margin:3px 0 0;font-size:10px;line-height:1.4;}
#page-equipe .bench{grid-column:2;grid-row:2/4;align-self:stretch;margin:0;padding:9px;min-width:0;border-radius:12px;}
#page-equipe .bench-head{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin-bottom:8px;}
#page-equipe .bench-head h3{font-size:12px;}
#page-equipe .bench-head small{display:none;}
#page-equipe .bench-head .tiny-action{font-size:10px;padding:6px 7px;}
#page-equipe .bench-card{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 0;}
#page-equipe .bench-card.club-card{padding:8px 0;}
#page-equipe .bench-number{height:28px;width:28px;border-radius:7px;font-size:13px;}
#page-equipe .bench-player strong{font-size:11px;}
#page-equipe .bench-player small{font-size:9px;}
#page-equipe .bench-actions{padding:0;width:100%;justify-content:flex-start;gap:3px;}
#page-equipe .bench-actions button{padding:5px;font-size:10px;}
#page-equipe .bench-empty{padding:9px 0;}
#page-equipe .starters{inset:12% 4% 7%;gap:6px;}
#page-equipe .court-player{width:min(100%,140px);height:clamp(104px,14vh,139px);border-radius:11px;}
#page-equipe .court-player-body{padding:7px 7px 3px;}
#page-equipe .court-player-text{margin-top:3px;}
#page-equipe .court-player-text strong{font-size:11px;}
#page-equipe .court-card-actions{height:29px;}
#page-equipe .court-card-actions button{padding:4px;}
#page-equipe .roster-panel{padding:12px;min-width:0;}
#page-equipe .roster-panel h3{margin-bottom:6px;font-size:17px;}
#page-equipe .roster-panel .input-group{margin:8px 0;}
#page-equipe .roster-panel .input-group input,#page-equipe .roster-panel .input-group select{padding:8px 10px;}
#page-equipe .roster-panel .coach-help-actions{margin-top:4px;}
#page-equipe .roster-panel .roster-reminder{font-size:10px!important;margin:5px 0!important;}
#page-equipe .roster-panel .fine{margin:5px 0!important;}
#page-equipe .roster-panel .week-panel{padding:8px;margin:6px 0;}
/* Fenetres intermediaires : une seule colonne si le terrain ne tient plus. */
@media (min-width:901px) and (max-width:1450px){
  #page-equipe .team-layout{grid-template-columns:minmax(0,1fr) minmax(290px,.7fr);}
  #page-equipe .court-wrap{grid-template-columns:1fr;}
  #page-equipe .court{grid-column:1;grid-row:2;max-width:500px;}
  #page-equipe .court-help{grid-column:1;grid-row:3;}
  #page-equipe .bench{grid-column:1;grid-row:4;display:block;}
  #page-equipe .bench-card{flex-direction:row;align-items:center;flex-wrap:wrap;}
  #page-equipe .bench-actions{width:auto;margin-left:auto;}
}
@media (max-width:900px){
  html,body,.app,.main{height:auto!important;max-height:none!important;min-height:0;overflow-x:hidden!important;overflow-y:visible!important;}
  body{overflow-y:auto!important;}
  .app{display:block!important;}
  .main{display:block!important;padding:10px 12px 32px!important;}
  .page.show{display:block!important;overflow:visible!important;max-height:none!important;}
  #page-equipe{overflow:visible!important;}
  #page-equipe .team-layout{display:grid;grid-template-columns:1fr;gap:12px;}
  #page-equipe .court-wrap{display:flex;flex-direction:column;gap:6px;}
  #page-equipe .court-header{width:100%;}
  #page-equipe .court{width:100%;max-width:590px;aspect-ratio:15/14!important;height:auto!important;}
  #page-equipe .court-help{order:2;}
  #page-equipe .bench{order:3;width:100%;max-width:590px;display:block;}
  #page-equipe .bench-head{flex-direction:row;align-items:center;justify-content:space-between;}
  #page-equipe .bench-head small{display:inline;}
  #page-equipe .bench-card{flex-direction:row;align-items:center;flex-wrap:wrap;}
  #page-equipe .bench-actions{width:auto;margin-left:auto;}
  #page-equipe .roster-panel{max-height:none;overflow:visible;}
}
@media (max-width:440px){
  #page-equipe .court{border-width:4px;}
  #page-equipe .starters{inset:15% 2% 8%;gap:3px;}
  #page-equipe .court-player{height:clamp(106px,30vw,136px);}
  #page-equipe .court-player-body{padding:5px;}
  #page-equipe .court-player-text strong{font-size:10px;}
  #page-equipe .bench-head{flex-wrap:wrap;}
  #page-equipe .bench-actions{width:100%;margin:0;}
}
/* Le banc ne s'etire pas artificiellement sur plusieurs rangées du grid. */
@media (min-width:1451px){
  #page-equipe .court-wrap{grid-template-rows:auto auto auto;align-content:start;}
  #page-equipe .bench{grid-row:2;align-self:start;}
}


/* V11.5 - marché robuste : un SEUL scroll vertical, celui de la page.
   Une règle de V11.2 a bloqué overflow partout et le marché en a souffert.
   Le marché ne doit pas dépendre de deux scrollers imbriqués. */
@media (min-width: 901px) {
  .main { display:flex; flex-direction:column; height:100dvh; max-height:100dvh; min-height:0; overflow:hidden; }
  #page-marche.show { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; height:auto; overflow-y:auto; overflow-x:hidden; overscroll-behavior-y:contain; scrollbar-width:thin; }
  #page-marche .market-scroll-panel { display:block; flex:none; height:auto; max-height:none; min-height:0; overflow:visible; padding:0 6px 8px 0; }
  #page-marche .player-list, #page-marche #coach-market { height:auto; max-height:none; overflow:visible; }
  #page-marche .market-budget-notice { position:sticky; top:0; z-index:25; margin:0 0 6px; }
  #page-marche .market-heading { flex:0 0 auto; }
  #page-marche .filters { flex:0 0 auto; }
}
@media (max-width:900px) {
  #page-marche.show { display:block!important; height:auto!important; overflow:visible!important; }
  #page-marche .market-scroll-panel, #page-marche .player-list, #page-marche #coach-market { display:block; height:auto!important; max-height:none!important; min-height:0!important; overflow:visible!important; }
  #page-marche #coach-market[hidden], #page-marche #players[hidden] { display:none!important; }
  #page-marche .market-scroll-panel>.coach-grid:not([hidden]) { display:grid; }
  #page-marche .market-budget-notice { position:sticky; top:0; z-index:25; }
}

/* Version exacte toujours visible pour distinguer les dossiers de test. */
.side .aside-bottom p { display:block; font-size:10px; line-height:1.3; margin:5px 0 9px; }


/* V11.6 — ISOLATION DES PAGES. Les IDs du layout ne peuvent jamais gagner
   contre ce garde-fou, même à <900px et même avec display:flex ailleurs. */
.main > section.page:not(.show),
.main > section.page[hidden]{display:none!important;visibility:hidden!important;}
.main > section.page.show:not([hidden]){visibility:visible;}

/* ACCUEIL : plus de hauteur figée, de joueurs écrasés ou de second scroll.
   La zone de contenu principale reste scrollable si l'écran est petit. */
@media (min-width:901px){
  #page-accueil.show{display:flex;flex-direction:column;overflow-y:auto!important;overflow-x:hidden;min-height:0;max-height:none!important;scrollbar-gutter:stable;}
  #page-accueil .fixture-ticker,#page-accueil .dashboard-stats{flex-shrink:0;}
  #page-accueil .dashboard-main-grid{height:auto!important;flex:0 0 auto!important;min-height:0;max-height:none!important;align-items:start;grid-template-columns:minmax(0,1.65fr) minmax(275px,.85fr)}
  #page-accueil .dashboard-roster,#page-accueil .dashboard-side{height:auto!important;min-height:0!important;max-height:none!important;align-self:start;}
  #page-accueil .dashboard-roster{display:flex;flex-direction:column;overflow:visible;}
  #page-accueil .dashboard-five{flex:0 0 auto!important;min-height:240px!important;height:240px;max-height:none!important;grid-template-rows:repeat(2,minmax(0,1fr));}
  #page-accueil .dashboard-five .home-five-card{height:100%;max-height:none;min-height:0;}
  #page-accueil .dashboard-trending{height:auto!important;min-height:0!important;flex:0 0 auto!important;overflow:visible!important;display:block;}
  #page-accueil #home-trending{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;display:block;}
  #page-accueil .home-trend{height:auto!important;min-height:48px!important;flex:0 0 auto!important;display:flex;align-items:center;padding:8px 0!important;}
  #page-accueil .home-trend > span:nth-child(2){min-width:0;}
  #page-accueil .dashboard-bench{flex:0 0 auto;}
}
@media (min-width:901px) and (max-width:1250px){
  #page-accueil .dashboard-main-grid{grid-template-columns:minmax(0,1fr);}
  #page-accueil .dashboard-five{height:225px;min-height:225px!important;}
}
@media (max-width:900px){
  html,body,.app,.main{overflow-x:hidden!important;overflow-y:visible!important;height:auto!important;min-height:0!important;max-height:none!important;}
  .main > section.page.show:not([hidden]){overflow:visible!important;height:auto;max-height:none;}
  #page-accueil .dashboard-main-grid{grid-template-columns:minmax(0,1fr);height:auto;min-height:0;max-height:none;flex:none;}
  #page-accueil .dashboard-roster,#page-accueil .dashboard-side,#page-accueil .dashboard-trending{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;}
  #page-accueil #home-trending{height:auto!important;overflow:visible!important;display:block;}
  #page-accueil .home-trend{height:auto!important;min-height:47px!important;flex:none!important;padding:7px 0!important;}
}
/* Navigation mobile : cinq entrées toujours visibles et atteignables. */
@media (max-width: 600px){
  .side nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;min-width:0;overflow:visible;}
  .side nav button{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;width:100%;height:49px;padding:5px 1px!important;border-left:0!important;border-bottom:3px solid transparent;border-radius:8px;font-size:14px!important;line-height:1;white-space:nowrap;}
  .side nav button.active{border-bottom-color:#96c84b!important;}
  .side nav button span{display:block!important;font-size:0!important;line-height:1!important;overflow:visible;white-space:nowrap;}
  .side nav button span::after{font-size:9px;letter-spacing:-.2px;}
  .side nav button[data-page="accueil"] span::after{content:'Accueil';}
  .side nav button[data-page="marche"] span::after{content:'Marché';}
  .side nav button[data-page="equipe"] span::after{content:'Équipe';}
  .side nav button[data-page="journees"] span::after{content:'Journées';}
  .side nav button[data-page="ligues"] span::after{content:'Ligues';}
}

/* Alpha cloud : ne pas proposer une synchro FIBA automatique indisponible. */
.side-tools #sync-quick{display:none!important;}


/* TDM Fantasy — demi-terrain sans sponsor, conservé en fallback responsive.
   Les cinq emplacements restent de vrais éléments HTML interactifs au-dessus de l’image. */
#page-equipe .court {
  background-color: #d5a05e;
  background-image: url("./terrain-demi-fantasy.svg?v=20261103-no-bgns") !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
  border-color: #203a43;
  box-shadow: 0 14px 26px rgba(20,40,46,.17), inset 0 0 0 1px rgba(255,246,222,.36);
}
#page-equipe .parquet-lines {display:none !important}
#page-equipe .court-caption {
  top: 14px;
  left: 15px;
  padding: 6px 9px;
  border-radius: 7px;
  background: rgba(16,37,46,.74);
  color: #fff7df;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.6px;
  text-shadow: none;
  z-index: 1;
  pointer-events: none;
}
#page-equipe .empty-court-player {
  background: linear-gradient(180deg,rgba(18,44,57,.84),rgba(9,29,42,.91));
  border: 1.5px dashed rgba(248,218,164,.8);
  color: #fffaf0;
  box-shadow: 0 9px 17px rgba(18,38,38,.21);
  backdrop-filter: blur(3px);
}
#page-equipe .empty-court-player:hover {
  background: linear-gradient(180deg,rgba(26,57,70,.91),rgba(12,38,51,.96));
  border-color: #fff1cc;
}
#page-equipe .empty-court-player .court-player-body {gap: 4px; padding: 7px 5px;}
#page-equipe .empty-player-number {
  display: grid;
  place-items: center;
  width: 51px;
  height: 55px;
  flex: 0 0 auto;
  background: url("./maillot-vide.svg") center / contain no-repeat;
  color: #fff;
  font-size: 25px;
  line-height: 1;
  text-shadow: 0 2px 6px #102333;
}
#page-equipe .empty-player-name {color: #f9f0dd;font-size: 11px; font-weight: 800;}
#page-equipe .empty-market-link {
  border: 1px solid #d1e5e8;
  border-radius: 8px;
  color: #102c3c;
  background: #f4f8ef;
  font-size: 11px;
  padding: 6px 10px;
  font-weight: 900;
  min-height: 31px;
}
#page-equipe .empty-market-link:hover,
#page-equipe .empty-market-link:focus-visible {
  background: #d9f987;
  color: #122c37;
  border-color: #d9f987;
}
@media(max-width:440px) {
  #page-equipe .court-caption {top:7px;left:8px;padding:4px 6px;font-size:7px}
  #page-equipe .empty-player-number {width:41px;height:45px;font-size:21px}
  #page-equipe .empty-court-player .court-player-body{gap:3px;padding:5px 2px}
  #page-equipe .empty-player-name{font-size:10px}
  #page-equipe .empty-market-link{font-size:10px;padding:5px 6px;min-height:28px}
}

/* Accès à la déconnexion sur mobile : l'ancien panneau latéral y était masqué. */
#mobile-logout{display:none}
@media(max-width:900px){
 #mobile-logout{display:inline-flex!important;align-items:center;justify-content:center;min-height:36px;padding:7px 10px;border-radius:9px;background:#edf4f4;border:1px solid #bdced1;color:#264451;font-size:11px;font-weight:800;white-space:nowrap}
 #mobile-logout:hover,#mobile-logout:focus-visible{background:#dff3c5;color:#183d35}
}


/* TDM Fantasy — informations lisibles + budget sticky lors du défilement de Mon équipe */
#page-equipe .team-sticky-summary{
 position:sticky;top:0;z-index:40;display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr)) minmax(150px,auto);
 align-items:center;gap:10px;padding:12px 14px;margin:0 0 9px;
 background:#102538;color:#f2f9f4;border:1px solid #385364;
 border-radius:15px;box-shadow:0 8px 20px rgba(4,17,25,.22);
}
#page-equipe .team-sticky-metric{min-width:0;display:grid;gap:3px;padding:2px 8px;border-right:1px solid #385162}
#page-equipe .team-sticky-metric span{font-size:11px;color:#b8cbd8;font-weight:700}
#page-equipe .team-sticky-metric strong{font:850 20px 'Outfit',sans-serif;white-space:nowrap;color:#dfff87}
#page-equipe .team-sticky-cash strong{color:#ffd26e}
#page-equipe .team-sticky-save{align-self:stretch;min-height:47px;padding:9px 13px;border:0;border-radius:11px;color:#112d32;background:#9feb78;font:850 12px 'Outfit',sans-serif;white-space:nowrap}
#page-equipe .team-sticky-save:hover,#page-equipe .team-sticky-save:focus-visible{background:#c7fa85;outline-offset:2px}
#page-equipe .team-sticky-save:disabled{opacity:.55;cursor:not-allowed}
#page-equipe .team-save-feedback{padding:11px 14px;margin:0 0 12px;border-radius:11px;border:1px solid #536575;background:#1a3441;color:#e0edf3;font-size:12px;font-weight:750;line-height:1.4}
#page-equipe .team-save-feedback[data-state="saved"]{background:#1e4436;border-color:#70bc87;color:#dcffe2}
#page-equipe .team-save-feedback[data-state="error"]{background:#4c2532;border-color:#e08d91;color:#ffe1e0}
#page-equipe .team-save-feedback[data-state="warning"]{background:#493a2b;border-color:#d5ab6e;color:#ffe8c8}
#page-equipe .team-save-feedback[data-state="pending"]{background:#26384a;border-color:#698eac;color:#e4f4fd}
#page-equipe .team-save-feedback[data-state="loading"]{background:#213e50;border-color:#78a7c4;color:#e4f7ff}
:root[data-theme="light"] #page-equipe .team-sticky-summary{background:#fff;color:#183140;border-color:#d6e5e8;box-shadow:0 8px 22px #23465328}
:root[data-theme="light"] #page-equipe .team-sticky-metric{border-color:#dfebef}
:root[data-theme="light"] #page-equipe .team-sticky-metric span{color:#5d7580}
:root[data-theme="light"] #page-equipe .team-sticky-metric strong{color:#276b43}
:root[data-theme="light"] #page-equipe .team-sticky-cash strong{color:#946321}
:root[data-theme="light"] #page-equipe .team-save-feedback{background:#eef4f8;border-color:#cbdde6;color:#2a5263}
:root[data-theme="light"] #page-equipe .team-save-feedback[data-state="saved"]{background:#e7f8ea;border-color:#a4d8b4;color:#25603a}
:root[data-theme="light"] #page-equipe .team-save-feedback[data-state="error"]{background:#fff0ef;border-color:#e7b1aa;color:#972d32}
:root[data-theme="light"] #page-equipe .team-save-feedback[data-state="warning"]{background:#fff5e7;border-color:#e2c39b;color:#855622}

/* Le maillot occupe la colonne de gauche. Nom, club et crédits restent ensemble à droite. */
#page-equipe .court-player{width:min(100%,225px)}
#page-equipe .court-player .court-player-body{display:flex;flex-direction:column;gap:5px;padding:9px 9px 6px}
#page-equipe .player-card-main{display:grid;grid-template-columns:37px minmax(0,1fr);align-items:start;gap:7px;min-width:0;flex:1;position:relative}
#page-equipe .player-card-main .card-shirt-number{height:49px;width:37px;font-size:19px}
#page-equipe .player-card-main .court-player-text{display:flex;flex-direction:column;min-width:0;margin:0;gap:2px}
#page-equipe .player-card-main .player-first{font-size:10px;color:#e3f3ec;opacity:.9}
#page-equipe .player-card-main .court-player-text strong{font-size:13px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-equipe .player-card-main .court-player-text small{font-size:9px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#page-equipe .court-player-price{display:block;margin-top:4px;color:var(--club-accent,#dfff87);font:850 14px 'Outfit',sans-serif;white-space:nowrap}
#page-equipe .player-card-main .cap-token{position:absolute;right:0;top:0;font-size:8px;padding:3px 5px;z-index:2}
#page-equipe .court-player.is-captain .player-first{padding-right:40px}
#page-equipe .court-player-metric{flex:0 0 auto;padding-top:4px;border-top:1px solid #ffffff36;justify-content:flex-start;align-items:baseline}
#page-equipe .court-player-metric b{font-size:13px}
#page-equipe .court-player-metric span{font-size:9px}
#page-equipe .court-card-actions{height:30px}
#page-equipe .court-card-actions .card-action{font-size:15px}
@media(max-width:1100px){
 #page-equipe .team-sticky-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 #page-equipe .team-sticky-save{grid-column:1/-1;min-height:38px}
}
@media(max-width:740px){
 #page-equipe .team-sticky-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:8px 7px;border-radius:11px}
 #page-equipe .team-sticky-metric{padding:2px 4px}
 #page-equipe .team-sticky-metric span{font-size:9px}
 #page-equipe .team-sticky-metric strong{font-size:15px}
 #page-equipe .team-sticky-save{grid-column:1/-1;font-size:12px;min-height:36px}
 #page-equipe .court-player{width:100%}
 #page-equipe .court-player .court-player-body{padding:6px 5px 4px;gap:3px}
 #page-equipe .player-card-main{grid-template-columns:25px minmax(0,1fr);gap:3px}
 #page-equipe .player-card-main .card-shirt-number{width:25px;height:32px;font-size:14px}
 #page-equipe .player-card-main .court-player-text strong{font-size:10px}
 #page-equipe .player-card-main .player-first{font-size:8px}
 #page-equipe .player-card-main .court-player-text small{font-size:8px}
 #page-equipe .court-player-price{font-size:11px;margin-top:2px}
 #page-equipe .court-player-metric b{font-size:11px}
 #page-equipe .court-player-metric span{font-size:8px}
 #page-equipe .court-card-actions{height:29px}
}
@media(max-width:420px){
 #page-equipe .team-sticky-metric span{font-size:8px}
 #page-equipe .team-sticky-metric strong{font-size:14px}
 #page-equipe .player-card-main{grid-template-columns:22px minmax(0,1fr);gap:2px}
 #page-equipe .player-card-main .card-shirt-number{width:22px;height:29px;font-size:12px}
 #page-equipe .player-card-main .court-player-text strong{font-size:9px}
 #page-equipe .court-player-metric span{display:none}
 #page-equipe .court-player.is-captain .player-first{padding-right:0}
 #page-equipe .player-card-main .cap-token{font-size:6px;padding:2px 3px;top:auto;bottom:0}
}


/* Bêta 2026 : règles, formations et corrections de lisibilité. */
#page-regles .rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding-bottom:24px}
#page-regles .rules-grid article{min-width:0;padding:19px 21px;align-self:stretch}
#page-regles .rules-grid h3{font:800 17px/1.3 'Outfit',sans-serif;margin:0 0 9px}
#page-regles .rules-grid p{font-size:13px;line-height:1.6;margin:0;color:inherit;opacity:.88}
#page-regles .rules-grid strong{color:var(--accent,#b7e75b)}
html[data-theme="light"] #page-regles .rules-grid strong{color:#29633f}
#page-equipe .formation-guide{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:7px 14px;padding:8px 11px;background:#122b36;border:1px solid #47636b;border-radius:11px;margin-bottom:8px;color:#dff2ed;font-size:11px;font-weight:750}
#page-equipe .formation-guide .formation-invalid{color:#ffb7ae;font-weight:900}
html[data-theme="light"] #page-equipe .formation-guide{color:#214152;background:#f2f7f4;border-color:#c8d9d6}
html[data-theme="light"] #page-equipe .formation-guide .formation-invalid{color:#a12831}
#page-marche .market-refinements{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:10px 12px;margin:0 0 10px;background:#1a3040;border:1px solid #395562;border-radius:11px;font-size:11px;color:#d6e9ef}
#page-marche .market-refinements .budget-filter{display:inline-flex;flex:0 0 auto;gap:9px;align-items:center;padding:0;order:0;cursor:pointer}
#page-marche .market-refinements .budget-filter input[type="checkbox"]{width:18px;height:18px;flex:none;margin:0;accent-color:#a9dc63}
html[data-theme="light"] #page-marche .market-refinements{background:#eef5fa;border-color:#d2e0e7;color:#314f61}
/* Ne jamais afficher des données tronquées sur les cartes d'accueil. */
#page-accueil .dashboard-five .home-five-card{max-height:none!important;min-height:115px!important;height:auto!important;justify-content:flex-start!important;padding:10px 6px!important;overflow:visible!important}
#page-accueil .dashboard-five .home-five-card strong{font-size:clamp(10px,1vw,13px)!important;line-height:1.3!important;white-space:normal!important;overflow:visible!important;max-height:none!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;word-break:normal!important;overflow-wrap:anywhere;text-align:center}
#page-accueil .dashboard-five .home-five-card small{font-size:10px!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.25!important}
#page-accueil .dashboard-five .home-five-card b{font-size:11px!important;flex-shrink:0}
#page-accueil .dashboard-five{min-height:0;align-items:stretch;grid-auto-rows:minmax(125px,auto);height:auto;overflow:visible}
/* Cartes de l'effectif : éviter chevauchement des boutons, des badges et de l'identité. */
#page-equipe .court-player.club-card{overflow:hidden!important;min-width:0}
#page-equipe .court-player .court-player-body{min-height:0;flex:1 1 auto;overflow:hidden}
#page-equipe .court-player .player-card-main{min-height:0;display:grid;grid-template-columns:minmax(22px,37px) minmax(0,1fr);gap:6px}
#page-equipe .court-player .player-card-main .cap-token{position:static!important;grid-column:1/-1;grid-row:2;justify-self:start;max-width:100%}
#page-equipe .court-player .court-player-text{min-width:0;gap:2px}
#page-equipe .court-player .court-player-text small{white-space:normal!important;overflow:visible!important;overflow-wrap:anywhere;max-height:2.55em;line-height:1.2}
#page-equipe .court-player .court-player-metric{position:relative;flex-shrink:0}
#page-equipe .court-player .court-card-actions{position:relative;z-index:2;flex-shrink:0;min-height:30px}
#page-equipe .bench-card.club-card{position:relative;overflow:visible!important;padding:9px 11px!important;gap:10px;background:rgba(42,66,76,.15);border-radius:11px;border:1px solid #45626b;flex-direction:row;align-items:center;flex-wrap:wrap}
#page-equipe .bench-card.club-card:before,#page-equipe .bench-card.club-card::before{display:none!important;content:none!important}
#page-equipe .bench-card .bench-player{min-width:130px;flex:1 1 160px;overflow:visible;padding-left:0}
#page-equipe .bench-card .bench-player strong,#page-equipe .bench-card .bench-player small{overflow:visible;white-space:normal;overflow-wrap:anywhere;line-height:1.35}
#page-equipe .bench-card .bench-role{position:static;line-height:1.3;white-space:normal}
#page-equipe .bench-card .bench-actions{position:static!important;width:auto!important;flex:1 0 auto;display:flex;gap:5px;justify-content:flex-end;margin:0;padding:0}
#page-equipe .bench-card .bench-actions button{min-height:30px}
#page-equipe .bench-empty-slot{border:1px dashed #8ca5b1;border-radius:11px;padding:14px 10px;background:rgba(70,104,117,.12);color:inherit;display:flex;gap:8px;align-items:center;min-height:55px;cursor:pointer;text-align:left}
#page-equipe .bench-empty-slot .bench-empty-icon{font-size:19px;color:#d8fa7d}
#page-equipe .bench-empty-slot small{margin-left:auto;color:#a8c0c9;font-size:10px}
html[data-theme="light"] #page-equipe .bench-empty-slot small{color:#536f7b}
/* La page Journées Fantasy avait des panneaux blancs avec un texte inadapté au mode sombre. */
html[data-theme="dark"] #page-journees .week-toolbar.compact,
html[data-theme="dark"] #page-journees .week-panel.compact,
html[data-theme="dark"] #page-journees .week-grid-compact .block,
html[data-theme="dark"] #page-journees .week-grid-value .block{background:#152b3a!important;border-color:#385566!important;color:#f0f7fa!important;box-shadow:none}
html[data-theme="dark"] #page-journees .week-toolbar.compact label,
html[data-theme="dark"] #page-journees .week-toolbar.compact select,
html[data-theme="dark"] #page-journees .week-panel.compact strong,
html[data-theme="dark"] #page-journees .week-panel.compact p,
html[data-theme="dark"] #page-journees .week-grid-compact h3,
html[data-theme="dark"] #page-journees .week-grid-compact small{color:#e1eff6!important}
html[data-theme="dark"] #page-journees .week-toolbar.compact select{background:#203949!important;color:#f1f8ff!important;border-radius:8px}
html[data-theme="dark"] #page-journees .week-toolbar.compact select option{background:#183040;color:#f4f9ff}
html[data-theme="dark"] #page-journees .rank-row,
html[data-theme="dark"] #page-journees .simple-rank,
html[data-theme="dark"] #page-journees .fixture,
html[data-theme="dark"] #page-journees .fixture-card{color:#e5f1f7!important;background:#1b3747!important;border-color:#365362!important}
@media(max-width:850px){#page-regles .rules-grid{grid-template-columns:1fr}#page-accueil .dashboard-five{grid-auto-rows:minmax(120px,auto)}#page-accueil .dashboard-five .home-five-card{min-height:120px!important}#page-equipe .bench-card .bench-actions{width:100%!important;justify-content:flex-start}}
@media(max-width:430px){#page-equipe .bench-empty-slot{flex-wrap:wrap}#page-equipe .bench-empty-slot small{margin-left:0;width:100%}#page-equipe .player-card-main{gap:3px}#page-equipe .court-player .player-card-main .cap-token{font-size:7px;padding:2px 4px}}

/* Suite à inspection des captures Chromium : hauteur réelle suffisante pour prix + PIR + actions. */
#page-equipe .court-player{height:clamp(156px,18vh,170px)!important}
#page-equipe .court{height:clamp(430px,55vh,530px)!important}
#page-equipe .starters{inset:10% 4% 5%!important;grid-template-rows:repeat(2,minmax(168px,1fr))}
#page-equipe .court-player .court-player-body{padding:8px 7px 4px!important;gap:3px;justify-content:space-between}
#page-equipe .court-player .court-player-metric{margin-top:0;min-height:22px}
#page-equipe .court-player .court-card-actions{height:32px!important}
@media(max-width:740px){
 #page-equipe .court-player{height:160px!important}
 #page-equipe .court{height:450px!important}
 #page-equipe .starters{inset:9% 2% 5%!important;grid-template-rows:repeat(2,minmax(170px,1fr))}
 #page-equipe .court-player .court-player-body{padding:6px 4px 3px!important}
}

#page-equipe .formation-picker{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
#page-equipe .formation-picker label{font-size:10px;font-weight:800}
#page-equipe .formation-picker select{background:#203e4a;color:#eaf5f7;border:1px solid #547b86;border-radius:8px;padding:5px 7px;font-weight:800;font-size:11px}
#page-equipe .formation-picker select option{background:#203e4a}
#page-equipe .formation-picker button{font-weight:800;font-size:11px;padding:6px 9px;border:1px solid #87b3a4;border-radius:8px;color:#173b30;background:#d8f58e}
html[data-theme="light"] #page-equipe .formation-picker select{background:#fff;color:#253f4d;border-color:#c5d8df}
@media(max-width:500px){#page-equipe .formation-picker{width:100%;justify-content:flex-start}}


/* V12 — positions de basket selon la formation : G extérieur, F intermédiaire, C raquette. */
#page-equipe #starters .lineup-positioned{
 position:absolute!important;inset:auto!important;grid-area:auto!important;
 grid-column:auto!important;grid-row:auto!important;
 left:var(--slot-x)!important;top:var(--slot-y)!important;
 transform:translate(-50%,-50%);margin:0!important;
 width:min(28%,174px)!important;min-width:0!important;
 height:clamp(125px,13vw,148px)!important;
 max-height:none!important;z-index:4;
}
#page-equipe #starters .lineup-positioned:hover,
#page-equipe #starters .lineup-positioned:focus-within{z-index:8}
#page-equipe .court{height:clamp(470px,59vh,555px)!important;aspect-ratio:auto}
#page-equipe #starters{inset:11% 3.5% 5%!important;display:block!important;min-height:0!important}
#page-equipe .court-meta{display:flex;align-items:center;gap:4px;min-width:0;margin:2px 0 0}
#page-equipe .court-post,.bench-match-meta b{
 flex:none;border-radius:5px;background:#e9f6bc;color:#233c2a;
 padding:2px 5px;font:900 10px 'Outfit',sans-serif;
}
#page-equipe .court-next{font-size:9px;font-weight:750;color:#d9f2dc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#page-equipe .bench-match-meta{display:inline-flex;align-items:center;gap:6px;color:#cce8d8;font-size:11px;font-weight:750}
#page-equipe .court-player .court-player-body{padding:6px 5px 2px!important;gap:2px!important}
#page-equipe .court-player .court-player-metric{padding-top:1px}
#page-equipe .court-player .court-player-text small{max-height:1.3em;overflow:hidden!important;text-overflow:ellipsis}
#page-equipe .court-player .player-card-main .cap-token{font-size:7px;padding:2px 4px}
#page-equipe .court-card-actions{min-height:26px!important;height:29px!important}
#page-equipe .court-player-price{margin-top:1px;font-size:12px}
#page-accueil .dash-next{font:750 10px/1.3 'Outfit',sans-serif;color:#38704d}
html[data-theme="dark"] #page-accueil .dash-next{color:#cfefbd}
@media(max-width:740px){
 #page-equipe .court{height:470px!important;min-height:470px!important}
 #page-equipe #starters{inset:11% 2% 5%!important}
 #page-equipe #starters .lineup-positioned{height:126px!important;width:min(28%,155px)!important}
 #page-equipe .court-player .court-player-metric{display:none}
 #page-equipe .court-player-text strong{font-size:10px!important}
 #page-equipe .court-player .court-next{font-size:8px}
 #page-equipe .court-player .player-card-main .cap-token{display:none}
 #page-equipe .bench-match-meta{font-size:10px}
}
@media(max-width:450px){
 #page-equipe #starters .lineup-positioned{width:29%!important}
 #page-equipe .court-player .card-shirt-number{width:20px!important;height:27px!important;font-size:11px!important}
 #page-equipe .court-player .player-card-main{grid-template-columns:20px minmax(0,1fr);gap:3px}
 #page-equipe .court-next{max-width:100%}
}
/* Journées Fantasy : traiter également les composants internes et non seulement les blocs. */
html[data-theme="dark"] #page-journees{color:#e7f3f8}
html[data-theme="dark"] #page-journees .week-panel.compact,
html[data-theme="dark"] #page-journees .week-toolbar.compact,
html[data-theme="dark"] #page-journees .compact-block,
html[data-theme="dark"] #page-journees .simple-rank.compact,
html[data-theme="dark"] #page-journees .fixture-row.compact,
html[data-theme="dark"] #page-journees .empty.compact-empty{
 background:#193341!important;border-color:#385a6b!important;color:#e7f3f8!important;
}
html[data-theme="dark"] #page-journees .week-summary-chips span{
 background:#244754!important;border-color:#3e6573!important;color:#e6f3f8!important;
}
html[data-theme="dark"] #page-journees .week-summary-tip,
html[data-theme="dark"] #page-journees .simple-rank.compact strong,
html[data-theme="dark"] #page-journees .simple-rank.compact span,
html[data-theme="dark"] #page-journees .simple-rank.compact .tiny,
html[data-theme="dark"] #page-journees .fixture-row.compact strong,
html[data-theme="dark"] #page-journees .fixture-row.compact strong span,
html[data-theme="dark"] #page-journees .fixture-row.compact .tiny{
 color:#d4e6ef!important;
}
html[data-theme="dark"] #page-journees .fixture-state{background:#305366!important;color:#dff2fa!important}
html[data-theme="dark"] #page-journees .fixture-state.done{background:#334f34!important;color:#c6ef9b!important}
html[data-theme="dark"] #page-journees .pill.green{background:#254c40!important;color:#d5f6b9!important}
html[data-theme="dark"] #page-journees .pill.amber{background:#584632!important;color:#ffe0a2!important}
html[data-theme="dark"] #page-journees select:focus-visible,
html[data-theme="dark"] #page-journees button:focus-visible{outline:2px solid #bcf08a;outline-offset:3px}
/* Reporting : interface lisible dans les deux thèmes. */
#page-signalements .reports-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 15px}
#page-signalements .reports-summary>div{display:grid;gap:5px;padding:17px 19px;border:1px solid #d4e4df;border-radius:15px;background:#f4faf7}
#page-signalements .reports-summary small{color:#537185;font-size:10px;font-weight:850;letter-spacing:.7px}
#page-signalements .reports-summary strong{color:#173e38;font:850 23px 'Outfit',sans-serif}
#page-signalements .reports-summary span{font-size:12px;color:#526d73;line-height:1.5}
#page-signalements .reports-grid{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(0,1.15fr);gap:13px;align-items:start}
#page-signalements .reports-form-card,#page-signalements .reports-feed-card,#page-signalements .reports-moderation{padding:18px}
#page-signalements .reports-form-card form{display:grid;gap:8px;margin-top:13px}
#page-signalements label{font-size:12px;font-weight:800}
#page-signalements select,#page-signalements input,#page-signalements textarea{width:100%;max-width:100%;padding:11px;border:1px solid #cbdde4;background:#fff;color:#1b3544;border-radius:10px;font:500 13px 'Outfit',sans-serif}
#page-signalements .report-feedback{font-size:12px;line-height:1.5;color:#4b6c58;min-height:18px}
#page-signalements .reports-feed,#page-signalements #report-pending{display:grid;gap:10px}
#page-signalements .report-item{padding:13px;border:1px solid #d6e4e9;border-radius:13px;background:#f9fcfc;min-width:0}
#page-signalements .report-item-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px}
#page-signalements .report-item-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:9px 0;color:#547282;font-size:11px}
#page-signalements .report-kind{font-weight:850}
#page-signalements .report-item p{font-size:12px;line-height:1.5;margin:8px 0}
#page-signalements .report-item-foot{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;color:#647f8d;font-size:11px}
#page-signalements .report-item-foot a{color:#256e50;text-decoration:underline}
#page-signalements .report-state{font-size:10px;font-weight:850;padding:5px 9px;border-radius:999px;background:#f6ebcc;color:#86591e}
#page-signalements .report-state.verified{background:#dff3dc;color:#2f662f}
#page-signalements .report-state.rejected{background:#f9dfdf;color:#943e3e}
#page-signalements .report-review-buttons{display:flex;gap:8px;margin-top:10px}
#page-signalements .report-review-buttons button,.profile-report{border:1px solid #90b39e;border-radius:9px;padding:9px 12px;background:#e7f5d7;color:#24513c;font-weight:850;cursor:pointer}
#page-signalements .report-review-buttons button:last-child{background:#f8e6e5;border-color:#e0b4b0;color:#88373b}
#page-signalements .report-empty{padding:25px 12px;text-align:center;color:#69838d;font-size:13px}
#page-signalements .reports-moderation{margin-top:15px}
#page-signalements .reports-moderation[hidden]{display:none!important}
html[data-theme="dark"] #page-signalements .reports-summary>div,
html[data-theme="dark"] #page-signalements .report-item{background:#1b3745;border-color:#365a66}
html[data-theme="dark"] #page-signalements .reports-summary strong{color:#e6f5e6}
html[data-theme="dark"] #page-signalements .reports-summary small,
html[data-theme="dark"] #page-signalements .reports-summary span,
html[data-theme="dark"] #page-signalements .report-item-meta,
html[data-theme="dark"] #page-signalements .report-item-foot,
html[data-theme="dark"] #page-signalements .report-empty{color:#b7d5e0}
html[data-theme="dark"] #page-signalements select,
html[data-theme="dark"] #page-signalements input,
html[data-theme="dark"] #page-signalements textarea{background:#18313e;color:#f2fafb;border-color:#466575}
html[data-theme="dark"] #page-signalements .report-item-foot a{color:#c4efb2}
html[data-theme="dark"] #page-signalements .report-feedback{color:#c5edc3}
@media(max-width:850px){#page-signalements .reports-grid,#page-signalements .reports-summary{grid-template-columns:minmax(0,1fr)}}


/* V12.1 — Navigation iPhone et fiche signalements lisible d'un coup d'œil. */
.side #mobile-more{display:none}
#page-signalements .reports-wallet-card{align-items:center}
#page-signalements .reports-wallet-icon{display:grid;place-items:center;width:46px;height:46px;flex:0 0 46px;background:#dfff78;color:#1a362f;border-radius:13px;font:900 24px 'Outfit',sans-serif}
#page-signalements .reports-rules{border:1px solid #dce8e1;border-radius:12px;background:#fbfdfb;padding:10px 14px}
#page-signalements .reports-rules summary{cursor:pointer;font-size:12px;font-weight:800;color:#3d6551;line-height:1.5}
#page-signalements .reports-rules p{font-size:12px;color:#57716f;margin:8px 0 1px;line-height:1.55}
#page-signalements .reports-card-title{display:flex;flex-direction:column;gap:3px}
#page-signalements .reports-card-title h3{margin:0}
#page-signalements .reports-card-title small{font-size:11px;color:#637b86}
html[data-theme="dark"] #page-signalements .reports-rules{background:#1b3745;border-color:#365a66}
html[data-theme="dark"] #page-signalements .reports-rules summary{color:#d5f0d2}
html[data-theme="dark"] #page-signalements .reports-rules p,
html[data-theme="dark"] #page-signalements .reports-card-title small{color:#bfd5df}
@media(max-width:600px){
  :root{scroll-padding-bottom:92px}
  #app-shell{overflow:visible!important;min-height:100dvh!important}
  #app-shell>.side{
    position:sticky!important;top:0!important;z-index:140!important;
    height:62px!important;min-height:62px!important;width:100%!important;
    display:flex!important;align-items:center!important;justify-content:space-between!important;
    gap:8px!important;padding:7px 14px!important;margin:0!important;
    background:#fff!important;color:#173344!important;border-bottom:1px solid #e0e9e7!important;
    box-shadow:0 3px 12px rgba(27,47,58,.045)!important;
  }
  #app-shell>.side .logo{display:flex!important;align-items:center;gap:9px;margin:0!important;padding:0!important;min-width:0;font-size:10px;letter-spacing:.35px;line-height:1.1}
  #app-shell>.side .logo strong{font-size:15px!important;letter-spacing:0}
  #app-shell>.side .logo .mark{height:36px!important;width:36px!important;flex:0 0 36px;border-radius:11px;font-size:21px!important}
  #app-shell>.side .side-tools{display:flex!important;align-items:center!important;gap:7px!important;margin:0!important;padding:0!important;flex:none}
  #app-shell>.side .side-tools .theme-picker{position:static!important;display:block!important;flex:none!important;margin:0!important;max-width:none!important}
  #app-shell>.side .side-tools #theme-toggle,
  #app-shell>.side .side-tools #mobile-logout{
    display:grid!important;place-items:center!important;
    width:38px!important;height:38px!important;min-width:38px!important;min-height:38px!important;
    padding:0!important;margin:0!important;border-radius:11px!important;
    background:#f2f7f5!important;border:1px solid #dbe7e2!important;color:#243e44!important;
    font-size:0!important;line-height:1!important;box-shadow:none!important;
  }
  #app-shell>.side #theme-toggle::before{content:'☾';font-size:22px!important;font-weight:700}
  #app-shell>.side #mobile-logout::before{content:'↪';font-size:24px!important;font-weight:700}
  #app-shell>.side .side-label,#app-shell>.side .aside-bottom{display:none!important}
  #app-shell>.side #nav{
    position:fixed!important;top:auto!important;left:0!important;right:0!important;bottom:0!important;
    z-index:150!important;display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;align-items:center!important;
    gap:2px!important;width:100%!important;min-width:0!important;margin:0!important;
    padding:6px 7px calc(7px + env(safe-area-inset-bottom))!important;
    overflow:visible!important;background:#fff!important;
    border-top:1px solid #dce7e3!important;
    box-shadow:0 -8px 26px rgba(18,38,45,.09)!important;
  }
  #app-shell>.side #nav button{
    display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
    gap:4px!important;width:100%!important;min-width:0!important;height:53px!important;
    padding:4px 2px!important;margin:0!important;
    border:0!important;border-bottom:3px solid transparent!important;border-radius:10px!important;
    background:transparent!important;color:#647d87!important;
    font-size:20px!important;line-height:1!important;font-weight:800!important;
    white-space:nowrap!important;
  }
  #app-shell>.side #nav button span{display:block!important;font-size:10px!important;letter-spacing:0!important;line-height:1.15!important;white-space:nowrap!important}
  #app-shell>.side #nav button span::after{content:none!important;display:none!important}
  #app-shell>.side #nav button.active{background:#f0f8ed!important;color:#2b623e!important;border-bottom-color:#8ecb41!important}
  #app-shell>.side #nav #mobile-more{display:flex!important}
  #app-shell>.side #nav button[data-page="signalements"],
  #app-shell>.side #nav button[data-page="ligues"],
  #app-shell>.side #nav button[data-page="regles"]{display:none!important}
  #app-shell>.side #nav.more-open button[data-page="signalements"],
  #app-shell>.side #nav.more-open button[data-page="ligues"],
  #app-shell>.side #nav.more-open button[data-page="regles"]{
    display:flex!important;position:fixed!important;left:12px!important;right:12px!important;
    width:calc(100% - 24px)!important;height:48px!important;
    flex-direction:row!important;justify-content:flex-start!important;
    gap:14px!important;padding:8px 18px!important;text-align:left!important;
    background:#fff!important;color:#274653!important;
    border:1px solid #d5e5e0!important;border-radius:13px!important;
    box-shadow:0 5px 24px rgba(12,36,44,.15)!important;z-index:155!important;
    font-size:19px!important;
  }
  #app-shell>.side #nav.more-open button[data-page="signalements"]{bottom:calc(84px + env(safe-area-inset-bottom))!important}
  #app-shell>.side #nav.more-open button[data-page="ligues"]{bottom:calc(138px + env(safe-area-inset-bottom))!important}
  #app-shell>.side #nav.more-open button[data-page="regles"]{bottom:calc(192px + env(safe-area-inset-bottom))!important}
  #app-shell>.side #nav.more-open button[data-page="signalements"] span,
  #app-shell>.side #nav.more-open button[data-page="ligues"] span,
  #app-shell>.side #nav.more-open button[data-page="regles"] span{font-size:14px!important;font-weight:800!important}
  #app-shell>.main{padding:10px 12px calc(100px + env(safe-area-inset-bottom))!important;min-width:0!important;max-width:100%!important}
  #page-signalements .reports-heading{margin:0 0 14px!important}
  #page-signalements .reports-heading .eyebrow{font-size:9px!important;letter-spacing:1.1px!important}
  #page-signalements .reports-heading h2{font-size:29px!important;line-height:1.08!important;letter-spacing:-.7px;margin:5px 0 6px!important}
  #page-signalements .reports-heading p{font-size:12px!important;line-height:1.45!important;margin:0!important}
  #page-signalements .reports-summary{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;margin:0 0 12px!important}
  #page-signalements .reports-summary>.reports-wallet-card{
    display:flex!important;align-items:center!important;gap:13px!important;
    padding:12px 14px!important;border-radius:14px!important;background:#f3f9f5!important;
    border:1px solid #d9e8dd!important;min-width:0!important;
  }
  #page-signalements .reports-wallet-icon{height:42px;width:42px;flex-basis:42px;font-size:20px}
  #page-signalements .reports-wallet-card>div:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
  #page-signalements .reports-summary small{font-size:10px!important;letter-spacing:.6px}
  #page-signalements .reports-summary strong{font-size:24px!important;line-height:1.1!important}
  #page-signalements .reports-summary span{font-size:11px!important;line-height:1.3!important}
  #page-signalements .reports-rules{padding:9px 12px!important;border-radius:10px!important}
  #page-signalements .reports-rules summary{font-size:11px!important}
  #page-signalements .reports-grid{grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  #page-signalements .reports-form-card,#page-signalements .reports-feed-card,#page-signalements .reports-moderation{padding:15px!important;border-radius:14px!important}
  #page-signalements .reports-card-title h3,#page-signalements .reports-feed-card h3{font-size:19px!important;line-height:1.2!important}
  #page-signalements .reports-form-card form{gap:7px!important;margin-top:12px!important}
  #page-signalements label{font-size:12px!important;margin-top:3px!important}
  #page-signalements select,#page-signalements input,#page-signalements textarea{
    font-size:16px!important;min-height:46px!important;padding:10px 12px!important;
    border-radius:10px!important;max-width:100%!important;
  }
  #page-signalements #report-submit{min-height:44px;font-size:13px}
  html[data-theme="dark"] #app-shell>.side,
  html[data-theme="dark"] #app-shell>.side #nav{background:#142a35!important;color:#ecf5f6!important;border-color:#34515c!important}
  html[data-theme="dark"] #app-shell>.side #theme-toggle,
  html[data-theme="dark"] #app-shell>.side #mobile-logout{background:#203e4b!important;color:#e7f3fa!important;border-color:#3b5c68!important}
  html[data-theme="dark"] #app-shell>.side #nav button{color:#b4cbd3!important}
  html[data-theme="dark"] #app-shell>.side #nav button.active{background:#284f42!important;color:#e3f8cf!important}
  html[data-theme="dark"] #app-shell>.side #nav.more-open button[data-page="signalements"],
  html[data-theme="dark"] #app-shell>.side #nav.more-open button[data-page="ligues"],
  html[data-theme="dark"] #app-shell>.side #nav.more-open button[data-page="regles"]{background:#203e4b!important;color:#eff8fa!important;border-color:#41606b!important}
  html[data-theme="dark"] #page-signalements .reports-summary>.reports-wallet-card{background:#1b3745!important;border-color:#365a66!important}
}


/* V13 — Mon compte au lieu des boutons nuit/déconnexion, thème clair, bandeau réduit. */
#app-shell .side-tools:has(.sync-quick[hidden]){display:none!important}
#app-shell .theme-picker,
#app-shell #theme-toggle,
#app-shell #mobile-logout,
#app-shell #mobile-more,
#app-shell .ticker-label,
#app-shell .ticker-calendar{display:none!important}
#app-shell .side .nav-account{display:flex}
#page-compte{color:#183342}
#page-compte .account-heading{margin:8px 0 16px}
#page-compte .account-heading h2{font-size:clamp(26px,3vw,34px)}
#page-compte .account-identity{display:flex;align-items:center;gap:16px;padding:20px 22px;max-width:880px}
#page-compte .account-avatar{width:62px;height:62px;flex:0 0 62px;border-radius:18px;background:#e3ff79;color:#193b33;display:grid;place-items:center;font:900 32px 'Outfit',sans-serif}
#page-compte .account-identity-details{display:grid;gap:2px;min-width:0}
#page-compte .account-identity-details strong{font:850 24px 'Outfit',sans-serif;overflow-wrap:anywhere}
#page-compte .account-identity-details span{font-size:12px;color:#597182;overflow-wrap:anywhere}
#page-compte .account-identity-details small{font-size:11px;color:#6d858d}
#page-compte .account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:880px;margin:12px 0}
#page-compte .account-panel,#page-compte .account-links{padding:20px}
#page-compte .account-panel h3,#page-compte .account-links h3{font-size:19px;margin:0 0 6px}
#page-compte .account-panel p{font-size:12px;color:#607887;margin:0 0 16px}
#page-compte .account-panel form{display:flex;flex-direction:column;gap:8px}
#page-compte .account-panel label{font-size:12px;font-weight:800;margin-top:5px;color:#2e4853}
#page-compte .account-panel input{background:#fff;color:#193644;border:1px solid #cadce0;border-radius:11px;padding:12px 13px;font-size:16px;width:100%;min-height:44px}
#page-compte .account-panel .btn{width:100%;margin-top:8px;min-height:43px;font-size:13px}
#page-compte .account-feedback{font-size:12px;line-height:1.45;min-height:16px;color:#336e53}
#page-compte .account-links{max-width:880px;margin-top:12px}
#page-compte .account-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:13px}
#page-compte .account-shortcuts button{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;min-height:102px;padding:14px;background:#f5faf7;color:#22443b;border:1px solid #dce9e1;border-radius:13px;text-align:left;cursor:pointer}
#page-compte .account-shortcuts button span{font-size:19px}
#page-compte .account-shortcuts button strong{font-size:12px}
#page-compte .account-shortcuts button small{font-size:10px;line-height:1.35;color:#67827e}
#page-compte .account-shortcuts button:hover,#page-compte .account-shortcuts button:focus-visible{border-color:#83b86c;background:#edf7e7}
#page-compte .account-logout{display:block;width:100%;max-width:880px;margin:16px 0 8px;border:1px solid #dfc4c4;border-radius:12px;background:#fff6f6;color:#9d3339;padding:13px 16px;font-size:13px;font-weight:850;text-align:center}
#page-compte .account-logout:hover{background:#f9e8e8}
#page-compte .account-panel input:focus-visible,#page-compte button:focus-visible{outline:2px solid #76ad4e;outline-offset:2px}

/* Le calendrier est accessible dans Journées : la barre n'affiche que les rencontres. */
#page-accueil .fixture-ticker{padding:4px 6px;gap:0;min-height:56px;max-height:56px;flex-basis:56px}
#page-accueil .ticker-viewport{flex:1 1 100%;width:100%;mask-image:linear-gradient(to right,transparent,#000 2%,#000 98%,transparent)}
#page-accueil .ticker-fixture{min-width:260px;min-height:44px;padding:4px 10px}
#page-accueil .ticker-date{min-width:42px}
#page-accueil .ticker-set{gap:9px}
#page-accueil .ticker-track{gap:9px}
@media(max-width:900px){
 #page-compte .account-grid{grid-template-columns:minmax(0,1fr)}
 #page-accueil .fixture-ticker{margin-top:5px;height:54px;min-height:54px;max-height:54px;flex:0 0 54px}
}
@media(max-width:600px){
 #app-shell>.side{height:54px!important;min-height:54px!important;padding:7px 14px!important}
 #app-shell>.side .side-tools{display:none!important}
 #app-shell>.side .logo{margin:0!important}
 #app-shell>.side #nav button[data-page="signalements"],
 #app-shell>.side #nav button[data-page="ligues"],
 #app-shell>.side #nav button[data-page="regles"]{display:none!important}
 #app-shell>.side #nav button[data-page="compte"]{display:flex!important}
 #app-shell>.side #nav button[data-page="compte"].active{background:#f0f8ed!important;color:#2b623e!important;border-bottom-color:#8ecb41!important}
 #page-accueil .fixture-ticker{margin-top:1px;height:49px;min-height:49px;max-height:49px;flex:0 0 49px;padding:2px 4px;border-radius:12px}
 #page-accueil .ticker-fixture{min-width:222px;min-height:42px;gap:5px;padding:3px 8px;border-radius:9px}
 #page-accueil .ticker-date{font-size:8px;min-width:37px}
 #page-accueil .ticker-date b{font-size:9px}
 #page-accueil .ticker-crest{min-width:25px;max-width:25px;height:25px}
 #page-accueil .ticker-club{min-width:52px;max-width:70px;gap:3px}
 #page-accueil .ticker-club strong{font-size:9px;max-width:46px}
 #page-accueil .ticker-vs{font-size:8px}
 #page-compte .account-heading{margin:0 0 12px}
 #page-compte .account-heading h2{font-size:28px}
 #page-compte .account-heading p{font-size:12px}
 #page-compte .account-identity{padding:15px;gap:12px;border-radius:15px}
 #page-compte .account-avatar{width:50px;height:50px;flex-basis:50px;border-radius:15px;font-size:26px}
 #page-compte .account-identity-details strong{font-size:20px}
 #page-compte .account-grid{grid-template-columns:minmax(0,1fr);gap:10px;margin:10px 0}
 #page-compte .account-panel,#page-compte .account-links{padding:15px;border-radius:15px}
 #page-compte .account-shortcuts{grid-template-columns:minmax(0,1fr);gap:7px}
 #page-compte .account-shortcuts button{flex-direction:row;align-items:center;min-height:54px;padding:10px 12px;gap:10px}
 #page-compte .account-shortcuts button span{flex:0 0 25px}
 #page-compte .account-shortcuts button strong{font-size:12px}
 #page-compte .account-shortcuts button small{margin-left:auto;max-width:42%;font-size:10px;text-align:right}
 #page-compte .account-logout{margin-top:13px}
}


/* V14 — Barre iPhone à cinq icônes Lucide, sans libellés ni gros bouton actif. */
#app-shell>.side #nav button.nav-primary .nav-icon{
 width:21px;height:21px;flex:0 0 21px;display:block;
 stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;
}
@media(max-width:600px){
 #app-shell>.side #nav{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  grid-template-rows:52px!important;
  align-items:center!important;
  justify-items:stretch!important;
  column-gap:3px!important;
  row-gap:0!important;
  min-width:0!important;
  width:100%!important;
  min-height:calc(66px + env(safe-area-inset-bottom))!important;
  padding:7px 10px calc(7px + env(safe-area-inset-bottom))!important;
  overflow:visible!important;
  border-top:1px solid #e4ebe7!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:0 -4px 20px rgba(26,50,42,.055)!important;
 }
 #app-shell>.side #nav button.nav-primary{
  position:relative!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  justify-self:stretch!important;
  gap:0!important;
  width:100%!important;
  min-width:0!important;
  height:52px!important;
  min-height:52px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#71838c!important;
  box-shadow:none!important;
  line-height:1!important;
  font-size:0!important;
  -webkit-tap-highlight-color:transparent;
  transition:color .15s ease!important;
 }
 #app-shell>.side #nav button.nav-primary span,
 #app-shell>.side #nav button.nav-primary span::after{
  display:none!important;
  visibility:hidden!important;
 }
 #app-shell>.side #nav button.nav-primary .nav-icon{
  position:relative!important;z-index:1!important;
  display:block!important;visibility:visible!important;
  width:25px!important;height:25px!important;flex:0 0 25px!important;
  stroke-width:2!important;
 }
 #app-shell>.side #nav button.nav-primary.active,
 #app-shell>.side #nav button.nav-primary.nav-account.active{
  color:#2c663e!important;
  background:transparent!important;
  border:0!important;
  border-bottom:0!important;
  box-shadow:none!important;
 }
 #app-shell>.side #nav button.nav-primary.active::before{
  content:"";display:block;position:absolute;z-index:0;
  top:50%;left:50%;width:44px;height:44px;
  border-radius:15px;background:#eaf7e3;
  transform:translate(-50%,-50%);
 }
 #app-shell>.side #nav button.nav-primary:focus-visible{
  outline:2px solid #4c8d57!important;
  outline-offset:-3px!important;
 }
 #app-shell>.main{
  padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;
 }
}
@media(prefers-reduced-motion:reduce){
 #app-shell>.side #nav button.nav-primary{transition:none!important}
}


/* V15 — Le budget reste visible sur iPhone pendant le scroll du marché. */
#page-marche .market-slot-guide{
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 background:#eff7f2;border:1px solid #c8dfd3;border-radius:12px;
 padding:10px 12px;margin:7px 0 9px;color:#22513a;
 font-size:12px;font-weight:750;line-height:1.45;
}
#page-marche .market-slot-guide[hidden]{display:none!important}
#page-marche .market-slot-guide button{
 border:1px solid #8fbba3;border-radius:9px;background:white;
 color:#29603f;font-size:11px;font-weight:800;
 padding:8px 10px;flex:0 0 auto;cursor:pointer;
}
#page-marche #position-filter:disabled{opacity:.72;cursor:not-allowed}
#page-equipe .formation-advice{font-size:11px;font-weight:750;line-height:1.45;color:#325e4b}
#page-equipe .formation-picker option:disabled{color:#83919a}
#page-equipe .empty-market-link{cursor:pointer}
@media(max-width:900px){
 /* overflow-x:hidden convertissait overflow-y:visible en auto et brisait position:sticky.
    clip interdit la coupure horizontale sans créer de conteneur de défilement. */
 html,body,#app-shell,#app-shell>.main{
  overflow-x:clip!important;
  overflow-y:visible!important;
 }
 #page-marche.show,
 #page-marche .market-scroll-panel,
 #page-marche .player-list,
 #page-marche #coach-market{
  overflow-x:clip!important;overflow-y:visible!important;
 }
 #page-marche .market-budget-notice{
  position:sticky!important;top:0!important;z-index:135!important;
  isolation:isolate;background:#eef7e6!important;
  box-shadow:0 7px 18px rgba(31,60,42,.13)!important;
 }
}
@media(max-width:600px){
 #page-marche .market-budget-notice{
  top:54px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-rows:auto auto!important;
  align-items:center!important;
  gap:0 9px!important;
  min-height:64px!important;
  padding:9px 12px!important;
  margin:4px 0 9px!important;
  border-radius:12px!important;
 }
 #page-marche .market-budget-notice span{
  grid-column:1!important;grid-row:1!important;
  width:auto!important;font-size:9px!important;letter-spacing:.7px!important;
  line-height:1.2!important;
 }
 #page-marche .market-budget-notice strong{
  grid-column:1!important;grid-row:2!important;
  font-size:25px!important;line-height:1.12!important;
  margin:0!important;
 }
 #page-marche .market-budget-notice button{
  grid-column:2!important;grid-row:1 / span 2!important;
  font-size:11px!important;padding:8px 3px!important;
 }
 #page-marche .market-slot-guide{flex-wrap:wrap;font-size:11px;gap:8px;margin:4px 0 8px}
 #page-marche .market-slot-guide button{width:100%;padding:8px}
 #page-equipe .formation-advice{display:block;flex-basis:100%;font-size:10px}
}


/* V16 — Sauvegarde brouillon, suivi de journée et rappels iPhone. */
#page-equipe .draft-status{
 margin:0 0 7px;padding:8px 12px;border-radius:10px;
 color:#426b52;background:#f1f8ef;border:1px solid #dbead5;
 font-size:11px;font-weight:700;line-height:1.4
}
#page-journees .day-reminder{
 display:flex;align-items:center;justify-content:space-between;
 gap:14px;margin:0 0 12px;padding:14px 16px;
 background:#f2f9ec;border:1px solid #d3e8c9;border-radius:14px
}
#page-journees .day-reminder strong{font-size:14px;color:#294f33}
#page-journees .day-reminder p{font-size:11px;margin:5px 0 0;color:#4c6a58;line-height:1.5;max-width:540px}
#page-journees .day-reminder button{
 flex:0 0 auto;min-height:42px;padding:9px 13px;
 border:0;border-radius:10px;background:#266d48;color:white;font-size:12px;font-weight:850;cursor:pointer
}
#page-journees .day-reminder button:disabled{opacity:.5;cursor:default}
#page-journees .my-day-panel{padding:16px 17px;margin:0 0 12px;border-radius:15px}
#page-journees .my-day-header{display:flex;justify-content:space-between;align-items:center;gap:14px}
#page-journees .my-day-header h3{font:850 23px 'Outfit',sans-serif;margin:2px 0 0;color:#1a3545}
#page-journees .my-day-header>strong{font:900 28px 'Outfit',sans-serif;color:#2b7044;white-space:nowrap}
#page-journees #my-day-summary{font-size:11px;line-height:1.5;color:#557180;margin:9px 0 12px}
#page-journees #my-day-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
#page-journees .my-day-row{
 min-width:0;display:flex;align-items:center;justify-content:space-between;gap:7px;
 padding:9px 10px;border:1px solid #e1eae9;border-radius:11px;background:#f8fbfa
}
#page-journees .my-day-row>div{min-width:0;display:grid;gap:3px}
#page-journees .my-day-row strong{color:#183747;font-size:12px;overflow-wrap:anywhere;line-height:1.25}
#page-journees .my-day-row small{font-size:10px;color:#67818c;line-height:1.3}
#page-journees .my-day-row>span{color:#2d7650;font-weight:900;font-size:14px;white-space:nowrap}
#page-journees .my-day-row>span small{font-weight:600}
#page-journees #my-day-duel:not(:empty){
 display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;
 margin-top:12px;padding:12px 13px;background:#eaf6e3;
 border-radius:10px;color:#305c40;font-size:12px
}
@media(max-width:850px){
 #page-journees .day-reminder{flex-wrap:wrap}
 #page-journees .day-reminder button{width:100%}
}
@media(max-width:600px){
 #page-journees .my-day-header h3{font-size:20px}
 #page-journees .my-day-header>strong{font-size:23px}
 #page-journees .my-day-panel{padding:12px}
 #page-journees #my-day-players{grid-template-columns:minmax(0,1fr)}
 #page-journees .my-day-row{padding:10px 12px}
}


/* V17 — Indication explicite des postes déjà pourvus ou impossibles. */
#page-marche .market-card.market-blocked{
 background:#f3f5f5!important;border-color:#e1e6e7!important;
 opacity:.66;filter:grayscale(.78);
}
#page-marche .market-card.market-blocked .market-person,
#page-marche .market-card.market-blocked .market-metrics,
#page-marche .market-card.market-blocked .market-price{color:#667985!important}
#page-marche .market-card.market-blocked .market-actions .add:disabled{
 background:#dfe5e8!important;color:#778b94!important;border-color:#d3dfe2!important;
 cursor:not-allowed!important;box-shadow:none!important;transform:none!important;
}
#page-marche .market-card.market-blocked .market-actions .profile-view{
 opacity:1!important;filter:grayscale(0);cursor:pointer;
}
#page-equipe .bench-actions button[data-start]{
 border-color:#a4d9ad!important;
}
@media(max-width:600px){
 #page-marche .market-card.market-blocked{opacity:.72}
 #page-equipe .bench-actions button[data-start]{font-weight:850}
}

/* Quotas des 5 titulaires : poste rempli = pastille grise non ambiguë. */
#page-equipe #position-counts{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
#page-equipe .quota-chip{display:inline-flex;gap:5px;align-items:center;justify-content:center;border-radius:8px;padding:5px 9px;font-size:11px;font-weight:850;line-height:1.3}
#page-equipe .quota-chip b{font-variant-numeric:tabular-nums}
#page-equipe .quota-chip.quota-open{background:#e5f5d9;color:#2c6b41;border:1px solid #bde5ad}
#page-equipe .quota-chip.quota-full{background:#e2e6e8;color:#7d8e97;border:1px solid #d3dadd}

/* Un poste déjà couvert dans le cinq garde ses recrues possibles au banc seulement. */
#page-marche .market-card.market-bench-only .market-portrait{
 background:#e5ebec!important;color:#637c84!important;
 filter:grayscale(1);opacity:.82
}
#page-marche .market-card.market-bench-only .market-portrait small{
 color:#55747f!important;font-weight:850
}


/* V18 — Navigation gestuelle mobile, mouvement bref entre les cinq rubriques. */
@media(max-width:600px){
 #app-shell>.main>section.page.show.swipe-enter-next{
  animation:tdm-tab-enter-next .19s cubic-bezier(.22,.8,.36,1) both;
 }
 #app-shell>.main>section.page.show.swipe-enter-prev{
  animation:tdm-tab-enter-prev .19s cubic-bezier(.22,.8,.36,1) both;
 }
 #app-shell>.side #nav button.nav-primary.active .nav-icon{
  stroke-width:2.2!important;
 }
}
@keyframes tdm-tab-enter-next{
 from{opacity:.65;transform:translate3d(-24px,0,0)}
 to{opacity:1;transform:translate3d(0,0,0)}
}
@keyframes tdm-tab-enter-prev{
 from{opacity:.65;transform:translate3d(24px,0,0)}
 to{opacity:1;transform:translate3d(0,0,0)}
}
@media(prefers-reduced-motion:reduce){
 #app-shell>.main>section.page.show.swipe-enter-next,
 #app-shell>.main>section.page.show.swipe-enter-prev{animation:none!important}
}


/* V18.2 — Les gestes natifs Safari glissent sur les pages sans capturer le scroll vertical.
   Un touch-action pan-y est indispensable : sinon iOS peut émettre touchcancel. */
@media(max-width:600px){
 #app-shell>.main>section.page.show{
  touch-action:pan-y pinch-zoom;
  -webkit-overflow-scrolling:touch;
 }
 #app-shell>.main>section.page.show.swipe-dragging{
  transform:translate3d(var(--swipe-offset,0px),0,0)!important;
  opacity:.95;
  transition:none!important;
  will-change:transform;
 }
 #page-accueil .swipe-hint:not([hidden]){
  display:flex;align-items:center;gap:9px;
  padding:7px 10px;margin:0 0 2px;
  border-radius:10px;border:1px solid #dae9d6;
  background:#f2faed;color:#3b6b4a;
  font-size:11px;font-weight:750;line-height:1.25;
 }
 #page-accueil .swipe-hint>span:first-child{font-size:21px;flex:0 0 19px}
 #page-accueil .swipe-hint>span:nth-child(2){flex:1}
 #page-accueil .swipe-hint button{
  border:none;background:transparent;color:#5b8065;
  font-size:20px;min-width:27px;min-height:27px;padding:0;cursor:pointer;
 }
}
@media(min-width:601px){
 #swipe-hint{display:none!important}
}

@media(max-width:600px){
 #app-shell>.side #nav{touch-action:pan-y pinch-zoom}
}

/* V19 — Le choix de formation suffit : pas de deuxième action « Appliquer ». */
#page-equipe .formation-picker{row-gap:6px}
#page-equipe .formation-auto-note{margin:3px 0 0;font-size:11px;line-height:1.45;color:#547265;font-weight:650}
#page-equipe .formation-picker select{min-height:42px;font-size:14px;max-width:100%;width:auto;flex:1 1 170px}
@media(max-width:600px){#page-equipe .formation-picker select{font-size:16px;min-height:44px}}

/* Mon équipe — bandeau de suivi réellement visible lors du scroll.
   Un unique scroll dans la page sur mobile, dans la section sur ordinateur. */
@media (min-width:901px){
 #page-equipe.show{
  flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:clip;
  overscroll-behavior-y:contain;scrollbar-width:thin;
 }
}
@media (max-width:900px){
 #page-equipe.show{overflow-x:clip!important;overflow-y:visible!important}
 #page-equipe .team-sticky-summary{
  position:sticky!important;top:0!important;z-index:135!important;
 }
}
@media (max-width:600px){
 /* Le bandeau reste sous la barre de marque (54px) et au-dessus du parquet. */
 #page-equipe .team-sticky-summary{top:54px!important}
}

/* Les anciens bandeaux de brouillon, validation et progression ne prennent
   plus de place à l'écran. Ils restent disponibles aux lecteurs d'écran. */
#page-equipe #draft-status,
#page-equipe #team-progress,
#page-equipe #team-save-feedback:not(.team-save-toast){
 position:absolute!important;width:1px!important;height:1px!important;
 padding:0!important;margin:-1px!important;overflow:hidden!important;
 clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;
 white-space:nowrap!important;border:0!important;
}
/* Seul le résultat d'un véritable enregistrement (ou une erreur)
   apparaît brièvement comme notification, sans décaler le contenu. */
#page-equipe #team-save-feedback.team-save-toast{
 position:fixed!important;z-index:130!important;left:18px;bottom:18px;
 width:min(420px,calc(100vw - 36px));height:auto!important;
 margin:0!important;padding:11px 14px!important;
 border-radius:12px;box-shadow:0 10px 28px rgba(13,30,39,.24);
 white-space:normal;clip:auto!important;clip-path:none!important;
 pointer-events:none;
}
@media (max-width:600px){
 #page-equipe #team-save-feedback.team-save-toast{
  left:12px;bottom:calc(84px + env(safe-area-inset-bottom));
  width:calc(100vw - 24px);
 }
}

/* Ligues privées v2 — invitation et duel lisibles à une main, sans double scroll. */
@media(min-width:901px){
 #page-ligues.show{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:clip;scrollbar-width:thin;padding:0 6px 22px 0}
}
#page-ligues .league-page-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:4px 0 14px}
#page-ligues .league-page-heading h2{font:850 clamp(25px,3vw,36px) 'Outfit',sans-serif;color:#1a3443;line-height:1.1;margin:4px 0}
#page-ligues .league-page-heading p{font-size:12px;line-height:1.5;color:#627d87;max-width:590px;margin:4px 0}
#page-ligues .league-kicker,#page-ligues .league-step{display:block;color:#4b8562;font-size:10px;font-weight:900;letter-spacing:1.2px}
#page-ligues .league-new-action,#page-ligues .league-empty button{
 border:0;background:#dfff8c;color:#173b2c;min-height:43px;border-radius:11px;
 font-size:12px;font-weight:900;padding:10px 15px;white-space:nowrap;
}
#page-ligues .league-invite-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#e7f6e3;border:1px solid #aed7b0;border-radius:13px;padding:12px 15px;margin-bottom:10px;color:#245739}
#page-ligues .league-invite-banner[hidden]{display:none!important}
#page-ligues .league-invite-banner div{display:grid;gap:3px}
#page-ligues .league-invite-banner strong{font-size:13px}
#page-ligues .league-invite-banner span{font-size:11px;line-height:1.45}
#page-ligues .league-invite-banner button{border:0;background:transparent;color:inherit;font-size:24px}
#page-ligues .league-action-card{min-width:0}
#page-ligues .league-action-card p{color:#637f87;font-size:12px;margin:6px 0}
#page-ligues .league-action-card .btn{width:100%;min-height:42px}
#page-ligues .league-team-hint{margin:6px 15px 12px;color:#81552d;font-size:12px}
#page-ligues .league-team-hint[hidden]{display:none!important}
#page-ligues .league-team-hint button{background:none;border:0;color:#226841;font-size:inherit;text-decoration:underline;font-weight:900}
#page-ligues .league-list-heading{display:flex;gap:12px;align-items:baseline;justify-content:space-between;margin:13px 0 4px}
#page-ligues .league-list-heading>div{display:flex;gap:9px;align-items:baseline}
#page-ligues .league-list-heading h3{font:850 20px 'Outfit',sans-serif;margin:0;color:#1d3646}
#page-ligues .league-list-heading span{font-size:11px;color:#6b858c}
#page-ligues .league-list-heading p{margin:0;color:#758d94;font-size:10px}
#page-ligues .league-card{border:1px solid #d8e6e3;background:#fff;box-shadow:0 7px 20px rgba(22,58,58,.045);border-radius:16px;padding:17px 18px;margin:11px 0 14px;min-width:0}
#page-ligues .league-header{gap:14px}
#page-ligues .league-header h3{font:850 21px 'Outfit',sans-serif;color:#1b3544;margin:4px 0 0;line-height:1.2}
#page-ligues .league-meta{color:#607b83;font-size:11px;line-height:1.4;margin:5px 0 0}
#page-ligues .league-invite-code{font:850 13px 'Outfit',sans-serif;letter-spacing:1.5px;border:1px dashed #b5d8bd;background:#eef8ec;border-radius:9px;color:#256544;padding:10px 12px;white-space:nowrap}
#page-ligues .league-actions{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0 9px}
#page-ligues .league-actions button,#page-ligues .league-member button,#page-ligues .league-settings-body button,#page-ligues .league-leave{
 border:1px solid #bed7c9;border-radius:9px;background:#f5faf4;color:#295f45;
 min-height:36px;font-size:11px;font-weight:850;padding:8px 12px;
}
#page-ligues .league-actions .league-share{background:#dbf78e;border-color:#bedf81;color:#234432}
#page-ligues .league-tabs{margin:9px 0 13px;background:#ecf4f2;border:1px solid #e1ebe8;padding:4px;border-radius:11px}
#page-ligues .league-tabs button{font-size:12px;min-height:37px;border-radius:9px}
#page-ligues .league-tabs button.active{background:white;color:#2d6848;box-shadow:0 2px 8px #24483618}
#page-ligues .league-general-ranking{background:#f9fbfb;border:1px solid #e3ecea;border-radius:12px;padding:4px 13px}
#page-ligues .league-general-ranking .rank-row{color:#375162;gap:8px}
#page-ligues .league-current-member{background:#edf8e9!important}
#page-ligues .league-my-duel{display:grid;gap:4px;padding:13px 15px;background:linear-gradient(110deg,#e8f7e5,#f5fbe9);border:1px solid #cae7cb;border-radius:13px;color:#28543b;margin:8px 0 12px;font-size:12px}
#page-ligues .league-my-duel>span{font-size:10px;font-weight:900;letter-spacing:.8px;color:#4c8063}
#page-ligues .league-my-duel strong{font:900 21px 'Outfit',sans-serif}
#page-ligues .league-my-duel small{font-size:11px;color:#53766a}
#page-ligues .league-my-duel.league-out{background:#fff9ed;color:#7d5725;border-color:#ebd8b9}
#page-ligues .champ-empty{padding:15px}
#page-ligues .champ-empty>strong{font-size:16px}
#page-ligues .champ-format-label{display:grid;gap:4px;color:#345d50;font-size:11px;font-weight:850}
#page-ligues .champ-format-label select{max-width:250px;background:white;border:1px solid #c6dbcd;border-radius:9px;padding:9px;color:#214538;font-size:12px}
#page-ligues .champ-setup{justify-content:flex-start}
#page-ligues .champ-setup .btn{min-height:40px}
#page-ligues .league-members,#page-ligues .league-settings{border-top:1px solid #e4eeeb;margin-top:12px;padding-top:11px}
#page-ligues .league-members>summary,#page-ligues .league-settings>summary{cursor:pointer;font-weight:850;font-size:12px;color:#41685b;padding:4px 0}
#page-ligues .league-members-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0}
#page-ligues .league-member{display:flex;align-items:center;gap:9px;min-width:0;border:1px solid #e2ecea;background:#f9fcfb;border-radius:11px;padding:9px}
#page-ligues .league-member-avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:10px;background:#dfefdb;color:#306b44;font-weight:900;flex:0 0 35px}
#page-ligues .league-member>div:nth-child(2){min-width:0;display:grid;gap:3px;flex:1}
#page-ligues .league-member strong{font-size:11px;color:#204256;overflow-wrap:anywhere}
#page-ligues .league-member small{font-size:10px;color:#759098;line-height:1.3}
#page-ligues .league-member button{min-height:30px;font-size:10px;padding:5px 8px}
#page-ligues .league-settings-body{display:flex;gap:8px;align-items:flex-end;flex-wrap:wrap;margin:12px 0}
#page-ligues .league-settings-body>label{display:grid;gap:5px;flex:1 1 180px;color:#43687a;font-weight:800;font-size:11px}
#page-ligues .league-settings-body input{width:100%;min-height:37px;border:1px solid #c5d8d6;border-radius:9px;padding:8px 10px;font-size:12px;background:white;color:#183747}
#page-ligues .league-settings-body .league-danger,#page-ligues .league-leave{background:#fff1f1;border-color:#ebcaca;color:#a13e42}
#page-ligues .league-leave{margin-top:13px}
#page-ligues .league-empty{border:1px dashed #bed9c8;border-radius:17px;background:#f6fbf6;text-align:center;padding:32px 20px;display:grid;justify-items:center;gap:9px}
#page-ligues .league-empty strong{font:850 21px 'Outfit',sans-serif;color:#254c3e}
#page-ligues .league-empty p{color:#62827b;font-size:12px;line-height:1.5;max-width:390px;margin:0}
#page-journees .my-day-h2h{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;width:100%;font-size:12px}
#page-journees .my-day-h2h strong{color:#2b5941;font-size:12px}
#page-journees .my-day-h2h span{font-weight:900;color:#2c5f45}
#page-journees .my-day-h2h small{font-size:10px;color:#5f8275;font-weight:700}
@media(max-width:700px){
 #page-ligues .league-page-heading{align-items:flex-start}
 #page-ligues .league-new-action{padding:8px 10px;white-space:normal;min-width:125px}
 #page-ligues .league-page-heading h2{font-size:28px}
 #page-ligues .league-list-heading p{display:none}
 #page-ligues .league-members-grid{grid-template-columns:minmax(0,1fr)}
 #page-ligues .league-card{padding:13px 12px}
 #page-ligues .league-header{align-items:flex-start}
 #page-ligues .league-header h3{font-size:19px}
 #page-ligues .league-invite-code{font-size:10px;letter-spacing:.5px;padding:8px}
 #page-ligues .champ-match{gap:4px}
 #page-ligues .champ-name{white-space:normal;overflow-wrap:anywhere;font-size:10px}
 #page-ligues .champ-format-label select{max-width:100%}
 #page-ligues .league-settings-body button{flex:1 1 auto}
}
@media(max-width:390px){
 #page-ligues .league-page-heading{flex-wrap:wrap}
 #page-ligues .league-new-action{width:100%}
 #page-ligues .league-header{flex-wrap:wrap}
}


/* Connexion Safari : lorsqu'une session est valide mais le téléchargement des
   données échoue, proposer une relance sans demander le mot de passe. */
#app-load-error.app-load-error:not([hidden]){
 display:flex;flex-direction:column;align-items:flex-start;gap:9px;
 padding:15px 17px;margin:10px 0 15px;
 border:1px solid #dfc6a7;border-radius:14px;
 color:#653d1f;background:#fff7eb;line-height:1.4;
}
#app-load-error strong{font-weight:900;font-size:15px}
#app-load-error p{margin:0;font-size:12px;max-width:640px}
#app-load-error button{background:#285f41;color:#fff;border:0;border-radius:10px;padding:10px 13px;min-height:42px;font-size:12px;font-weight:800}
#app-load-error button:disabled{opacity:.55}


/* Accueil V2 — état visible, joueurs compacts et statistiques expliquées. */
#page-accueil .home-save-status{display:flex;align-items:center;gap:8px;min-height:34px;padding:7px 12px;border:1px solid #d7e7d6;border-radius:12px;background:#f4faef;color:#28593d;font-size:11px}
#page-accueil .home-save-status strong{font-weight:900;white-space:nowrap}
#page-accueil .home-save-status>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#51725b}
#page-accueil .home-status-dot{width:8px;height:8px;border-radius:50%;flex:0 0 8px;background:#7caf54}
#page-accueil .home-save-status[data-state="pending"],#page-accueil .home-save-status[data-state="loading"]{background:#f7f9fc;color:#385567;border-color:#dbe6eb}
#page-accueil .home-save-status[data-state="pending"] .home-status-dot,#page-accueil .home-save-status[data-state="loading"] .home-status-dot{background:#8e9eab}
#page-accueil .home-save-status[data-state="warning"],#page-accueil .home-save-status[data-state="error"]{background:#fff7ed;border-color:#ead5b8;color:#81522d}
#page-accueil .home-save-status[data-state="warning"] .home-status-dot,#page-accueil .home-save-status[data-state="error"] .home-status-dot{background:#c78738}
#page-accueil .projection-stat{padding:0!important}
#page-accueil .projection-trigger{display:flex;flex-direction:column;align-items:flex-start;width:100%;min-height:100%;padding:11px 15px;border:none;background:transparent;color:inherit;text-align:left;border-radius:inherit}
#page-accueil .projection-trigger:focus-visible{outline:2px solid #5b9555;outline-offset:-3px}
#page-accueil .projection-hint{font-size:9px;color:#547a54;font-weight:750}
#page-accueil .home-five-short{display:none}
#page-accueil .dashboard-side{grid-template-rows:auto minmax(0,1fr)}
#page-accueil .home-league-summary{display:grid;gap:4px;min-width:0;color:#274f3f}
#page-accueil .home-league-summary>strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#page-accueil .home-league-summary>span{font-size:12px;line-height:1.4}
#page-accueil .home-league-summary b{color:#74904d;padding:0 3px}
#page-accueil .home-league-summary>small{font-size:10px;color:#718c84}
.projection-dialog{width:min(440px,calc(100vw - 28px));max-height:85dvh;border:1px solid #d8e7df;border-radius:19px;background:#fff;color:#1b3743;box-shadow:0 20px 60px #061d2640;padding:0}
.projection-dialog::backdrop{background:rgba(11,30,35,.58)}
.projection-dialog-inner{padding:24px 20px;position:relative;overflow-y:auto;max-height:85dvh}
.projection-dialog h2{font:900 26px 'Outfit',sans-serif;margin:6px 0 8px}
.projection-dialog p{font-size:12px;line-height:1.55;color:#5f7a78}
.projection-close{position:absolute;right:13px;top:10px;width:38px;height:38px;border:0;background:#eef4f0;border-radius:10px;font-size:26px;color:#305d4b}
.projection-breakdown{display:grid;gap:0;margin:16px 0 12px}
.projection-row,.projection-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #e5eeea}
.projection-row span{display:grid;gap:3px;min-width:0}
.projection-row strong{font-size:12px}
.projection-row small{font-size:10px;color:#779087}
.projection-row b,.projection-total b{white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums}
.projection-total{border:0;background:#eef9e8;padding:12px;border-radius:9px;color:#285d3b}
.projection-dialog .projection-disclaimer{border-top:1px solid #e3ebe8;padding-top:12px}
@media(max-width:740px){
 #page-accueil .fixture-ticker{min-height:54px;max-height:54px;flex-basis:54px}
 #page-accueil .home-save-status{padding:7px 10px;gap:6px}
 #page-accueil .home-save-status>span:last-child{font-size:10px}
 #page-accueil .dashboard-stats{margin:6px 0 9px!important}
 #page-accueil .dashboard-stats .stat{padding:8px 7px!important}
 #page-accueil .dashboard-stats .projection-stat{padding:0!important}
 #page-accueil .projection-trigger{padding:8px 7px}
 #page-accueil .dashboard-stats .stat-k{font-size:8px}
 #page-accueil .dashboard-stats .stat-v{font-size:20px!important}
 #page-accueil .dashboard-roster{padding:12px 10px!important}
 #page-accueil .dashboard-coach{margin-bottom:8px;padding:8px 10px;min-height:52px}
 #page-accueil .dashboard-five{gap:4px;margin-bottom:10px}
 #page-accueil .home-five-card{min-height:113px;padding:6px 2px;gap:3px}
 #page-accueil .home-five-card .dash-shirt{height:34px;width:32px;margin-bottom:2px}
 #page-accueil .home-five-card .home-five-full{display:none}
 #page-accueil .home-five-card .home-five-short{display:block;max-width:100%;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #page-accueil .home-five-card .dash-next{display:none}
 #page-accueil .home-five-card b{font-size:9px}
 #page-accueil #home-edit-roster{display:none}
 #page-accueil .dashboard-bench{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 #page-accueil .home-bench-card{flex-direction:column;align-items:center;padding:7px 3px;min-height:87px;gap:4px;text-align:center;justify-content:flex-start}
 #page-accueil .home-bench-card span:nth-child(2){width:100%;text-align:center}
 #page-accueil .home-bench-card strong{font-size:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;overflow-wrap:anywhere}
 #page-accueil .home-bench-card small{font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #page-accueil .home-bench-card b{display:none}
 #page-accueil .dashboard-actions{margin-top:9px}
 #page-accueil .dashboard-actions .btn{padding:10px 8px;flex:1}
 #page-accueil .dashboard-side{display:flex;flex-direction:column;gap:9px}
 #page-accueil .dashboard-league{order:0;padding:12px!important}
 #page-accueil .dashboard-trending{order:1}
}
@media(max-width:370px){
 #page-accueil .home-save-status>span:last-child{display:none}
 #page-accueil .home-five-card .home-five-short{font-size:8px}
}

/* Relecture de résultats : action et retour visibles sur la page Ma journée. */
.week-refresh-action{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin:2px 0 12px}
.week-refresh-action .tiny-action{white-space:nowrap;flex:0 0 auto}
.week-refresh-action small{color:#5d7382;font-size:11px}
#week-refresh-status:not(:empty){display:block;flex-basis:100%;font-size:12px;font-weight:650;color:#305a32}
@media(max-width:600px){.week-refresh-action{gap:6px;margin-bottom:10px}.week-refresh-action small{font-size:10px}}


/* V16 — Identité TDM Fantasy : marque typographique sans pastille ni étoile. */
#app-shell>.side .logo .brand-wordmark{
 display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
 gap:1px;min-width:0;white-space:nowrap;line-height:1.05;
}
#app-shell>.side .logo .brand-tdm{
 font:900 23px/1 'Outfit',system-ui,sans-serif;letter-spacing:1.1px;
 color:#69bc54;
}
#app-shell>.side .logo .brand-fantasy{
 font:900 17px/1.03 'Outfit',system-ui,sans-serif;
 letter-spacing:-.25px;color:#edf5f9;
}
:root[data-theme="light"] #app-shell>.side .logo .brand-fantasy{color:#183440}
.auth-wordmark{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin:0 0 28px}
.auth-wordmark span{font:900 clamp(42px,4.4vw,58px)/.97 'Outfit',system-ui,sans-serif;letter-spacing:1px;color:#519d46}
.auth-wordmark strong{font:900 18px/1.1 'Outfit',system-ui,sans-serif;letter-spacing:1.7px;color:#1b3944}
@media(max-width:900px){
 #app-shell>.side .logo .brand-tdm{font-size:21px!important}
 #app-shell>.side .logo .brand-fantasy{font-size:15px!important}
}
@media(max-width:740px){
 .auth-wordmark{margin:0 0 10px;gap:1px}
 .auth-wordmark span{font-size:34px}
 .auth-wordmark strong{font-size:14px}
}

/* V16 — Les clubs sont lisibles directement dans leurs blocs colorés.
   Deux lignes possibles, sans abréviations minuscules à côté du blason. */
#page-accueil .ticker-fixture{
 min-height:53px;min-width:365px;gap:7px;padding:4px 9px;
}
#page-accueil .ticker-date{min-width:42px;flex:0 0 42px}
#page-accueil .ticker-club{
 display:flex;align-items:center;justify-content:center;text-align:center;
 flex:0 0 132px;width:132px;min-width:132px;max-width:132px;min-height:43px;
 padding:4px 6px;border-radius:9px;
 color:#fff!important;border:1px solid var(--club-accent,#cbd5e1);
 background:linear-gradient(130deg,var(--club-accent-2,#526477),var(--club-dark,#253447));
 box-shadow:0 2px 5px rgba(20,39,45,.12),inset 0 1px 0 rgba(255,255,255,.13);
}
#page-accueil .ticker-club strong{
 display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
 overflow:hidden;text-overflow:clip;overflow-wrap:anywhere;hyphens:auto;
 width:100%;max-width:none;white-space:normal;
 font:900 11.5px/1.17 'Outfit',system-ui,sans-serif;letter-spacing:.1px;
 color:inherit;text-shadow:0 1px 1px rgba(0,0,0,.22);
}
#page-accueil .ticker-vs{flex:0 0 18px;text-align:center;font-size:9px;color:#6f8679}
@media(max-width:430px){
 #page-accueil .ticker-fixture{min-width:333px;gap:5px;padding:4px 7px}
 #page-accueil .ticker-club{flex-basis:116px;width:116px;min-width:116px;max-width:116px}
 #page-accueil .ticker-club strong{font-size:10.5px}
}
@media(max-width:370px){
 #page-accueil .ticker-fixture{min-width:304px}
 #page-accueil .ticker-club{flex-basis:103px;width:103px;min-width:103px;max-width:103px}
 #page-accueil .ticker-club strong{font-size:10px}
}

/* Accès à la console privée depuis Mon compte, réservé à l'admin connecté. */
.account-admin-link{display:flex;align-items:center;justify-content:space-between;margin:13px 0 0;padding:16px 18px;border-radius:14px;border:1px solid #bdd7b6;background:#eef7eb;color:#295f3e!important;font-size:12px;font-weight:900;text-decoration:none}
.account-admin-link:hover{background:#e5f1df}
.account-admin-link[hidden]{display:none!important}


/* Supprimer une équipe enregistrée : action discrète et accessible, à côté du renommage. */
#page-equipe .team-switcher .delete-team{
 display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;
 width:34px;height:34px;border-radius:10px;border:1px solid #efd5d4;
 color:#9c3a3a;background:#fff6f5;cursor:pointer;transition:background .15s ease
}
#page-equipe .team-switcher .delete-team:hover{background:#fee7e6;color:#872d2d}
#page-equipe .team-switcher .delete-team:focus-visible{outline:2px solid #b84d4d;outline-offset:2px}
#page-equipe .team-switcher .delete-team:disabled{opacity:.4;cursor:not-allowed}
#page-equipe .team-switcher .delete-team[hidden]{display:none!important}
@media(max-width:600px){#page-equipe .team-switcher .delete-team{width:30px;height:30px;flex-basis:30px;border-radius:9px}}


/* Place libre : second choix explicite vers le marché, sans masquer le banc. */
.swap-choice.slot-market-choice{margin-top:13px;border:1.5px solid #7ab77c;background:#e9f5e5;color:#27593e;cursor:pointer}
.swap-choice.slot-market-choice:hover,.swap-choice.slot-market-choice:focus-visible{background:#dcf1d4;border-color:#439653}
.swap-choice.slot-market-choice small{color:#537b5d}
.swap-choice.slot-market-choice .swap-shirt{background:#d2edc5;color:#285b36}


/* Consentement facultatif de l'inscription : case jamais précochée. */
#auth-consent-label[hidden]{display:none!important}
.auth-consent-field{padding:12px 13px;border:1px solid #ccdcca;background:#f5faf4;border-radius:12px;margin:7px 0 12px;color:#30483b}
.auth-consent-choice{display:flex!important;align-items:flex-start!important;gap:11px!important;font-size:12px!important;line-height:1.55!important;font-weight:500!important;cursor:pointer}
.auth-consent-choice input[type=checkbox]{flex:0 0 18px;width:18px!important;height:18px!important;margin:1px 0 0!important;padding:0!important;accent-color:#377c4f;cursor:pointer}
.auth-consent-choice span{flex:1}
.auth-consent-choice strong{color:#2a7047}
.auth-consent-details{margin:9px 0 0 29px;font-size:11px;line-height:1.6;color:#526c60}
.auth-consent-details summary{cursor:pointer;text-decoration:underline;text-underline-offset:3px;font-weight:750}
.auth-consent-details p{margin:8px 0 0}


/* V21 — Ligues remplace Ma journée dans les cinq onglets mobiles. */
@media(max-width:600px){
 #app-shell>.side #nav button.nav-primary[data-page="ligues"]{
  display:flex!important;position:relative!important;inset:auto!important;
  width:100%!important;height:52px!important;min-height:52px!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:12px!important;
  background:transparent!important;box-shadow:none!important
 }
 #app-shell>.side #nav button.nav-primary[data-page="ligues"].active{
  color:#2c663e!important;background:transparent!important
 }
}
