/* ================================================================
   Axeane UI — Délais de paiement (DLP)
   CSS dédié à la rubrique « Délais de paiement » (Maroc, loi n° 69-21)
   Écrans : Configuration, Échéances, Déclarations (+ 3 popups)
   ----------------------------------------------------------------
   RÈGLES :
   - Toutes les règles sont scopées sous `.dlp-root` (écrans),
     `md-dialog.dlp-dialog` (popups montées sur document.body) ou
     `.tooltip.dlp-tip` (infobulles rendues dans <body>).
   - AUCUNE classe globale `ax-*` n'est redéfinie sans scope.
   - Remplace les blocs <style> inline des 6 vues de la rubrique.
   - Les noms de classes produits par les CONTRÔLEURS sont repris à
     l'identique et ne doivent jamais être renommés ici :
       EcheancesDelaiPaiementController.classeRetard()
           -> .dlp-retard, .dlp-imminent
       DeclarationsDelaiPaiementController.classeStatut()
           -> .dlpd-retard, .dlpd-depose, .dlpd-neant,
              .dlpd-calcule, .dlpd-attente
   - Typographie : jamais sous 13 px (cf. axeane-ui-v2-regles.md).
   ================================================================ */

/* ═══════════════════════════════════════════════════════════════
   1. RACINE ÉCRAN
   ═══════════════════════════════════════════════════════════════ */
/* .ax-container est en height:100% : elle ne résout que si son parent
   a lui-même une hauteur bornée. */
.dlp-root {
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 0;
    font-family: var(--ax-font);
}
.dlp-root > .ax-container { flex: 1; min-height: 0; }

/* Corps de fiche en colonne flex : le défilement appartient alors au
   TABLEAU (.ax-table-scroll), pas à la page — la barre de filtres et
   l'en-tête de colonnes restent visibles pendant le parcours.
   Sans ce modificateur, .ax-fiche-body-scroll garde le comportement
   du design system (toute la fiche défile), ce qu'il faut pour les
   écrans de formulaire. */
