/* Feuille de style de l'application Geni Digital. */

:root {
  --texte: #1e293b;
  --texte-doux: #64748b;
  --texte-tres-doux: #94a3b8;
  --bord: #e5e9f0;
  --bord-fort: #cbd5e1;
  --fond: #f6f8fc;
  --surface: #ffffff;

  --barre: #0f1b3d;
  --barre-fonce: #0b1430;
  --barre-texte: #b6c2dc;
  --barre-actif: #2563eb;

  --primaire: #2563eb;
  --primaire-fonce: #1d4ed8;
  --primaire-clair: #eff4ff;

  --vert: #16a34a;
  --vert-clair: #dcfce7;
  --bleu: #2563eb;
  --bleu-clair: #dbeafe;
  --orange: #d97706;
  --orange-clair: #fef3c7;
  --rouge: #dc2626;
  --rouge-clair: #fee2e2;
  --violet: #7c3aed;
  --violet-clair: #ede9fe;
  --gris-clair: #f1f5f9;

  --rayon: 14px;
  --rayon-petit: 8px;
  --ombre: 0 1px 2px rgba(15, 27, 61, 0.04), 0 4px 12px rgba(15, 27, 61, 0.04);
}

* { box-sizing: border-box; }
html, body { height: 100%; }

body {
  margin: 0;
  font-family: "Inter", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--texte);
  background: var(--fond);
  -webkit-font-smoothing: antialiased;
}

a { color: var(--primaire); text-decoration: none; }
a:hover { text-decoration: underline; }

h1, h2, h3 { margin: 0; font-weight: 600; }
h1 { font-size: 24px; letter-spacing: -0.2px; }
h2 { font-size: 16px; }
h3 { font-size: 14px; }

