/* ═══════════════════════════════════════════════════════════════════════════════════════════════════════════
   VUE « LEVÉE DE FONDS » (volet Financement, 3ᵉ onglet, 2026-09-18) — table de capitalisation, tour à l'étude, sortie.
   Grammaire de la vue LBO (lbo.css : .lbo-root, .lbo, .lbo-top, .lbo-kpis, .lbo-card, .lbo-fin, .lbo-grp…), réutilisée
   telle quelle ; ce qui est propre à la levée est préfixé ct-.
   Couleurs des catégories d'actionnaires : les sept premières teintes de la palette de référence, dans cet ordre fixe,
   validées en clair et en sombre sur les fonds de l'app (séparation daltonisme ≥ 8,4 entre voisines, lisibilité ≥ 19,
   contraste ≥ 3:1 en sombre ; en clair, trois teintes sous 3:1 : la légende, l'infobulle et la table suppléent).
   ═══════════════════════════════════════════════════════════════════════════════════════════════════════════ */
.ct-root{
  --ct-c1:#3987e5; --ct-c2:#d95926; --ct-c3:#199e70; --ct-c4:#c98500; --ct-c5:#d55181; --ct-c6:#008300; --ct-c7:#9085e9;
  /* Encre des pourcentages posés DANS un segment : sombre ou blanche selon la luminance de la teinte. */
  --ct-i1:#04121a; --ct-i2:#04121a; --ct-i3:#04121a; --ct-i4:#04121a; --ct-i5:#04121a; --ct-i6:#ffffff; --ct-i7:#04121a;
  /* Marches de la cascade. */
  --ct-g-tot:color-mix(in srgb,var(--a-tp) 30%,transparent); --ct-g-pref:var(--ct-c2); --ct-g-part:var(--ct-c5); --ct-g-ord:var(--ct-c1);
  --ct-g-bspce:var(--ct-c3); --ct-g-creance:var(--ct-c4); --ct-g-reste:color-mix(in srgb,var(--a-tp) 22%,transparent);
  --ct-plancher:var(--brand-strong); --ct-plafond:var(--ct-c7);
}
html[data-theme="light"] .ct-root{
  --ct-c1:#2a78d6; --ct-c2:#eb6834; --ct-c3:#1baf7a; --ct-c4:#eda100; --ct-c5:#e87ba4; --ct-c6:#008300; --ct-c7:#4a3aa7;
  --ct-i1:#ffffff; --ct-i2:#1c0d05; --ct-i3:#04121a; --ct-i4:#1c1300; --ct-i5:#1f0612; --ct-i6:#ffffff; --ct-i7:#ffffff;
}
.ct-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* ── Mise en page : les onglets sur toute la largeur, puis la saisie (qui suit l'onglet) à gauche et les résultats à droite,
   chacun son défilement. Sous 1 180 px, une seule colonne : la saisie au-dessus des résultats, toute la vue défile. ── */
.ct-main{display:grid;grid-template-columns:clamp(320px,29%,420px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"tabs tabs" "cfg res";column-gap:18px;min-height:0}
.ct-main>.ct-tabs{grid-area:tabs}
.ct-tabs .lbo-tab>span{white-space:nowrap}
.ct-tab-s{display:none}
@container (max-width:560px){ .ct-tab-l{display:none} .ct-tab-s{display:inline} .ct-tabs .lbo-tab{padding:9px 10px 10px} }
.ct-cfg{grid-area:cfg;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-content:start;min-width:0;padding:12px 4px 72px 0;overflow-x:hidden}
.ct-res{grid-area:res;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-content:start;min-width:0;padding:12px 2px 72px 0;container-type:inline-size}
@container (max-width:1180px){
  .ct-main{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;grid-template-areas:"tabs" "cfg" "res"}
  .ct-cfg{padding:12px 0 0}
  .ct-res{padding:12px 0 0}
}

/* ── En-tête ─────────────────────────────────────────────────────────────────────────────────────────────── */
.ct-ex{display:inline-flex;align-items:center;margin-left:10px;padding:2px 9px;border-radius:99px;font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;vertical-align:3px;
  color:var(--a-amber);background:color-mix(in srgb,var(--a-amber) 12%,transparent);border:1px solid color-mix(in srgb,var(--a-amber) 40%,transparent);cursor:help}
.ct-confirm-bar{display:inline-flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;font-weight:600;padding:4px 5px 4px 12px;border-radius:99px;color:var(--a-tp);
  background:color-mix(in srgb,var(--f-rouge) 8%,transparent);border:1px solid color-mix(in srgb,var(--f-rouge) 35%,transparent)}
.lbo-btn-p.ct-danger{background:color-mix(in srgb,var(--f-rouge) 16%,transparent);border-color:color-mix(in srgb,var(--f-rouge) 60%,transparent)}
.ct-kpis .lbo-kpi-v{font-variant-numeric:normal}
.ct-aide{border-bottom:1px dotted currentColor;cursor:help;text-decoration:none}
.ct-aide:focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px;border-radius:2px}

/* ── Vide ────────────────────────────────────────────────────────────────────────────────────────────────── */
.ct-vide{display:grid;justify-items:center;align-content:start;padding:18px 0 72px}
.ct-vide-carte{width:100%;max-width:660px;border:1px solid var(--a-line);border-radius:16px;padding:26px 28px;display:grid;gap:12px;
  background:radial-gradient(120% 90% at 0% 0%,color-mix(in srgb,var(--brand) 12%,transparent),transparent 62%),color-mix(in srgb,var(--a-tp) 2.5%,transparent)}
.ct-vide-ico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--brand-strong)}
.ct-root .ct-vide-ico .iku-ico{width:22px;height:22px}
.ct-vide-carte h4{font:800 24px/1.2 var(--font-family);letter-spacing:-.02em;margin:0}
.ct-vide-p{margin:0;font-size:13px;color:var(--a-t2);line-height:1.55;max-width:58ch}
.ct-vide-liste{list-style:none;padding:0;margin:2px 0;display:grid;gap:9px}
.ct-vide-liste li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;font-size:12.5px;color:var(--a-t2);line-height:1.5}
.ct-vide-liste b{color:var(--a-tp)}
.ct-root .ct-vide-liste .iku-ico{width:16px;height:16px;color:var(--brand-strong);margin-top:2px}
.ct-vide-cta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.ct-vide-note{display:flex;gap:8px;align-items:flex-start;font-size:11px;line-height:1.5;color:var(--a-mut);margin:2px 0 0}
.ct-root .ct-vide-note .iku-ico{margin-top:2px}

