/* 1.2.0 — Maillage interne : vue d'ensemble, suggestions, auto-maillage,
   graphe SVG force-directed, rapport d'ancres, réglages. Chargé après
   admin.css (Essiow_Admin::enqueue_assets → assets/css/pages/internal-links.css).
   Aucun style inline dans la vue / le JS hors positions calculées du graphe
   (transform SVG, tooltip, largeurs de barres). */

/* ── Communs ─────────────────────────────────────────────────────── */
.essiow-il .essiow-page-header__meta .essiow-badge { font-weight: 500; text-transform: none; letter-spacing: 0; }
.essiow-il-kpis { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.essiow-il-page { display: flex; align-items: flex-start; gap: 8px; min-width: 0; }
.essiow-il-page__text { display: flex; flex-direction: column; min-width: 0; }
.essiow-il-page__title { font-weight: 600; color: var(--essiow-text); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 34ch; }
.essiow-il-page__title:hover { color: var(--essiow-primary); }
.essiow-il-page .essiow-td-sub { max-width: 34ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.essiow-il-type-icon { width: 15px; height: 15px; flex-shrink: 0; margin-top: 3px; color: var(--essiow-text-3); }
.essiow-il-type .essiow-il-type-icon { margin: 0 4px 0 0; width: 12px; height: 12px; color: inherit; }
.essiow-il-status .essiow-badge { margin: 1px 2px 1px 0; }
.essiow-il-inout small { display: block; font-size: 10px; color: var(--essiow-text-3); font-weight: 400; line-height: 1; }
.essiow-il-anchor { font-size: var(--essiow-fs-xs); padding: 2px 6px; background: var(--essiow-primary-soft); color: var(--essiow-primary); border-radius: var(--essiow-radius-sm); border: 1px solid #d6dffb; white-space: nowrap; }
.essiow-il .essiow-table--compact .essiow-il-page__title { font-weight: 500; }
.essiow-il .essiow-row--done td { background: var(--essiow-success-soft); }
.essiow-il .essiow-row--muted td { opacity: 0.55; }
.essiow-il .essiow-card__footer[hidden] { display: none; }
/* En-tête de tableau : dans un conteneur .essiow-table-scroll, le sticky
   « sous la barre admin » décale l'en-tête sur la première ligne → top: 0. */
.essiow-il .essiow-table-scroll .essiow-table thead th { top: 0; }

/* ── Vue d'ensemble ──────────────────────────────────────────────── */
.essiow-il-overview { grid-template-columns: minmax(0, 1fr) 340px; align-items: start; }
.essiow-il-overview__side .essiow-card { margin-bottom: var(--essiow-space-4); }
.essiow-il-fix-filters { padding: 10px 16px; border-bottom: 1px solid var(--essiow-border); margin: 0; }
.essiow-il-fix-filters .essiow-tab__count { margin-left: 4px; }
.essiow-il-fix-list .essiow-table-scroll table { min-width: 820px; }
/* 1.3.0 — la colonne Actions tient sur UNE ligne à 1280 px : depuis l'ajout du
   lien « Modifier », elle s'étalait sur trois lignes. « Suggérer un lien » est
   passé en bouton icône (libellé conservé en title / aria-label). */
.essiow-il-fix-list .essiow-row-actions { flex-wrap: nowrap; justify-content: flex-end; gap: 4px; margin-left: auto; }
.essiow-il-fix-list .essiow-table .essiow-td-actions { width: 250px; }
.essiow-il-score__body { display: flex; align-items: center; gap: var(--essiow-space-5); }
.essiow-il-factors { list-style: none; margin: 0; padding: 0; flex: 1; min-width: 0; }
.essiow-il-factor { display: grid; grid-template-columns: minmax(0, 1fr) 64px auto; align-items: center; gap: 8px; padding: 5px 0; font-size: var(--essiow-fs-xs); color: var(--essiow-text-2); }
.essiow-il-factor__label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.essiow-il-factor__bar { height: 6px; border-radius: 999px; background: var(--essiow-surface-3); overflow: hidden; }
.essiow-il-factor__fill { display: block; height: 100%; border-radius: 999px; background: var(--essiow-primary); transition: width var(--essiow-dur) var(--essiow-ease); }
.essiow-il-factor--good .essiow-il-factor__fill { background: var(--essiow-success); }
.essiow-il-factor--mid  .essiow-il-factor__fill { background: var(--essiow-warning); }
.essiow-il-factor--low  .essiow-il-factor__fill { background: var(--essiow-danger); }
.essiow-il-factor__pts { font-weight: 600; color: var(--essiow-text); white-space: nowrap; }
.essiow-il-depth__bars { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; align-items: end; height: 110px; }
.essiow-il-depth__col { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; gap: 3px; }
.essiow-il-depth__val { font-size: 10px; color: var(--essiow-text-3); line-height: 1; height: 10px; }
.essiow-il-depth__bar { width: 100%; flex: 1; display: flex; align-items: flex-end; background: var(--essiow-surface-3); border-radius: 4px 4px 2px 2px; overflow: hidden; }
.essiow-il-depth__bar > span { display: block; width: 100%; min-height: 2px; background: var(--essiow-primary); border-radius: 4px 4px 0 0; transition: height var(--essiow-dur) var(--essiow-ease); }
.essiow-il-depth__bar--good > span { background: var(--essiow-success); }
.essiow-il-depth__bar--mid  > span { background: var(--essiow-warning); }
.essiow-il-depth__bar--low  > span { background: var(--essiow-danger); }
.essiow-il-depth__lbl { font-size: 11px; color: var(--essiow-text-2); font-weight: 600; }
.essiow-il-depth__hint { margin: 10px 0 0; }

/* ── Suggestions ─────────────────────────────────────────────────── */
.essiow-il-sug-filters { padding: 10px 16px; border-bottom: 1px solid var(--essiow-border); margin: 0; }
.essiow-il-sug-list .essiow-table-scroll table { min-width: 860px; }
.essiow-il-sug-arrow { width: 28px; text-align: center; color: var(--essiow-text-3); }
.essiow-il-sug-arrow .essiow-il-arrow { width: 16px; height: 16px; }
.essiow-il-sug-meta { display: flex; align-items: center; gap: 6px; margin-top: 4px; padding-left: 23px; }
.essiow-il-sug-row--more td { border-top-color: transparent; }
.essiow-il-sug-same { display: inline-flex; padding-left: 4px; color: var(--essiow-text-3); }
.essiow-il-manual { margin-top: var(--essiow-space-4); padding: 0; }
.essiow-il-manual > summary .essiow-card__meta { font-weight: 400; margin-left: 4px; }
.essiow-il-pair { display: grid; grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr); gap: var(--essiow-space-4); align-items: start; }
.essiow-il-pair .essiow-field { margin: 0; }
.essiow-il-pair__search { max-width: none; margin-bottom: 6px; }
.essiow-il-pair__select { width: 100%; height: auto; min-height: 200px; padding: 4px; font-size: var(--essiow-fs-xs); }
.essiow-il-pair__arrow { display: flex; align-items: center; justify-content: center; padding-top: 40px; color: var(--essiow-text-3); }
.essiow-il-pair__actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: var(--essiow-space-4); }
.essiow-il-pair__result { margin-top: var(--essiow-space-3); }
.essiow-il-pair__result:empty { display: none; }

/* ── Auto-maillage ───────────────────────────────────────────────── */
.essiow-il-steps { display: flex; list-style: none; margin: 0 0 var(--essiow-space-4); padding: 0; gap: 0; border: 1px solid var(--essiow-border); border-radius: var(--essiow-radius); overflow: hidden; }
.essiow-il-step { flex: 1; display: flex; align-items: center; gap: 8px; padding: 9px 14px; font-size: var(--essiow-fs-xs); font-weight: 600; color: var(--essiow-text-3); background: var(--essiow-surface-2); border-right: 1px solid var(--essiow-border); }
.essiow-il-step:last-child { border-right: 0; }
.essiow-il-step__n { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--essiow-surface); border: 1px solid var(--essiow-border-strong); font-size: 11px; }
.essiow-il-step.is-active { color: var(--essiow-primary); background: var(--essiow-primary-soft); }
.essiow-il-step.is-active .essiow-il-step__n { background: var(--essiow-primary); border-color: var(--essiow-primary); color: #fff; }
.essiow-il-step.is-done { color: var(--essiow-success-text); }
.essiow-il-step.is-done .essiow-il-step__n { background: var(--essiow-success); border-color: var(--essiow-success); color: #fff; }
.essiow-il-rules { list-style: none; margin: 0 0 var(--essiow-space-4); padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 20px; font-size: var(--essiow-fs-xs); color: var(--essiow-text-2); }
.essiow-il-rules li { display: flex; gap: 6px; align-items: flex-start; }
.essiow-il-rules .essiow-icon { flex-shrink: 0; margin-top: 2px; }
.essiow-il-am-cta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.essiow-il-am-kpis { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin: 0 0 var(--essiow-space-4); }
.essiow-il-am-kpi { padding: 10px 12px; border: 1px solid var(--essiow-border); border-radius: var(--essiow-radius); background: var(--essiow-surface-2); min-width: 0; }
.essiow-il-am-kpi.is-primary { background: var(--essiow-primary-soft); border-color: #d6dffb; }
.essiow-il-am-kpi__label { display: block; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--essiow-text-3); margin-bottom: 4px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.essiow-il-am-kpi__value { font-size: var(--essiow-fs-lg); font-weight: 700; color: var(--essiow-text); white-space: nowrap; }
.essiow-il-am-kpi__value small { font-size: var(--essiow-fs-xs); font-weight: 500; color: var(--essiow-text-3); }
.essiow-il-am-kpi__arrow { color: var(--essiow-text-3); font-weight: 400; }
.essiow-il-am-subtitle { display: flex; align-items: center; gap: 6px; margin: var(--essiow-space-4) 0 var(--essiow-space-2); font-size: var(--essiow-fs-base); font-weight: 600; }
.essiow-il-am-preview { max-height: 360px; overflow: auto; border: 1px solid var(--essiow-border); border-radius: var(--essiow-radius); margin-bottom: var(--essiow-space-3); }
.essiow-il-am-preview .essiow-table thead th { position: sticky; top: 0; z-index: 1; }
.essiow-il-am-targets { display: flex; flex-wrap: wrap; gap: 6px; }
.essiow-il-am-target { display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; border-radius: 999px; background: var(--essiow-surface-3); font-size: var(--essiow-fs-xs); color: var(--essiow-text); max-width: 100%; }
.essiow-il-am-target .essiow-il-type-icon { margin: 0; }
.essiow-il-am-target small { color: var(--essiow-text-3); }
.essiow-il-am-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; margin-top: var(--essiow-space-4); }
.essiow-il-am-eta { font-weight: 400; opacity: .8; font-size: var(--essiow-fs-xs); margin-left: 4px; }
.essiow-il-am-progress .essiow-progress { margin-top: 0; }
.essiow-il-am-status { display: flex; align-items: center; gap: 6px; margin: 8px 0 4px; font-size: var(--essiow-fs-md); }
.essiow-il-am-done { display: flex; align-items: center; gap: var(--essiow-space-4); padding: var(--essiow-space-4); background: var(--essiow-success-soft); border-radius: var(--essiow-radius-lg); }
.essiow-il-am-done__icon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: var(--essiow-surface); color: var(--essiow-success); flex-shrink: 0; }
.essiow-il-am-done__body h3 { margin: 0 0 4px; font-size: var(--essiow-fs-lg); color: var(--essiow-success-text); }
.essiow-il-am-done__body p { margin: 0; color: var(--essiow-success-text); }
.essiow-il-am-grid { margin-top: var(--essiow-space-4); }
.essiow-il-am-grid .essiow-card { margin-bottom: 0; }
.essiow-il-lastrun { margin: 0 0 var(--essiow-space-3); color: var(--essiow-text-2); font-size: var(--essiow-fs-base); }
.essiow-il-revert { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 12px 14px; border: 1px solid var(--essiow-border); border-radius: var(--essiow-radius); background: var(--essiow-surface-2); }
.essiow-il-revert p { margin: 0; flex: 1 1 220px; }
.essiow-il-revert[hidden] { display: none; }

/* ── Graphe ──────────────────────────────────────────────────────── */
.essiow-il-graph-card { overflow: visible; }
.essiow-il-graph[data-loading] { padding: 0; }
.essiow-il-gtb { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 14px; border-bottom: 1px solid var(--essiow-border); background: var(--essiow-surface); border-radius: var(--essiow-radius-lg) var(--essiow-radius-lg) 0 0; }
.essiow-il-gsearch { position: relative; flex: 0 1 260px; min-width: 180px; }
.essiow-il-gsearch .essiow-filters__search { max-width: none; }
.essiow-il-gsearch__list { position: absolute; top: calc(100% + 4px); left: 0; right: 0; z-index: 20; margin: 0; padding: 4px; list-style: none; background: var(--essiow-surface); border: 1px solid var(--essiow-border); border-radius: var(--essiow-radius); box-shadow: var(--essiow-shadow-md); max-height: 280px; overflow: auto; }
.essiow-il-gsearch__list[hidden] { display: none; }
.essiow-il-gsearch__list button { display: flex; align-items: center; gap: 8px; width: 100%; padding: 7px 8px; border: 0; background: none; text-align: left; border-radius: var(--essiow-radius-sm); cursor: pointer; font-size: var(--essiow-fs-xs); color: var(--essiow-text); }
.essiow-il-gsearch__list button:hover, .essiow-il-gsearch__list button:focus { background: var(--essiow-primary-soft); color: var(--essiow-primary); outline: none; }
.essiow-il-gsearch__list button span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.essiow-il-gsearch__list .essiow-il-type-icon { margin: 0; }
.essiow-il-gchips { display: inline-flex; gap: 4px; flex-wrap: wrap; }
.essiow-il-gchip { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border: 1px solid var(--essiow-border); border-radius: 999px; background: var(--essiow-surface-2); color: var(--essiow-text-3); font-size: var(--essiow-fs-xs); font-weight: 500; cursor: pointer; transition: all var(--essiow-dur) var(--essiow-ease); }
.essiow-il-gchip.is-active { background: var(--essiow-surface); color: var(--essiow-text); border-color: var(--essiow-border-strong); }
.essiow-il-gchip:hover { border-color: var(--essiow-primary); }
.essiow-il-gchip__dot { width: 9px; height: 9px; border-radius: 50%; background: #94a3b8; opacity: .35; }
.essiow-il-gchip.is-active .essiow-il-gchip__dot { opacity: 1; }
.essiow-il-gchip__dot--product { background: #3858e9; }
.essiow-il-gchip__dot--category { background: #0f9d8a; }
.essiow-il-gchip__dot--article { background: #8b5cf6; }
.essiow-il-gchip__dot--page { background: #64748b; }
.essiow-il-gchip__n { color: var(--essiow-text-3); font-weight: 400; }
.essiow-il-gtoggle { display: inline-flex; align-items: center; gap: 6px; font-size: var(--essiow-fs-xs); color: var(--essiow-text-2); cursor: pointer; white-space: nowrap; }
.essiow-il-gtoggle input { margin: 0; }
.essiow-il-gzoom .essiow-btn { border-radius: 0; margin-left: -1px; }
.essiow-il-gzoom .essiow-btn:first-child { border-radius: var(--essiow-radius-sm) 0 0 var(--essiow-radius-sm); margin-left: 0; }
.essiow-il-gzoom .essiow-btn:last-child { border-radius: 0 var(--essiow-radius-sm) var(--essiow-radius-sm) 0; }
.essiow-il-gcanvas { position: relative; height: 640px; overflow: hidden; background: radial-gradient(circle, #e2e8f0 1px, transparent 1px) 0 0 / 22px 22px, #fbfcfd; cursor: grab; user-select: none; -webkit-user-select: none; }
.essiow-il-gcanvas.is-panning { cursor: grabbing; }
.essiow-il-gcanvas.is-linking { cursor: crosshair; }
.essiow-il-svg { display: block; width: 100%; height: 100%; }
.essiow-il-edge__line { fill: none; stroke: #b6c0cf; stroke-width: 1.1; stroke-opacity: .7; transition: stroke .15s ease, stroke-opacity .15s ease; }
.essiow-il-edge__hit { fill: none; stroke: transparent; stroke-width: 12; cursor: pointer; pointer-events: stroke; }
.essiow-il-edge:hover .essiow-il-edge__line { stroke: var(--essiow-danger); stroke-opacity: 1; stroke-width: 2.4; }
.essiow-il-edge.is-hi .essiow-il-edge__line { stroke: var(--essiow-primary); stroke-opacity: .95; stroke-width: 1.8; }
.essiow-il-edge.is-dim .essiow-il-edge__line { stroke-opacity: .12; }
.essiow-il-edge.is-dim .essiow-il-edge__hit { pointer-events: none; }
.essiow-il-gcanvas.is-far .essiow-il-edge__line { stroke-opacity: .4; }
.essiow-il-node { cursor: pointer; }
.essiow-il-node__dot { stroke: #fff; stroke-width: 1.5; transition: stroke-width .12s ease, opacity .15s ease; }
.essiow-il-node:hover .essiow-il-node__dot, .essiow-il-node.is-focus .essiow-il-node__dot { stroke: var(--essiow-primary); stroke-width: 3; }
.essiow-il-node.is-orphan .essiow-il-node__dot { stroke: var(--essiow-danger); stroke-width: 3; }
.essiow-il-node.is-weak .essiow-il-node__dot { stroke: var(--essiow-warning); stroke-width: 2.5; stroke-dasharray: 3 2; }
.essiow-il-node.is-target .essiow-il-node__dot { stroke: var(--essiow-success); stroke-width: 5; }
.essiow-il-node.is-dragging { pointer-events: none; }
.essiow-il-node.is-dragging .essiow-il-node__dot { stroke: var(--essiow-primary); stroke-width: 3; }
.essiow-il-node__halo { opacity: .16; pointer-events: none; }
.essiow-il-node.is-focus .essiow-il-node__halo { opacity: .28; }
.essiow-il-node__label { font-size: 10.5px; font-weight: 500; fill: var(--essiow-text); paint-order: stroke; stroke: #fbfcfd; stroke-width: 3px; stroke-linejoin: round; pointer-events: none; opacity: 0; transition: opacity .15s ease; }
.essiow-il-node.is-big .essiow-il-node__label, .essiow-il-node:hover .essiow-il-node__label, .essiow-il-node.is-focus .essiow-il-node__label, .essiow-il-node.is-near .essiow-il-node__label, .essiow-il-node.is-target .essiow-il-node__label,
.essiow-il-gcanvas.is-zoomed .essiow-il-node__label, .essiow-il-gcanvas.show-labels .essiow-il-node__label { opacity: 1; }
.essiow-il-gcanvas.is-far .essiow-il-node:not(.is-focus):not(:hover):not(.is-big) .essiow-il-node__label { opacity: 0; }
.essiow-il-node.is-focus .essiow-il-node__label { font-weight: 700; font-size: 12px; }
.essiow-il-gcanvas.has-focus .essiow-il-node.is-dim { opacity: .18; }
.essiow-il-gcanvas.has-focus .essiow-il-node.is-dim .essiow-il-node__label { opacity: 0; }
.essiow-il-gtip { position: absolute; z-index: 15; max-width: 300px; padding: 8px 10px; background: var(--essiow-surface); border: 1px solid var(--essiow-border); border-radius: var(--essiow-radius); box-shadow: var(--essiow-shadow-md); font-size: var(--essiow-fs-xs); color: var(--essiow-text-2); pointer-events: none; }
.essiow-il-gtip[hidden] { display: none; }
.essiow-il-gtip strong { display: block; color: var(--essiow-text); margin-bottom: 4px; font-size: var(--essiow-fs-xs); }
.essiow-il-gtip__row { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; margin-top: 3px; }
.essiow-il-gtip__row b { color: var(--essiow-text); }
.essiow-il-gtip .essiow-badge { font-size: 10px; padding: 1px 6px; }
.essiow-il-glegend { position: absolute; left: 12px; bottom: 12px; z-index: 5; display: flex; flex-wrap: wrap; gap: 4px 12px; max-width: calc(100% - 210px); padding: 8px 10px; background: rgba(255,255,255,.92); border: 1px solid var(--essiow-border); border-radius: var(--essiow-radius); font-size: 11px; color: var(--essiow-text-2); pointer-events: none; }
.essiow-il-glegend > span { display: inline-flex; align-items: center; gap: 5px; }
.essiow-il-glegend__dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: #94a3b8; border: 1.5px solid #fff; box-shadow: 0 0 0 1px var(--essiow-border); }
.essiow-il-glegend__dot--orphan { background: #fff; border: 2.5px solid var(--essiow-danger); box-shadow: none; }
.essiow-il-glegend__dot--weak { background: #fff; border: 2px dashed var(--essiow-warning); box-shadow: none; }
.essiow-il-glegend__dot--hub { background: var(--essiow-primary); box-shadow: 0 0 0 3px rgba(56, 88, 233, .2); }
.essiow-il-glegend__hint { color: var(--essiow-text-3); }
.essiow-il-minimap { position: absolute; right: 12px; bottom: 12px; z-index: 5; width: 160px; height: 110px; cursor: pointer; }
.essiow-il-minimap__bg { fill: rgba(255,255,255,.9); stroke: var(--essiow-border); }
.essiow-il-minimap__view { fill: rgba(56, 88, 233, .1); stroke: var(--essiow-primary); stroke-width: 1; }
.essiow-il-gstatus { position: absolute; top: 10px; right: 12px; z-index: 5; padding: 4px 10px; background: rgba(255,255,255,.92); border: 1px solid var(--essiow-border); border-radius: 999px; font-size: 11px; color: var(--essiow-text-2); pointer-events: none; }
.essiow-il-gstatus:empty { display: none; }
.essiow-il-ghelp { display: flex; align-items: center; gap: 6px; padding: 8px 14px; border-top: 1px solid var(--essiow-border); background: var(--essiow-surface-2); font-size: 11px; color: var(--essiow-text-3); border-radius: 0 0 var(--essiow-radius-lg) var(--essiow-radius-lg); }

/* ── Drawer (page focus) ─────────────────────────────────────────── */
.essiow-il-dhead { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: var(--essiow-space-3); }
.essiow-il-dstats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; width: 100%; margin: 10px 0 0; }
.essiow-il-dstats > div { padding: 8px 10px; background: var(--essiow-surface-2); border: 1px solid var(--essiow-border); border-radius: var(--essiow-radius); min-width: 0; }
.essiow-il-dstats dt { font-size: 10px; text-transform: uppercase; letter-spacing: .04em; color: var(--essiow-text-3); font-weight: 600; margin: 0 0 2px; }
.essiow-il-dstats dd { margin: 0; font-size: var(--essiow-fs-md); font-weight: 700; color: var(--essiow-text); }
.essiow-il-dstats dd small { display: block; font-size: 10px; font-weight: 400; color: var(--essiow-text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.essiow-il-dlist { list-style: none; margin: 0; padding: 0; }
.essiow-il-dlist li { display: flex; align-items: center; gap: 8px; padding: 6px 0; border-top: 1px solid var(--essiow-surface-3); font-size: var(--essiow-fs-xs); }
.essiow-il-dlist li:first-child { border-top: 0; }
.essiow-il-dlist li.is-done { opacity: .6; }
.essiow-il-dlist a { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--essiow-text); text-decoration: none; }
.essiow-il-dlist a:hover { color: var(--essiow-primary); }
.essiow-il-dlist .essiow-il-type-icon { margin: 0; }
.essiow-il-dlist__main { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.essiow-il-dlist__main small { color: var(--essiow-text-3); }
.essiow-il-dlist .essiow-btn { flex-shrink: 0; }

/* ── Rapport d'ancres ────────────────────────────────────────────── */
.essiow-il-anchors-bar { width: 30%; }
.essiow-il-bar { display: block; height: 6px; border-radius: 999px; background: var(--essiow-surface-3); overflow: hidden; }
.essiow-il-bar > span { display: block; height: 100%; background: var(--essiow-primary); border-radius: 999px; }

/* ── Réglages ────────────────────────────────────────────────────── */
.essiow-il-settings .essiow-field__control input.essiow-il-settings__num { width: 120px; }
.essiow-il-anchors-warnings { max-height: 320px; overflow: auto; border: 1px solid var(--essiow-border); border-radius: var(--essiow-radius); margin-bottom: var(--essiow-space-3); }
.essiow-il-anchors-warnings .essiow-table thead th { position: sticky; top: 0; }
.essiow-il-settings textarea { width: 100%; max-width: 560px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: var(--essiow-fs-xs); }

/* ── Responsive ──────────────────────────────────────────────────── */
@media screen and (max-width: 1440px) {
    .essiow-il-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media screen and (max-width: 1280px) {
    .essiow-il-overview { grid-template-columns: 1fr; }
    .essiow-il-am-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .essiow-il-glegend { max-width: calc(100% - 24px); bottom: 130px; }
}
@media screen and (max-width: 782px) {
    .essiow-il-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .essiow-il-score__body { flex-direction: column; align-items: stretch; }
    .essiow-il-pair { grid-template-columns: 1fr; }
    .essiow-il-pair__arrow { padding: 0; transform: rotate(90deg); }
    .essiow-il-rules { grid-template-columns: 1fr; }
    .essiow-il-am-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .essiow-il-steps { flex-wrap: wrap; }
    .essiow-il-step { flex: 1 1 50%; border-bottom: 1px solid var(--essiow-border); }
    .essiow-il-gcanvas { height: 480px; }
    .essiow-il-minimap { display: none; }
    .essiow-il-glegend { bottom: 12px; }
    .essiow-il-dstats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .essiow-il-gsearch { flex-basis: 100%; }
}
@media screen and (max-width: 480px) {
    .essiow-il-kpis { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .essiow-il-factor__fill, .essiow-il-depth__bar > span, .essiow-il-edge__line, .essiow-il-node__dot, .essiow-il-node__label { transition: none; }
}
