/* ============================================================================
   PlagPrevent V2 — Polish CSS v19
   - Couleur principale = BLEU DU LOGO #0F4D7C (échantillonné depuis plagpreventLogo.png)
   - Cellule SIMILARITÉ : flex-row pour mettre les barres à côté du badge, pas dessous
   - Boutons d'action : 22px icônes, fond bleu clair, bord bleu
   - ERROR : nowrap garanti
   - Bouton Filtre : bleu (catch-all sur tous .btn neutres)
   ============================================================================ */

:root {
  /* === Palette principale : TEAL (identité PlagPrevent V2) === */
  --pp-blue: #0E7C7B;
  --pp-blue-dark: #0A5A59;
  --pp-blue-light: #14A09F;
  --pp-blue-bg: #E6F4F4;
  --pp-blue-tint: #F0F9F9;

  /* === Accents (CTA + IA) === */
  --pp-tunisia-red: #E70013;
  --pp-tunisia-red-dark: #B0000F;
  --pp-violet: #7C3AED;
  --pp-violet-light: #A78BFA;

  /* === Texte === */
  --pp-text-primary: #1F2937;
  --pp-text-secondary: #6B7280;
  --pp-border: #E5E7EB;

  /* === Alias rétrocompat (mappées sur teal) === */
  --pp-trust-teal: #0E7C7B;
  --pp-trust-teal-light: #14A09F;
  --pp-trust-teal-bg: #E6F4F4;
  --pp-trust-teal-hover: #0A5A59;
}

/* ============================================================================
   1. LIGNES & CELLULES — auto-fit + pas de clip
   ============================================================================ */
.rdt_TableRow,
div.rdt_TableRow {
  min-height: 64px !important;  /* assez pour DATE 2 lignes */
  max-height: unset !important;
  height: auto !important;
  border-bottom: 1px solid var(--pp-border) !important;
}
.rdt_TableCell,
div.rdt_TableCell {
  min-height: unset !important;
  max-height: unset !important;
  height: auto !important;
  padding: 8px 10px !important;
  overflow: visible !important;
  white-space: normal !important;
  text-overflow: clip !important;
  line-height: 1.4 !important;
  word-break: break-word !important;
}
.rdt_TableCell > div {
  max-height: unset !important;
  overflow: visible !important;
  width: 100% !important;
}

/* Empêcher les badges courts de wraper */
.rdt_TableCell .badge,
.rdt_TableCell [class*="similarity"],
.rdt_TableCell [class*="badge"] {
  white-space: nowrap !important;
  display: inline-block !important;
}

/* Colonnes courtes (checkbox/ID/SIMILARITÉ/INFOS) → 1 ligne, contenu inline-row */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(1),
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(2),
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3),
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(4) {
  white-space: nowrap !important;
  word-break: keep-all !important;
}

/* === FIX MAJEUR : aligner les enfants de SIMILARITÉ en HORIZONTAL === */
/* Le badge % et les barres décoratives sont mis côte-à-côte au lieu d'empilés */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 6px !important;
}
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) > div,
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) > * {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
  width: auto !important;
}
/* Idem pour INFOS column (au cas où les barres y soient placées) */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(4) {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 4px !important;
}
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(4) > div {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
}

/* ============================================================================
   2. HEAD
   ============================================================================ */
.rdt_TableCol {
  min-height: 42px !important;
  padding: 10px 12px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.4px !important;
  color: var(--pp-text-secondary) !important;
  text-transform: uppercase !important;
}
.rdt_TableHeadRow,
.rdt_TableHead {
  min-height: 42px !important;
  background: #F9FAFB !important;
  border-bottom: 2px solid var(--pp-border) !important;
}

/* ============================================================================
   2bis. LARGEURS DE COLONNES — toutes déterministes pour stopper les overlaps
   Ordre : 1=checkbox, 2=ID, 3=SIMILARITÉ, 4=INFOS, 5=NOM, 6=ACTIONS,
           7=MOTS/TAILLE, 8=E-MAIL, 9=ÉTABLISSEMENT, 10=DATE, 11=DOSSIER
   Règle commune : largeurs fixes + overflow hidden (sauf ACTIONS qui garde visible)
   ============================================================================ */

/* Checkbox col 1 */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(1),
body.pp-page-documents .rdt_TableHeadRow .rdt_TableCol:nth-of-type(1) {
  flex: 0 0 50px !important; max-width: 50px !important; min-width: 50px !important;
  overflow: hidden !important;
}
/* ID col 2 */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(2),
body.pp-page-documents .rdt_TableHeadRow .rdt_TableCol:nth-of-type(2) {
  flex: 0 0 60px !important; max-width: 60px !important; min-width: 60px !important;
  overflow: hidden !important;
}
/* SIMILARITÉ col 3 — compacte (admin button parti, on resserre + centrage) */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3),
body.pp-page-documents .rdt_TableHeadRow .rdt_TableCol:nth-of-type(3) {
  flex: 0 0 150px !important; max-width: 150px !important; min-width: 140px !important;
  overflow: visible !important;
  position: relative !important;
  justify-content: center !important;
}
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) > div {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;   /* centrage horizontal */
  gap: 6px !important;
  width: 100% !important;
  overflow: visible !important;
}
/* ⓘ rouge solo (analyses < 500 mots) → vraiment centré */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) #errorS,
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) [id="errorS"] {
  width: 100% !important;
  margin: 0 auto !important;
  justify-content: center !important;
  display: flex !important;
}
/* Reset des inline position:absolute */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) div[style*="position: absolute"],
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) div[style*="position:absolute"],
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) span[style*="position: absolute"],
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) span[style*="position:absolute"] {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  z-index: auto !important;
  margin: 0 !important;
  text-shadow: none !important;
  width: auto !important;
  height: auto !important;
}
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) > div > * {
  flex-shrink: 0 !important;
  margin: 0 !important;
}
/* SPINNERS — taille raisonnable préservée */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) [class*="falling-lines"],
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) [aria-label*="loading"],
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) [aria-label*="Loading"] {
  width: 32px !important;
  height: 32px !important;
  flex-shrink: 0 !important;
  order: 1 !important;
}
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) [class*="falling-lines"] svg,
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) [aria-label*="loading"] svg {
  width: 32px !important;
  height: 32px !important;
}
/* Icônes Feather (pencil, warning, info) dans SIMILARITÉ — 14px aérées */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) svg.feather,
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) .feather {
  width: 14px !important;
  height: 14px !important;
}
/* ETA "≈ X mn" : ordre 0 (avant spinner) */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(3) > div > div:not([id*="grid"]):not([class*="loader"]) {
  order: 0 !important;
}

