/* ═══════════════════════════════════════════════════════════════════════════════════════════════════
   MULTIPLES DE COMPARABLES (2026-09-17) — écran `MultiplesComparables` (route /multiples et modale de « Ma valorisation »),
   préfixe mx-. Même grammaire que factures.css (cartes, indicateurs, tableaux) ; jetons de tokens.css, donc clair et sombre
   suivent sans règle dédiée, sauf le voile de la modale.
   Le fond des cellules collées à gauche du tableau doit être OPAQUE et égal au fond qui les porte : il se lit dans --mx-fond,
   posé par la modale, et vaut le fond de page ailleurs.
   ═══════════════════════════════════════════════════════════════════════════════════════════════════ */

/* ── Modale (hébergée par MainLayout) ── */
.mx-back {
    position: fixed; inset: 0; z-index: 10065; display: flex; align-items: center; justify-content: center;
    padding: 24px 16px; background: rgba(4, 12, 18, .62); animation: mx-in .16s ease-out;
}
html[data-theme="light"] .mx-back { background: rgba(28, 42, 52, .42); }
@keyframes mx-in { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .mx-back { animation: none; } }
/* Au-dessus des volets et du copilote : les boutons flottants couvriraient le bas du tableau sur téléphone. */
body:has(.mx-back) .fab-stack-r, body:has(.mx-back) .fab-stack-l, body:has(.mx-back) .cop-fab { display: none; }
.mx-box {
    --mx-fond: var(--color-bg-surface, var(--bg1, #0d1b24));
    display: flex; flex-direction: column; width: min(1320px, 100%); max-height: 100%; min-height: 0;
    border-radius: 16px; border: 1px solid var(--o12); background: var(--mx-fond);
    box-shadow: 0 24px 70px rgba(0, 0, 0, .46); overflow: hidden;
}
.mx-box-h { flex: 0 0 auto; display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--o12); }
.mx-box-x { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.mx-box-x b { font-size: 15px; font-weight: 700; color: var(--tx1); }
.mx-box-x small { font-size: 11.5px; line-height: 1.5; color: var(--color-text-muted); }
.mx-fermer {
    flex: 0 0 auto; width: 28px; height: 28px; margin-left: auto; display: grid; place-items: center;
    border: 1px solid var(--o12); border-radius: 8px; background: var(--o4); color: var(--color-text-secondary); cursor: pointer;
}
.mx-fermer:hover { color: var(--tx1); border-color: var(--brand-strong); }
.mx-box-b { flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain; padding: 16px; }

/* ── Écran ── */
.mx-root { display: flex; flex-direction: column; gap: 12px; min-width: 0; font-variant-numeric: tabular-nums; color: var(--color-text-secondary); }
.mx-root button { font-family: inherit; }
.mx-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.mx-vide { color: var(--color-text-muted); }
.mx-aide { margin: 0; display: flex; align-items: flex-start; gap: 6px; font-size: 11px; line-height: 1.45; color: var(--color-text-muted); }
.mx-aide .iku-ico { flex: 0 0 auto; margin-top: 2px; color: var(--brand-strong); }
.mx-note { margin: -4px 0 0; display: flex; align-items: flex-start; gap: 6px; font-size: 11px; line-height: 1.45; color: var(--color-text-muted); }
.mx-note .iku-ico { flex: 0 0 auto; margin-top: 2px; }
.mx-tag { font-size: 10.5px; font-weight: 700; color: var(--txt-teal); border: 1px solid color-mix(in srgb, var(--brand) 40%, transparent); background: color-mix(in srgb, var(--brand) 10%, transparent); border-radius: 999px; padding: 2px 8px; white-space: nowrap; }
.mx-chip { font-size: 11.5px; color: var(--color-text-secondary); background: var(--o6); border-radius: 999px; padding: 3px 9px; white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.mx-chip.is-fort { color: var(--tx1); font-weight: 700; }

/* Boutons et liens */
.mx-btn {
    position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 6px; font: inherit; font-size: 12.5px; font-weight: 700;
    color: var(--brand-contrast, #06141a); background: var(--brand); border: 1px solid var(--brand); border-radius: 9px; padding: 7px 12px; cursor: pointer; white-space: nowrap;
}
.mx-btn:hover { filter: brightness(1.06); }
.mx-btn.is-ghost { color: var(--tx1); background: var(--o4); border-color: var(--o12); }
.mx-btn.is-ghost:hover { border-color: var(--brand-strong); filter: none; }
.mx-btn.is-petit { font-size: 11.5px; padding: 5px 9px; border-radius: 8px; }
.mx-btn.is-danger { color: #fff; background: var(--st-red); border-color: var(--st-red); }
.mx-btn.is-ghost.is-danger { color: var(--st-red); background: transparent; border-color: color-mix(in srgb, var(--st-red) 45%, transparent); }
.mx-btn:disabled { opacity: .5; cursor: default; filter: none; }
.mx-btn input[type=file], .mx-drop input[type=file] { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.mx-btn.is-busy input[type=file], .mx-drop.is-busy input[type=file] { pointer-events: none; }
.mx-btn .iku-spin { width: 13px; height: 13px; }
.mx-lien { font: inherit; font-weight: 700; color: var(--brand-strong); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.mx-lien:hover { color: var(--tx1); }
.mx-lien:disabled { opacity: .5; cursor: default; }
.mx-segment { display: inline-flex; gap: 2px; padding: 3px; border-radius: 9px; background: var(--o6); }
.mx-segment button { border: 0; background: transparent; color: var(--color-text-secondary); font: inherit; font-size: 12px; font-weight: 700; padding: 6px 11px; border-radius: 7px; cursor: pointer; white-space: nowrap; }
.mx-segment button:hover { color: var(--tx1); }
.mx-segment button.on { background: var(--mx-fond, var(--surf-1)); color: var(--tx1); box-shadow: 0 1px 2px rgba(0, 0, 0, .25); }

/* Messages */
.mx-msg { display: flex; align-items: flex-start; gap: 8px; font-size: 12.5px; line-height: 1.45; border-radius: 10px; padding: 9px 12px; color: var(--tx1); }
.mx-msg .iku-ico { flex: 0 0 auto; margin-top: 2px; }
.mx-msg > span { flex: 1 1 auto; min-width: 0; }
.mx-msg.is-ok { border: 1px solid color-mix(in srgb, var(--brand) 40%, transparent); background: color-mix(in srgb, var(--brand) 9%, transparent); }
.mx-msg.is-ok .iku-ico { color: var(--brand-strong); }
.mx-msg.is-err { border: 1px solid color-mix(in srgb, var(--st-red) 40%, transparent); background: color-mix(in srgb, var(--st-red) 8%, transparent); }
.mx-msg.is-err .iku-ico { color: var(--st-red); }
.mx-msg-x { flex: 0 0 auto; margin-left: auto; width: 22px; height: 22px; display: grid; place-items: center; border: 0; border-radius: 6px; background: transparent; color: var(--color-text-muted); cursor: pointer; }
.mx-msg-x:hover { background: var(--o6); color: var(--tx1); }

/* Champs */
.mx-champ { display: flex; flex-direction: column; gap: 4px; min-width: 0; font-size: 11.5px; }
.mx-champ > span:first-child { font-weight: 700; color: var(--color-text-secondary); }
.mx-champ > span:first-child em { font-style: normal; font-weight: 500; color: var(--color-text-muted); margin-left: 4px; }
.mx-champ input, .mx-champ textarea {
    width: 100%; min-width: 0; font: inherit; font-size: 13px; color: var(--tx1); color-scheme: inherit; resize: vertical;
    background: var(--mx-fond, var(--surf-1)); border: 1px solid var(--o12); border-radius: 8px; padding: 7px 9px;
}
.mx-champ input:focus-visible, .mx-champ textarea:focus-visible { outline: 2px solid color-mix(in srgb, var(--brand-strong) 55%, transparent); outline-offset: 1px; border-color: var(--brand-strong); }
.mx-champ small { font-size: 10.5px; line-height: 1.4; color: var(--color-text-muted); }
.mx-champ small.is-warn { color: var(--st-amber); }
.mx-champ a { color: var(--brand-strong); }
.mx-champ .custom-dropdown-trigger { min-height: 34px; }
.mx-champ-pays { display: flex; align-items: center; gap: 6px; }
.mx-champ-pays input { flex: 1 1 auto; }

/* ── Société analysée ── */
.mx-ref { border: 1px solid var(--o12); border-radius: 12px; background: var(--o4); padding: 9px 12px; }
.mx-ref-h { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mx-ref-l { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--color-text-muted); }
.mx-ref-l .iku-ico { color: var(--brand-strong); }
.mx-ref-r { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.mx-ref-vide { font-size: 12px; color: var(--color-text-muted); }
.mx-ref-f { margin-top: 10px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px 12px; }
.mx-ref-f .is-2 { grid-column: span 2; }
.mx-ref-f .is-plein { grid-column: 1 / -1; }

/* ── Onglets ── */
.mx-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.mx-tabs { display: inline-flex; gap: 2px; padding: 3px; border-radius: 10px; background: var(--o6); }
.mx-tabs button { display: inline-flex; align-items: center; gap: 6px; border: 0; background: transparent; color: var(--color-text-muted); font: inherit; font-size: 13px; font-weight: 700; padding: 7px 13px; border-radius: 8px; cursor: pointer; }
.mx-tabs button:hover { color: var(--tx1); }
.mx-tabs button.on { background: var(--mx-fond, var(--surf-1)); color: var(--tx1); box-shadow: 0 1px 2px rgba(0, 0, 0, .25); }
.mx-tabs button.on .iku-ico { color: var(--brand-strong); }
.mx-tabs small { font-size: 11px; font-weight: 700; color: var(--color-text-muted); background: var(--o6); border-radius: 999px; padding: 0 7px; }
.mx-bascule { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; color: var(--color-text-secondary); cursor: pointer; }
.mx-bascule input { width: 15px; height: 15px; accent-color: var(--brand); cursor: pointer; }

/* ── Synthèse : une carte par multiple ── */
.mx-syn { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.mx-syn.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mx-syn-c { display: flex; flex-direction: column; gap: 4px; padding: 11px 13px 10px; border-radius: 12px; border: 1px solid var(--o12); background: var(--o4); min-width: 0; }
.mx-syn-c.is-vide { opacity: .75; }
.mx-syn-h { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.mx-syn-t { font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: var(--color-text-muted); }
.mx-syn-n { font-size: 11px; color: var(--color-text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: help; }
.mx-syn-v { display: flex; align-items: baseline; gap: 7px; }
.mx-syn-v b { font-size: 26px; font-weight: 800; letter-spacing: -.02em; color: var(--tx1); line-height: 1.1; }
.mx-syn-v small { font-size: 11px; color: var(--color-text-muted); }
.mx-syn-s { display: flex; flex-wrap: wrap; gap: 4px; font-size: 11.5px; color: var(--color-text-secondary); }
/* Boîte à moustaches : positions en % posées en ligne (culture invariante) ; le trait, la boîte, le repère de médiane. */
.mx-bp { position: relative; height: 24px; margin-top: 6px; }
.mx-bp i { position: absolute; top: 50%; transform: translateY(-50%); display: block; }
.mx-bp-valo { height: 24px; border-radius: 5px; background: color-mix(in srgb, var(--brand2) 16%, transparent); border: 1px dashed color-mix(in srgb, var(--brand2) 70%, transparent); }
.mx-bp-trait { height: 2px; border-radius: 1px; background: var(--o22); }
.mx-bp-boite { height: 12px; border-radius: 4px; background: color-mix(in srgb, var(--brand) 32%, transparent); border: 1px solid color-mix(in srgb, var(--brand) 70%, transparent); }
.mx-bp-med { width: 3px; height: 20px; margin-left: -1.5px; border-radius: 2px; background: var(--tx1); }
.mx-bp-x { display: flex; justify-content: space-between; gap: 6px; font-size: 10.5px; color: var(--color-text-muted); white-space: nowrap; }
.mx-bp-x-valo { color: var(--brand2-strong); overflow: hidden; text-overflow: ellipsis; }

/* ── Appliquer à la valorisation ── */
.mx-app { border: 1px solid color-mix(in srgb, var(--brand) 35%, transparent); border-radius: 12px; background: color-mix(in srgb, var(--brand) 6%, transparent); padding: 10px 12px; }
.mx-app-h { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.mx-app-t { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; color: var(--tx1); }
.mx-app-t .iku-ico { flex: 0 0 auto; color: var(--brand-strong); }
.mx-app-w { overflow-x: auto; margin-top: 8px; }
.mx-app-tab { width: 100%; border-collapse: collapse; font-size: 12.5px; min-width: 560px; }
.mx-app-tab th { text-align: left; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--color-text-muted); padding: 5px 8px; border-bottom: 1px solid var(--o12); }
.mx-app-tab td { padding: 7px 8px; border-bottom: 1px solid var(--o8); color: var(--color-text-secondary); white-space: nowrap; }
.mx-app-tab td:first-child { width: 28px; }
.mx-app-tab input { width: 15px; height: 15px; accent-color: var(--brand); }
.mx-app-tab tr.is-off td { color: var(--color-text-muted); }
.mx-app-new { color: var(--tx1) !important; font-weight: 700; }
.mx-app-note { margin: 8px 0 0; display: flex; align-items: flex-start; gap: 6px; font-size: 11px; line-height: 1.45; color: var(--color-text-muted); }
.mx-app-note .iku-ico { flex: 0 0 auto; margin-top: 2px; }
.mx-app-a { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; flex-wrap: wrap; }

/* ── Barre d'outils ── */
.mx-outils { display: flex; align-items: center; justify-content: space-between; gap: 8px 12px; flex-wrap: wrap; }
.mx-outils-g, .mx-outils-d { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
.mx-filtre { position: relative; display: inline-flex; align-items: center; }
.mx-filtre .iku-ico { position: absolute; left: 9px; color: var(--color-text-muted); pointer-events: none; }
.mx-filtre input {
    width: 180px; font: inherit; font-size: 12.5px; color: var(--tx1); background: var(--mx-fond, var(--surf-1)); color-scheme: inherit;
    border: 1px solid var(--o12); border-radius: 9px; padding: 6px 9px 6px 28px;
}
.mx-filtre input:focus-visible { outline: 2px solid color-mix(in srgb, var(--brand-strong) 55%, transparent); outline-offset: 1px; border-color: var(--brand-strong); }
.mx-filtre.is-grand { flex: 1 1 auto; }
.mx-filtre.is-grand input { width: 100%; font-size: 13.5px; padding: 8px 10px 8px 30px; }
.mx-seuil { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--color-text-muted); }
.mx-seuil .custom-dropdown-trigger { min-width: 64px; padding-top: 5px; padding-bottom: 5px; }
.mx-compte { font-size: 12px; color: var(--color-text-muted); white-space: nowrap; }
.mx-groupe { display: inline-flex; gap: 4px; }

/* ── Tableau ── */
.mx-table-w { overflow-x: auto; border: 1px solid var(--o12); border-radius: 12px; container-type: inline-size; }
.mx-table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 12.5px; min-width: 1180px; }
.mx-table.is-cotees { min-width: 1320px; }
.mx-table th {
    position: sticky; top: 0; z-index: 2; text-align: left; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
    color: var(--color-text-muted); padding: 8px 8px; border-bottom: 1px solid var(--o12); background: var(--mx-fond, var(--surf-1)); white-space: nowrap; vertical-align: bottom;
}
.mx-table td { padding: 8px 8px; border-bottom: 1px solid var(--o8); vertical-align: top; color: var(--color-text-secondary); background: var(--mx-fond, var(--surf-1)); }
.mx-table tbody tr:last-child td { border-bottom: 0; }
.mx-table tbody tr:hover td { background: color-mix(in srgb, var(--tx1) 4%, var(--mx-fond, var(--surf-1))); }
.mx-table .r { text-align: right; white-space: nowrap; }
.mx-table td.r { color: var(--tx1); }
.mx-table td.is-neg { color: var(--st-amber); }
.mx-table td.is-minor { color: var(--st-amber); }
/* Case et nom collés à gauche quand le tableau défile en largeur. */
.mx-c-ok { position: sticky; left: 0; z-index: 1; width: 36px; min-width: 36px; text-align: center !important; }
.mx-table th.mx-c-ok { z-index: 3; }
.mx-c-ok input { width: 16px; height: 16px; accent-color: var(--brand); cursor: pointer; vertical-align: middle; }
.mx-c-nom { position: sticky; left: 36px; z-index: 1; min-width: 170px; max-width: 230px; box-shadow: inset -1px 0 0 var(--o8); }
.mx-table th.mx-c-nom { z-index: 3; }
.mx-nom { display: block; color: var(--tx1); font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mx-sous { display: block; margin-top: 2px; font-size: 11px; color: var(--color-text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mx-table tr.is-exclue td { color: var(--color-text-muted); }
.mx-table tr.is-exclue .mx-nom, .mx-table tr.is-exclue td.r { color: var(--color-text-muted); font-weight: 600; }
.mx-table tr.is-exclue .mx-m, .mx-table tr.is-exclue .mx-score { opacity: .55; }
.mx-table tr.is-edit td { background: color-mix(in srgb, var(--brand) 7%, var(--mx-fond, var(--surf-1))); }
.mx-c-score { width: 78px; }
.mx-c-pays { width: 64px; white-space: nowrap; }
.mx-c-date { width: 72px; white-space: nowrap; }
.mx-c-act { min-width: 220px; max-width: 320px; }
.mx-sect { display: block; color: var(--tx1); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mx-desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 2px; font-size: 11.5px; line-height: 1.4; color: var(--color-text-muted); }
.mx-c-mult { width: 76px; }
.mx-c-src { max-width: 150px; }
.mx-c-a { width: 88px; white-space: nowrap; text-align: right !important; }
.mx-dev { margin-left: 3px; font-size: 9.5px; font-weight: 700; color: var(--color-text-muted); }
.mx-aucune td { text-align: center; color: var(--color-text-muted); padding: 18px; }

/* Tri */
.mx-tri { display: inline-flex; align-items: center; gap: 3px; border: 0; background: transparent; padding: 0; font: inherit; font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: inherit; cursor: pointer; }
.mx-tri:hover, .mx-tri.on { color: var(--tx1); }
.mx-tri .mx-tri-off { opacity: .35; }
th.r .mx-tri { justify-content: flex-end; }

/* Pays */
.mx-pays { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; vertical-align: middle; }
.mx-drapeau { width: 18px; height: 13px; border-radius: 2px; object-fit: cover; box-shadow: 0 0 0 1px var(--o12); flex: 0 0 auto; }
.mx-pays-c { font-size: 11.5px; font-weight: 700; color: var(--color-text-secondary); }
.mx-pays-n { font-size: 11.5px; color: var(--tx1); }
.mx-pays.is-inconnu { color: var(--st-amber); }
.mx-pays.is-inconnu .mx-pays-c { color: var(--st-amber); font-weight: 600; }

/* Score de pertinence : barre fine et nombre */
.mx-score { position: relative; display: inline-flex; align-items: center; justify-content: flex-end; width: 58px; height: 22px; padding: 0 7px; border-radius: 7px; background: var(--o6); overflow: hidden; cursor: help; }
.mx-score i { position: absolute; left: 0; bottom: 0; height: 3px; background: var(--color-text-muted); }
.mx-score b { position: relative; font-size: 12.5px; font-weight: 800; color: var(--tx1); }
.mx-score.is-haut i { background: var(--brand); }
.mx-score.is-haut { background: color-mix(in srgb, var(--brand) 12%, transparent); }
.mx-score.is-moyen i { background: color-mix(in srgb, var(--brand) 55%, var(--color-text-muted)); }
.mx-score.is-bas b { color: var(--color-text-muted); }

/* Valeurs de multiple selon leur état */
.mx-m { display: inline-flex; align-items: center; gap: 3px; font-weight: 700; color: var(--tx1); white-space: nowrap; }
.mx-m[data-tip] { cursor: help; }
.mx-m.is-saisi { font-style: italic; font-weight: 600; }
.mx-m.is-incoh { color: var(--st-amber); }
.mx-m.is-ns { font-size: 11px; font-weight: 700; color: var(--color-text-muted); border: 1px solid var(--o12); border-radius: 5px; padding: 0 5px; }
.mx-m.is-hb { color: var(--st-amber); text-decoration: line-through; text-decoration-thickness: 1.5px; font-weight: 600; }
.mx-m.is-aty { color: var(--st-amber); text-decoration: underline dotted; text-underline-offset: 3px; font-weight: 600; }

/* Source, données, actions */
.mx-lien { font-size: 12px; }
.mx-table .mx-lien { display: inline-flex; align-items: center; gap: 4px; max-width: 150px; font-weight: 600; text-decoration: none; }
.mx-table .mx-lien span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mx-table .mx-lien:hover span { text-decoration: underline; }
.mx-src, .mx-donnees { display: block; max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.mx-ico { display: inline-grid; place-items: center; width: 28px; height: 28px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: var(--color-text-muted); cursor: pointer; vertical-align: middle; }
.mx-ico:hover:not(:disabled), .mx-ico.on { color: var(--tx1); border-color: var(--o12); background: var(--o4); }
.mx-ico:disabled { opacity: .45; cursor: default; }
.mx-ico.is-note { cursor: help; }
.mx-ico .iku-spin { width: 13px; height: 13px; }

/* Fiche d'édition, sous la ligne : large comme la partie visible du tableau, quel que soit le défilement. */
.mx-fiche-tr > td { padding: 0 !important; background: color-mix(in srgb, var(--brand) 4%, var(--mx-fond, var(--surf-1))) !important; }
.mx-fiche { position: sticky; left: 0; width: 100cqw; max-width: 100%; box-sizing: border-box; padding: 12px 14px 14px; display: flex; flex-direction: column; gap: 10px; }
@supports not (width: 1cqw) { .mx-fiche { width: auto; } }
.mx-fiche-g { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 9px 12px; }
.mx-fiche-g .is-2 { grid-column: span 2; }
.mx-fiche-g .is-plein { grid-column: 1 / -1; }
.mx-fiche-lecture { display: flex; align-items: center; gap: 8px 14px; flex-wrap: wrap; font-size: 12px; }
.mx-fiche-m { display: inline-flex; align-items: center; gap: 6px; padding: 4px 9px; border-radius: 8px; background: var(--o6); }
.mx-fiche-m small { font-size: 10px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--color-text-muted); }
.mx-fiche-r { font-size: 11.5px; color: var(--st-amber); }
.mx-fiche-a { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; }

/* ── Transactions : état vide et dépôt ── */
.mx-vide-t { display: flex; flex-direction: column; gap: 10px; }
.mx-drop {
    position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center;
    gap: 5px; padding: 34px 18px; border-radius: 14px; text-align: center; cursor: pointer;
    border: 1.5px dashed color-mix(in srgb, var(--brand-strong) 45%, transparent); background: var(--o4);
    transition: border-color .15s ease, background .15s ease;
}
.mx-drop:hover { border-color: var(--brand-strong); background: color-mix(in srgb, var(--brand) 7%, transparent); }
.mx-drop.is-busy { cursor: default; border-style: solid; border-color: color-mix(in srgb, var(--brand-strong) 30%, transparent); }
.mx-drop-ic { color: var(--brand-strong); line-height: 0; margin-bottom: 4px; }
.mx-drop-t { font-size: 15px; font-weight: 700; color: var(--tx1); }
.mx-drop-s { font-size: 11.5px; color: var(--color-text-muted); }
.mx-drop-loc { display: inline-flex; align-items: center; gap: 5px; margin-top: 6px; }
.mx-drop-run { display: inline-flex; align-items: center; gap: 10px; font-size: 13px; color: var(--tx1); }
.mx-vide-a { display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.mx-essai { display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap; font-size: 12px; color: var(--color-text-muted); }

/* ── Rapport d'import ── */
.mx-import { border: 1px solid color-mix(in srgb, var(--brand) 30%, transparent); border-radius: 12px; background: color-mix(in srgb, var(--brand) 5%, transparent); padding: 9px 12px; display: flex; flex-direction: column; gap: 6px; font-size: 12px; }
.mx-import.is-err { border-color: color-mix(in srgb, var(--st-red) 40%, transparent); background: color-mix(in srgb, var(--st-red) 7%, transparent); }
.mx-import-h { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; color: var(--color-text-secondary); }
.mx-import-h b { color: var(--tx1); word-break: break-all; }
.mx-import-h .iku-ico { color: var(--brand-strong); }
.mx-import-cols { margin: 0; color: var(--color-text-muted); line-height: 1.45; }
.mx-import-ign { color: var(--st-amber); }
.mx-import-w summary { cursor: pointer; font-weight: 700; color: var(--st-amber); }
.mx-import-w ul { margin: 6px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 3px; color: var(--color-text-secondary); }
.mx-import-a { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* ── Dossier de travail ── */
.mx-dossier { display: flex; align-items: center; gap: 10px 12px; flex-wrap: wrap; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--o12); background: var(--o4); }
.mx-dossier-ic { flex: 0 0 auto; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 9px; color: var(--brand-strong); background: color-mix(in srgb, var(--brand) 12%, transparent); }
.mx-dossier-x { flex: 1 1 260px; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.mx-dossier-x b { font-size: 12.5px; color: var(--tx1); }
.mx-dossier-x span { font-size: 11.5px; color: var(--color-text-muted); overflow-wrap: anywhere; }
.mx-dossier-a { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mx-dossier-a small { font-size: 11px; color: var(--color-text-muted); }
.mx-conflit { flex: 1 1 100%; display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; padding: 8px 10px; border-radius: 9px; font-size: 12px; color: var(--tx1); border: 1px solid color-mix(in srgb, var(--st-amber) 40%, transparent); background: color-mix(in srgb, var(--st-amber) 8%, transparent); }
.mx-conflit > span:first-child { display: inline-flex; align-items: flex-start; gap: 6px; }
.mx-conflit .iku-ico { flex: 0 0 auto; margin-top: 2px; color: var(--st-amber); }
.mx-conflit-a { display: flex; gap: 6px; flex-wrap: wrap; }

/* ── Sources ── */
.mx-sources { border: 1px solid var(--o12); border-radius: 12px; background: color-mix(in srgb, var(--o4) 60%, transparent); padding: 9px 12px; font-size: 12px; }
.mx-sources summary { display: flex; align-items: center; gap: 7px; cursor: pointer; font-weight: 700; color: var(--tx1); }
.mx-sources summary .iku-ico { color: var(--brand-strong); }
.mx-sources ul { margin: 8px 0 0; padding-left: 18px; display: flex; flex-direction: column; gap: 5px; line-height: 1.45; color: var(--color-text-secondary); }
.mx-sources b { color: var(--tx1); }
.mx-sources p { margin: 8px 0 0; font-size: 11.5px; color: var(--color-text-muted); }

/* ── Sociétés cotées : recherche, candidats, fournisseur ── */
.mx-rech { display: flex; flex-direction: column; gap: 9px; padding: 11px 13px; border-radius: 12px; border: 1px solid var(--o12); background: var(--o4); }
.mx-rech-h { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.mx-rech-t { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 700; color: var(--tx1); }
.mx-rech-t .iku-ico { color: var(--brand-strong); }
.mx-rech-src { display: inline-flex; align-items: center; gap: 8px; font-size: 11.5px; color: var(--color-text-muted); }
.mx-rech-f { display: flex; gap: 8px; align-items: stretch; }
.mx-rech-run { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; color: var(--tx1); }
.mx-rech-vide { margin: 0; font-size: 12px; line-height: 1.5; color: var(--color-text-muted); }
.mx-rech-ia { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 9px 11px; border-radius: 10px; border: 1px dashed color-mix(in srgb, var(--brand) 45%, transparent); font-size: 12px; color: var(--color-text-secondary); }
.mx-rech-ia small { font-size: 11px; color: var(--color-text-muted); }
.mx-cand { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.mx-cand li { display: grid; grid-template-columns: minmax(70px, auto) minmax(0, 1fr) minmax(0, auto) auto auto; align-items: center; gap: 10px; padding: 6px 8px; border-radius: 9px; background: var(--mx-fond, var(--surf-1)); border: 1px solid var(--o8); font-size: 12.5px; }
.mx-cand-s { font-weight: 800; color: var(--tx1); white-space: nowrap; }
.mx-cand-n { color: var(--tx1); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mx-cand-p { font-size: 11.5px; color: var(--color-text-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mx-four { display: flex; flex-direction: column; gap: 8px; padding: 10px 11px; border-radius: 10px; background: var(--mx-fond, var(--surf-1)); border: 1px solid var(--o8); }
.mx-four .mx-champ input { max-width: 460px; }
.mx-four-l { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mx-four-t { font-size: 10.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--color-text-muted); }
.mx-attrib { margin: 0; display: flex; align-items: flex-start; gap: 6px; font-size: 11px; line-height: 1.45; color: var(--color-text-muted); }
.mx-attrib .iku-ico { flex: 0 0 auto; margin-top: 2px; }
.mx-attrib a { color: var(--brand-strong); }

/* ── Sociétés cotées : référence du secteur (Damodaran). Pas .mx-sect : déjà pris par le secteur des lignes du tableau. ── */
.mx-sref { display: flex; flex-direction: column; gap: 9px; padding: 11px 13px; border-radius: 12px; border: 1px solid var(--o12); background: var(--o4); }
.mx-sref .mx-rech-src { flex-wrap: wrap; row-gap: 2px; }
.mx-sref .mx-rech-src a { color: var(--brand-strong); }
.mx-sref-l { display: flex; align-items: center; gap: 10px 14px; flex-wrap: wrap; }
.mx-sref-choix { display: flex; align-items: center; gap: 8px; flex: 1 1 260px; min-width: 0; }
.mx-sref-choix .custom-dropdown { flex: 1 1 auto; min-width: 0; max-width: 380px; }
.mx-sref-v { display: flex; align-items: stretch; gap: 6px; flex-wrap: wrap; }
.mx-sref-k { display: flex; flex-direction: column; gap: 1px; min-width: 66px; padding: 4px 10px; border-radius: 9px; background: var(--mx-fond, var(--surf-1)); border: 1px solid var(--o8); }
.mx-sref-k small { font-size: 10px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--color-text-muted); white-space: nowrap; }
.mx-sref-k b { font-size: 14px; font-weight: 800; color: var(--tx1); font-variant-numeric: tabular-nums; white-space: nowrap; }
.mx-tag.is-neutre { color: var(--color-text-muted); border-color: var(--o12); background: transparent; }

/* ── Page /multiples ── */
.mx-page .retr-body { gap: 12px; }

/* ── Responsive ── */
@media (max-width: 1080px) {
    .mx-syn.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mx-fiche-g { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .mx-back { padding: 0; }
    .mx-box { width: 100%; height: 100%; max-height: 100%; border-radius: 0; border: 0; }
    .mx-box-b { padding: 12px; }
    .mx-syn, .mx-syn.is-4 { grid-template-columns: minmax(0, 1fr); }
    .mx-syn-v b { font-size: 22px; }
    .mx-ref-f { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mx-ref-f .is-2 { grid-column: 1 / -1; }
    .mx-fiche-g { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mx-fiche-g .is-2 { grid-column: 1 / -1; }
    .mx-tabs { display: flex; width: 100%; }
    .mx-tabs button { flex: 1 1 0; justify-content: center; padding: 7px 8px; }
    .mx-outils, .mx-outils-g, .mx-outils-d { width: 100%; }
    .mx-filtre, .mx-filtre input { width: 100%; }
    .mx-filtre { flex: 1 1 100%; }
    .mx-seuil { flex-wrap: wrap; }
    .mx-outils-d .mx-btn { flex: 1 1 auto; }
    .mx-c-nom { min-width: 130px; max-width: 150px; }
    .mx-cand li { grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto; }
    .mx-cand-p { display: none; }
    .mx-rech-f { flex-wrap: wrap; }
    .mx-rech-f .mx-btn { flex: 1 1 100%; }
    .mx-sref-choix { flex: 1 1 100%; flex-wrap: wrap; }
    .mx-sref-choix .custom-dropdown { flex: 1 1 100%; max-width: none; }
    .mx-sref-v { width: 100%; }
    .mx-sref-k { flex: 1 1 calc(33.333% - 6px); min-width: 0; }
    .mx-sref-l > .mx-btn { width: 100%; justify-content: center; }
    .mx-dossier-a, .mx-dossier-a .mx-btn { width: 100%; }
    .mx-dossier-a .mx-btn { flex: 1 1 0; }
    .mx-app-h .mx-btn { width: 100%; }
    .mx-segment { flex-wrap: wrap; }
}
