/* Layout : tableau de marque de stade — colonne matchs à gauche, fiche match au centre, flux agent en lecture seule à droite */
/* Couleurs : 3 thèmes. Vert (par défaut, sans attribut), blanc (data-theme="light"), sombre (data-theme="dark").
   Toutes les pages n'utilisent que ces variables : changer de thème change tout le site. */
:root{
  --bg:#EEF2EF; --surface:#FFFFFF; --surface-2:#F5F7F5; --line:#DDE6DF;
  --fg:#15271C; --muted:#627068;
  --pitch:#136C38; --pitch-soft:#EDF7E7; --on-pitch:#FFFFFF;
  --value:#B57A05; --value-soft:#FBF0D6;
  --bad:#B4372E; --tg:#2AABEE;
  --hd-bg:#14281B; --hd-ink:#F2F8EF; --hd-muted:#C0D0BE; --hd-accent:#C4F48B; --hd-accent-ink:#1C3214; --hd-line:#2A4033;
  --hero-bg:#14281B; --hero-ink:#F2F8EF; --hero-muted:#C0D0BE; --hero-accent:#C4F48B; --hero-line:transparent;
  --shadow:0 1px 2px rgba(20,40,27,.05);
  --f-display:"Barlow Condensed","Arial Narrow",sans-serif;
  --f-body:"Manrope",system-ui,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,monospace;
  color-scheme:light;
}
:root[data-theme="light"]{
  --bg:#F6F7F8; --surface:#FFFFFF; --surface-2:#F2F4F5; --line:#E3E7EA;
  --fg:#17191C; --muted:#646D75;
  --pitch:#136C38; --pitch-soft:#EAF5EE; --on-pitch:#FFFFFF;
  --hd-bg:#FFFFFF; --hd-ink:#17191C; --hd-muted:#646D75; --hd-accent:#136C38; --hd-accent-ink:#FFFFFF; --hd-line:#E3E7EA;
  --hero-bg:#FFFFFF; --hero-ink:#17191C; --hero-muted:#646D75; --hero-accent:#136C38; --hero-line:#E3E7EA;
  --shadow:0 1px 3px rgba(0,0,0,.05);
}
:root[data-theme="dark"]{
  --bg:#111714; --surface:#1A231E; --surface-2:#222E26; --line:#34453A;
  --fg:#EDF4EF; --muted:#A8B9AD;
  --pitch:#B6ED79; --pitch-soft:#23351F; --on-pitch:#1C3214;
  --value:#E9B23A; --value-soft:#3A2D0E; --bad:#E06A60;
  --hd-bg:#0C1510; --hd-ink:#EDF4EF; --hd-muted:#A8B9AD; --hd-accent:#C4F48B; --hd-accent-ink:#1C3214; --hd-line:#24342A;
  --hero-bg:#101F15; --hero-ink:#F2F8EF; --hero-muted:#B4C7B3; --hero-accent:#C4F48B; --hero-line:#24342A;
  --shadow:none;
  color-scheme:dark;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:14px;line-height:1.5}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--pitch);outline-offset:2px}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600}
h1,h2,h3{font-family:var(--f-display);text-wrap:balance;margin:0;letter-spacing:.01em}

/* ---------- Connexion ---------- */
#login{min-height:100vh;display:grid;place-items:center;padding-inline:16px;padding-block:40px}
.login-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:32px 28px;display:grid;gap:22px}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{width:36px;height:36px;border-radius:8px;background:var(--pitch);display:grid;place-items:center}
.brand-name{font-family:var(--f-display);font-size:24px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}
.brand-name span{color:var(--pitch)}
.brand-name .bn-long{color:inherit}
.login-card h1{font-size:34px;line-height:1.05;text-transform:uppercase}
.login-card p{margin:0;color:var(--muted)}
.tg-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--tg);color:#fff;border:0;border-radius:999px;padding:13px 18px;font-weight:600;font-size:15px}
.tg-btn:hover{filter:brightness(1.06)}
.login-points{display:grid;gap:8px;margin:0;padding:0;list-style:none;font-size:13px;color:var(--muted)}
.login-points li{display:flex;gap:8px}
.login-points li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pitch);margin-top:7px;flex:none}
.fineprint{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:14px}

/* ---------- App ---------- */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--surface);border-bottom:1px solid var(--line);padding-inline:16px}
.topbar-in{max-width:1440px;margin:0 auto;display:flex;align-items:center;gap:16px;min-height:58px;flex-wrap:wrap;padding-block:8px}
.leagues{display:flex;gap:4px;overflow-x:auto;flex:1;min-width:0;scrollbar-width:none}
.lg{border:1px solid transparent;background:none;border-radius:8px;padding:6px 12px;font-family:var(--f-display);font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);white-space:nowrap}
.lg[aria-pressed="true"]{background:var(--pitch-soft);color:var(--pitch);border-color:var(--pitch)}
.user{display:flex;align-items:center;gap:8px;font-size:13px}
.avatar{width:30px;height:30px;border-radius:50%;background:var(--tg);color:#fff;display:grid;place-items:center;font-weight:600;font-size:12px}
.linkbtn{background:none;border:0;color:var(--muted);text-decoration:underline;font-size:12px;padding:0}

.layout{max-width:1440px;margin:0 auto;padding-inline:16px;padding-block:20px;display:grid;grid-template-columns:300px minmax(0,1fr) 360px;gap:20px;align-items:start}
.col-title{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.col-title h2{font-size:20px;text-transform:uppercase}

/* journées : flèches, bandeau de dates qui défile, calendrier */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.daynav{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"bar bar" "head filter";gap:8px 16px;align-items:center}
.daynav>*{min-width:0}
.daynav .datebar{grid-area:bar}
.daynav .dhead{grid-area:head}
.daynav .sfilter{grid-area:filter}
.datebar{display:grid;grid-template-columns:34px minmax(0,1fr) 34px 38px;gap:6px;align-items:stretch}
.dnav,.dcal{display:grid;place-items:center;border:1px solid var(--line);background:var(--surface);border-radius:8px;color:var(--muted);padding:0}
.dnav:hover,.dcal:hover{color:var(--pitch);border-color:var(--pitch)}
.dcal{position:relative;cursor:pointer}
.dcal input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;border:0;padding:0}
.dstrip{display:flex;gap:4px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.dstrip::-webkit-scrollbar{display:none}
.dchip{flex:none;display:grid;justify-items:center;gap:0;min-width:64px;padding:6px 10px 5px;border:1px solid var(--line);background:var(--surface);border-radius:8px;scroll-snap-align:center;line-height:1.15;position:relative}
.dchip .d1{font-family:var(--f-display);font-weight:700;font-size:13.5px;text-transform:uppercase;letter-spacing:.02em}
.dchip .d2{font-size:11px;color:var(--muted)}
.dchip .dn{font-family:var(--f-mono);font-size:10.5px;font-weight:700;color:var(--pitch);margin-top:1px}
.dchip.none{opacity:.55}
.dchip.none .dn{color:var(--muted);font-weight:500}
.dchip.today .d1{color:var(--pitch)}
.dchip.haslive .dn::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--bad);margin-left:4px;vertical-align:1px}
.dchip[aria-selected="true"]{background:var(--pitch);border-color:var(--pitch);opacity:1}
.dchip[aria-selected="true"] .d1,.dchip[aria-selected="true"] .d2,.dchip[aria-selected="true"] .dn{color:var(--on-pitch)}
.dhead{display:flex;align-items:baseline;gap:10px;margin:0 2px;font-size:14px;min-width:0;flex-wrap:wrap}
.dhead b{font-weight:600}

/* filtre de statut */
.sfilter{display:grid;grid-template-columns:repeat(4,auto);gap:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:9px;padding:3px}
.sfilter button{border:0;background:none;border-radius:6px;padding:5px 10px;font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap}
.sfilter button[aria-pressed="true"]{background:var(--surface);color:var(--fg);box-shadow:0 1px 2px color-mix(in srgb,var(--fg) 12%,transparent)}
.sfilter .n{font-family:var(--f-mono);font-size:10.5px;color:var(--muted);margin-left:2px}
.sfilter .has-live .n{color:var(--bad)}

