/* ═══════════════════════════════════════════════════════════════════════════════════════════════════════════
   VUE LBO (volet Financement / Banking, 4ᵉ onglet) — portage des maquettes « LBO dans Streamiku » validées par Arthur
   le 2026-09-14. Toutes les classes sont préfixées lbo- : « card », « alert », « switch »… existent dans Bootstrap.
   Les jetons de la maquette (--a-*) sont rebranchés sur ceux de tokens.css ; les couleurs propres au LBO (tranches,
   feux, apport, valo LBO) sont posées ici, pour le thème sombre puis le clair.
   ═══════════════════════════════════════════════════════════════════════════════════════════════════════════ */
.lbo-root{
  --a-bg:var(--surf-1); --a-pop:var(--surf-pop); --a-tp:var(--color-text-primary); --a-t2:var(--color-text-secondary);
  --a-mut:var(--color-text-muted); --a-dim:var(--color-text-dim); --a-line:var(--color-border-medium); --a-line-2:var(--color-border-bright);
  --a-up:var(--st-green); --a-dn:var(--st-red); --a-amber:var(--st-amber); --a-in:var(--color-bg-input); --a-in-line:var(--color-border-hover);
  --lbo-info:var(--brand3-strong); --lbo-ink:var(--brand-contrast,#03161d); --lbo-code:var(--brand-strong);
  --tr-a:#3987e5; --tr-b:#199e70; --tr-m:#9085e9; --tr-cv:#c98500; --tr-oc:#d55181; --tr-ex:#6f8793; --tr-cash:#56707d;
  --lbo-eq:var(--brand); --lbo:#f2896b; --lbo-strong:#ffab91; --lbo-neg:#ff8f7a;
  --f-vert:#34d399; --f-orange:#fb923c; --f-rouge:#f87171; --f-ink:#04121a;
  --lbo-dcf:var(--valo-dcf,#a28ff6); --lbo-m-a:var(--brand); --lbo-m-b:var(--valo-mult,#4f8fe8); --lbo-m-c:var(--brand2);
  font-family:var(--font-family); color:var(--a-tp); font-size:12px; line-height:1.4; text-align:left; container-type:inline-size;
}
html[data-theme="light"] .lbo-root{
  --tr-a:#2a78d6; --tr-b:#1baf7a; --tr-m:#4a3aa7; --tr-cv:#eda100; --tr-oc:#e87ba4; --tr-ex:#8a9aa2; --tr-cash:#b3c1c8;
  --lbo:#d4552c; --lbo-strong:#b8441f; --lbo-neg:#c4432c; --f-vert:#047857; --f-orange:#c2410c; --f-rouge:#dc2626; --f-ink:#ffffff;
}
.lbo-root *{box-sizing:border-box}
.lbo-root .iku-ico{width:13px;height:13px;flex:none;vertical-align:-2px}
.lbo-root b{font-weight:600}
.lbo-num{font-variant-numeric:tabular-nums}

/* ── Plein écran (2026-09-14) : la synthèse en haut ; dessous, les réglages à gauche et les résultats en onglets à
   droite, chacun avec son propre défilement. Le volet (apop-plein, analyses.css) donne toute la hauteur. ─────────── */
.lbo-root{height:100%}
.lbo{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:14px 22px 0}
.lbo-top{display:grid;gap:10px}
.lbo-main{display:grid;grid-template-columns:clamp(440px,33%,490px) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);grid-template-areas:"cfg tabs" "cfg res";column-gap:18px;min-height:0}
.lbo-pane{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable;padding-bottom:22px}
.lbo-tabs{grid-area:tabs;display:flex;align-items:flex-end;gap:2px;min-width:0;border-bottom:1px solid var(--a-line);overflow-x:auto;scrollbar-width:none}
.lbo-tabs::-webkit-scrollbar{display:none}
.lbo-tab{appearance:none;position:relative;display:inline-flex;align-items:center;gap:7px;padding:9px 13px 10px;border:0;border-radius:8px 8px 0 0;background:transparent;color:var(--a-mut);font:600 12.5px/1.2 var(--font-family);white-space:nowrap;cursor:pointer}
.lbo-tab:hover{color:var(--a-tp);background:color-mix(in srgb,var(--a-tp) 4%,transparent)}
.lbo-tab[aria-selected="true"]{color:var(--a-tp)}
.lbo-tab[aria-selected="true"]::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px 2px 0 0;background:var(--brand)}
.lbo-tab:focus-visible{outline:2px solid var(--brand-strong);outline-offset:-2px}
.lbo-tab .iku-ico{width:14px;height:14px}
.lbo-tab-cfg{display:none}
.lbo-tab-dot{width:7px;height:7px;border-radius:50%;background:var(--f-vert);flex:none}
.lbo-tab-dot[data-level="orange"]{background:var(--f-orange)}
.lbo-tab-dot[data-level="rouge"]{background:var(--f-rouge)}
.lbo-scen-msg{display:flex;align-items:center;gap:8px;margin:0;padding:5px 6px 5px 12px;border-radius:10px;font-size:12px;color:var(--a-t2);background:color-mix(in srgb,var(--brand2) 9%,transparent);border:1px solid color-mix(in srgb,var(--brand2) 32%,transparent)}
.lbo-scen-msg>.iku-ico{color:var(--brand2-strong);flex:none}
.lbo-scen-msg>span{flex:1;min-width:0}

/* ── En-tête : option, actions ─────────────────────────────────────────────────────────────────────────── */
/* Titre au moins 250 px, pour qu'il tienne sur une ligne ; les actions prennent le reste et passent sur deux rangs s'il le faut.
   Depuis le bouton « Demander au copilote » (2026-09-15), leurs 740 px écrasaient le titre sur trois lignes à 1 280 px. */
