/* ═══════════════════════════════════════════════════════════════
   LETTRAGE PAR TIERS — Axeane UI V2
   Toutes les règles sont scopées sous .ltr-root (écran) : aucune classe ax-* globale n'est
   redéfinie hors de ce périmètre. Couleurs : jetons --ax-* du design system.
   Disposition : panneau des comptes (30 %, repliable) | écritures du compte choisi.
   ═══════════════════════════════════════════════════════════════ */

.ltr-root {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    font-family: var(--ax-font);
    position: relative;
}
.ltr-root .ltr-btn-discret { font-size: 12.5px; }
/* Sans ceci, une bulle posee sur un petit bouton-icone capte la souris : l'icone clignote et le
   clic ne passe plus. Les bulles sont annexees au body, d'ou la classe dediee plutot qu'un scope. */
.tooltip.ltr-tip { pointer-events: none; }
.ltr-root .ltr-btn-danger { color: #b91c1c; border-color: #f5c2bd; }
.ltr-root .ltr-espace { flex: 1; }

/* ── Corps en deux panneaux ── */
.ltr-root .ltr-corps {
    flex: 1;
    min-height: 0;
    display: flex;
    gap: 0;
    background: #fff;
    border: 1px solid var(--ax-border);
    border-radius: 10px;
    /* PAS d'overflow:hidden ici : nya-bs-select ne sait pas s'annexer au <body>, son menu serait
       rogne par cet ancetre. Les arrondis sont repris sur les deux panneaux. */
    overflow: visible;
}

/* ── Panneau des comptes ── */
.ltr-root .ltr-tiers {
    flex: 0 0 30%;
    max-width: 420px;
    min-width: 260px;
    min-height: 0;
    display: flex;
    flex-direction: column;
    border-right: 1px solid var(--ax-border);
    background: #fafbfd;
    border-radius: 10px 0 0 10px;   /* repris de .ltr-corps, qui ne rogne plus */
    transition: max-width .2s ease, flex-basis .2s ease;
}
.ltr-root .ltr-tiers.ltr-replie { flex-basis: 0; width: 0; min-width: 0; max-width: 0; overflow: hidden; border-right: 0; }
.ltr-root .ltr-tiers-tete { padding: 12px; display: grid; gap: 8px; border-bottom: 1px solid var(--ax-border); }
.ltr-root .ax-search-wrapper.ltr-recherche { margin: 0; width: 100%; min-width: 0; }
.ltr-root .ax-search-wrapper.ltr-recherche input { box-sizing: border-box; }
.ltr-root .ltr-case { display: flex; align-items: center; gap: 6px; margin: 0; font-weight: normal; font-size: 13px; color: var(--ax-text-sec); cursor: pointer; }
.ltr-root .ltr-ajout { position: relative; }
.ltr-root .ltr-ajout input { width: 100%; border: 1px dashed var(--ax-border); border-radius: 6px; padding: 5px 8px; font-size: 13px; }
.ltr-root .ltr-ajout-liste { position: absolute; z-index: 20; left: 0; right: 0; top: 100%; margin: 2px 0 0; padding: 4px; list-style: none;
    background: #fff; border: 1px solid var(--ax-border); border-radius: 6px; box-shadow: 0 6px 16px rgba(15, 23, 42, .12); }
.ltr-root .ltr-ajout-liste button { width: 100%; text-align: left; border: 0; background: none; padding: 5px 6px; font-size: 13px; border-radius: 4px; }
.ltr-root .ltr-ajout-liste button:hover, .ltr-root .ltr-ajout-liste button:focus { background: var(--ax-primary-50); }

.ltr-root .ltr-tiers-liste { flex: 1; min-height: 0; overflow-y: auto; margin: 0; padding: 4px 0; list-style: none; }
.ltr-root .ltr-tiers-liste > li { padding: 8px 12px; border-left: 3px solid transparent; cursor: pointer; }
.ltr-root .ltr-tiers-liste > li:hover { background: #f1f4fb; }
.ltr-root .ltr-tiers-liste > li.ltr-actif { background: var(--ax-primary-50); border-left-color: var(--ax-primary); }
.ltr-root .ltr-tiers-liste > li.ltr-solde .ltr-nom { color: var(--ax-text-sec); }
.ltr-root .ltr-tiers-l1, .ltr-root .ltr-tiers-l2 { display: flex; align-items: baseline; gap: 8px; }
.ltr-root .ltr-tiers-l2 { margin-top: 2px; }
.ltr-root .ltr-code { font-family: var(--ax-font-mono, ui-monospace, monospace); font-size: 12.5px; color: #0f172a; }
.ltr-root .ltr-montant { margin-left: auto; font-variant-numeric: tabular-nums; font-weight: 600; font-size: 13px; color: #0f172a; white-space: nowrap; }
.ltr-root .ltr-montant small { color: var(--ax-text-sec); font-weight: 600; }
.ltr-root .ltr-montant.ltr-zero { color: var(--ax-text-sec); font-weight: normal; }
.ltr-root .ltr-nom { flex: 1; min-width: 0; font-size: 13px; color: #334155; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ltr-root .ltr-nb { font-size: 13px; color: #9a6700; background: var(--ax-warning-light); border-radius: 10px; padding: 0 7px; white-space: nowrap; }
.ltr-root .ltr-nb-ok { color: var(--ax-success-text); background: var(--ax-success-light); }
.ltr-root .ltr-retirer { border: 0; background: none; color: var(--ax-text-sec); padding: 0 2px; }
.ltr-root .ltr-etat { padding: 18px 12px; color: var(--ax-text-sec); font-size: 13px; text-align: center; cursor: default; }
.ltr-root .ltr-tiers-pied { padding: 6px 12px; font-size: 13px; color: var(--ax-text-sec); border-top: 1px solid var(--ax-border); }

.ltr-root .ltr-repli { flex: 0 0 18px; border: 0; border-right: 1px solid var(--ax-border); background: #f4f6fa; color: var(--ax-text-sec); padding: 0; }
.ltr-root .ltr-repli:hover { background: var(--ax-primary-50); color: var(--ax-primary); }

/* ── Panneau des écritures ── */
.ltr-root .ltr-detail { flex: 1; min-width: 0; min-height: 0; display: flex; flex-direction: column; }
.ltr-root .ltr-vide { margin: auto; text-align: center; color: var(--ax-text-sec); font-size: 14px; display: grid; gap: 8px; }
.ltr-root .ltr-vide .fa { font-size: 28px; color: var(--ax-primary-light); }
.ltr-root .ltr-detail-contenu { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.ltr-root .ltr-entete { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; padding: 12px 16px; border-bottom: 1px solid var(--ax-border); }
.ltr-root .ltr-entete-tiers { flex: 1; min-width: 200px; }
.ltr-root .ltr-entete-nom { font-size: 15px; font-weight: 700; color: #0f172a; }
.ltr-root .ltr-entete-compte { display: flex; gap: 8px; align-items: center; margin-top: 2px; }
.ltr-root .ltr-badge-cat { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--ax-primary-dark);
    background: var(--ax-primary-50); border-radius: 10px; padding: 1px 8px; }
.ltr-root .ltr-kpi { display: flex; gap: 18px; }
.ltr-root .ltr-kpi > div { display: grid; text-align: right; }
.ltr-root .ltr-kpi span { font-size: 13px; color: var(--ax-text-sec); text-transform: uppercase; letter-spacing: .04em; }
.ltr-root .ltr-kpi b { font-size: 15px; font-variant-numeric: tabular-nums; color: #0f172a; }
.ltr-root .ltr-kpi .ltr-kpi-alerte b { color: #9a6700; }

.ltr-root .ltr-barre-filtres { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 10px 16px; }
.ltr-root .ltr-filtres-avances { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; padding: 0 16px 10px; font-size: 13px; }
/* Les champs portent ax-input / ax-select : hauteur, bordure, focus et taille de police viennent
   du design system. Ici, uniquement la mise en page de la barre. */
.ltr-root .ltr-filtres-avances label.ax-label { display: grid; gap: 3px; margin: 0; }
.ltr-root .ltr-filtres-avances .ax-input { min-width: 160px; }
.ltr-root .ltr-filtres-avances .ltr-filtre-texte { min-width: 220px; }

/* Listes deroulantes : le composant de l'application, habille comme .ax-input du design system.
   Un <select> natif ouvre un menu dessine par le systeme, que le CSS ne peut pas atteindre. */
.ltr-root .ltr-filtres-avances ol.nya-bs-select.ltr-liste {
    display: block !important;      /* le composant est inline-block par defaut */
    width: 180px !important;        /* la regle vendeur impose 220px en (0,4,0) */
    min-width: 180px; margin: 0; padding: 0; background: none; border: 0; box-shadow: none; height: auto;
}
.ltr-root .ltr-filtres-avances ol.nya-bs-select.ltr-liste > button.dropdown-toggle {
    /* memes metriques que .ax-input : le bouton et le champ texte doivent s'aligner a 1 px pres. */
    width: 100%; height: auto; line-height: 1.5; box-sizing: border-box; text-align: left;
    padding: 9px 26px 9px 14px; border: 1.5px solid #cbd5e1; border-radius: var(--ax-radius-sm);
    background: var(--ax-card); color: var(--ax-text); font-family: var(--ax-font); font-size: 13.5px;
    font-weight: normal; box-shadow: var(--ax-shadow-xs); transition: border-color .2s ease, box-shadow .2s ease;
}
.ltr-root .ltr-filtres-avances ol.nya-bs-select.ltr-liste > button.dropdown-toggle:hover { border-color: var(--ax-primary-light); }
.ltr-root .ltr-filtres-avances ol.nya-bs-select.ltr-liste.open > button.dropdown-toggle,
.ltr-root .ltr-filtres-avances ol.nya-bs-select.ltr-liste > button.dropdown-toggle:focus {
    border-color: var(--ax-primary); box-shadow: 0 0 0 3px var(--ax-primary-50);
}
.ltr-root .ltr-filtres-avances ol.nya-bs-select.ltr-liste > button.dropdown-toggle .caret { right: 10px; }
/* La coche se recopie dans le bouton si on ne la masque pas. */
.ltr-root .ltr-filtres-avances ol.nya-bs-select.ltr-liste > .dropdown-toggle .check-mark { display: none; }
.ltr-root .ltr-filtres-avances ol.nya-bs-select.ltr-liste .dropdown-menu { z-index: 1050; border-radius: var(--ax-radius-sm); }
/* Sans attribut size, le composant ne pose jamais overflow-y sur .inner. */
.ltr-root .ltr-filtres-avances ol.nya-bs-select.ltr-liste .dropdown-menu.inner {
    position: static; max-height: 240px; overflow-y: auto;
}
.ltr-root .ltr-filtres-avances ol.nya-bs-select.ltr-liste .dropdown-menu li > a {
    font-size: 13.5px; padding: 6px 14px; color: var(--ax-text); outline: 0; border: 0;
}
/* Sans cela, l'option courante sort avec le cadre noir et le texte ambre du theme d'origine. */
.ltr-root .ltr-filtres-avances ol.nya-bs-select.ltr-liste .dropdown-menu li > a:hover,
.ltr-root .ltr-filtres-avances ol.nya-bs-select.ltr-liste .dropdown-menu li > a:focus,
.ltr-root .ltr-filtres-avances ol.nya-bs-select.ltr-liste .dropdown-menu li.selected > a {
    background: var(--ax-primary-50); color: var(--ax-primary-dark); outline: 0; border: 0; box-shadow: none;
}
.ltr-root .ltr-filtres-avances ol.nya-bs-select.ltr-liste .dropdown-menu li.selected > a { font-weight: 600; }

/* Sélecteur segmenté (catégories, état des lignes) */
.ltr-root .ltr-seg { display: inline-flex; flex-wrap: wrap; background: #eef1f6; border-radius: 8px; padding: 2px; gap: 2px; }
.ltr-root .ltr-seg button { border: 0; background: none; padding: 4px 10px; border-radius: 6px; font-size: 13px; color: #475569; font-weight: 600; }
.ltr-root .ltr-seg button:hover { color: var(--ax-primary); }
.ltr-root .ltr-seg button.ltr-seg-actif { background: #fff; color: var(--ax-primary); box-shadow: 0 1px 2px rgba(15, 23, 42, .12); }

/* Grille des lignes : largeur selon le contenu, défilement interne */
.ltr-root .ltr-table-zone { flex: 1; min-height: 0; }
.ltr-root .ax-table-scroll table.table.ltr-table { table-layout: auto; width: 100%; margin: 0; font-size: 13px; }
.ltr-root .ltr-table th { position: sticky; top: 0; z-index: 1; background: #f9fafc; font-size: 12.5px; text-transform: uppercase;
    letter-spacing: .04em; color: var(--ax-text-sec); white-space: nowrap; }
.ltr-root .ltr-table td { vertical-align: middle; white-space: nowrap; }
/* Tri : l'en-tete devient un bouton. La fleche reste pale tant que la colonne n'est pas active. */
.ltr-root .ltr-table th.ltr-tri { cursor: pointer; user-select: none; }
.ltr-root .ltr-table th.ltr-tri:hover, .ltr-root .ltr-table th.ltr-tri:focus-visible { color: var(--ax-primary); }
.ltr-root .ltr-table th.ltr-tri .fa { margin-left: 4px; opacity: .35; }
.ltr-root .ltr-table th.ltr-tri-actif { color: var(--ax-primary); }
.ltr-root .ltr-table th.ltr-tri-actif .fa { opacity: 1; }
/* Le solde progressif ne se lit qu'en ordre chronologique : il palit des qu'un autre tri est actif. */
.ltr-root .ltr-hors-ordre { opacity: .45; }
.ltr-root .ltr-table tbody tr:hover td { background: #f6f8fc; }
/* Le double-clic ouvre l'ecriture : sans ceci il surligne aussi le texte de la cellule. */
.ltr-root .ltr-table tbody tr { user-select: none; -webkit-user-select: none; }
.ltr-root .ltr-table tbody tr:focus, .ltr-root .ltr-table td:focus { outline: none; }
.ltr-root .ltr-mvt { font-variant-numeric: tabular-nums; color: var(--ax-text-sec); }
.ltr-root .ltr-info { margin-left: 5px; color: var(--ax-text-sec); }
.ltr-root .ltr-pointe { display: inline-block; font-size: 12.5px; font-weight: 600; border-radius: 10px;
    padding: 1px 8px; background: #fbeecb; color: #8a6d00; }
.ltr-root .ltr-num { text-align: right; font-variant-numeric: tabular-nums; }
.ltr-root .ltr-solde-prog { color: var(--ax-text-sec); }
.ltr-root .ltr-libelle { max-width: 360px; overflow: hidden; text-overflow: ellipsis; }
.ltr-root .ltr-piece { font-family: var(--ax-font-mono, ui-monospace, monospace); font-size: 12.5px; }
.ltr-root .ltr-lettre { display: inline-block; font-family: var(--ax-font-mono, ui-monospace, monospace); font-weight: 600; font-size: 12.5px;
    background: var(--ax-success-light); color: var(--ax-success-text); border-radius: 4px; padding: 0 6px; }
.ltr-root .ltr-lettre-partielle { background: #fbeecb; color: #8a6d00; }
.ltr-root .ltr-lettre small { font-family: var(--ax-font); font-weight: normal; }
.ltr-root .ltr-cadenas { color: var(--ax-text-sec); margin-left: 4px; }
.ltr-root tr.ltr-etat td { text-align: center; color: var(--ax-text-sec); padding: 22px; }

.ltr-root .ltr-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; padding: 8px 16px; border-top: 1px solid var(--ax-border); }
.ltr-root .ltr-compte { color: var(--ax-text-sec); font-size: 12.5px; margin-left: 6px; }
.ltr-root .ltr-page { min-width: 56px; text-align: center; font-weight: 600; font-size: 13px; }

/* ── Sélection ── */
.ltr-root .ltr-col-check { width: 32px; text-align: center; }
.ltr-root .ltr-col-check input { margin: 0; cursor: pointer; }
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-selectionnee > td { background: var(--ax-primary-50); }
.ltr-root button.ltr-lettre { border: 0; cursor: pointer; }
.ltr-root button.ltr-lettre:hover, .ltr-root button.ltr-lettre:focus-visible { outline: 2px solid var(--ax-primary-light); }
.ltr-root kbd { font-family: var(--ax-font-mono, ui-monospace, monospace); font-size: 12.5px; padding: 0 4px; border-radius: 3px;
    border: 1px solid currentColor; opacity: .7; margin-left: 4px; background: transparent; color: inherit; box-shadow: none; }

.ltr-root .ltr-barre-selection {
    display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px;
    padding: 10px 16px; border-top: 2px solid var(--ax-primary); background: #fff;
    border-radius: 0 0 10px 0;      /* repris de .ltr-corps, qui ne rogne plus */
    box-shadow: 0 -4px 12px rgba(15, 23, 42, .08);
}
.ltr-root .ltr-sel-nb { font-size: 13px; color: #0f172a; }
.ltr-root .ltr-sel-groupe { color: #8a6d00; margin-left: 4px; }
.ltr-root .ltr-sel-montant { display: grid; line-height: 1.2; }
.ltr-root .ltr-sel-montant span { font-size: 13px; text-transform: uppercase; letter-spacing: .04em; color: var(--ax-text-sec); }
.ltr-root .ltr-sel-montant b { font-size: 15px; font-variant-numeric: tabular-nums; }
.ltr-root .ltr-ecart-ok b { color: var(--ax-success-text); }
.ltr-root .ltr-ecart-ko b { color: #b45309; }
.ltr-root .ltr-sel-message { font-size: 12.5px; color: #b45309; }
/* ── Menus Colonnes et Options ── */
.ltr-root .ltr-menu-ancre { position: relative; display: inline-block; }
.ltr-root .ltr-menu { position: absolute; right: 0; top: calc(100% + 6px); z-index: 40; min-width: 240px;
    background: #fff; border: 1px solid var(--ax-border); border-radius: 10px;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .18); padding: 10px 12px; display: grid; gap: 6px; text-align: left; }
.ltr-root .ltr-menu-tete { font-size: 13px; font-weight: 700; color: var(--ax-primary-dark); margin-bottom: 2px; }
.ltr-root .ltr-menu .ltr-case { font-size: 13px; color: var(--ax-text); }
.ltr-root .ltr-menu-pied { margin-top: 4px; padding-top: 8px; border-top: 1px solid var(--ax-border); }
.ltr-root .ltr-menu-aide { font-size: 13px; color: var(--ax-text-sec); font-style: italic; }
.ltr-root .ltr-btn-equilibrer { color: var(--ax-primary); border-color: var(--ax-primary-light); }
.ltr-root .ltr-btn-delettrer { background: #b91c1c; color: #fff; border-color: #b91c1c; }
.ltr-root .ltr-btn-delettrer:hover { background: #991b1b; color: #fff; }

/* ── Aide à la sélection ── */
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-proposee > td { background: #fffbeb; }
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-proposee > td:first-child { box-shadow: inset 3px 0 0 var(--ax-warning); }
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-active > td { background: #f2f5ff; }
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-active > td:first-child { box-shadow: inset 3px 0 0 var(--ax-primary); }
.ltr-root .ltr-suggestions { margin: 0 16px 10px; border: 1px solid var(--ax-warning-border); background: var(--ax-warning-light); border-radius: 8px; }
.ltr-root .ltr-suggestions-tete { display: flex; align-items: center; gap: 8px; padding: 8px 12px; font-size: 13px; }
.ltr-root .ltr-suggestions ul { list-style: none; margin: 0; padding: 0 12px 8px; display: grid; gap: 6px; max-height: 180px; overflow-y: auto; }
.ltr-root .ltr-suggestions li { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; background: #fff; border-radius: 6px; padding: 6px 8px; font-size: 13px; }
.ltr-root .ltr-suggestion-lib { flex: 1; min-width: 160px; font-family: var(--ax-font-mono, ui-monospace, monospace); font-size: 12.5px; }

/* ── Aide des raccourcis ── */
.ltr-root .ltr-btn-aide { font-weight: 700; min-width: 32px; }
.ltr-root .ltr-aide { position: absolute; right: 16px; top: 52px; z-index: 30; width: min(420px, 92%); background: #fff;
    border: 1px solid var(--ax-border); border-radius: 10px; box-shadow: 0 12px 32px rgba(15, 23, 42, .18); padding: 12px 14px; font-size: 13px; }
.ltr-root .ltr-aide-tete { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.ltr-root .ltr-aide-tete button { border: 0; background: none; color: var(--ax-text-sec); }
.ltr-root .ltr-aide table { width: 100%; }
.ltr-root .ltr-aide td { padding: 4px 0; vertical-align: top; }
.ltr-root .ltr-aide td:first-child { white-space: nowrap; padding-right: 12px; }
.ltr-root .ltr-aide kbd { opacity: 1; margin: 0; }
.ltr-root .ltr-aide-pied { margin-top: 8px; color: var(--ax-text-sec); font-size: 12.5px; }

/* ── Rapport PDF ── */
.ltr-root .ltr-pdf { flex: 1; min-height: 0; display: flex; flex-direction: column; border: 1px solid var(--ax-border); border-radius: 10px; overflow: hidden; }
.ltr-root .ltr-pdf-barre { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 12px; border-bottom: 1px solid var(--ax-border); font-size: 13px; }
.ltr-root .ltr-pdf iframe { flex: 1; width: 100%; border: 0; }

@media (prefers-reduced-motion: reduce) {
    .ltr-root .ltr-tiers { transition: none; }
}

/* ── Fenêtre « L » (Grand livre, Balance, Journal) ── */
md-dialog.ltr-dialog { font-family: var(--ax-font); width: 95vw; max-width: 95vw; height: 88vh; max-height: 88vh; display: flex; flex-direction: column;
    border-radius: 14px; overflow: hidden; }
md-dialog.ltr-dialog .ltr-dialog-tete { display: flex; align-items: center; justify-content: space-between; padding: 10px 18px;
    background: linear-gradient(135deg, #3949AB 0%, #5C6BC0 60%, #7986CB 100%); color: #fff; flex-shrink: 0; }
md-dialog.ltr-dialog .ltr-dialog-titre { display: flex; align-items: center; gap: 12px; font-size: 15px; font-weight: 600; }
md-dialog.ltr-dialog .ltr-dialog-titre small { display: block; font-weight: normal; font-size: 12.5px; opacity: .85; }
md-dialog.ltr-dialog .ltr-dialog-fermer { border: 1px solid rgba(255, 255, 255, .4); background: rgba(255, 255, 255, .12); color: #fff;
    width: 32px; height: 32px; border-radius: 8px; }
md-dialog.ltr-dialog .ltr-dialog-corps { flex: 1; min-height: 0; display: flex; flex-direction: column; padding: 10px 12px 12px; background: #f3f5f9; }
md-dialog.ltr-dialog .ltr-dialog-corps > .ltr-root { flex: 1; }

/* ═══════════════════════════════════════════════════════════════════════════
   ALIGNEMENT SUR axeane-tables.css
   Le design system cible les cellules en « .ax-table-scroll table.table > tbody > tr > td »,
   soit (0,2,4). Les regles courtes de cette feuille, en (0,2,1), ne s'appliquaient pas :
   les en-tetes sortaient a 12 px (taille interdite), les pastilles faisaient 34 px de haut,
   la ligne selectionnee se confondait avec le zebra, et la premiere cellule recevait au survol
   un liseré bleu de 2 px qui se lisait comme un cadre perdu.
   Tout ce bloc est volontairement ecrit a la meme profondeur que le DS.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── En-tetes ─────────────────────────────────────────────────────────── */
.ltr-root .ax-table-scroll table.table.ltr-table > thead > tr > th {
    font-size: 12.5px; background: #f9fafc; color: var(--ax-text-sec);
    padding: 8px 10px; white-space: nowrap;
}
.ltr-root .ax-table-scroll table.table.ltr-table > thead > tr > th.ltr-tri-actif { color: var(--ax-primary); }
/* Le DS aligne a droite la DERNIERE colonne : avec un menu Colonnes, laquelle change au gre des
   cases cochees. On rend l'alignement fonction du contenu, pas de la position. */
.ltr-root .ax-table-scroll table.table.ltr-table > thead > tr > th:last-child,
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr > td:last-child { text-align: left; }
.ltr-root .ax-table-scroll table.table.ltr-table > thead > tr > th.ltr-num,
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr > td.ltr-num { text-align: right; }

/* ── Cellules : hauteur libre, sinon les pastilles font 34 px ──────────── */
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr > td {
    font-size: 13.5px; height: auto; line-height: 1.5; padding: 7px 10px;
}
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr > td.ltr-mvt,
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr > td.ltr-piece {
    font-size: 13px; color: var(--ax-text-sec);
}
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr > td.ltr-solde-prog { color: var(--ax-text-sec); }
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-etat > td { text-align: center; padding: 22px; }

/* ── Etats de ligne ────────────────────────────────────────────────────
   Le DS met « background: transparent !important » sur les td au survol et teinte le tr en
   indigo : sans ce bloc, la ligne cochee perd sa couleur des qu'on la survole. On porte donc
   la couleur sur le tr et on rend les td transparents en permanence. */
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr > td { background: transparent !important; }
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr:nth-child(even) { background: #fff; }
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr:hover { background: #f4f7fd !important; }
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-proposee,
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-proposee:hover { background: #fff6e0 !important; }
/* La selection prime sur tout : c'est elle qui engage le lettrage. */
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-selectionnee,
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-selectionnee:hover { background: #dbe3fb !important; }

/* Le DS pose un liseré bleu de 2 px sur la premiere cellule au survol : c'est ce trait isole.
   On le neutralise et on marque les etats par un filet interieur, sur toute la hauteur. */
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr > td:first-child,
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr:hover > td:first-child { border-left: 0; }
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-active > td:first-child { box-shadow: inset 2px 0 0 var(--ax-primary-light); }
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-proposee > td:first-child { box-shadow: inset 3px 0 0 var(--ax-warning); }
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-selectionnee > td:first-child { box-shadow: inset 3px 0 0 var(--ax-primary); }
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr > td.ltr-col-check { width: 36px; padding: 0 4px; text-align: center; }

/* ── Pastilles : sans line-height propre elles heritent les 34 px du DS ── */
.ltr-root .ltr-lettre, .ltr-root .ltr-pointe { line-height: 1.6; }
/* Contrastes : les deux marqueurs de statut du tableau etaient sous le seuil de lisibilite. */
.ltr-root .ltr-lettre { color: #1b5e20; }
.ltr-root .ltr-nb-ok { color: #1b5e20; }
.ltr-root .ltr-pointe, .ltr-root .ltr-lettre-partielle { background: var(--ax-warning-light); color: var(--ax-warning-text); }
.ltr-root .ltr-nb { color: var(--ax-warning-text); }
/* Le solde progressif reste un MONTANT : on le distingue sans le rendre illisible. */
.ltr-root .ltr-hors-ordre { opacity: 1; color: var(--ax-text-light); font-style: italic; }

/* ── Libelle : max-width sur un td en table-layout:auto n'ellipse pas ──── */
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr > td.ltr-libelle { max-width: none; }
.ltr-root .ltr-libelle > span { display: block; max-width: 360px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ═══════════════════════════════════════════════════════════════════════════
   PARITÉ AVEC L'ANCIEN ÉCRAN : filtres de colonne, période mensuelle, prochaine lettre
   ═══════════════════════════════════════════════════════════════════════════ */

/* En-tête collant sur deux rangées : c'est le thead qui colle, pas chaque cellule. */
.ltr-root .ax-table-scroll table.table.ltr-table > thead { position: sticky; top: 0; z-index: 3; }
.ltr-root .ax-table-scroll table.table.ltr-table > thead > tr > th { position: static; }
.ltr-root .ax-table-scroll table.table.ltr-table > thead > tr.ltr-filtres-col > th {
    padding: 4px 6px 6px; background: #fbfcfe; text-transform: none; letter-spacing: normal; font-weight: normal;
}

/* Champ de filtre : 30 px dans un en-tête de tableau, 13 px, placeholder gris neutre. */
.ltr-root .ltr-fc-champ { position: relative; min-width: 64px; }
.ltr-root .ltr-fc {
    width: 100%; height: 30px; box-sizing: border-box; padding: 0 22px 0 8px;
    border: 1px solid var(--ax-border-input, #cbd5e1); border-radius: 6px; background: #fff;
    font-family: var(--ax-font); font-size: 13px; font-weight: normal; color: var(--ax-text);
    text-transform: none; letter-spacing: normal;
}
.ltr-root .ltr-fc::placeholder { color: var(--ax-text-light); }
.ltr-root .ltr-fc:focus { outline: 0; border-color: var(--ax-primary); box-shadow: 0 0 0 3px var(--ax-primary-50); }
.ltr-root .ltr-fc-num { text-align: right; }
.ltr-root .ltr-fc-effacer {
    position: absolute; right: 3px; top: 50%; transform: translateY(-50%);
    border: 0; background: none; color: var(--ax-text-sec); font-size: 15px; line-height: 1; padding: 2px 4px; cursor: pointer;
}
.ltr-root .ltr-fc-effacer:hover { color: #b91c1c; }
.ltr-root .ltr-fc-raz {
    border: 1px solid var(--ax-border); background: #fff; border-radius: 6px; height: 30px; width: 30px;
    padding: 0; color: var(--ax-text-sec); position: relative; cursor: pointer;
}
.ltr-root .ltr-fc-raz .fa-times { position: absolute; right: 3px; bottom: 3px; font-size: 13px; color: #b91c1c; }
.ltr-root .ltr-fc-raz:disabled { opacity: .4; cursor: default; }
.ltr-root .ltr-fc-raz:disabled .fa-times { color: inherit; }

/* Pointé : segment compact dans la cellule d'en-tête. */
.ltr-root .ltr-seg.ltr-seg-mini { flex-wrap: nowrap; }
.ltr-root .ltr-seg.ltr-seg-mini button { padding: 2px 7px; font-size: 12.5px; }

/* Filtres avancés : la pièce comptable est un segment, avec son libellé au-dessus. */
.ltr-root .ltr-filtres-avances .ltr-champ { display: grid; gap: 3px; }
.ltr-root .ltr-filtres-avances .ltr-champ > .ax-label { margin: 0; }
.ltr-root .ltr-filtres-avances .ltr-date { width: 150px; min-width: 150px; }

/* Compteur de filtres actifs sur le bouton « Filtres avancés ». */
.ltr-root .ltr-badge-nb {
    display: inline-block; min-width: 18px; padding: 0 5px; margin-left: 4px; border-radius: 9px;
    background: var(--ax-primary); color: #fff; font-size: 12.5px; font-weight: 700; line-height: 18px; text-align: center;
}

/* Prochaine lettre et devise. */
.ltr-root .ltr-kpi .ltr-kpi-lettre { font-family: var(--ax-font-mono, ui-monospace, monospace); color: var(--ax-success-text); }
.ltr-root .ltr-devise { font-size: 13px; font-weight: normal; color: var(--ax-text-sec); }

/* Ligne d'état : l'action de sortie est à côté du message. */
.ltr-root .ltr-etat-action { margin-left: 8px; }

/* Menu Tri : les boutons radio alignés comme les cases des autres menus. */
.ltr-root .ltr-menu .ltr-seg { margin-bottom: 4px; }

/* Entrée « Tous les comptes listés » : en tête de liste, séparée des comptes. */
.ltr-root .ltr-tiers-liste > li.ltr-tous { border-bottom: 1px solid var(--ax-border); background: #f8fafc; }
.ltr-root .ltr-tiers-liste > li.ltr-tous:hover { background: #f1f4fb; }
.ltr-root .ltr-tiers-liste > li.ltr-tous.ltr-actif { background: var(--ax-primary-50); }
.ltr-root .ltr-tiers-liste > li.ltr-tous .ltr-code { font-weight: 600; }
.ltr-root .ltr-tiers-liste > li.ltr-tous .fa { color: var(--ax-primary); margin-right: 2px; }

/* Numéros de page, au style des tailles de page. */
.ltr-root .ltr-pages { display: inline-flex; gap: 4px; }

/* Barre de sélection : indication (neutre), à côté du message d'empêchement (orangé). */
.ltr-root .ltr-sel-info { font-size: 12.5px; color: var(--ax-text-sec); }
.ltr-root .ltr-menu-note { font-size: 12.5px; color: var(--ax-text-sec); }

/* États de ligne : sur TOUTE la ligne, jamais un trait sur la seule première cellule. */
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-active > td:first-child,
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-proposee > td:first-child,
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-selectionnee > td:first-child { box-shadow: none; }
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-active { background: #edf1fb !important; }
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-proposee,
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-proposee:hover { background: #fff6e0 !important; }
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-selectionnee,
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-selectionnee:hover { background: #dbe3fb !important; }

/* Largeur : tenir à 1366 px avec la liste des comptes ouverte. */
.ltr-root .ax-table-scroll table.table.ltr-table > thead > tr > th { padding-left: 8px; padding-right: 8px; }
.ltr-root .ax-table-scroll table.table.ltr-table > thead > tr > th .fa-sort,
.ltr-root .ax-table-scroll table.table.ltr-table > thead > tr > th .fa-sort-asc,
.ltr-root .ax-table-scroll table.table.ltr-table > thead > tr > th .fa-sort-desc { margin-left: 2px; }
.ltr-root .ltr-fc-champ { min-width: 56px; }

/* Solde progressif : montant lisible (plus en gris) et sens en pastille. D et C sont deux sens
   normaux d'un compte, pas un bon et un mauvais état : deux teintes neutres, ni rouge ni vert. */
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr > td.ltr-solde-prog { color: var(--ax-text); white-space: nowrap; }
.ltr-root .ltr-sens {
    display: inline-block; min-width: 18px; margin-left: 4px; padding: 0 4px; border-radius: 9px;
    font-size: 12.5px; font-weight: 700; line-height: 18px; text-align: center; vertical-align: 1px; font-style: normal;
}
.ltr-root .ltr-sens-D { background: #e0e7ff; color: #3730a3; }
.ltr-root .ltr-sens-C { background: #ccfbf1; color: #115e59; }
.ltr-root .ltr-sens-z { background: #f1f5f9; color: var(--ax-text-sec); }

/* « ? » de l'en-tête : explication de la colonne au survol ou au clavier. */
.ltr-root .ltr-aide-col {
    margin-left: 3px; width: 18px; height: 18px; padding: 0; border-radius: 50%;
    border: 1px solid var(--ax-border); background: #fff; color: var(--ax-text-sec);
    font-size: 12.5px; font-weight: 700; line-height: 16px; text-align: center; cursor: help; vertical-align: 1px;
}
.ltr-root .ltr-aide-col:hover, .ltr-root .ltr-aide-col:focus { border-color: var(--ax-primary); color: var(--ax-primary); outline: 0; }
.ltr-root .ltr-aide-col.ltr-aide-alerte { border-color: var(--ax-warning); color: #b45309; }
.popover.ltr-pop { max-width: 320px; font-family: var(--ax-font); }
.popover.ltr-pop .popover-title { font-size: 13.5px; font-weight: 700; }
.popover.ltr-pop .popover-content { font-size: 13px; line-height: 1.5; white-space: pre-line; color: var(--ax-text); }

/* Écrans de 1366 px : le libellé se coupe plus tôt (texte complet au survol) pour garder toutes les colonnes. */
@media (max-width: 1440px) {
    .ltr-root .ltr-libelle > span { max-width: 130px; }
    .ltr-root .ltr-large { display: none; }
    .ltr-root .ltr-barre-filtres { gap: 4px; }
    .ltr-root .ltr-barre-filtres .ax-btn { padding-left: 10px; padding-right: 10px; }   /* « Filtres avancés » → « Filtres » : la barre tient sur une ligne */
    .ltr-root .ax-table-scroll table.table.ltr-table > thead > tr > th,
    .ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr > td { padding-left: 6px; padding-right: 6px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   ERGONOMIE (16/10/2026) : moins de commandes visibles, libellé lisible,
   barre de sélection en deux zones (informations | actions).
   ═══════════════════════════════════════════════════════════════════════════ */

/* Choix de la vue : « Lignes | Rapport PDF » (remplace un interrupteur dont le libellé sortait en blanc). */
.ltr-root .ltr-seg.ltr-seg-vue button { display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; }

/* Bouton carré à icône seule (Actualiser, pagination) : 32 px de côté au minimum. */
.ltr-root .ax-btn.ltr-btn-icone { min-width: 32px; padding-left: 8px; padding-right: 8px; justify-content: center; }
/* Bouton dont le panneau est ouvert (Filtres, Affichage). */
.ltr-root .ax-btn.ltr-btn-actif { border-color: var(--ax-primary); color: var(--ax-primary); background: var(--ax-primary-50); }

/* Menu « Affichage » : tri, colonnes et options côte à côte. */
.ltr-root .ltr-menu.ltr-menu-large { grid-template-columns: repeat(3, minmax(190px, auto)); gap: 4px 22px; padding: 14px 16px; }
.ltr-root .ltr-menu-colonne { display: grid; gap: 6px; align-content: start; }
.ltr-root .ltr-menu-colonne + .ltr-menu-colonne { border-left: 1px solid var(--ax-border); padding-left: 18px; }
.ltr-root .ltr-menu .ltr-menu-lien { justify-self: start; margin-top: 4px; }
.ltr-root .ltr-menu-colonne .ltr-menu-aide { margin-top: 4px; font-size: 12.5px; }

/* Libellé : la colonne prend toute la place restante et se coupe proprement (texte complet au survol). */
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr > td.ltr-libelle { width: 100%; max-width: 0; }
.ltr-root .ltr-libelle > span,
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr > td.ltr-libelle > span { max-width: none; }
@media (max-width: 1440px) {
    .ltr-root .ltr-libelle > span { max-width: none; }
}

/* Pagination : flèches et numéros, sans libellés redondants. */
.ltr-root .ltr-nav-pages { display: inline-flex; align-items: center; gap: 4px; }

/* Barre de sélection : informations à gauche (peuvent passer à la ligne), actions groupées à droite. */
.ltr-root .ltr-barre-selection { justify-content: space-between; gap: 10px 16px; }
.ltr-root .ltr-sel-infos { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; min-width: 0; }
.ltr-root .ltr-sel-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; margin-left: auto; }
.ltr-root .ltr-sel-montant span { font-size: 12px; }
.ltr-root .ltr-sel-ecart b { display: inline-flex; align-items: center; gap: 5px; }
.ltr-root .ltr-sel-infos > .ltr-devise { align-self: flex-end; padding-bottom: 2px; }
.ltr-root .ax-btn.ltr-btn-lettrer { min-width: 150px; justify-content: center; font-weight: 700; }
/* Le message d'empêchement passe sous les montants : les actions restent sur la même ligne, à droite. */
.ltr-root .ltr-sel-infos { flex: 1 1 360px; }
.ltr-root .ltr-sel-infos > .ltr-sel-message,
.ltr-root .ltr-sel-infos > .ltr-sel-info { flex-basis: 100%; order: 10; margin-top: -2px; }
.ltr-root .ltr-sel-actions { flex: 0 1 auto; }
.ltr-root .ltr-sel-montant span .ltr-devise { font-size: 11px; text-transform: none; letter-spacing: 0; }

/* ── Vue d'ensemble (tous les comptes listés) ── */
.ltr-root .ltr-tiers-liste > li.ltr-tous .ltr-tous-titre { font-weight: 700; font-size: 13.5px; color: var(--ax-primary-dark); }
.ltr-root .ltr-tiers-liste > li.ltr-tous .ltr-tous-nb { margin-left: auto; font-size: 12.5px; font-weight: 600; color: var(--ax-text-sec); white-space: nowrap; }
.ltr-root .ltr-perimetre { font-size: 12.5px; color: var(--ax-text-sec); }
.ltr-root .ltr-bandeau-tous { display: flex; align-items: flex-start; gap: 8px; margin: 10px 16px 0; padding: 8px 12px;
    border-radius: 8px; background: var(--ax-info-light); border: 1px solid var(--ax-info-border); color: var(--ax-info-text); font-size: 13px; line-height: 1.45; }
.ltr-root .ltr-bandeau-tous .fa { margin-top: 2px; }
/* Bandeau d'un compte dans le tableau. */
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-groupe,
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-groupe:hover { background: #eef2fa !important; cursor: default; }
.ltr-root .ax-table-scroll table.table.ltr-table > tbody > tr.ltr-groupe > td { padding: 6px 10px; border-top: 2px solid var(--ax-border); }
.ltr-root .ltr-groupe-contenu { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ltr-root .ltr-groupe-nom { font-weight: 700; color: #0f172a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.ltr-root .ltr-groupe-solde { font-size: 12.5px; color: var(--ax-text-sec); white-space: nowrap; }
.ltr-root .ltr-groupe-solde b { color: #0f172a; font-variant-numeric: tabular-nums; }
.ltr-root .ltr-suite { font-size: 12.5px; color: var(--ax-text-sec); font-style: italic; }
.ltr-root .ltr-lien { border: 0; background: none; padding: 2px 4px; color: var(--ax-primary); font-weight: 600; font-size: 13px; white-space: nowrap; cursor: pointer; }
.ltr-root .ltr-lien:hover, .ltr-root .ltr-lien:focus-visible { text-decoration: underline; outline: 0; }

/* Cases et boutons radio des libellés (« Masquer les tiers soldés », menus) : Bootstrap 3 leur ajoute
   margin-top: 4px, ce qui les fait descendre sous le texte dans un libellé aligné au centre. */
.ltr-root .ltr-case { line-height: 1.4; }
.ltr-root .ltr-case input[type="checkbox"],
.ltr-root .ltr-case input[type="radio"] { margin: 0; flex: 0 0 auto; width: 15px; height: 15px; vertical-align: middle; cursor: pointer; }
.ltr-root .ltr-case input[type="checkbox"] { accent-color: var(--ax-primary); }

/* Bouton « Visite guidée » (la visite elle-même : axeane-visite-guidee.css, commun à tous les écrans). */
.ltr-root .ltr-badge-nouveau { margin-left: 6px; padding: 0 6px; border-radius: 9px; background: var(--ax-accent, #f59e0b); color: #fff;
    font-size: 11px; font-weight: 700; line-height: 17px; letter-spacing: .02em; }

/* ═══════════ Fenêtre « Lettrage automatique » ═══════════ */
md-dialog.ltr-auto { font-family: var(--ax-font); width: 97vw; max-width: 1680px; height: 94vh; max-height: 94vh; border-radius: 14px; display: flex; flex-direction: column; }
md-dialog.ltr-auto .ltr-auto-tete { display: flex; align-items: center; justify-content: space-between; padding: 12px 18px;
    background: linear-gradient(135deg, #3949AB 0%, #5C6BC0 60%, #7986CB 100%); color: #fff; }
md-dialog.ltr-auto .ltr-auto-titre { font-size: 16px; font-weight: 700; }
md-dialog.ltr-auto .ltr-auto-tete-actions { display: flex; gap: 8px; }
md-dialog.ltr-auto .ltr-auto-btn-visite { position: relative; }
md-dialog.ltr-auto .ltr-auto-pastille { position: absolute; top: -3px; right: -3px; width: 10px; height: 10px; border-radius: 50%;
    background: var(--ax-accent, #f59e0b); border: 2px solid #fff; }
md-dialog.ltr-auto .ltr-auto-cible { font-size: 12.5px; opacity: .9; }
md-dialog.ltr-auto .ltr-auto-fermer { border: 1px solid rgba(255, 255, 255, .4); background: rgba(255, 255, 255, .12); color: #fff; width: 32px; height: 32px; border-radius: 8px; }
md-dialog.ltr-auto .ltr-auto-corps { flex: 1; min-height: 0; overflow-y: auto; padding: 14px 18px; background: #f6f8fb; }
md-dialog.ltr-auto .ltr-auto-reglages { background: #fff; border: 1px solid var(--ax-border); border-radius: 10px; padding: 12px 14px; }
md-dialog.ltr-auto .ltr-auto-section-tete { font-size: 13.5px; margin-bottom: 8px; }
md-dialog.ltr-auto .ltr-auto-section-tete small { color: var(--ax-text-sec); }
md-dialog.ltr-auto .ltr-auto-choix { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
md-dialog.ltr-auto .ltr-auto-option { display: flex; gap: 10px; align-items: flex-start; margin: 0; padding: 10px 12px; font-weight: normal;
    border: 1.5px solid var(--ax-border); border-radius: 10px; cursor: pointer; font-size: 13px; }
md-dialog.ltr-auto .ltr-auto-option input { margin: 3px 0 0; }
md-dialog.ltr-auto .ltr-auto-option small { color: var(--ax-text-sec); }
md-dialog.ltr-auto .ltr-auto-option-active { border-color: var(--ax-primary); background: var(--ax-primary-50); }
md-dialog.ltr-auto .ltr-auto-criteres { display: grid; gap: 6px; margin-top: 10px; font-size: 13px; }
md-dialog.ltr-auto .ltr-auto-critere-fixe .fa { color: var(--ax-success); }
md-dialog.ltr-auto .ltr-case { display: flex; gap: 6px; align-items: flex-start; margin: 0; font-weight: normal; }
md-dialog.ltr-auto .ltr-case input { margin: 3px 0 0; }
md-dialog.ltr-auto .ltr-case small { color: var(--ax-text-sec); }
md-dialog.ltr-auto .ltr-espace { flex: 1; }
md-dialog.ltr-auto .ltr-lien { border: 0; background: none; color: var(--ax-primary); font-weight: 600; font-size: 13px; }
md-dialog.ltr-auto .ltr-auto-resultats { margin-top: 0; }
/* Résultats : réglages repliés, barre fixe (filtres, recherche, sélection) hors de la zone qui défile. */
md-dialog.ltr-auto .ltr-auto-resume-reglages { display: flex; align-items: center; gap: 8px; padding: 7px 18px; font-size: 12.5px;
    color: var(--ax-text-sec); background: #fff; border-bottom: 1px solid var(--ax-border); }
md-dialog.ltr-auto .ltr-auto-resume-reglages b { color: var(--ax-text, #1f2937); }
md-dialog.ltr-auto .ltr-auto-barre { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; padding: 10px 18px 6px; background: #fff; }
md-dialog.ltr-auto .ltr-auto-filtres { display: flex; flex-wrap: wrap; gap: 6px; }
md-dialog.ltr-auto .ltr-auto-filtre { display: inline-flex; align-items: center; gap: 6px; min-height: 30px; padding: 3px 12px; border-radius: 16px;
    border: 1px solid var(--ax-border); background: #fff; font-size: 13px; color: var(--ax-text, #1f2937); cursor: pointer; }
md-dialog.ltr-auto .ltr-auto-filtre:hover { border-color: var(--ax-primary); }
md-dialog.ltr-auto .ltr-auto-filtre:focus-visible, md-dialog.ltr-auto .ltr-auto-prop:focus-visible,
md-dialog.ltr-auto .ltr-auto-page:focus-visible { outline: 2px solid var(--ax-primary); outline-offset: 1px; }
md-dialog.ltr-auto .ltr-auto-filtre-actif { background: var(--ax-primary-50); border-color: var(--ax-primary); color: var(--ax-primary-dark, #283593); font-weight: 700; }
md-dialog.ltr-auto .ltr-auto-filtre-nb { min-width: 20px; padding: 0 6px; border-radius: 10px; background: #eef2fa; font-size: 11.5px; font-weight: 700; text-align: center; }
md-dialog.ltr-auto .ltr-auto-filtre-MONTANT_NUMERO .ltr-auto-filtre-nb { background: var(--ax-success-light); color: var(--ax-success-text); }
md-dialog.ltr-auto .ltr-auto-filtre-MONTANT_SEUL .ltr-auto-filtre-nb { background: var(--ax-warning-light); color: var(--ax-warning-text); }
md-dialog.ltr-auto .ltr-auto-filtre-AMBIGU .ltr-auto-filtre-nb, md-dialog.ltr-auto .ltr-auto-filtre-REFUSEES .ltr-auto-filtre-nb { background: var(--ax-danger-light); color: var(--ax-danger-text); }
md-dialog.ltr-auto .ltr-auto-recherche { position: relative; }
md-dialog.ltr-auto .ltr-auto-recherche .fa { position: absolute; left: 10px; top: 50%; transform: translateY(-50%); color: var(--ax-text-sec); font-size: 12px; }
md-dialog.ltr-auto .ltr-auto-recherche input { width: 280px; height: 32px; padding: 0 10px 0 28px; border: 1px solid var(--ax-border); border-radius: 8px; font-size: 13px; }
md-dialog.ltr-auto .ltr-auto-selection { display: flex; align-items: center; gap: 14px; padding: 4px 18px 8px; background: #fff; border-bottom: 1px solid var(--ax-border); }
md-dialog.ltr-auto .ltr-auto-selection .ltr-lien { padding: 4px 0; }
md-dialog.ltr-auto .ltr-auto-aide { color: var(--ax-text-sec); font-size: 12px; }
md-dialog.ltr-auto .ltr-auto-badge { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: 12px; font-weight: 700; }
md-dialog.ltr-auto .ltr-auto-MONTANT_NUMERO { background: var(--ax-success-light); color: var(--ax-success-text); }
md-dialog.ltr-auto .ltr-auto-MONTANT_SEUL { background: var(--ax-warning-light); color: var(--ax-warning-text); }
md-dialog.ltr-auto .ltr-auto-AMBIGU { background: var(--ax-danger-light); color: var(--ax-danger-text); }
md-dialog.ltr-auto .ltr-auto-bilan { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; padding: 8px 12px; border-radius: 8px; background: var(--ax-success-light); color: var(--ax-success-text); font-size: 13px; }
md-dialog.ltr-auto .ltr-auto-bilan-ko { background: var(--ax-warning-light); color: var(--ax-warning-text); }
md-dialog.ltr-auto .ltr-auto-vide { padding: 20px; text-align: center; color: var(--ax-text-sec); }
md-dialog.ltr-auto .ltr-auto-groupe { margin-bottom: 10px; background: #fff; border: 1px solid var(--ax-border); border-radius: 10px; overflow: hidden; }
md-dialog.ltr-auto .ltr-auto-groupe-tete { display: flex; align-items: center; gap: 8px; padding: 7px 12px; background: #eef2fa; font-weight: 700; font-size: 13px; }
md-dialog.ltr-auto .ltr-auto-groupe-tete input { width: 16px; height: 16px; margin: 0; cursor: pointer; }
md-dialog.ltr-auto .ltr-auto-groupe-lib { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
md-dialog.ltr-auto .ltr-auto-groupe-tete small { margin-left: auto; color: var(--ax-text-sec); font-weight: normal; white-space: nowrap; }
/* Une proposition = une ligne de 36 px (détail dépliable) ; toute la ligne coche. */
md-dialog.ltr-auto .ltr-auto-prop { padding: 0 12px; border-top: 1px solid var(--ax-border); cursor: pointer; user-select: none; }
md-dialog.ltr-auto .ltr-auto-prop:hover { background: #f8faff; }
md-dialog.ltr-auto .ltr-auto-prop-cochee { background: var(--ax-primary-50); }
md-dialog.ltr-auto .ltr-auto-prop-cochee:hover { background: var(--ax-primary-50); }
md-dialog.ltr-auto .ltr-auto-prop-ligne { display: grid; grid-template-columns: 18px 82px 84px minmax(0, 1fr) 130px auto auto; gap: 10px; align-items: center;
    min-height: 36px; font-size: 13px; }
md-dialog.ltr-auto .ltr-auto-prop-ligne > input { width: 16px; height: 16px; margin: 0; pointer-events: none; }
md-dialog.ltr-auto .ltr-auto-prop-ligne .ltr-auto-badge { text-align: center; white-space: nowrap; }
md-dialog.ltr-auto .ltr-auto-prop-texte { display: flex; align-items: baseline; gap: 6px; min-width: 0; white-space: nowrap; }
md-dialog.ltr-auto .ltr-auto-prop-texte .ltr-auto-piece { color: var(--ax-text, #1f2937); flex: none; }
md-dialog.ltr-auto .ltr-auto-fleche { color: var(--ax-text-sec); flex: none; }
md-dialog.ltr-auto .ltr-auto-contre { flex: none; color: var(--ax-text-sec); font-family: var(--ax-font-mono, ui-monospace, monospace); font-size: 12.5px; }
md-dialog.ltr-auto .ltr-auto-prop-texte .ltr-auto-lib { min-width: 0; color: var(--ax-text-sec); }
md-dialog.ltr-auto .ltr-auto-prop-ligne .ltr-auto-mt { font-weight: 700; }
md-dialog.ltr-auto .ltr-auto-deplier { border: 0; background: none; padding: 4px 6px; border-radius: 6px; font-size: 12px; color: var(--ax-text-sec); white-space: nowrap; }
md-dialog.ltr-auto .ltr-auto-deplier:hover { background: #eef2fa; color: var(--ax-primary); }
md-dialog.ltr-auto .ltr-auto-detail { margin: 0 0 8px 28px; padding: 6px 10px; border-left: 2px solid var(--ax-border); cursor: default; user-select: text; }
md-dialog.ltr-auto .ltr-auto-detail-pied { margin: 4px 0; font-size: 12px; color: var(--ax-danger-text); }
md-dialog.ltr-auto .ltr-auto-erreur-msg { margin: -4px 0 6px 28px; font-size: 12px; color: var(--ax-danger-text); }
md-dialog.ltr-auto .ltr-auto-erreur { background: #fff7f7; }
md-dialog.ltr-auto .ltr-auto-btn { margin-top: 4px; padding: 2px 10px; font-size: 12.5px; }
md-dialog.ltr-auto .ltr-auto-statut { font-size: 12.5px; font-weight: 700; color: var(--ax-success-text); }
md-dialog.ltr-auto .ltr-auto-statut-ko { color: var(--ax-danger-text); }
md-dialog.ltr-auto .ltr-auto-fait { background: #f3fbf5; cursor: default; }
md-dialog.ltr-auto .ltr-auto-total { font-size: 13px; color: var(--ax-text-sec); }
md-dialog.ltr-auto .ltr-auto-total b { color: var(--ax-text, #1f2937); }
md-dialog.ltr-auto .ltr-auto-pages { display: flex; align-items: center; gap: 6px; padding: 6px 18px; border-top: 1px solid var(--ax-border); background: #fff; font-size: 12.5px; color: var(--ax-text-sec); }
md-dialog.ltr-auto .ltr-auto-page { min-width: 30px; height: 28px; padding: 0 8px; border: 1px solid var(--ax-border); border-radius: 6px; background: #fff; font-size: 12.5px; color: var(--ax-text, #1f2937); }
md-dialog.ltr-auto .ltr-auto-page:disabled { opacity: .45; }
md-dialog.ltr-auto .ltr-auto-page-active { background: var(--ax-primary); border-color: var(--ax-primary); color: #fff; font-weight: 700; }
md-dialog.ltr-auto .ltr-auto-pages-info { margin-right: 6px; }
md-dialog.ltr-auto .ltr-auto-ligne { display: grid; grid-template-columns: 82px 92px 130px minmax(0, 1fr) 130px; gap: 8px; align-items: center; font-size: 12.5px; padding: 2px 0; }
/* Code journal long (« ATTIJARI ») : borné à sa colonne, complet en infobulle — jamais par-dessus la pièce. */
md-dialog.ltr-auto .ltr-auto-ligne .ax-journal-badge { justify-self: start; max-width: 100%; overflow: hidden; text-overflow: ellipsis; font-size: 12px; padding: 2px 6px; }
md-dialog.ltr-auto .ltr-auto-piece { font-family: var(--ax-font-mono, ui-monospace, monospace); color: var(--ax-text-sec); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
md-dialog.ltr-auto .ltr-auto-lib { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
md-dialog.ltr-auto .ltr-auto-mt { text-align: right; font-variant-numeric: tabular-nums; }
md-dialog.ltr-auto .ltr-auto-pied { display: flex; align-items: center; gap: 8px; padding: 10px 84px 10px 18px; border-top: 1px solid var(--ax-border); background: #fff; }
md-dialog.ltr-auto .ltr-auto-attente { font-size: 13px; color: var(--ax-text-sec); }
@media (max-width: 700px) {
    md-dialog.ltr-auto .ltr-auto-choix { grid-template-columns: 1fr; }
    md-dialog.ltr-auto .ltr-auto-ligne { grid-template-columns: 74px 1fr 110px; }
    md-dialog.ltr-auto .ltr-auto-ligne .ax-journal-badge, md-dialog.ltr-auto .ltr-auto-ligne .ltr-auto-piece { display: none; }
    md-dialog.ltr-auto .ltr-auto-prop-ligne { grid-template-columns: 18px 70px minmax(0, 1fr) 100px auto; }
    md-dialog.ltr-auto .ltr-auto-prop-ligne .ltr-auto-date, md-dialog.ltr-auto .ltr-auto-aide { display: none; }
    md-dialog.ltr-auto .ltr-auto-recherche input { width: 100%; }
}

/* Bouton dont l'utilisateur n'a pas le droit : visible, atténué, cadenas ; un clic explique qui l'attribue. */
.ltr-root .ax-btn.ltr-btn-verrou { opacity: .6; }
.ltr-root .ax-btn.ltr-btn-verrou:hover { opacity: .85; }