.dlp-root .ax-fiche-body-scroll.dlp-flex-body {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Infobulles DLP (uib-tooltip + tooltip-class="dlp-tip", rendues dans
   <body>). pointer-events:none empêche la boucle survol/quitter quand
   la bulle recouvre son déclencheur. */
.tooltip.dlp-tip { pointer-events: none; }
.tooltip.dlp-tip .tooltip-inner {
    white-space: normal;
    max-width: 320px;
    padding: 6px 11px;
    font-size: 13.5px;
    line-height: 1.45;
    border-radius: 6px;
    text-align: left;
}

/* Toolbar : espacement régulier des boutons conditionnels */
.dlp-root .ax-toolbar-left,
.dlp-root .ax-toolbar-right {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Sélecteur d'année (Déclarations) */
.dlp-root .dlp-annee {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.dlp-root .dlp-annee-valeur {
    min-width: 62px;
    text-align: center;
    font-weight: 700;
    font-size: 16px;
    color: var(--ax-primary, #3f51b5);
    font-variant-numeric: tabular-nums;
}

/* ═══════════════════════════════════════════════════════════════
   2. BARRE DE FILTRES
   ═══════════════════════════════════════════════════════════════ */
.dlp-root .dlp-filters {
    flex: none;
    /* overflow VISIBLE : nya-bs-select ne sait pas s'annexer au <body>,
       un conteneur qui defile rognerait chaque liste deroulante. La hauteur
       est bornee assez haut pour que le panneau n'ait jamais besoin de
       defiler (12 champs = 5 rangees au plus, ~360px). */
    max-height: 480px;
    overflow: visible;
    background: #f8fafc;
    border: 1px solid var(--ax-border-light, #eef0f6);
    border-radius: var(--ax-radius-sm, 8px);
    padding: 12px 14px;
    margin-bottom: 18px;
    transition: max-height .3s cubic-bezier(.4, 0, .2, 1),
                opacity .22s ease,
                padding .3s cubic-bezier(.4, 0, .2, 1),
                margin .3s cubic-bezier(.4, 0, .2, 1);
}
.dlp-root .dlp-filters.dlp-closed {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-bottom: 0;
    border-color: transparent;
    overflow: hidden;
    /* max-height:0 ne retire PAS du parcours de tabulation : sans cela les
       12 champs restent focalisables et un datepicker append-to-body
       s'ouvrirait, visible, au-dessus d'un panneau invisible. */
    visibility: hidden;
}

/* Une seule rangée flex : chaque champ garde une largeur propre et
   tous les libellés restent alignés sur la même ligne de base. */
.dlp-root .dlp-filter-bar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px 16px;
    margin: 0;
}
.dlp-root .dlp-fld {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    gap: 4px;
    min-width: 0;
    margin: 0;
}
.dlp-root .dlp-fld > label {
    margin: 0;
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    line-height: 1.2;
    white-space: nowrap;
    letter-spacing: .01em;
}
.dlp-root .dlp-fld-search { flex: 1 1 300px; min-width: 240px; }
.dlp-root .dlp-fld-date   { flex: 0 0 176px; width: 176px; }
.dlp-root .dlp-fld-select { flex: 0 0 196px; width: 196px; }
.dlp-root .dlp-fld-num    { flex: 0 0 148px; width: 148px; }
/* Une borne « au » ou « max » separee de sa borne d'origine par un retour a
   la ligne devient illisible : la paire voyage d'un bloc. */
.dlp-root .dlp-fld-pair {
    display: flex;
    align-items: flex-end;
    gap: 10px;
    min-width: 0;
}
.dlp-root .dlp-filter-spacer { flex: 1 1 30px; min-width: 0; }

/* Champs : 34 px bord à bord, pour un texte de 14 px */
.dlp-root .dlp-fld .form-control,
.dlp-root .dlp-fld .input-group .form-control {
    width: 100%;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    box-sizing: border-box;
    padding: 5px 10px;
    font-size: 14px;
    border: 1px solid var(--ax-border-input, #cbd5e1) !important;
    border-radius: 6px !important;
    background: #fff;
    box-shadow: none !important;
}
.dlp-root .dlp-fld .form-control:focus {
    border-color: var(--ax-border-focus, #2563eb) !important;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, .15) !important;
    outline: none;
}

/* Champ date : le bouton calendrier colle strictement au champ */
.dlp-root .dlp-fld .input-group {
    display: flex;
    align-items: stretch;
    width: 100%;
}
.dlp-root .dlp-fld .input-group .form-control {
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    border-radius: 6px 0 0 6px !important;
    border-right: none !important;
}
.dlp-root .dlp-fld .input-group .input-group-btn {
    display: flex;
    align-items: stretch;
    width: auto;
    flex-shrink: 0;
    font-size: 0;
}
.dlp-root .dlp-fld .input-group .input-group-btn > .btn {
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    margin: 0 !important;
    padding: 0 11px !important;
    line-height: 1 !important;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 0 6px 6px 0 !important;
    border: 1px solid var(--ax-border-input, #cbd5e1) !important;
    border-left: none !important;
    background: #fff;
    color: var(--ax-text-sec);
    box-shadow: none !important;
}
.dlp-root .dlp-fld .input-group .input-group-btn > .btn:hover {
    background: #f1f5f9;
    color: var(--ax-primary);
}

/* Liste déroulante : le <ol> de nya-bs-select est inline-block par
   défaut, il doit passer en bloc pour ne pas déborder de son champ. */
.dlp-root .dlp-fld ol.nya-bs-select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 34px !important;
    padding: 0 !important;
    margin: 0;
    box-sizing: border-box;
    border: 1px solid var(--ax-border-input, #cbd5e1) !important;
    border-radius: 6px;
    background: #fff;
}
.dlp-root .dlp-fld ol.nya-bs-select > .dropdown-toggle,
.dlp-root .dlp-fld ol.nya-bs-select > .btn {
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    line-height: 32px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 24px 0 10px !important;
    box-sizing: border-box;
    border: none !important;
    border-radius: 5px !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 14px;
    font-weight: 600;
    overflow: hidden;
}
.dlp-root .dlp-fld ol.nya-bs-select > .dropdown-toggle .filter-option {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Listes déroulantes : dimensions et débordement */
.dlp-root ol.nya-bs-select.open { position: relative; z-index: 1040; }
.dlp-root ol.nya-bs-select > .dropdown-menu {
    z-index: 1050;
    min-width: 100%;
    width: max-content;
    max-width: 380px;
    padding: 4px;
    border-radius: 8px;
    border: 1px solid #dfe3ee;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .12);
}
/* La liste interne doit rester en flux, sinon elle se superpose */
.dlp-root .nya-bs-select .dropdown-menu.inner {
    position: static !important;
    top: auto !important;
    left: auto !important;
    border: 0;
    box-shadow: none;
    padding: 0;
    margin: 0;
    max-height: 280px;
    overflow-y: auto !important;
    overflow-x: hidden;
}
.dlp-root .nya-bs-select .dropdown-menu li > a {
    padding: 7px 10px;
    border-radius: 6px;
    font-size: 13.5px;
    line-height: 1.35;
    white-space: normal;
    word-break: break-word;
}
.dlp-root .nya-bs-select .dropdown-menu li.selected > a,
.dlp-root .nya-bs-select .dropdown-menu li > a:hover {
    background: #eef2ff;
    color: #3949ab;
}
/* La coche des listes multiples ne doit pas apparaître dans le bouton */
.dlp-root .nya-bs-select > .dropdown-toggle .check-mark,
md-dialog.dlp-dialog .nya-bs-select > .dropdown-toggle .check-mark { display: none !important; }

/* ───────── Boutons de barre d'outils ─────────
   Une barre entièrement blanche à côté d'un seul bouton plein manque de vie,
   mais un fond teinté juste sous la barre de navigation indigo fait doublon
   et alourdit. La couleur vit donc dans le TRAIT et le TEXTE, pas dans la
   masse : fond blanc, bordure et libellé dans la teinte, icône en couleur
   pleine. Le fond ne se teinte qu'au survol, pour confirmer le geste.
   Règle de la rubrique, du plus fort au plus neutre :
   Ce qui ENGAGE a une masse, ce qui ASSISTE n'a qu'un trait :
     plein indigo (.ax-btn-primary) .... valider, enregistrer — au niveau de l'écran
                                         comme au niveau d'une carte
     plein orange (.dlp-btn-orange) .... les alertes : une porte vers un autre écran,
                                         seule autre couleur du thème (--ax-accent)
     trait indigo (.dlp-btn-indigo) .... une action qui assiste : recharger, recalculer,
                                         ajouter une ligne
     trait vert (.dlp-btn-export) ...... un export de fichier
     gris (.ax-btn-outline) ............ navigation, annulation, réinitialisation
   Toutes les teintes sont des jetons du design system. */
.dlp-root .ax-btn.dlp-btn-indigo,
md-dialog.dlp-dialog .ax-btn.dlp-btn-indigo {
    background: #fff;
    color: var(--ax-primary-dark, #303f9f);
    border: 1px solid var(--ax-primary-light, #c5cae9);
    font-weight: 600;
}
.dlp-root .ax-btn.dlp-btn-indigo:hover,
.dlp-root .ax-btn.dlp-btn-indigo:focus,
md-dialog.dlp-dialog .ax-btn.dlp-btn-indigo:hover,
md-dialog.dlp-dialog .ax-btn.dlp-btn-indigo:focus {
    background: var(--ax-primary-50, #e8eaf6);
    border-color: var(--ax-primary, #3f51b5);
    color: var(--ax-primary-dark, #303f9f);
}
.dlp-root .ax-btn.dlp-btn-indigo i,
md-dialog.dlp-dialog .ax-btn.dlp-btn-indigo i { color: var(--ax-primary, #3f51b5); }

.dlp-root .ax-btn.dlp-btn-orange {
    background: var(--ax-accent, #ec781d);
    color: #fff;
    border: 1px solid var(--ax-accent, #ec781d);
    font-weight: 600;
}
.dlp-root .ax-btn.dlp-btn-orange:hover,
.dlp-root .ax-btn.dlp-btn-orange:focus {
    background: var(--ax-accent-dark, #d46815);
    border-color: var(--ax-accent-dark, #d46815);
    color: #fff;
    box-shadow: 0 2px 8px rgba(236, 120, 29, .25);
}
.dlp-root .ax-btn.dlp-btn-orange i { color: #fff; }

.dlp-root .ax-btn.dlp-btn-export {
    background: #fff;
    color: var(--ax-success-text, #388e3c);
    border: 1px solid var(--ax-success-border, #c8e6c9);
    font-weight: 600;
}
.dlp-root .ax-btn.dlp-btn-export:hover,
.dlp-root .ax-btn.dlp-btn-export:focus {
    background: var(--ax-success-light, #e8f5e9);
    border-color: var(--ax-success, #43a047);
    color: var(--ax-success-text, #388e3c);
}
.dlp-root .ax-btn.dlp-btn-export i { color: var(--ax-success, #43a047); }

/* Interrupteur « Filtres » dans la barre d'en-tête.
   .ax-fiche-header n'a ni gap ni justify-content et .ax-fiche-title n'a pas
   flex:1 : sans margin-left:auto l'interrupteur se colle au titre. */
.dlp-root .dlp-filters-toggle {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0 0 0 auto;
    padding: 3px 12px 3px 8px;
    border: 1px solid var(--ax-border);
    border-radius: var(--ax-radius-pill, 999px);
    background: #fff;
    cursor: pointer;
    user-select: none;
    font-weight: 400;
    transition: var(--ax-tr-fast, all .15s ease);
}
.dlp-root .dlp-filters-toggle:hover {
    border-color: var(--ax-primary-light, #c5cae9);
    background: var(--ax-primary-50, #eef2ff);
}
.dlp-root .dlp-filters-toggle .dlp-filters-toggle-text {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--ax-text-sec);
    white-space: nowrap;
}
.dlp-root .dlp-filters-toggle .dlp-filters-toggle-text i { color: var(--ax-primary); font-size: 13px; }
.dlp-root .ax-switch.dlp-switch-sm { width: 34px; height: 19px; flex-shrink: 0; }
.dlp-root .ax-switch.dlp-switch-sm .ax-slider { border-radius: 19px; }
.dlp-root .ax-switch.dlp-switch-sm .ax-slider:before { height: 13px; width: 13px; left: 3px; bottom: 3px; }
.dlp-root .ax-switch.dlp-switch-sm input:checked + .ax-slider:before { transform: translateX(15px); }

/* ═══════════════════════════════════════════════════════════════
   3. TABLEAUX
   ═══════════════════════════════════════════════════════════════ */
/* Largeur minimale : sans elle, 12 colonnes se compriment jusqu'à se
   chevaucher sur un écran étroit. .ax-table-scroll porte déjà
   overflow-x:auto dans le design system. */
.dlp-root .ax-table-scroll table.table { min-width: 1100px; }
.dlp-root .ax-table-scroll table.table.dlp-minw-xs { min-width: 620px; }
.dlp-root .ax-table-scroll table.table.dlp-minw-sm { min-width: 860px; }
.dlp-root .ax-table-scroll table.table.dlp-minw-md { min-width: 1100px; }
.dlp-root .ax-table-scroll table.table.dlp-minw-lg { min-width: 1420px; }
.dlp-root .ax-table-scroll::-webkit-scrollbar { width: 9px; height: 9px; }
.dlp-root .ax-table-scroll::-webkit-scrollbar-track { background: #f1f5f9; border-radius: 6px; }
.dlp-root .ax-table-scroll::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 6px; }
.dlp-root .ax-table-scroll::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Entête : un cran au-dessus du 12 px du design system */
.dlp-root .ax-table-scroll table.table > thead > tr > th { font-size: 13px; }
/* Le design system fige les cellules a height:34px / line-height:34px, ce
   qui convient a une ligne de texte. Ici presque toutes les colonnes ont
   une deuxieme ligne (compte tiers, ICE/IF, pastille de declaration) : la
   hauteur revient au contenu, l'interligne redevient typographique. */
.dlp-root .ax-table-scroll table.table > tbody > tr > td {
    height: auto;
    line-height: 1.45;
    padding: 8px;
    vertical-align: middle;
}
/* Aucune ligne de ces tableaux n'est cliquable : pas de main au survol. */
.dlp-root .ax-table-scroll table.table > tbody > tr { cursor: default; }
/* Les couleurs d'etat posees par ng-class sur un <td> pesent (0,2,0) et
   perdent contre la couleur de texte du design system (0,2,4). */
.dlp-root .ax-table-scroll table.table > tbody > tr > td.dlp-retard,
.dlp-root .ax-table-scroll table.table > tbody > tr > td.dlpd-limite-passee,
.dlp-root .ax-table-scroll table.table > tbody > tr > td.dlpd-reste { color: #b91c1c; font-weight: 600; }
.dlp-root .ax-table-scroll table.table > tbody > tr > td.dlp-imminent { color: #b45309; font-weight: 600; }
.dlp-root .ax-table-scroll table.table > tbody > tr > td.dlpd-solde { color: #15803d; font-weight: 600; }
.dlp-root .ax-table-scroll table.table > thead > tr > th.dlp-num,
.dlp-root .ax-table-scroll table.table > tbody > tr > td.dlp-num {
    text-align: right;
    font-variant-numeric: tabular-nums;
}
.dlp-root .ax-table-scroll table.table > thead > tr > th.dlp-actions,
.dlp-root .ax-table-scroll table.table > tbody > tr > td.dlp-actions { text-align: right; }

/* Champs de saisie dans une cellule (configuration : taux, tranches) */
.dlp-root .ax-table-scroll table.table > tbody > tr > td .form-control {
    height: 32px;
    min-height: 32px;
    font-size: 14px;
    padding: 4px 9px;
    box-sizing: border-box;
    border: 1px solid var(--ax-border-input, #e2e8f0);
    border-radius: var(--ax-radius-xs, 6px);
    background: #fff;
    box-shadow: none;
}
.dlp-root .ax-table-scroll table.table > tbody > tr > td .form-control:focus {
    border-color: var(--ax-border-focus, #2563eb);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, .15);
    outline: none;
}
.dlp-root .ax-table-scroll table.table > tbody > tr > td .input-group { display: flex; align-items: stretch; }
.dlp-root .ax-table-scroll table.table > tbody > tr > td .input-group .form-control {
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    border-radius: 6px 0 0 6px;
    border-right: none;
}
.dlp-root .ax-table-scroll table.table > tbody > tr > td .input-group .input-group-btn { display: flex; align-items: stretch; font-size: 0; }
.dlp-root .ax-table-scroll table.table > tbody > tr > td .input-group .input-group-btn > .btn {
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    margin: 0 !important;
    padding: 0 10px !important;
    line-height: 1 !important;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    border-radius: 0 6px 6px 0 !important;
    border: 1px solid var(--ax-border-input, #e2e8f0) !important;
    border-left: none !important;
    background: #fff;
    box-shadow: none !important;
}

/* Deuxième ligne d'information dans une cellule (compte, date de calcul) */
.dlp-root .dlp-cell-sub {
    display: block;
    margin-top: 2px;
    font-size: 13px;
    color: var(--ax-text-sec, #64748b);
    line-height: 1.35;
}
.dlp-root .dlp-cell-ice { font-size: 13px; line-height: 1.4; }
/* Dans la colonne Régime la 2e ligne porte le régime lui-même : elle se lit,
   elle ne s'efface pas. */
.dlp-root .ax-table-scroll table.table > tbody > tr > td .dlp-cell-sub { margin-top: 1px; }

/* Ligne « aucun résultat » */
.dlp-root .dlp-empty-row td {
    text-align: center;
    color: var(--ax-text-sec, #64748b);
    padding: 22px 12px !important;
    font-size: 13.5px;
}
.dlp-root .dlp-empty-row i {
    display: block;
    margin-bottom: 6px;
    font-size: 24px;
    color: var(--ax-text-light, #cbd5e1);
}

/* Boutons d'action : pas de déplacement au survol (évite la boucle
   survol/quitter avec l'infobulle) */
.dlp-root .ax-btn-group > .abtn:hover,
.dlp-root .ax-btn-group > .abtn:active { transform: none !important; }
.dlp-root .ax-btn-group > .abtn i { pointer-events: none; }
.dlp-root .ax-btn-group > .abtn:focus-visible {
    outline: 2px solid var(--ax-border-focus, #2563eb);
    outline-offset: -2px;
    z-index: 2;
}
.dlp-root .abtn:disabled,
.dlp-root .abtn[disabled] {
    opacity: .4;
    cursor: not-allowed;
    pointer-events: none;
    filter: grayscale(40%);
}

/* ═══════════════════════════════════════════════════════════════
   4. ÉTATS ET PASTILLES
   ⚠️ .dlp-retard / .dlp-imminent et .dlpd-* sont produits par les
      contrôleurs : ne jamais renommer.
   ═══════════════════════════════════════════════════════════════ */
.dlp-root .dlp-retard   { color: #b91c1c; font-weight: 600; }
.dlp-root .dlp-imminent { color: #b45309; font-weight: 600; }
.dlp-root .dlp-paye     { color: #15803d; font-weight: 600; }
.dlp-root .dlp-impaye   { color: var(--ax-text-sec, #64748b); }
/* Un paiement partiel n'est pas un retard imminent : meme ambre, etat propre. */
.dlp-root .dlp-partiel  { color: #b45309; font-weight: 600; }
.dlp-root .dlp-exclu    { color: #64748b; font-style: italic; }
.dlp-root .dlp-amende   { color: #b91c1c; font-weight: 600; cursor: help; }
.dlp-root .dlp-sans-calendrier { color: #d97706; margin-left: 4px; }

/* Date de debut absente : l'echeance n'est pas calculee et le depot sera refuse.
   Plus visible que l'avertissement de calendrier, qui n'empeche rien. */
.dlp-root .dlp-sans-date-debut {
    display: inline-block;
    padding: 1px 7px;
    border-radius: var(--ax-radius-pill, 999px);
    background: #fef2f2;
    border: 1px solid #fecaca;
    color: #b91c1c;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    text-decoration: none;
}

.dlp-root a.dlp-sans-date-debut:hover,
.dlp-root a.dlp-sans-date-debut:focus {
    background: #fee2e2;
    color: #991b1b;
    text-decoration: none;
}

/* Pastilles */
.dlp-root .dlp-pill {
    display: inline-block;
    padding: 2px 9px;
    border-radius: var(--ax-radius-pill, 999px);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    white-space: nowrap;
    border: 1px solid transparent;
}
.dlp-root .dlp-lettrage {
    margin-left: 6px;
    background: #eef2ff;
    color: #3730a3;
    border-color: #c7d2fe;
}
.dlp-root .dlp-declaree {
    margin-left: 6px;
    background: #f1f5f9;
    color: #475569;
    border-color: #e2e8f0;
}
.dlp-root .dlp-deposee {
    background: #eef2ff;
    color: #3730a3;
    border-color: #c7d2fe;
    font-weight: 600;
}
.dlp-root .dlp-badge-forcee {
    background: #fef3c7;
    color: #92400e;
    border-color: #fcd34d;
    margin-left: 6px;
}

/* Bouton discret « note de calcul » dans la colonne Amende */
.dlp-root .dlp-btn-detail {
    border: 1px solid transparent;
    background: transparent;
    padding: 0;
    margin-left: 6px;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    cursor: pointer;
    color: var(--ax-text-light, #94a3b8);
    font-size: 13px;
    transition: var(--ax-tr-fast, all .15s ease);
}
.dlp-root .dlp-btn-detail:hover {
    color: var(--ax-primary, #3f51b5);
    background: var(--ax-primary-50, #eef2ff);
    border-color: var(--ax-primary-light, #c5cae9);
}
.dlp-root .dlp-btn-detail i { pointer-events: none; }
.dlp-root .dlp-btn-detail:focus-visible {
    outline: 2px solid var(--ax-border-focus, #2563eb);
    outline-offset: 1px;
}

/* Statuts de déclaration (classes renvoyées par classeStatut()) */
.dlp-root .dlpd-badge {
    display: inline-block;
    padding: 2px 11px;
    border-radius: var(--ax-radius-pill, 999px);
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    line-height: 1.55;
    border: 1px solid transparent;
}
.dlp-root .dlpd-attente { background: #f1f5f9; color: #475569; border-color: #e2e8f0; }
.dlp-root .dlpd-calcule { background: #eef2ff; color: #3730a3; border-color: #c7d2fe; }
.dlp-root .dlpd-neant   { background: #ecfdf5; color: #15803d; border-color: #a7f3d0; }
.dlp-root .dlpd-depose  { background: #dcfce7; color: #14532d; border-color: #86efac; }
.dlp-root .dlpd-retard  { background: #fee2e2; color: #991b1b; border-color: #fecaca; }

.dlp-root .dlpd-limite-passee { color: #b91c1c; font-weight: 600; }
.dlp-root .dlpd-du    { font-weight: 600; }
.dlp-root .dlpd-solde { color: #15803d; }
.dlp-root .dlpd-reste { color: #b91c1c; font-weight: 600; }

/* ═══════════════════════════════════════════════════════════════
   5. FORMULAIRES ET SECTIONS (Configuration, Déclarations)
   ═══════════════════════════════════════════════════════════════ */
/* Titre de section : remplace les h4.ax-fiche-title à style inline */
.dlp-root .dlp-section {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 12px;
    font-size: 15px;
    font-weight: 700;
    color: var(--ax-text-strong, #0f172a);
}
.dlp-root .dlp-section + * { margin-top: 0; }
.dlp-root .dlp-section i { color: var(--ax-primary, #3f51b5); }
.dlp-root .dlp-section-note {
    font-weight: 400;
    color: var(--ax-text-sec, #64748b);
    font-size: 13.5px;
}
.dlp-root .dlp-section-sep { margin-top: 22px; }

/* Grille de formulaire : la grille Bootstrap est conservée, seules
   les marges et la typographie sont reprises. */
.dlp-root .dlp-form-row { margin-left: -8px; margin-right: -8px; }
.dlp-root .dlp-form-row > [class*="col-md-"],
.dlp-root .dlp-form-row > [class*="col-sm-"] {
    padding-left: 8px;
    padding-right: 8px;
    overflow: visible;
}
.dlp-root .dlp-form-row .ax-form-group { margin-bottom: 14px; position: relative; }
.dlp-root .dlp-form-row label {
    display: block;
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    line-height: 1.3;
}
.dlp-root .dlp-form-row .form-control {
    height: 34px;
    min-height: 34px;
    box-sizing: border-box;
    padding: 5px 10px;
    font-size: 14px;
    border: 1px solid var(--ax-border-input, #cbd5e1);
    border-radius: var(--ax-radius-sm, 8px);
    background: #fff;
    box-shadow: none;
}
.dlp-root .dlp-form-row .form-control:focus {
    border-color: var(--ax-border-focus, #2563eb);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, .15);
    outline: none;
}
.dlp-root .dlp-form-row .form-control[disabled] {
    background: #f1f5f9;
    border-style: dashed;
    color: var(--ax-text-sec);
    -webkit-text-fill-color: var(--ax-text-sec);
    opacity: 1;
    cursor: not-allowed;
}
.dlp-root .dlp-form-row ol.nya-bs-select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 34px !important;
    padding: 0 !important;
    margin: 0;
    box-sizing: border-box;
    border: 1px solid var(--ax-border-input, #cbd5e1) !important;
    border-radius: var(--ax-radius-sm, 8px);
    background: #fff;
}
.dlp-root .dlp-form-row ol.nya-bs-select > .dropdown-toggle,
.dlp-root .dlp-form-row ol.nya-bs-select > .btn {
    height: 32px !important;
    line-height: 32px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 24px 0 10px !important;
    box-sizing: border-box;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 14px;
    font-weight: 600;
    overflow: hidden;
}
/* Un montant ou un taux se lit par la droite, et n'a pas besoin de 360 px. */
.dlp-root .dlp-form-row .form-control[valid-amount] {
    text-align: right;
    font-variant-numeric: tabular-nums;
    max-width: 240px;
}
.dlp-root .dlp-req { color: var(--ax-danger, #e53935); margin-left: 2px; font-weight: 700; }

/* Bloc « conclusion » de l'assujettissement */
.dlp-root .dlp-conclusion { padding-top: 6px; }
.dlp-root .dlp-conclusion-motif {
    font-size: 13.5px;
    color: var(--ax-text-sec, #64748b);
    margin-top: 5px;
    line-height: 1.45;
}
/* Bouton aligné sur la ligne des champs (le libellé occupe ~22 px) */
.dlp-root .dlp-form-row .dlp-btn-aligne { margin-top: 22px; display: block; }

/* Surface de contenu : l'ecran Configuration empilait ses six sections a plat
   sur le fond gris, alors que Declarations regroupe les siennes dans .dlpd-depot. */
.dlp-root .dlp-card {
    background: #fff;
    border: 1px solid var(--ax-border-light, #eef0f6);
    border-radius: var(--ax-radius-sm, 8px);
    padding: 16px 18px;
    margin: 0 0 16px;
}
.dlp-root .dlp-card:last-child { margin-bottom: 0; }
.dlp-root .dlp-card > .dlp-section { margin-top: 0; }
.dlp-root .dlp-card .ax-table-scroll { margin-bottom: 0; }

/* Synthèse d'une déclaration */
.dlp-root .dlpd-synthese {
    display: flex;
    flex-wrap: wrap;
    gap: 14px 36px;
    background: #f8fafc;
    border: 1px solid var(--ax-border-light, #eef0f6);
    border-radius: var(--ax-radius-sm, 8px);
    padding: 16px 18px;
    margin: 0 0 16px;
}
.dlp-root .dlpd-synthese > div { display: flex; flex-direction: column; gap: 2px; }
.dlp-root .dlpd-synthese dt {
    font-size: 13px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: var(--ax-text-sec, #64748b);
    font-weight: 600;
}
.dlp-root .dlpd-synthese dd {
    margin: 0;
    font-weight: 700;
    font-size: 16px;
    color: var(--ax-text-strong, #0f172a);
}
/* Les couleurs de statut posees par ng-class doivent l'emporter sur la
   couleur par defaut de la valeur. */
.dlp-root .dlpd-synthese dd.dlpd-reste { color: var(--ax-danger, #b91c1c); }
.dlp-root .dlpd-synthese dd.dlpd-solde { color: #15803d; }
.dlp-root .dlpd-synthese dd.dlpd-limite-passee { color: var(--ax-danger, #b91c1c); }

/* Bloc de dépôt */
.dlp-root .dlpd-depot {
    background: #fff;
    border: 1px solid var(--ax-border-light, #eef0f6);
    border-radius: var(--ax-radius-sm, 8px);
    padding: 16px 18px;
    margin-bottom: 18px;
}
.dlp-root .dlpd-depot.dlpd-fige { background: #f8fafc; }
.dlp-root .dlpd-depot-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }

/* ═══════════════════════════════════════════════════════════════
   6. POPUPS (md-dialog.dlp-dialog)
   ═══════════════════════════════════════════════════════════════ */
md-dialog.dlp-dialog {
    /* angular-material plafonne a 80% ; on remonte sans supprimer la borne,
       sinon .dlp-dialog-body n'a plus de hauteur a repartir et ne defile pas. */
    max-height: 92vh !important;
    max-width: 96vw !important;
    /* axeane-modern-theme.css impose md-dialog { overflow:hidden !important } */
    overflow: hidden !important;
    border-radius: 16px !important;
    font-family: var(--ax-font);
    display: flex;
    flex-direction: column;
    box-shadow: 0 25px 60px rgba(0, 0, 0, .15), 0 0 0 1px rgba(0, 0, 0, .05);
}

/* ── En-tête ── */
/* Gabarits de largeur : un !important bat toujours un style= inline, les
   vues ne peuvent donc pas fixer leur largeur elles-memes. */
md-dialog.dlp-dialog.dlp-dialog-sm { width: min(740px, 96vw); }
md-dialog.dlp-dialog.dlp-dialog-md { width: min(920px, 96vw); }
md-dialog.dlp-dialog.dlp-dialog-lg { width: min(980px, 96vw); }

md-dialog.dlp-dialog .dlp-dialog-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 13px 20px;
    background: linear-gradient(135deg, #3949AB 0%, #5C6BC0 50%, #7986CB 100%);
    color: #fff;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    border-radius: 16px 16px 0 0;
}
md-dialog.dlp-dialog .dlp-dialog-header::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -20%;
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, rgba(255, 255, 255, .08) 0%, transparent 70%);
    pointer-events: none;
}
md-dialog.dlp-dialog .dlp-dialog-header-left { display: flex; align-items: center; gap: 14px; z-index: 1; min-width: 0; }
md-dialog.dlp-dialog .dlp-dialog-icon {
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, .18);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}
md-dialog.dlp-dialog .dlp-dialog-title {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: -.01em;
    line-height: 1.2;
}
md-dialog.dlp-dialog .dlp-dialog-subtitle {
    font-size: 13px;
    font-weight: 400;
    opacity: .8;
    margin-top: 2px;
}
md-dialog.dlp-dialog .dlp-dialog-close {
    z-index: 1;
    width: 34px;
    height: 34px;
    flex-shrink: 0;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, .2);
    background: rgba(255, 255, 255, .1);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    transition: background .2s ease, transform .2s ease;
}
md-dialog.dlp-dialog .dlp-dialog-close:hover { background: rgba(255, 255, 255, .25); transform: rotate(90deg); }
md-dialog.dlp-dialog .dlp-dialog-close i { pointer-events: none; }

/* ── Corps et pied ── */
md-dialog.dlp-dialog .dlp-dialog-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    background: #F6F7FB;
    padding: 16px 20px;
}
md-dialog.dlp-dialog .dlp-dialog-body::-webkit-scrollbar { width: 6px; }
md-dialog.dlp-dialog .dlp-dialog-body::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }
md-dialog.dlp-dialog .dlp-dialog-note {
    padding: 12px 20px;
    background: #f8fafc;
    border-bottom: 1px solid var(--ax-border-light, #e2e8f0);
    font-size: 13.5px;
    color: var(--ax-text-sec, #475569);
    line-height: 1.5;
    flex-shrink: 0;
}
md-dialog.dlp-dialog .dlp-dialog-footer {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    border-top: 1px solid var(--ax-border, #e5e7eb);
    background: #fff;
    flex-shrink: 0;
    border-radius: 0 0 16px 16px;
}
md-dialog.dlp-dialog .dlp-dialog-footer-spacer { margin-left: auto; }

/* Tableau générique dans une popup */
md-dialog.dlp-dialog .dlp-dialog-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 14px;
    background: #fff;
    border: 1px solid var(--ax-border, #e5e7eb);
    border-radius: var(--ax-radius-sm, 8px);
    overflow: hidden;
}
md-dialog.dlp-dialog .dlp-dialog-table th {
    text-align: left;
    font-size: 13px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #475569;
    font-weight: 700;
    padding: 9px 12px;
    background: #f8fafc;
    border-bottom: 1px solid var(--ax-border, #e5e7eb);
    white-space: nowrap;
}
md-dialog.dlp-dialog .dlp-dialog-table td {
    padding: 8px 12px;
    border-bottom: 1px solid #eef2f6;
    vertical-align: middle;
}
md-dialog.dlp-dialog .dlp-dialog-table tbody tr:last-child td { border-bottom: none; }
md-dialog.dlp-dialog .dlp-dialog-table tbody tr:hover td { background: var(--ax-row-hover, rgba(63, 81, 181, .05)); }
md-dialog.dlp-dialog .dlp-num,
md-dialog.dlp-dialog .dlp-dialog-table th.dlp-num,
md-dialog.dlp-dialog .dlp-dialog-table td.dlp-num { text-align: right; font-variant-numeric: tabular-nums; }
md-dialog.dlp-dialog .dlp-dialog-table th.dlp-actions,
md-dialog.dlp-dialog .dlp-dialog-table td.dlp-actions { text-align: right; white-space: nowrap; }
md-dialog.dlp-dialog .dlp-dialog-empty {
    padding: 26px 12px;
    text-align: center;
    color: var(--ax-text-sec, #64748b);
    font-size: 13.5px;
}
md-dialog.dlp-dialog .dlp-dialog-empty i {
    display: block;
    font-size: 24px;
    color: #cbd5e1;
    margin-bottom: 8px;
}
md-dialog.dlp-dialog .form-control {
    height: 32px;
    box-sizing: border-box;
    padding: 4px 9px;
    font-size: 14px;
    border: 1px solid var(--ax-border-input, #cbd5e1);
    border-radius: var(--ax-radius-xs, 6px);
    box-shadow: none;
}
md-dialog.dlp-dialog .form-control:focus {
    border-color: var(--ax-border-focus, #2563eb);
    box-shadow: 0 0 0 2px rgba(37, 99, 235, .15);
    outline: none;
}

/* ── Popup : affectation d'un règlement ── */
md-dialog.dlp-dialog .dlp-aff-montant { width: 120px; text-align: right; }
md-dialog.dlp-dialog .dlp-aff-echue { color: #b91c1c; font-weight: 600; }
md-dialog.dlp-dialog .dlp-aff-bilan {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    padding: 10px 20px;
    background: #f8fafc;
    border-top: 1px solid var(--ax-border-light, #e2e8f0);
    flex-shrink: 0;
}
md-dialog.dlp-dialog .dlp-aff-total {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    font-size: 14px;
    color: var(--ax-text-body);
}
md-dialog.dlp-dialog .dlp-aff-total strong { font-size: 15px; color: var(--ax-text-strong); }
md-dialog.dlp-dialog .dlp-aff-reste { font-weight: 700; }
md-dialog.dlp-dialog .dlp-aff-reste-ok { color: #15803d; }
md-dialog.dlp-dialog .dlp-aff-reste-ko { color: #b91c1c; }

/* ── Popup : note de calcul d'une amende ── */
md-dialog.dlp-dialog .dlp-amd-tete {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 20px;
    background: #f8fafc;
    border-bottom: 1px solid var(--ax-border-light, #e2e8f0);
    flex-shrink: 0;
}
md-dialog.dlp-dialog .dlp-amd-piece { font-size: 14px; color: #0f172a; font-weight: 700; }
md-dialog.dlp-dialog .dlp-amd-tiers { font-size: 13.5px; color: #64748b; margin-top: 3px; }
md-dialog.dlp-dialog .dlp-amd-total { text-align: right; white-space: nowrap; }
md-dialog.dlp-dialog .dlp-amd-total-valeur { font-size: 26px; font-weight: 700; color: #b91c1c; line-height: 1.1; }
md-dialog.dlp-dialog .dlp-amd-total-legende {
    font-size: 13px;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .04em;
}
md-dialog.dlp-dialog .dlp-amd-etape {
    background: #fff;
    border: 1px solid var(--ax-border-light, #eef0f6);
    border-radius: var(--ax-radius-sm, 8px);
    padding: 13px 16px;
    margin-bottom: 12px;
}
md-dialog.dlp-dialog .dlp-amd-titre {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #3f51b5;
    margin-bottom: 9px;
    display: flex;
    align-items: center;
    gap: 8px;
}
md-dialog.dlp-dialog .dlp-amd-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex: none;
    border-radius: 50%;
    background: #3f51b5;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}
md-dialog.dlp-dialog .dlp-amd-table { width: 100%; border-collapse: collapse; font-size: 14px; }
md-dialog.dlp-dialog .dlp-amd-table td { padding: 5px 0; vertical-align: baseline; }
md-dialog.dlp-dialog .dlp-amd-lib { color: #475569; }
md-dialog.dlp-dialog .dlp-amd-val {
    text-align: right;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    color: #0f172a;
    font-weight: 600;
}
md-dialog.dlp-dialog .dlp-amd-somme td {
    border-top: 1px solid #cbd5e1;
    font-weight: 700;
    padding-top: 7px;
}
md-dialog.dlp-dialog .dlp-amd-note {
    font-size: 13.5px;
    color: #64748b;
    margin-top: 8px;
    line-height: 1.5;
}
md-dialog.dlp-dialog .dlp-amd-formule {
    padding: 12px 14px;
    background: #eef1fb;
    border: 1px solid #c7d2fe;
    border-radius: var(--ax-radius-sm, 8px);
    font-size: 14.5px;
    color: #1e2a78;
    text-align: center;
    font-variant-numeric: tabular-nums;
    margin-bottom: 12px;
}
md-dialog.dlp-dialog .dlp-amd-sans {
    padding: 30px 20px;
    text-align: center;
    color: #64748b;
    font-size: 14px;
    background: #fff;
    border: 1px solid var(--ax-border-light, #eef0f6);
    border-radius: var(--ax-radius-sm, 8px);
}
md-dialog.dlp-dialog .dlp-amd-sans i { font-size: 26px; color: #cbd5e1; display: block; margin-bottom: 10px; }
md-dialog.dlp-dialog .dlp-amd-sans strong { color: #0f172a; display: block; margin-bottom: 5px; font-size: 15px; }
md-dialog.dlp-dialog .dlp-amd-pied {
    font-size: 13px;
    color: #94a3b8;
    line-height: 1.5;
    padding-top: 4px;
}

/* ── Popup : alertes ── */
md-dialog.dlp-dialog .dlp-alr-etat {
    display: inline-block;
    padding: 2px 10px;
    border-radius: var(--ax-radius-pill, 999px);
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    line-height: 1.55;
    border: 1px solid transparent;
}
md-dialog.dlp-dialog .dlp-alr-on  { background: #dcfce7; color: #166534; border-color: #86efac; }
md-dialog.dlp-dialog .dlp-alr-off { background: #f1f5f9; color: #64748b; border-color: #e2e8f0; }
md-dialog.dlp-dialog .dlp-alr-seuil { font-weight: 700; color: #0f172a; white-space: nowrap; }

md-dialog.dlp-dialog .dlp-alr-form {
    margin-top: 14px;
    padding: 16px;
    border: 1px solid var(--ax-border, #e5e7eb);
    border-radius: var(--ax-radius-sm, 8px);
    background: #fff;
    box-shadow: var(--ax-shadow-xs);
}
md-dialog.dlp-dialog .dlp-alr-form h4 {
    margin: 0 0 14px;
    font-size: 15px;
    font-weight: 700;
    color: #0f172a;
}
md-dialog.dlp-dialog .dlp-alr-aide {
    font-size: 13px;
    color: #64748b;
    margin-top: 4px;
    line-height: 1.4;
}
md-dialog.dlp-dialog .dlp-alr-ligne {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 16px;
}
md-dialog.dlp-dialog .dlp-alr-ligne:last-child { margin-bottom: 0; }
md-dialog.dlp-dialog .dlp-alr-champ-type   { flex: 2 1 300px; }
md-dialog.dlp-dialog .dlp-alr-champ-seuil  { flex: 0 0 132px; }
md-dialog.dlp-dialog .dlp-alr-champ-heure  { flex: 0 0 118px; }
md-dialog.dlp-dialog .dlp-alr-champ-canaux { flex: 0 0 auto; }
md-dialog.dlp-dialog .dlp-alr-champ-dests  { flex: 1 1 320px; }
md-dialog.dlp-dialog .dlp-alr-champ-actif  { flex: 0 0 132px; }
md-dialog.dlp-dialog .dlp-alr-champ-actif .ax-switch { margin: 2px 0 0; }
md-dialog.dlp-dialog .dlp-alr-champ { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
md-dialog.dlp-dialog .dlp-alr-champ > label {
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    margin: 0;
    letter-spacing: .01em;
}
md-dialog.dlp-dialog .dlp-alr-champ .form-control { height: 34px; font-size: 14px; padding: 5px 10px; }
md-dialog.dlp-dialog .dlp-alr-champ ol.nya-bs-select {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 34px !important;
    padding: 0 !important;
    margin: 0;
    box-sizing: border-box;
    border: 1px solid var(--ax-border-input, #cbd5e1) !important;
    border-radius: var(--ax-radius-sm, 8px);
    background: #fff;
}
md-dialog.dlp-dialog .dlp-alr-champ ol.nya-bs-select > .dropdown-toggle,
md-dialog.dlp-dialog .dlp-alr-champ ol.nya-bs-select > .btn {
    height: 32px !important;
    line-height: 32px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 24px 0 10px !important;
    box-sizing: border-box;
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: 14px;
    font-weight: 600;
}

/* Canaux : pastilles cliquables (une case native se fait déplacer par
   les feuilles globales à l'intérieur d'une md-dialog) */
md-dialog.dlp-dialog .dlp-alr-canaux { display: flex; gap: 8px; }
md-dialog.dlp-dialog .dlp-alr-canal {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 7px 13px;
    border: 1px solid var(--ax-border-input, #cbd5e1);
    border-radius: var(--ax-radius-xs, 6px);
    background: #fff;
    cursor: pointer;
    font-size: 13.5px;
    color: #475569;
    user-select: none;
    transition: var(--ax-tr-fast, all .12s ease);
    white-space: nowrap;
}
md-dialog.dlp-dialog .dlp-alr-canal:hover { border-color: #94a3b8; background: #f8fafc; }
md-dialog.dlp-dialog .dlp-alr-canal.est-choisi {
    border-color: #3f51b5;
    background: #eef1fb;
    color: #1e2a78;
    font-weight: 700;
}
md-dialog.dlp-dialog .dlp-alr-canal i.fa-check { font-size: 12px; color: #3f51b5; }
md-dialog.dlp-dialog .dlp-alr-vide-check { width: 12px; }

/* Destinataires */
md-dialog.dlp-dialog .dlp-alr-dests {
    border: 1px solid var(--ax-border-input, #cbd5e1);
    border-radius: var(--ax-radius-xs, 6px);
    background: #fff;
    overflow: hidden;
}
md-dialog.dlp-dialog .dlp-alr-dests-tete {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 11px;
    background: #f8fafc;
    border-bottom: 1px solid var(--ax-border-light, #e2e8f0);
    font-size: 13px;
    color: #64748b;
}
md-dialog.dlp-dialog .dlp-alr-dests-tete a { color: #3f51b5; cursor: pointer; margin: 0 4px; font-weight: 600; }
md-dialog.dlp-dialog .dlp-alr-dests-corps { max-height: 132px; overflow-y: auto; }
md-dialog.dlp-dialog .dlp-alr-dest {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 7px 11px;
    cursor: pointer;
    font-size: 13.5px;
    color: #334155;
    border-bottom: 1px solid #f1f5f9;
}
md-dialog.dlp-dialog .dlp-alr-dest:last-child { border-bottom: none; }
md-dialog.dlp-dialog .dlp-alr-dest:hover { background: #f8fafc; }
md-dialog.dlp-dialog .dlp-alr-dest.est-choisi { background: #eef1fb; color: #1e2a78; }
md-dialog.dlp-dialog .dlp-alr-case {
    width: 17px;
    height: 17px;
    flex: none;
    border: 1px solid #94a3b8;
    border-radius: 4px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
}
md-dialog.dlp-dialog .dlp-alr-dest.est-choisi .dlp-alr-case { background: #3f51b5; border-color: #3f51b5; }
md-dialog.dlp-dialog .dlp-alr-case i { font-size: 10px; color: #fff; }
md-dialog.dlp-dialog .dlp-alr-dest-mail { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
md-dialog.dlp-dialog .dlp-alr-dests-aucun {
    padding: 16px 11px;
    text-align: center;
    color: #94a3b8;
    font-size: 13.5px;
}
md-dialog.dlp-dialog .dlp-alr-actions {
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    margin-top: 14px;
}

/* Boutons d'action discrets dans le tableau des alertes */
md-dialog.dlp-dialog .dlp-icon-btn {
    width: 28px;
    height: 28px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: var(--ax-radius-xs, 6px);
    background: transparent;
    color: #64748b;
    cursor: pointer;
    font-size: 13px;
    transition: var(--ax-tr-fast, all .15s ease);
}
md-dialog.dlp-dialog .dlp-icon-btn:hover {
    background: var(--ax-primary-50, #eef2ff);
    border-color: var(--ax-primary-light, #c5cae9);
    color: var(--ax-primary, #3f51b5);
}
md-dialog.dlp-dialog .dlp-icon-btn.dlp-icon-danger:hover {
    background: var(--ax-danger-light, #fef2f2);
    border-color: var(--ax-danger-border, #fecaca);
    color: var(--ax-danger, #b91c1c);
}
md-dialog.dlp-dialog .dlp-icon-btn i { pointer-events: none; }

/* ═══════════════════════════════════════════════════════════════
   7. RESPONSIVE
   ═══════════════════════════════════════════════════════════════ */
/* Jamais sous 13 px : le design system descend .ax-status-badge a 11,5 px et
   les libelles de KPI a 12 / 12,5 px sur ecran etroit. Rescope local. */
.dlp-root .dlp-conclusion .ax-status-badge { font-size: 13px; letter-spacing: .02em; }

@media (max-width: 1200px) {
    .dlp-root .dlpd-synthese { gap: 12px 24px; }
    .dlp-root .ax-badge-kpi-label,
    .dlp-root .ax-badge-kpi-value { font-size: 13px; }
}

@media (max-width: 1400px) {
    .dlp-root .ax-badge-kpi-label,
    .dlp-root .ax-badge-kpi-value { font-size: 13px; }
}

@media (max-width: 992px) {
    .dlp-root .dlp-filter-bar { gap: 10px 14px; }
    .dlp-root .dlp-fld-select,
    .dlp-root .dlp-fld-date,
    .dlp-root .dlp-fld-num { flex: 1 1 160px; width: auto; max-width: 240px; }
    /* Le vide de fin de ligne absorbe le reste : sans quoi un champ seul sur
       la derniere ligne s'etirerait sur toute la largeur. */
    .dlp-root .dlp-filter-spacer { flex: 999 1 0; }
    md-dialog.dlp-dialog .dlp-alr-ligne { gap: 12px; }
}