.lbo-head{display:grid;grid-template-columns:minmax(250px,1fr) auto minmax(0,auto);align-items:center;gap:18px}
.lbo-h{font:700 18px/1.2 var(--font-family);letter-spacing:-.01em;margin:0}
.lbo-sub{font-size:12px;color:var(--a-mut);margin:2px 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lbo-mode{display:inline-flex;padding:3px;border-radius:12px;border:1px solid var(--a-line-2);background:color-mix(in srgb,var(--a-tp) 4%,transparent);gap:3px}
.lbo-mode button{appearance:none;border:0;background:transparent;color:var(--a-t2);font:inherit;text-align:left;padding:7px 14px;border-radius:9px;cursor:pointer;display:grid;gap:1px;min-width:176px}
.lbo-mode b{font-size:13px;font-weight:700}
.lbo-mode small{font-size:10.5px;color:var(--a-mut)}
.lbo-mode button[aria-checked="true"]{background:var(--brand);color:var(--lbo-ink)}
.lbo-mode button[aria-checked="true"] small{color:color-mix(in srgb,var(--lbo-ink) 75%,transparent)}
.lbo-mode button:focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px}
.lbo-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.lbo-btn-p{appearance:none;display:inline-flex;align-items:center;gap:6px;background:color-mix(in srgb,var(--brand) 14%,transparent);border:1px solid color-mix(in srgb,var(--brand) 38%,transparent);color:var(--a-tp);border-radius:99px;padding:6px 12px;font:600 12px/1.2 var(--font-family);white-space:nowrap;cursor:pointer}
.lbo-btn-p:hover{border-color:color-mix(in srgb,var(--brand) 75%,transparent)}
.lbo-btn-p:disabled{opacity:.55;cursor:default}
.lbo-btn-ghost{appearance:none;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--a-line-2);background:transparent;color:var(--a-t2);border-radius:99px;padding:6px 12px;font:600 12px/1.2 var(--font-family);white-space:nowrap;cursor:pointer}
.lbo-btn-ghost:hover{color:var(--a-tp)}
.lbo-link{appearance:none;border:0;background:none;padding:0;color:var(--brand-strong);font:600 11px/1.3 var(--font-family);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.lbo-link:disabled{color:var(--a-dim);text-decoration:none;cursor:default}
.lbo-icon-btn{appearance:none;width:24px;height:24px;border-radius:7px;display:grid;place-items:center;border:1px solid var(--a-line-2);background:transparent;color:var(--a-mut);cursor:pointer;padding:0}
.lbo-icon-btn:hover{color:var(--a-dn);border-color:color-mix(in srgb,var(--a-dn) 55%,transparent)}
.lbo-scen-chip{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--a-t2);padding:5px 10px;border-radius:99px;border:1px dashed var(--a-line-2);white-space:nowrap}
.lbo-scen-chip.is-on{border-style:solid;border-color:color-mix(in srgb,var(--brand2) 60%,transparent);color:var(--a-tp)}
.lbo-scen-chip.is-on .iku-ico{color:var(--brand2-strong)}
.lbo-scen-chip.is-stale{border-style:solid;border-color:color-mix(in srgb,var(--a-amber) 60%,transparent);color:var(--a-tp);background:color-mix(in srgb,var(--a-amber) 9%,transparent)}
.lbo-scen-chip.is-stale .iku-ico{color:var(--a-amber)}

