/* ==========================================================================
   idees.css — extrait de idees.php le 03/08/2026.
   Charge a la place exacte qu'occupait le <style> : ces regles surclassent
   app.css et app-light.css parce qu'elles viennent APRES. Ne pas remonter
   ce <link> plus haut dans le <head>.
   ========================================================================== */
/* Reprise du design des « Stratégies » (mes-strategies.php) : thème sombre + accent vert. */
.app-body{ --bg:var(--bz-bg-soft); --bg-alt:var(--bz-bg-soft2); --surface:var(--bz-surface); --surface-2:var(--bz-bg-soft3);
  --border:rgba(var(--bz-ink-rgb),.09); --hl:var(--bz-blue-vif); background:var(--bz-bg-soft); color:var(--bz-text); }
.app-container{ max-width:1200px; }

.appnav{ display:flex; gap:6px; flex-wrap:wrap; max-width:1200px; margin:0 auto 6px; padding:0 20px; }
.appnav a{ padding:8px 16px; border-radius:20px; font-size:.88rem; font-weight:600; text-decoration:none;
  color:var(--bz-text-2); border:1px solid rgba(var(--bz-ink-rgb),.12); background:rgba(var(--bz-ink-rgb),.03); transition:.15s ease; }
.appnav a:hover{ border-color:rgba(var(--bz-blue-vif-rgb),.4); color:var(--bz-text); }
.appnav a.on{ color:var(--bz-sur-accent); background:var(--hl); border-color:var(--hl); }

.os-greeting .eyebrow{ color:var(--hl); }
.os-greeting h1{ color:var(--bz-text); }
.os-greeting-sub{ color:var(--bz-text-2b); }
.idees-asof{ color:var(--bz-text-3); font-size:.82rem; }

/* Barre de tri + filtres : mêmes surfaces sombres, accent vert */
.idees-toolbar{ background:var(--bz-surface); border:1px solid rgba(var(--bz-ink-rgb),.10); border-radius:16px; padding:14px 16px; }
/* Barre de filtres repliable — bureau : toujours ouverte (bouton masqué) ; mobile : repliée derrière « Filtres ». */
.idees-filters-m{ margin:0 0 12px; }
.idees-filter-toggle{ display:none; }
.idees-filters-m > summary::-webkit-details-marker{ display:none; }
.idees-filters-m > summary::marker{ content:''; }
.idees-filters-m:not([open]) > .idees-toolbar{ display:flex; }
@media (max-width:720px){
  .idees-filter-toggle{ display:flex; align-items:center; justify-content:center; gap:8px; cursor:pointer; list-style:none;
    padding:13px 16px; border-radius:12px; font-weight:700; font-size:.95rem; color:var(--bz-sur-accent); background:var(--hl); border:none; margin:0; }
  .idees-filters-m:not([open]) > .idees-toolbar{ display:none; }
  .idees-filters-m[open] > .idees-filter-toggle{ margin-bottom:10px; }
}
.idees-ctl{ color:var(--bz-text-2b); }
.idees-toolbar select, .idees-ctl select{ background:var(--bz-bg-soft2); border:1px solid rgba(var(--bz-ink-rgb),.14); color:var(--bz-text); border-radius:9px; padding:9px 12px; font:inherit; }
.idees-toolbar select:focus{ outline:none; border-color:var(--hl); }
.idees-check{ color:var(--bz-text-2); }
.idees-lockbtn{ background:rgba(var(--bz-ink-rgb),.03); border:1px solid rgba(var(--bz-ink-rgb),.14); color:var(--bz-text-3); border-radius:20px; padding:8px 14px; cursor:pointer; font:inherit; font-size:.84rem; }
.premium-banner{ background:rgba(var(--bz-blue-vif-rgb),.08); border:1px solid rgba(var(--bz-blue-vif-rgb),.3); color:var(--bz-green-2); border-radius:12px; }

.idees-filters{ display:flex; gap:7px; flex-wrap:wrap; margin:12px 0 16px; }
.idees-chip{ padding:8px 15px; border-radius:20px; font-size:.84rem; font-weight:600; color:var(--bz-text-2);
  border:1px solid rgba(var(--bz-ink-rgb),.14); background:rgba(var(--bz-ink-rgb),.03); text-decoration:none; transition:.15s ease; }
.idees-chip:hover{ border-color:rgba(var(--bz-blue-vif-rgb),.4); color:var(--bz-text); }
.idees-chip.is-active{ color:var(--bz-sur-accent); background:var(--hl); border-color:var(--hl); }