/* matchs */
.matches{display:grid;gap:6px}
.m{display:grid;grid-template-columns:52px minmax(0,1fr) auto auto;grid-template-areas:"time teams sc flags";gap:4px 10px;align-items:center;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:9px 11px}
.m:hover{border-color:color-mix(in srgb,var(--pitch) 45%,var(--line))}
.m[aria-current="true"]{border-color:var(--pitch);box-shadow:inset 3px 0 0 var(--pitch)}
.m-time{grid-area:time;display:grid;gap:3px;justify-items:start;font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.m-time .t{font-size:13px;font-weight:700;color:var(--fg)}
.m-time .st{font-family:var(--f-body);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em}
.m-time .lv{font-family:var(--f-body);font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--bad);display:flex;align-items:center;gap:4px}
.m-time .lv::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--bad);animation:livedot 1.6s infinite}
@keyframes livedot{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.m-time .lv::before{animation:none}}
.adot{width:7px;height:7px;border-radius:50%;background:var(--pitch);opacity:.8}
.m-teams{grid-area:teams;min-width:0;font-weight:600;line-height:1.35;display:grid;gap:2px}
.m-teams span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m.ph-done .m-teams span{font-weight:500;color:var(--muted)}
.m.ph-done .m-teams span.win{font-weight:700;color:var(--fg)}
.m-sc{grid-area:sc;display:grid;gap:2px;font-family:var(--f-mono);font-weight:700;font-size:14px;text-align:right;line-height:1.35}
.m.ph-live .m-sc{color:var(--bad)}
.m.ph-live{border-color:color-mix(in srgb,var(--bad) 45%,var(--line))}
.m-flags{grid-area:flags;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.day-empty{display:grid;gap:8px;justify-items:start;padding:16px}
.day-empty p{margin:0}
.go-day{color:var(--pitch);font-weight:600;text-align:left}
.chip{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 7px;border-radius:999px;white-space:nowrap}
.chip.value{background:var(--value-soft);color:var(--value)}
.chip.wait{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.chip.ok{background:var(--pitch-soft);color:var(--pitch)}
.chip.no{background:transparent;color:var(--muted);border:1px dashed var(--line)}

/* fiche match */
.panel{background:var(--surface);border:1px solid var(--line);border-radius:12px}
.match-head{padding:22px 22px 18px;border-bottom:1px solid var(--line);display:grid;gap:14px}
.scoreline{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.team{display:grid;gap:4px}
.team.away{text-align:right}
.team-name{font-family:var(--f-display);font-size:30px;font-weight:800;text-transform:uppercase;line-height:1}
.team-meta{font-size:12px;color:var(--muted)}
.xg{text-align:center;display:grid;gap:2px}
.xg-val{font-family:var(--f-mono);font-size:22px;font-weight:700}
.meta-row{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;color:var(--muted)}
.meta-row b{color:var(--fg);font-weight:600}

.section{padding:18px 22px;border-bottom:1px solid var(--line);display:grid;gap:12px}
.section:last-child{border-bottom:0}
.section h3{font-size:17px;text-transform:uppercase}

.mkt{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px;min-width:520px}
th{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:600;text-align:left;padding:6px 8px;border-bottom:1px solid var(--line)}
td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
tr:last-child td{border-bottom:0}
td.num,th.num{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums}
.bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;width:90px;display:inline-block;vertical-align:middle;margin-right:8px}
.bar i{display:block;height:100%;background:var(--pitch)}
.edge-pos{color:var(--value);font-weight:700}
.edge-neg{color:var(--muted)}

.adj{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.adj li{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:10px;font-size:13px;align-items:baseline}
.adj .d{font-family:var(--f-mono);font-weight:700;white-space:nowrap}
.adj .d.up{color:var(--pitch)} .adj .d.down{color:var(--bad)}
.adj small{color:var(--muted)}

.lineups{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lu{background:var(--surface-2);border-radius:8px;padding:12px;font-size:13px;display:grid;gap:4px}
.lu .absent{color:var(--bad)}

/* agent */
.agent{position:sticky;top:calc(env(safe-area-inset-top,0px) + 78px);display:grid;gap:12px}
.agent-head{padding:16px 18px;border-bottom:1px solid var(--line);display:grid;gap:8px}
.agent-id{display:flex;align-items:center;gap:10px}
.pulse{width:9px;height:9px;border-radius:50%;background:var(--pitch);box-shadow:0 0 0 0 var(--pitch);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--pitch) 60%,transparent)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion:reduce){.pulse{animation:none}}
.agent-head h2{font-size:20px;text-transform:uppercase}
.readonly{font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center}

.bank{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-bottom:1px solid var(--line)}
.bank div{background:var(--surface);padding:12px 14px;display:grid;gap:2px}
.bank .v{font-family:var(--f-mono);font-weight:700;font-size:16px}
.bank .v.up{color:var(--pitch)}

.feed{display:grid;max-height:none}
.post{padding:14px 18px;border-bottom:1px solid var(--line);display:grid;gap:8px}
.post:last-child{border-bottom:0}
.post-top{display:flex;justify-content:space-between;gap:6px 8px;align-items:center;flex-wrap:wrap}
.post-top .chip{white-space:normal}
.agent,.agent>.panel{min-width:0}
.post-time{font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.pick{background:var(--surface-2);border-radius:8px;padding:10px 12px;display:grid;gap:6px}
.pick-line{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.pick-mkt{font-weight:600}
.odd{font-family:var(--f-mono);font-weight:700;font-size:16px}
.kv{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--muted)}
.kv b{color:var(--fg);font-family:var(--f-mono);font-weight:700}
.why{margin:0;padding-left:16px;font-size:12.5px;color:var(--muted);display:grid;gap:2px}
.fun{border:1px dashed var(--value);background:var(--value-soft)}
.fun .legs{display:grid;gap:4px;font-size:13px}
.fun .legs div{display:flex;justify-content:space-between;gap:8px}
.event{font-size:13px}
.event b{font-weight:600}
.src{font-size:11px;color:var(--muted)}

.foot-note{max-width:1440px;margin:0 auto;padding-inline:16px;padding-block:8px 32px;font-size:12px;color:var(--muted)}

@media (max-width:1180px){
  .layout{grid-template-columns:280px minmax(0,1fr)}
  .agent{grid-column:1/-1;position:static}
}
@media (max-width:760px){
  .layout{grid-template-columns:minmax(0,1fr)}
  .matches{grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);overflow-x:auto;padding-bottom:4px}
  .team-name{font-size:24px}
  .lineups{grid-template-columns:1fr}
  .user .uhandle{display:none}           /* téléphone : le nom disparaît, le lien Connexion / Déconnexion reste */
  .user .uname{font-size:12px;line-height:1.2}
}

/* ---------- Production ---------- */
.brand-sm{font-size:20px}
form.inline{display:inline;margin:0}
.muted{color:var(--muted)} .small{font-size:12px}
.empty{padding:20px;color:var(--muted);font-size:13px}
.panel.empty{border-style:dashed}
.login-error{color:var(--bad);font-weight:600;margin:0}
.tg-widget{display:flex;justify-content:center;min-height:44px}
.chip.pick{background:var(--pitch);color:var(--on-pitch)}
.chip.pending{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.chip.novalue{background:transparent;color:var(--muted);border:1px dashed var(--line)}
.chip.live{background:var(--bad);color:#fff}
.m-score{font-family:var(--f-mono);font-weight:700}
.floor{display:flex;justify-content:space-between;align-items:baseline;gap:8px;border-top:1px dashed var(--line);padding-top:6px;font-size:12.5px}
.floor b{font-family:var(--f-mono);font-size:15px;color:var(--value)}
.sg-note{font-size:12px;color:var(--muted)}
.feed a{color:inherit}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tab{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 10px;font-size:12px;color:var(--muted)}
.tab[aria-pressed="true"]{border-color:var(--pitch);color:var(--pitch);background:var(--pitch-soft)}

/* ---------- Onglets centraux ---------- */
.center{display:grid;gap:10px;min-width:0}
.ctabs{display:flex;gap:4px;flex-wrap:wrap}
.ctab{border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:7px 12px;font-family:var(--f-display);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}
.ctab[aria-selected="true"]{border-color:var(--pitch);color:var(--pitch);background:var(--pitch-soft)}

/* ---------- Actu & récap ---------- */
.recap{padding:18px 22px;border-bottom:1px solid var(--line);display:grid;gap:10px}
.recap h3{font-size:20px;line-height:1.15}
.recap-pts{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.recap-pts li{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;font-size:13.5px}
.recap-pts .dot{width:8px;height:8px;border-radius:50%;margin-top:6px;background:var(--muted)}
.recap-pts .dot.high{background:var(--bad)} .recap-pts .dot.medium{background:var(--value)}
.recap-pts b{font-weight:600}
.watch{background:var(--value-soft);border-radius:8px;padding:10px 12px;font-size:13px;display:grid;gap:4px}
.news-list{list-style:none;margin:0;padding:0}
.news-list li{padding:10px 22px;border-bottom:1px solid var(--line);display:grid;gap:2px}
.news-list li:last-child{border-bottom:0}
.news-list a{color:var(--fg);text-decoration:none;font-weight:500}
.news-list a:hover{text-decoration:underline}

.field{display:grid;gap:6px;min-width:0;border:0;margin:0;padding:0}
.stepper{display:grid;grid-template-columns:36px minmax(0,1fr) 36px}
.stepper button{border:1px solid var(--line);background:var(--surface-2);font-weight:700}
.stepper button:first-child{border-radius:8px 0 0 8px} .stepper button:last-child{border-radius:0 8px 8px 0}
.stepper input{border-radius:0;text-align:center;font-family:var(--f-mono)}
.range-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;align-items:center}
.range-row input{font-family:var(--f-mono)}
.leagues-pick{grid-column:1/-1}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips label{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12.5px;cursor:pointer}
.chips input{width:auto;accent-color:var(--pitch)}
.btn-primary{grid-column:1/-1;justify-self:start;border:0;background:var(--pitch);color:var(--on-pitch);border-radius:8px;padding:10px 22px;font-family:var(--f-display);font-weight:800;font-size:17px;text-transform:uppercase;letter-spacing:.04em}
.btn-primary:disabled{opacity:.6}
#genResult{display:grid}
.combo{padding:16px 22px;border-bottom:1px solid var(--line);display:grid;gap:10px}
.combo:last-child{border-bottom:0}
.combo-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.combo-head h3{font-size:18px}
.combo-legs{display:grid;gap:6px}
.leg{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;background:var(--surface-2);border-radius:8px;padding:8px 12px;font-size:13px}
.leg .sub{grid-column:1/-1;color:var(--muted);font-size:11.5px}
.ev-neg{color:var(--bad)} .ev-pos{color:var(--pitch)}
.honest{font-size:12px;color:var(--muted)}

/* ---------- Statut agent ---------- */
.status{padding:12px 18px;border-bottom:1px solid var(--line);display:grid;gap:4px;font-size:12px;color:var(--muted)}
.status .row{display:flex;justify-content:space-between;gap:8px}
.status .row b{color:var(--fg);font-weight:500;font-family:var(--f-mono);font-size:11.5px}
.status .ko b{color:var(--bad)}
.weekend .combo{padding:10px 0;border-bottom:1px dashed var(--line)}
.weekend .combo:last-child{border-bottom:0}
.range-row input{padding-inline:8px}
.recap a,.status a{color:inherit}

.err-note{font-size:11px;color:var(--bad);font-family:var(--f-mono);word-break:break-word;margin:-2px 0 4px}

/* ---------- Pronostic IA ---------- */
.prono{display:grid;gap:12px}
.prono-hero{background:var(--pitch-soft);border:1px solid var(--pitch);border-radius:10px;padding:14px 16px;display:grid;gap:4px}
.prono-main{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-family:var(--f-display);font-weight:800;font-size:26px;text-transform:uppercase;color:var(--pitch)}
.prono-main .mono{font-size:22px}
.verdict{margin:6px 0 0;font-size:13.5px;line-height:1.5}
.prono-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.prono-card{background:var(--surface-2);border-radius:8px;padding:10px 12px;display:grid;gap:3px;min-width:0}
.prono-line{display:flex;justify-content:space-between;gap:8px;align-items:baseline;font-size:14px}

/* ---------- Actu du match ---------- */
#matchNews{display:grid;gap:14px}
.mnews-block{display:grid;gap:8px}
.mnews-list li{padding:8px 0}
.mnews-block a{color:inherit}

.live-score{font-size:30px;color:var(--fg)}

/* ---------- Historique ---------- */
.hist-controls{padding:16px 22px;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
#histBody{padding:16px 22px;display:grid;gap:12px}
.hist-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.hist-table td{vertical-align:top}
.hist-table .ok{color:var(--pitch);font-weight:700}
.hist-table .ko{color:var(--bad);font-weight:700}
.hist-table{min-width:760px}
.hist-table td:nth-child(2){min-width:150px}
.hist-table td:nth-child(1){min-width:70px}

/* « J'ai joué » : vrais paris de l'utilisateur */
.ok{color:var(--pitch);font-weight:600}
.ko{color:var(--bad);font-weight:600}
.pick-res{margin-top:6px;font-size:12.5px;font-weight:600}
.bet-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:8px;font-size:12.5px}
.bet-row.mine{padding:6px 8px;border-radius:6px;background:var(--pitch-soft)}
.btn-sm{font-size:13px;padding:6px 14px;grid-column:auto}
.btn-ghost{border:1px solid var(--pitch);background:transparent;color:var(--pitch);border-radius:8px;font-family:var(--f-display);font-weight:800;text-transform:uppercase;letter-spacing:.04em;cursor:pointer}
.btn-ghost:hover{background:var(--pitch-soft)}
.bet-form{margin-top:8px;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);display:grid;gap:8px}
.bet-inputs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bet-inputs label{display:grid;gap:3px;font-size:12px;color:var(--muted)}
.bet-inputs input{width:100%;min-width:0;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--fg);font-family:var(--f-mono);font-size:15px}
.bet-actions{display:flex;align-items:center;gap:14px}
.hist-h{margin:18px 0 8px;font-size:15px}
.hist-h:first-child{margin-top:0}
.hist-stats.two{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:10px}
.hist-table.bets-table{min-width:0;width:100%}
@media (max-width:560px){.bets-table th:first-child,.bets-table td:first-child{display:none}}
.chip.mine{background:var(--value-soft);color:var(--value)}
.bet-mkt{display:grid;gap:3px;font-size:12px;color:var(--muted)}
.bet-mkt select{width:100%;min-width:0;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--fg);font-size:14px}
.section .bet-row.mine{justify-content:space-between}
.hist-stats.four{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px}
@media (max-width:560px){.hist-stats.four{grid-template-columns:1fr}}
.bets-table td.num{white-space:nowrap}

/* Mon combiné : ticket flottant */
.slip{position:fixed;right:16px;bottom:16px;z-index:30;width:min(380px,calc(100vw - 32px));max-height:min(80vh,640px);overflow:auto;background:var(--surface);border:1px solid var(--pitch);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.slip-head{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border:0;background:var(--pitch);color:var(--on-pitch);font-size:14px;cursor:pointer;position:sticky;top:0}
.slip-head .mono{font-size:12.5px}
.slip-body{padding:12px 14px;display:grid;gap:10px}
.slip-legs{display:grid;gap:6px}
.slip-leg{display:flex;justify-content:space-between;gap:8px;padding:8px;border-radius:8px;background:var(--bg);font-size:13px}
.slip-leg>div{display:grid;gap:2px;min-width:0}
.slip-leg .sub{font-size:11.5px;color:var(--muted)}
.row-actions{white-space:nowrap}
.row-actions .linkbtn+.linkbtn{margin-left:8px}
body.has-slip .foot-note{padding-bottom:70px}
@media (max-width:560px){.slip{right:8px;left:8px;bottom:8px;width:auto}}
.mine-slip{margin:12px 0;padding:12px 14px;border:1px dashed var(--pitch);border-radius:10px;display:grid;gap:8px}
.mine-slip .pick-line{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.bets-table a{color:inherit}
#mineBody{padding:16px 22px;display:grid;gap:12px;min-width:0}
#mineBody>*{min-width:0}
.center{min-width:0}
@media (max-width:560px){#mineBody,#histBody{padding:14px 16px}}
@media (max-width:560px){
  .bets-table td.num{white-space:normal}
  .bets-table th,.bets-table td{padding-left:4px;padding-right:4px}
  .bets-table small{display:block;font-size:10.5px}
}

/* ---------- Téléphone ---------- */
@media (max-width:760px){
  body{font-size:14.5px}
  .topbar{padding-inline:12px}
  .topbar-in{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto auto;gap:6px 8px;min-height:0;padding-block:8px}
  .brand-name.brand-sm{font-size:18px;white-space:nowrap}
  .brand-mark{width:30px;height:30px}
  .user{grid-column:5;grid-row:1;justify-self:end}
  .install-btn{grid-column:2;grid-row:1}
  .local-slot{grid-column:3;grid-row:1}
  .theme-btn{grid-column:4;grid-row:1}
  .local-slot span{display:none}                 /* emplacement personnel : icône seule sur téléphone */
  .local-slot > *{padding:6px 9px}
  .leagues{grid-column:1/-1;grid-row:2;flex:none;margin-inline:-12px;padding-inline:12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .lg{font-size:14px;padding:6px 11px;scroll-snap-align:start;border-color:var(--line)}

  .layout{padding-inline:12px;padding-block:12px;gap:14px}
  .col-title{margin-bottom:6px}
  .col-title h2{font-size:18px}

  /* journées : bandeau tactile pleine largeur */
  .daynav{grid-template-columns:minmax(0,1fr);grid-template-areas:"bar" "head" "filter";gap:8px}
  .datebar{grid-template-columns:30px minmax(0,1fr) 30px 34px;gap:4px}
  .dchip{min-width:58px;padding:6px 6px 5px}
  .dhead{font-size:13.5px}
  .sfilter button{font-size:12.5px;padding:6px 2px}

  /* matchs : cartes compactes qui défilent, noms d'équipes en entier */
  .matches{grid-auto-columns:minmax(160px,48%);gap:8px;margin-inline:-12px;padding-inline:12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .m{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"time flags" "teams sc";gap:6px 8px;padding:9px 10px;align-content:start;align-items:start;scroll-snap-align:start}
  .m-time{grid-auto-flow:column;align-items:center;gap:6px}
  .m-flags{flex-direction:row;flex-wrap:wrap;justify-content:flex-end}
  .m-teams{font-size:13.5px;line-height:1.3}
  .m-teams span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
  .m-sc{font-size:13.5px;line-height:1.3}
  .day-empty{min-width:calc(100vw - 24px)}

  /* onglets du centre sur une ligne qui défile */
  .ctabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-12px;padding-inline:12px;padding-bottom:2px;-webkit-overflow-scrolling:touch}
  .ctab{white-space:nowrap;font-size:14px;padding:7px 11px;flex:none}
  .center{scroll-margin-top:110px}

  /* fiche match */
  .match-head{padding:14px 14px 12px;gap:10px}
  .scoreline{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"home away" "xg xg";gap:10px 12px}
  .scoreline .team:first-child{grid-area:home}
  .scoreline .team.away{grid-area:away}
  .scoreline .xg{grid-area:xg;grid-auto-flow:column;justify-content:center;align-items:baseline;gap:8px;padding-top:8px;border-top:1px dashed var(--line)}
  .team-name{font-size:18px;line-height:1.1;overflow-wrap:break-word;hyphens:auto}
  .team-meta{font-size:11px}
  .xg-val{font-size:16px}
  .meta-row{gap:4px 12px;font-size:11.5px}
  .section{padding:14px}
  .section h3{font-size:16px}
  .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
  .tab{white-space:nowrap;flex:none;padding:6px 11px;font-size:12.5px}
  .prono-main{font-size:21px}
  .prono-main .mono{font-size:18px}
  .prono-grid{grid-template-columns:1fr 1fr}
  .adj li{display:block}
  .adj .d{display:inline;margin-right:6px}

  /* tableau des marchés : sans la colonne « cote juste » ni la barre, actions empilées */
  .mkt table:not(.hist-table){min-width:0;font-size:12.5px}
  .mkt table:not(.hist-table) th:nth-child(3),.mkt table:not(.hist-table) td:nth-child(3){display:none}
  .mkt table:not(.hist-table) .bar{display:none}
  .mkt table:not(.hist-table) th,.mkt table:not(.hist-table) td{padding:8px 5px}
  .mkt table:not(.hist-table) td.num{white-space:nowrap}
  .mkt table:not(.hist-table) td.num small{display:block;font-size:10.5px}
  .row-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
  .row-actions .linkbtn+.linkbtn{margin-left:0}
  .linkbtn{font-size:12.5px;padding:2px 0}

  .hist-controls{padding:12px 14px}
  .agent{gap:10px}
  .foot-note{padding-inline:12px}
  body.has-slip .layout{padding-bottom:64px}
}
@media (max-width:380px){
  .prono-grid{grid-template-columns:1fr}
  .matches{grid-auto-columns:minmax(150px,62%)}
  .dchip{min-width:50px}
}

/* Résumés de journée */
.recap.days{display:grid;gap:8px}
.day{border:1px solid var(--line);border-radius:8px;padding:8px 12px;background:var(--surface)}
.day summary{cursor:pointer;font-size:13.5px}
.day-matches{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px}
.day-matches li{display:grid;gap:2px}
.day-score{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13.5px}
.day-score a{color:inherit;text-decoration:none}
.day-facts{margin-top:10px;display:grid;gap:4px}

/* Bankroll */
#bankBody{padding:16px 22px;display:grid;gap:12px;min-width:0}
#bankBody>*{min-width:0}
.bet-inputs.three{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}
.bet-inputs select,.bet-mkt input{width:100%;min-width:0;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--fg);font-size:14px}
.chart-box{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--surface-2);display:grid;gap:4px}
.chart{width:100%;height:170px;display:block}
.chart-line{fill:none;stroke:var(--pitch);stroke-width:2}
.chart-line.mid{stroke:var(--pitch)}
.chart-band{fill:var(--pitch-soft);stroke:none}
.chart-base{stroke:var(--muted);stroke-dasharray:4 4;stroke-width:1;vector-effect:non-scaling-stroke}
.chart-scale{display:flex;justify-content:space-between}
.moves{display:grid;gap:6px}
.moves .bet-row{justify-content:space-between;border-bottom:1px dashed var(--line);padding-bottom:6px;margin-top:0}
.hist-table.diag{min-width:0}
@media (max-width:560px){.diag th,.diag td{padding:7px 4px;font-size:12px}}
@media (max-width:560px){#bankBody{padding:14px 16px}.bet-inputs.three{grid-template-columns:1fr 1fr}}
@media (max-width:560px){
  .diag th:nth-child(2),.diag td:nth-child(2),.diag th:nth-child(4),.diag td:nth-child(4){display:none}
  .diag th{letter-spacing:.02em}
}

/* Modèle / marché / final */
.psplit{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.psplit>span{white-space:nowrap}
.psplit i{font-style:normal;opacity:.75}
.pdetail{margin-top:8px}
.pdetail summary{cursor:pointer;color:var(--pitch)}
.ptable{width:100%;max-width:360px;border-collapse:collapse;margin-top:6px;font-size:13px}
.ptable td{padding:4px 6px;border-bottom:1px solid var(--line)}

/* Mode public (lecture seule) : pas d'espace perso ni de boutons de jeu */
body.guest .ctab[data-tab="mine"],body.guest .ctab[data-tab="bank"],body.guest .row-actions,
body.guest #slip,body.guest [data-quick],body.guest [data-slip-add],body.guest .bet-form,body.guest .bet-row,body.guest .mybets,body.guest .quick-bet{display:none!important}
.ptable tr.sep td{border-top:2px solid var(--line)}

/* Application installable */
.local-slot{display:flex;align-items:center;gap:6px}
.install-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;
  border:1px solid var(--pitch);border-radius:999px;background:var(--pitch-soft);color:var(--pitch);
  font:600 13px/1 var(--f-body);cursor:pointer;white-space:nowrap}
.install-btn[hidden]{display:none}
.install-hint{position:fixed;left:16px;right:16px;top:72px;z-index:60;max-width:420px;margin:0 auto;padding:14px 16px;
  background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.18);font-size:14px}
.install-hint[hidden]{display:none}
.install-hint p{margin:0 0 8px}
@media (max-width:760px){.install-btn span{display:none}.install-btn{padding:7px 9px}}

/* Force & contexte européen */
.euro{margin-top:14px}
.euro h3 small{font-family:var(--f-body);font-weight:500;text-transform:none;letter-spacing:0;font-size:12px}
.euro-scroll{overflow-x:auto}
.euro-table{width:100%;border-collapse:collapse;font-size:13px;min-width:420px}
.euro-table th,.euro-table td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.euro-table th{font-weight:600}
.euro-table td:first-child{color:var(--muted);width:38%}
@media (max-width:760px){.euro-table{min-width:0;font-size:12.5px}.euro-table td:first-child{width:34%}}

/* Analyse des forces et décision du moteur */
.power{margin-top:14px}
.ctx-list{margin:4px 0 0;padding-left:18px}
.ctx-list li{margin:2px 0}
.decision{margin-top:12px;padding:12px 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2)}
.decision.ok{border-color:var(--value);background:var(--value-soft)}
.decision .label{display:block;margin-bottom:4px}
.decision ul{margin:6px 0 0;padding-left:18px}
/* Forme (5 derniers matchs) */
.fres{display:inline-block;min-width:1.4em;margin-right:2px;padding:0 .25em;border-radius:3px;text-align:center;font-weight:600;font-size:.85em;color:#fff}
.fres.V{background:var(--pitch)} .fres.N{background:var(--value);color:#1b1b1b} .fres.D{background:var(--bad)}
.euro-table td.mono{white-space:nowrap}
.prono-line .mono,.prono-main .mono{white-space:nowrap}
.ghero{border-width:2px}
.ggrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px;margin-top:6px}
.gcell{background:var(--surface);border-radius:8px;padding:6px 8px;display:grid;gap:1px;min-width:0}
.gcell b{font-size:17px}

/* ---------- Fiche : sections repliables ---------- */
.fold{border-top:1px solid var(--line)}
.fold>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 22px;font-family:var(--f-display);font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:.01em}
.fold>summary::-webkit-details-marker{display:none}
.fold>summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg) translateY(-2px);transition:transform .15s;flex:none}
.fold[open]>summary::after{transform:rotate(-135deg) translateY(-2px)}
.fold>summary:hover{color:var(--pitch)}
.fold-body>.section:first-child{padding-top:0}
.ia-read .verdict{margin:0 0 10px;font-size:14.5px;line-height:1.55}
.gsub{display:block;margin-top:12px}
.ggrid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* ---------- Meneur IA : combiné épinglé, fil replié ---------- */
.combo-pin:empty{display:none}
.post.pinned{background:color-mix(in srgb,var(--value-soft) 45%,var(--surface));border-bottom:1px solid var(--line)}
.post.closed .pick{opacity:.75}
.combo-legs li.leg-closed a,.combo-legs li.leg-closed b{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--muted) 60%,transparent)}
.legst{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap}
.legst.live{color:var(--bad)}
.legst.done{color:var(--fg)}
.feed-more{width:100%;border:0;border-top:1px solid var(--line);background:none;padding:10px;font-size:12.5px;font-weight:600;color:var(--pitch)}
.status-wrap{border-top:1px solid var(--line)}
.status-wrap>summary{cursor:pointer;padding:10px 18px;font-size:12px;color:var(--muted)}
.status-wrap[open]>summary{border-bottom:1px solid var(--line)}
@media (max-width:760px){
  .fold>summary{padding:12px 14px;font-size:15.5px}
}