/* ── Saisie : actionnaires, catégories, champs ──────────────────────────────────────────────────────────── */
.ct-act{display:grid;gap:6px;padding-top:9px}
.ct-act-l{display:grid;grid-template-columns:10px minmax(0,1.35fr) minmax(0,1fr) 24px;gap:6px;align-items:center}
.ct-act-sw{width:10px;height:10px;border-radius:50%}
.ct-cls{border:1px solid var(--a-line);border-radius:10px;padding:8px 9px;display:grid;gap:7px;margin-top:9px;background:color-mix(in srgb,var(--a-tp) 1.5%,transparent)}
.ct-cls-h{display:grid;grid-template-columns:minmax(0,1fr) 24px;gap:6px;align-items:center}
.ct-cls.is-ord .ct-cls-h{grid-template-columns:minmax(0,1fr)}
.ct-cls-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px 8px;margin:4px 0 8px}
.ct-cls-note{margin:0;font-size:10.5px;color:var(--a-mut);line-height:1.4}
.ct-f{display:grid;gap:3px;min-width:0;align-content:start}
.ct-f-switch .lbo-switch{margin-top:3px}
.ct-f-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ct-ou{font-size:11px;color:var(--a-mut)}
.ct-suivi{display:grid;grid-template-columns:minmax(0,1fr) 116px 24px;gap:6px;align-items:center;margin-top:6px}
.ct-w-date{max-width:180px}
.ct-methode p{margin:9px 0 0;font-size:11.5px;line-height:1.55;color:var(--a-t2)}
.ct-methode b{color:var(--a-tp)}
/* Bloc, pas flex : en flex, chaque bout de texte et chaque <b> devenaient une colonne. L'icône se pose à gauche, hors du flux. */
.ct-note{display:block;position:relative;margin:8px 0 0;font-size:11.5px;line-height:1.5;color:var(--a-t2);padding:7px 10px 7px 32px;border-radius:9px;
  background:color-mix(in srgb,var(--brand2) 8%,transparent);border:1px solid color-mix(in srgb,var(--brand2) 22%,transparent)}