.idees-search{ position:relative; margin:14px 0 8px; }
.idees-search input{ width:100%; box-sizing:border-box; font:inherit; font-size:.95rem; color:var(--bz-text);
  background:var(--bz-surface); border:1px solid rgba(var(--bz-ink-rgb),.14); border-radius:12px; padding:12px 16px; }
.idees-search input:focus{ outline:none; border-color:var(--hl); }
.idees-count{ color:var(--bz-text-2b); font-size:.88rem; }
.idees-count strong{ color:var(--bz-text); }

/* Grille + cartes façon « Stratégies » */
.ms-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:12px 0 30px; }
.idee-card{ border:1px solid rgba(var(--bz-ink-rgb),.10); border-radius:18px; background:linear-gradient(180deg,var(--bz-surface) 0%,var(--bz-surface) 42%,var(--bz-surface) 100%); padding:22px 22px 18px;
  display:flex; flex-direction:column; position:relative; transition:border-color .15s ease, transform .15s ease; }
.idee-card:hover{ border-color:rgba(var(--bz-blue-vif-rgb),.4); transform:translateY(-2px); }
.idee-card.hide{ display:none; }
.ic-head{ display:flex; align-items:flex-start; gap:10px; margin-bottom:6px; padding-right:28px; }
.ic-head h3{ margin:0; font-size:.95rem; color:var(--bz-text); flex:1; line-height:1.3; }
.ic-head h3 a{ color:inherit; text-decoration:none; }
.ic-head h3 a:hover{ color:var(--hl); }
.ic-badge{ padding:3px 10px; border-radius:20px; font-size:.7rem; font-weight:700; white-space:nowrap; }
.ic-badge.sig-high{ background:rgba(var(--bz-blue-vif-rgb),.14); color:var(--bz-blue); border:1px solid rgba(var(--bz-blue-vif-rgb),.35); }
.ic-badge.sig-solid{ background:rgba(var(--bz-blue-vif-rgb),.12); color:var(--bz-blue); border:1px solid rgba(var(--bz-blue-vif-rgb),.35); }
.ic-badge.sig-mid{ background:rgba(var(--bz-ink-rgb),.06); color:var(--bz-text-2); border:1px solid rgba(var(--bz-ink-rgb),.16); }
.ic-badge.sig-low{ background:rgba(var(--bz-amber-vif-rgb),.12); color:var(--bz-amber-2); border:1px solid rgba(var(--bz-amber-vif-rgb),.30); }
.ic-sub{ margin:0 0 12px; font-size:.78rem; color:var(--bz-text-3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
/* Drapeaux circulaires (symboles SVG partagés) — centrés verticalement avec le texte */
.ic-flag{ display:inline-block; width:14px; height:14px; border-radius:50%; clip-path:circle(50%); vertical-align:middle; position:relative; top:-1px;
  margin-right:3px; box-shadow:0 0 0 1px rgba(var(--bz-ink-rgb),.14); flex:0 0 auto; }
.idee-tag .ic-flag{ margin-right:5px; top:0; }
/* Bandeau de 4 KPI (B-Score · Depuis janv. · Cours · Jour) — grands chiffres, unités grisées */
.ic-kpigrid{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgba(var(--bz-ink-rgb),.09); border-radius:12px;
  background:rgba(var(--bz-ink-rgb),.025); margin-bottom:10px; overflow:hidden; }
.ic-kcell{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  padding:14px 3px 12px; border-left:1px solid rgba(var(--bz-ink-rgb),.08); min-width:0; text-align:center; }
.ic-kcell:first-child{ border-left:none; }
.ic-kcell b{ font-family:var(--ff-head); font-size:1.08rem; font-weight:800; color:var(--bz-text); white-space:nowrap; line-height:1; }
.ic-kcell b small{ font-size:.68rem; font-weight:600; color:var(--bz-text-3); }
.ic-kcell b .u{ font-size:.72rem; font-weight:700; color:inherit; opacity:.85; }
.ic-kcell b.up{ color:var(--hl); } .ic-kcell b.down{ color:var(--bz-red); }
.ic-kcell b.st{ color:var(--hl); font-size:.72rem; letter-spacing:1px; }
.ic-kcell span{ font-size:.72rem; color:var(--bz-text-3); }
/* Rangée d'indicateurs sur UNE ligne : icône cerclée verte + libellé au-dessus de la valeur */
.ic-featrow{ display:grid; grid-template-columns:repeat(4,1fr); border:1px solid rgba(var(--bz-ink-rgb),.09); border-radius:12px;
  background:rgba(var(--bz-ink-rgb),.025); margin-bottom:10px; overflow:hidden; }
.ic-feat{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:11px 3px 10px; min-width:0;
  border-left:1px solid rgba(var(--bz-ink-rgb),.08); text-align:center; }
.ic-feat:first-child{ border-left:none; }
.ic-fico{ flex:0 0 auto; width:22px; height:22px; color:var(--hl); }
.ic-fico svg{ width:100%; height:100%; display:block; }
.ic-ftxt{ display:flex; flex-direction:column; align-items:center; gap:1px; min-width:0; max-width:100%; }
.ic-ftxt em{ font-style:normal; font-size:.71rem; color:var(--bz-text-3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.ic-ftxt b{ font-size:.88rem; font-weight:800; color:var(--bz-text); white-space:nowrap; }
.ic-ftxt b.lime{ color:var(--hl); }
/* Mini-graphique avec perfs 1M / 1A (séparateur central) */
.ic-chart{ border:1px solid rgba(var(--bz-ink-rgb),.09); border-radius:12px; background:rgba(var(--bz-ink-rgb),.025); margin-bottom:12px; overflow:hidden; }
.ic-chart-perf{ display:flex; justify-content:center; align-items:center; gap:26px; font-size:.89rem;
  padding:8px 10px; border-bottom:1px solid rgba(var(--bz-ink-rgb),.07); }
.ic-chart-perf em{ font-style:normal; color:var(--bz-text-3); }
.ic-chart-perf b{ font-weight:800; margin-left:7px; }
.ic-chart-perf b.up{ color:var(--hl); } .ic-chart-perf b.down{ color:var(--bz-red); }
.ic-perf-sep{ width:1px; height:14px; background:rgba(var(--bz-ink-rgb),.14); }
.ic-spark{ display:block; width:100%; height:72px; }
@media (max-width:380px){ .ic-ftxt em{ font-size:.66rem; } .ic-ftxt b{ font-size:.82rem; } .ic-fico{ width:20px; height:20px; } }
.idee-tags{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 12px; }
.idee-tag{ display:inline-flex; align-items:center; font-size:.72rem; padding:4px 10px; border-radius:20px; color:var(--bz-text-2);
  background:rgba(var(--bz-ink-rgb),.05); border:1px solid rgba(var(--bz-ink-rgb),.10); text-decoration:none; line-height:1.2; }
.idee-tag:hover{ border-color:rgba(var(--bz-blue-vif-rgb),.4); color:var(--bz-text); }
.ms-foot{ margin-top:auto; }
/* Rangée de boutons côte à côte, toujours sur UNE ligne :
   fiche = contour lime + texte lime ; ajouter = plein lime avec flèche. */
.ic-btnrow{ display:flex; gap:8px; flex-wrap:nowrap; align-items:stretch; }
.ic-btnrow .ms-fiche{ flex:1 1 0; min-width:0; margin-bottom:0; padding:11px 4px; font-size:.76rem; white-space:nowrap;
  overflow:hidden; text-overflow:ellipsis; color:var(--hl); border:1px solid rgba(var(--bz-blue-vif-rgb),.55); background:transparent;
  display:flex; align-items:center; justify-content:center; }
.ic-btnrow .ms-fiche:hover{ background:rgba(var(--bz-blue-vif-rgb),.08); border-color:var(--hl); color:var(--hl); }
.ic-btnrow .ms-add{ flex:1.18 1 0; min-width:0; }
.ic-btnrow .ms-add[open]{ flex-basis:100%; flex-grow:99; }
.ic-btnrow .ms-add-btn{ font-size:.76rem; padding:11px 4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ic-btnrow .ms-add-btn .arr{ margin-left:5px; font-weight:800; }
@media (max-width:720px){
  .ic-btnrow{ gap:6px; }
  .ic-btnrow .ms-fiche, .ic-btnrow .ms-add-btn{ font-size:.72rem; padding:11px 2px; }
  .ic-btnrow .ms-add{ flex:1.35 1 0; }
}
@media (max-width:380px){
  .ic-btnrow .ms-fiche{ font-size:.66rem; }
  .ic-btnrow .ms-add-btn{ font-size:.68rem; }
  .ic-btnrow .ms-add{ flex:1.26 1 0; }
  .ic-btnrow .ms-add-btn .arr{ display:none; } /* très petits écrans : on gagne la place de la flèche */
}
.ms-fiche{ display:flex; align-items:center; justify-content:center; gap:9px; text-align:center; margin-bottom:10px; padding:9px 12px; border-radius:10px; text-decoration:none;
  font-size:.82rem; font-weight:600; color:var(--bz-text-2); border:1px solid rgba(var(--bz-ink-rgb),.14); background:rgba(var(--bz-ink-rgb),.03); transition:.15s ease; }
.ms-fiche:hover{ border-color:rgba(var(--bz-blue-vif-rgb),.4); color:var(--bz-text); }
/* Miniature de fiche (logo + silhouette du cours) dans « Voir la fiche détaillée » */
.msf-mini{ display:flex; align-items:center; gap:7px; flex:none; padding:3px 7px 3px 3px; border-radius:8px;
  background:var(--bz-bg-soft3); border:1px solid rgba(var(--bz-ink-rgb),.08); }
.msf-ava{ position:relative; width:22px; height:22px; border-radius:6px; overflow:hidden; background:var(--bz-surface);
  border:1px solid rgba(var(--bz-ink-rgb),.10); flex:none; }
.msf-ava-mono{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:.7rem; font-weight:800; color:var(--bz-text); }
.msf-ava-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; padding:2px; background:var(--bz-surface); }
.msf-spark{ display:block; width:46px; height:18px; flex:none; }
.msf-lab{ min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ms-fiche:hover .msf-mini{ border-color:rgba(var(--bz-blue-vif-rgb),.35); background:rgba(var(--bz-blue-vif-rgb),.06); }
@media (max-width:720px){ .msf-spark{ display:none; } }
@media (max-width:380px){ .msf-mini{ display:none; } }
.ms-add-btn{ width:100%; box-sizing:border-box; text-align:center; padding:11px 12px; border-radius:11px; cursor:pointer; font:inherit;
  font-size:.9rem; font-weight:700; color:var(--bz-sur-accent); background:var(--hl); border:none; transition:filter .15s ease; list-style:none; }
.ms-add-btn::-webkit-details-marker{ display:none; }
.ms-add-btn:hover{ filter:brightness(1.06); }
.ms-add[open] .ms-add-btn{ background:rgba(var(--bz-blue-vif-rgb),.15); color:var(--hl); }
.ms-add-form{ margin-top:12px; display:flex; flex-direction:column; gap:9px; }
.ms-add-form label{ font-size:.76rem; color:var(--bz-text-2b); display:flex; flex-direction:column; gap:5px; }
.ms-add-form select, .ms-add-form input{ width:100%; box-sizing:border-box; font:inherit; font-size:.9rem; color:var(--bz-text);
  background:var(--bz-bg-soft2); border:1px solid rgba(var(--bz-ink-rgb),.14); border-radius:9px; padding:10px 12px; }
.ms-add-form select:focus, .ms-add-form input:focus{ outline:none; border-color:var(--hl); }
.ms-add-form .go{ padding:11px; border-radius:9px; border:none; cursor:pointer; font:inherit; font-weight:700; color:var(--bz-sur-accent); background:var(--hl); }
.ms-add-form .go:hover{ filter:brightness(1.06); }
.ms-lock{ display:block; text-align:center; padding:11px 12px; border-radius:11px; text-decoration:none;
  font-size:.84rem; font-weight:600; color:var(--bz-text-2b); border:1px dashed rgba(var(--bz-ink-rgb),.18); }
.ms-lock:hover{ border-color:rgba(var(--bz-blue-vif-rgb),.4); color:var(--bz-text); }

.idee-card .fav-star{ position:absolute; top:14px; right:14px; z-index:2; background:none; border:none; cursor:pointer;
  font-size:1.2rem; line-height:1; color:var(--bz-text-3); padding:0; transition:.15s ease; }
.idee-card .fav-star:hover{ color:var(--hl); transform:scale(1.12); }
.idee-card .fav-star.is-fav{ color:var(--hl); }

.idees-more-wrap{ text-align:center; margin:6px 0 0; }
.ms-morebtn{ padding:11px 22px; border-radius:22px; font:inherit; font-size:.9rem; font-weight:600; cursor:pointer;
  color:var(--bz-text-2); border:1px solid rgba(var(--bz-ink-rgb),.16); background:rgba(var(--bz-ink-rgb),.03); transition:.15s ease; }
.ms-morebtn:hover{ border-color:rgba(var(--bz-blue-vif-rgb),.5); color:var(--bz-text); }

@media (max-width:920px){ .ms-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:620px){
  /* minmax(0,…) et non 1fr : une colonne de grille garde pour plancher la
     largeur minimale de son contenu. Ici la carte imposait 354 px alors que
     l'ecran n'en offrait que 296 — la page debordait de 53 px a 320. */
  .ms-grid{ grid-template-columns:minmax(0,1fr); }
  .ms-grid > *{ min-width:0; }
  /* C'est cette ligne qui fixait le plancher : « NVDA.US · Technology ·
     Etats-Unis » en nowrap fait 308 px. La couper a l'ellipse ferait perdre le
     pays ; sur telephone elle passe a la ligne. */
  .ic-sub{ white-space:normal; overflow:visible; text-overflow:clip; }
}


    /* Bascule d'affichage cartes / compact (liste des actions). */
    .idees-viewrow{ display:flex; align-items:center; justify-content:flex-end; gap:12px; margin:2px 0 8px; }
    .view-toggle{ display:inline-flex; gap:2px; background:rgba(var(--bz-ink-rgb),.05); border:1px solid rgba(var(--bz-ink-rgb),.12); border-radius:10px; padding:3px; }
    .view-toggle button{ font:inherit; font-size:.85rem; font-weight:600; color:var(--bz-text-2); background:none; border:0; border-radius:8px; padding:7px 13px; cursor:pointer; display:inline-flex; align-items:center; gap:6px; }
    .view-toggle button.on{ color:var(--bz-sur-accent); background:var(--hl,var(--bz-blue-vif)); }
    .view-toggle button:hover:not(.on){ color:var(--bz-text); }
    /* Mode compact : une seule ligne par action. */
    .ms-grid.compact{ display:flex; flex-direction:column; gap:8px; }
    .ms-grid.compact .idee-card{ flex-direction:row; align-items:center; flex-wrap:wrap; gap:10px 18px; padding:11px 16px; transform:none !important; }
    .ms-grid.compact .idee-card:hover{ transform:none !important; }
    .ms-grid.compact .fav-star{ position:static !important; order:-1; margin:0; }
    .ms-grid.compact .ic-head{ flex:1 1 210px; min-width:0; margin:0; display:flex; align-items:center; gap:8px; }
    .ms-grid.compact .ic-head h3{ font-size:.92rem; margin:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .ms-grid.compact .ic-sub,
    .ms-grid.compact .ic-featrow,
    .ms-grid.compact .ic-chart,
    .ms-grid.compact .idee-tags,
    .ms-grid.compact .ic-firms{ display:none !important; }
    .ms-grid.compact .ic-kpigrid{ display:flex !important; gap:22px; border:0 !important; padding:0 !important; margin:0 !important; background:none !important; flex:2 1 280px; }
    .ms-grid.compact .ic-kpigrid .ic-kcell{ border:0 !important; padding:0 !important; text-align:left; }
    .ms-grid.compact .ms-foot{ margin:0 0 0 auto !important; flex:0 0 auto; border:0 !important; padding:0 !important; }
    /* Boutons d'action : largeur selon le contenu (sinon écrasés/rognés dans la ligne compacte). */
    .ms-grid.compact .ic-btnrow{ flex-wrap:nowrap; gap:8px; overflow:visible; }
    .ms-grid.compact .ic-btnrow .ms-fiche{ flex:0 0 auto; width:auto; min-width:0; padding:9px 13px; font-size:.78rem; overflow:visible; text-overflow:clip; }
    .ms-grid.compact .ic-btnrow .ms-add{ flex:0 0 auto; }
    .ms-grid.compact .ic-btnrow .ms-add-btn{ width:auto; padding:9px 15px; font-size:.78rem; }
    @media(max-width:760px){ .ms-grid.compact .idee-card{ gap:8px 14px; } .ms-grid.compact .ms-foot{ margin-left:0 !important; } }
    /* Sur telephone la rangee de boutons du mode compact ne pouvait ni se
       retrecir (flex:0 0 auto, width:auto) ni passer a la ligne
       (flex-wrap:nowrap) : 342 px imposes dans une carte de 264. Elle prend sa
       propre ligne et les deux boutons la partagent. */
    @media(max-width:620px){
      .ms-grid.compact .ms-foot{ flex:1 1 100%; width:100%; }
      .ms-grid.compact .ic-btnrow .ms-fiche{ flex:1 1 0; overflow:hidden; text-overflow:ellipsis; }
      .ms-grid.compact .ic-btnrow .ms-add{ flex:1.18 1 0; }
      .ms-grid.compact .ic-btnrow .ms-add-btn{ width:100%; }
    }

/* ==========================================================================
   LE PANNEAU D'AJOUT, UNIQUE
   Le formulaire etait rendu DANS chaque carte : 546 Ko sur un document de
   2 031, soit 27 %, pour 274 copies dont seul le ticker changeait. Il n'en
   reste qu'un, ouvert par le bouton de la carte.
   ========================================================================== */
/* Le bouton etait un <summary> dans un <details class="ms-add"> qui portait le
   flex de la rangee. C'est desormais un <button> : il reprend cette place. */
.ic-btnrow .ms-add-btn{ flex:1.18 1 0; min-width:0; }

.ms-add-dlg{ width:min(420px, calc(100vw - 32px)); padding:0; border:0; border-radius:18px;
  background:transparent; color:inherit; }
.ms-add-dlg::backdrop{ background:rgba(var(--bz-ink-rgb),.45); backdrop-filter:blur(2px); }
.ms-add-dlg .ms-add-form{ display:flex; flex-direction:column; gap:14px;
  padding:22px 24px 20px; border-radius:18px; background:var(--bz-surface);
  border:1px solid rgba(var(--bz-ink-rgb),.12); box-shadow:0 24px 60px rgba(var(--bz-ink-rgb),.24); }
.ms-add-tt{ margin:0; font-size:1rem; line-height:1.45; color:var(--bz-text-2); }
.ms-add-tt b{ color:var(--bz-text); }
.ms-add-dlg label{ display:flex; flex-direction:column; gap:6px; font-size:.83rem;
  font-weight:600; color:var(--bz-text-2); }
.ms-add-dlg select, .ms-add-dlg .ic-amt-custom{ width:100%; padding:11px 12px; border-radius:11px;
  border:1px solid rgba(var(--bz-ink-rgb),.18); background:var(--bz-bg-soft2); color:var(--bz-text); font:inherit;
  font-size:.9rem; font-weight:500; }
.ms-add-dlg select:focus, .ms-add-dlg .ic-amt-custom:focus{ outline:2px solid var(--bz-blue-vif); outline-offset:1px; }
.ms-add-actions{ display:flex; gap:10px; margin-top:2px; }
.ms-add-actions .go{ flex:1 1 auto; min-height:44px; }
.ms-add-annuler{ flex:0 0 auto; min-height:44px; padding:0 16px; border-radius:11px; cursor:pointer;
  font:inherit; font-size:.86rem; font-weight:600; color:var(--bz-text-2);
  background:rgba(var(--bz-ink-rgb),.05); border:1px solid rgba(var(--bz-ink-rgb),.14); }
.ms-add-annuler:hover{ background:rgba(var(--bz-ink-rgb),.09); color:var(--bz-text); }
.ms-add-annuler:focus-visible{ outline:2px solid var(--bz-blue-vif); outline-offset:2px; }

/* Le bouton est un <a> : il doit se comporter comme un bouton. */
.ic-btnrow a.ms-add-btn{ display:flex; align-items:center; justify-content:center;
  text-decoration:none; min-height:44px; }
/* CONTRASTE. « Valider l'ajout » ressortait a 4,50 pour 1 — pile au seuil, du
   fait du bleu d'accentuation du site. Deux tons plus sombres passent a 6,0
   sans changer l'identite. */
.ms-add-dlg .go{ background:linear-gradient(135deg,var(--bz-blue),var(--bz-violet)); color:var(--bz-sur-accent); border:0;
  border-radius:11px; cursor:pointer; font:inherit; font-size:.9rem; font-weight:700; }
.ms-add-dlg .go:hover{ filter:brightness(1.06); }
.ms-add-dlg .go:focus-visible{ outline:2px solid var(--bz-blue-vif); outline-offset:2px; }

@media (max-width:640px){
  /* La bascule de vue faisait 36 px. */
  .view-toggle button{ min-height:44px; }
}

@media (max-width:640px){
  /* Les etiquettes de strategie font 24 px : elles sont cliquables, donc ce
     sont des controles autonomes. */
  .idee-tag{ min-height:44px; display:inline-flex; align-items:center; }
  /* LE NOM DE LA VALEUR SUIT LE SEUIL DES LISTES DENSES (24 px, WCAG 2.5.8) et
     non 44 : la page porte 275 cartes, et 20 px de plus sur chacune allongerait
     la liste d'un tiers. Le lien remplit sa propre ligne, ce qui suffit. */
  .idee-card h3 a{ display:inline-block; padding:6px 0; }
}