/* === GAP entre ERROR text et icône Info ⓘ === */
.rdt_TableCell:nth-of-type(3) #error,
.rdt_TableCell:nth-of-type(3) #errorS,
.rdt_TableCell:nth-of-type(3) [id^="error"] {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
}
.rdt_TableCell:nth-of-type(3) [id^="error"] > .btn-ripple,
.rdt_TableCell:nth-of-type(3) [id^="error"] button {
  margin: 0 !important;
  padding: 2px 10px !important;
}
.rdt_TableCell:nth-of-type(3) [id^="error"] svg {
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* === MoreVertical dropdown admin — plus visible === */
.pp-admin-more {
  display: inline-flex !important;
  align-items: center !important;
  margin-left: 6px !important;
}
.pp-admin-more .dropdown-toggle,
.pp-admin-more > span[id^="adminMore"] {
  background: var(--pp-blue-bg) !important;
  border: 1px solid rgba(14, 124, 123, 0.35) !important;
  border-radius: 8px !important;
  padding: 6px 8px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.15s !important;
  min-width: 32px !important;
  min-height: 32px !important;
  box-shadow: 0 1px 2px rgba(14, 124, 123, 0.1) !important;
}
.pp-admin-more .dropdown-toggle:hover,
.pp-admin-more > span[id^="adminMore"]:hover {
  background: var(--pp-blue) !important;
  border-color: var(--pp-blue-dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 10px rgba(14, 124, 123, 0.25) !important;
}
.pp-admin-more svg {
  color: var(--pp-blue) !important;
  stroke: var(--pp-blue) !important;
  width: 18px !important;
  height: 18px !important;
  stroke-width: 2.5 !important;
}
.pp-admin-more .dropdown-toggle:hover svg,
.pp-admin-more > span[id^="adminMore"]:hover svg {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
}
/* DropdownMenu Reactstrap : overlay flottant, n'altère pas le layout */
.pp-admin-more .dropdown-menu {
  position: absolute !important;
  top: calc(100% + 4px) !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  border: 1px solid var(--pp-border) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18) !important;
  padding: 4px !important;
  min-width: 220px !important;
  z-index: 9999 !important;
  background: #FFFFFF !important;
  transform: none !important;
}
/* Empêcher le dropdown ouvert de pousser la ligne — la cellule passe en overflow visible + z-index élevé */
.rdt_TableRow:has(.pp-admin-more .show),
.rdt_TableCell:has(.pp-admin-more .show) {
  overflow: visible !important;
  z-index: 1000 !important;
  position: relative !important;
}
.pp-admin-more .dropdown-item {
  display: flex !important;
  align-items: center !important;
  padding: 9px 12px !important;
  font-size: 13px !important;
  border-radius: 5px !important;
  color: var(--pp-text-primary) !important;
  cursor: pointer !important;
  transition: background 0.1s !important;
}
.pp-admin-more .dropdown-item:hover {
  background: var(--pp-blue-bg) !important;
  color: var(--pp-blue-dark) !important;
}
.pp-admin-more .dropdown-item svg {
  color: var(--pp-blue) !important;
  stroke: var(--pp-blue) !important;
  flex-shrink: 0 !important;
  margin-right: 8px !important;
}

/* INFOS col 4 — overflow visible + position context pour les bars absolus */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(4),
body.pp-page-documents .rdt_TableHeadRow .rdt_TableCol:nth-of-type(4) {
  flex: 0 0 100px !important; max-width: 100px !important; min-width: 90px !important;
  overflow: visible !important;
  position: relative !important;
}
/* Reset des inline styles position:absolute mis par React */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(4) > div[style*="position: absolute"],
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(4) > div[style*="position:absolute"] {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  z-index: auto !important;
}
/* La grille des bars (id="grid${row._id}") */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(4) div[id^="grid"] {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  margin: 0 !important;
  width: auto !important;
  height: 24px !important;
  display: grid !important;
  grid-template-columns: repeat(6, 5px) !important;
  gap: 3px !important;
}
/* Bars individuelles : hauteur lisible (comme V1) */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(4) .grid-item,
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(4) .bargrid,
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(4) .bargris {
  height: 22px !important;
  width: 5px !important;
}
/* NOM DU FICHIER col 5 — flexible, prend l'espace dispo */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(5),
body.pp-page-documents .rdt_TableHeadRow .rdt_TableCol:nth-of-type(5) {
  flex: 1 1 200px !important; min-width: 180px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(5) > div {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
/* ACTIONS col 6 — 380px pour 8 pastilles 34px confortablement */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(6),
body.pp-page-documents .rdt_TableHeadRow .rdt_TableCol:nth-of-type(6) {
  flex: 0 0 380px !important; max-width: 380px !important; min-width: 360px !important;
  overflow: visible !important;
}
/* MOTS/TAILLE col 7 — fixe */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(7),
body.pp-page-documents .rdt_TableHeadRow .rdt_TableCol:nth-of-type(7) {
  flex: 0 0 130px !important; max-width: 130px !important; min-width: 110px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  font-size: 12px !important;
}
/* E-MAIL col 8 */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(8),
body.pp-page-documents .rdt_TableHeadRow .rdt_TableCol:nth-of-type(8) {
  flex: 0 0 200px !important; max-width: 200px !important; min-width: 180px !important;
  overflow: hidden !important;
  font-size: 12px !important;
}
/* ÉTABLISSEMENT col 9 */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(9),
body.pp-page-documents .rdt_TableHeadRow .rdt_TableCol:nth-of-type(9) {
  flex: 0 0 120px !important; max-width: 120px !important; min-width: 100px !important;
  overflow: hidden !important;
}
/* DATE col 10 — 2 lignes (date + heure) */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(10),
body.pp-page-documents .rdt_TableHeadRow .rdt_TableCol:nth-of-type(10) {
  flex: 0 0 90px !important; max-width: 90px !important; min-width: 85px !important;
  overflow: visible !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
}
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(10) > div,
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(10) > * {
  white-space: normal !important;
  word-spacing: 100vw !important;   /* force wrap au 1er espace */
  word-break: keep-all !important;
  line-height: 1.35 !important;
  width: 100% !important;
  display: block !important;
}
/* Au cas où le texte est dans un span — appliquer aussi */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(10) span {
  word-spacing: 100vw !important;
  white-space: normal !important;
  display: inline !important;
}
/* DOSSIER col 11 */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(11),
body.pp-page-documents .rdt_TableHeadRow .rdt_TableCol:nth-of-type(11) {
  flex: 0 0 100px !important; max-width: 100px !important; min-width: 80px !important;
  overflow: hidden !important;
  font-size: 12px !important;
}

/* ============================================================================
   2ter. PROTECTION DES SPINNERS — les loaders animés ne doivent PAS être touchés
   FallingLines / Bars de react-loader-spinner = SVG avec animation interne.
   On garde leur taille/couleur d'origine, sinon l'animation casse.
   ============================================================================ */
.rdt_TableCell svg[aria-label*="loading"],
.rdt_TableCell svg[aria-label*="Loading"],
.rdt_TableCell [aria-label*="loading"] svg,
.rdt_TableCell .falling-lines-loading,
.rdt_TableCell [class*="falling-lines"],
.rdt_TableCell [class*="bars-loader"],
.rdt_TableCell [class*="loader"] svg,
.rdt_TableCell .loader svg {
  /* annule TOUS mes overrides généraux pour ces spinners */
  width: auto !important;
  height: auto !important;
  color: inherit !important;
  stroke: inherit !important;
  fill: inherit !important;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  animation: inherit !important;
}
/* Idem pour les enfants/animations internes des spinners */
.rdt_TableCell [aria-label*="loading"] *,
.rdt_TableCell [class*="loader"] *,
.rdt_TableCell .falling-lines-loading * {
  animation-play-state: running !important;
}

/* ============================================================================
   3. ICÔNES — règle par défaut : petites, juste teal
   (les gros boutons d'action sont définis ci-dessous, scopés à ACTIONS uniquement)
   ============================================================================ */
/* Icônes Feather UNIQUEMENT — pas tous les SVG (sinon casse les spinners) */
.rdt_TableCell svg.feather,
.rdt_TableCell .feather,
.rdt_TableCell a > svg.feather,
.rdt_TableCell button > svg.feather {
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
  width: 14px !important;
  height: 14px !important;
  stroke-width: 2 !important;
  color: var(--pp-blue) !important;
  stroke: var(--pp-blue) !important;
  fill: none !important;
  flex-shrink: 0 !important;
}

/* ============================================================================
   4. ACTIONS COLUMN UNIQUEMENT (6ᵉ colonne) — pastilles + icônes 22px
   ============================================================================ */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(6) svg.feather,
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(6) a svg.feather,
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(6) button svg.feather,
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(6) .feather {
  width: 22px !important;
  height: 22px !important;
  stroke-width: 2.25 !important;
  color: var(--pp-blue) !important;
  stroke: var(--pp-blue) !important;
}
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(6) a:not([id="userInfo"]):not([href*="/api/documents"]):not([href*="/plagiarism/view"]):not([href*="/plagiarism/newview"]):not(.w-100),
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(6) button {
  overflow: visible !important;
  padding: 5px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 7px !important;
  background: var(--pp-blue-bg) !important;
  border: 1px solid rgba(14, 124, 123, 0.3) !important;
  color: var(--pp-blue) !important;
  transition: all 0.15s ease !important;
  margin: 0 1px !important;
  box-shadow: 0 1px 2px rgba(14, 124, 123, 0.1) !important;
}
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(6) a:not([id="userInfo"]):not([href*="/api/documents"]):not([href*="/plagiarism/view"]):not([href*="/plagiarism/newview"]):not(.w-100):hover,
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(6) button:hover {
  background: var(--pp-blue) !important;
  border-color: var(--pp-blue-dark) !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(14, 124, 123, 0.25) !important;
}
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(6) a:hover svg,
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(6) button:hover svg {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
}

/* Hors ACTIONS : boutons/anchors restent neutres (pas de pastille) */
.rdt_TableCell:not(:nth-of-type(6)) a,
.rdt_TableCell:not(:nth-of-type(6)) button {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 2px !important;
  min-width: unset !important;
  min-height: unset !important;
  margin: 0 !important;
}

/* Anchors textuels (nom fichier) — couleur bleu logo */
.rdt_TableCell a#userInfo,
.rdt_TableCell a[href*="/api/documents"],
.rdt_TableCell a[href*="/plagiarism/view"],
.rdt_TableCell a[href*="/plagiarism/newview"],
.rdt_TableCell a.w-100 {
  text-align: left !important;
  white-space: normal !important;
  word-break: break-word !important;
  color: var(--pp-blue) !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  min-width: unset !important;
  min-height: unset !important;
  box-shadow: none !important;
}
.rdt_TableCell a#userInfo:hover,
.rdt_TableCell a[href*="/plagiarism/"]:hover {
  text-decoration: underline !important;
  background: transparent !important;
  color: var(--pp-blue-dark) !important;
  transform: none !important;
}

/* ============================================================================
   5. BOUTONS TOOLBAR (Filtre, etc.) → bleu logo
   ============================================================================ */
.btn-secondary,
.btn-light,
.btn-outline-secondary,
.btn-flat-secondary,
.btn-outline-light,
.btn-flat-light,
.btn-default,
button.btn:not(.btn-primary):not(.btn-success):not(.btn-warning):not(.btn-danger):not(.btn-info):not(.delete1):not([id*="addArchive"]):not(.btn-icon):not([class*="btn-flat-primary"]) {
  background: var(--pp-blue-bg) !important;
  color: var(--pp-blue) !important;
  border-color: var(--pp-blue) !important;
  font-weight: 600 !important;
}
.btn-secondary:hover,
.btn-light:hover,
.btn-outline-secondary:hover,
.btn-flat-secondary:hover,
.btn-outline-light:hover,
.btn-flat-light:hover,
.btn-default:hover,
button.btn:not(.btn-primary):not(.btn-success):not(.btn-warning):not(.btn-danger):not(.btn-info):not(.delete1):not([id*="addArchive"]):not(.btn-icon):not([class*="btn-flat-primary"]):hover {
  background: var(--pp-blue) !important;
  color: #FFFFFF !important;
  border-color: var(--pp-blue-dark) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(15, 77, 124, 0.25) !important;
}

/* ============================================================================
   6. BOUTONS PRIMAIRES — gradient teal
   ============================================================================ */
.btn.delete1:not(.btn-icon):not(.pp-upload-btn) {
  background: linear-gradient(135deg, var(--pp-blue), var(--pp-blue-light)) !important;
  border-color: var(--pp-blue) !important;
  color: #FFFFFF !important;
  font-weight: 600 !important;
  transition: all 0.2s ease !important;
}
.btn.delete1:not(.btn-icon):not(.pp-upload-btn):hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(14, 124, 123, 0.3) !important;
  color: #FFFFFF !important;
}
/* === Télécharger des fichiers → BLEU PÉTROLE LOGO ===
   Classe pp-upload-btn ajoutée dynamiquement par pp-polish-fixer.js (matche par texte) */
.pp-upload-btn,
button.pp-upload-btn,
.btn.pp-upload-btn,
button[id*="addArchive"],
.btn[id*="addArchive"],
button[id*="upload"],
button[id*="Upload"],
button[id*="telechar"],
button[id*="Telechar"],
button[id*="Téléchar"],
[id*="addArchive"].btn,
.btn[id*="upload"],
.btn[id*="telechar"] {
  background: linear-gradient(135deg, #0F4D7C, #1A6FAA) !important;
  background-image: linear-gradient(135deg, #0F4D7C, #1A6FAA) !important;
  background-color: #0F4D7C !important;
  border-color: #0F4D7C !important;
  color: #FFFFFF !important;
  box-shadow: 0 2px 6px rgba(15, 77, 124, 0.3) !important;
  font-weight: 600 !important;
}
.pp-upload-btn:hover,
button.pp-upload-btn:hover,
.btn.pp-upload-btn:hover,
button[id*="addArchive"]:hover,
.btn[id*="addArchive"]:hover,
button[id*="upload"]:hover,
button[id*="telechar"]:hover {
  background: linear-gradient(135deg, #0A3960, #0F4D7C) !important;
  background-image: linear-gradient(135deg, #0A3960, #0F4D7C) !important;
  background-color: #0A3960 !important;
  border-color: #0A3960 !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(15, 77, 124, 0.4) !important;
}

/* Dropdown nombre de docs (taggé par pp-polish-fixer.js) */
.pp-page-size,
select.pp-page-size {
  width: 75px !important;
  min-width: 70px !important;
  max-width: 90px !important;
  font-size: 13px !important;
  padding: 6px 10px !important;
  height: 38px !important;
}

/* Champ recherche (taggé par pp-polish-fixer.js) */
.pp-search-field,
input.pp-search-field {
  width: 220px !important;
  min-width: 180px !important;
  max-width: 260px !important;
  font-size: 13px !important;
  padding: 6px 12px !important;
  height: 38px !important;
}

/* ============================================================================
   6bis. TOOLBAR : dropdown nombre + barre de recherche compactés
   ============================================================================ */
/* Dropdown nombre de docs (10/25/50/100) — beaucoup plus petit */
.documents-toolbar select,
select.form-control,
.documents-page select,
[class*="documents"] select,
.toolbar select,
select[class*="entries"],
select[class*="pageSize"] {
  width: 75px !important;
  min-width: 70px !important;
  max-width: 90px !important;
  font-size: 13px !important;
  padding: 6px 10px !important;
  height: 38px !important;
}

/* Barre de recherche — plus compacte */
.search,
input[id="search-invoice"],
input[placeholder*="Recherche"],
input[placeholder*="echerche"],
input[type="search"],
input.form-control[placeholder*="Rech"] {
  width: 220px !important;
  min-width: 180px !important;
  max-width: 260px !important;
  font-size: 13px !important;
  padding: 6px 12px !important;
  height: 38px !important;
}

/* Forcer le conteneur parent à rester en flex-row nowrap si possible */
.documents-toolbar,
.toolbar,
.dataTable-top,
[class*="toolbar"] {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
}

/* ============================================================================
   7. SIDEBAR + CARDS — bleu logo
   ============================================================================ */
.main-menu .navigation li.nav-item.active > a {
  background: linear-gradient(118deg, var(--pp-blue), var(--pp-blue-light)) !important;
  box-shadow: 0 0 10px rgba(15, 77, 124, 0.3) !important;
}
.card {
  border-radius: 10px !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02) !important;
}
.search:focus, input[id="search-invoice"]:focus {
  border-color: var(--pp-blue) !important;
  box-shadow: 0 0 0 3px rgba(15, 77, 124, 0.1) !important;
}

/* ============================================================================
   8. FAB IA (inchangé : violet)
   ============================================================================ */
#pp-fab-ia {
  position: fixed;
  bottom: 32px;
  right: 32px;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pp-violet), #6B46C1);
  color: white;
  border: none;
  cursor: pointer;
  font-size: 24px;
  box-shadow: 0 6px 20px rgba(124, 58, 237, 0.4);
  z-index: 9999;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
  justify-content: center;
}
#pp-fab-ia:hover {
  transform: translateY(-3px) scale(1.05);
  box-shadow: 0 10px 28px rgba(124, 58, 237, 0.55);
}
#pp-fab-ia::before { content: "🤖"; font-size: 26px; }

#pp-fab-panel {
  position: fixed;
  bottom: 110px;
  right: 32px;
  width: 380px;
  max-width: calc(100vw - 64px);
  max-height: 70vh;
  background: white;
  border-radius: 16px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.2);
  z-index: 9998;
  display: none;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--pp-border);
}
#pp-fab-panel.open { display: flex; animation: pp-fab-slide 0.25s ease-out; }
@keyframes pp-fab-slide {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
#pp-fab-panel-header {
  background: linear-gradient(135deg, var(--pp-violet), #6B46C1);
  color: white;
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 600;
}
#pp-fab-panel-close {
  background: rgba(255,255,255,0.2);
  border: none;
  color: white;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  cursor: pointer;
  font-size: 18px;
  line-height: 1;
}
#pp-fab-panel-body { padding: 16px 20px; overflow-y: auto; flex: 1; }
.pp-fab-action {
  display: block;
  width: 100%;
  padding: 12px 14px;
  margin-bottom: 8px;
  background: #F9FAFB;
  border: 1px solid var(--pp-border);
  border-radius: 10px;
  text-align: left;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  color: var(--pp-text-primary);
  transition: all 0.15s;
}
.pp-fab-action:hover {
  background: #F3F4F6;
  border-color: var(--pp-violet-light);
  transform: translateX(2px);
}
.pp-fab-action[disabled] { opacity: 0.5; cursor: not-allowed; }
#pp-fab-output {
  margin-top: 12px;
  padding: 14px;
  background: #F5F3FF;
  border-left: 3px solid var(--pp-violet);
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.6;
  white-space: pre-wrap;
  display: none;
  max-height: 280px;
  overflow-y: auto;
}
#pp-fab-output.show { display: block; }
.pp-fab-loading { text-align: center; padding: 20px; color: var(--pp-violet); }