/* ── Chiffres clés, lecture, alertes ────────────────────────────────────────────────────────────────────── */
.lbo-kpis{display:grid;grid-template-columns:1.2fr repeat(4,minmax(0,1fr)) 1.35fr;gap:10px}
.lbo-kpi{padding:9px 12px;border-radius:12px;border:1px solid var(--a-line);background:color-mix(in srgb,var(--a-tp) 3%,transparent);display:grid;gap:2px;align-content:start;min-width:0}
.lbo-kpi-l{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--a-mut)}
.lbo-kpi-v{font-size:21px;font-weight:700;letter-spacing:-.02em;line-height:1.1;white-space:nowrap;font-variant-numeric:tabular-nums}
.lbo-kpi-v small{font-size:12px;font-weight:600;color:var(--a-mut);margin-left:3px;letter-spacing:0}
.lbo-kpi-s{font-size:10.5px;color:var(--a-mut);line-height:1.3}
.lbo-kpi-s b{color:var(--a-t2);font-weight:600}
.lbo-kpi.is-tri{background:linear-gradient(135deg,color-mix(in srgb,var(--brand) 14%,transparent),color-mix(in srgb,var(--brand) 3%,transparent));border-color:color-mix(in srgb,var(--brand) 34%,transparent)}
.lbo-kpi.is-tri .lbo-kpi-v{font-size:26px;color:var(--brand-strong)}
.lbo-kpi.is-sup{grid-template-columns:auto minmax(0,1fr);column-gap:10px;align-items:center}
.lbo-kpi.is-sup .lbo-kpi-l,.lbo-kpi.is-sup .lbo-kpi-s{grid-column:1/-1}
.lbo-kpi.is-sup .lbo-kpi-v{font-size:15px;white-space:normal;line-height:1.2}
.lbo-kpi.is-sup[data-level="vert"]{border-color:color-mix(in srgb,var(--f-vert) 45%,transparent);background:color-mix(in srgb,var(--f-vert) 7%,transparent)}
.lbo-kpi.is-sup[data-level="orange"]{border-color:color-mix(in srgb,var(--f-orange) 45%,transparent);background:color-mix(in srgb,var(--f-orange) 7%,transparent)}
.lbo-kpi.is-sup[data-level="rouge"]{border-color:color-mix(in srgb,var(--f-rouge) 50%,transparent);background:color-mix(in srgb,var(--f-rouge) 8%,transparent)}
.lbo-tgt{display:inline-flex;align-items:center;padding:1px 7px;border-radius:99px;border:1px solid var(--a-line-2);font-size:10.5px;color:var(--a-t2);white-space:nowrap;margin-right:6px}
.lbo-st-below{color:var(--a-amber);font-weight:700}
.lbo-st-in{color:var(--a-up);font-weight:700}
.lbo-feu{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:5px;flex:none;color:var(--f-ink)}
.lbo-feu .iku-ico{width:11px;height:11px}
.lbo-feu[data-level="vert"]{background:var(--f-vert)}
.lbo-feu[data-level="orange"]{background:var(--f-orange)}
.lbo-feu[data-level="rouge"]{background:var(--f-rouge)}
.lbo-feu.lg{width:34px;height:34px;border-radius:9px}
.lbo-feu.lg .iku-ico{width:18px;height:18px}
.lbo-read{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px;padding:8px 14px;border-radius:12px;border:1px solid var(--a-line);background:color-mix(in srgb,var(--a-tp) 2%,transparent);font-size:12.5px;line-height:1.5;color:var(--a-t2)}
.lbo-read b{color:var(--a-tp)}
.lbo-read>.iku-ico{width:15px;height:15px;color:var(--brand-strong);margin-top:2px}
.lbo-alerts{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.lbo-alert{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:7px}
.lbo-alert.bad{color:var(--a-dn);background:color-mix(in srgb,var(--a-dn) 13%,transparent)}
.lbo-alert.warn{color:var(--a-amber);background:color-mix(in srgb,var(--a-amber) 13%,transparent)}

/* ── Configuration ──────────────────────────────────────────────────────────────────────────────────────── */
/* Sur grand écran, les réglages défilent seuls dans la colonne de gauche, sous le bouton du copilote : réserve de fin de défilement
   (2026-09-15). Sous 1 180 px, la règle des largeurs réduites reprend le padding et la réserve passe sur .lbo. */
.lbo-cfg{grid-area:cfg;display:grid;grid-template-columns:minmax(0,1fr);gap:8px;align-content:start;min-width:0;padding-right:4px;padding-bottom:72px;overflow-x:hidden}
.lbo-grp{border:1px solid var(--a-line);border-radius:12px;background:color-mix(in srgb,var(--a-tp) 2.5%,transparent)}
.lbo-grp>summary{list-style:none;display:flex;align-items:center;gap:10px;padding:10px 12px;cursor:pointer}
.lbo-grp>summary::-webkit-details-marker{display:none}
.lbo-grp>summary:focus-visible{outline:2px solid var(--brand-strong);outline-offset:-2px;border-radius:12px}
.lbo-grp-t{font-size:12.5px;font-weight:700;white-space:nowrap}
.lbo-grp-s{margin-left:auto;font-size:11px;color:var(--a-mut);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.lbo-grp .lbo-chev{color:var(--a-mut);transition:transform .15s}
.lbo-grp[open] .lbo-chev{transform:rotate(180deg)}
.lbo-grp-b{padding:0 12px 12px;display:grid;border-top:1px solid var(--a-line)}
.lbo-fld{display:grid;gap:5px;padding:9px 0}
.lbo-fld+.lbo-fld{border-top:.5px solid color-mix(in srgb,var(--a-tp) 8%,transparent)}
.lbo-fld-l{font-size:11.5px;font-weight:600;color:var(--a-tp);display:block}
.lbo-fld-l small{display:block;font-size:10.5px;font-weight:500;color:var(--a-mut);margin-top:1px}
.lbo-fld-c{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lbo-fld-h{font-size:10.5px;color:var(--a-mut);font-variant-numeric:tabular-nums;display:flex;flex-wrap:wrap;gap:3px 10px;align-items:center}
.lbo-fld-h b{color:var(--a-t2);font-weight:600}
.lbo-fld-row{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lbo-fld-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lbo-na{opacity:.45}
.lbo-na-note{font-size:10.5px;color:var(--a-mut);font-style:italic;margin:6px 0 0}
.lbo-root .lbo-in{appearance:none;font:600 12px/1.2 var(--font-family);font-variant-numeric:tabular-nums;color:var(--a-tp);background:var(--a-in);border:1px solid var(--a-in-line);border-radius:7px;padding:5px 7px;min-width:0;width:100%}
.lbo-root .lbo-in:focus{outline:none;border-color:var(--brand-strong);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 30%,transparent)}
.lbo-root .lbo-in:disabled{opacity:.5;cursor:not-allowed}
.lbo-root select.lbo-in{padding-right:22px;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--a-mut) 50%),linear-gradient(135deg,var(--a-mut) 50%,transparent 50%);background-position:calc(100% - 11px) 52%,calc(100% - 7px) 52%;background-size:4px 4px;background-repeat:no-repeat}
select.lbo-in option{background:var(--a-pop);color:var(--a-tp)}
.lbo-in-u{display:inline-flex;align-items:center;position:relative;min-width:0}
.lbo-in-u .lbo-in{text-align:right;padding-right:30px}
.lbo-in-u.u-long .lbo-in{padding-right:52px}
.lbo-in-u i{position:absolute;right:7px;font-style:normal;font-size:10px;color:var(--a-mut);pointer-events:none;white-space:nowrap}
.lbo-w-num{width:96px}.lbo-w-sm{width:76px}
.lbo-seg{display:inline-flex;background:color-mix(in srgb,var(--a-tp) 4%,transparent);border:.5px solid color-mix(in srgb,var(--a-tp) 14%,transparent);border-radius:8px;padding:2px;gap:2px;flex-wrap:wrap}
.lbo-seg button{appearance:none;border:0;background:transparent;display:inline-flex;align-items:center;padding:4px 9px;font:600 11px/1.2 var(--font-family);color:color-mix(in srgb,var(--a-tp) 62%,transparent);border-radius:6px;cursor:pointer;white-space:nowrap}
.lbo-seg button[aria-checked="true"],.lbo-seg button[aria-selected="true"]{background:color-mix(in srgb,var(--lbo-info) 22%,transparent);color:var(--lbo-info)}
.lbo-seg button:focus-visible{outline:2px solid var(--brand-strong);outline-offset:1px}
.lbo-seg button:disabled{cursor:not-allowed}
.lbo-switch{appearance:none;position:relative;display:inline-block;width:32px;height:18px;flex:none;border:0;padding:0;border-radius:99px;background:color-mix(in srgb,var(--a-tp) 22%,transparent);cursor:pointer;transition:background .15s}
.lbo-switch::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.lbo-switch[aria-checked="true"]{background:var(--brand)}
.lbo-switch[aria-checked="true"]::after{transform:translateX(14px)}
.lbo-switch:focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px}
.lbo-switch:disabled{cursor:not-allowed;opacity:.6}
.lbo-price{display:grid;grid-template-columns:minmax(0,1fr) 104px;gap:10px;align-items:center}
.lbo-root input[type=range].lbo-rng{-webkit-appearance:none;appearance:none;width:100%;min-width:120px;height:18px;background:transparent;margin:0;cursor:pointer;border:0;padding:0}
.lbo-root input[type=range].lbo-rng::-webkit-slider-runnable-track{height:4px;border-radius:3px;background:linear-gradient(90deg,var(--brand) var(--p,50%),color-mix(in srgb,var(--a-tp) 16%,transparent) var(--p,50%))}
.lbo-root input[type=range].lbo-rng::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;margin-top:-5.5px;border-radius:50%;background:#fff;border:2px solid var(--brand);box-shadow:0 1px 3px rgba(0,0,0,.35)}
.lbo-root input[type=range].lbo-rng::-moz-range-track{height:4px;border-radius:3px;background:color-mix(in srgb,var(--a-tp) 16%,transparent)}
.lbo-root input[type=range].lbo-rng::-moz-range-progress{height:4px;border-radius:3px;background:var(--brand)}
.lbo-root input[type=range].lbo-rng::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--brand)}
.lbo-root input[type=range].lbo-rng:focus-visible{outline:2px solid var(--brand-strong);outline-offset:3px;border-radius:4px}
.lbo-pscale{position:relative;height:18px;margin:2px 7px 0}
.lbo-pscale::before{content:"";position:absolute;left:0;right:0;top:8px;height:2px;background:color-mix(in srgb,var(--a-tp) 10%,transparent)}
.lbo-pscale .zone{position:absolute;top:5px;height:8px;border-radius:3px;background:var(--lbo);transition:left .35s,width .35s}
.lbo-pscale .tick{position:absolute;top:1px;width:2px;height:16px;border-radius:1px;background:var(--a-amber);transform:translateX(-1px)}
.lbo-pscale .cur{position:absolute;top:3px;width:10px;height:12px;transform:translateX(-5px);border-radius:3px;border:2px solid var(--a-tp)}
.lbo-pscale-l{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:var(--a-mut);margin:0 7px}
.lbo-pscale-l i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.lbo-readonly{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px;padding:6px 9px;border-radius:8px;background:color-mix(in srgb,var(--a-tp) 4%,transparent);font-size:11.5px;font-variant-numeric:tabular-nums;color:var(--a-t2)}
.lbo-readonly b{color:var(--a-tp);font-size:13px;font-weight:700;white-space:nowrap}