.icone { width: 18px; height: 18px; flex-shrink: 0; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.icone--petite { width: 15px; height: 15px; }
.icone--grande { width: 22px; height: 22px; }

/* ---------- Structure ---------- */

.application { display: flex; min-height: 100vh; }

.barre-laterale {
  width: 248px;
  flex-shrink: 0;
  background: var(--barre);
  color: var(--barre-texte);
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}
.barre-laterale::-webkit-scrollbar { width: 6px; }
.barre-laterale::-webkit-scrollbar-thumb { background: #24345e; border-radius: 3px; }

.marque {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 18px 18px 16px;
  color: #fff;
}
.marque:hover { text-decoration: none; }
.marque .logo {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: var(--primaire);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.marque .logo .icone { width: 21px; height: 21px; stroke: #fff; }
.marque .titre { font-size: 16.5px; font-weight: 700; line-height: 1.1; }
.marque .accroche { font-size: 11px; color: #7f8db0; }

.navigation { padding: 6px 12px 18px; flex: 1; }
.navigation .groupe {
  padding: 16px 10px 7px;
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.9px;
  color: #6b7ba3;
}
.navigation a {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 9px 11px;
  margin-bottom: 2px;
  border-radius: 9px;
  color: var(--barre-texte);
  font-size: 13.5px;
}
.navigation a:hover { background: rgba(255, 255, 255, 0.06); color: #fff; text-decoration: none; }
.navigation a.actif { background: var(--barre-actif); color: #fff; font-weight: 600; box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35); }
.navigation .compteur {
  margin-left: auto;
  background: rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  padding: 1px 8px;
  font-size: 11px;
  font-weight: 600;
}
.navigation a.actif .compteur { background: rgba(255, 255, 255, 0.25); }
.navigation .compteur.alerte { background: var(--rouge); color: #fff; }

.pied-barre {
  padding: 14px 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  font-size: 12px;
  color: #6b7ba3;
}
.pied-barre a { color: #93a3c4; }

.zone-principale { flex: 1; min-width: 0; display: flex; flex-direction: column; }

/* ---------- Barre haute ---------- */

.barre-haute {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 26px;
  background: var(--surface);
  border-bottom: 1px solid var(--bord);
  position: sticky;
  top: 0;
  z-index: 20;
}

.recherche-globale { position: relative; flex: 1; max-width: 430px; }
.recherche-globale .icone {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--texte-tres-doux);
}
.recherche-globale input {
  width: 100%;
  padding: 9px 12px 9px 38px;
  border: 1px solid var(--bord);
  border-radius: 10px;
  background: #f8fafc;
  font-size: 13.5px;
  font-family: inherit;
}
.recherche-globale input:focus { background: #fff; }

.outils-barre { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.bouton-icone {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--texte-doux);
  cursor: pointer;
}
.bouton-icone:hover { background: var(--gris-clair); color: var(--texte); text-decoration: none; }
.pastille {
  position: absolute;
  top: 4px;
  right: 4px;
  min-width: 17px;
  height: 17px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--rouge);
  color: #fff;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 17px;
  text-align: center;
}
.pastille--bleue { background: var(--primaire); }

.chip-utilisateur {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 5px 10px 5px 5px;
  border-radius: 999px;
  border: 1px solid var(--bord);
  background: var(--surface);
  color: inherit;
}
.chip-utilisateur:hover { background: var(--gris-clair); text-decoration: none; }
.avatar {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--primaire);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
}
.chip-utilisateur .nom { font-size: 13px; font-weight: 600; line-height: 1.15; }
.chip-utilisateur .role { font-size: 11.5px; color: var(--texte-doux); }

.menu-utilisateur { position: relative; }
.menu-deroulant {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 210px;
  background: var(--surface);
  border: 1px solid var(--bord);
  border-radius: 12px;
  box-shadow: 0 12px 30px rgba(15, 27, 61, 0.14);
  padding: 6px;
  display: none;
  z-index: 30;
}
.menu-utilisateur[open] .menu-deroulant, .menu-deroulant.ouvert { display: block; }
.menu-deroulant a, .menu-deroulant button {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  padding: 8px 10px;
  border: none;
  border-radius: 8px;
  background: none;
  color: var(--texte);
  font: inherit;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}
.menu-deroulant a:hover, .menu-deroulant button:hover { background: var(--gris-clair); text-decoration: none; }
.menu-deroulant .separateur { height: 1px; background: var(--bord); margin: 6px 4px; }
.menu-deroulant .entete { padding: 8px 10px 10px; border-bottom: 1px solid var(--bord); margin-bottom: 6px; }
.menu-deroulant .entete .nom { font-weight: 600; font-size: 13px; }
.menu-deroulant .entete .courriel { font-size: 12px; color: var(--texte-doux); word-break: break-all; }

.contenu { padding: 26px; flex: 1; }

.entete-page {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 20px;
}
.entete-page .description { color: var(--texte-doux); margin-top: 3px; }
.fil-ariane { font-size: 12.5px; color: var(--texte-doux); margin-bottom: 6px; }
.fil-ariane a { color: var(--texte-doux); }
.actions-page { display: flex; flex-wrap: wrap; gap: 8px; }

/* ---------- Boutons ---------- */

.bouton {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 9px 15px;
  border-radius: 10px;
  border: 1px solid var(--bord);
  background: var(--surface);
  color: var(--texte);
  font-size: 13.5px;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  white-space: nowrap;
}
.bouton:hover { background: var(--gris-clair); text-decoration: none; }
.bouton--principal { background: var(--primaire); border-color: var(--primaire); color: #fff; box-shadow: 0 4px 12px rgba(37, 99, 235, 0.25); }
.bouton--principal:hover { background: var(--primaire-fonce); }
.bouton--danger { color: var(--rouge); border-color: #f7c9c9; }
.bouton--danger:hover { background: var(--rouge); border-color: var(--rouge); color: #fff; }
.bouton--discret { border-color: transparent; background: transparent; color: var(--texte-doux); }
.bouton--discret:hover { background: var(--gris-clair); color: var(--texte); }
.bouton--petit { padding: 5px 11px; font-size: 12.5px; border-radius: 8px; }
.lien-suite { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 500; }

/* ---------- Cartes ---------- */

.carte {
  background: var(--surface);
  border: 1px solid var(--bord);
  border-radius: var(--rayon);
  box-shadow: var(--ombre);
}
.carte + .carte { margin-top: 18px; }
.carte-entete {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 18px;
  border-bottom: 1px solid var(--bord);
}
.carte-corps { padding: 18px; }
.carte-corps.sans-marge { padding: 0; }
.carte-pied { padding: 12px 18px; border-top: 1px solid var(--bord); }

.grille { display: grid; gap: 18px; }
.grille--2 { grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); }
.grille--3 { grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); }
.grille--tableau-bord { grid-template-columns: 1.15fr 1fr 1fr; }
.grille--large { grid-template-columns: 1.4fr 1fr; }
@media (max-width: 1250px) {
  .grille--tableau-bord, .grille--large { grid-template-columns: 1fr; }
}

/* ---------- Cartes statistiques ---------- */

.indicateurs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 16px;
  margin-bottom: 20px;
}
.carte-stat {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px;
  background: var(--surface);
  border: 1px solid var(--bord);
  border-radius: var(--rayon);
  box-shadow: var(--ombre);
  color: inherit;
}
.carte-stat:hover { border-color: var(--primaire); text-decoration: none; transform: translateY(-1px); transition: 0.15s; }
.tuile-icone {
  width: 52px;
  height: 52px;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: var(--gris-clair);
  color: var(--texte-doux);
}
.tuile-icone .icone { width: 24px; height: 24px; }
.tuile--bleu { background: var(--bleu-clair); color: var(--bleu); }
.tuile--vert { background: var(--vert-clair); color: var(--vert); }
.tuile--orange { background: var(--orange-clair); color: var(--orange); }
.tuile--rouge { background: var(--rouge-clair); color: var(--rouge); }
.tuile--violet { background: var(--violet-clair); color: var(--violet); }
.carte-stat .libelle { font-size: 12.5px; color: var(--texte-doux); }
.carte-stat .valeur { font-size: 27px; font-weight: 700; line-height: 1.15; letter-spacing: -0.5px; }
.carte-stat .precision { font-size: 12px; color: var(--texte-tres-doux); }
.carte-stat .precision.alerte { color: var(--rouge); font-weight: 500; }

.carte-lien {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  background: var(--surface);
  border: 1px solid var(--bord);
  border-radius: var(--rayon);
  box-shadow: var(--ombre);
  color: inherit;
}
.carte-lien:hover { text-decoration: none; border-color: var(--primaire); }
.carte-lien .valeur { font-size: 19px; font-weight: 700; }
.carte-lien .libelle { font-size: 12.5px; color: var(--texte-doux); }

/* ---------- Graphiques ---------- */

.graphique-donut { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.donut { position: relative; width: 168px; height: 168px; flex-shrink: 0; }
.donut svg { transform: rotate(-90deg); }
.donut .centre {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.donut .centre .libelle { font-size: 11.5px; color: var(--texte-doux); }
.donut .centre .valeur { font-size: 26px; font-weight: 700; }

.legende { display: grid; gap: 9px; flex: 1; min-width: 190px; }
.legende-ligne { display: flex; align-items: center; gap: 9px; font-size: 13px; }
.legende-ligne .puce { width: 10px; height: 10px; border-radius: 3px; flex-shrink: 0; }
.legende-ligne .texte { flex: 1; }
.legende-ligne .nombre { font-weight: 600; }
.legende-ligne .part { color: var(--texte-doux); font-size: 12.5px; min-width: 44px; text-align: right; }

.graphique-barres { display: flex; align-items: flex-end; gap: 18px; height: 190px; padding-top: 10px; }
.barre-colonne { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; height: 100%; justify-content: flex-end; }
.barre-colonne .valeur { font-size: 13px; font-weight: 600; }
.barre-colonne .barre { width: 100%; max-width: 54px; border-radius: 8px 8px 0 0; min-height: 4px; }
.barre-colonne .etiquette { font-size: 12px; color: var(--texte-doux); }

.liste-progression { display: grid; gap: 15px; }
.progression .ligne { display: flex; justify-content: space-between; gap: 12px; font-size: 13px; margin-bottom: 6px; }
.progression .pourcent { font-weight: 600; color: var(--texte-doux); }
.jauge { width: 100%; height: 7px; border-radius: 999px; background: var(--gris-clair); overflow: hidden; }
.jauge-remplie { height: 100%; border-radius: 999px; background: var(--primaire); }
.jauge--ligne { display: inline-block; width: 84px; vertical-align: middle; margin-right: 7px; }

/* ---------- Tableaux ---------- */

.tableau-conteneur { overflow-x: auto; }
table.tableau { width: 100%; border-collapse: collapse; }
table.tableau th,
table.tableau td { padding: 11px 16px; text-align: left; border-bottom: 1px solid var(--bord); }
table.tableau th {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--texte-doux);
  background: #fbfcfe;
  white-space: nowrap;
}
table.tableau tbody tr:hover { background: #fafbfe; }
table.tableau tbody tr:last-child td { border-bottom: none; }
table.tableau td.actions { text-align: right; white-space: nowrap; }
table.tableau td.numerique, table.tableau th.numerique { text-align: right; }
table.tableau .principal { font-weight: 600; }
table.tableau .secondaire { color: var(--texte-doux); font-size: 12.5px; }
.ligne-alerte td { background: #fff7f7; }

.vide { padding: 34px 18px; text-align: center; color: var(--texte-doux); }
.vide .icone { width: 34px; height: 34px; color: var(--texte-tres-doux); margin-bottom: 8px; }
.vide p { margin: 0 0 12px; }

/* ---------- Badges ---------- */

.badge {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 600;
  white-space: nowrap;
  background: var(--gris-clair);
  color: #475569;
}
.badge--stock, .badge--active, .badge--actif, .badge--terminee, .badge--reparee,
.badge--livre, .badge--neuf, .badge--bon, .badge--ok, .badge--cloture { background: var(--vert-clair); color: #15803d; }
.badge--affecte, .badge--en_cours, .badge--planifiee, .badge--planifie,
.badge--diagnostic, .badge--normale, .badge--moyenne { background: var(--bleu-clair); color: #1d4ed8; }
.badge--reparation, .badge--attente_pieces, .badge--reportee, .badge--suspendu,
.badge--suspendue, .badge--conge, .badge--usage, .badge--haute, .badge--en_revue,
.badge--cadrage, .badge--elevee { background: var(--orange-clair); color: #b45309; }
.badge--perdu, .badge--expiree, .badge--irreparable, .badge--critique,
.badge--bloquee, .badge--defectueux, .badge--ouverte, .badge--retard { background: var(--rouge-clair); color: #b91c1c; }
.badge--maintenance, .badge--chez_prestataire { background: var(--violet-clair); color: #6d28d9; }
.badge--retard { font-weight: 700; }

/* ---------- Formulaires ---------- */

.formulaire { display: grid; gap: 20px; }
fieldset { border: none; padding: 0; margin: 0; }
.section-formulaire > legend {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.7px;
  color: var(--texte-doux);
  padding: 0 0 10px;
}
.champs { display: grid; grid-template-columns: repeat(auto-fit, minmax(255px, 1fr)); gap: 16px; }
.champ-bloc { display: flex; flex-direction: column; gap: 5px; }
.champ-bloc.pleine-largeur { grid-column: 1 / -1; }
.champ-bloc label { font-size: 12.5px; font-weight: 600; }
.champ-bloc .aide { font-size: 12px; color: var(--texte-doux); }
.champ-bloc .erreur { font-size: 12px; color: var(--rouge); font-weight: 500; }
.obligatoire { color: var(--rouge); }

input[type="text"], input[type="email"], input[type="url"], input[type="number"],
input[type="date"], input[type="password"], input[type="search"], input[type="file"],
select, textarea {
  width: 100%;
  padding: 9px 11px;
  border: 1px solid var(--bord-fort);
  border-radius: 9px;
  font-family: inherit;
  font-size: 13.5px;
  background: var(--surface);
  color: var(--texte);
}
textarea { min-height: 92px; resize: vertical; }
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: var(--primaire);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.14);
}
input[type="checkbox"] { width: auto; accent-color: var(--primaire); }
.champ-case { flex-direction: row; align-items: center; gap: 9px; }
.champ-case label { font-weight: 500; }
select[multiple] { min-height: 150px; }

.actions-formulaire {
  display: flex;
  gap: 9px;
  padding-top: 18px;
  border-top: 1px solid var(--bord);
}
.erreurs-globales {
  padding: 11px 15px;
  border-radius: 10px;
  background: var(--rouge-clair);
  border: 1px solid #f7c9c9;
  color: #991b1b;
  font-size: 13px;
}

/* ---------- Filtres ---------- */

.barre-filtres {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 11px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--bord);
  background: #fbfcfe;
  border-radius: var(--rayon) var(--rayon) 0 0;
}
.barre-filtres .champ-filtre { display: flex; flex-direction: column; gap: 4px; }
.barre-filtres label { font-size: 10.5px; font-weight: 600; text-transform: uppercase; color: var(--texte-doux); letter-spacing: 0.5px; }
.barre-filtres input[type="search"], .barre-filtres select { min-width: 165px; padding: 7px 10px; font-size: 13px; }
.barre-filtres .recherche input { min-width: 265px; }

/* ---------- Pagination ---------- */

.pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 18px;
  border-top: 1px solid var(--bord);
  font-size: 13px;
  color: var(--texte-doux);
}
.pagination .pages { display: flex; gap: 6px; }

/* ---------- Messages ---------- */

.messages { display: grid; gap: 9px; margin-bottom: 18px; }
.message {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 15px;
  border-radius: 10px;
  border: 1px solid var(--bord);
  background: var(--surface);
  font-size: 13.5px;
}
.message.success { background: var(--vert-clair); border-color: #a7f3c0; color: #14532d; }
.message.error { background: var(--rouge-clair); border-color: #f7c9c9; color: #991b1b; }
.message.warning { background: var(--orange-clair); border-color: #fde68a; color: #92400e; }
.message.info { background: var(--bleu-clair); border-color: #bfdbfe; color: #1e3a8a; }

/* ---------- Fiches detail ---------- */

.proprietes { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 16px; }
.propriete { display: flex; flex-direction: column; gap: 2px; }
.propriete dt { font-size: 10.5px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; color: var(--texte-doux); }
.propriete dd { margin: 0; font-size: 14px; }
.texte-long { white-space: pre-wrap; margin: 0; }
.etiquette-secondaire { color: var(--texte-doux); font-size: 12.5px; }
.chrono { display: grid; gap: 14px; }
.chrono-element { display: flex; gap: 12px; }
.chrono-element .point { width: 10px; height: 10px; border-radius: 50%; background: var(--primaire); margin-top: 6px; flex-shrink: 0; }
.chrono-element .date { font-size: 12px; color: var(--texte-doux); }

/* ---------- Connexion ---------- */

.page-connexion {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 1fr 1fr;
  background: var(--surface);
}
.panneau-connexion { display: flex; align-items: center; justify-content: center; padding: 40px 24px; }
.boite-connexion { width: 100%; max-width: 392px; }
.boite-connexion .marque { padding: 0 0 26px; color: var(--texte); }
.boite-connexion .marque .accroche { color: var(--texte-doux); }
.boite-connexion h1 { font-size: 24px; margin-bottom: 6px; }
.boite-connexion .accroche-page { color: var(--texte-doux); margin: 0 0 26px; font-size: 14px; }
.boite-connexion .actions-formulaire { border: none; padding-top: 6px; }
.boite-connexion .bouton { width: 100%; justify-content: center; padding: 11px; }
.aide-connexion { margin-top: 22px; font-size: 12.5px; color: var(--texte-doux); }

.vitrine-connexion {
  background: linear-gradient(155deg, #0f1b3d 0%, #1b2c5e 55%, #2563eb 130%);
  color: #fff;
  padding: 56px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 26px;
}
.vitrine-connexion h2 { font-size: 27px; line-height: 1.3; font-weight: 700; }
.vitrine-connexion p { color: #b6c2dc; margin: 0; }
.vitrine-liste { display: grid; gap: 15px; }
.vitrine-liste div { display: flex; align-items: flex-start; gap: 12px; font-size: 14px; }
.vitrine-liste .icone { color: #7ea6ff; margin-top: 2px; }
@media (max-width: 980px) {
  .page-connexion { grid-template-columns: 1fr; }
  .vitrine-connexion { display: none; }
}

/* ---------- Responsive ---------- */

@media (max-width: 900px) {
  .application { flex-direction: column; }
  .barre-laterale { position: static; width: 100%; height: auto; }
  .navigation { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); }
  .navigation .groupe { grid-column: 1 / -1; }
  .contenu { padding: 16px; }
  .barre-haute { padding: 10px 16px; }
  .recherche-globale { max-width: none; }
  .chip-utilisateur .texte { display: none; }
}

/* ---------- Menu deroulant (details/summary) ---------- */

.menu-utilisateur summary { list-style: none; cursor: pointer; }
.menu-utilisateur summary::-webkit-details-marker { display: none; }
.menu-utilisateur summary::marker { content: ""; }