@media (max-width: 768px) {
  #pp-fab-ia { width: 52px; height: 52px; bottom: 20px; right: 20px; }
  #pp-fab-ia::before { font-size: 22px; }
  #pp-fab-panel { bottom: 90px; right: 20px; width: calc(100vw - 40px); }
}

/* ============================================================================
   SOURCES TABLE — page /plagiarism/newview/{id} onglet Sources
   Colonnes : 1=#, 2=SIMILAR, 3=RÉPÉTITION, 4=TYPE, 5=NOM DU FICHIER, 6=SECTIONS, 7=ACTIONS
   ============================================================================ */
body.pp-page-newview .rdt_TableCell,
body.pp-page-newview div.rdt_TableCell {
  min-height: unset !important;
  max-height: unset !important;
  height: auto !important;
  padding: 8px 10px !important;
  overflow: visible !important;
  white-space: normal !important;
  line-height: 1.4 !important;
  word-break: break-word !important;
}
body.pp-page-newview .rdt_TableRow,
body.pp-page-newview div.rdt_TableRow {
  min-height: 56px !important;
  max-height: unset !important;
  height: auto !important;
  border-bottom: 1px solid var(--pp-border) !important;
}

/* Structure réelle ADMIN (8 colonnes rendues, col mobile omitted) :
   1=#, 2=SIMILAR, 3=RÉPÉTITION, 4=TYPE, 5=NOM, 6=ADMIN(Edit/Delete), 7=SECTIONS, 8=ACTIONS */