.ct-note b{color:var(--a-tp)}
.ct-root .ct-note>.iku-ico{position:absolute;left:11px;top:9px;color:var(--brand-strong)}
.ct-note.is-warn{background:color-mix(in srgb,var(--a-amber) 9%,transparent);border-color:color-mix(in srgb,var(--a-amber) 32%,transparent)}
.ct-root .ct-note.is-warn .iku-ico{color:var(--a-amber)}
.ct-note-inline{font-size:11px;color:var(--a-mut);line-height:1.45}

/* ── Historique : une ligne par opération, détail déplié ────────────────────────────────────────────────── */
.ct-ajout{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px}
.ct-ajout-l{font-size:10.5px;color:var(--a-mut);margin-right:2px}
.ct-hist-grid{display:grid;gap:6px}
.ct-hist-h,.ct-tour-l{display:grid;grid-template-columns:26px 128px minmax(96px,1fr) minmax(142px,1fr) 104px 100px 84px 118px 34px;gap:6px;align-items:center}
.ct-hist-h{padding:0 9px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--a-mut)}
.ct-hist-h .n{text-align:right}
.ct-tour{border:1px solid var(--a-line);border-radius:10px;background:color-mix(in srgb,var(--a-tp) 2%,transparent);transition:border-color .15s}
.ct-tour.is-open{border-color:color-mix(in srgb,var(--brand) 42%,transparent);background:color-mix(in srgb,var(--brand) 3%,transparent)}
.ct-tour.has-alert{border-color:color-mix(in srgb,var(--a-amber) 55%,transparent)}
.ct-tour-l{padding:6px 8px}
.ct-cell{display:grid;gap:2px;min-width:0}
.ct-cell-l{display:none;font-size:10px;font-weight:600;color:var(--a-mut)}
.ct-cell.n{justify-items:end;text-align:right}
.ct-cell .lbo-in-u{width:100%}
.ct-ro{font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--a-t2)}
.ct-ro small{display:block;font-size:10px;font-weight:500;color:var(--a-mut)}
.ct-na{color:var(--a-dim)}
.ct-chev{appearance:none;width:26px;height:26px;border-radius:7px;display:grid;place-items:center;border:1px solid transparent;background:transparent;color:var(--a-mut);cursor:pointer;padding:0}
.ct-chev:hover{color:var(--a-tp);border-color:var(--a-line-2)}
.ct-chev:focus-visible{outline:2px solid var(--brand-strong);outline-offset:1px}
.ct-root .ct-chev .iku-ico{width:14px;height:14px;transition:transform .15s}
.ct-tour.is-open .ct-chev .iku-ico{transform:rotate(90deg)}
.ct-c-del{display:flex;justify-content:flex-end}
.ct-confirm{display:inline-flex;flex-direction:column;align-items:flex-end;gap:2px}
.lbo-link.ct-link-mut{color:var(--a-mut)}
.ct-tour-alertes{display:flex;flex-wrap:wrap;gap:6px;padding:0 10px 8px 42px}
.ct-tour-d{padding:0 12px 12px 42px;border-top:1px solid var(--a-line)}
.ct-det-termes{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px 14px;padding-top:10px}
.ct-det-4{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}
.lbo-in-u.is-anchor .lbo-in{border-color:color-mix(in srgb,var(--brand) 75%,transparent);background:color-mix(in srgb,var(--brand) 10%,var(--a-in))}
.ct-lignes{display:grid;gap:5px;margin-top:10px}
.ct-ligne{display:grid;grid-template-columns:minmax(140px,1.5fr) minmax(104px,.8fr) minmax(90px,.7fr) 24px;gap:6px;align-items:center}
.ct-lignes.is-cession .ct-ligne{grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) minmax(90px,.6fr) minmax(90px,.6fr) 24px}
.ct-ligne-h{font-size:10px;text-transform:uppercase;letter-spacing:.05em;font-weight:700;color:var(--a-mut)}
.ct-ligne .n{text-align:right;display:flex;justify-content:flex-end}
.ct-ligne .lbo-in-u{width:100%}
.ct-lignes-pied{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:4px}
.ct-conv{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:4px;font-size:11.5px;color:var(--a-t2)}
.ct-conv li{display:flex;gap:7px;align-items:flex-start}
.ct-root .ct-conv .iku-ico{margin-top:2px;color:var(--brand-strong);flex:none}
.ct-vide-l{margin:4px 2px;font-size:12px;color:var(--a-mut)}
@container (max-width:900px){
  .ct-hist-h{display:none}
  .ct-tour-l{grid-template-columns:26px minmax(0,1fr) minmax(0,1fr) 34px;grid-template-areas:"chev nom nom del" ". date nat ." ". pre prix ." ". mt titres .";row-gap:8px}
  .ct-c-chev{grid-area:chev}.ct-c-date{grid-area:date}.ct-c-nom{grid-area:nom}.ct-c-nat{grid-area:nat}.ct-c-pre{grid-area:pre}.ct-c-prix{grid-area:prix}
  .ct-c-mt{grid-area:mt}.ct-c-titres{grid-area:titres}.ct-c-del{grid-area:del}
  .ct-cell-l{display:block}
  .ct-cell.n{justify-items:start;text-align:left}
  .ct-c-nom .ct-cell-l{display:none}
  .ct-tour-d,.ct-tour-alertes{padding-left:12px}
}
@container (max-width:560px){
  .ct-ligne,.ct-lignes.is-cession .ct-ligne{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 24px}
  .ct-ligne>span:first-child{grid-column:1/-1}
  .ct-lignes.is-cession .ct-ligne>span:nth-child(2){grid-column:1/-1}
  .ct-ligne-h{display:none}
  .ct-ligne .n{justify-content:flex-start}
}