/* Tranches */
.lbo-trs{display:grid;gap:8px;padding-top:9px}
.lbo-tr{border:1px solid var(--a-line);border-radius:10px;background:color-mix(in srgb,var(--a-tp) 2.5%,transparent);padding:9px 10px 10px;display:grid;gap:8px}
.lbo-tr-h{display:grid;grid-template-columns:12px minmax(0,1fr) auto 24px;gap:8px;align-items:center}
.lbo-swt{width:12px;height:12px;border-radius:3px;background:var(--c);display:inline-block}
.lbo-tr-n b{display:block;font-size:12px;font-weight:700}
.lbo-tr-n small{font-size:10.5px;color:var(--a-mut)}
.lbo-tr-amt{text-align:right}
.lbo-tr-amt b{display:block;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.lbo-tr-amt small{font-size:10px;color:var(--a-mut);font-variant-numeric:tabular-nums;white-space:nowrap}
.lbo-tr-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px 8px}
.lbo-tr-f{display:grid;gap:3px;min-width:0}
.lbo-tr-fl{font-size:10px;color:var(--a-mut);font-weight:600;white-space:nowrap}
.lbo-tr-f.span4{grid-column:1/-1}
.lbo-amt3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.lbo-amt3 .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))}
.lbo-tr-chk{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--a-t2);align-self:end;padding-bottom:5px;cursor:pointer}
.lbo-tr-chk input{accent-color:var(--brand);width:14px;height:14px;margin:0;cursor:pointer}
.lbo-tr-add{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:9px}
.lbo-tr-add .lbl{font-size:10.5px;color:var(--a-mut);margin-right:2px}
.lbo-chip-add{appearance:none;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:99px;border:1px dashed var(--a-line-2);background:transparent;color:var(--a-t2);font:600 11px/1 var(--font-family);cursor:pointer}
.lbo-chip-add i{width:8px;height:8px;border-radius:2px;background:var(--c)}
.lbo-chip-add:hover{border-style:solid;color:var(--a-tp)}
.lbo-tr-eq{background:color-mix(in srgb,var(--lbo-eq) 7%,transparent);border-color:color-mix(in srgb,var(--lbo-eq) 30%,transparent)}
.lbo-su{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;padding-top:9px}
.lbo-su h5{margin:0 0 2px;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--a-mut);font-weight:700}
.lbo-su-row{display:flex;justify-content:space-between;gap:8px;font-size:11.5px;padding:3px 0;border-bottom:.5px solid color-mix(in srgb,var(--a-tp) 8%,transparent);font-variant-numeric:tabular-nums}
.lbo-su-row span{display:inline-flex;align-items:center;gap:6px;color:var(--a-t2);min-width:0}
.lbo-su-row span i{width:8px;height:8px;border-radius:2px;background:var(--c);flex:none}
.lbo-su-row.tot{font-weight:700;border-bottom:0;border-top:1px solid var(--a-line-2)}
.lbo-su-bar{display:flex;gap:2px;height:10px;border-radius:5px;overflow:hidden;grid-column:1/-1;margin-top:4px}
.lbo-su-bar i{background:var(--c);min-width:2px;transition:flex-grow .35s}