/* # (index) */
body.pp-page-newview .rdt_TableCell:nth-of-type(1),
body.pp-page-newview .rdt_TableCol:nth-of-type(1) {
  flex: 0 0 50px !important; max-width: 50px !important; min-width: 50px !important;
  justify-content: center !important;
}
/* SIMILAR (badge % + M circle) — largeur ajustée au contenu avec respiration */
body.pp-page-newview .rdt_TableCell:nth-of-type(2),
body.pp-page-newview .rdt_TableCol:nth-of-type(2) {
  flex: 0 0 120px !important; max-width: 120px !important; min-width: 110px !important;
  overflow: visible !important;
  justify-content: center !important;
}
body.pp-page-newview .rdt_TableCell:nth-of-type(2) > div {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  width: auto !important;
  justify-content: center !important;
}
/* RÉPÉTITION (nombre) */
body.pp-page-newview .rdt_TableCell:nth-of-type(3),
body.pp-page-newview .rdt_TableCol:nth-of-type(3) {
  flex: 0 0 90px !important; max-width: 90px !important; min-width: 80px !important;
  text-align: center !important;
  justify-content: center !important;
}
/* TYPE (Archive/Web) */
body.pp-page-newview .rdt_TableCell:nth-of-type(4),
body.pp-page-newview .rdt_TableCol:nth-of-type(4) {
  flex: 0 0 90px !important; max-width: 90px !important; min-width: 80px !important;
  justify-content: center !important;
}
/* NOM DU FICHIER — ABSORBE l'espace libre, content aligné à gauche (style V1) */
body.pp-page-newview .rdt_TableCell:nth-of-type(5),
body.pp-page-newview .rdt_TableCol:nth-of-type(5) {
  flex: 1 1 auto !important; max-width: none !important; min-width: 280px !important;
  overflow: hidden !important;
  justify-content: flex-start !important;
}
body.pp-page-newview .rdt_TableCell:nth-of-type(5) > div {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 6px !important;
  width: auto !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  justify-content: flex-start !important;
}
body.pp-page-newview .rdt_TableCell:nth-of-type(5) a.file-name,
body.pp-page-newview .rdt_TableCell:nth-of-type(5) a.text-capitalize {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--pp-blue) !important;
  text-decoration: none !important;
  display: inline !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 320px !important;
}
/* Submitter (h5 avec (email) inline) — même ligne, plus petit, couleur orangée comme V1 */
body.pp-page-newview .rdt_TableCell:nth-of-type(5) h5 {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #b65720 !important;
  margin: 0 !important;
  display: inline !important;
  white-space: nowrap !important;
}
body.pp-page-newview .rdt_TableCell:nth-of-type(5) h5 a {
  color: #b65720 !important;
  text-decoration: none !important;
}
/* Cacher le bouton décoratif SCid (les {X} cyan) */
body.pp-page-newview .rdt_TableCell:nth-of-type(5) button#IDDocument,
body.pp-page-newview .rdt_TableCell:nth-of-type(5) [id*="IDDocument"],
body.pp-page-newview .rdt_TableCell:nth-of-type(5) button img[src*="yjnm"],
body.pp-page-newview .rdt_TableCell:nth-of-type(5) img[src*="yjnm"] {
  display: none !important;
}
/* ADMIN col 6 (Edit + Delete) — compact, accolé au filename */
body.pp-page-newview .rdt_TableCell:nth-of-type(6),
body.pp-page-newview .rdt_TableCol:nth-of-type(6) {
  flex: 0 0 80px !important; max-width: 80px !important; min-width: 70px !important;
  justify-content: flex-start !important;
}
body.pp-page-newview .rdt_TableCell:nth-of-type(6) a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 6px !important;
  margin: 0 2px !important;
  border-radius: 6px !important;
  background: var(--pp-blue-bg) !important;
  border: 1px solid rgba(14, 124, 123, 0.25) !important;
  width: 32px !important;
  height: 32px !important;
}
body.pp-page-newview .rdt_TableCell:nth-of-type(6) a:hover {
  background: var(--pp-blue) !important;
}
body.pp-page-newview .rdt_TableCell:nth-of-type(6) a:hover svg {
  color: #FFFFFF !important;
  stroke: #FFFFFF !important;
}