/* ── Répartition, évolution ─────────────────────────────────────────────────────────────────────────────── */
.ct-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 4px}
.ct-chip{appearance:none;border:1px solid var(--a-line-2);background:transparent;color:var(--a-t2);border-radius:99px;padding:4px 10px;font:600 11px/1.2 var(--font-family);cursor:pointer;display:inline-flex;gap:6px;align-items:baseline;white-space:nowrap}
.ct-chip small{font-weight:500;color:var(--a-mut);font-size:10px}
.ct-chip:hover{color:var(--a-tp)}
.ct-chip[aria-checked="true"]{background:color-mix(in srgb,var(--brand) 15%,transparent);border-color:color-mix(in srgb,var(--brand) 55%,transparent);color:var(--a-tp)}
.ct-chip:focus-visible{outline:2px solid var(--brand-strong);outline-offset:1px}
.ct-fin col.ct-c-nom{width:24%}
.ct-fin{min-width:calc(210px + var(--n,6) * 90px)}
/* Téléphone : la colonne des noms se resserre, pour voir deux ou trois colonnes de chiffres à côté (le reste défile dans le cadre). */
@container (max-width:560px){ .ct-fin{min-width:calc(128px + var(--n,6) * 78px)} .ct-fin col.ct-c-nom{width:128px} }
.ct-fin th[scope=row]{white-space:normal}
.ct-fin small.ct-sub,.ct-sub{display:block;font-size:10px;color:var(--a-mut);font-weight:500;white-space:nowrap}
.ct-pp{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%}
.ct-pp>i{width:8px;height:8px;border-radius:50%;flex:none}
.ct-pp>span{display:grid;line-height:1.2;min-width:0}
.ct-pp small{font-size:10px;color:var(--a-mut);font-weight:500}
.ct-rdt .ct-grp-h th{padding-top:6px;padding-bottom:4px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;text-align:center}
.ct-legend{margin-top:2px}
.ct-evo{display:grid;gap:8px;margin:6px 0 2px}
.ct-evo-row{display:grid;grid-template-columns:minmax(120px,200px) minmax(0,1fr);gap:12px;align-items:center}
.ct-evo-l{display:grid;line-height:1.25;min-width:0}
.ct-evo-l b{font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-evo-l small{font-size:10.5px;color:var(--a-mut);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ct-evo-bar{display:flex;gap:2px;height:24px;border-radius:4px;overflow:hidden}
.ct-evo-bar i{background:var(--c);min-width:2px;display:grid;place-items:center;font:700 10.5px/1 var(--font-family);font-style:normal;color:var(--k);white-space:nowrap;overflow:hidden;cursor:default;transition:filter .15s}
.ct-evo-bar i:hover{filter:brightness(1.12)}
.ct-evo-row.is-sim .ct-evo-bar{outline:1.5px dashed color-mix(in srgb,var(--a-tp) 45%,transparent);outline-offset:2px}
.ct-evo-row.is-sim .ct-evo-l b{color:var(--brand-strong)}
.ct-evo-2{margin-top:12px}
@container (max-width:560px){
  .ct-evo-row{grid-template-columns:minmax(0,1fr);gap:4px}
}

/* ── Zone d'accord ───────────────────────────────────────────────────────────────────────────────────────── */
.ct-zone-card[data-level="vert"]{border-color:color-mix(in srgb,var(--f-vert) 40%,transparent)}
.ct-zone-card[data-level="orange"]{border-color:color-mix(in srgb,var(--f-orange) 42%,transparent)}
.ct-zone-card[data-level="rouge"]{border-color:color-mix(in srgb,var(--f-rouge) 45%,transparent)}
.ct-zone-phrase{margin:8px 0 0;font-size:12.5px;line-height:1.55;color:var(--a-t2);max-width:90ch}
.ct-zone{margin:14px 6px 2px}
.ct-zone-track{position:relative;height:28px;border-radius:6px;background:color-mix(in srgb,var(--a-tp) 7%,transparent)}
.ct-zone-ok{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--f-vert) 28%,transparent);border-radius:4px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--f-vert) 70%,transparent)}
.ct-zone-ko{position:absolute;top:0;bottom:0;border-radius:4px;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--f-rouge) 36%,transparent) 0 5px,transparent 5px 10px);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--f-rouge) 60%,transparent)}
.ct-zone-tick{position:absolute;top:-5px;bottom:-5px;width:0;border-left:2.5px solid var(--c);transform:translateX(-1px)}
.ct-zone-tick::after{content:"";position:absolute;left:-9px;right:-9px;top:0;bottom:0}
.ct-zone-tick.is-plancher{--c:var(--ct-plancher)}
.ct-zone-tick.is-plafond{--c:var(--ct-plafond)}
.ct-zone-tick.is-eq{--c:var(--a-tp);border-left-style:dotted}
.ct-zone-tick.is-post{--c:var(--a-mut);border-left-style:dashed;border-left-width:1.5px}
.ct-zone-cur{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:var(--a-tp);box-shadow:0 0 0 2.5px var(--a-bg);transform:translate(-8px,-8px)}
.ct-zone-cur::after{content:"";position:absolute;inset:-6px}
.ct-zone-scale{position:relative;height:16px;margin-top:6px}
.ct-zone-scale span{position:absolute;top:0;transform:translateX(-50%);font-size:10px;color:var(--a-mut);white-space:nowrap;font-variant-numeric:tabular-nums}
.ct-zone-scale span:first-child{transform:none}
.ct-zone-scale span:last-child{transform:translateX(-100%)}
.ct-zone-leg{margin-top:8px}
.ct-zone-leg i.ct-k-ok{background:color-mix(in srgb,var(--f-vert) 45%,transparent)}
.ct-zone-leg i.ct-k-ko{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--f-rouge) 55%,transparent) 0 3px,transparent 3px 6px)}
.ct-zone-leg i.ct-k-plancher{background:var(--ct-plancher)}
.ct-zone-leg i.ct-k-plafond{background:var(--ct-plafond)}
.ct-zone-leg i.ct-k-eq{background:var(--a-tp)}
.ct-zone-leg i.ct-k-post{background:var(--a-mut)}
.ct-zone-leg i.ct-k-cur{border-radius:50%;background:var(--a-tp)}
.lbo-cmp2.ct-cmp4{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:12px}
.lbo-cmp2.ct-cmp3{grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 4px}
.lbo-cmp2 small{display:block;font-size:10px;color:var(--a-mut);margin-top:2px;line-height:1.35}
.ct-anciens{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--a-t2)}
.ct-anciens b{color:var(--a-tp)}
.ct-anciens b.ct-plus{color:var(--a-up)}
.ct-anciens b.ct-moins{color:var(--lbo-neg)}
.ct-comment{margin-top:10px}
.ct-comment summary{cursor:pointer;font-size:11.5px;font-weight:600;color:var(--brand-strong);width:max-content;max-width:100%}
.ct-comment summary:focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px;border-radius:4px}
.ct-comment p{font-size:11.5px;color:var(--a-t2);line-height:1.6;margin:8px 0 0;max-width:100ch}
.ct-comment b{color:var(--a-tp)}
.ct-mini{position:relative;display:inline-flex;justify-content:flex-end;min-width:92px;padding-bottom:6px;
  background:linear-gradient(var(--ct-c1),var(--ct-c1)) left bottom/var(--p,0%) 3px no-repeat,linear-gradient(color-mix(in srgb,var(--a-tp) 12%,transparent),color-mix(in srgb,var(--a-tp) 12%,transparent)) left bottom/100% 3px no-repeat}
