/* 30/10 (patron : « ce n'est pas assez design, il faut retravailler le design ») — GROUPES : page d'un groupe + vie des cartes de la liste.
   Charte Sight : nuit, or = action, amandes (l'œil), une couleur par marché (--m), états lisibles (atteint / invalidé / en cours). */
.gx{--m:#f7c948;--ok:#2be3a9;--ko:#ff5c74;--wait:#f7c948;--neu:#8fa0bf}
.gx-hero{--m:#f7c948}.gx-hero.m-forex{--m:#6aa8ff}.gx-hero.m-indices{--m:#b48cff}.gx-hero.m-actions{--m:#2be3a9}.gx-hero.m-crypto{--m:#ff8a5c}.gx-hero.m-matieres{--m:#49d6e8}

/* ---------- bandeau ---------- */
.gx-hero{border-color:color-mix(in srgb,var(--m) 34%,var(--v3-bd))!important;
  background:radial-gradient(60% 140px at 22% 0,color-mix(in srgb,var(--m) 16%,transparent),transparent),var(--v3-p1)!important}
.gx-hero::before{background:linear-gradient(90deg,transparent,var(--m),transparent)!important}
.gx-hero .v3-hero-l{align-items:flex-start}
.gx-retour{flex:none;display:grid;place-items:center;width:46px;height:34px;margin-top:4px;border-radius:50%;color:var(--v3-tx);text-decoration:none!important;
  border:1px solid var(--v3-bd2);background:rgba(5,8,17,.6);transition:border-color .2s,transform .2s}
.gx-retour:hover{border-color:var(--v3-or2);transform:translateX(-2px)}
.gx-retour:focus-visible{outline:2px solid var(--v3-or2);outline-offset:3px}
.gx-med{flex:none;display:grid;place-items:center;filter:drop-shadow(0 14px 28px color-mix(in srgb,var(--m) 40%,transparent))}
.gx-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}
.gx-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:999px;font:700 12px/1.2 system-ui;color:var(--v3-tx);
  border:1px solid var(--v3-bd2);background:rgba(5,8,17,.55)}