/* SECTIONS col 7 — largeur fixe pour les bars + bouton +, RESTE à DROITE */
body.pp-page-newview .rdt_TableCell:nth-of-type(7),
body.pp-page-newview .rdt_TableCol:nth-of-type(7) {
  flex: 0 0 400px !important; max-width: 400px !important; min-width: 360px !important;
  justify-content: flex-start !important;
}
/* ACTIONS col 8 (toggle activation) — RESTE à L'EXTRÊME DROITE */
body.pp-page-newview .rdt_TableCell:nth-of-type(8),
body.pp-page-newview .rdt_TableCol:nth-of-type(8) {
  flex: 0 0 100px !important; max-width: 100px !important; min-width: 90px !important;
  justify-content: center !important;
}

/* Icônes / boutons table sources : bleu teal cohérent */
body.pp-page-newview .rdt_TableCell svg {
  color: var(--pp-blue) !important;
  stroke: var(--pp-blue) !important;
}
body.pp-page-newview .rdt_TableHeadRow,
body.pp-page-newview .rdt_TableHead {
  min-height: 42px !important;
  background: #F9FAFB !important;
  border-bottom: 2px solid var(--pp-border) !important;
}
body.pp-page-newview .rdt_TableCol {
  min-height: 42px !important;
  padding: 10px 12px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.4px !important;
  color: var(--pp-text-secondary) !important;
  text-transform: uppercase !important;
}