/* Bouton de thème */
.theme-btn{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 11px;font-size:12.5px;font-weight:600;color:var(--muted)}
.theme-btn:hover{color:var(--pitch);border-color:var(--pitch)}
@media (max-width:760px){.theme-btn span{display:none}.theme-btn{padding:7px 9px;grid-column:4;grid-row:1}}

.power-sum{margin:0 0 10px;font-size:14px;line-height:1.5}
.how>summary{cursor:pointer;color:var(--muted);margin-top:4px}

.prematch-note{margin:12px 22px 0;padding:10px 12px;border-radius:8px;background:var(--surface-2);border:1px dashed var(--line);font-size:13px;color:var(--muted)}
.bank .sub{font-size:10.5px;color:var(--muted);line-height:1.3}
@media (max-width:760px){.prematch-note{margin:10px 14px 0}}

/* Sélections du jour */
.top-opt{display:flex;align-items:center;gap:6px;color:var(--muted)}
.top-opt input{accent-color:var(--pitch)}
#topBody{padding:4px 22px 18px}
.top-head{margin:10px 0}
.top-list{display:grid;gap:6px;margin-bottom:12px}
.top-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:inherit;text-decoration:none}
.top-row:hover{border-color:var(--pitch)}
.top-row.ph-done,.top-row.ph-live{opacity:.7}
.top-p{font-size:18px;font-weight:700;color:var(--pitch)}
.top-main{display:grid;gap:2px;min-width:0}
.top-main b{font-weight:600}
.top-odds{display:grid;justify-items:end;gap:1px;text-align:right}
@media (max-width:560px){
  #topBody{padding:4px 14px 14px}
  .top-row{grid-template-columns:52px minmax(0,1fr);gap:8px}
  .top-p{font-size:16px}
  .top-odds{grid-column:2;justify-items:start;text-align:left;grid-auto-flow:column;justify-content:start;gap:8px;flex-wrap:wrap}
}

