/* Vivier — interface.
   Identité IT Club : noir et or du logo. Les barres empilées du logo deviennent l'échelle d'avancement des profils.
   Titres en Bodoni Moda, texte en Instrument Sans, les deux hébergées ici (licence SIL OFL). */

@font-face {
  font-family: "Instrument Sans"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("polices/instrument-sans-latin-wght-normal.woff2") format("woff2");
}
@font-face {
  font-family: "Bodoni Moda"; font-style: normal; font-weight: 400 900; font-display: swap;
  src: url("polices/bodoni-moda-latin-wght-normal.woff2") format("woff2");
}

:root {
  --noir: #000000;
  --encre: #1c1c1a;
  --gris: #5a6066;
  --trait: #d3d8dc;
  --fond: #eceff1;
  --surface: #ffffff;
  --or: #ceb73b;
  --or-fonce: #74640c;      /* texte doré lisible sur blanc */
  --or-pale: #f7f2d4;
  --petrole: #0d4a5d;       /* liens et repère de focus */
  --brique: #a3341f;
  --brique-pale: #fbe9e4;
  --texte: "Instrument Sans", "Segoe UI", system-ui, -apple-system, Arial, sans-serif;
  --titre: "Bodoni Moda", "Didot", "Bodoni MT", Georgia, serif;
  --gouttiere: clamp(1rem, 3vw, 2rem);
}

*, *::before, *::after { box-sizing: border-box; }

html { font-size: 100%; -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--fond);
  color: var(--encre);
  font: 400 0.9375rem/1.5 var(--texte);
}

a { color: var(--petrole); text-underline-offset: 0.15em; text-decoration-thickness: 1px; }
a:hover { color: var(--noir); }

h1 { font: 500 clamp(1.6rem, 1.2rem + 1.6vw, 2.25rem)/1.1 var(--titre); margin: 0; letter-spacing: -0.005em; }
main > h1 { margin-bottom: 1.25rem; }
h1 small { font: 400 0.9375rem var(--texte); color: var(--gris); margin-left: 0.6rem; letter-spacing: 0; }
h2 { font: 600 1rem/1.3 var(--texte); margin: 0 0 0.8rem; }
h3 { font: 600 1rem/1.3 var(--texte); margin: 0; }
p { margin: 0 0 0.6rem; }
em { color: var(--gris); }
code { font-size: 0.9em; background: var(--fond); padding: 0.05em 0.3em; border-radius: 3px; }

:focus-visible { outline: 3px solid var(--petrole); outline-offset: 2px; }
.entete :focus-visible, .porte :focus-visible { outline-color: var(--or); }

.evitement { position: absolute; left: -999rem; top: 0; background: var(--or); color: var(--noir); padding: 0.6rem 1rem; z-index: 10; font-weight: 600; }
.evitement:focus { left: 0; }
[hidden], .cachee { display: none !important; }

/* En-tête ----------------------------------------------------------------
   Une seule ligne, fixe en haut de page : la marque, cinq rubriques, le sous-menu Gestion,
   puis la recherche, le bouton Importer et le menu du compte. */