.gx-pill.prem{color:#e9d5ff;border-color:rgba(180,140,255,.55);background:rgba(124,77,255,.14)}
.gx-pill.off{color:var(--v3-or3);border-color:rgba(247,201,72,.4)}
.gx-pill.ia{color:#bfe6ff;border-color:rgba(106,168,255,.5);background:rgba(106,168,255,.1)}
.gx-hero .v3-sous{max-width:70ch}
.gx-note-av{margin:6px 0 0;font-size:13px;color:var(--v3-or2)}
.gx-hero .v3-hero-a{align-self:start}
.gx-hero .v3-hero-a form{margin:0}
.gx-hero .v3-hero-a .btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px}
.gx-quit{background:transparent!important;color:var(--v3-mu)!important}
.gx-quit:hover{color:var(--ko)!important;border-color:color-mix(in srgb,var(--ko) 60%,transparent)!important}

/* ---------- segment de période (rapports) ---------- */
.gx-seg{display:flex;flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;padding:5px;border-radius:999px;border:1px solid var(--v3-bd);background:rgba(5,8,17,.7)}
.gx-seg a{padding:8px 16px;border-radius:999px;font:700 13px system-ui;color:var(--v3-mu);text-decoration:none!important;white-space:nowrap}
.gx-seg a:hover{color:var(--v3-tx);background:rgba(247,201,72,.08)}
.gx-seg a.on{color:#1a1200;background:linear-gradient(180deg,#ffe08a,#d4a63a)}
.gx-kpi{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-bottom:18px}

/* ---------- cartes d'analyse ---------- */
.gx-ans{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}
.gx-an{display:flex;flex-direction:column;min-width:0;border-radius:30px / 26px;overflow:hidden;border:1px solid var(--v3-bd);
  background:linear-gradient(180deg,rgba(15,22,40,.95),rgba(7,11,22,.95));transition:border-color .25s,transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s}
.gx-an:hover{border-color:rgba(247,201,72,.5);transform:translateY(-3px);box-shadow:0 22px 40px -28px rgba(247,201,72,.55)}
.gx-an-v{position:relative;display:block;aspect-ratio:16 / 9;overflow:hidden;background:#05080f;border-radius:0 0 50% 50% / 0 0 14px 14px}
.gx-an-v img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.16,1,.3,1)}
.gx-an:hover .gx-an-v img{transform:scale(1.035)}
.gx-an-v:focus-visible{outline:2px solid var(--v3-or2);outline-offset:-4px}
.gx-an-sans{display:grid;place-items:center;height:100%;color:var(--v3-mu)}
.gx-an-play{position:absolute;left:12px;bottom:12px;display:inline-flex;align-items:center;gap:7px;padding:7px 14px 7px 10px;border-radius:999px;
  font:800 12.5px system-ui;color:#1a1200;background:linear-gradient(180deg,#ffe08a,#d4a63a);box-shadow:0 8px 18px -8px rgba(0,0,0,.8)}
.gx-an-play .ic .a{stroke:#1a1200}.gx-an-play .ic .af{fill:#1a1200}
.gx-an-b{display:flex;flex-direction:column;gap:10px;padding:14px 18px 16px}
.gx-an-qui{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px}
.gx-an-qui a{font-weight:800;color:var(--v3-tx);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gx-an-qui time{margin-left:auto;color:var(--v3-mu);font-size:12px;white-space:nowrap}
.gx-an-qui .av{width:28px;height:28px;flex:none}
.gx-ia{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font:800 10.5px/1.3 system-ui;letter-spacing:.02em;color:#bfe6ff;
  background:rgba(106,168,255,.12);border:1px solid rgba(106,168,255,.4);white-space:nowrap}
.gx-ia .ic .a{stroke:#bfe6ff}
.gx-an h3{margin:0!important;font-size:15.5px!important;line-height:1.35;text-wrap:balance}
.gx-an h3 a{color:var(--v3-tx);text-decoration:none}
.gx-an h3 a:hover{color:var(--v3-or3)}
.gx-an-tags{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.gx-sym{padding:4px 10px;border-radius:999px;font:800 12px/1.2 system-ui;font-variant-numeric:tabular-nums;color:var(--v3-or3);background:rgba(247,201,72,.1);border:1px solid rgba(247,201,72,.3)}
.gx-sens{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font:700 12px/1.2 system-ui;color:var(--v3-mu);border:1px solid var(--v3-bd2)}
.gx-sens.up{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent);background:color-mix(in srgb,var(--ok) 9%,transparent)}
.gx-sens.down{color:var(--ko);border-color:color-mix(in srgb,var(--ko) 45%,transparent);background:color-mix(in srgb,var(--ko) 9%,transparent)}
.gx-sens.down .ic{transform:scaleY(-1)}
.gx-sens.up .ic .a{stroke:var(--ok)}.gx-sens.down .ic .a{stroke:var(--ko)}
.gx-iss{--c:var(--neu);display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;padding:4px 10px;border-radius:999px;font:700 12px/1.25 system-ui;
  color:var(--c);border:1px solid color-mix(in srgb,var(--c) 45%,transparent);background:color-mix(in srgb,var(--c) 10%,transparent)}
.gx-iss .ic .a{stroke:var(--c)}.gx-iss .ic .af{fill:var(--c)}
.gx-iss b{font-variant-numeric:tabular-nums;color:var(--v3-tx)}
.gx-iss.ok{--c:var(--ok)}.gx-iss.ko{--c:var(--ko)}.gx-iss.wait{--c:var(--wait)}
.gx-ment{display:flex;align-items:flex-start;gap:6px;margin:0;font-size:11.5px;line-height:1.4;color:var(--v3-mu)}
.gx-ment .ic{flex:none;margin-top:1px}
.gx-ment.big{margin-top:14px;font-size:12.5px}

/* ---------- discussion / membres ---------- */
.gx-disc{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.gx-disc li{display:flex;gap:10px;min-width:0}
.gx-disc li .av{width:32px;height:32px;flex:none}
.gx-disc li>div{min-width:0;flex:1;padding:8px 12px;border-radius:18px 18px 18px 6px;background:rgba(255,255,255,.035);border:1px solid var(--v3-bd)}
.gx-disc li.ia>div{background:rgba(106,168,255,.07);border-color:rgba(106,168,255,.28)}
.gx-disc b{font-size:13px;color:var(--v3-tx);margin-right:6px}
.gx-disc time{float:right;font-size:11.5px;color:var(--v3-mu);margin-left:6px}
.gx-disc p{display:flex;gap:5px;align-items:center;margin:4px 0 0;font-size:13px;line-height:1.45;color:#c9d2e3;overflow-wrap:anywhere}
.gx-disc-a{margin-top:16px}
.gx-disc-a .btn{width:100%;justify-content:center;border-radius:999px}
.gx-calme{margin:0}
.gx-mbs{display:flex;flex-direction:column;gap:4px;max-height:420px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--v3-bd2) transparent}
.gx-mb{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:999px;color:inherit;text-decoration:none!important;transition:background .2s}
.gx-mb:hover{background:rgba(247,201,72,.07)}
.gx-mb .av{width:34px;height:34px;flex:none}
.gx-mb span{display:flex;flex-direction:column;min-width:0}
.gx-mb b{font-size:13.5px;color:var(--v3-tx);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gx-mb small{font-size:11.5px;color:var(--v3-mu)}
.gx-mb.ia small{color:#9cc8ff}

/* ---------- tableau des rapports ---------- */
.gx-tbl{overflow-x:auto;border-radius:24px / 20px;border:1px solid var(--v3-bd)}
.gx-tbl table{width:100%;border-collapse:collapse;font-size:13.5px}
.gx-tbl th{padding:12px 14px;text-align:left;font:800 11.5px system-ui;letter-spacing:.04em;text-transform:uppercase;color:var(--v3-mu);background:rgba(5,8,17,.6)}
.gx-tbl td{padding:12px 14px;border-top:1px solid var(--v3-bd);vertical-align:middle}
.gx-tbl td a{color:var(--v3-tx);font-weight:700;text-decoration:none}
.gx-tbl td a:hover{color:var(--v3-or3)}
.gx-tbl td small{display:block;margin-top:3px;font-size:12px;color:var(--v3-mu)}
.gx-num{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700;color:var(--v3-or3)}
.gx-note{margin:14px 0 0;font-size:12.5px;line-height:1.55;color:var(--v3-mu);max-width:80ch}
.gx-note b{color:var(--v3-tx)}
.gx-renouv summary{list-style:none;cursor:pointer;margin:16px}
.gx-renouv form{padding:0 20px 20px}

/* ---------- liste des groupes : la vie de chaque groupe ---------- */
.gx-vie{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.gx-vie span{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font:600 11.5px/1.3 system-ui;color:var(--v3-mu);border:1px solid var(--v3-bd)}
.gx-vie b{color:var(--v3-tx);font-variant-numeric:tabular-nums}
.gx-vie .gx-vie-ia{color:#bfe6ff;border-color:rgba(106,168,255,.45);background:rgba(106,168,255,.1);font-weight:800}
.gx-vie .gx-vie-ia .ic .a{stroke:#bfe6ff}

::selection{background:rgba(247,201,72,.35)}

/* ---------- clair ---------- */
:root[data-theme=light] .gx{--ok:#0b8a64;--ko:#c81e3c;--wait:#8a6200;--neu:#56627a}
:root[data-theme=light] .gx-hero{background:radial-gradient(60% 140px at 22% 0,color-mix(in srgb,var(--m) 14%,transparent),transparent),#fff!important}
:root[data-theme=light] .gx-retour,:root[data-theme=light] .gx-pill,:root[data-theme=light] .gx-seg{background:#fff;border-color:var(--v3-bd2)}
:root[data-theme=light] .gx-pill.ia,:root[data-theme=light] .gx-ia,:root[data-theme=light] .gx-vie .gx-vie-ia{color:#1f5fc4;background:#eaf2ff;border-color:#9cc0f5}
:root[data-theme=light] .gx-ia .ic .a,:root[data-theme=light] .gx-vie .gx-vie-ia .ic .a{stroke:#1f5fc4}
:root[data-theme=light] .gx-pill.prem{color:#6b3fd0;background:#f3edff}
:root[data-theme=light] .gx-an{background:#fff;border-color:var(--v3-bd)}
:root[data-theme=light] .gx-sym{color:#6b4800;background:#fff7dd;border-color:#ead08a}
:root[data-theme=light] .gx-disc li>div{background:#f6f8fb}
:root[data-theme=light] .gx-disc li.ia>div{background:#eef5ff;border-color:#c5dafa}
:root[data-theme=light] .gx-disc p{color:#334155}
:root[data-theme=light] .gx-mb.ia small{color:#1f5fc4}
:root[data-theme=light] .gx-tbl th{background:#f3f6fa}
:root[data-theme=light] .gx-num{color:#6b4800}

/* ---------- mobile ---------- */
@media (max-width:720px){
  .gx-hero .v3-hero-l{flex-wrap:wrap}
  .gx-med svg{width:68px;height:auto}
  .gx-hero .v3-hero-a{justify-content:flex-start}
  .gx-hero .v3-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .gx-seg{width:100%}.gx-seg a{flex:1 1 auto;text-align:center;padding:8px 10px}
  .gx-tbl{border:0;border-radius:0}
  .gx-tbl thead{display:none}
  .gx-tbl tr{display:grid;grid-template-columns:1fr auto;gap:8px 10px;padding:14px;margin-bottom:10px;border:1px solid var(--v3-bd);border-radius:24px / 20px}
  .gx-tbl td{padding:0;border:0}
  .gx-tbl td:first-child{grid-column:1 / -1}
  .gx-tbl td:last-child{grid-column:1 / -1}
}
@media (prefers-reduced-motion:reduce){.gx-an,.gx-an-v img,.gx-retour{transition:none}}
/* bandeau d'un groupe : texte pleine largeur, actions dessous (jamais compressé par les boutons) */
.v3-hero.gx-hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"l" "a" "s"}
.gx-hero .v3-hero-a{justify-content:flex-start;padding-left:calc(46px + 92px + 2 * clamp(14px,1.6vw,24px))}
@media (max-width:720px){.gx-hero .v3-hero-a{padding-left:0}}
.gx-tbl .gx-sens,.gx-tbl .gx-iss{white-space:nowrap}
.gx-tbl td:first-child{min-width:240px}
@media (max-width:460px){.gx-an-qui .gx-ia{font-size:0;gap:0;padding:3px 6px}.gx-an-b{padding:12px 14px 14px}}