.ct-mini::before{content:"";position:absolute;bottom:-2px;left:var(--a,0%);width:2px;height:7px;border-radius:1px;background:var(--a-tp);transform:translateX(-1px);opacity:.75}
@container (max-width:900px){
  .lbo-cmp2.ct-cmp4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container (max-width:560px){
  .lbo-cmp2.ct-cmp3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-zone{margin:12px 2px 2px}
}

/* ── Cascade de sortie : pont horizontal ─────────────────────────────────────────────────────────────────── */
.ct-casc{display:grid;gap:7px;margin:8px 0 12px}
.ct-casc-row{display:grid;grid-template-columns:minmax(150px,230px) minmax(0,1fr) 116px;gap:12px;align-items:center;font-size:11.5px}
.ct-casc-l{color:var(--a-t2);min-width:0;line-height:1.3}
.ct-casc-t{position:relative;height:18px;border-radius:4px;background:color-mix(in srgb,var(--a-tp) 6%,transparent)}
.ct-casc-t i{position:absolute;top:0;bottom:0;background:var(--c);border-radius:4px;min-width:2px;cursor:default}
.ct-casc-v{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.ct-casc-v small{display:block;font-size:10px;color:var(--a-mut);font-weight:500}
.ct-casc-row.is-tot .ct-casc-l{font-weight:700;color:var(--a-tp)}
.ct-courbe path.ct-aire{fill:color-mix(in srgb,var(--c) 62%,transparent);stroke:var(--a-bg);stroke-width:1}
.lbo-root svg.lbo-svg.ct-courbe{max-width:900px}
@container (max-width:560px){
  .ct-casc-row{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}
  .ct-casc-t{grid-column:1/-1;grid-row:2}
  .lbo-root svg.lbo-svg.ct-courbe .g-ax{font-size:12.5px}
  .lbo-root svg.lbo-svg.ct-courbe .g-ret-t{font-size:12.5px}
}

/* ── Solveur « Trouver la meilleure valo » (2026-09-18), en tête de « Simuler un tour » : les exigences à gauche, le résultat à
   droite (la valo, la barre, le bouton qui l'applique) ; dessous, les exigences une à une, le tour à cette valo, le balayage du
   montant. La barre reprend la grammaire de la zone d'accord, plus un trait par exigence et le point recommandé (losange). ── */
.ct-solv{border-color:color-mix(in srgb,var(--brand) 40%,transparent);
  background:radial-gradient(90% 60% at 100% 0%,color-mix(in srgb,var(--brand) 7%,transparent),transparent 70%),color-mix(in srgb,var(--a-tp) 2.5%,transparent)}
.ct-solv[data-etat="vide"]{border-color:color-mix(in srgb,var(--f-rouge) 40%,transparent)}
.ct-solv .lbo-card-t h4{display:inline-flex;align-items:center;gap:7px;font-size:14px}
.ct-root .ct-solv .lbo-card-t h4 .iku-ico{width:16px;height:16px;color:var(--brand-strong)}
.ct-calc{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;color:var(--a-mut)}
.ct-calc i{width:10px;height:10px;border-radius:50%;border:2px solid color-mix(in srgb,var(--brand-strong) 30%,transparent);border-top-color:var(--brand-strong);animation:ct-tourne .8s linear infinite}
@keyframes ct-tourne{to{transform:rotate(360deg)}}
.ct-solv-g{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:14px 20px;align-items:start}
.ct-solv-cibles{border-right:1px solid var(--a-line);padding-right:18px;min-width:0}
.ct-solv-h{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--a-mut)}
.ct-solv-cibles .lbo-fld{padding:7px 0}
.ct-solv-cibles .lbo-seg{justify-self:start}
.ct-solv-teste{margin:0;font-size:11.5px;line-height:1.5;color:var(--a-mut)}
.ct-solv-teste b{color:var(--a-t2)}
.ct-solv-teste.is-ko{color:var(--a-t2);padding-left:10px;border-left:2px solid color-mix(in srgb,var(--a-amber) 70%,transparent)}
.ct-solv-teste.is-ko b{color:var(--a-tp)}
.ct-solv-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}
.ct-solv-chips{margin:2px 0 0}
.ct-chip[aria-pressed="true"]{background:color-mix(in srgb,var(--brand) 15%,transparent);border-color:color-mix(in srgb,var(--brand) 55%,transparent);color:var(--a-tp)}
.ct-chip-sw{width:8px;height:8px;border-radius:50%;align-self:center;flex:none}
.ct-solv-sw{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}
.ct-solv-sw .lbo-switch{margin-top:2px}
.ct-solv-inv{margin:6px 0 0;font-size:11px;line-height:1.5;color:var(--a-mut)}
.ct-solv-inv b{color:var(--a-t2)}
.ct-solv-res{min-width:0;display:grid;gap:8px;align-content:start}
.ct-solv-reco{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}
.ct-solv-l{flex-basis:100%;font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--brand-strong)}
.ct-solv-v{font:800 30px/1.1 var(--font-family);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--a-tp)}
.ct-solv-u{font-size:12px;color:var(--a-t2)}
.ct-solv-reco.is-ko .ct-solv-l{color:var(--lbo-neg)}
.ct-solv-reco.is-ko .ct-solv-v{color:var(--a-t2)}
.ct-solv-p{margin:0;font-size:12px;line-height:1.5;color:var(--a-t2);font-variant-numeric:tabular-nums}
.ct-solv-p b{color:var(--a-tp)}
.ct-solv-phrase{margin:0;font-size:12.5px;line-height:1.55;color:var(--a-t2);max-width:80ch}
.ct-solv-phrase b{color:var(--a-tp)}
.ct-solv-acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:4px}
.lbo-btn-p.ct-solv-go{background:color-mix(in srgb,var(--brand) 26%,transparent);border-color:color-mix(in srgb,var(--brand) 70%,transparent);padding:8px 14px;font-size:12.5px;white-space:normal;text-align:left}
.lbo-btn-p.ct-solv-go:disabled{opacity:1;background:color-mix(in srgb,var(--f-vert) 14%,transparent);border-color:color-mix(in srgb,var(--f-vert) 45%,transparent)}
.ct-solv-lev{border:1px solid color-mix(in srgb,var(--a-amber) 35%,transparent);background:color-mix(in srgb,var(--a-amber) 7%,transparent);border-radius:10px;padding:9px 12px;font-size:12px;line-height:1.5;color:var(--a-t2)}
.ct-solv-lev b{color:var(--a-tp)}
.ct-solv-lev ul{margin:6px 0 4px;padding-left:18px;display:grid;gap:4px}
.ct-solv-lev small{font-size:10.5px;color:var(--a-mut)}
.ct-sbar{margin:8px 6px 0}
.ct-zone-tick.is-exig{--c:color-mix(in srgb,var(--a-tp) 45%,transparent);border-left-width:1.5px;top:-2px;bottom:-2px}
.ct-sbar-reco{position:absolute;top:-9px;bottom:-9px;width:0;border-left:3px solid var(--brand-strong);transform:translateX(-1.5px)}
.ct-sbar-reco::before{content:"";position:absolute;left:-7.5px;top:-6px;width:12px;height:12px;background:var(--brand-strong);transform:rotate(45deg);border-radius:2px;box-shadow:0 0 0 2px var(--a-bg)}
.ct-sbar-reco::after{content:"";position:absolute;left:-10px;right:-10px;top:-8px;bottom:0}
.ct-zone-leg i.ct-k-exig{background:color-mix(in srgb,var(--a-tp) 45%,transparent)}
.ct-zone-leg i.ct-k-reco{width:9px;height:9px;transform:rotate(45deg);border-radius:2px;background:var(--brand-strong)}
.ct-solv-tw{margin-top:12px}
/* Les bornes et les niveaux sont des mots autant que des chiffres (« au moins 41,02 M€ », « fixe le plancher ») : ils passent à la
   ligne dans leur cellule plutôt que de déborder sur la voisine (la table est à colonnes fixes). */
