/*
 * Ecran « Installations » (lib/view/ParcInstallations.php, js/parc-installations.js).
 * Badges et couleurs d'etat : css/demande-support.css (ds-*).
 */
.pi-titre {
	margin: 1.2em 0 .4em;
}

.pi-outils {
	margin: .5em 0;
}

.pi-matrice-cadre {
	overflow: auto;
	max-height: 70vh;
	border: 1px solid var(--color-border, #e5e9f0);
	border-radius: var(--radius-md, 6px);
}
.pi-matrice-outils {
	display: flex;
	align-items: center;
	gap: 14px;
}
/* Matrice : en-tete et premiere colonne figes. */
.pi-tableau.pi-matrice {
	width: auto;
	min-width: 100%;
}
.pi-matrice th,
.pi-matrice td {
	white-space: nowrap;
	vertical-align: middle;
}
.pi-matrice thead th {
	position: sticky;
	top: 0;
	z-index: 2;
}
.pi-matrice tbody th {
	position: sticky;
	left: 0;
	z-index: 1;
	background-color: var(--color-bg-surface, #fff);
	font-weight: 600;
	color: var(--color-text, #1f2430);
	border-right: 1px solid var(--color-border, #e5e9f0);
}
.pi-matrice thead th:first-child {
	left: 0;
	z-index: 3;
}
.pi-matrice tbody tr:hover td,
.pi-matrice tbody tr:hover th {
	background-color: var(--color-bg-muted, #f7f9fc);
}
.pi-matrice td.pi-plusieurs {
	background-color: color-mix(in srgb, var(--color-warning, #f0ad4e) 8%, #fff);
}
/* Puce de version (matrice). */
.pi-puce {
	display: inline-block;
	margin: 1px 0;
	padding: 0 6px;
	border: 1px solid var(--color-border, #e5e9f0);
	border-radius: var(--radius-pill, 999px);
	background-color: var(--color-bg-surface, #fff);
	font-family: var(--font-family-mono, monospace);
	font-size: 11px;
	line-height: 1.6;
}
.pi-puce-retard {
	border-color: var(--color-warning, #f0ad4e);
	background-color: color-mix(in srgb, var(--color-warning, #f0ad4e) 22%, #fff);
	color: color-mix(in srgb, var(--color-warning, #f0ad4e) 35%, #000);
}
.pi-puce-plus {
	font-family: inherit;
	color: var(--color-text-muted, #6b7280);
	cursor: help;
}

.pi-extrait {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ds-badge.pi-forte   { background-color: color-mix(in srgb, var(--color-success, #5cb85c) 14%, #fff); }
.ds-badge.pi-faible  { background-color: var(--color-bg-muted, #f4f4f4); color: var(--color-text-muted, #777); }
.ds-badge.pi-anomalie { background-color: color-mix(in srgb, var(--color-danger, #d9534f) 14%, #fff); border-color: var(--color-danger, #d9534f); }

.pi-silence { color: color-mix(in srgb, var(--color-warning, #f0ad4e) 60%, #000); }
.pi-muette  { color: var(--color-danger, #d9534f); font-weight: bold; }

/* Grille Parc : version a installer, cliquable (ouvre le delta). */
a.pi-ouvrir-delta,
a.pi-ouvrir-delta:hover {
	text-decoration: none;
	cursor: pointer;
}
a.pi-ouvrir-delta:hover {
	filter: brightness(.95);
}

/* Onglet « Versions publiees » : barre d'outils de la grille du depot. */
.pi-depot-outils {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 16px;
	width: 100%;
}
.pi-depot-outils .k-dropdownlist {
	width: 260px;
}
.pi-depot-case {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	font-weight: normal;
	white-space: nowrap;
}
.pi-depot-recherche {
	width: 240px;
}
.pi-depot-info {
	margin-left: auto;
	font-size: .9em;
}
.pi-depot .k-grid-content td .k-button.pi-depot-note {
	padding: 1px 8px;
}

.pi-nowrap {
	white-space: nowrap;
}

.pi-v {
	font-family: var(--font-family-mono, monospace);
	font-size: .95em;
}

/* Fenetres « Mise a jour » (delta) et « Note de version ». */
.pi-delta {
	padding: 2px 4px 12px;
}
.pi-delta-entete {
	display: flex;
	align-items: center;
	gap: 16px;
	margin: 0 0 14px;
	padding: 10px 14px;
	border: 1px solid var(--color-border, #e5e9f0);
	border-radius: var(--radius-md, 6px);
	background-color: var(--color-bg-muted, #f7f9fc);
}
.pi-delta-appli {
	font-size: .85em;
	color: var(--color-text-muted, #6b7280);
	text-transform: uppercase;
	letter-spacing: .03em;
}
.pi-delta-versions {
	margin: 2px 0 6px;
	font-size: 1.35em;
	font-weight: 600;
}
.pi-delta-versions .ds-secondaire {
	font-size: .7em;
	font-weight: normal;
}
.pi-fleche {
	color: var(--color-text-muted, #6b7280);
	padding: 0 4px;
}
.pi-v-cible {
	color: var(--color-primary, #1f5fbf);
}
.pi-delta-etiquettes {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.pi-delta-resume {
	flex: 1 1 auto;
	min-width: 0;
}
/* Actions de l'en-tete (PDF, CSV, RPM) : colonne de droite, jamais par-dessus. */
.pi-delta-actions {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 6px;
	padding-left: 16px;
	border-left: 1px solid var(--color-border, #e5e9f0);
}
.pi-delta-actions .k-button {
	justify-content: flex-start;
	gap: 6px;
	margin: 0;
	white-space: nowrap;
}
a.pi-rpm {
	margin-right: 8px;
	white-space: nowrap;
}
.pi-note-texte {
	margin: 0 0 12px;
}

/* Synthese en fiches */
.pi-fiches {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 8px;
	margin: 0 0 6px;
}
.pi-fiches > div {
	padding: 6px 10px;
	border: 1px solid var(--color-border, #e5e9f0);
	border-radius: var(--radius-md, 6px);
}
.pi-fiches dt {
	font-size: .8em;
	font-weight: normal;
	color: var(--color-text-muted, #6b7280);
}
.pi-fiches dd {
	margin: 3px 0 0;
}

/* Tableau simple (versions du delta) */
.pi-tableau {
	width: 100%;
	border-collapse: collapse;
	font-size: 12px;
}
.pi-tableau th,
.pi-tableau td {
	padding: 5px 8px;
	border-bottom: 1px solid var(--color-border, #e5e9f0);
	text-align: left;
	vertical-align: top;
}
.pi-tableau th {
	font-weight: 600;
	color: var(--color-text-muted, #6b7280);
	background-color: var(--color-bg-muted, #f7f9fc);
}
.pi-tableau td.pi-v {
	white-space: nowrap;
}

/* Changements par module */
.pi-module h5 {
	margin: 16px 0 6px;
	padding-bottom: 3px;
	border-bottom: 1px solid var(--color-border, #e5e9f0);
	font-size: 1em;
	font-weight: 600;
}
.pi-compte {
	display: inline-block;
	min-width: 18px;
	padding: 0 5px;
	border-radius: var(--radius-pill, 999px);
	background-color: var(--color-bg-muted, #f4f4f4);
	color: var(--color-text-muted, #6b7280);
	font-size: .8em;
	font-weight: normal;
	text-align: center;
}
.pi-lignes {
	list-style: none;
	margin: 0;
	padding: 0;
}
.pi-ligne {
	margin: 0 0 8px;
	padding: 4px 0 4px 10px;
	border-left: 3px solid var(--color-border-strong, #ccc);
}
.pi-ligne-titre .ds-badge {
	margin-right: 4px;
	font-size: .8em;
}
.pi-ligne-texte {
	margin: 3px 0 0;
}
.pi-ligne-meta {
	margin: 3px 0 0;
	font-size: .85em;
}
.pi-ligne-meta .ds-badge {
	font-size: .9em;
	padding: 0 7px;
}
.pi-type-nouveaute    { border-left-color: var(--color-primary, #1f5fbf); }
.pi-type-modification { border-left-color: var(--synapsy-purple, #6b4fbb); }
.pi-type-correction   { border-left-color: var(--color-success, #5cb85c); }
.pi-type-nouveaute .pi-type    { background-color: color-mix(in srgb, var(--color-primary, #1f5fbf) 14%, #fff); color: var(--color-primary-hover, #163d7a); }
.pi-type-modification .pi-type { background-color: color-mix(in srgb, var(--synapsy-purple, #6b4fbb) 12%, #fff); color: var(--synapsy-purple, #6b4fbb); }
.pi-type-correction .pi-type   { background-color: color-mix(in srgb, var(--color-success, #5cb85c) 14%, #fff); color: var(--color-success-hover, #3d8b3d); }

/* PDF « note de mise a jour » (charte Synapsy, modele « ERP PROGIAL - Note
   de version 6.79.11 ») : lib/view/ParcInstallations::notePdf +
   js fwParcInstallations._pdf. Police embarquee (Liberation Sans =
   metriques d'Arial) : sans elle, kendo.drawing perd les accents. */
@font-face { font-family: 'Liberation Sans'; src: url('fonts/LiberationSans-Regular.ttf') format('truetype'); font-weight: normal; font-style: normal; }
@font-face { font-family: 'Liberation Sans'; src: url('fonts/LiberationSans-Bold.ttf') format('truetype'); font-weight: bold; font-style: normal; }
@font-face { font-family: 'Liberation Sans'; src: url('fonts/LiberationSans-Italic.ttf') format('truetype'); font-weight: normal; font-style: italic; }
@font-face { font-family: 'Liberation Sans'; src: url('fonts/LiberationSans-BoldItalic.ttf') format('truetype'); font-weight: bold; font-style: italic; }

.pi-pdf-cadre {
	position: absolute;
	top: 0;
	left: -10000px;
}
/* A4 moins les marges = 482 pt ; kendo compte 1 px = 1 pt : 690 px x 0,7. */
.pi-pdf {
	width: 690px;
	background: #fff;
	color: #1a1a1a;
	font-size: 14px;
	line-height: 1.4;
}
.pi-pdf,
.pi-pdf * {
	font-family: 'Liberation Sans', Arial, sans-serif !important;
}
.pi-note-logo {
	text-align: center;
	margin: -10px 0 6px;
}
.pi-note-logo img {
	width: 170px;
}
.pi-note h1 {
	margin: 0 0 2px;
	font-size: 21px;
	font-weight: bold;
	color: #221b48;
}
.pi-note-infos {
	font-size: 13px;
}
.pi-note-versions {
	margin: 6px 0 0;
	font-size: 13px;
}
.pi-note-interne {
	display: inline-block;
	margin: 8px 0 4px;
	padding: 2px 10px;
	border: 1px solid #c0392b;
	color: #c0392b;
	font-size: 12px;
	font-weight: bold;
}
.pi-note h2 {
	position: relative;
	margin: 26px 0 10px;
	font-size: 19px;
	font-weight: bold;
	color: #221b48;
}
/* Filet jaune devant le titre de section, comme le modele (kendo.drawing
   rogne ce qui deborde dans la marge : filet en ligne). */
.pi-note-filet {
	display: inline-block;
	width: 34px;
	height: 4px;
	margin: 0 10px 0 0;
	vertical-align: middle;
	background: #f7b500;
}
.pi-note h3 {
	margin: 14px 0 3px;
	font-size: 15px;
	font-weight: bold;
	color: #221b48;
}
.pi-note h4 {
	margin: 14px 0 3px;
	font-size: 14px;
	font-weight: normal;
}
.pi-note p {
	margin: 0 0 6px;
	text-align: justify;
}
.pi-note-neant {
	font-weight: bold;
	color: #221b48;
}
.pi-note-meta {
	font-size: 11.5px;
	color: #6b6585;
	text-align: left !important;
}
.pi-pdf-page {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.pi-pdf-bandeau {
	position: absolute;
	top: 18px;
	right: 0;
	padding: 6px 26px;
	border-radius: 6px 0 0 6px;
	background: #f7b500;
	color: #fff;
	font-family: 'Liberation Sans', Arial, sans-serif;
	font-size: 15px;
	font-weight: bold;
}
.pi-pdf-pied {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 20px;
	font-family: 'Liberation Sans', Arial, sans-serif;
}
.pi-pdf-num {
	position: absolute;
	left: 30px;
	bottom: 0;
	padding: 4px 10px;
	background: #221b48;
	color: #fff;
	font-size: 12px;
}
.pi-pdf-confidentiel {
	margin-right: 50px;
	padding-top: 6px;
	border-top: 4px solid #f7b500;
	margin-left: 380px;
	text-align: right;
	font-size: 11px;
	line-height: 1.35;
	color: #1a1a1a;
}