.entete { position: sticky; top: 0; z-index: 30; background: var(--noir); color: #fff; padding: 0 var(--gouttiere); display: flex; align-items: center; gap: 1.75rem; min-height: 3.25rem; view-transition-name: entete; }
.entete-barre { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.marque { display: flex; align-items: center; gap: 0.65rem; color: #fff; text-decoration: none; }
.marque img { height: 26px; width: auto; display: block; flex: none; }
/* Nom de l'application : même police droite que les titres de page, en blanc sur le noir de l'en-tête */
.marque span { font: 500 1.3rem/1.2 var(--titre); letter-spacing: 0.01em; color: #fff; padding-left: 0.75rem; border-left: 1px solid #5a5a5a; white-space: nowrap; }
.menu-bouton { display: none; }

.entete-menu { display: flex; align-items: center; gap: 0.75rem; flex: 1; min-width: 0; }
.entete nav { display: flex; align-items: stretch; gap: 0 1.35rem; flex: 1; font-size: 0.9375rem; }
.entete nav > a, .menu-plus > summary {
  display: flex; align-items: center; gap: 0.4rem; min-height: 3.25rem; color: #cfcfcf; text-decoration: none; white-space: nowrap;
  box-shadow: inset 0 -3px 0 transparent; transition: color 0.12s, box-shadow 0.12s;
}
.entete nav > a:hover, .menu-plus > summary:hover, .menu-plus[open] > summary { color: #fff; }
.entete nav > a[aria-current], .menu-plus.actif > summary { color: #fff; box-shadow: inset 0 -3px 0 var(--or); }
.pastille { background: var(--or); color: var(--noir); border-radius: 999px; padding: 0 0.42rem; font-size: 0.75rem; font-weight: 700; line-height: 1.5; }

/* Sous-menus : Gestion et compte */
.menu-plus { position: relative; margin: 0; }
.menu-plus > summary { list-style: none; cursor: pointer; font-weight: 400; padding: 0; margin: 0; }
.menu-plus > summary::-webkit-details-marker { display: none; }
.menu-plus > summary::after { content: ""; width: 0.36rem; height: 0.36rem; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-0.12rem) rotate(45deg); transition: transform 0.15s; }
.menu-plus[open] > summary::after { transform: translateY(0.08rem) rotate(225deg); }
.menu-plus-liste {
  position: absolute; left: -1rem; top: 100%; z-index: 40; min-width: 13.5rem; display: grid; padding: 0.35rem;
  background: #141414; border: 1px solid #333; border-top: 0; border-radius: 0 0 8px 8px; box-shadow: 0 14px 28px rgba(0, 0, 0, 0.35);
  animation: derouler 0.14s ease-out;
}
.menu-plus-liste a, .menu-plus-liste .lien {
  display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; width: 100%; min-height: 2.4rem; padding: 0.4rem 0.7rem;
  color: #dedede; text-decoration: none; text-align: left; border-radius: 4px; font-size: 0.9375rem;
}
.menu-plus-liste a:hover, .menu-plus-liste .lien:hover { background: #262626; color: #fff; }
.menu-plus-liste a[aria-current] { color: #fff; box-shadow: inset 3px 0 0 var(--or); }
@keyframes derouler { from { opacity: 0; transform: translateY(-4px); } }

/* Recherche, import, compte */
.recherche-rapide { display: flex; position: relative; }
.recherche-rapide input[type="search"] {
  width: 13rem; min-height: 2.15rem; padding: 0.3rem 2.3rem 0.3rem 0.75rem; font: inherit; font-size: 0.9375rem; color: #fff;
  background: #1c1c1c; border: 1px solid #4a4a4a; border-radius: 999px; transition: width 0.18s ease, border-color 0.12s, background 0.12s;
}
.recherche-rapide input[type="search"]::placeholder { color: #9c9c9c; }
.recherche-rapide input[type="search"]:hover { border-color: #777; }
.recherche-rapide input[type="search"]:focus { width: 19rem; background: #000; border-color: var(--or); outline: 0; }
.recherche-rapide button { position: absolute; right: 0.15rem; top: 50%; transform: translateY(-50%); min-height: 0; width: 1.9rem; height: 1.9rem; padding: 0; background: none; border: 0; border-radius: 50%; color: #cfcfcf; }
.recherche-rapide button:hover { background: #2a2a2a; color: var(--or); }
.recherche-rapide svg { width: 1rem; height: 1rem; display: block; }
.bouton.bouton-entete { min-height: 2.15rem; padding: 0.3rem 0.95rem; font-size: 0.9375rem; white-space: nowrap; }
.bouton.bouton-entete[aria-current] { background: #fff; border-color: #fff; }

.menu-compte > summary { gap: 0.5rem; }
.menu-compte .initiales { display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; border: 1px solid #6a6a6a; font-size: 0.75rem; font-weight: 600; color: #fff; letter-spacing: 0.02em; transition: border-color 0.12s; }
.menu-compte > summary:hover .initiales, .menu-compte[open] .initiales, .menu-compte.actif .initiales { border-color: var(--or); }
.menu-compte.actif > summary { box-shadow: none; }
.menu-compte .menu-plus-liste { left: auto; right: -0.5rem; min-width: 15rem; }
.compte-qui { margin: 0; padding: 0.55rem 0.7rem 0.6rem; border-bottom: 1px solid #2c2c2c; color: #fff; font-weight: 600; line-height: 1.3; }
.compte-qui small { display: block; color: #9c9c9c; font-weight: 400; font-size: 0.8125rem; }
.compte-langue { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; padding: 0.45rem 0.7rem; color: #dedede; font-size: 0.9375rem; }
.menu-plus-liste .sortie form { display: contents; }
.menu-plus[open] > summary { margin-bottom: 0; }
.menu-plus-liste .lien { background: none; border: 0; font-weight: 400; cursor: pointer; }
.menu-plus-liste .sortie { border-top: 1px solid #2c2c2c; margin-top: 0.25rem; padding-top: 0.25rem; }
.menu-plus-liste .sortie .lien { text-decoration: none; }

main { padding: 1.5rem var(--gouttiere) 3rem; max-width: 100rem; margin: 0 auto; }

/* Page de connexion ------------------------------------------------------ */
body.accueil { background: var(--noir); color: #fff; min-height: 100vh; display: grid; place-items: center; }
body.accueil main { width: 100%; max-width: 24rem; padding: 2rem 1.25rem; }
.porte { text-align: center; }
.porte img { width: 14.5rem; max-width: 70%; height: auto; }
.porte-nom { font: 500 3.25rem/1.1 var(--titre); letter-spacing: 0.01em; margin: 1.4rem 0 0.4rem; color: #fff; }
.porte-role { color: #bdbdbd; margin-bottom: 2rem; }
.porte form { text-align: left; }
.porte label { color: #e6e6e6; }
.porte input[type="text"], .porte input[type="password"] { background: #151515; border-color: #555; color: #fff; }
.porte button { margin-top: 0.4rem; }
.porte .flash { text-align: left; }

/* Blocs ------------------------------------------------------------------ */
.carte { background: var(--surface); border: 1px solid var(--trait); border-radius: 6px; padding: 1.15rem 1.3rem; margin: 0 0 1rem; }
.carte.etroit { max-width: 28rem; margin-left: auto; margin-right: auto; }
.carte.etroit.gauche { margin-left: 0; }
.carte.moyen { max-width: 56rem; margin-left: auto; margin-right: auto; }
.carte.attention { border-left: 4px solid var(--or); }
.carte.mise-en-avant { border-top: 4px solid var(--or); }
.carte > :last-child { margin-bottom: 0; }
.carte ul { margin: 0; padding-left: 1.1rem; }
/* Un titre de page posé dans une carte garde un espace avant ce qui le suit, et les sections suivantes s'en détachent */
.carte > h1 { margin-bottom: 1.1rem; }
.carte > h1 + .aide { margin-top: -0.5rem; }
.carte > h1 ~ h2 { margin-top: 1.6rem; padding-top: 1.2rem; border-top: 1px solid var(--trait); }
.carte.etroit > .grille { margin-bottom: 0; }
table.erreurs td { vertical-align: top; }
table.erreurs td:nth-child(5) { min-width: 18rem; overflow-wrap: anywhere; }

.barre-titre { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem 2rem; flex-wrap: wrap; margin: 0 0 1.25rem; }
.fil { margin: 0 0 0.9rem; font-size: 0.875rem; color: var(--gris); }
.aide, .vide { color: var(--gris); font-size: 0.875rem; max-width: 70ch; }
.centre { text-align: center; }
.retard { color: var(--brique); font-weight: 600; }

.deux-colonnes { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(19rem, 1fr); gap: 1rem; align-items: start; }
.deux-colonnes.inverse { grid-template-columns: minmax(18rem, 24rem) minmax(0, 1fr); }
.deux-egales { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 24rem), 1fr)); gap: 1rem; align-items: start; }
.deux-colonnes > *, .deux-egales > * { min-width: 0; }
.deux-egales > .carte { margin: 0; }

/* Formulaires ------------------------------------------------------------ */
.pile { display: grid; gap: 0.9rem; }
label { display: grid; gap: 0.3rem; font-size: 0.875rem; font-weight: 600; }
input, select, textarea, button { font: inherit; color: inherit; }
input[type="text"], input[type="email"], input[type="password"], input[type="search"], select, textarea {
  width: 100%; min-height: 2.6rem; padding: 0.5rem 0.7rem; font-weight: 400;
  background: #fff; border: 1px solid #98a1a8; border-radius: 4px;
}
textarea { min-height: 5rem; resize: vertical; }
input[type="file"] { font-weight: 400; max-width: 100%; }
input[type="file"]::file-selector-button {
  font: inherit; font-weight: 600; margin-right: 0.7rem; padding: 0.45rem 0.8rem; cursor: pointer;
  background: #fff; border: 1px solid var(--encre); border-radius: 4px;
}

button, .bouton {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem; min-height: 2.6rem;
  padding: 0.5rem 1.1rem; cursor: pointer; text-decoration: none; text-align: center; font-weight: 600; line-height: 1.2;
  background: var(--or); color: var(--noir); border: 1px solid var(--or); border-radius: 4px;
}
button:hover, .bouton:hover { background: #e0cb55; border-color: #e0cb55; color: var(--noir); }
button.secondaire, .bouton.secondaire { background: #fff; border-color: var(--encre); color: var(--encre); }
button.secondaire:hover, .bouton.secondaire:hover { background: var(--encre); color: #fff; }
button.dangereux { background: #fff; border-color: var(--brique); color: var(--brique); }
button.dangereux:hover { background: var(--brique); color: #fff; }
button.lien { min-height: 0; padding: 0; background: none; border: 0; border-radius: 0; color: var(--petrole); font-weight: 400; text-decoration: underline; text-underline-offset: 0.15em; }
button.lien:hover { background: none; color: var(--noir); }
button[disabled] { opacity: 0.6; cursor: progress; }
.actions { display: flex; gap: 0.6rem; justify-content: flex-end; flex-wrap: wrap; margin-top: 1rem; }
.actions-ligne { display: flex; flex-wrap: wrap; gap: 0.4rem 1rem; align-items: center; font-size: 0.875rem; }
td.actions-ligne { justify-content: flex-end; }
.actions-ligne form { display: inline; }

.filtres { display: flex; flex-wrap: wrap; gap: 0.7rem; align-items: flex-end; margin: 0 0 1rem; }
.filtres label { min-width: 10rem; flex: 0 1 12rem; }
.filtres label.large { flex: 1 1 18rem; }
.filtres .fin { margin-left: auto; }
.barre-titre .filtres { margin: 0; flex: 1 1 28rem; justify-content: flex-end; }

.champs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; }
.champs .large { grid-column: 1 / -1; }

details { margin: 0 0 0.8rem; }
summary { cursor: pointer; color: var(--petrole); font-weight: 600; padding: 0.3rem 0; }
details[open] summary { margin-bottom: 0.7rem; }
.danger { border-top: 1px solid var(--trait); padding-top: 0.9rem; }

/* Messages --------------------------------------------------------------- */
.flash { padding: 0.7rem 0.95rem; margin: 0 0 1rem; border-radius: 4px; border-left: 4px solid var(--petrole); background: #e4eef1; color: var(--encre); }
.flash-succes { border-left-color: #2e7d4f; background: #e5f2ea; }
.flash-erreur { border-left-color: var(--brique); background: var(--brique-pale); }
.flash-info { border-left-color: var(--or); background: var(--or-pale); }
.flash ul { margin: 0.4rem 0 0; padding-left: 1.1rem; }

/* Tableaux et listes ----------------------------------------------------- */
.defile { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; }
th { text-align: left; font-weight: 600; font-size: 0.8125rem; color: var(--gris); }
th, td { padding: 0.5rem 0.9rem 0.5rem 0; border-bottom: 1px solid var(--trait); vertical-align: top; }
tbody tr:last-child > * { border-bottom: 0; }
.nombre { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; padding-right: 0; }
td small, li small { color: var(--gris); font-size: 0.8125rem; }

.grille { display: grid; grid-template-columns: 8rem minmax(0, 1fr); gap: 0.4rem 1rem; margin: 0 0 1rem; }
.grille.serre { grid-template-columns: 6.5rem minmax(0, 1fr); }
.grille dt { color: var(--gris); font-size: 0.875rem; }
.grille dd { margin: 0; overflow-wrap: anywhere; }
ul.simple { list-style: none; padding: 0 !important; margin: 0 0 0.9rem; display: grid; gap: 0.6rem; }
ul.simple small { display: block; }

/* Repères : séniorité, statut, échelle d'avancement ---------------------- */
.badge { display: inline-block; padding: 0.05rem 0.5rem; border: 1px solid #98a1a8; border-radius: 3px; font-size: 0.75rem; font-weight: 600; color: var(--encre); background: #fff; white-space: nowrap; }
.badge-expert { background: var(--noir); border-color: var(--noir); color: var(--or); }
.badge-confirme { background: var(--or-pale); border-color: #cbbb62; color: #4d4204; }
.badge-junior { color: var(--gris); }
.etat { display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 600; font-size: 0.875rem; white-space: nowrap; }

.echelle { display: inline-grid; gap: 2px; flex: none; vertical-align: middle; }
.echelle i { display: block; width: 14px; height: 2px; background: #c4cace; }
.echelle i.plein { background: var(--noir); }
.echelle-refus i:last-child { background: var(--brique); }
.echelle-grande { gap: 4px; }
.echelle-grande i { width: 34px; height: 5px; }
.echelle-grande i.plein { background: var(--or); box-shadow: 0 0 0 1px #b8a22f inset; }

.technos { display: flex; flex-wrap: wrap; gap: 0.3rem; margin: 0.5rem 0 0; }
.technos span { background: var(--fond); border-radius: 3px; padding: 0.05rem 0.45rem; font-size: 0.8125rem; }
.technos span.trouve { background: var(--or); color: var(--noir); font-weight: 600; }
.technos-ligne { margin: 0.35rem 0 0; font-size: 0.8125rem; color: var(--gris); }

/* Kanban ----------------------------------------------------------------- */
.kanban { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(10.75rem, 1fr); gap: 0.9rem; overflow-x: auto; padding: 0.25rem 0 1.5rem; align-items: start; scroll-snap-type: x proximity; }
.colonne { min-width: 0; scroll-snap-align: start; }
.colonne h2 { display: flex; align-items: center; gap: 0.6rem; margin: 0 0 0.7rem; padding-bottom: 0.6rem; border-bottom: 2px solid var(--noir); font-size: 0.9375rem; line-height: 1.2; min-height: 3.1rem; }
.colonne-non_retenu h2 { border-bottom-color: var(--brique); }
.nom-colonne { flex: 1; }
.compteur { font: 500 1.25rem/1 var(--titre); color: var(--gris); }
.cartes { list-style: none; margin: 0; padding: 0; min-height: 5rem; display: grid; gap: 0.5rem; align-content: start; }
.fiche { background: var(--surface); border: 1px solid var(--trait); border-radius: 4px; padding: 0.65rem 0.75rem; }
.kanban[data-modifiable="1"] .fiche { cursor: grab; }
.kanban[data-modifiable="1"] .fiche:hover { border-color: var(--encre); }
.fiche > a { font-weight: 600; color: var(--encre); text-decoration: none; }
.fiche > a:hover { text-decoration: underline; }
.fiche .poste { margin: 0.1rem 0 0.45rem; color: var(--gris); font-size: 0.875rem; line-height: 1.35; }
.fiche .meta { margin: 0; font-size: 0.8125rem; display: flex; gap: 0.5rem; align-items: center; }
.fiche .motif { margin: 0.5rem 0 0; padding-top: 0.4rem; border-top: 1px solid var(--trait); font-size: 0.8125rem; color: var(--brique); }
.fantome { opacity: 0.35; }

/* Fiche profil ----------------------------------------------------------- */
.entete-profil { display: flex; justify-content: space-between; align-items: flex-end; gap: 1rem 2rem; flex-wrap: wrap; margin-bottom: 1rem; }
.identite-profil { display: flex; align-items: center; gap: 1.1rem; min-width: 0; }
.sous-titre { margin: 0.45rem 0 0; color: var(--gris); display: flex; gap: 0.3rem 0.9rem; align-items: center; flex-wrap: wrap; }
.exports { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.barre-statut { margin-bottom: 1rem; padding: 0.8rem 1rem; background: var(--surface); border: 1px solid var(--trait); border-radius: 6px; }
.statut-form { display: flex; gap: 0.7rem; align-items: flex-end; flex-wrap: wrap; }
.statut-form label { flex: 0 1 16rem; }
.statut-form label + label { flex: 1 1 16rem; }

.experience { padding: 0.9rem 0; border-top: 1px solid var(--trait); }
.experience:first-of-type { border-top: 0; padding-top: 0; }
.experience:last-child { padding-bottom: 0; }
.experience p { margin: 0.3rem 0 0; max-width: 75ch; }
.periode { font-size: 0.8125rem; color: var(--or-fonce); font-weight: 600; margin: 0 0 0.15rem !important; }
.employeur { color: var(--gris); }

.commentaire { border-top: 1px solid var(--trait); padding-top: 0.7rem; margin-top: 0.7rem; }
.commentaire p { margin: 0; }
.auteur { font-size: 0.8125rem; color: var(--gris); margin-bottom: 0.15rem !important; }
.historique { list-style: none; padding: 0 !important; margin: 0 0 0.8rem; display: grid; gap: 0.55rem; font-size: 0.875rem; }
.historique span { display: block; font-size: 0.8125rem; color: var(--gris); }

.groupe-mots { margin: 0.7rem 0 0.3rem; font-size: 0.8125rem; color: var(--gris); }
.mots { list-style: none; display: flex; flex-wrap: wrap; gap: 0.3rem; margin: 0; padding: 0 !important; }
.mots li { display: inline-flex; align-items: center; background: var(--fond); border-radius: 3px; padding: 0.1rem 0.15rem 0.1rem 0.5rem; font-size: 0.8125rem; }
.mots li.manuel { background: var(--or-pale); }
.mots form { display: inline-flex; }
.mots button { min-height: 1.5rem; min-width: 1.5rem; padding: 0; background: none; border: 0; color: var(--gris); font-weight: 700; }
.mots button:hover { background: none; color: var(--brique); }
.ajout-mot { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 9rem) auto; gap: 0.5rem; align-items: end; margin-top: 1rem; }

/* Recherche -------------------------------------------------------------- */
.resultats { list-style: none; margin: 0; padding: 0; }
.resultats .carte { margin-bottom: 0.6rem; padding: 0.9rem 1.2rem; }
.resultat-tete { display: flex; justify-content: space-between; align-items: baseline; gap: 0.3rem 1rem; flex-wrap: wrap; }
.resultats .nom { font: 500 1.35rem/1.2 var(--titre); color: var(--encre); text-decoration: none; }
.resultats .nom:hover { text-decoration: underline; }
.resultats .sous-titre { font-size: 0.875rem; margin-top: 0.3rem; }

/* Comptes ---------------------------------------------------------------- */
.comptes { list-style: none; margin: 0; padding: 0; }
.comptes .carte.inactif { background: #f6f7f8; }
.compte-nom { font-weight: 600; font-size: 1.0625rem; margin: 0 0 0.2rem; }
.compte-meta { display: flex; flex-wrap: wrap; gap: 0.2rem 1.1rem; color: var(--gris); font-size: 0.875rem; margin-bottom: 0.7rem; }
.compte-meta strong { color: var(--encre); }

/* Tableau de bord -------------------------------------------------------- */
.chiffres { display: grid; grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); gap: 0; margin: 0 0 1.25rem; background: var(--noir); color: #fff; border-radius: 6px; overflow: hidden; }
.chiffres div { padding: 1.1rem 1.3rem 1.2rem; border-left: 1px solid #333; display: flex; flex-direction: column-reverse; gap: 0.4rem; }
.chiffres div:first-child { border-left: 0; }
.chiffres dt { color: #c9c9c9; font-size: 0.875rem; }
.chiffres dt a { color: inherit; }
.chiffres dd { margin: 0; font: 500 3rem/1 var(--titre); color: var(--or); font-variant-numeric: lining-nums; }

.mesures th { color: var(--encre); font-size: 0.9375rem; font-weight: 400; white-space: nowrap; width: 1%; vertical-align: middle; }
.mesures th:has(.echelle) { position: relative; padding-left: 1.6rem; }
.mesures th .echelle { position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
.mesures td { vertical-align: middle; }
.mesures .nombre { width: 1%; font-weight: 600; }
.mesures .nombre small { font-weight: 400; margin-left: 0.3rem; }
.barre { display: block; height: 0.6rem; background: var(--fond); min-width: 4rem; }
.barre span { display: block; height: 100%; background: var(--noir); }
.l0 { width: 0; } .l1 { width: 5%; } .l2 { width: 10%; } .l3 { width: 15%; } .l4 { width: 20%; } .l5 { width: 25%; }
.l6 { width: 30%; } .l7 { width: 35%; } .l8 { width: 40%; } .l9 { width: 45%; } .l10 { width: 50%; }
.l11 { width: 55%; } .l12 { width: 60%; } .l13 { width: 65%; } .l14 { width: 70%; } .l15 { width: 75%; }
.l16 { width: 80%; } .l17 { width: 85%; } .l18 { width: 90%; } .l19 { width: 95%; } .l20 { width: 100%; }

/* Rapport ---------------------------------------------------------------- */
.rapport h2 { font: 500 1.75rem/1.15 var(--titre); margin: 0 0 1rem; }
.rapport h3 { font: 600 1.0625rem/1.3 var(--texte); margin: 1.5rem 0 0.5rem; padding-bottom: 0.3rem; border-bottom: 2px solid var(--or); }
.rapport h4, .rapport h5 { font-size: 1rem; margin: 1rem 0 0.3rem; }
.rapport p, .rapport li { max-width: 75ch; }
.rapport ul, .rapport ol { margin: 0 0 0.8rem; padding-left: 1.3rem; }
.rapport pre { background: var(--fond); padding: 0.7rem; border-radius: 4px; overflow-x: auto; }
.rapport table { margin-bottom: 1rem; }

dialog { border: 1px solid var(--encre); border-radius: 6px; padding: 1.3rem; width: min(27rem, 92vw); }
dialog::backdrop { background: rgba(0, 0, 0, 0.55); }

/* Écrans étroits --------------------------------------------------------- */
@media (max-width: 1180px) {
  .entete { display: block; position: static; }
  .entete-barre { min-height: 3.25rem; }
  .menu-bouton {
    display: inline-flex; min-height: 2.15rem; padding: 0.25rem 0.9rem;
    background: none; border: 1px solid #777; color: #fff;
  }
  .menu-bouton:hover { background: #222; border-color: #fff; color: #fff; }
  .menu-bouton[aria-expanded="true"] { background: var(--or); border-color: var(--or); color: var(--noir); }
  .entete-menu { display: none; flex-direction: column; align-items: stretch; gap: 0.8rem; padding: 0.2rem 0 1.1rem; }
  .entete-menu.ouvert { display: flex; animation: derouler 0.16s ease-out; }
  .entete nav { flex-direction: column; gap: 0; font-size: 1rem; }
  .entete nav > a, .menu-plus > summary { min-height: 2.9rem; border-bottom: 1px solid #2c2c2c; box-shadow: inset 3px 0 0 transparent; justify-content: space-between; }
  .entete nav > a[aria-current], .menu-plus.actif > summary { box-shadow: inset 3px 0 0 var(--or); padding-left: 0.75rem; }
  .menu-plus > summary::after { margin-right: 0.3rem; }
  .menu-plus-liste, .menu-compte .menu-plus-liste { position: static; min-width: 0; border: 0; box-shadow: none; background: none; padding: 0.2rem 0 0.4rem 0.75rem; animation: none; }
  .recherche-rapide input[type="search"], .recherche-rapide input[type="search"]:focus { flex: 1; width: auto; min-height: 2.6rem; }
  .bouton.bouton-entete { min-height: 2.6rem; }
  .menu-compte > summary { border-bottom: 0; border-top: 1px solid #2c2c2c; }
  .menu-compte .nom-compte { flex: 1; }
}

@media (max-width: 900px) {
  .deux-colonnes, .deux-colonnes.inverse { grid-template-columns: minmax(0, 1fr); }
  .kanban { grid-auto-columns: min(82vw, 20rem); scroll-snap-type: x mandatory; margin-right: calc(-1 * var(--gouttiere)); padding-right: var(--gouttiere); }
  .colonne h2 { min-height: 0; }
}

@media (max-width: 640px) {
  .carte { padding: 1rem; }
  .champs { grid-template-columns: minmax(0, 1fr); }
  .ajout-mot { grid-template-columns: minmax(0, 1fr); }
  .grille, .grille.serre { grid-template-columns: minmax(0, 1fr); gap: 0.1rem; }
  .grille dd { margin-bottom: 0.5rem; }
  .filtres label, .filtres label.large, .statut-form label, .statut-form label + label { flex: 1 1 100%; }
  .filtres > button, .filtres > .bouton, .statut-form > button { flex: 1 1 100%; }
  .filtres .fin { margin-left: 0; }
  .exports { width: 100%; }
  .exports .bouton { flex: 1 1 calc(50% - 0.25rem); }
  .actions > * { flex: 1 1 auto; }
  .echelle-grande i { width: 24px; height: 4px; }
  .chiffres { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .chiffres div { border-left: 0; border-top: 1px solid #333; }
  .chiffres div:nth-child(-n+2) { border-top: 0; }
  .chiffres div:nth-child(even) { border-left: 1px solid #333; }
  .chiffres div:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .chiffres dd { font-size: 2.4rem; }
  .barre-titre .filtres label { flex: 1 1 40%; min-width: 0; }
  .mesures th { white-space: normal; }
  .barre { min-width: 2.5rem; }
  th, td { padding-right: 0.6rem; }
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

@media print {
  .entete, .filtres, .exports, .barre-statut form { display: none; }
  body { background: #fff; }
}

/* Portraits -------------------------------------------------------------- */
.avatar { display: inline-grid; place-items: center; flex: none; width: 2.25rem; height: 2.25rem; border-radius: 50%; object-fit: cover; object-position: center 20%; background: var(--fond); }
.avatar-vide { font-size: 0.75rem; font-weight: 600; color: var(--gris); border: 1px solid var(--trait); letter-spacing: 0.02em; }
.avatar-moyen { width: 3.5rem; height: 3.5rem; }
.avatar-moyen.avatar-vide { font-size: 1.05rem; }
.avatar-grand { width: 6rem; height: 6rem; border-radius: 6px; }
.avatar-grand.avatar-vide { font: 500 2rem var(--titre); }
.fiche-tete { display: flex; gap: 0.6rem; align-items: flex-start; }
.fiche-tete > div { min-width: 0; }
.fiche-tete a { font-weight: 600; color: var(--encre); text-decoration: none; }
.fiche-tete a:hover { text-decoration: underline; }
.resultat { display: flex; gap: 1rem; align-items: flex-start; }
.resultat-corps { flex: 1; min-width: 0; }
.relecture { display: flex; gap: 1.5rem; align-items: flex-start; flex-wrap: wrap; }
.relecture .grille { flex: 1 1 20rem; }
.relecture-photo { display: grid; gap: 0.5rem; justify-items: start; }
label.case { display: flex; align-items: center; gap: 0.45rem; font-weight: 400; }
label.case input { width: 1.1rem; height: 1.1rem; }

/* Choix de la langue ----------------------------------------------------- */
.langues { display: inline-flex; border: 1px solid #555; border-radius: 4px; overflow: hidden; }
.langues button { min-height: 1.75rem; padding: 0.05rem 0.55rem; background: none; border: 0; border-radius: 0; color: #d9d9d9; font-size: 0.8125rem; font-weight: 600; }
.langues button:hover { background: #2a2a2a; color: #fff; }
.langues button[aria-pressed="true"] { background: var(--or); color: var(--noir); }
.langues-accueil { position: absolute; top: 1rem; right: 1rem; }
@media (max-width: 640px) {
  .avatar-grand { width: 4.5rem; height: 4.5rem; }
  .resultat { gap: 0.7rem; }
  .avatar-moyen { width: 2.75rem; height: 2.75rem; }
}

/* Version 1.4 : suivi, besoins, lot, sauvegarde -------------------------- */
input[type="date"], input[type="time"] {
  width: 100%; min-height: 2.6rem; padding: 0.5rem 0.7rem; font-weight: 400;
  background: #fff; border: 1px solid #98a1a8; border-radius: 4px;
}
h2 small { font-weight: 400; color: var(--gris); margin-left: 0.3rem; }
.barre-titre h2 { margin: 0; }
.carte.inactif { background: #f6f7f8; }
.actions.gauche { justify-content: flex-start; }
details.ajout { margin: 0.9rem 0 0; padding-top: 0.6rem; border-top: 1px solid var(--trait); }
.depot { margin-bottom: 1rem; }

/* Repères sur les cartes du Kanban */
.fiche .reperes { margin: 0.45rem 0 0; padding-top: 0.4rem; border-top: 1px solid var(--trait); font-size: 0.8125rem; display: grid; gap: 0.1rem; color: var(--or-fonce); font-weight: 600; }

/* Badges d'état */
.badge-attente { background: var(--or-pale); border-color: #cbbb62; color: #4d4204; }
.badge-avis-favorable, .badge-besoin-pourvu, .badge-proposition-retenu, .badge-lot-pret { background: #e5f2ea; border-color: #7fb597; color: #1d5a37; }
.badge-avis-reserve, .badge-proposition-presente, .badge-lot-analyse { background: var(--or-pale); border-color: #cbbb62; color: #4d4204; }
.badge-avis-defavorable, .badge-lot-erreur { background: var(--brique-pale); border-color: #d99a8c; color: var(--brique); }
.badge-besoin-ouvert { background: var(--noir); border-color: var(--noir); color: var(--or); }
.badge-besoin-ferme, .badge-proposition-ecarte, .badge-lot-en_attente { color: var(--gris); }
.etat .badge { margin-right: 0.2rem; }

/* Entretiens et relances sur la fiche */
.entretien { padding: 0.9rem 0; border-top: 1px solid var(--trait); }
.entretien:first-of-type { border-top: 0; padding-top: 0; }
.entretien p { margin: 0.3rem 0 0; max-width: 75ch; }
.entretien .periode { display: flex; flex-wrap: wrap; gap: 0.3rem 0.6rem; align-items: center; }
.entretien details { margin: 0.5rem 0 0; }
.relances li.faite, .agenda li.faite { color: var(--gris); }
.relances li.faite > span { text-decoration: line-through; }
.bandeau-archive { display: flex; gap: 0.8rem 1.5rem; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.bandeau-archive p { margin: 0; }

/* Listes avec portrait : suivi, propositions, rapprochement */
.agenda li { display: flex; gap: 0.75rem; align-items: flex-start; padding-bottom: 0.7rem; border-bottom: 1px solid var(--trait); }
.agenda li:last-child { border-bottom: 0; padding-bottom: 0; }
.agenda li > div { flex: 1; min-width: 0; display: grid; gap: 0.2rem; }
.agenda li > div > a { font-weight: 600; color: var(--encre); justify-self: start; }
.agenda p { margin: 0; }
.agenda .technos { margin: 0.15rem 0; }
.agenda details { margin: 0.2rem 0 0; }
.agenda .badge { justify-self: start; }
.rapprochement li > div { position: relative; padding-right: 4.2rem; }
.note-rapprochement { position: absolute; right: 0; top: 0; font: 500 1.6rem/1 var(--titre); color: var(--encre); font-variant-numeric: lining-nums; }
.note-rapprochement small { font: 400 0.75rem var(--texte); color: var(--gris); margin-left: 0.1rem; }
.technos span.absent { background: #fff; border: 1px dashed #98a1a8; color: var(--gris); }
.description-besoin { margin-top: 0.8rem; max-width: 75ch; }
.besoin-etroit .champs { grid-template-columns: minmax(0, 1fr); }
.entete-profil .statut-form label { flex: 0 1 12rem; }

/* Import en lot */
table.lot td { vertical-align: middle; }
table.lot .detail-lot { margin: 0.3rem 0 0; font-size: 0.8125rem; font-weight: 400; max-width: 46ch; }

@media (max-width: 640px) {
  .rapprochement li > div { padding-right: 0; }
  .note-rapprochement { position: static; }
}

.deux-egales { margin-bottom: 1rem; }
.carte > form + form { margin-top: 0.8rem; }
.actions-ligne.droite { display: flex; justify-content: flex-end; }
.entete-profil .statut-form { flex-wrap: nowrap; }

/* Finitions ---------------------------------------------------------------
   Le mouvement répond à un geste : ouvrir, déposer, confirmer. Rien ne bouge tout seul. */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 0.14s; }
html { scroll-behavior: smooth; scroll-padding-top: 4.5rem; }
::selection { background: var(--or); color: var(--noir); }

.carte { border-radius: 8px; box-shadow: 0 1px 2px rgba(28, 28, 26, 0.04); }
.carte h2 { font-size: 1.0625rem; }
.barre-statut { border-radius: 8px; }

button, .bouton { transition: background-color 0.12s, border-color 0.12s, color 0.12s, transform 0.06s; }
button:active, .bouton:active { transform: translateY(1px); }
button.lien:active { transform: none; }
input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="date"], input[type="time"], select, textarea { transition: border-color 0.12s, box-shadow 0.12s; }
main input[type="text"]:focus, main input[type="email"]:focus, main input[type="password"]:focus, main input[type="search"]:focus, main input[type="date"]:focus, main input[type="time"]:focus, main select:focus, main textarea:focus {
  border-color: var(--petrole); box-shadow: 0 0 0 3px rgba(13, 74, 93, 0.16); outline: 0;
}
body.accueil main input:focus { border-color: var(--or); box-shadow: 0 0 0 3px rgba(206, 183, 59, 0.25); }

/* Blocs repliables : une flèche qui tourne, un contenu qui se déroule */
summary { list-style: none; display: flex; align-items: center; gap: 0.45rem; }
summary::-webkit-details-marker { display: none; }
main summary::before { content: ""; flex: none; width: 0.4rem; height: 0.4rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); transition: transform 0.15s; }
main details[open] > summary::before { transform: translateY(-0.1rem) rotate(45deg); }
main details[open] > :not(summary) { animation: derouler 0.16s ease-out; }
dialog[open] { animation: derouler 0.16s ease-out; }

/* Messages : ils arrivent, se ferment d'un clic, et les confirmations s'effacent seules */
.flash { animation: derouler 0.2s ease-out; }
.flash.fermable { display: flex; gap: 1rem; align-items: flex-start; justify-content: space-between; }
.flash .fermer { flex: none; min-height: 0; width: 1.6rem; height: 1.6rem; padding: 0; margin: -0.1rem -0.3rem 0 0; background: none; border: 0; border-radius: 50%; color: inherit; font-size: 1.15rem; line-height: 1; opacity: 0.6; }
.flash .fermer:hover { background: rgba(0, 0, 0, 0.08); opacity: 1; }
.flash.part { opacity: 0; transform: translateY(-4px); transition: opacity 0.25s, transform 0.25s; }

tbody tr { transition: background-color 0.1s; }
.defile tbody tr:hover { background: #f5f7f8; }

/* Kanban : des couloirs visibles, une carte qui se soulève, une zone de dépôt qui s'annonce */
.kanban { gap: 0.6rem; }
.colonne { background: rgba(255, 255, 255, 0.45); border-radius: 8px; padding: 0.7rem 0.55rem 0.55rem; }
.colonne h2 { padding: 0 0.2rem 0.6rem; min-height: 2.9rem; }
.cartes { min-height: 6rem; border-radius: 6px; transition: background-color 0.12s, box-shadow 0.12s; }
.cartes:not(:has(.fiche:not(.cachee)))::after { content: attr(data-vide); display: block; padding: 1.2rem 0.5rem; text-align: center; color: #8a9096; font-size: 0.8125rem; border: 1px dashed #c4cace; border-radius: 6px; }
.fiche { border-radius: 6px; transition: border-color 0.12s, box-shadow 0.12s; }
.kanban[data-modifiable="1"] .fiche:hover { box-shadow: 0 2px 6px rgba(28, 28, 26, 0.08); }
.kanban.en-glisse .cartes { background: rgba(206, 183, 59, 0.1); box-shadow: inset 0 0 0 1px rgba(206, 183, 59, 0.55); }
.fiche.saisie { cursor: grabbing; }
.fiche.glisse { box-shadow: 0 12px 24px rgba(0, 0, 0, 0.18); transform: rotate(1.2deg); border-color: var(--encre); }
.fantome { opacity: 1; background: var(--or-pale); border: 1px dashed #b8a22f; }
.fantome > * { visibility: hidden; }

.resultats .carte { transition: border-color 0.12s; }
.resultats .carte:hover { border-color: #98a1a8; }

/* Fiche profil : sommaire collé sous l'en-tête */
.sommaire { position: sticky; top: 3.25rem; z-index: 5; display: flex; gap: 0.3rem; margin: 0 calc(-1 * var(--gouttiere)) 1rem; padding: 0.45rem var(--gouttiere); overflow-x: auto; background: rgba(236, 239, 241, 0.94); backdrop-filter: blur(6px); border-bottom: 1px solid var(--trait); scrollbar-width: none; }
.sommaire::-webkit-scrollbar { display: none; }
.sommaire a { flex: none; display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.3rem 0.75rem; border-radius: 999px; color: var(--encre); text-decoration: none; font-size: 0.875rem; white-space: nowrap; transition: background-color 0.12s; }
.sommaire a:hover { background: #fff; }
.sommaire a small { color: var(--gris); font-variant-numeric: tabular-nums; }
.sommaire a .retard { font-size: 0.8125rem; }
body:has(.sommaire) { scroll-padding-top: 7rem; }
html:has(.sommaire) { scroll-padding-top: 7rem; }
.suite-historique { margin-top: 0.6rem; }

@media (max-width: 1180px) {
  .sommaire { top: 0; }
  html:has(.sommaire) { scroll-padding-top: 3.6rem; }
  html { scroll-padding-top: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  html { scroll-behavior: auto; }
}

/* Aide --------------------------------------------------------------------- */
.lien-aide { flex: none; display: grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; border: 1px solid #6a6a6a; color: #fff; text-decoration: none; font-weight: 600; font-size: 0.9375rem; transition: border-color 0.12s, color 0.12s; }
.lien-aide:hover, .lien-aide[aria-current] { border-color: var(--or); color: var(--or); }
.lien-aide b { display: none; font-weight: 400; }
.aide-tete { align-items: center; }
.aide-outils { display: flex; align-items: center; gap: 0.7rem; flex-wrap: wrap; }
.versions { display: inline-flex; border: 1px solid #98a1a8; border-radius: 4px; overflow: hidden; background: #fff; }
.versions a { padding: 0.45rem 0.8rem; color: var(--encre); text-decoration: none; font-weight: 600; font-size: 0.875rem; }
.versions a[aria-current] { background: var(--noir); color: var(--or); }
.aide-page { display: grid; grid-template-columns: 17rem minmax(0, 1fr); gap: 1.5rem; align-items: start; }
.aide-sommaire { position: sticky; top: 4.25rem; max-height: calc(100vh - 5.25rem); overflow-y: auto; font-size: 0.9375rem; }
.aide-sommaire ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.1rem; }
.aide-sommaire ol a { display: block; padding: 0.35rem 0.7rem; border-left: 2px solid var(--trait); color: var(--encre); text-decoration: none; line-height: 1.3; transition: border-color 0.12s, background-color 0.12s; }
.aide-sommaire ol a:hover { border-left-color: var(--or); background: #fff; }
.aide-guides { display: grid; gap: 0.3rem; margin: 0 0 1rem; }
.aide-guides a { padding: 0.45rem 0.7rem; border: 1px solid var(--trait); border-radius: 6px; background: #fff; color: var(--encre); text-decoration: none; font-weight: 600; }
.aide-guides a[aria-current] { background: var(--noir); border-color: var(--noir); color: var(--or); }
.aide-texte { padding: 1.6rem 2rem 2rem; margin: 0; }
.aide-texte h2 { margin-top: 2.6rem; padding-top: 1.6rem; border-top: 1px solid var(--trait); }
.aide-texte h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.aide-texte h3 { margin-top: 1.7rem; }
.aide-texte p, .aide-texte li { max-width: 72ch; line-height: 1.6; }
.aide-texte li { margin-bottom: 0.25rem; }
.aide-texte .defile { margin: 0.4rem 0 1.1rem; }
.aide-texte table { max-width: 60rem; }
.aide-texte th { white-space: nowrap; }
.aide-texte td:first-child { white-space: nowrap; font-weight: 600; }
.aide-texte code { white-space: nowrap; }

@media (max-width: 1180px) {
  .lien-aide { width: auto; height: auto; min-height: 2.6rem; display: flex; justify-content: flex-start; border: 0; border-radius: 0; border-top: 1px solid #2c2c2c; font-weight: 400; font-size: 1rem; }
  .lien-aide span { display: none; }
  .lien-aide b { display: inline; }
}
@media (max-width: 900px) {
  .aide-page { grid-template-columns: minmax(0, 1fr); }
  .aide-sommaire { position: static; max-height: none; }
  .aide-sommaire ol { grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); }
  .aide-texte { padding: 1.1rem 1rem 1.4rem; }
  .aide-texte td:first-child, .aide-texte th, .aide-texte code { white-space: normal; }
}
@media print {
  .aide-page { display: block; }
  .aide-sommaire, .aide-outils, .evitement, main > .flash { display: none; }
  .aide-texte { border: 0; box-shadow: none; padding: 0; }
  .aide-texte h2 { break-after: avoid; }
  .aide-texte h3 { break-after: avoid; }
  .aide-texte table, .aide-texte li { break-inside: avoid; }
  .aide-texte .defile { overflow: visible; }
}

/* Les guides et les rapports gardent leurs grands titres */
.carte.rapport h2 { font-size: 1.75rem; }
.carte.rapport h3 { font-size: 1.125rem; }
/* Version 1.5 : demande de compte, validation, corbeille ------------------ */
.porte-lien { margin: 1.4rem 0 0; font-size: 0.9375rem; }
.porte-lien a { color: var(--or); }
.porte-lien a:hover { color: #fff; }
/* Champ piège de la demande de compte : hors de l'écran, ignoré des lecteurs d'écran et du clavier */
.piege { position: absolute; left: -999rem; width: 1px; height: 1px; overflow: hidden; }
.carte.demandes { border-left: 4px solid var(--or); }
.carte.demandes h2 small { color: var(--gris); font-weight: 400; }
.liste-demandes { list-style: none; margin: 0; padding: 0; }
.liste-demandes li { display: flex; flex-wrap: wrap; gap: 0.6rem 1.5rem; align-items: center; justify-content: space-between; padding: 0.8rem 0; border-top: 1px solid var(--trait); }
.liste-demandes .compte-meta { margin-bottom: 0; }
.compte-menu { color: #9a9a9a; font-weight: 400; }
.profil-ligne { display: flex; gap: 0.7rem; align-items: center; }
.profil-ligne .avatar { flex: none; }
p.aide.danger { margin-bottom: 0; }
@page { margin: 16mm 15mm; }
@media print { main { padding: 0; max-width: none; } .aide-tete h1 { font-size: 26pt; margin-bottom: 6mm; } }