/* ── Résultats ──────────────────────────────────────────────────────────────────────────────────────────── */
.lbo-res{grid-area:res;display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-content:start;min-width:0;padding-top:12px;padding-right:2px;container-type:inline-size}
.lbo-res-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
.lbo-card{border:1px solid var(--a-line);border-radius:12px;background:color-mix(in srgb,var(--a-tp) 2.5%,transparent);padding:12px 14px;min-width:0}
.lbo-card-t{display:flex;align-items:baseline;gap:6px 10px;margin-bottom:8px;flex-wrap:wrap}
.lbo-card-t h4{font:700 13px/1.25 var(--font-family);margin:0}
.lbo-card-t small{font-size:11px;color:var(--a-mut)}
.lbo-card-t .r{margin-left:auto}
.lbo-big{font-size:22px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;font-variant-numeric:tabular-nums}
.lbo-big small{font-size:12px;color:var(--a-mut);font-weight:600;letter-spacing:0}
.lbo-c{color:var(--lbo-strong)}
.lbo-explain{font-size:11px;line-height:1.5;color:var(--a-mut);margin:6px 0 0}
.lbo-explain b{color:var(--a-t2)}
.lbo-legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:10.5px;color:var(--a-mut);margin:2px 0 6px}
.lbo-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.lbo-legend i{display:inline-block;width:10px;height:10px;border-radius:2px}
.lbo-legend i.line{height:2px;width:14px;border-radius:1px}
.lbo-legend i.dash{height:0;width:14px;border-top:2px dashed currentColor;border-radius:0;background:none!important}
.lbo-root svg.lbo-svg{display:block;width:100%;height:auto;overflow:visible}
.lbo-root svg.lbo-svg text{font-family:var(--font-family)}
.g-grid{stroke:color-mix(in srgb,var(--a-tp) 9%,transparent);stroke-width:1}
.g-base{stroke:color-mix(in srgb,var(--a-tp) 22%,transparent);stroke-width:1}
.g-ax{fill:var(--a-mut);font-size:10px}
.g-lbl{fill:var(--a-t2);font-size:10.5px}
.g-val{fill:var(--a-tp);font-size:10.5px;font-weight:700}
.g-note{fill:var(--a-mut);font-size:9.5px}
.g-band{fill:color-mix(in srgb,var(--brand) 11%,transparent)}
.g-curve{fill:none;stroke:var(--brand);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.g-dot{fill:var(--brand);stroke:var(--a-pop);stroke-width:2}
.g-dot.cur{fill:var(--a-tp)}
.g-ret{stroke:var(--a-amber);stroke-width:1.5;stroke-dasharray:4 3}
.g-ret-t{fill:var(--a-amber);font-size:10px;font-weight:700}
.g-lbo{fill:color-mix(in srgb,var(--lbo) 30%,transparent)}
.g-lbo-e{stroke:var(--lbo);stroke-width:1.5}
.g-lbo-t{fill:var(--lbo-strong);font-size:10px;font-weight:700}
.g-cur{stroke:var(--a-tp);stroke-width:1}
.g-tip rect{fill:var(--a-pop);stroke:var(--a-line-2)}
.g-tip text{fill:var(--a-tp);font-size:10.5px;font-weight:600}
.w-up{fill:var(--a-up)}.w-dn{fill:var(--a-dn)}.w-tot{fill:var(--lbo-eq)}.w-end{fill:var(--brand2)}
.w-link{stroke:color-mix(in srgb,var(--a-tp) 35%,transparent);stroke-dasharray:2 2}
.c-lbo{fill:none;stroke:var(--brand);stroke-width:2}
.c-base{fill:none;stroke:var(--a-mut);stroke-width:2;stroke-dasharray:5 4}
.c-floor{stroke:var(--a-amber);stroke-width:1;stroke-dasharray:2 3}
.c-dot{fill:var(--brand);stroke:var(--a-pop);stroke-width:2}
.c-dot.base{fill:var(--a-mut)}
/* ── Tableaux (échéancier, trésorerie, ratios) ─────────────────────────────────────────────────────────────
   Une feuille opaque posée dans la carte : quand le tableau défile, la colonne des libellés reste collée à gauche, et
   chaque cellule peint le fond de sa ligne (bande de sous-total, survol) par-dessus ce fond opaque. Libellés sur 34 %,
   les exercices se partagent le reste ; un zéro s'efface en tiret pâle. */
.lbo-tw{--tw-bg:color-mix(in srgb,var(--a-tp) 2.5%,var(--surf-1b));overflow-x:auto;margin-top:12px;border:1px solid var(--a-line);border-radius:10px;background:var(--tw-bg)}
.lbo-fin{width:100%;min-width:calc(220px + var(--n,6) * 82px);border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:11.5px;line-height:1.35;font-variant-numeric:tabular-nums}
.lbo-fin col.c-l{width:34%}
.lbo-fin th,.lbo-fin td{padding:6px 12px;text-align:right;white-space:nowrap;color:var(--a-tp);font-weight:500;border-bottom:1px solid color-mix(in srgb,var(--a-tp) 6%,transparent);
  background:linear-gradient(var(--hov,transparent),var(--hov,transparent)),linear-gradient(var(--row,transparent),var(--row,transparent)),var(--tw-bg)}
.lbo-fin th[scope=row],.lbo-fin thead th:first-child{position:sticky;left:0;z-index:1;text-align:left;white-space:normal;color:var(--a-t2)}
.lbo-fin thead th{--row:color-mix(in srgb,var(--a-tp) 3.5%,transparent);padding-top:8px;padding-bottom:7px;font-size:10.5px;font-weight:600;color:var(--a-mut);border-bottom-color:color-mix(in srgb,var(--a-tp) 14%,transparent)}
.lbo-fin thead th:first-child{z-index:2;font-weight:600;color:var(--a-mut)}
.lbo-fin tbody tr:last-child>*{border-bottom:0}
.lbo-fin tbody tr:hover{--hov:color-mix(in srgb,var(--a-tp) 4.5%,transparent)}
.lbo-fin .cx{--col:color-mix(in srgb,var(--a-tp) 3.5%,transparent);box-shadow:inset 1px 0 0 color-mix(in srgb,var(--a-tp) 10%,transparent);
  background:linear-gradient(var(--hov,transparent),var(--hov,transparent)),linear-gradient(var(--row,transparent),var(--row,transparent)),linear-gradient(var(--col),var(--col)),var(--tw-bg)}
.lbo-fin td.z{color:color-mix(in srgb,var(--a-mut) 55%,transparent)}
/* Négatifs entre parenthèses, en corail ; les autres montants gardent la place d'une parenthèse fermante invisible, pour
   que les chiffres restent alignés d'une ligne à l'autre. */
.lbo-fin td.neg{color:var(--lbo-neg)}
.lbo-fin:not(.lbo-fin-ratios) td:not(.neg)::after{content:")";visibility:hidden}
/* Lignes : encours (pâle), détail « dont » (en retrait), sous-total (bande, =), total (bande marquée), base en regard. */
.lbo-fin tr.bal>*{color:var(--a-mut)}
.lbo-fin tr.det>th[scope=row]{padding-left:28px;font-size:11px;color:var(--a-mut)}
.lbo-fin tr.det>td{font-size:11px;color:var(--a-t2)}
.lbo-fin tr.det>td.z{color:color-mix(in srgb,var(--a-mut) 55%,transparent)}
.lbo-fin tr.sub{--row:color-mix(in srgb,var(--brand) 7%,transparent)}
.lbo-fin tr.sub>*,.lbo-fin tr.tot>*,.lbo-fin tr.end>*{font-weight:700;color:var(--a-tp)}
.lbo-fin tr:has(+tr.sub)>*{border-bottom-color:color-mix(in srgb,var(--brand) 30%,transparent)}
.lbo-fin .eq{display:inline-block;width:14px;margin-left:-3px;color:var(--brand-strong);font-weight:700}
.lbo-fin tr.tot{--row:color-mix(in srgb,var(--brand) 13%,transparent)}
.lbo-fin tr.tot>*{font-size:12px;padding-top:8px;padding-bottom:8px}
.lbo-fin tr:has(+tr.tot)>*{border-bottom-color:color-mix(in srgb,var(--brand) 50%,transparent)}
.lbo-fin tr.cmp>*{color:var(--a-mut)}
.lbo-fin tr:has(+tr.cmp)>*{border-bottom:1px dashed color-mix(in srgb,var(--a-tp) 18%,transparent)}
.lbo-fin tr.tot>td.neg,.lbo-fin tr.sub>td.neg,.lbo-fin tr.det>td.neg{color:var(--lbo-neg)}
/* Échéancier : un groupe par tranche, liseré de sa couleur ; espace avant chaque groupe ; barre de l'encours restant. */
.lbo-fin tr.grp>th{--row:color-mix(in srgb,var(--c) 10%,transparent);text-align:left;padding:9px 12px 8px;border-bottom-color:color-mix(in srgb,var(--c) 32%,transparent)}
.lbo-fin tr.grp:not(:first-child)>th{padding-top:19px;box-shadow:inset 0 10px 0 var(--tw-bg)}
.lbo-fin-gh{position:sticky;left:12px;display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px 9px;max-width:100%}
.lbo-fin-gh .sw{width:10px;height:10px;border-radius:3px;background:var(--c);flex:none}
.lbo-fin-gh b{font-size:12.5px;font-weight:700;color:var(--a-tp)}
.lbo-fin-gh .amt{font-size:12px;font-weight:600;color:var(--a-t2);font-variant-numeric:tabular-nums}
.lbo-fin-gh .tags{display:inline-flex;flex-wrap:wrap;gap:4px}
.lbo-fin-gh .tags span{font-size:10.5px;font-weight:600;color:var(--a-t2);padding:1px 7px;border-radius:99px;background:color-mix(in srgb,var(--a-tp) 7%,transparent);white-space:nowrap}
.lbo-fin tr.t>th[scope=row]{padding-left:17px;box-shadow:inset 3px 0 0 color-mix(in srgb,var(--c) 70%,transparent)}
.lbo-fin tr.t.det>th[scope=row]{padding-left:30px}
.lbo-fin tr.end>*{padding-bottom:9px}
.lbo-fin tr.end>td.bar{background:
  linear-gradient(color-mix(in srgb,var(--c) 85%,transparent),color-mix(in srgb,var(--c) 85%,transparent)) right 12px bottom 3px/calc((100% - 24px) * var(--p,0)) 3px no-repeat,
  linear-gradient(color-mix(in srgb,var(--c) 16%,transparent),color-mix(in srgb,var(--c) 16%,transparent)) right 12px bottom 3px/calc(100% - 24px) 3px no-repeat,
  linear-gradient(var(--hov,transparent),var(--hov,transparent)),linear-gradient(var(--row,transparent),var(--row,transparent)),var(--tw-bg)}
.lbo-fin tr.end.tot{--row:color-mix(in srgb,var(--a-tp) 6%,transparent)}
.lbo-fin tr.end.tot>*{border-top:0}
/* Repère face à la trésorerie minimale, et sa légende. */
.lbo-fin-dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;vertical-align:1px;background:var(--f-vert)}
.lbo-fin-dot.warn{background:var(--f-orange)}
.lbo-fin-dot.bad{background:var(--f-rouge)}
.lbo-fin-leg{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:7px;font-size:10.5px;color:var(--a-mut)}
.lbo-fin-leg span{display:inline-flex;align-items:center}
.lbo-fin-ratios td .lbo-chipc{justify-content:flex-end}
.lbo-chipc{display:inline-flex;align-items:center;gap:4px;font-weight:700}
.lbo-chipc .iku-ico{width:10px;height:10px}
.lbo-chipc.ok{color:var(--a-up)}
.lbo-chipc.ko{color:var(--a-dn)}
.lbo-scroll{overflow-x:auto}
.lbo-debt-top{display:grid;grid-template-columns:330px minmax(0,1fr);gap:16px;align-items:start}
.lbo-cmp2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}
.lbo-cmp2.two{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
.lbo-cmp2 div{padding:8px 9px;border-radius:9px;background:color-mix(in srgb,var(--a-tp) 4%,transparent)}
.lbo-cmp2 span{display:block;font-size:10px;color:var(--a-mut)}
.lbo-cmp2 b{font-size:13px;font-variant-numeric:tabular-nums}

/* Soutenabilité */
.lbo-sup{display:grid;gap:12px}
.lbo-sup-head{display:flex;align-items:center;gap:12px}
.lbo-sup-q{font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:var(--a-mut)}
.lbo-sup-a{font-size:17px;font-weight:700;letter-spacing:-.01em;margin-top:2px}
.lbo-lights{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.lbo-light{display:grid;grid-template-columns:18px minmax(0,1fr);gap:3px 8px;padding:9px 10px;border-radius:10px;border:1px solid var(--a-line);background:color-mix(in srgb,var(--a-tp) 2%,transparent);align-content:start}
.lbo-light-k{font-size:10.5px;font-weight:700;color:var(--a-mut);text-transform:uppercase;letter-spacing:.05em;align-self:center}
.lbo-light-v{grid-column:2;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.lbo-light-d{grid-column:2;font-size:10.5px;color:var(--a-mut);line-height:1.4}
.lbo-cap{display:grid;gap:7px}
.lbo-cap-t{font-size:11.5px;color:var(--a-t2)}
.lbo-cap-t b{color:var(--a-tp);font-size:13px}
.lbo-cap-row{display:grid;grid-template-columns:200px minmax(0,1fr) 110px;gap:10px;align-items:center;font-size:11.5px}
.lbo-cap-row .lab{color:var(--a-t2)}
.lbo-cap-row .lab small{display:block;font-size:10px;color:var(--a-mut)}
.lbo-cap-track{position:relative;height:12px;border-radius:4px;background:color-mix(in srgb,var(--a-tp) 7%,transparent)}
.lbo-cap-fill{position:absolute;left:0;top:0;bottom:0;border-radius:0 4px 4px 0;background:var(--c);transition:width .35s}
.lbo-cap-mark{position:absolute;top:-4px;bottom:-4px;width:0;border-left:2px solid var(--a-tp);transition:left .35s}
.lbo-cap-row .v{text-align:right;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}

/* Scénario « LBO » */
.lbo-hyps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px}
.lbo-hyps li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:baseline;font-size:11.5px;color:var(--a-t2);padding:4px 0;border-bottom:.5px solid color-mix(in srgb,var(--a-tp) 8%,transparent)}
.lbo-hyps code{font-family:ui-monospace,Consolas,monospace;font-size:10px;color:var(--lbo-code);background:color-mix(in srgb,var(--lbo-code) 10%,transparent);padding:1px 5px;border-radius:4px}
.lbo-hyps b{color:var(--a-tp);white-space:nowrap}
.lbo-sc-foot{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:center;margin-top:8px}
.lbo-sc-foot .lbo-cmp2{margin-top:0}

/* Schéma du montage */
.lbo-sch-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.sch-n rect{fill:var(--a-pop);stroke:var(--a-line-2);stroke-width:1}
.sch-n.key rect{fill:color-mix(in srgb,var(--brand) 9%,var(--a-pop));stroke:color-mix(in srgb,var(--brand) 60%,transparent);stroke-width:1.5}
.sch-n.dim{opacity:.4}
.sch-t{fill:var(--a-tp);font-size:13.5px;font-weight:700}
.sch-s{fill:var(--a-mut);font-size:11px}
.sch-a{fill:none;stroke-width:2.2;stroke-linecap:round}
.sch-a.eq{stroke:var(--lbo-eq)}.sch-a.debt{stroke:var(--tr-a)}.sch-a.price{stroke:var(--lbo)}.sch-a.up{stroke:var(--brand2)}.sch-a.fee{stroke:var(--a-mut)}
.sch-a.title{stroke:var(--a-mut);stroke-width:1.5;stroke-dasharray:5 4}
.sch-lab rect{fill:var(--a-bg);opacity:.92}
.sch-l{fill:var(--a-t2);font-size:11.5px}
.sch-m{fill:var(--a-tp);font-size:13px;font-weight:700}
.lbo-sch-leg{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:11px;color:var(--a-mut);margin-top:8px}
.lbo-sch-leg span{display:inline-flex;align-items:center;gap:6px}
.lbo-sch-leg i{display:inline-block;width:18px;height:0;border-top:2.5px solid var(--c)}
.lbo-sch-leg i.dashed{border-top-style:dashed}
.lbo-sch-cap{font-size:12.5px;line-height:1.6;color:var(--a-t2);max-width:98ch;margin:10px 0 0}
.lbo-sch-cap b{color:var(--a-tp)}
.lbo-flow{list-style:none;padding:0;margin:0;display:grid}
.lbo-flow li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px 10px;position:relative;padding:0 0 14px}
.lbo-flow li::before{content:"";position:absolute;left:13px;top:30px;bottom:2px;width:2px;background:var(--a-line-2)}
.lbo-flow li:last-child::before{display:none}
.lbo-flow .dot{grid-row:span 3;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 24%,transparent);color:var(--a-tp);font-weight:700;font-size:12px;border:1.5px solid var(--c)}
.lbo-flow .who{font-size:12px;font-weight:700;color:var(--a-tp)}
.lbo-flow .what{font-size:12px;color:var(--a-t2);line-height:1.45}
.lbo-flow .amt{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--a-tp)}
/* Schéma large OU liste numérotée, jamais les deux : après .lbo-flow, qui pose display:grid sur la même liste. */
.lbo-sch-wide{display:block}
.lbo-flow.lbo-sch-narrow{display:none}
@container (max-width:640px){.lbo-sch-wide{display:none}.lbo-flow.lbo-sch-narrow{display:grid}.lbo-debt-top{grid-template-columns:minmax(0,1fr)}.lbo-debt-top svg.lbo-svg{max-width:440px}}