/* Forme et classement */
.fbadges{display:inline-flex;gap:2px;vertical-align:middle}
.fb{font-style:normal;font-family:var(--f-mono);font-size:10px;font-weight:700;width:16px;height:16px;display:inline-grid;place-items:center;border-radius:4px;color:#fff}
.fb.win{background:var(--pitch)} .fb.draw{background:var(--muted)} .fb.loss{background:var(--bad)}
.top-form{display:grid;gap:3px;margin-top:3px}
.tf{display:flex;flex-wrap:wrap;align-items:center;gap:3px 7px;color:var(--muted)}
.tf b{font-weight:600;color:var(--fg);white-space:nowrap}
.tf>span{white-space:nowrap}
.form-alert{color:var(--bad);font-weight:600;margin-top:2px}
.standings td:first-child{width:36px}
.standings tr.z-ucl td:first-child{box-shadow:inset 3px 0 0 var(--pitch)}
.standings tr.z-uel td:first-child{box-shadow:inset 3px 0 0 var(--value)}
.standings tr.z-down td:first-child{box-shadow:inset 3px 0 0 var(--bad)}
.standings tr.mine td{background:var(--pitch-soft);font-weight:700}

.tg{font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.tg small{font-family:var(--f-body);font-size:10px}
.goals-t td:first-child{width:28%}

.sch-close{font-weight:600}
.lu li a{color:inherit;text-decoration-color:var(--line)}
.sch-cup a{color:var(--value)}
.chip.natcup{background:transparent;color:var(--fg);border:1px solid var(--muted)}

/* Téléphone avec emplacement personnel : « ClipAi » seul pour garder la barre sur une ligne */
@media (max-width:430px){body:has(.local-slot) .brand-name .bn-long,body:has(.local-slot) .brand-name span:first-child{display:none}}

/* ---------- Page Accès (propriétaire) ---------- */
a.brand{color:inherit;text-decoration:none}
.acc-back{margin-left:auto;text-decoration:none}
.acc{max-width:900px;margin:0 auto;padding:20px 16px 40px;display:grid;gap:16px}
.acc-card{padding:20px 22px;display:grid;gap:12px}
.acc-card h1,.acc-card h2{margin:0;font-family:var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.acc-card h1{font-size:26px}.acc-card h2{font-size:20px}
.acc-card p{margin:0}
.acc-steps{margin:0;padding-left:20px;display:grid;gap:4px}
.acc-invite{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:8px 12px}
.acc-invite code{font-family:var(--f-mono);font-size:13px;word-break:break-all}
.acc-form{display:flex;gap:8px;flex-wrap:wrap}
.acc-form input{flex:1;min-width:200px;font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:8px;padding:8px 10px}
.acc-form button{font:inherit;font-weight:600;border:1px solid var(--pitch);background:var(--pitch);color:var(--on-pitch);border-radius:8px;padding:8px 16px}
.acc-msg{min-height:1.2em;font-size:13px;color:var(--pitch)}
.acc-msg.bad{color:var(--bad)}
.acc-table td{vertical-align:middle}
.acc-actions{white-space:nowrap;text-align:right}
.acc-actions .linkbtn+.linkbtn{margin-left:10px}
.acc-switch{display:inline-flex;align-items:center;gap:4px;font-size:13px}

/* ---------- Fiche club : menu à gauche, contenu, récap flottant à droite ---------- */
a.club-link{color:inherit;text-decoration:none}
a.club-link:hover{color:var(--pitch);text-decoration:underline}
.club-top{flex-wrap:nowrap}
.club-search{position:relative;flex:1;max-width:420px;margin-left:auto}
.club-search input{width:100%;font:inherit;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);border-radius:999px;padding:7px 14px}
.club-hits{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 4px);list-style:none;margin:0;padding:4px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.club-hits[hidden]{display:none}
.club-hits a{display:flex;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:7px;color:var(--fg);text-decoration:none}
.club-hits a:hover{background:var(--surface-2)}
.club-hits small{color:var(--muted)}
.club-hits li.muted{padding:7px 10px}
.club{max-width:1440px;margin:0 auto;padding:16px;display:grid;grid-template-columns:210px minmax(0,1fr) 300px;gap:16px;align-items:start}
.club>.empty{grid-column:1/-1}
.club-nav{position:sticky;top:76px;display:grid;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:8px}
.club-nav button{display:flex;align-items:center;gap:10px;font:inherit;font-size:14px;font-weight:500;text-align:left;background:none;border:0;border-radius:8px;color:var(--muted);padding:9px 10px}
.club-nav button:hover{background:var(--surface-2);color:var(--fg)}
.club-nav button[aria-current="true"]{background:var(--pitch-soft);color:var(--pitch);font-weight:600}
.club-main{display:grid;gap:14px;min-width:0}
.club-head{padding:18px 22px;display:grid;gap:8px}
.club-head h1{margin:0;font-family:var(--f-display);font-size:36px;text-transform:uppercase;letter-spacing:.01em;line-height:1}
.club-sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.club-body{padding:0;overflow:hidden}
.club-body .section:last-child{border-bottom:0}
.club-body a:not(.club-link){color:var(--pitch)}
.club-recap{position:sticky;top:76px}
.recap-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;gap:12px}
.recap-rank{display:flex;align-items:center;gap:12px}
.recap-rank>b{font-family:var(--f-display);font-size:44px;line-height:1;color:var(--pitch)}
.recap-rank sup{font-size:18px}
.recap-rank>span{font-size:13px;line-height:1.3}
.recap-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}
.recap-col{flex-direction:column;align-items:flex-start;gap:4px}
.recap-match{display:grid;gap:3px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px}
.recap-match a{color:var(--pitch)}
.recap-probs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:4px 0}
.recap-probs span{display:grid;justify-items:center;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:4px;font-size:11px;color:var(--muted)}
.recap-probs b{font-family:var(--f-mono);font-size:14px;color:var(--fg)}
.club-form{min-width:22px;text-align:center;padding:1px 6px}
.club-subtabs{display:flex;flex-wrap:wrap;gap:6px;padding:14px 22px 0}
.club-subtabs button{font:inherit;font-size:13px;border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:999px;padding:5px 12px}
.club-subtabs button[aria-pressed="true"]{border-color:var(--pitch);color:var(--pitch);background:var(--pitch-soft)}
.club-minis{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;padding:18px 22px;border-bottom:1px solid var(--line)}
.club-mini{display:grid;gap:4px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.club-trends{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}
.club-trends div{display:grid;gap:2px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.club-trends b{font-family:var(--f-mono);font-size:19px}
.club-trends span{font-size:12px;color:var(--muted)}
.club-list{list-style:none;margin:0;padding:0;display:grid}
.club-fx{display:grid;grid-template-columns:96px minmax(0,1fr) auto auto;grid-template-areas:"date opp score go" "comp p p p";gap:2px 12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.club-fx:last-child{border-bottom:0}
.club-fx-date{grid-area:date;font-weight:600;font-size:13px}
.club-fx-comp{grid-area:comp}
.club-fx-opp{grid-area:opp;font-weight:600}
.club-fx-score{grid-area:score}
.club-fx-go{grid-area:go;font-size:13px}
.club-p{grid-area:p;font-size:12px;color:var(--muted)}
.club-res{min-width:22px;text-align:center}
.club-me td{background:var(--pitch-soft);font-weight:600}
.club-avis{background:color-mix(in srgb,var(--pitch-soft) 55%,var(--surface))}
.club-avis-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between}
.club-avis p{margin:0}
.club-avis-txt{font-size:15px;line-height:1.55}
.club-pending{margin:0;padding:12px 14px;border:1px dashed var(--line);border-radius:10px;background:var(--surface-2)}
.club-gauges{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.club-gauge{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"lab bar val" "hint hint hint";align-items:center;gap:4px 10px;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.recap-card .club-gauge{background:none;border:0;padding:0}
.club-gauge>span{grid-area:lab;font-weight:600;font-size:13px}
.club-gauge>b{grid-area:val}
.club-gauge>small{grid-area:hint;color:var(--muted);font-size:11.5px}
.club-bar,.minbar,.mins-bar{height:8px;border-radius:99px;background:var(--line);overflow:hidden}
.club-bar{grid-area:bar}
.club-bar i,.minbar i,.mins-bar i{display:block;height:100%;width:0;background:var(--pitch);border-radius:99px}
.minbar{display:inline-block;width:80px;vertical-align:middle;margin-right:6px}
.resbar{display:flex;height:8px;width:110px;border-radius:99px;overflow:hidden;background:var(--line)}
.resbar i{display:block;height:100%}
.resbar .ok{background:var(--pitch)}.resbar .wait{background:var(--value)}.resbar .no{background:var(--bad)}
.resbar-cell{width:120px}
.club-src{display:inline-block;margin-left:4px;padding:0 6px;border:1px solid var(--line);border-radius:99px;font-size:11px;color:var(--muted)}
.ch{width:100%;height:auto;display:block;overflow:visible}
.ch line{stroke:var(--line);stroke-width:1}
.ch text{fill:var(--muted);font-size:10px;font-family:var(--f-mono)}
.ch-stroke{fill:none;stroke:var(--pitch);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.ch-area{fill:color-mix(in srgb,var(--pitch) 14%,transparent);stroke:none}
.ch circle{fill:var(--surface);stroke:var(--pitch);stroke-width:2}
.ch-for,.lg-for{fill:var(--pitch);background:var(--pitch)}
.ch-against,.lg-against{fill:var(--bad);background:var(--bad)}
.ch-res{text-anchor:middle;font-weight:700}
.ch-res.ok{fill:var(--pitch)}.ch-res.no{fill:var(--bad)}.ch-res.wait{fill:var(--value)}
.ch-legend{margin:6px 0 0;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ch-legend i{display:inline-block;width:10px;height:10px;border-radius:3px}
.mins{display:grid;gap:6px}
.mins-row{display:grid;grid-template-columns:62px 1fr 28px 1fr 28px;align-items:center;gap:8px}
.club-formations{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.club-formations li{display:grid;justify-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:10px;padding:8px 14px}
.club-formations span{font-size:12px;color:var(--muted)}
.pitch{display:grid;gap:10px;padding:16px 10px;border-radius:12px;background:linear-gradient(180deg,color-mix(in srgb,var(--pitch) 85%,#000),var(--pitch));margin:6px 0}
.pitch-line{display:flex;justify-content:space-evenly;flex-wrap:wrap;gap:6px}
.pitch-p{background:rgba(255,255,255,.92);color:#16211B;border-radius:999px;padding:3px 10px;font-size:12.5px;font-weight:600}
.club-articles{display:grid;gap:12px}
.club-articles article{display:grid;gap:4px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.club-articles article:last-child{border-bottom:0;padding-bottom:0}
.club-articles h4{margin:0;font-size:15px}
.club-articles p{margin:0;font-size:13.5px;color:var(--fg)}
@media (max-width:1180px){
  .club{grid-template-columns:190px minmax(0,1fr)}
  .club-recap{grid-column:1/-1;grid-row:1;position:static}
  .recap-card{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
}
@media (max-width:900px){
  .club{grid-template-columns:minmax(0,1fr);padding:12px}
  .club-nav{position:sticky;top:0;z-index:4;display:flex;overflow-x:auto;padding:6px;border-radius:10px}
  .club-nav button{flex:none;padding:7px 10px}
  .club-nav button svg{display:none}
  .club-recap{grid-row:auto}
  .club-top{display:flex!important;flex-wrap:wrap}
  .club-search{order:3;flex-basis:100%;max-width:none}
  .club-head h1{font-size:28px}
  .club-fx{grid-template-columns:78px minmax(0,1fr) auto;grid-template-areas:"date opp score" "comp comp go" "p p p"}
  .resbar-cell,.resbar{width:70px}
}
a.lg{text-decoration:none;display:inline-flex;align-items:center}
a.lg:hover{color:var(--pitch)}
.club-searchbar{max-width:1440px;margin:0 auto;padding:14px 16px 0;display:flex;justify-content:flex-end}
.club-searchbar .club-search{margin-left:0;flex:0 1 420px}
@media (max-width:900px){.club-searchbar{padding:10px 12px 0}.club-searchbar .club-search{flex:1}}
.mins-bar i.lg-against{background:var(--bad)}
@media (max-width:900px){
  .club-nav{order:1}.club-recap{order:2}.club-main{order:3}
  .recap-card{grid-template-columns:1fr 1fr;gap:10px 14px}
  .recap-card .recap-match,.recap-card .recap-rank{grid-column:1/-1}
}

/* =====================================================================================================
   DESIGN 2026 — maquette « Matchday » : bandeau sombre, barre des compétitions, liste + fiche, onglets.
   Les couleurs viennent des variables de thème (vert / blanc / sombre) définies en haut du fichier.
   ===================================================================================================== */
body{font-family:var(--f-body);font-size:14px;font-weight:500;line-height:1.55;background:var(--bg)}
h1,h2,h3{font-family:var(--f-display)}
a{color:var(--pitch)}

/* ---------- Bandeau ---------- */
.topbar{position:relative;top:auto;z-index:20;background:var(--hd-bg);color:var(--hd-ink);border-bottom:1px solid var(--hd-line);padding-inline:22px}
.topbar-in{max-width:1440px;margin:0 auto;display:flex;align-items:stretch;gap:20px;min-height:68px;padding-block:0;flex-wrap:nowrap}
.brand{display:flex;align-items:center;gap:10px;color:var(--hd-ink);text-decoration:none;white-space:nowrap}
.brand-logo{width:34px;height:36px;display:grid;place-items:center;background:var(--hd-accent);color:var(--hd-accent-ink);border-radius:8px;transform:skew(-7deg)}
.brand-logo svg{transform:skew(7deg)}
.brand-word{font:800 28px/.9 var(--f-display);letter-spacing:-.4px}
.brand-word small{display:block;font:700 8.5px/1.4 var(--f-body);letter-spacing:2px;margin-top:5px;color:var(--hd-muted)}
.mainnav{display:flex;align-items:stretch;gap:2px;margin-left:auto}
.nav-a{display:flex;align-items:center;gap:7px;padding:0 12px;color:var(--hd-muted);text-decoration:none;font-weight:700;font-size:13.5px;border-bottom:3px solid transparent;border-top:3px solid transparent;white-space:nowrap}
.nav-a:hover{color:var(--hd-ink)}
.nav-a[aria-current="page"]{color:var(--hd-accent);border-bottom-color:var(--hd-accent)}
.tools{display:flex;align-items:center;gap:6px;flex:none}
.tool-btn,.topbar .theme-btn,.topbar .install-btn,.local-slot>*{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--hd-line);background:transparent;color:var(--hd-muted);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.tool-btn:hover,.topbar .theme-btn:hover,.local-slot>*:hover{color:var(--hd-accent);border-color:var(--hd-accent)}
.tool-btn[hidden]{display:none}
.theme-dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#14281b 0 50%,#c4f48b 50% 100%);border:1px solid var(--hd-muted)}
:root[data-theme="light"] .theme-dot{background:linear-gradient(135deg,#fff 0 50%,#136c38 50% 100%)}
:root[data-theme="dark"] .theme-dot{background:linear-gradient(135deg,#0c1510 0 50%,#a8b9ad 50% 100%)}
.user{color:var(--hd-ink);gap:8px}
.avatar{background:var(--hd-accent);color:var(--hd-accent-ink)}
.user .linkbtn{color:var(--hd-muted)}
.uname{font-size:12px;line-height:1.25}

/* ---------- Barre des compétitions ---------- */
.leaguebar{background:var(--surface);border-bottom:1px solid var(--line);padding-inline:22px}
.leaguebar .leagues{max-width:1440px;margin:0 auto;display:flex;align-items:center;gap:4px;padding-block:9px;overflow-x:auto;scrollbar-width:none}
.leaguebar .leagues::-webkit-scrollbar{display:none}
.leaguebar .lg{display:inline-flex;align-items:center;gap:6px;flex:none;border:0;border-radius:6px;padding:7px 11px;background:none;font:700 12.5px/1 var(--f-body);text-transform:none;letter-spacing:0;color:var(--muted);text-decoration:none;white-space:nowrap}
.leaguebar .lg:hover{color:var(--fg)}
.leaguebar .lg[aria-pressed="true"]{background:var(--pitch-soft);color:var(--pitch)}
.lg-sep{flex:none;width:1px;height:18px;background:var(--line);margin:0 4px}
body:not([data-view="matchs"]) .leaguebar .lg-all,body:not([data-view="matchs"]) .leaguebar .lg-sep{display:none}
body[data-view="aide"] .leaguebar{display:none}

/* ---------- Navigation du bas (téléphone) ---------- */
.bottomnav{display:none}

/* ---------- Pages ---------- */
.app{max-width:1440px;margin:0 auto;padding:24px 22px 12px}
.view[hidden]{display:none!important}
.pagehead{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.pagehead h1{font:700 32px/1 var(--f-display);text-transform:uppercase;letter-spacing:.2px}
.ph-sub{margin:6px 0 0;font-size:12.5px;color:var(--muted)}
.ph-sub b{color:var(--fg);font-weight:700}
.eyebrow{font-size:10px;letter-spacing:1.35px;font-weight:800;text-transform:uppercase}

/* sélecteur de journée (compact, comme la maquette) */
.datebar{display:grid;grid-template-columns:32px minmax(0,auto) 32px 34px;gap:4px;align-items:stretch;max-width:100%;padding:4px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.datebar .dstrip{max-width:560px}
.dnav,.dcal{border:0;background:none;border-radius:6px}
.dnav:hover,.dcal:hover{background:var(--surface-2)}
.dchip{border:0;background:none;border-radius:6px;min-width:58px;padding:5px 9px}
.dchip .d1{font-family:var(--f-body);font-size:11.5px;font-weight:800;text-transform:none;letter-spacing:0}
.dchip .d2{font-size:10.5px}
.dchip[aria-selected="true"]{background:var(--hero-bg);border:1px solid var(--hero-line)}
.dchip[aria-selected="true"] .d1,.dchip[aria-selected="true"] .d2{color:var(--hero-ink)}
.dchip[aria-selected="true"] .dn{color:var(--hero-accent)}
.dchip.today .d1{color:var(--pitch)}
.dchip.today[aria-selected="true"] .d1{color:var(--hero-ink)}

/* ---------- Matchs : liste + fiche ---------- */
.mgrid{display:grid;grid-template-columns:270px minmax(0,1fr);gap:20px;align-items:start}
.mside{min-width:0;display:grid;gap:10px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;scrollbar-width:thin;padding-right:2px}
.msearch{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:9px 11px;color:var(--muted)}
.msearch input{width:100%;min-width:0;border:0;padding:1px;background:transparent;font:inherit;font-size:13px;color:var(--fg);outline:none}
.msearch:focus-within{border-color:var(--pitch)}
.sfilter{background:var(--surface);grid-template-columns:repeat(4,minmax(0,1fr))}
.sfilter button{padding:6px 4px;font-size:11.5px}
.list-title{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.8px;text-transform:uppercase;margin-top:4px}
.matches{display:grid;gap:6px}
.mgroup{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.8px;text-transform:uppercase;margin:8px 2px 0}
.mgroup:first-child{margin-top:0}
.m{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:none;gap:8px;align-items:center;padding:10px 11px;border-radius:9px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);text-align:left}
.m[aria-current="true"]{border-color:var(--pitch);background:var(--pitch-soft);box-shadow:inset 3px 0 0 var(--pitch)}
.m-teams{display:grid;gap:7px;min-width:0;font-weight:700;font-size:12.5px;line-height:1.25}
.m-team{display:flex;align-items:center;gap:8px;min-width:0}
.m-team .nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.m-goals{font-family:var(--f-mono);font-size:13px;margin-left:auto}
.m.ph-done .m-team{color:var(--muted);font-weight:600}
.m.ph-done .m-team.win{color:var(--fg);font-weight:800}
.m.ph-live .m-goals{color:var(--bad)}
.m-side{display:grid;justify-items:end;gap:5px;align-self:stretch;align-content:center}
.m-time{display:block;font-family:var(--f-body);font-size:11.5px;font-weight:700;color:var(--muted);text-align:right}
.m-time .t{font-size:12px;color:var(--fg)}
.m-time .st{font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.m-flags{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:3px}
.m-flags .chip{font-size:9px;padding:2px 6px}
.star{color:var(--value);font-size:12px;line-height:1}
.crest{flex:none;display:inline-grid;place-items:center;width:22px;height:24px;border-radius:5px 5px 9px 9px;font:800 9px/1 var(--f-body);font-style:normal;letter-spacing:-.2px;color:#fff;box-shadow:inset 0 -2px 0 rgba(0,0,0,.18)}
.crest.lg{width:58px;height:64px;border-radius:12px 12px 26px 26px;font-size:20px;box-shadow:inset 0 -4px 0 rgba(0,0,0,.18),0 4px 10px rgba(0,0,0,.25)}
.crest.c0{background:#1f5aa6}.crest.c1{background:#b8202f}.crest.c2{background:#0f7a4a}.crest.c3{background:#6b2c91}.crest.c4{background:#d36b0d}
.crest.c5{background:#11294d}.crest.c6{background:#8a1538}.crest.c7{background:#2f7f9a}.crest.c8{background:#3d3d3d}.crest.c9{background:#a2840b}
.side-note{display:grid;gap:6px;padding:14px 13px;margin-top:6px;background:var(--hero-bg);color:var(--hero-ink);border:1px solid var(--hero-line);border-radius:9px}
.side-note .eyebrow{color:var(--hero-accent);font-size:9px}
.side-note p{margin:0;font-size:12px;color:var(--hero-ink)}
.side-note a{display:inline-flex;align-items:center;gap:5px;color:var(--hero-accent);font-size:11.5px;font-weight:800;text-decoration:none}
.back-list{display:none}

/* ---------- Fiche : en-tête du match ---------- */
.mdetail{min-width:0;display:block}
#detail{display:grid;gap:0;min-width:0}
#detail>.panel.empty{border-radius:11px}
.mhero{position:relative;overflow:hidden;border-radius:12px 12px 0 0;background:var(--hero-bg);color:var(--hero-ink);border:1px solid var(--hero-line);border-bottom:0}
.pitch-art{position:absolute;inset:-70px -20px -100px 45%;opacity:.07;border:2px solid currentColor;transform:rotate(-25deg);pointer-events:none}
.pitch-art::before{content:"";position:absolute;width:120px;height:120px;border:2px solid currentColor;border-radius:50%;top:calc(50% - 60px);left:calc(50% - 60px)}
.pitch-art::after{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px solid currentColor}
.h-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 20px 0;font-size:11px;color:var(--hero-muted)}
.h-tag{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:5px;color:var(--hero-accent);background:color-mix(in srgb,var(--hero-accent) 12%,transparent);font-weight:800;font-size:9.5px;letter-spacing:1px;text-transform:uppercase}
.h-tag::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.h-tag.live{color:#ff7a70;background:rgba(255,90,80,.14)}
.h-tag.live::before{animation:livedot 1.6s infinite}
.h-follow{border:0;background:none;color:var(--hero-muted);font-size:11.5px;font-weight:700;padding:3px 0}
.h-follow[aria-pressed="true"]{color:var(--hero-accent)}
.h-teams{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr);align-items:center;gap:10px;padding:20px 22px 16px;text-align:center}
.h-club{display:grid;justify-items:center;gap:9px;min-width:0}
.h-club .club-link{font:700 28px/.98 var(--f-display);text-transform:uppercase;color:var(--hero-ink);text-decoration:none;max-width:260px;overflow-wrap:anywhere}
.h-club .club-link:hover{color:var(--hero-accent)}
.h-club small{font-size:11px;color:var(--hero-muted)}
.h-time strong{display:block;font:700 32px/1 var(--f-display);letter-spacing:.5px}
.h-time .h-score{font-size:44px}
.h-time .h-score i{font-style:normal;opacity:.5;margin:0 6px}
.h-time span{display:block;margin-top:7px;font-size:11px;color:var(--hero-muted)}
.h-time b{display:block;margin-top:9px;font-size:10.5px;color:var(--hero-accent);font-weight:800;text-transform:uppercase;letter-spacing:.6px}
.h-meta{position:relative;display:grid;gap:6px;padding:12px 22px 16px;border-top:1px solid color-mix(in srgb,var(--hero-ink) 10%,transparent);font-size:11.5px}
.h-meta .meta-row{color:var(--hero-muted);gap:4px 16px}
.h-meta .meta-row b{color:var(--hero-ink)}
.h-meta .muted{color:var(--hero-muted)}

/* onglets de la fiche */
.dtabs{display:flex;gap:0;background:var(--surface);border:1px solid var(--line);border-top:0;border-radius:0 0 12px 12px;padding:0 12px;overflow-x:auto;scrollbar-width:none;scroll-margin-top:10px}
.dtabs::-webkit-scrollbar{display:none}
.dtabs button{flex:none;border:0;background:none;padding:14px 12px 12px;font-weight:700;font-size:12.5px;color:var(--muted);border-bottom:3px solid transparent;white-space:nowrap}
.dtabs button:hover{color:var(--fg)}
.dtabs button[aria-selected="true"]{border-bottom-color:var(--pitch);color:var(--pitch)}
.dbody{display:grid;gap:14px;padding-top:16px;min-width:0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:11px;overflow:hidden;min-width:0;box-shadow:var(--shadow)}
.card>.section:last-child{border-bottom:0}
.dbody .prematch-note{margin:0}

/* avis du Meneur */
.avis{background:var(--surface);border:1px solid var(--line);border-radius:11px;overflow:hidden;box-shadow:var(--shadow)}
.avis-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 18px 0}
.ai-label{display:flex;align-items:center;gap:8px;font-size:10.5px;font-weight:800;letter-spacing:.7px;text-transform:uppercase}
.ai-sym{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--pitch-soft);color:var(--pitch);font-style:normal;font-size:13px}
.avis-main{display:grid;grid-template-columns:minmax(0,1fr) 110px;align-items:center;gap:16px;padding:14px 18px 18px}
.mkt-type{font-size:9.5px;letter-spacing:1.2px;color:var(--muted);font-weight:800;text-transform:uppercase}
.avis-main h3{font:700 36px/1.02 var(--f-display);margin:6px 0 8px;text-transform:none;letter-spacing:.1px}
.avis-main p{margin:0;font-size:12.5px;color:var(--muted);max-width:460px}
.avis-empty{padding:12px 18px 18px;margin:0}
.ring-box{display:grid;justify-items:center;gap:6px;text-align:center}
.ring{--p:0;display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:conic-gradient(var(--pitch) calc(var(--p)*1%),var(--surface-2) 0)}
.ring>span{display:flex;align-items:baseline;justify-content:center;width:70px;height:70px;border-radius:50%;background:var(--surface);padding-top:21px;font-size:26px;font-weight:800;line-height:1}
.ring small{font-size:12px;margin-left:2px}
.why{border-top:1px solid var(--line);background:var(--pitch-soft)}
.why>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:12px 18px;font-size:12px;font-weight:800;color:var(--pitch)}
.why>summary::-webkit-details-marker{display:none}
.why>summary::after{content:"";width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.why[open]>summary::after{transform:rotate(-135deg) translateY(-2px)}
.why-body{display:grid;gap:10px;padding:0 18px 16px;font-size:13px}
.why-body .verdict{margin:0;font-size:13.5px}

/* scénarios */
.sec-title{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:4px 0 -4px}
.sec-title h3{font:800 13px/1.3 var(--f-body);text-transform:none;letter-spacing:0}
.text-btn{border:0;background:none;padding:0;font-size:11.5px;font-weight:800;color:var(--pitch)}
.scen-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.scen{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-height:104px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);text-align:left;box-shadow:var(--shadow)}
.scen:hover{border-color:var(--pitch)}
.scen-name{font-size:12px;font-weight:700;line-height:1.4}
.scen strong{margin-top:auto;font-size:24px;font-weight:800;line-height:1.1}
.scen strong small{font-size:12px;margin-left:2px}
.scen-foot{font-size:10.5px;color:var(--muted)}
.quicklinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.quicklinks button{display:flex;align-items:center;gap:8px;border:0;border-top:1px solid var(--line);background:none;padding:12px 2px;font-size:12px;font-weight:800;color:var(--muted);text-align:left}
.quicklinks button:hover{color:var(--pitch)}
.ql-ico{font-size:15px}
.summary-note{margin:0;font-size:11.5px;color:var(--muted)}
.all-details>.section:first-child{padding-top:18px}

/* ---------- Le Meneur ---------- */
.feedhero{background:var(--hero-bg);color:var(--hero-ink);border:1px solid var(--hero-line);padding:24px;border-radius:12px;margin-bottom:16px}
.feedhero .eyebrow{color:var(--hero-accent)}
.feedhero h1{font:700 36px/1.04 var(--f-display);margin:8px 0;text-transform:uppercase}
.feedhero p{margin:0;color:var(--hero-muted);font-size:13px}
.subtabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.subtabs button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 13px;font-size:12.5px;font-weight:700;color:var(--muted)}
.subtabs button:hover{color:var(--fg)}
.subtabs button[aria-selected="true"]{border-color:var(--pitch);background:var(--pitch-soft);color:var(--pitch)}
.subtabs .count:not(:empty){display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:5px;background:var(--pitch);color:var(--on-pitch);font-size:10.5px}
.agent{position:static;display:block}
.panel{border-radius:11px;box-shadow:var(--shadow);overflow:hidden}
.view>.panel{min-width:0}
.follow-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.follow-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:10px 12px;border:1px solid var(--line);border-radius:9px}
.follow-list a{display:inline-flex;align-items:center;gap:8px;color:var(--fg);text-decoration:none}
.follow-list a:hover b{color:var(--pitch)}
.follow-list .linkbtn{margin-left:auto}

/* ---------- Comprendre ---------- */
.help-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start}
.help>summary{cursor:pointer;padding:15px 18px;font-weight:800;font-size:13.5px}
.help>p{margin:0;padding:0 18px 16px;color:var(--muted);font-size:13px;line-height:1.7}

/* ---------- Divers : lisibilité dans les 3 thèmes ---------- */
.fres{color:var(--on-pitch)} .fres.D{color:#fff}
.fb.win{color:var(--on-pitch)}
.chip.ok{background:var(--pitch-soft);color:var(--pitch)}
.foot-note{max-width:1440px;padding:14px 22px 28px;border-top:1px solid var(--line);margin-top:12px;font-size:11px}
.prono-hero{background:var(--pitch-soft);border-color:color-mix(in srgb,var(--pitch) 45%,var(--line))}
.section{padding:16px 20px}
.section h3{font-size:16px}
.club-nav,.club-recap{top:12px}

/* ---------- Tablette ---------- */
@media (max-width:1180px){
  .mainnav .nav-a{padding:0 8px;font-size:12.5px}
  .mainnav .nav-a svg{display:none}
  .help-btn span,.topbar .theme-btn span:not(.theme-dot),.local-slot span{display:none}
  .user .uhandle{display:none}
}

/* ---------- Téléphone ---------- */
@media (max-width:860px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  .topbar{padding-inline:14px}
  .topbar-in{min-height:58px;gap:10px;align-items:center}
  .brand-word{font-size:24px}
  .brand-word small{font-size:7.5px;letter-spacing:1.6px}
  .brand-logo{width:30px;height:32px}
  .mainnav{display:none}
  .tools{margin-left:auto;gap:5px}
  .tool-btn,.topbar .theme-btn,.topbar .install-btn,.local-slot>*{padding:7px 8px}
  .tool-btn span:not(.theme-dot),.topbar .theme-btn span:not(.theme-dot),.local-slot span{display:none}
  .user .uhandle{display:none}
  .avatar{width:28px;height:28px}
  .leaguebar{padding-inline:10px}
  .bottomnav{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);position:fixed;left:0;right:0;bottom:0;z-index:40;
    background:var(--surface);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));box-shadow:0 -6px 18px rgba(0,0,0,.06)}
  .bn-a{display:grid;justify-items:center;gap:3px;padding:4px 2px;border-radius:8px;color:var(--muted);text-decoration:none;font-size:10px;font-weight:700;white-space:nowrap}
  .bn-a span{overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .bn-a[aria-current="page"]{color:var(--pitch);background:var(--pitch-soft)}
  .slip{bottom:calc(72px + env(safe-area-inset-bottom,0px))}

  .app{padding:14px 12px 8px}
  .pagehead{margin-bottom:12px;gap:10px}
  .pagehead h1{font-size:28px}
  .datebar{width:100%;grid-template-columns:28px minmax(0,1fr) 28px 32px}
  .datebar .dstrip{max-width:none}
  .mgrid{grid-template-columns:minmax(0,1fr);gap:12px}
  .mside{position:static;max-height:none;overflow:visible;padding-right:0}
  .mdetail{display:none}
  body.detail-open .mside,body.detail-open[data-view="matchs"] .pagehead{display:none}
  body.detail-open .mdetail{display:block}
  .back-list{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--pitch);padding:0 0 12px;font-weight:800;font-size:13px}
  .m{padding:11px 12px}
  .m-teams{font-size:13.5px}
  .h-teams{grid-template-columns:minmax(0,1fr) 84px minmax(0,1fr);padding:16px 12px 12px;gap:6px}
  .h-club .club-link{font-size:19px}
  .crest.lg{width:44px;height:48px;font-size:15px}
  .h-time strong{font-size:24px}
  .h-time .h-score{font-size:32px}
  .h-top{padding:13px 14px 0}
  .h-meta{padding:10px 14px 13px}
  .dtabs{padding:0 6px}
  .dtabs button{padding:13px 10px 11px;font-size:12px}
  .avis-main{grid-template-columns:minmax(0,1fr) 88px;padding:12px 14px 14px;gap:10px}
  .avis-main h3{font-size:27px}
  .ring{width:72px;height:72px}
  .ring>span{width:60px;height:60px;padding-top:18px;font-size:21px}
  .avis-top{padding:12px 14px 0}
  .why>summary{padding:11px 14px}
  .why-body{padding:0 14px 14px}
  .scen-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .quicklinks{grid-template-columns:1fr}
  .feedhero{padding:18px}
  .feedhero h1{font-size:28px}
  .subtabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-inline:-12px;padding-inline:12px}
  .subtabs button{flex:none}
  .help-grid{grid-template-columns:1fr}
  .section{padding:14px}
  .foot-note{padding-inline:12px}
}
@media (max-width:380px){
  .scen-grid{grid-template-columns:1fr 1fr}
  .bn-a{font-size:9px}
  .bn-a svg{width:17px;height:17px}
}
/* neutralise l'ancienne mise en page (liste horizontale, header en grille) */
.m-teams .m-team{display:flex;white-space:normal;overflow:visible}
.m-teams .m-team .nm{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.m-time{grid-area:auto}
@media (max-width:860px){
  .topbar-in{display:flex;grid-template-columns:none}
  .user,.install-btn,.local-slot,.theme-btn{grid-column:auto;grid-row:auto}
  .leaguebar .leagues{grid-column:auto;grid-row:auto;margin-inline:0;padding-inline:0}
  .leaguebar .lg{font-size:12px;padding:7px 10px;border-color:transparent}
  .matches{grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;margin-inline:0;padding-inline:0;padding-bottom:0}
  .m{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:none;align-items:center}
  .m-time{grid-auto-flow:row}
  .m-flags{flex-direction:row}
  .day-empty{min-width:0}
}
.m .m-teams,.m .m-side,.m .m-flags,.m .m-time{grid-area:auto}
.panel[hidden],.agent[hidden]{display:none!important}
@media (max-width:860px){
  .user .avatar{display:none}
  .uname .linkbtn{font-size:11px}
}
@media (max-width:420px){
  .brand-word small{display:none}
  .brand-word{font-size:22px}
}
/* connexion */
#login{background:var(--bg)}
.login-card{box-shadow:var(--shadow)}
.login-brand{background:var(--hd-bg);color:var(--hd-ink);margin:-32px -28px 0;padding:18px 24px;border-radius:14px 14px 0 0}
.login-card h1{font-size:32px}
/* Clubs : annuaire par compétition */
.dir{grid-column:1/-1;min-width:0}
.dir .subtabs{margin-bottom:16px}
.dir-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.dir-group{font:800 12px/1.3 var(--f-body);text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin:16px 0 8px}
.dir-card{display:grid;gap:8px;padding:13px 14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;color:var(--fg);text-decoration:none;box-shadow:var(--shadow)}
.dir-card:hover{border-color:var(--pitch)}
.dir-top{display:flex;align-items:center;gap:9px;min-width:0}
.dir-top b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.dir-rank{font:700 20px/1 var(--f-display);color:var(--pitch)}
.dir-mid{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.dir-form{display:inline-flex;gap:2px}
.dir-next{border-top:1px solid var(--line);padding-top:7px;line-height:1.35}
.dir-back{font-size:12px;font-weight:700;color:var(--pitch);text-decoration:none}
@media (max-width:860px){.dir-grid{grid-template-columns:1fr 1fr}.dir .subtabs{margin-inline:0;padding-inline:0}}
@media (max-width:480px){.dir-grid{grid-template-columns:1fr}}

/* ---------- Pied de page, bandeau cookies ---------- */
.site-foot{max-width:1440px;margin:16px auto 0;padding:16px 22px 28px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.site-foot p{margin:8px 0 0;line-height:1.6}
.foot-links{display:flex;flex-wrap:wrap;gap:6px 16px}
.foot-links a,.foot-links .linkbtn{color:var(--fg);font-weight:700;font-size:12px;text-decoration:none}
.foot-links a:hover,.foot-links .linkbtn:hover{color:var(--pitch);text-decoration:underline}
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:70;max-width:760px;margin:0 auto;display:flex;gap:14px;align-items:center;
  padding:14px 16px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 34px rgba(0,0,0,.22);font-size:12.5px}
.cookie-banner[hidden]{display:none}
.cookie-banner p{margin:0;flex:1}
.cookie-actions{display:flex;gap:8px;flex:none}
.cookie-actions .btn-sm{min-width:96px;padding:8px 14px}
@media (max-width:860px){
  .cookie-banner{flex-direction:column;align-items:stretch;bottom:calc(76px + env(safe-area-inset-bottom,0px))}
  body.public .cookie-banner,#login~.cookie-banner{bottom:12px}
  .cookie-actions .btn-sm{flex:1}
  .site-foot{padding-inline:12px}
}

/* ---------- Pages publiques : légal, contact, bienvenue ---------- */
body.public{padding-bottom:0}
.public-main{max-width:980px}
.legal{padding:22px 26px;line-height:1.7;font-size:13.5px}
.legal h1{font:700 32px/1.05 var(--f-display);text-transform:uppercase;margin-bottom:12px}
.legal h2{font:800 15px/1.3 var(--f-body);margin:22px 0 6px}
.legal p{margin:0 0 10px}
.legal-table td:first-child{width:auto;color:var(--fg)}
mark.todo{background:var(--value-soft);color:var(--value);padding:0 4px;border-radius:4px;font-size:12px}
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.contact-form{display:grid;gap:12px;margin-top:6px}
.contact-form label,.consent-form label{display:grid;gap:5px;font-size:12.5px;font-weight:700;color:var(--muted)}
.contact-form input,.contact-form select,.contact-form textarea,.admin-tools input{font:inherit;font-size:14px;font-weight:500;color:var(--fg);background:var(--surface);
  border:1px solid var(--line);border-radius:8px;padding:10px 12px;width:100%}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus,.admin-tools input:focus{outline:2px solid var(--pitch);outline-offset:1px}
.contact-form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-form .btn-primary{justify-self:start}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ok-box{padding:12px 14px;border-radius:9px;background:var(--pitch-soft);color:var(--pitch);font-weight:700}
.partner-box ul{margin:0 0 10px;padding-left:18px}
.welcome{max-width:640px;margin:0 auto}
.consent-form{display:grid;gap:12px;margin:16px 0}
label.check{display:flex!important;align-items:flex-start;gap:10px;font-size:13.5px!important;font-weight:500!important;color:var(--fg)!important;line-height:1.5;cursor:pointer}
label.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--pitch);flex:none}
label.check.optin{padding:10px 12px;border:1px dashed var(--line);border-radius:9px}
.consent-form .btn-primary{justify-self:start;margin-top:4px}
@media (max-width:860px){.contact-grid,.contact-form .two{grid-template-columns:1fr}.legal{padding:18px 16px}}

/* connexion Google */
.google-btn{display:flex;align-items:center;justify-content:center;gap:10px;background:#fff;color:#1f1f1f;border:1px solid #dadce0;border-radius:999px;
  padding:12px 18px;font-weight:700;font-size:15px;text-decoration:none;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.google-btn:hover{background:#f7f8f8}
.tg-old>summary{cursor:pointer;color:var(--muted);font-size:12.5px;font-weight:700}
.tg-old[open]{display:grid;gap:12px}
.btn-link{display:inline-flex;align-items:center;text-decoration:none;grid-column:auto}
a.btn-primary{color:var(--on-pitch)}

/* Mon compte */
.kv-list{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 18px;font-size:13.5px}
.kv-list span{color:var(--muted)}
.danger-zone h3{color:var(--bad)}
.del-form{display:flex;gap:8px;flex-wrap:wrap}
.del-form input{font:inherit;border:1px solid var(--line);border-radius:8px;padding:7px 10px;background:var(--surface);color:var(--fg);width:160px}
.btn-ghost.danger{border-color:var(--bad);color:var(--bad)}

/* Admin */
.subtab-link{align-self:center;margin-left:auto;font-size:12.5px;font-weight:700;color:var(--pitch);text-decoration:none}
.atiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.atile{display:grid;gap:3px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.atile b{font:700 30px/1 var(--f-display)}
.abars{display:flex;align-items:flex-end;gap:3px;height:120px;padding-top:6px;border-bottom:1px solid var(--line)}
.abars span{flex:1;display:flex;align-items:flex-end;height:100%}
.abars i{display:block;width:100%;background:var(--pitch);border-radius:3px 3px 0 0;min-height:2px}
.abars-scale{display:flex;justify-content:space-between;margin-top:4px}
.admin-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.admin-tools input{max-width:340px}
.admin-table td:first-child{width:auto;color:var(--fg)}
.amsg{padding:16px 20px;border-bottom:1px solid var(--line);display:grid;gap:8px}
.amsg.new{background:color-mix(in srgb,var(--pitch-soft) 55%,var(--surface))}
.amsg-top{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:13px}
.amsg p{margin:0;font-size:13.5px;line-height:1.6;white-space:normal}
@media (max-width:860px){.atiles{grid-template-columns:1fr 1fr}.subtab-link{margin-left:0}}
.section>.btn-link,.section>a.btn-ghost{justify-self:start}
.abars span{max-width:34px}
/* Bankroll : graphiques datés */
.cg{width:100%;height:auto;display:block;overflow:visible;max-width:100%}
.cg-grid{stroke:var(--line);stroke-width:1}
.cg-txt{fill:var(--muted);font:600 10px var(--f-body)}
.cg-line{fill:none;stroke:var(--pitch);stroke-width:2.2;stroke-linejoin:round}
.cg-area{fill:var(--pitch-soft);opacity:.7}
.cg-dot{stroke:var(--surface);stroke-width:1.5}
.cg-dot.won{fill:var(--pitch)} .cg-dot.lost{fill:var(--bad)} .cg-dot.void{fill:var(--muted)} .cg-dot.mv{fill:var(--value)}
.cg-legend{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;margin-top:4px}
.lg-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:5px;vertical-align:-1px}
.lg-dot.won{background:var(--pitch)} .lg-dot.lost{background:var(--bad)} .lg-dot.mv{background:var(--value)} .lg-dot.open{background:var(--line)}
.sbars{display:flex;align-items:flex-end;gap:4px;height:120px;border-bottom:1px solid var(--line)}
.sbars span{flex:1;max-width:30px;height:100%;display:flex;flex-direction:column;justify-content:flex-end}
.sbars i{display:block;width:100%;min-height:2px}
.sbars i:last-child{border-radius:3px 3px 0 0}
.sbars i.won{background:var(--pitch)} .sbars i.lost{background:var(--bad)} .sbars i.open{background:var(--line)} .sbars i.void{background:var(--muted)}
/* Sélections du jour : « Je joue » */
.top-item{display:grid;gap:6px}
.top-play-btn{justify-self:end;margin-top:-2px}
.top-play{margin-top:0}
.odds-src{display:block}
body.public .tools{margin-left:auto}
/* Logos officiels (TEAM_LOGOS=on) : l'image recouvre l'écusson à initiales, qui revient si le logo manque */
.crest-wrap{position:relative;display:inline-grid;flex:none;line-height:0}
.crest-wrap>.crest{grid-area:1/1}
.crest-wrap:has(.crest-img)>.crest{visibility:hidden}
.crest-img{grid-area:1/1;width:100%;height:100%;object-fit:contain;align-self:center;justify-self:center}
.crest.sm{width:16px;height:18px;font-size:7px;border-radius:4px 4px 7px 7px}
.crest-wrap.lg .crest-img{filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}
.team-cell{display:inline-flex;align-items:center;gap:7px}
.club-title{display:flex;align-items:center;gap:12px}
.club-title .crest.lg{width:46px;height:50px;font-size:16px}
.crest-wrap{display:inline-block}
.crest-wrap>.crest{display:inline-grid}
.crest-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
/* Simulation cote × mise (étiquette) */
.simtag{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-top:12px;padding:9px 12px;border-radius:9px;
  background:var(--pitch-soft);border:1px solid color-mix(in srgb,var(--pitch) 35%,var(--line));font-size:12.5px}
.simtag.none{background:var(--surface-2);border-style:dashed}
.simtag.compact{margin-top:0;padding:6px 10px;gap:4px 12px;font-size:12px}
.sim-odds b{font-size:15px}
.sim-odds small,.sim-net{color:var(--muted);font-size:11px}
.sim-in{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-weight:700}
.sim-stake{width:70px;padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--fg);font-size:13px;text-align:right}
.sim-stake:focus{outline:2px solid var(--pitch);outline-offset:1px}
.sim-out b{font-size:16px;color:var(--pitch)}
.scen-sims{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.scen-sim{display:grid;gap:5px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.top-item>.simtag{margin:-2px 0 0}
@media (max-width:860px){.scen-sims{grid-template-columns:1fr}.simtag{gap:6px 10px}}
.scen{cursor:default}
.scen .simtag.compact{width:100%;margin-top:6px;gap:3px 10px}
.scen .sim-out b{font-size:14px}

/* ================= Mon agent : chat fixe (le fil défile, la saisie reste visible) ================= */
.agent-panel{padding:0}
.ag{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);height:min(calc(100dvh - 32px),900px);min-height:480px;scroll-margin-top:16px;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;position:relative}
.ag.drop::after{content:"Lâche ta capture ici";position:absolute;inset:8px;display:grid;place-items:center;border:2px dashed var(--pitch);border-radius:12px;background:color-mix(in srgb,var(--pitch-soft) 88%,transparent);color:var(--pitch);font-family:var(--f-display);font-size:22px;font-weight:800;text-transform:uppercase;z-index:5}
.ag-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.ag-title{display:flex;align-items:center;gap:10px;margin-right:auto}
.ag-title b{display:block;font-family:var(--f-display);font-size:18px;text-transform:uppercase;letter-spacing:.02em}
.ag-title small{display:block;font-size:11.5px}
.ag-settings{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--muted)}
.ag-settings label{display:flex;align-items:center;gap:6px}
.ag-num{display:inline-flex;align-items:center;gap:3px}
.ag-settings input,.ag-settings select{width:52px;padding:4px 6px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--fg);font:inherit;font-family:var(--f-mono)}
.ag-settings select{width:auto}
.ag-tools{display:flex;gap:6px;flex-wrap:wrap}
.tool-chip{border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:999px;padding:5px 11px;font-size:12px;font-weight:600;cursor:pointer;text-align:left}
.tool-chip:hover{border-color:var(--pitch);color:var(--pitch)}
.ag-set-btn{display:none}
.tool-chip .count{font-family:var(--f-mono);color:var(--pitch)}
.ag-body{display:grid;grid-template-columns:minmax(0,1fr);min-height:0}
.ag.with-side .ag-body{grid-template-columns:minmax(0,1fr) 290px}
.ag-main{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0}
.ag-thread{overflow-y:auto;overscroll-behavior:contain;padding:18px 16px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth}
.ag-msg{display:flex;gap:8px;align-items:flex-start;max-width:100%}
.ag-msg.me{justify-content:flex-end}
.ag-bub{min-width:0;max-width:min(680px,88%);padding:10px 13px;border-radius:14px;line-height:1.5;font-size:14px;overflow-wrap:anywhere}
.ag-msg.me .ag-bub{background:var(--pitch);color:var(--on-pitch);border-bottom-right-radius:4px}
.ag-msg.bot .ag-bub{background:var(--surface-2);border:1px solid var(--line);border-top-left-radius:4px}
.ag-msg.bot .ag-bub:has(.ag-grid){max-width:100%;flex:1}
.ag-msg.err .ag-bub{border-color:var(--bad)}
.ag-bub p{margin:0 0 6px}.ag-bub p:last-child{margin-bottom:0}
.ag-bub ul{margin:4px 0 8px;padding-left:18px}
.ag-img{display:inline-block;font-weight:700}
.ag-srcs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:9px;padding-top:8px;border-top:1px dashed var(--line)}
.ag-src{font-size:11.5px;padding:2px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);color:var(--fg);text-decoration:none}
a.ag-src:hover{border-color:var(--pitch);color:var(--pitch)}
.ag-typing{display:flex;align-items:center;gap:5px}
.ag-typing i{width:7px;height:7px;border-radius:50%;background:var(--pitch);opacity:.35;animation:agdot 1.2s infinite}
.ag-typing i:nth-child(2){animation-delay:.15s}.ag-typing i:nth-child(3){animation-delay:.3s}
.ag-typing small{margin-left:6px;color:var(--muted)}
@keyframes agdot{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.ag-typing i{animation:none;opacity:.7}.ag-thread{scroll-behavior:auto}}
.ag-hello{margin:auto;max-width:560px;text-align:center;display:grid;gap:10px;justify-items:center;padding:20px 6px}
.ag-hello h3{font-family:var(--f-display);font-size:24px;text-transform:uppercase;margin:0}
.ag-hello p{margin:0;color:var(--muted);line-height:1.55}
.ai-sym.big{width:46px;height:46px;font-size:24px;border-radius:12px}
.ag-sugg{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin-top:6px}
.ag-compose{border-top:1px solid var(--line);padding:10px 12px 8px;background:var(--surface)}
.ag-row{display:flex;align-items:flex-end;gap:8px}
.ag-row textarea{flex:1;resize:none;min-height:42px;max-height:160px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2);color:var(--fg);font:inherit;font-size:14.5px;line-height:1.4}
.ag-row textarea:focus{outline:2px solid var(--pitch);outline-offset:-1px}
.ag-file,.ag-send{flex:none;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;cursor:pointer;border:1px solid var(--line);background:var(--surface-2);color:var(--fg)}
.ag-file:hover{color:var(--pitch);border-color:var(--pitch)}
.ag-send{background:var(--pitch);border-color:var(--pitch);color:var(--on-pitch)}
.ag-legal{margin:6px 2px 0;font-size:11px}
.ag-attach[hidden]{display:none}
.ag-attach{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding:6px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.ag-attach img{width:54px;height:54px;object-fit:cover;border-radius:7px}
.ag-attach span{flex:1}
/* carte grille / combiné */
.ag-grid{margin-top:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}
.ag-grid-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--line)}
.ag-grid-head b{font-family:var(--f-display);font-size:17px;text-transform:uppercase}
.ag-rows>details{border-bottom:1px solid var(--line)}
.ag-rows summary{list-style:none;display:grid;grid-template-columns:22px minmax(0,1fr) auto 44px;align-items:center;gap:8px;padding:8px 12px;cursor:pointer}
.ag-rows summary::-webkit-details-marker{display:none}
.ag-rows summary:hover{background:var(--surface-2)}
.ag-i{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.ag-teams{display:flex;align-items:center;gap:6px;min-width:0;font-size:13px;font-weight:600}
.ag-teams span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.ag-teams i{font-style:normal;color:var(--muted)}
.ag-cells{display:flex;gap:4px}
.ag-cell{display:grid;justify-items:center;width:40px;padding:3px 0;border-radius:7px;border:1px solid var(--line);font-size:11px;color:var(--muted)}
.ag-cell b{font-size:12.5px;color:var(--fg)}
.ag-cell small{font-family:var(--f-mono);font-size:10px}
.ag-cell.on{background:var(--pitch);border-color:var(--pitch);color:var(--on-pitch)}
.ag-cell.on b{color:var(--on-pitch)}
.ag-cell.sur{background:var(--value);border-color:var(--value)}
.ag-pick{font-family:var(--f-mono);font-weight:700;text-align:center;font-size:13px}
.ag-tags{grid-column:2/-1;display:flex;flex-wrap:wrap;gap:5px}
.ag-tags:empty{display:none}
.ag-why{padding:2px 12px 10px 42px;font-size:12.5px;color:var(--muted);display:grid;gap:4px}
.ag-why p{margin:0}
.ag-why a{color:var(--pitch);font-weight:700;font-size:12px}
.ag-sum{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line)}
.ag-sum>div{background:var(--surface);padding:10px 12px;display:grid;gap:2px}
.ag-sum b{font-size:17px}
.ag-sum small{font-size:11px;color:var(--muted)}
.ag-ladder{display:flex;align-items:flex-end;gap:3px;height:70px;padding:10px 12px 0}
.ag-ladder span{flex:1;display:grid;grid-template-rows:1fr auto;height:100%;min-width:0}
.ag-ladder i{align-self:end;display:block;background:var(--pitch-soft);border-radius:3px 3px 0 0;min-height:2px}
.ag-ladder span.cur i{background:var(--pitch)}
.ag-ladder small{font-size:9px;color:var(--muted);text-align:center;overflow:hidden}
.ag-grid>p.small{margin:6px 12px 10px}
.ag-res{margin:0;padding:8px 12px;background:var(--pitch-soft);font-size:13px}
.ag-grid-foot{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:9px 12px;border-top:1px solid var(--line)}
.ag-combo .ag-rows summary{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 58px}
.ag-leg-bet{display:grid;min-width:0}
.ag-leg-bet b{font-size:13px;overflow:hidden;text-overflow:ellipsis}
.ag-leg-bet small{font-size:11px}
.ag-leg-num{display:grid;justify-items:end}
.ag-leg-num b{font-size:15px}
.ag-leg-num small{font-family:var(--f-mono);font-size:11px;color:var(--muted)}
.ag-combo .ag-tags{grid-column:1/-1}
.ag-combo .ag-why{padding-left:12px}
.ag-leg.won summary{box-shadow:inset 3px 0 0 var(--pitch)}
.ag-leg.lost summary{box-shadow:inset 3px 0 0 var(--bad)}
.ag-combo .simtag{margin:10px 12px 0}
.ag-combo .simtag .btn-ghost{margin-left:auto}
/* panneau mémoire / suivi */
.ag-side{border-left:1px solid var(--line);overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:10px;background:var(--surface-2);min-height:0}
.ag-side[hidden]{display:none}
.ag-side-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.ag-side h4{margin:6px 0 0}
.ag-mem,.ag-hist{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ag-mem li{display:flex;gap:8px;align-items:flex-start;padding:7px 9px;border-radius:9px;background:var(--surface);border:1px solid var(--line);font-size:13px}
.ag-mem li span{flex:1}
.ag-mem-add{display:flex;gap:6px}
.ag-mem-add input{flex:1;min-width:0;padding:6px 9px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg);font:inherit;font-size:13px}
.ag-hist li{display:grid;gap:2px;padding:8px 10px;border-radius:9px;background:var(--surface);border:1px solid var(--line);font-size:13px}
@media (max-width:860px){
  .ag{height:calc(100dvh - 78px - env(safe-area-inset-bottom,0px));min-height:400px;border-radius:0;border-inline:0;scroll-margin-top:0}
  .ag-bar{padding:8px 12px;gap:8px}
  .ag-title{width:100%}
  .ag-tools{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;width:100%;min-width:0}
  .ag-tools .tool-chip{white-space:nowrap;flex:none}
  .ag-set-btn{display:inline-block}
  .ag-settings{order:3;width:100%;display:none}
  .ag.show-set .ag-settings{display:flex}
  .ag-msg.bot>.ai-sym{display:none}
  .ag-thread{padding:14px 10px}
  .ag.with-side .ag-body{grid-template-columns:minmax(0,1fr)}
  .ag-side{position:absolute;inset:auto 0 0 0;max-height:72%;z-index:4;border-left:0;border-top:1px solid var(--line);border-radius:14px 14px 0 0;box-shadow:0 -10px 30px rgba(0,0,0,.18)}
  .ag-bub{max-width:92%}
  .ag-rows summary{grid-template-columns:18px minmax(0,1fr) auto;row-gap:6px}
  .ag-rows summary .ag-pick{display:none}
  .ag-cell{width:36px}
  .ag-why{padding-left:12px}
  .ag-sum{grid-template-columns:1fr}
  .ag-sum>div{grid-template-columns:auto 1fr;align-items:baseline;column-gap:10px}
  .ag-sum>div small{grid-column:1/-1}
  .ag-combo .ag-rows summary{grid-template-columns:minmax(0,1fr) 54px}
  .ag-combo .ag-teams{grid-column:1/-1}
}

.ag-check{margin-top:8px;font-size:12px;padding:5px 9px;border-radius:8px}
.ag-check.ok{color:var(--pitch);background:var(--pitch-soft)}
.ag-check.bad{color:var(--value);background:var(--value-soft)}
.ag-ctx{margin-top:6px;font-size:12px}
.ag-ctx summary{cursor:pointer;color:var(--muted)}
.ag-ctx pre{max-height:320px;overflow:auto;white-space:pre-wrap;font-size:11px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px;margin:6px 0 0}

/* « Mon agent » : entrée de menu mise en avant, page plein écart (sans bandeau ni sous-onglets du Meneur) */
.nav-a-agent{color:var(--hd-accent)!important}
.bn-a-agent svg{color:var(--on-pitch);background:var(--pitch);border-radius:9px;padding:4px;width:30px;height:30px;margin-top:-6px;box-shadow:0 4px 12px rgba(0,0,0,.18)}
.bn-a-agent{color:var(--pitch);font-weight:800}
body[data-tab="agent"] #view-meneur .feedhero,body[data-tab="agent"] #view-meneur .subtabs{display:none}
@media (max-width:1440px){
  .mainnav .nav-a{padding:0 9px;font-size:13px;gap:6px}
  .mainnav .nav-a:not(.nav-a-agent) svg{display:none}
  .help-btn span{display:none}
}
@media (min-width:861px) and (max-width:1100px){
  .brand-word{display:none}
  .mainnav .nav-a{padding:0 7px;font-size:12.5px}
  .mainnav .nav-a-agent svg{display:none}
}

/* Partage d'une réponse de l'agent */
.ag-share{display:inline-flex;align-items:center;gap:6px;margin-top:10px;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:999px;padding:5px 12px;font-size:12.5px;font-weight:700;cursor:pointer}
.ag-share:hover{border-color:var(--pitch);color:var(--pitch)}
.share-sheet{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.55);display:grid;place-items:center;padding:16px}
.share-in{background:var(--surface);color:var(--fg);border-radius:16px;padding:16px;width:min(460px,100%);max-height:92dvh;overflow:auto;display:grid;gap:10px}
.share-head{display:flex;justify-content:space-between;align-items:center}
.share-in img{width:100%;border-radius:10px;border:1px solid var(--line)}
.share-in p{margin:0}
.share-actions{display:flex;flex-wrap:wrap;gap:8px}
.share-actions a{text-decoration:none;display:inline-flex;align-items:center}

/* Journal de bankroll */
.bank-quick{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-2);margin-bottom:16px}
.kind-seg{display:flex;flex-wrap:wrap;gap:6px}
.kind-seg .seg{position:relative}
.kind-seg input{position:absolute;opacity:0;pointer-events:none}
.kind-seg span{display:inline-block;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:13px;font-weight:700;cursor:pointer;color:var(--muted)}
.kind-seg input:focus-visible+span{outline:2px solid var(--pitch);outline-offset:2px}
.kind-seg .gain input:checked+span{background:var(--pitch);border-color:var(--pitch);color:var(--on-pitch)}
.kind-seg .loss input:checked+span{background:var(--bad);border-color:var(--bad);color:#fff}
.kind-seg .deposit input:checked+span,.kind-seg .start input:checked+span,.kind-seg .withdraw input:checked+span{background:var(--fg);border-color:var(--fg);color:var(--surface)}
.bq-row{display:grid;grid-template-columns:150px 160px minmax(0,1fr) auto;gap:10px;align-items:end}
.bq-row label{display:grid;gap:4px;font-size:12px;color:var(--muted);font-weight:600}
.bq-row input{padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--fg);font:inherit;font-size:14px;width:100%}
.bq-eur{display:flex;align-items:center;gap:6px;color:var(--fg)}
.bq-eur input{font-family:var(--f-mono)}
.bank-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
.bank-periods{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 4px}
.bank-periods span{display:grid;gap:2px;padding:8px 14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);min-width:110px}
.jr-sec{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.jr-sec .hist-h{margin-bottom:0}
.jl-inv{fill:none;stroke:var(--muted);stroke-width:2;stroke-dasharray:6 4}
.jm.dep{fill:var(--pitch)}.jm.wd{fill:var(--value)}.jm.won{fill:var(--pitch)}.jm.lost{fill:var(--bad)}.jm.void{fill:var(--muted)}
.lg-line{display:inline-block;width:18px;height:0;border-top:3px solid var(--pitch);vertical-align:middle;margin-right:5px}
.lg-line.inv{border-top:2px dashed var(--muted)}
.mb.pos{fill:var(--pitch)}.mb.neg{fill:var(--bad)}
.mbv{font-weight:700}
.jr-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.jr-table td,.jr-table th{white-space:nowrap}
.jr-table td:nth-child(3){white-space:normal;min-width:160px}
.bank-more{margin-top:22px;border-top:1px solid var(--line);padding-top:12px}
.bank-more>summary{cursor:pointer;font-weight:800;font-family:var(--f-display);text-transform:uppercase;font-size:16px}
@media (max-width:760px){
  .bq-row{grid-template-columns:1fr 1fr}
  .bq-row .bq-note{grid-column:1/-1}
  .bq-row button{grid-column:1/-1}
  .bank-kpis{grid-template-columns:1fr 1fr}
  .bank-periods span{min-width:0;flex:1 1 40%}
}

.j-sa{display:none}
@media (max-width:760px){
  .jr-j,.jr-j tbody{display:block;min-width:0!important;width:100%}
  .jr-j thead{display:none}
  .jr-j tr{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"l a x" "m b x";gap:2px 10px;padding:9px 2px;border-bottom:1px solid var(--line)}
  .jr-j td{border:0!important;padding:0!important;white-space:normal}
  .jr-j .j-l{grid-area:l;font-weight:600;min-width:0}
  .jr-j .j-a{grid-area:a;text-align:right}
  .jr-j .j-b{grid-area:b;text-align:right;font-size:12px;color:var(--muted)}
  .jr-j .j-x{grid-area:x;align-self:center}
  .jr-j .j-d{grid-area:m;font-size:12px;color:var(--muted)}
  .jr-j .j-t{display:none}
  .j-sa{display:inline}
}

/* Accueil : bandeau Ma bankroll */
.bank-strip{display:flex;align-items:center;gap:10px;padding:10px 12px;margin-bottom:12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--fg);text-decoration:none;box-shadow:var(--shadow)}
.bank-strip[hidden]{display:none}
.bank-strip:hover{border-color:var(--pitch)}
.bs-ico{flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:var(--pitch);color:var(--on-pitch);font-weight:800;font-size:17px}
.bs-main{display:grid;min-width:0;flex:1}
.bs-main b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bs-main small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bs-go{flex:none;color:var(--pitch);font-weight:800;font-size:13px}

/* En-tête : ne déborde jamais, quels que soient les boutons (Admin, Ma TV, Installer…) */
.topbar-in{min-width:0}
.mainnav{min-width:0;flex:1 1 auto;justify-content:flex-end;overflow-x:auto;scrollbar-width:none}
.mainnav::-webkit-scrollbar{display:none}
.tools{min-width:0}
@media (max-width:1700px){
  .tools .tool-btn span:not(.theme-dot),.tools .theme-btn span:not(.theme-dot),.tools .install-btn span,.local-slot>* span{display:none}
  .tools .tool-btn,.tools .theme-btn,.local-slot>*{padding:7px 8px}
}
@media (max-width:1500px) and (min-width:861px){
  .user .uname .uhandle{display:none}
}

/* Menu fixé en haut quand on descend */
.topbar{position:sticky;top:0;z-index:30}
html{scroll-padding-top:84px}
.ag{height:min(calc(100dvh - 96px),900px);scroll-margin-top:80px}
@media (max-width:860px){
  html{scroll-padding-top:70px}
  .ag{height:calc(100dvh - 140px - env(safe-area-inset-bottom,0px));scroll-margin-top:62px}
}

.ph-link{margin-left:10px;font-size:12.5px;font-weight:700;color:var(--pitch);text-decoration:none;white-space:nowrap}
.ph-link:hover{text-decoration:underline}
@media (max-width:400px){.topbar .avatar{display:none}}

.ag-settled{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin:10px 12px 0;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);font-size:13.5px}
.ag-settled.won,.ag-settled.cashout{border-color:var(--pitch);background:var(--pitch-soft)}
.ag-settled.lost{border-color:var(--bad)}

.ag-gopts{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;padding:10px 12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.ag-gopts label{display:grid;gap:3px;font-weight:600}
.ag-gopts input,.ag-gopts select{width:70px;padding:5px 7px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--fg);font:inherit;font-family:var(--f-mono)}
.ag-gopts select{width:auto;font-family:inherit}

/* Admin : conversations de l'agent */
.athread{display:grid;gap:10px;padding:4px 0}
.amsg-a{display:grid;gap:5px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);max-width:820px}
.amsg-a.am-user{justify-self:end;background:var(--pitch-soft);border-color:var(--pitch)}
.amsg-a.err{border-color:var(--bad)}
.amsg-b{font-size:14px;line-height:1.5}
.amsg-a .chip{justify-self:start}

/* Cote d'un pari : une ligne, sans encadré */
.oddsline{margin-top:8px;font-size:13px;color:var(--muted)}
.oddsline b{color:var(--fg);font-size:15px}
.oddsline small{font-size:11px}
.oddsline.compact{margin-top:6px;font-size:12px}
.oddsline.compact b{font-size:14px}

/* Bankroll simple : gain, journée, conseil du coach */
.bk-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr);gap:14px;padding:18px;border-radius:16px;background:var(--hero-bg);color:var(--hero-ink);margin-bottom:12px}
.bk-hero .label{color:var(--hero-muted)}
.bk-hero .muted{color:var(--hero-muted)}
.bk-main{display:grid;gap:4px;align-content:center}
.bk-big{font-family:var(--f-mono);font-size:40px;line-height:1.05;font-weight:700}
.bk-hero .bk-big.ok{color:var(--hero-accent)}
.bk-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bk-mini>div{display:grid;gap:3px;align-content:start;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.07)}
.bk-mini b{font-size:20px}
.bk-hero .ok{color:var(--hero-accent)}
.bk-coach{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:14px;border:1px solid var(--pitch);background:var(--pitch-soft);margin-bottom:12px}
.bk-coach>div{flex:1;min-width:0}
.bk-coach p{margin:3px 0 0;font-size:14px;line-height:1.5}
.bk-coach .linkbtn{flex:none;align-self:center}
.bk-day{padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--surface);margin-bottom:14px;display:grid;gap:10px}
.bk-day-head{display:flex;justify-content:space-between;align-items:baseline;font-size:15px}
.bk-day-head .mono{font-size:20px}
.bk-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.bk-list li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:var(--surface-2);font-size:13px}
.bk-l{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bk-actions{display:flex;flex-wrap:wrap;gap:8px}
.bk-actions a{text-decoration:none;display:inline-flex;align-items:center}
.bk-day .bank-quick{margin:0}
.bank-quick[hidden]{display:none}
@media (max-width:760px){
  .bk-hero{grid-template-columns:1fr;padding:16px}
  .bk-big{font-size:34px}
  .bk-mini b{font-size:17px}
  .bk-mini>div{padding:8px 9px}
}

.bk-day,.bk-day>*,.bk-list li{min-width:0}
.bk-day{overflow:hidden}
@media (max-width:760px){
  .bk-mini{gap:6px}
  .bk-mini b{font-size:15px}
  .bk-mini .label{font-size:9.5px}
  .bk-mini small{font-size:11px}
  .bk-list li{flex-wrap:wrap}
  .bk-l{flex-basis:60%}
}

.h-league{color:inherit;text-decoration:none;border-bottom:1px dashed currentColor}
.h-league:hover{color:var(--hero-accent)}
.subtabs-link{align-self:center;margin-left:auto}

/* Face-à-face */
.h2h-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--surface-2);margin:8px 0 6px}
.h2h-bar i{display:block;height:100%}
.h2h-bar .hw{background:var(--pitch)}.h2h-bar .dr{background:var(--muted)}.h2h-bar .aw{background:var(--value)}
.h2h-leg{display:flex;justify-content:space-between;gap:8px;color:var(--muted)}
.h2h-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:6px}
.h2h-col{display:grid;gap:6px;align-content:start}
.h2h-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;padding:6px 8px;border-radius:9px;background:var(--surface-2);color:var(--fg);text-decoration:none;font-size:12.5px}
.h2h-row:hover{outline:1px solid var(--pitch)}
.h2h-t{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.h2h-row .h2h-t:last-child{text-align:right}
@media (max-width:760px){.h2h-cols{grid-template-columns:1fr}}

.st-slot:empty{display:none}
.st-compact td,.st-compact th{padding-block:6px}
.st-slot h3 .ph-link{font-family:var(--f-body);text-transform:none;letter-spacing:0;float:right}

/* Captures jointes à l'agent (plusieurs tickets d'un coup) */
.ag-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;max-width:100%}
.ag-thumb{position:relative;flex:0 0 auto}
.ag-thumb img{width:56px;height:72px;object-fit:cover;border-radius:8px;border:1px solid var(--line);display:block}
.ag-thumb button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;background:var(--surface);border:1px solid var(--line);font-size:12px;line-height:1;text-decoration:none}
.ag-attach{flex-wrap:wrap}
.ag-thumbs{min-width:0}
.ag-attach>.small{flex:1 1 100%}