.ct-solv-t td,.ct-solv-t thead th{white-space:normal}
.ct-solv-t tr.ct-liante th,.ct-solv-t tr.ct-liante td{background:color-mix(in srgb,var(--brand) 7%,transparent)}
.ct-solv-t tr.ct-casse th,.ct-solv-t tr.ct-casse td{background:color-mix(in srgb,var(--f-rouge) 8%,transparent)}
.ct-solv-t tr.ct-off th,.ct-solv-t tr.ct-off td{color:var(--a-mut)}
.ct-etat{font-size:11px;font-weight:600}
.ct-solv-t tr.ct-liante .ct-etat{color:var(--brand-strong)}
.ct-solv-t tr.ct-casse .ct-etat{color:var(--lbo-neg)}
.ct-solv-sec{margin-top:14px;padding-top:12px;border-top:1px solid var(--a-line)}
.ct-solv-sec h5{font:700 12.5px/1.3 var(--font-family);margin:0 0 6px}
.ct-solv-sec .ct-solv-phrase{margin-bottom:8px}
.ct-solv-bal tr.ct-ko th,.ct-solv-bal tr.ct-ko td{color:var(--a-mut)}
.ct-solv-bal tr.ct-besoin th,.ct-solv-bal tr.ct-besoin td{background:color-mix(in srgb,var(--brand) 6%,transparent)}
@container (max-width:900px){
  /* Une colonne : la réponse d'abord, les exigences ensuite. */
  .ct-solv-g{grid-template-columns:minmax(0,1fr)}
  .ct-solv-res{order:-1}
  .ct-solv-cibles{border-right:0;padding-right:0;border-top:1px solid var(--a-line);padding-top:8px}
}
@container (max-width:560px){
  .ct-solv-v{font-size:26px}
  .ct-sbar{margin:8px 2px 0}
}

/* ── Largeurs réduites ───────────────────────────────────────────────────────────────────────────────────── */
@container (max-width:560px){
  .ct-cls-g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ct-act-l{grid-template-columns:10px minmax(0,1fr) 24px}
  .ct-act-l>select{grid-column:2/3}
  .ct-vide-carte{padding:20px 18px}
  .ct-vide-carte h4{font-size:20px}
  .ct-confirm-bar{border-radius:12px}
}
@media (prefers-reduced-motion:reduce){
  .ct-root *{transition:none!important}
  .ct-calc i{animation:none}
}
