/* Pilotage, sécurité et paramètres (module 24) */
.pj-pastille { white-space: nowrap; }
.pj-pastille--gris { background: #EEF0F3; color: #5B6574; }
.pj-pastille--bleu { background: #E8EEF8; color: #2B4C86; }
.pj-btn--petit { padding: 7px 13px; font-size: 13.5px; }
.cpi-inline { display: inline; margin: 0; }
.cpi-nowrap { white-space: nowrap; }
.cpi-mono { font-family: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace; }
.cpi-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.cpi-aide { color: var(--pj-gris); font-size: 14px; line-height: 1.6; margin: 0 0 14px; }
.cpi-discret { color: var(--pj-gris-clair); font-size: 13px; margin: 10px 0 0; }
.cpi-lien { display: inline-flex; align-items: center; gap: 4px; font-size: 14px; font-weight: 600; color: var(--pj-marine); text-decoration: none; }
.cpi-lien:hover { color: var(--pj-or-fonce); }
.cpi-lien-bouton { background: none; border: 0; padding: 2px 0; font: 600 13.5px var(--pj-sans); color: var(--pj-marine); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.cpi-lien-bouton--rouge { color: var(--pj-rouge); }
.cpi-x { width: 28px; height: 28px; border-radius: 50%; border: 0; background: transparent; color: var(--pj-gris-clair); font-size: 19px; cursor: pointer; line-height: 1; }
.cpi-x:hover { background: #FBECEC; color: var(--pj-rouge); }
.cpi-vide { padding: 22px 12px; text-align: center; color: var(--pj-gris); font-size: 14.5px; background: var(--pj-fond-app); border-radius: 10px; }
.cpi-msg { padding: 13px 16px; border-radius: 10px; margin: 0 0 16px; font-size: 14.5px; font-weight: 500; }
.cpi-msg--ok { background: #E8F5EE; color: #17633F; border: 1px solid #C6E6D4; }
.cpi-msg--erreur { background: #FBECEC; color: #8E2727; border: 1px solid #F0CACA; }
.cpi-sous-titre { font: 600 12.5px var(--pj-sans); text-transform: uppercase; letter-spacing: .06em; color: var(--pj-marine); margin: 18px 0 10px; }
.cpi-section-titre { display: flex; align-items: center; gap: 10px; font: 600 24px var(--pj-serif); color: var(--pj-marine); margin: 28px 0 14px; }
.cpi-section-titre svg { width: 22px; height: 22px; color: var(--pj-or); }

/* Grilles */
.cpi-grille { display: grid; gap: 18px; margin-bottom: 18px; }
.cpi-grille > .pj-panneau { margin: 0; }
.cpi-grille--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cpi-grille--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cpi-grille--2-1 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.cpi-grille--1-2 { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.cpi-ligne { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 14px; }
.cpi-ligne--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cpi-ligne--3-1 { grid-template-columns: 3fr 1fr; }
.cpi-ligne.cpi-ligne--seul { grid-template-columns: 1fr; }
.cpi-grille--2-1 { align-items: start; }
.cpi-form .pj-champ { margin-bottom: 14px; }
.cpi-form input:not([type=checkbox]):not([type=radio]):not([type=file]), .cpi-form select, .cpi-form textarea { width: 100%; box-sizing: border-box; min-width: 0; }
.cpi-form .pj-coche { margin-bottom: 12px; }
.cpi-boutons-bas { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-top: 4px; }
.cpi-defile { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Menu : barre de sous-rubriques */
.cpi-sousmenu { display: flex; gap: 6px; flex-wrap: wrap; margin: -6px 0 22px; padding: 6px; background: #fff; border: 1px solid var(--pj-trait); border-radius: 12px; }
.cpi-sousmenu a { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 8px; font-size: 14.5px; font-weight: 500; color: var(--pj-gris); text-decoration: none; white-space: nowrap; }
.cpi-sousmenu a svg { width: 17px; height: 17px; color: var(--pj-gris-clair); }
.cpi-sousmenu a:hover { background: var(--pj-fond-app); color: var(--pj-marine); }
.cpi-sousmenu a.est-actif { background: var(--pj-marine); color: #fff; }
.cpi-sousmenu a.est-actif svg { color: var(--pj-or); }

/* Paramètres : accueil par familles */
.cpi-famille { margin-bottom: 26px; }
.cpi-famille__titre { font: 600 13px var(--pj-sans); text-transform: uppercase; letter-spacing: .07em; color: var(--pj-gris); margin: 0 0 12px; }
.cpi-tuiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.cpi-tuile { display: flex; gap: 14px; align-items: flex-start; padding: 16px 18px; background: #fff; border: 1px solid var(--pj-trait); border-radius: 12px; text-decoration: none; color: var(--pj-encre); transition: border-color .2s, box-shadow .2s, transform .2s; }
.cpi-tuile:hover { border-color: color-mix(in srgb, var(--pj-or) 55%, var(--pj-trait)); box-shadow: var(--pj-ombre); transform: translateY(-1px); color: var(--pj-encre); }
.cpi-tuile__ico { flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 10px; background: var(--pj-or-clair); color: var(--pj-or-fonce); }
.cpi-tuile__ico svg { width: 21px; height: 21px; }
.cpi-tuile__txt strong { display: block; font-size: 15.5px; color: var(--pj-marine); margin-bottom: 3px; }
.cpi-tuile__txt small { display: block; font-size: 13px; line-height: 1.45; color: var(--pj-gris); }
.cpi-param-tete { margin: -4px 0 18px; }
.cpi-retour { font-size: 14px; font-weight: 600; text-decoration: none; color: var(--pj-gris); }
.cpi-retour:hover { color: var(--pj-marine); }
.cpi-param-tete h2 { display: flex; align-items: center; gap: 10px; font: 600 26px var(--pj-serif); color: var(--pj-marine); margin: 6px 0 0; }
.cpi-param-tete h2 svg { width: 22px; height: 22px; color: var(--pj-or); }

/* Indicateurs */
.cpi-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 6px; }
.cpi-kpi { --c: var(--pj-or); position: relative; display: grid; gap: 3px; align-content: start; padding: 18px 20px; background: #fff; border: 1px solid var(--pj-trait); border-radius: 12px; text-decoration: none; color: var(--pj-encre); overflow: hidden; }
.cpi-kpi::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--c); }
a.cpi-kpi:hover { box-shadow: var(--pj-ombre); color: var(--pj-encre); }
.cpi-kpi span { font: 600 12px var(--pj-sans); text-transform: uppercase; letter-spacing: .06em; color: var(--pj-gris); }
.cpi-kpi strong { font: 700 30px/1.15 var(--pj-serif); color: var(--pj-marine); font-variant-numeric: tabular-nums; }
.cpi-kpi small { font-size: 13px; line-height: 1.45; color: var(--pj-gris); }
.cpi-kpi--vert { --c: var(--pj-vert); }
.cpi-kpi--orange { --c: var(--pj-orange); }
.cpi-kpi--rouge { --c: var(--pj-rouge); }
.cpi-kpi--marine { --c: var(--pj-marine); }
.cpi-unite { margin: 0 0 16px; font-size: 12.5px; color: var(--pj-gris-clair); text-align: right; }
.cpi-grille--3 .cpi-kpi strong { font-size: 28px; }

/* Barre de filtres du tableau de bord */
.cpi-barre { display: flex; justify-content: space-between; align-items: flex-end; gap: 14px; flex-wrap: wrap; margin-bottom: 18px; }
.cpi-filtres { display: flex; gap: 12px; align-items: flex-end; flex-wrap: wrap; margin: 0; }
.cpi-filtres .pj-champ { margin: 0; }
.cpi-filtres select, .cpi-filtres input { min-width: 150px; }
.cpi-boutons { display: flex; gap: 8px; flex-wrap: wrap; }
.cpi-boutons svg, .cpi-actions-ligne svg { width: 16px; height: 16px; }
.cpi-titre-imprime { display: none; }

/* Graphiques */
.cpi-legende { display: flex; gap: 18px; flex-wrap: wrap; margin: -4px 0 8px; font-size: 13.5px; color: var(--pj-gris); }
.cpi-legende span { display: inline-flex; align-items: center; gap: 7px; }
.cpi-legende i { width: 12px; height: 12px; border-radius: 3px; display: inline-block; }
.cpi-svg { display: block; width: 100%; height: auto; overflow: visible; }
.cpi-svg__grille { stroke: #EDEFF3; stroke-width: 1; }
.cpi-svg__base { stroke: #CDD2DA; }
.cpi-svg__axe { font: 500 11.5px var(--pj-sans); fill: var(--pj-gris-clair); }
.cpi-svg__cible { cursor: pointer; outline: none; }
.cpi-svg__cible.est-survole, .cpi-svg__cible:focus { fill: rgba(11, 31, 58, .05); }
.cpi-tip { position: absolute; z-index: 1000; max-width: 280px; padding: 8px 11px; border-radius: 8px; background: var(--pj-marine); color: #fff; font: 500 13px/1.4 var(--pj-sans); box-shadow: var(--pj-ombre-forte); pointer-events: none; }
.cpi-tableau-repli { margin-top: 12px; }
.cpi-tableau-repli summary { cursor: pointer; font-size: 13.5px; font-weight: 600; color: var(--pj-marine); }
.cpi-tableau-repli table { margin-top: 10px; }
.cpi-barres { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.cpi-barres li { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto; gap: 12px; align-items: center; border-radius: 6px; outline: none; }
.cpi-barres li.est-survole, .cpi-barres li:focus { background: var(--pj-fond-app); }
.cpi-barres__lib { font-size: 14px; color: var(--pj-encre); line-height: 1.3; }
.cpi-barres__lib small { display: block; font-size: 12px; color: var(--pj-gris-clair); }
.cpi-barres__piste { display: block; height: 10px; background: #F0F2F5; border-radius: 0 4px 4px 0; }
.cpi-barres__piste span { display: block; height: 100%; border-radius: 0 4px 4px 0; background: #3A63A8; min-width: 2px; }
.cpi-barres--or .cpi-barres__piste span { background: #B8901C; }
.cpi-barres__val { font: 600 13.5px var(--pj-sans); color: var(--pj-marine); font-variant-numeric: tabular-nums; text-align: right; min-width: 48px; }

/* Tableaux */
.cpi-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.cpi-table th { text-align: left; font: 600 11.5px var(--pj-sans); text-transform: uppercase; letter-spacing: .05em; color: var(--pj-gris); padding: 10px 12px; background: var(--pj-fond-app); white-space: nowrap; }
.cpi-table td { padding: 11px 12px; border-bottom: 1px solid var(--pj-trait); vertical-align: top; }
.cpi-table td small { display: block; font-size: 12.5px; color: var(--pj-gris-clair); margin-top: 2px; }
.cpi-table--petite { font-size: 13.5px; }
.cpi-table--petite td { padding: 8px 10px; }
.cpi-table--num input { max-width: 130px; padding: 9px 11px; border: 1px solid var(--pj-trait); border-radius: 8px; font-size: 15px; }
.cpi-table--num td { vertical-align: middle; }
.cpi-table--num code { font-size: 14px; color: var(--pj-marine); background: var(--pj-fond-app); padding: 4px 8px; border-radius: 6px; }
.cpi-court { width: 120px !important; }
.cpi-actions { white-space: nowrap; text-align: right; }
.cpi-actions > * { margin-left: 10px; }
.cpi-uri { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; word-break: break-all; color: var(--pj-gris); }

/* CARPA, chiffres */
.cpi-chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 14px; }
.cpi-chiffres p { margin: 0; padding: 14px 16px; background: var(--pj-fond-app); border-radius: 10px; }
.cpi-chiffres strong { display: block; font: 700 21px var(--pj-serif); color: var(--pj-marine); }
.cpi-chiffres span { font-size: 13px; color: var(--pj-gris); }

/* Accueil : chiffres du mois, dossiers en retard */
.cpi-mois__tete { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.cpi-mois__chiffres { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-top: 4px; }
.cpi-mois__chiffres p { margin: 0; padding: 4px 18px; border-left: 1px solid var(--pj-trait); }
.cpi-mois__chiffres p:first-child { border-left: 0; padding-left: 0; }
.cpi-mois__chiffres span { display: block; font-size: 13px; color: var(--pj-gris); margin-bottom: 4px; }
.cpi-mois__chiffres strong { font: 700 22px var(--pj-serif); color: var(--pj-marine); font-variant-numeric: tabular-nums; }
.cpi-mois__chiffres .est-rouge strong { color: var(--pj-rouge); }
.cpi-compte { display: inline-grid; place-items: center; min-width: 24px; height: 24px; padding: 0 7px; margin-left: 4px; border-radius: 12px; background: #FBECEC; color: var(--pj-rouge); font: 700 13px var(--pj-sans); }
.cpi-liste-retards { list-style: none; margin: 0; padding: 0; }
.cpi-liste-retards li { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 11px 0; border-bottom: 1px solid var(--pj-trait); }
.cpi-liste-retards li:last-child { border-bottom: 0; }
.cpi-liste-retards a { color: var(--pj-encre); text-decoration: none; font-size: 14.5px; min-width: 0; }
.cpi-liste-retards a strong { color: var(--pj-marine); }
.cpi-liste-retards a:hover strong { color: var(--pj-or-fonce); }
.cpi-liste-retards li > span { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; flex: none; }
.cpi-liste-retards small { font-size: 12.5px; color: var(--pj-gris-clair); }
.cpi-plus { margin: 10px 0 0; font-size: 13.5px; color: var(--pj-gris); }

/* Sécurité : contrôle */
.cpi-controle__tete { display: flex; gap: 22px; align-items: center; margin-bottom: 14px; }
.cpi-controle__tete .pj-panneau__titre { margin-bottom: 6px; border: 0; padding: 0; }
.cpi-controle__tete .cpi-aide { margin-bottom: 10px; }
.cpi-score { --c: var(--pj-orange); flex: none; display: grid; place-items: center; align-content: center; width: 118px; height: 118px; border-radius: 50%; border: 7px solid color-mix(in srgb, var(--c) 22%, #fff); box-shadow: inset 0 0 0 2px var(--c); text-align: center; }
.cpi-score strong { font: 700 34px/1 var(--pj-serif); color: var(--pj-marine); }
.cpi-score strong small { font-size: 18px; color: var(--pj-gris); }
.cpi-score span { font-size: 11.5px; color: var(--pj-gris); margin-top: 3px; }
.cpi-score--vert { --c: var(--pj-vert); }
.cpi-score--rouge { --c: var(--pj-rouge); }
.cpi-checklist { list-style: none; margin: 0; padding: 0; }
.cpi-check { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid var(--pj-trait); }
.cpi-check__puce { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; font: 700 14px var(--pj-sans); }
.cpi-check--vert .cpi-check__puce { background: #E8F5EE; color: var(--pj-vert); }
.cpi-check--orange .cpi-check__puce { background: #FCF1E5; color: var(--pj-orange); }
.cpi-check--rouge .cpi-check__puce { background: #FBECEC; color: var(--pj-rouge); }
.cpi-check__txt strong { display: block; font-size: 14.5px; color: var(--pj-marine); }
.cpi-check__txt small { display: block; font-size: 13px; color: var(--pj-gris); line-height: 1.45; margin-top: 2px; }
.cpi-check__etat { display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.cpi-check__etat .cpi-lien { font-size: 13px; }
.cpi-pieces summary, .cpi-procedure summary { display: flex; align-items: center; gap: 10px; cursor: pointer; font: 600 17px var(--pj-serif); color: var(--pj-marine); }
.cpi-pieces summary svg, .cpi-procedure summary svg { width: 19px; height: 19px; color: var(--pj-or); }
.cpi-pieces .cpi-aide { margin-top: 12px; }
.cpi-sondes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.cpi-sondes li { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 9px 0; border-top: 1px solid var(--pj-trait); font-size: 14px; }
.cpi-sondes small { grid-column: 1 / -1; font-size: 12px; color: var(--pj-gris-clair); }
.cpi-bloques { list-style: none; margin: 0 0 14px; padding: 0; }
.cpi-bloques li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 14px; background: #FBECEC; border-radius: 10px; margin-bottom: 8px; font-size: 14px; }
.cpi-bloques small { display: block; font-size: 12.5px; color: var(--pj-gris); }
.cpi-procedure ol { margin: 14px 0 0; padding-left: 20px; line-height: 1.7; font-size: 14.5px; }

/* Sauvegardes */
.cpi-etats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 16px; }
.cpi-etat { --c: var(--pj-orange); position: relative; padding: 16px 18px 16px 20px; background: #fff; border: 1px solid var(--pj-trait); border-radius: 12px; display: grid; gap: 3px; overflow: hidden; }
.cpi-etat::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--c); }
.cpi-etat span { font: 600 12px var(--pj-sans); text-transform: uppercase; letter-spacing: .06em; color: var(--pj-gris); }
.cpi-etat strong { font: 700 22px/1.2 var(--pj-serif); color: var(--pj-marine); }
.cpi-etat small { font-size: 12.5px; color: var(--pj-gris); line-height: 1.45; }
.cpi-etat--vert { --c: var(--pj-vert); }
.cpi-etat--rouge { --c: var(--pj-rouge); }
.cpi-actions-ligne { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.cpi-test--ok { border-left: 4px solid var(--pj-vert); }
.cpi-test--ko { border-left: 4px solid var(--pj-rouge); }
.cpi-test__resultat { font-size: 15.5px; font-weight: 600; color: var(--pj-marine); margin: 0 0 10px; }
.cpi-test--ko .cpi-test__resultat { color: var(--pj-rouge); }
.cpi-etapes { margin: 0; padding-left: 20px; font-size: 14px; line-height: 1.75; color: var(--pj-encre); }
.cpi-etapes li::marker { color: var(--pj-vert); font-weight: 700; }
.cpi-statut-phrase { margin: 0 0 12px; }
.cpi-test-connexion { display: block; margin: -6px 0 18px; }
.est-attente { opacity: .75; cursor: progress; }

/* Données personnelles */
.cpi-intro { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; padding: 18px 22px; margin-bottom: 18px; background: var(--pj-or-clair); border: 1px solid color-mix(in srgb, var(--pj-or) 30%, #fff); border-radius: 12px; }
.cpi-intro p { margin: 0; font-size: 14.5px; line-height: 1.65; color: var(--pj-encre); }
.cpi-intro .pj-btn { flex: none; }
.cpi-mesures { margin: 0 0 12px; padding-left: 18px; font-size: 14px; line-height: 1.65; }
.cpi-mesures li { margin-bottom: 4px; }
.cpi-registre { display: grid; gap: 8px; }
.cpi-traitement { border: 1px solid var(--pj-trait); border-radius: 10px; padding: 0 16px; }
.cpi-traitement[open] { padding-bottom: 14px; }
.cpi-traitement summary { cursor: pointer; padding: 13px 0; list-style: none; }
.cpi-traitement summary::-webkit-details-marker { display: none; }
.cpi-traitement summary strong { color: var(--pj-marine); font-size: 15px; }
.cpi-traitement summary small { display: block; font-size: 13px; color: var(--pj-gris); margin-top: 2px; }
.cpi-traitement--nouveau summary strong { color: var(--pj-or-fonce); }
.cpi-demandes { list-style: none; margin: 0 0 12px; padding: 0; }
.cpi-demandes li { padding: 12px 0; border-bottom: 1px solid var(--pj-trait); font-size: 14px; }
.cpi-demandes small { display: block; font-size: 12.5px; color: var(--pj-gris); margin-top: 3px; }
.cpi-demandes p { margin: 6px 0 0; font-size: 13.5px; color: var(--pj-encre); }
.cpi-mini { display: flex; gap: 8px; margin-top: 8px; }
.cpi-mini select, .cpi-mini input { padding: 7px 9px; border: 1px solid var(--pj-trait); border-radius: 8px; font: 13.5px var(--pj-sans); min-width: 0; }
.cpi-mini input { flex: 1; }
.cpi-ajout { margin-top: 10px; }
.cpi-ajout > summary { cursor: pointer; font-weight: 600; color: var(--pj-or-fonce); font-size: 14.5px; padding: 6px 0; }
.cpi-ajout .cpi-form { margin-top: 10px; }
.cpi-delai { display: block; margin-top: 10px; font-size: 13px; color: var(--pj-gris); }
.cpi-delai input { width: 64px; padding: 4px 6px; border: 1px solid var(--pj-trait); border-radius: 6px; }

/* Document imprimable (registre) */
.cpi-doc { max-width: 820px; margin: 0 auto; background: #fff; border: 1px solid var(--pj-trait); border-radius: 12px; padding: 48px 56px; font-family: Georgia, "Times New Roman", serif; color: #111; line-height: 1.55; }
.cpi-doc__cab { font: 600 17px Georgia, serif; color: var(--pj-marine); border-bottom: 2px solid var(--pj-or); padding-bottom: 12px; margin: 0 0 22px; }
.cpi-doc__cab small { font: 13px var(--pj-sans); color: var(--pj-gris); }
.cpi-doc h2 { font: 600 22px Georgia, serif; color: var(--pj-marine); margin: 0 0 4px; }
.cpi-doc__sous { color: var(--pj-gris); margin: 0 0 18px; font-size: 14px; }
.cpi-doc__infos { width: 100%; border-collapse: collapse; margin-bottom: 18px; font-size: 14px; }
.cpi-doc__infos th { text-align: left; width: 34%; padding: 6px 10px 6px 0; color: var(--pj-gris); font-weight: 600; vertical-align: top; }
.cpi-doc__infos td { padding: 6px 0; }
.cpi-doc__traitement { break-inside: avoid; margin-bottom: 14px; }
.cpi-doc h3 { font: 600 16px Georgia, serif; color: var(--pj-marine); margin: 18px 0 6px; }
.cpi-doc dl { display: grid; grid-template-columns: 180px 1fr; gap: 3px 14px; margin: 0; font-size: 13.5px; }
.cpi-doc dt { color: var(--pj-gris); font-weight: 600; }
.cpi-doc dd { margin: 0; }

/* Le cabinet */
.cpi-ancres { position: sticky; top: 74px; z-index: 5; display: flex; gap: 6px; overflow-x: auto; padding: 6px; margin: 0 0 18px; background: #fff; border: 1px solid var(--pj-trait); border-radius: 12px; scrollbar-width: none; }
.cpi-ancres a { display: inline-flex; align-items: center; gap: 7px; padding: 8px 13px; border-radius: 8px; font-size: 14px; font-weight: 500; color: var(--pj-gris); text-decoration: none; white-space: nowrap; }
.cpi-ancres a svg { width: 16px; height: 16px; color: var(--pj-gris-clair); }
.cpi-ancres a:hover, .cpi-ancres a.est-actif { background: var(--pj-fond-app); color: var(--pj-marine); }
.cpi-section { scroll-margin-top: 140px; }
.cpi-logo { display: grid; grid-template-columns: 180px 1fr; gap: 18px; align-items: start; margin: 4px 0 16px; padding: 14px; background: var(--pj-fond-app); border-radius: 10px; }
.cpi-logo__apercu { display: grid; place-items: center; height: 96px; background: #fff; border: 1px dashed var(--pj-trait); border-radius: 8px; color: var(--pj-gris-clair); font-size: 13px; overflow: hidden; }
.cpi-logo__apercu img { max-width: 90%; max-height: 80px; width: auto; height: auto; }
.cpi-domaines { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 14px; }
.cpi-domaines .pj-champ span { font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--pj-gris-clair); }
.cpi-nouveau input { border-style: dashed !important; }
.cpi-encart { padding: 16px 18px; background: var(--pj-fond-app); border-radius: 10px; align-self: start; }
.cpi-encart .cpi-sous-titre { margin-top: 0; }
.cpi-feries-auto { list-style: none; margin: 0; padding: 0; }
.cpi-feries-auto li { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid var(--pj-trait); font-size: 14px; }
.cpi-liens-modeles { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.cpi-liens-modeles a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--pj-trait); border-radius: 9px; font-size: 14px; color: var(--pj-marine); text-decoration: none; }
.cpi-liens-modeles a:hover { border-color: var(--pj-or); }
.cpi-liens-modeles svg { width: 17px; height: 17px; color: var(--pj-or-fonce); flex: none; }

/* Téléphone */
@media (max-width: 1100px) {
	.cpi-kpis, .cpi-etats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cpi-grille--2-1, .cpi-grille--1-2 { grid-template-columns: minmax(0, 1fr); }
	.cpi-mois__chiffres { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 0; }
	.cpi-mois__chiffres p:nth-child(3) { border-left: 0; padding-left: 0; }
}
@media (max-width: 760px) {
	.cpi-grille--2, .cpi-grille--3, .cpi-ligne, .cpi-ligne--3, .cpi-ligne--3-1, .cpi-chiffres, .cpi-domaines, .cpi-sondes { grid-template-columns: minmax(0, 1fr); }
	.cpi-kpis, .cpi-etats { grid-template-columns: 1fr; gap: 10px; }
	.cpi-kpi strong { font-size: 26px; }
	.cpi-graphe .cpi-svg { min-width: 620px; }
	.cpi-graphe { margin: 0 -6px; padding: 0 6px 6px; }
	.cpi-sousmenu { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-top: 0; }
	.cpi-barre { align-items: stretch; flex-direction: column; }
	.cpi-filtres { display: grid; grid-template-columns: 1fr 1fr; }
	.cpi-filtres .pj-champ:first-of-type { grid-column: 1 / -1; }
	.cpi-filtres select, .cpi-filtres input { min-width: 0; width: 100%; box-sizing: border-box; }
	.cpi-filtres button { grid-column: 1 / -1; }
	.cpi-controle__tete { flex-direction: column; align-items: flex-start; gap: 12px; }
	.cpi-score { width: 96px; height: 96px; }
	.cpi-check { grid-template-columns: 26px minmax(0, 1fr); }
	.cpi-check__etat { grid-column: 2; flex-direction: row; align-items: center; gap: 10px; }
	.cpi-intro { flex-direction: column; }
	.cpi-logo { grid-template-columns: 1fr; }
	.cpi-liste-retards li { flex-direction: column; align-items: flex-start; gap: 6px; }
	.cpi-liste-retards li > span { align-items: flex-start; }
	.cpi-mois__chiffres { grid-template-columns: 1fr 1fr; }
	.cpi-mois__chiffres strong { font-size: 18px; }
	.cpi-barres li { grid-template-columns: minmax(0, 1fr) auto; }
	.cpi-barres__piste { grid-column: 1 / -1; grid-row: 2; }
	.cpi-doc { padding: 24px 18px; }
	.cpi-doc dl { grid-template-columns: 1fr; }
	.cpi-ancres { top: 60px; }
	.cpi-mini { flex-wrap: wrap; }
}

/* Impression / PDF */
@media print {
	.pj-app__cote, .pj-app__barre, .pj-app__entete, .cpi-non-imprime, .cpi-barre, .cpi-sousmenu, .cpi-tableau-repli summary, .cpi-tip, .ccs-chrono, [class*="chrono"], .pj-aide-app { display: none !important; }
	body, .pj-app, .pj-app__zone, .pj-app__contenu { background: #fff !important; padding: 0 !important; margin: 0 !important; display: block !important; }
	.cpi-titre-imprime { display: block; border-bottom: 2px solid #C9A227; margin-bottom: 14px; padding-bottom: 8px; }
	.cpi-titre-imprime p { margin: 0; font: 600 13px Georgia, serif; color: #0B1F3A; }
	.cpi-titre-imprime h2 { margin: 2px 0; font: 600 22px Georgia, serif; color: #0B1F3A; }
	.cpi-titre-imprime small { color: #5B6574; }
	.pj-panneau, .cpi-kpi { break-inside: avoid; box-shadow: none !important; }
	.cpi-tableau-repli { display: block; }
	.cpi-tableau-repli > table { display: table !important; }
	.cpi-doc { border: 0; padding: 0; }
	a { text-decoration: none; color: inherit; }
}