/* Face-à-face : moyennes de buts et seuils */
.h2h-goals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:12px 0 8px}
.h2h-goals>div{display:flex;flex-direction:column;gap:2px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);min-width:0}
.h2h-goals .label{overflow-wrap:anywhere;line-height:1.25}
.h2h-goals b{font-size:20px}
.h2h-ou{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.h2h-ou span{padding:4px 10px;border-radius:999px;background:var(--surface-2);border:1px solid var(--line)}

/* Menu principal : quand la place manque, il défile au lieu de cacher « Les matchs » sous le logo */
.mainnav{justify-content:flex-start}
.mainnav>.nav-a:first-child{margin-left:auto}
/* Téléphone : « Plus » (Actu, Clubs, Mon espace, Comprendre) */
.bn-more{position:relative;display:grid}
.bn-more>summary{list-style:none;cursor:pointer}
.bn-more>summary::-webkit-details-marker{display:none}
.bn-more[open]>summary{color:var(--pitch);background:var(--pitch-soft)}
.bn-sheet{position:absolute;right:4px;bottom:calc(100% + 10px);min-width:200px;display:grid;gap:2px;padding:6px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:0 12px 32px rgba(0,0,0,.28)}
.bn-m{display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:10px;color:var(--fg);text-decoration:none;font-weight:700;font-size:14px}
.bn-m:hover,.bn-m[aria-current="page"]{background:var(--pitch-soft);color:var(--pitch)}

/* Case « Chez le bookmaker » : solde réel renseigné ou corrigé à la main */
.bk-real .bk-real-btn{justify-self:start;margin-top:4px;font-size:12.5px}
.bk-real-form{display:flex;gap:6px;margin-top:6px}
.bk-real-form input{flex:1;min-width:0;padding:7px 9px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:var(--fg);font:inherit;font-size:14px}
.bk-real-form .bet-err{flex-basis:100%}
.bk-real-form{flex-wrap:wrap}

/* En-tête : boutons outils en icônes seules (titre au survol), pour que les 7 rubriques tiennent toujours */
.tools .tool-btn span:not(.theme-dot),.tools .theme-btn span:not(.theme-dot),.tools .install-btn span,.local-slot>* span{display:none}
.tools .tool-btn,.tools .theme-btn,.local-slot>*{padding:7px 8px}
@media (max-width:1900px) and (min-width:861px){.user .uname .uhandle{display:none}}

/* Journal : type d'une opération modifiable (dépôt ↔ retrait, gain ↔ perte) */
.j-kind{font:inherit;font-size:12px;font-weight:700;padding:3px 6px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--fg);cursor:pointer}
.j-kind.ok{color:var(--pitch);border-color:var(--pitch)}
.j-kind.no{color:var(--bad);border-color:var(--bad)}
.bq-added{margin:6px 0 0}