/* === Pages admin (Organisations, Utilisateurs, Étudiants, Administrateurs) ===
   Ces pages sont sous /plagiarism mais ont des colonnes différentes de la liste
   documents : pas de largeurs fixes documents, on empêche la superposition du texte
   en forçant le retour à la ligne + clip dans chaque cellule. */
body.pp-page-admin .rdt_TableCol,
body.pp-page-admin .rdt_TableCell {
  overflow: hidden !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  min-width: 0 !important;
}
body.pp-page-admin .rdt_TableCell > div,
body.pp-page-admin .rdt_TableCol > div {
  overflow: hidden !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  min-width: 0 !important;
  width: 100% !important;
}
/* Les actions (icônes/boutons) restent sur une ligne */
body.pp-page-admin .rdt_TableCell button,
body.pp-page-admin .rdt_TableCell a,
body.pp-page-admin .rdt_TableCell svg {
  white-space: nowrap !important;
  flex-shrink: 0;
}


/* === Anti-superposition global (flexbox) === */
.rdt_TableRow .rdt_TableCell { min-width: 0 !important; }
.rdt_TableRow .rdt_TableCell > div { min-width: 0 !important; overflow-wrap: anywhere !important; }


/* === Colonne ACTIONS (derniere colonne) sur pages admin : toujours complete === */
body.pp-page-admin .rdt_TableRow .rdt_TableCell:last-of-type,
body.pp-page-admin .rdt_TableHeadRow .rdt_TableCol:last-of-type {
  overflow: visible !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  min-width: max-content !important;
  justify-content: flex-end !important;
}
body.pp-page-admin .rdt_TableRow .rdt_TableCell:last-of-type > div {
  overflow: visible !important;
  white-space: nowrap !important;
  width: auto !important;
  min-width: 0 !important;
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 4px !important;
}
body.pp-page-admin .rdt_TableCell:last-of-type button,
body.pp-page-admin .rdt_TableCell:last-of-type a,
body.pp-page-admin .rdt_TableCell:last-of-type svg {
  flex-shrink: 0 !important;
}


/* === Fix badge "privé" (corner ribbon) coupé sur la colonne NOM DU FICHIER === */
/* La cellule doit laisser dépasser le ribbon (position absolute, top:-11px left:-15px) */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(5),
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(5) > div {
  overflow: visible !important;
  position: relative !important;
}
/* ...mais le TEXTE du nom tronque proprement (ellipsis), pas la cellule */
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(5) a,
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(5) p,
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(5) > div > span,
body.pp-page-documents .rdt_TableRow .rdt_TableCell:nth-of-type(5) > div > div {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  display: inline-block !important;
  max-width: 100% !important;
  vertical-align: middle !important;
}
/* Le ribbon au-dessus du texte */
body.pp-page-documents .ribbon-wrapperDX,
body.pp-page-documents .ribbon-wrapperDXD,
body.pp-page-documents [class*="ribbon-wrapper"] {
  z-index: 20 !important;
  overflow: hidden !important; /* garde la forme triangulaire du ribbon */
}


/* ============================================================================
   DGET boutons suivent --fmt — neutralise les overrides teal/bleu de polish.css : boutons en --fmt (rouge)
   ============================================================================ */
body.pp-brand-dget .btn.delete1:not(.btn-icon):not(.pp-upload-btn),
body.pp-brand-dget button.delete1:not(.btn-icon),
body.pp-brand-dget .button-all-documents,
body.pp-brand-dget .UsersOnline {
  background: linear-gradient(135deg, var(--fmt), var(--orange)) !important;
  background-image: linear-gradient(135deg, var(--fmt), var(--orange)) !important;
  border-color: var(--fmt) !important;
  color: #fff !important;
}
body.pp-brand-dget .pp-upload-btn,
body.pp-brand-dget button.pp-upload-btn,
body.pp-brand-dget .btn.pp-upload-btn,
body.pp-brand-dget button[id*="addArchive"],
body.pp-brand-dget .btn[id*="addArchive"] {
  background: linear-gradient(135deg, var(--fmt), var(--orange)) !important;
  background-image: linear-gradient(135deg, var(--fmt), var(--orange)) !important;
  background-color: var(--fmt) !important;
  border-color: var(--fmt) !important;
  color: #fff !important;
}