/* ── Largeurs réduites ──────────────────────────────────────────────────────────────────────────────────────
   Les requêtes suivent le conteneur le plus proche : la vue (lbo-root) pour l'en-tête et les réglages, le panneau des
   résultats (lbo-res) pour ce qu'il contient. Sous 1 180 px de large, plus de colonnes : les réglages deviennent le premier
   onglet et toute la vue défile d'un bloc (en dessous, les résultats n'auraient plus 700 px à côté des réglages). */
@container (max-width:1180px){
  /* Titre et option sur une ligne, actions dessous : entre 900 et 1 180 px, trois colonnes écrasaient le titre sur quatre lignes. */
  .lbo-head{grid-template-columns:minmax(0,1fr) auto}
  .lbo-acts{grid-column:1/-1;justify-content:flex-start}
  .lbo{height:auto;grid-template-rows:auto auto}
  /* Réserve de fin de défilement (2026-09-15) : toute la vue défile alors dans .apop-content.is-lbo, dont l'enfant .lbo-root
     fait 100 % de haut. La réserve va sur le contenu qui dépasse (.lbo) : la dernière carte remonte au-dessus du bouton du
     copilote. Deux classes pour passer devant le padding de .lbo sous 560 px. */
  .lbo-root .lbo{padding-bottom:72px}
  .lbo-main{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;grid-template-areas:"tabs" "res"}
  .lbo-pane{overflow:visible;min-height:auto;scrollbar-gutter:auto}
  .lbo-tab-cfg{display:inline-flex}
  .lbo-cfg{grid-area:res;padding:12px 0 22px}
  .lbo[data-onglet="reglages"] .lbo-res{display:none}
  .lbo:not([data-onglet="reglages"]) .lbo-cfg{display:none}
  .lbo[data-onglet="reglages"] .lbo-tab:not(.lbo-tab-cfg)[aria-selected="true"]{color:var(--a-mut)}
  .lbo[data-onglet="reglages"] .lbo-tab:not(.lbo-tab-cfg)[aria-selected="true"]::after{display:none}
  .lbo-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@container (max-width:900px){
  .lbo-head{grid-template-columns:minmax(0,1fr)}
  .lbo-acts{justify-content:flex-start}
  .lbo-res-2,.lbo-sc-foot{grid-template-columns:minmax(0,1fr)}
  /* Empilées, la courbe et le pont ne grossissent pas au-delà d'un quart de leur taille de dessin (textes lisibles, pas géants). */
  .lbo-res-2 .lbo-card>svg.lbo-svg{max-width:560px}
  .lbo-lights{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lbo-cap-row{grid-template-columns:minmax(0,1fr) 96px}
  .lbo-cap-row .lbo-cap-track{grid-column:1/-1;grid-row:2}
  .lbo-hyps{grid-template-columns:minmax(0,1fr)}
}
@container (max-width:560px){
  .lbo{padding:12px}
  .lbo-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lbo-mode button{min-width:0}
  .lbo-tr-g{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lbo-fld-2,.lbo-su{grid-template-columns:minmax(0,1fr)}
  .lbo-fin{min-width:calc(170px + var(--n,6) * 74px);font-size:11px}
  .lbo-fin th,.lbo-fin td{padding:5px 8px}
  .lbo-fin tr.t>th[scope=row]{padding-left:12px}
  .lbo-fin-gh{left:8px}
}
/* ── Vue « Emprunter » (volet Financement, 2026-09-14) : la grammaire LBO, plus les marques propres au prêt ─────── */
.emp-b-cap{fill:var(--tr-a)}
.emp-b-int{fill:var(--tr-cv)}
.emp-b-ex{fill:var(--tr-ex)}
.emp-hors{opacity:.42}
.emp-hors-zone{fill:color-mix(in srgb,var(--a-tp) 3%,transparent)}
.emp-horizon{stroke:color-mix(in srgb,var(--a-tp) 28%,transparent);stroke-width:1;stroke-dasharray:4 3}
.emp-need{stroke:var(--a-amber);stroke-width:2.6;stroke-linecap:round}
/* Couverture des échéances (2026-09-15) : colonne claire du cash, seuil orange posé dessus, écart hachuré en rouge. */
.emp-cash{fill:color-mix(in srgb,var(--brand) 14%,transparent);stroke:color-mix(in srgb,var(--brand) 58%,transparent);stroke-width:1}
.emp-cash.neg{fill:color-mix(in srgb,var(--f-rouge) 14%,transparent);stroke:color-mix(in srgb,var(--f-rouge) 55%,transparent)}
.emp-need.ko{stroke:var(--f-rouge)}
.emp-manque{stroke:color-mix(in srgb,var(--f-rouge) 60%,transparent);stroke-width:1;stroke-dasharray:3 2}
.emp-manque-bg{fill:color-mix(in srgb,var(--f-rouge) 10%,transparent)}
.emp-manque-l{stroke:color-mix(in srgb,var(--f-rouge) 55%,transparent);stroke-width:1.6}
.emp-pret-t{fill:var(--tr-a);font-weight:600}
.g-val.emp-juste{fill:var(--a-amber)}
.lbo-legend i.emp-leg-cash{background:color-mix(in srgb,var(--brand) 14%,transparent);border:1px solid color-mix(in srgb,var(--brand) 58%,transparent)}
.emp-zone-ko{fill:color-mix(in srgb,var(--f-rouge) 9%,transparent)}
.g-val.emp-ko{fill:var(--f-rouge)}
.c-dot.emp-dot-ko{fill:var(--f-rouge)}
.lbo-kpi-v.emp-ko-t{color:var(--f-rouge)}
.lbo-legend i.emp-leg-hors{background:var(--tr-a);opacity:.42}
.lbo-legend i.emp-leg-ko{background:color-mix(in srgb,var(--f-rouge) 22%,transparent);border:1px solid color-mix(in srgb,var(--f-rouge) 50%,transparent)}
.emp-cap-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;align-items:start;margin-bottom:12px}
.emp-cap-top .lbo-explain{margin-top:4px}
/* Graphiques de la vue : à pleine largeur ils grossiraient sans fin (textes géants sur grand écran) ; plafonnés, alignés à gauche. */
.lbo-root svg.lbo-svg.emp-svg-l{max-width:760px}
.lbo-root svg.lbo-svg.emp-svg-s{max-width:460px}
.lbo-cmp2.emp-cmp3{margin-top:10px}
.emp-methode p{margin:9px 0 0;font-size:11.5px;line-height:1.55;color:var(--a-t2)}
.emp-methode b{color:var(--a-tp)}
.emp-mens{margin-top:10px}
.emp-mens-tw{max-height:440px;overflow:auto}
.emp-mens-tw thead th{position:sticky;top:0;z-index:2}
.emp-mens-tw thead th:first-child{z-index:3}
@container (max-width:900px){.emp-cap-top{grid-template-columns:minmax(0,1fr)}}
@container (max-width:560px){.lbo-cmp2.emp-cmp3{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Mobile (2026-09-15) : dans un panneau étroit, les graphiques larges (viewBox 440 à 520) se réduisent de moitié et leurs textes
   tombaient à 6 px. Ils remontent en unités SVG pour rester entre 8 et 10 px à l'écran ; les notes de toutes les courbes aussi. */
@container (max-width:560px){
  .lbo-root svg.lbo-svg.emp-svg-l .g-ax,.lbo-root svg.lbo-svg.emp-svg-l .g-note{font-size:14px}
  .lbo-root svg.lbo-svg.emp-svg-l .g-val{font-size:14.5px}
  .lbo-root svg.lbo-svg .g-note{font-size:12px}
  .lbo-root svg.lbo-svg .g-ax{font-size:11.5px}
  .lbo-root svg.lbo-svg .g-lbo-t,.lbo-root svg.lbo-svg .g-ret-t{font-size:11.5px}
  .lbo-root svg.lbo-svg .g-val{font-size:12px}
  /* Libellés du pont sur deux lignes à 12 unités d'écart : 11 au plus, sinon les lignes se touchent. */
  .lbo-root svg.lbo-svg .g-lbl{font-size:11px}
}

/* ── Volet Financement : la coque des volets « Mes analyses » et « Préparer ma cession » (2026-09-14) ────────────
   Barre atb- d'analyses-tdb.css. Ce qui change avec deux onglets : la barre tient sur une ligne jusqu'à 760 px (au lieu de
   1 280), les onglets portent leur icône (comme la Cession), et le libellé court prend le relais en étroit. Les vues occupent
   toute la hauteur sous la barre : pas de marge, et le défilement reste aux panneaux sur grand écran. */
.atb-coque .apop-content.is-lbo{padding:0;overflow-y:auto;overflow-x:hidden}
.atb-bar-court .atb-tab .iku-ico{width:14px;height:14px}
.atb-bar-court .atb-tab[aria-selected="true"] .iku-ico{color:var(--brand-strong)}
.atb-bar-court .atb-tab-s{display:none}
@container atb-barre (max-width:1280px){
  .atb-bar-court .atb-bar-in{grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"id tabs exo close";row-gap:0;padding:0 14px 0 20px;min-height:54px}
  .atb-bar-court .atb-tab{padding:17px 12px 15px}
}
@container atb-barre (max-width:760px){
  .atb-bar-court .atb-bar-in{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"id exo close" "tabs tabs tabs";row-gap:2px;padding:8px 12px 0 16px;min-height:0}
  .atb-bar-court .atb-tab{padding:9px 11px 11px}
}
@container atb-barre (max-width:520px){
  .atb-bar-court .atb-tab-l,.atb-bar-court .atb-tab .iku-ico{display:none}
  .atb-bar-court .atb-tab-s{display:inline}
}

/* ── Management package (2026-09-15) : fonds, dirigeants, cédant ; réglages, tuiles, barres de parts, courbe de partage ────
   Trois couleurs d'associés, distinctes des tranches de dette : bleu pour le fonds, la marque pour les dirigeants, or pour le
   cédant. Les textes posés dans les barres prennent l'encre sombre en thème sombre et le blanc en thème clair. */
.lbo-root{--pk-fonds:#7b9cf4;--pk-dir:var(--brand);--pk-ced:#e4a843;--pk-ink:#04121a}
html[data-theme="light"] .lbo-root{--pk-fonds:#3b67d0;--pk-ced:#a86b12;--pk-ink:#ffffff}
.pk-as .lbo-tr-h{grid-template-columns:12px minmax(0,1fr) auto 32px}
.pk-as.is-off{background:transparent;border-style:dashed}
.pk-as.is-off .lbo-swt{opacity:.45}
.lbo-amt3.pk-amt2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lbo-tr-f.pk-span3{grid-column:span 3}
.lbo-tr-f.pk-span4{grid-column:1/-1}
.pk-warn{color:var(--a-amber);font-weight:600}
.pk-paliers{display:grid;gap:6px}
.pk-palier{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 8px;border-radius:9px;border:1px solid var(--a-line);background:color-mix(in srgb,var(--a-tp) 2.5%,transparent)}
.pk-palier.is-reached{border-color:color-mix(in srgb,var(--pk-dir) 35%,transparent)}
.pk-palier.is-on{border-color:color-mix(in srgb,var(--pk-dir) 65%,transparent);background:color-mix(in srgb,var(--pk-dir) 8%,transparent)}
.pk-palier-n{display:grid;font-size:11px;font-weight:700;min-width:54px;line-height:1.2}
.pk-palier-n small{font-size:10px;font-weight:600;color:var(--pk-dir)}
.pk-palier-f{display:inline-flex;align-items:center;gap:5px}
.pk-palier .lbo-icon-btn{margin-left:auto}
.pk-paliers .lbo-tr-add{padding-top:2px}
.pk-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(158px,1fr));gap:8px}
.pk-kpi{border-color:color-mix(in srgb,var(--c) 42%,transparent);background:color-mix(in srgb,var(--c) 8%,transparent)}
.pk-kpi-t{font-size:16px;white-space:normal}
.pk-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--c);margin-right:6px;vertical-align:0;flex:none}
.pk-autre{display:flex;align-items:baseline;gap:0}
.pk-bar-row{display:grid;grid-template-columns:132px minmax(0,1fr);gap:10px;align-items:center;margin:4px 0 10px}
.pk-bar-l{display:grid;font-size:11.5px;font-weight:600;color:var(--a-t2);line-height:1.25}
.pk-bar-l small{font-size:10px;font-weight:500;color:var(--a-mut)}
.pk-bar-l b{font-size:13px;color:var(--a-tp);font-variant-numeric:tabular-nums}
.pk-bar{display:flex;gap:2px;height:28px;border-radius:8px;overflow:hidden}
.pk-bar i{background:var(--c);min-width:3px;display:grid;place-items:center;font:700 10.5px/1 var(--font-family);font-style:normal;color:var(--pk-ink);white-space:nowrap;overflow:hidden}
.pk-cap th[scope=col]{white-space:nowrap}
.g-curve.pk-f{stroke:var(--pk-fonds)}
.g-curve.pk-d{stroke:var(--pk-dir);stroke-width:2.4}
.g-curve.pk-c{stroke:var(--pk-ced)}
.g-curve.pk-b{stroke:var(--a-mut);stroke-width:1.5;stroke-dasharray:5 4}
.g-dot.pk-f{fill:var(--pk-fonds)}.g-dot.pk-d{fill:var(--pk-dir)}.g-dot.pk-c{fill:var(--pk-ced)}
.g-one{stroke:color-mix(in srgb,var(--a-tp) 32%,transparent);stroke-width:1}
.g-palier{stroke:color-mix(in srgb,var(--a-tp) 40%,transparent);stroke-width:1;stroke-dasharray:2 3}
.g-palier-t{fill:var(--a-t2);font-size:9.5px;font-weight:600}
@container (max-width:560px){
  .pk-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pk-bar-row{grid-template-columns:minmax(0,1fr);gap:4px}
  .lbo-tr-f.pk-span3{grid-column:1/-1}
  .lbo-root svg.lbo-svg .g-palier-t{font-size:11.5px}
}

/* ── Analyse IA (2026-09-15) : barre d'action, texte markdown rendu, avertissement ─────────────────────────────── */
.lbo-ia-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:2px 0 10px}
.lbo-ia-bar .lbo-fld-h{flex:1 1 220px}
.lbo-ia-live{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--brand-strong)}
.lbo-ia-live i{width:7px;height:7px;border-radius:50%;background:var(--brand);animation:lboIaPouls 1.1s ease-in-out infinite}
@keyframes lboIaPouls{0%,100%{opacity:.35}50%{opacity:1}}
.lbo-ia-attente{padding:14px;border-radius:10px;border:1px dashed var(--a-line-2);color:var(--a-mut);font-size:12px}
.lbo-ia-plan{margin:4px 0 10px;padding-left:18px;display:grid;gap:5px;font-size:12px;line-height:1.5;color:var(--a-t2)}
.lbo-ia-plan b{color:var(--a-tp)}
.lbo-ia-md{font-size:12.5px;line-height:1.6;color:var(--a-t2);max-width:78ch}
.lbo-ia-md h1,.lbo-ia-md h2,.lbo-ia-md h3{font:700 13.5px/1.3 var(--font-family);color:var(--a-tp);margin:16px 0 6px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--a-tp) 8%,transparent)}
.lbo-ia-md > :first-child{margin-top:0;padding-top:0;border-top:0}
.lbo-ia-md p{margin:6px 0}
.lbo-ia-md ul,.lbo-ia-md ol{margin:6px 0;padding-left:20px;display:grid;gap:4px}
.lbo-ia-md li::marker{color:var(--brand-strong)}
.lbo-ia-md strong{color:var(--a-tp);font-weight:650}
.lbo-ia-md table{border-collapse:collapse;margin:8px 0;font-size:11.5px;display:block;overflow-x:auto;max-width:100%}
.lbo-ia-md th,.lbo-ia-md td{border:1px solid var(--a-line);padding:4px 8px;text-align:left}
.lbo-ia-avert{display:flex;gap:7px;align-items:flex-start;margin:14px 0 0;padding:8px 10px;border-radius:9px;font-size:11px;line-height:1.45;color:var(--a-mut);background:color-mix(in srgb,var(--a-tp) 3.5%,transparent)}
.lbo-ia-avert .iku-ico{flex:none;margin-top:1px}

@media (prefers-reduced-motion:reduce){
  .lbo-root *{transition:none!important}
  .lbo-ia-live i{animation:none}
}