/* ================= Mon suivi (Bankroll) : 4 repères, Tickets, Mouvements, Réglages ================= */
body[data-tab="bank"] .leaguebar{display:none}
.bk2{display:grid;gap:16px;min-width:0}
.bk2 h2{font-family:var(--f-display);font-size:30px;line-height:1.1;text-transform:uppercase;margin:4px 0 2px}
.bk2 h3{font-size:16px;margin:0}
.bk2 .label{font-size:12px;color:var(--muted);font-weight:600}
.bk2-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap}
.bk2-actions{display:flex;gap:8px;flex-wrap:wrap}
.bk2-actions>*{min-height:42px}
.bk2-tabs{display:flex;gap:4px 26px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.bk2-tabs::-webkit-scrollbar{display:none}
.bk2-tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 0 11px;color:var(--muted);font:inherit;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;min-height:44px}
.bk2-tabs button[aria-selected="true"]{color:var(--fg);border-bottom-color:var(--pitch)}
.bk2-pane{display:grid;gap:16px;min-width:0}
.bk2-numbers{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:12px}
.bk2-num{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:0}
.bk2-num.main{background:var(--pitch-soft);border-color:var(--pitch)}
.bk2-num b{font-size:28px;line-height:1.15;letter-spacing:-.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.bk2-num small{font-size:12px;line-height:1.35}
.bk2-num .linkbtn{align-self:flex-start;font-size:12.5px;min-height:28px;padding:0}
.bk2-card{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:16px;display:grid;gap:10px;min-width:0}
.bk2-sechead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px 14px;flex-wrap:wrap}
.bk2-sechead p{margin:3px 0 0}
.bk2-ctrls{display:flex;gap:8px;flex-wrap:wrap}
.bk2-seg{display:inline-flex;padding:3px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}
.bk2-seg button{background:none;border:0;border-radius:6px;padding:6px 10px;min-height:34px;font:inherit;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer}
.bk2-seg button[aria-pressed="true"]{background:var(--surface);color:var(--fg);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.bk2-metric{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.bk2-metric b{font-size:26px;font-variant-numeric:tabular-nums}
.bk2-readout{margin:0;padding-top:8px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.cg.rc{touch-action:pan-y;cursor:crosshair}
.rc-guide{stroke:var(--muted);stroke-dasharray:3 3}
.rc-dot,.rc-end{fill:var(--pitch);stroke:var(--surface);stroke-width:2}
.bk2-explain{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:12px 16px}
.bk2-explain summary{cursor:pointer;font-weight:700;color:var(--muted);min-height:28px}
.bk2-explain p{font-size:13px;margin:10px 0 0;line-height:1.55}
.bk2-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.bk2-totals>div{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);min-width:0}
.bk2-totals b{font-size:20px;font-variant-numeric:tabular-nums}
.bk2-pills{display:flex;gap:8px;flex-wrap:wrap}
.bk2-pill{border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:8px;padding:8px 12px;min-height:40px;font:inherit;font-size:13px;cursor:pointer}
.bk2-pill[aria-pressed="true"]{background:var(--pitch-soft);border-color:var(--pitch);color:var(--pitch);font-weight:700}
.tk-table{width:100%;border-collapse:collapse;font-size:13.5px;table-layout:fixed}
.tk-table th{font-size:11.5px;font-weight:600;color:var(--muted);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.tk-table th:first-child{width:52%}
.tk-table td{padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere}
.tk-table th:first-child,.tk-table td:first-child{padding-left:0}
.tk-table th:last-child,.tk-table td:last-child{padding-right:0}
.tk-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tk-table td small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.tk-table tbody tr[data-tk]{cursor:pointer}
.tk-table tbody tr[data-tk]:hover td,.tk-table tbody tr[data-tk]:focus-visible td{background:var(--surface-2)}
.tk-title{font-weight:700}
.tk-st{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--surface-2);color:var(--muted);white-space:nowrap}
.tk-st.won{background:var(--pitch-soft);color:var(--pitch)}
.tk-st.lost{background:color-mix(in srgb,var(--bad) 12%,transparent);color:var(--bad)}
.tk-st.cash{background:var(--value-soft);color:var(--value)}
.tk-st.open{background:var(--surface-2);color:var(--fg);border:1px dashed var(--line)}
.tk-empty{padding:18px 0}
.mv-table th:first-child{width:46%}
.bk2-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}
.bk2-form label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:var(--muted)}
.bk2-form input:not([type=checkbox]):not([type=radio]),.bk2-form select{min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--fg);font:inherit;font-size:15px;min-width:0}
.bk2-form [name=label]{min-width:220px}
.bk2-form [name=stake],.bk2-form [name=ret],.bk2-form [name=amount],.bk2-form [name=odds]{width:110px}
.bk2-form .bk2-check{flex-direction:row;align-items:center;gap:6px;min-height:42px}
.bk2-form .bet-err,.bk2-form-help{flex-basis:100%;margin:0}
.bk2-kind{display:flex;gap:8px;flex-basis:100%;flex-wrap:wrap}
.bk2-kind .seg{flex:1 1 180px;cursor:pointer}
.bk2-kind .seg input{position:absolute;opacity:0;pointer-events:none}
.bk2-kind .seg span{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:2px solid var(--line);border-radius:10px;background:var(--surface);color:var(--fg);font-size:15px;font-weight:800}
.bk2-kind .seg span small{font-size:12px;font-weight:500;color:var(--muted)}
.bk2-kind .seg input:checked+span{border-color:var(--pitch);background:var(--pitch-soft)}
.bk2-kind .seg.withdraw input:checked+span{border-color:var(--value);background:var(--value-soft)}
.bk2-kind .seg input:focus-visible+span{outline:2px solid var(--pitch);outline-offset:2px}
.bk2-drawer{border:1px solid var(--pitch);border-radius:12px;background:var(--surface);padding:16px;display:grid;gap:12px}
.bk2-close{border:1px solid var(--line);background:var(--surface-2);color:var(--fg);border-radius:8px;width:40px;height:40px;font-size:22px;line-height:1;cursor:pointer}
.bk2-list{margin:0;padding-left:18px;display:grid;gap:6px;font-size:13.5px}
.linkbtn.danger{color:var(--bad)}
.bk2 .bk-coach{margin:0}
@media (max-width:980px){.bk2-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){
  .bk2 h2{font-size:26px}
  .bk2-head{align-items:stretch}
  .bk2-head>.bk2-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .bk2-numbers{gap:9px}
  .bk2-num{padding:13px}
  .bk2-num b{font-size:22px}
  .bk2-tabs{gap:0;justify-content:space-between}
  .bk2-tabs button{font-size:13px}
  .bk2-card{padding:13px}
  /* Tickets en cartes compactes */
  .tk-table thead{display:none}
  .tk-table,.tk-table tbody{display:block}
  .tk-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:11px 0;border-bottom:1px solid var(--line)}
  .tk-table td{padding:0!important;border:0}
  .tk-table td:nth-child(1){grid-column:1;grid-row:1 / span 2}
  .tk-table td:nth-child(2){grid-column:2;grid-row:1;justify-self:end}
  .tk-table td:nth-child(3){display:none}
  .tk-table td:nth-child(4){grid-column:2;grid-row:2;font-weight:700}
  .mv-table td:nth-child(2){grid-column:1;grid-row:3;font-size:12px;color:var(--muted)}
  .mv-table td:nth-child(3){display:block;grid-column:2;grid-row:1}
  .mv-table td:nth-child(4){grid-column:2;grid-row:2}
  .bk2-form>label{flex:1 1 140px}
  .bk2-form [name=label]{min-width:0}
  .bk2-form [name=stake],.bk2-form [name=ret],.bk2-form [name=amount],.bk2-form [name=odds]{width:100%}
  .bk2-form>button{flex-basis:100%;min-height:44px}
}
.bk2-card>*,.bk2-pane>*,.bk2>*{min-width:0}
@media (max-width:600px){.tk-table{max-width:100%}.tk-table td:first-child{min-width:0}.tk-table .tk-title{overflow-wrap:anywhere}}
.tk-table .linkbtn{font-family:inherit;font-size:12.5px}
.bk2-card>button,.bk2-card>.linkbtn,.bk2-card>a{justify-self:start}