/* ============ anti-vibration tokens (login brand-text + hover lift boutons) ============ */
.brand-text { animation: none !important; }
.brand-logo, .brand-logo2 { animation: none !important; }
.delete1:hover, .btn.delete1:hover, button.delete1:hover, .connection:hover { transform: none !important; }

/* PP_THEME_NACRE_START 2026-06-26 v4 nacre couvre tout (html+body) + cadre champagne + texte dark */
html { background: linear-gradient(160deg,#ffffff 0%,#fdfcf9 55%,#fffefc 100%) !important; min-height: 100% !important; }
body, body[class*="pp-page-"] {
  background: linear-gradient(160deg,#ffffff 0%,#fdfcf9 55%,#fffefc 100%) !important;
  min-height: 100vh !important;
  color: #232323 !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.content-wrapper, .app-content, .content-body, .content.app-content { background: transparent !important; }
.card {
  background-color: #ffffff !important;
  border: 1px solid #f3ecdd !important;
  box-shadow: 0 5px 16px rgba(190,165,110,.07), 0 0 14px rgba(222,198,142,.09) !important;
  position: relative !important;
}
.card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 2px;
  background: linear-gradient(115deg,#f8f1e3 0%,#e8d3a6 24%,#fdf9ef 42%,#e0c693 60%,#f4ecd9 80%,#e8d3a6 100%);
  background-size: 280% 280%;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  animation: ppGoldShine 11s linear infinite;
  pointer-events: none;
  z-index: 0;
}
@keyframes ppGoldShine { 0% { background-position: 0% 50%; } 100% { background-position: 280% 50%; } }
.card-header, .card-title, h1, h2, h3, h4, h5, h6 { color: #141414 !important; font-weight: 600 !important; letter-spacing: .2px; }
.card-body, .card-text, p, td, th, li, dl, dt, dd, label { color: #262626 !important; }
.text-muted, small, .font-small-1, .font-small-2 { color: #6a6a72 !important; font-style: italic; }
/* PP_THEME_NACRE_END */
/* PP_THEME_LIST_START 2026-06-26 liste docs: noms/emails/icones hors teal */
.file-name, a.file-name { color: #232323 !important; font-weight: 600 !important; }
.file-name:hover, a.file-name:hover { color: #000000 !important; text-decoration: underline !important; }
[id="userInfo"], a[id="userInfo"] { color: #2b2b2b !important; }
.editeDelete { color: #3a3a3a !important; }
.editeDelete:hover { color: #000000 !important; }
/* PP_THEME_LIST_END */
/* PP_THEME_ICONS_START 2026-06-26 v2 jeu d'icones onglets PRINCIPAUX (scope :has iconWrapper) */
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) .MuiTab-root { display: flex !important; flex-direction: column !important; align-items: center !important; color: #54606f !important; }
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) .MuiTab-root .MuiTab-iconWrapper { display: none !important; }
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) .MuiTab-root::before {
  content: ""; display: block; width: 22px; height: 22px; margin: 0 auto 4px; order: -1;
  background-color: #54606f;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-size: contain; mask-size: contain;
}
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) .MuiTab-root.Mui-selected { color: #8a6d28 !important; font-weight: 600 !important; }
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) .MuiTab-root.Mui-selected::before { background-color: #b8923f !important; }
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) > .MuiTab-root:nth-of-type(1)::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2710%27%20cy%3D%2710%27%20r%3D%276%27%2F%3E%3Cpath%20d%3D%27M20%2020l-4.5-4.5%27%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2710%27%20cy%3D%2710%27%20r%3D%276%27%2F%3E%3Cpath%20d%3D%27M20%2020l-4.5-4.5%27%2F%3E%3C%2Fsvg%3E"); }
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) > .MuiTab-root:nth-of-type(2)::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%206h14M5%2010h14M5%2014h10M5%2018h7%27%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%206h14M5%2010h14M5%2014h10M5%2018h7%27%2F%3E%3C%2Fsvg%3E"); }
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) > .MuiTab-root:nth-of-type(3)::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%274%27%20y%3D%274%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271.5%27%2F%3E%3Crect%20x%3D%2713%27%20y%3D%274%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271.5%27%2F%3E%3Crect%20x%3D%274%27%20y%3D%2713%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271.5%27%2F%3E%3Crect%20x%3D%2713%27%20y%3D%2713%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271.5%27%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%274%27%20y%3D%274%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271.5%27%2F%3E%3Crect%20x%3D%2713%27%20y%3D%274%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271.5%27%2F%3E%3Crect%20x%3D%274%27%20y%3D%2713%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271.5%27%2F%3E%3Crect%20x%3D%2713%27%20y%3D%2713%27%20width%3D%277%27%20height%3D%277%27%20rx%3D%271.5%27%2F%3E%3C%2Fsvg%3E"); }
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) > .MuiTab-root:nth-of-type(4)::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%277%27%20cy%3D%277%27%20r%3D%272.5%27%2F%3E%3Ccircle%20cx%3D%2717%27%20cy%3D%2717%27%20r%3D%272.5%27%2F%3E%3Cpath%20d%3D%27M19%205L5%2019%27%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%277%27%20cy%3D%277%27%20r%3D%272.5%27%2F%3E%3Ccircle%20cx%3D%2717%27%20cy%3D%2717%27%20r%3D%272.5%27%2F%3E%3Cpath%20d%3D%27M19%205L5%2019%27%2F%3E%3C%2Fsvg%3E"); }
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) > .MuiTab-root:nth-of-type(5)::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%207a1%201%200%200%201%201-1h4l2%202h8a1%201%200%200%201%201%201v8a1%201%200%200%201-1%201H5a1%201%200%200%201-1-1z%27%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%207a1%201%200%200%201%201-1h4l2%202h8a1%201%200%200%201%201%201v8a1%201%200%200%201-1%201H5a1%201%200%200%201-1-1z%27%2F%3E%3C%2Fsvg%3E"); }
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) > .MuiTab-root:nth-of-type(6)::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%209a6%206%200%200%201%2012%200c0%205%202%206%202%206H4s2-1%202-6%27%2F%3E%3Cpath%20d%3D%27M10%2019a2%202%200%200%200%204%200%27%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%209a6%206%200%200%201%2012%200c0%205%202%206%202%206H4s2-1%202-6%27%2F%3E%3Cpath%20d%3D%27M10%2019a2%202%200%200%200%204%200%27%2F%3E%3C%2Fsvg%3E"); }
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) > .MuiTab-root:nth-of-type(7)::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%278%27%2F%3E%3Cpath%20d%3D%27M4%2012h16%27%2F%3E%3Cpath%20d%3D%27M12%204c2.5%202.5%202.5%2013%200%2016%27%2F%3E%3Cpath%20d%3D%27M12%204c-2.5%202.5-2.5%2013%200%2016%27%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%278%27%2F%3E%3Cpath%20d%3D%27M4%2012h16%27%2F%3E%3Cpath%20d%3D%27M12%204c2.5%202.5%202.5%2013%200%2016%27%2F%3E%3Cpath%20d%3D%27M12%204c-2.5%202.5-2.5%2013%200%2016%27%2F%3E%3C%2Fsvg%3E"); }
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) > .MuiTab-root:nth-of-type(8)::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2020h16%27%2F%3E%3Cpath%20d%3D%27M7%2020v-7%27%2F%3E%3Cpath%20d%3D%27M11.5%2020v-12%27%2F%3E%3Cpath%20d%3D%27M16%2020v-5%27%2F%3E%3Cpath%20d%3D%27M20%2020v-9%27%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%2020h16%27%2F%3E%3Cpath%20d%3D%27M7%2020v-7%27%2F%3E%3Cpath%20d%3D%27M11.5%2020v-12%27%2F%3E%3Cpath%20d%3D%27M16%2020v-5%27%2F%3E%3Cpath%20d%3D%27M20%2020v-9%27%2F%3E%3C%2Fsvg%3E"); }
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) > .MuiTab-root:nth-of-type(9)::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%275%27%20width%3D%2718%27%20height%3D%2714%27%20rx%3D%272%27%2F%3E%3Ccircle%20cx%3D%278.5%27%20cy%3D%2710%27%20r%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M21%2016l-5-5-9%209%27%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%275%27%20width%3D%2718%27%20height%3D%2714%27%20rx%3D%272%27%2F%3E%3Ccircle%20cx%3D%278.5%27%20cy%3D%2710%27%20r%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M21%2016l-5-5-9%209%27%2F%3E%3C%2Fsvg%3E"); }
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) > .MuiTab-root:nth-of-type(10)::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203l1.7%204.3L18%209l-4.3%201.7L12%2015l-1.7-4.3L6%209l4.3-1.7z%27%2F%3E%3Cpath%20d%3D%27M18.5%2014.5l.7%201.8%201.8.7-1.8.7-.7%201.8-.7-1.8-1.8-.7%201.8-.7z%27%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203l1.7%204.3L18%209l-4.3%201.7L12%2015l-1.7-4.3L6%209l4.3-1.7z%27%2F%3E%3Cpath%20d%3D%27M18.5%2014.5l.7%201.8%201.8.7-1.8.7-.7%201.8-.7-1.8-1.8-.7%201.8-.7z%27%2F%3E%3C%2Fsvg%3E"); }
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) > .MuiTab-root:nth-of-type(11)::before { -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%206c-2-1.3-5-1.3-7%200v12c2-1.3%205-1.3%207%200%27%2F%3E%3Cpath%20d%3D%27M12%206c2-1.3%205-1.3%207%200v12c-2-1.3-5-1.3-7%200%27%2F%3E%3Cpath%20d%3D%27M12%206v12%27%2F%3E%3C%2Fsvg%3E"); mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27%23000%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%206c-2-1.3-5-1.3-7%200v12c2-1.3%205-1.3%207%200%27%2F%3E%3Cpath%20d%3D%27M12%206c2-1.3%205-1.3%207%200v12c-2-1.3-5-1.3-7%200%27%2F%3E%3Cpath%20d%3D%27M12%206v12%27%2F%3E%3C%2Fsvg%3E"); }
/* PP_THEME_ICONS_END */
/* PP_THEME_TABFIT_START 2026-06-26 v2 onglets principaux: labels dans le cadre (scope) */
.card:has(.MuiTab-iconWrapper) { height: auto !important; min-height: 62px !important; align-items: center !important; overflow: visible !important; }
.MuiTabs-root:has(.MuiTab-iconWrapper), .MuiTabs-scroller:has(.MuiTab-iconWrapper), .MuiTabs-flexContainer:has(.MuiTab-iconWrapper) { min-height: 56px !important; overflow: visible !important; }
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) .MuiTab-root { min-height: 56px !important; padding: 5px 9px !important; overflow: visible !important; }
.MuiTabs-flexContainer:has(.MuiTab-iconWrapper) .MuiTab-root::before { width: 20px !important; height: 20px !important; margin: 0 auto 3px !important; }
/* PP_THEME_TABFIT_END */
/* PP_THEME_CHROME_START 2026-06-27 v3 chrome nacre specificite forte */
html body .main-menu, html body .main-menu.menu-fixed, html body .main-menu.menu-light, html body .vertical-layout .main-menu, html.layout-light body .main-menu {
  background-color: #fffefc !important;
  background-image: linear-gradient(160deg,#ffffff 0%,#fdfcf9 55%,#fffefc 100%) !important;
  border-right: 1px solid #f0e8d8 !important;
}
html body .header-navbar, html body .header-navbar.navbar, html body .header-navbar.floating-nav, html body .header-navbar.navbar-light {
  background-color: #fffefc !important;
  background-image: linear-gradient(160deg,#ffffff 0%,#fffefc 100%) !important;
}
html body .footer, html body .footer.footer-light { background-color: transparent !important; background-image: none !important; box-shadow: none !important; }
html body .main-menu .navigation, html body .main-menu-content { background-color: transparent !important; background-image: none !important; }
/* PP_THEME_CHROME_END */