/* ================= Le direct ================= */
/* Vignette « En direct » : rouge vif, point qui clignote et halo qui respire */
@keyframes liveGlow{0%{box-shadow:0 0 0 0 rgba(239,48,48,.55)}70%{box-shadow:0 0 0 9px rgba(239,48,48,0)}100%{box-shadow:0 0 0 0 rgba(239,48,48,0)}}
@keyframes liveBlink{0%,100%{opacity:1}50%{opacity:.2}}
.h-tag.live{color:#fff;background:#e53030;animation:liveGlow 1.8s ease-out infinite}
.h-tag.live::before{background:#fff;animation:liveBlink 1.1s steps(1,end) infinite}
.m-time .lv{color:#fff;background:#e53030;border-radius:5px;padding:2px 6px;animation:liveGlow 1.8s ease-out infinite}
.m-time .lv::before{content:"";width:6px;height:6px;border-radius:50%;background:#fff;animation:liveBlink 1.1s steps(1,end) infinite}
.m.ph-live{border-color:rgba(229,48,48,.45)}
.live-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:#e53030;color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;animation:liveGlow 1.8s ease-out infinite}
@media (prefers-reduced-motion:reduce){.h-tag.live,.h-tag.live::before,.m-time .lv,.m-time .lv::before,.live-pill{animation:none}}
/* Buteurs sous chaque équipe, dans l'en-tête */
.h-goals{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:2px;font-size:12px;color:var(--hero-muted)}
.h-goals b{color:var(--hero-ink,#fff);font-weight:700}
.h-goals small{opacity:.8}
/* Fil du match */
.lf{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.lf li{display:grid;grid-template-columns:44px 26px minmax(0,1fr);align-items:center;gap:6px;padding:8px 10px;border-radius:9px}
.lf li.lf-a{background:var(--surface-2)}
.lf-min{font-weight:800;color:var(--muted);text-align:right}
.lf-ico{text-align:center;font-size:15px}
.lf-txt{font-size:13.5px;min-width:0;overflow-wrap:anywhere}
.lf li.lf-t-goal,.lf li.lf-t-pen,.lf li.lf-t-own{background:var(--pitch-soft)}
.lf li.lf-t-goal .lf-txt b,.lf li.lf-t-pen .lf-txt b{color:var(--pitch)}
.lf li.lf-t-red .lf-txt b,.lf li.lf-t-red2 .lf-txt b{color:var(--bad)}
.lf li.lf-t-sub .lf-txt,.lf li.lf-t-yellow .lf-txt{color:var(--muted)}
