.glm-root{
  --glm-blue:#145da0;
  --glm-navy:#123b63;
  --glm-light:#f8fbff;
  --glm-border:#dbeafe;
  --glm-text:#1f2937;
  --glm-muted:#64748b;
  --glm-red:#9f1239;
  box-sizing:border-box;
  width:min(92%,1430px);
  margin:18px auto;
  color:var(--glm-text);
  font-family:Arial,sans-serif;
}
.glm-root *{box-sizing:border-box}
.glm-hero{padding:24px 26px;background:linear-gradient(135deg,#123b63 0%,#145da0 55%,#1d6fb8 100%);border-radius:18px;box-shadow:0 6px 16px rgba(20,93,160,.14);color:#fff;text-align:center;margin-bottom:18px}
.glm-version-badge,.glm-mini-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 13px;background:#fff;color:var(--glm-blue);border-radius:999px;font-size:.86em;font-weight:800;margin-bottom:10px}
.glm-hero h1{margin:0 0 10px;color:#fff;font-size:clamp(1.45rem,2.2vw,1.95rem);line-height:1.16;font-weight:850;letter-spacing:-.015em}
.glm-hero p{max-width:980px;margin:0 auto;color:#f4f9ff;font-size:.98em;line-height:1.5;font-weight:500;text-align:justify}
.glm-notices{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 18px}
.glm-notice{background:#f8fbff;border:1px solid #cfe3f8;border-left:4px solid #7dd3fc;border-radius:14px;padding:14px 16px;box-shadow:0 4px 12px rgba(20,72,120,.055)}
.glm-notice h2{margin:0 0 7px;color:#102a43;font-size:1.08em}
.glm-notice p{margin:0;line-height:1.55;text-align:justify;font-size:.94em}
.glm-search-box,.glm-section,.glm-generator{background:#fff;border:1px solid #dbeafe;border-radius:18px;padding:18px;margin:18px 0;box-shadow:0 8px 20px rgba(15,23,42,.06)}
.glm-search-head h2,.glm-section-title h2,.glm-generator-head h2{margin:0 0 6px;color:var(--glm-navy);font-size:1.45em}
.glm-search-head p,.glm-section-title p,.glm-generator-head p{margin:0 0 14px;color:var(--glm-muted);line-height:1.5}
.glm-theme-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0 16px}
.glm-theme-card{appearance:none;border:1px solid #cfe3f8;background:#f8fbff;border-radius:15px;padding:13px 12px;text-align:left;cursor:pointer;min-height:106px;transition:.15s ease;color:var(--glm-text)}
.glm-theme-card:hover,.glm-theme-card.is-active{border-color:var(--glm-blue);box-shadow:0 0 0 3px rgba(20,93,160,.13);transform:translateY(-1px)}
.glm-theme-card strong{display:block;color:var(--glm-navy);font-size:.98em;margin-bottom:5px}
.glm-theme-card small{display:block;color:#475569;line-height:1.35;font-size:.84em}
.glm-theme-card em{display:inline-block;margin-top:8px;color:var(--glm-red);font-style:normal;font-weight:800;font-size:.84em}
.glm-theme-icon{font-size:1.1em;color:var(--glm-blue)}
.glm-search-grid,.glm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.glm-field{display:flex;flex-direction:column;gap:6px;font-weight:700;color:#102a43}
.glm-field--full{grid-column:1/-1}
.glm-field input,.glm-field select,.glm-field textarea{width:100%;border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px;font:inherit;color:#111827;background:#fff;outline:none}
.glm-field textarea{resize:vertical;min-height:86px;line-height:1.45}
.glm-field input:focus,.glm-field select:focus,.glm-field textarea:focus{border-color:var(--glm-blue);box-shadow:0 0 0 3px rgba(20,93,160,.12)}
.glm-help{font-weight:400;color:#64748b;line-height:1.35;font-size:.84em}
.glm-results-info{font-weight:800;color:var(--glm-blue);margin:12px 0 0}
.glm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.glm-card{border:1px solid #dbeafe;border-radius:18px;padding:15px;background:#f8fbff;box-shadow:0 5px 14px rgba(15,23,42,.055);display:flex;flex-direction:column;gap:10px}
.glm-card[hidden]{display:none!important}
.glm-card-tags{display:flex;gap:7px;flex-wrap:wrap}
.glm-card-tags span{background:#e0f2fe;color:#075985;border-radius:999px;padding:5px 9px;font-size:.8em;font-weight:800}
.glm-card h3{margin:0;color:var(--glm-navy);font-size:1.14em;line-height:1.25}
.glm-card p{margin:0;color:#334155;line-height:1.45;font-size:.94em}
.glm-card-examples{background:#fff;border:1px solid #e2e8f0;border-radius:13px;padding:10px 12px;font-size:.9em;color:#334155}
.glm-card-examples strong{color:#102a43}
.glm-card-examples ul{margin:7px 0 0;padding-left:18px;line-height:1.45}
.glm-card-meta{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0}
.glm-card-meta div{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:8px}
.glm-card-meta dt{font-size:.78em;color:#64748b;font-weight:800;text-transform:uppercase}
.glm-card-meta dd{margin:3px 0 0;font-size:.88em;color:#102a43;font-weight:700}
.glm-card-actions,.glm-form-actions,.glm-result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto}
.glm-button{border:none;border-radius:13px;padding:11px 14px;font-weight:800;cursor:pointer;text-decoration:none;transition:.15s ease;font-size:.92em}
.glm-button:hover{transform:translateY(-1px);opacity:.95}
.glm-button--primary{background:var(--glm-blue);color:#fff}
.glm-button--secondary{background:#e0f2fe;color:#075985}
.glm-form-section{border:1px solid #e2e8f0;background:#f8fbff;border-radius:16px;padding:16px;margin:0 0 14px}
.glm-step-header h3{margin:0 0 5px;color:var(--glm-navy);font-size:1.18em}
.glm-step-header p{margin:0 0 13px;color:#64748b;line-height:1.45}
.glm-validation{background:#fff7ed;border:1px solid #fed7aa;border-left:5px solid #f97316;border-radius:14px;padding:13px 15px;margin:14px 0;color:#7c2d12;line-height:1.5}
.glm-validation ul{margin:8px 0 10px;padding-left:20px}
.glm-generated{margin-top:18px}
.glm-score{background:#f8fbff;border:1px solid #cfe3f8;border-radius:16px;padding:14px 16px;margin:0 0 14px}
.glm-score h3{margin:0 0 9px;color:var(--glm-navy)}
.glm-score-bar{height:12px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-bottom:10px}
.glm-score-bar span{display:block;height:100%;background:linear-gradient(90deg,#145da0,#22c55e);border-radius:999px}
.glm-score ul{margin:0;padding-left:20px;line-height:1.45;color:#334155}
.glm-letter-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:18px;padding:16px}
.glm-preview-head h3{margin:0 0 4px;color:var(--glm-navy)}
.glm-preview-head p{margin:0 0 12px;color:#64748b}
.glm-letter{background:#fff;border:1px solid #d1d5db;border-radius:6px;min-height:520px;padding:15mm;box-shadow:0 6px 20px rgba(15,23,42,.08);font-family:Arial,sans-serif;font-size:12pt;line-height:1.45;color:#111827;outline:none}
.glm-letter p{margin:0 0 13px}
.glm-address-right{text-align:right;margin:20px 0}
.glm-date{text-align:right;margin:18px 0}
.glm-signature{margin-top:25px}
.glm-char-count{margin:12px 0;padding:11px 13px;border-radius:13px;background:#ecfdf5;border:1px solid #bbf7d0;color:#065f46;font-weight:800}
.glm-char-count.is-over{background:#fff7ed;border-color:#fdba74;color:#9a3412}
@media(max-width:980px){.glm-theme-filter{grid-template-columns:repeat(2,minmax(0,1fr))}.glm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.glm-notices{grid-template-columns:1fr}}
@media(max-width:680px){.glm-root{width:min(96%,1430px)}.glm-theme-filter,.glm-grid,.glm-search-grid,.glm-form-grid{grid-template-columns:1fr}.glm-field--full{grid-column:auto}.glm-letter{padding:24px 18px;font-size:11pt}}

/* v1.1.0 — présentation classique de la lettre : expéditeur, destinataire, objet et signature */
.glm-letter-addresses{
  display:grid;
  grid-template-columns:76mm 72mm;
  column-gap:18mm;
  align-items:start;
  margin:0 0 13mm 0;
}
.glm-letter-block address{
  font-style:normal;
  white-space:pre-line;
  margin:0;
  padding:0;
  line-height:1.35;
}
.glm-letter-sender{margin:0;padding:0;align-self:start;justify-self:start;}
.glm-letter-right-column{display:block;margin:0;padding-top:24mm;align-self:start;justify-self:stretch;}
.glm-letter-recipient{margin:0;padding:0;}
.glm-letter-place-date{margin:7mm 0 13mm 0;text-align:left;line-height:1.45;}
.glm-letter-object{font-weight:700;margin:0 0 11mm 0;color:#111827;}
.glm-letter-body p{margin:0 0 5.5mm;text-align:justify;}
.glm-letter-salutation{text-align:left!important;}
.glm-letter-closing{margin-top:9mm!important;}
.glm-letter-sign-zone{margin:18mm auto 0 auto;text-align:center;width:70mm;min-height:34mm;}
.glm-manual-space{min-height:22mm;border-bottom:1px solid transparent;}
.glm-sign-name{font-weight:700;text-align:center;}
@media(max-width:680px){
  .glm-letter-addresses{grid-template-columns:1fr;gap:12px;}
  .glm-letter-right-column{padding-top:0;}
  .glm-letter-place-date{margin:12px 0 18px;}
}
@media print{
  .glm-letter{box-shadow:none!important;border:0!important;padding:0!important;}
  .glm-letter-addresses{display:grid!important;grid-template-columns:76mm 72mm!important;column-gap:18mm!important;margin:0 0 13mm 0!important;}
  .glm-letter-right-column{padding-top:24mm!important;}
  .glm-letter-sign-zone{margin:18mm auto 0 auto!important;text-align:center!important;width:70mm!important;}
}

/* v1.2.0 — présentation alignée sur le plugin courriers administratifs */
.glm-letter{
  width:210mm;
  max-width:100%;
  min-height:297mm;
  margin:0 auto;
  padding:15mm;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #d1d5db;
  border-radius:6px;
  box-shadow:0 6px 20px rgba(15,23,42,.08);
  font-family:Arial,Helvetica,sans-serif;
  font-size:12pt;
  line-height:1.5;
  color:#111827;
  outline:none;
}
.glm-letter-addresses{
  display:grid;
  grid-template-columns:82mm 72mm;
  column-gap:18mm;
  align-items:start;
  margin:0 0 15mm 0;
}
.glm-letter-block{
  border:1px solid #d6dbe5;
  background:#fbfcfe;
  border-radius:10px;
  padding:7mm;
  min-height:30mm;
}
.glm-letter-label{
  display:inline-flex;
  color:#fff;
  background:#145da0;
  border-radius:999px;
  padding:2mm 4mm;
  font-size:9pt;
  font-weight:800;
  margin-bottom:4mm;
}
.glm-letter-sender{
  grid-column:1;
  margin:0 0 0 8mm;
  align-self:start;
  justify-self:start;
  width:76mm;
}
.glm-letter-right-column{
  grid-column:2;
  display:block;
  margin:0;
  padding-top:24mm;
  align-self:start;
  justify-self:stretch;
}
.glm-letter-recipient{margin:0;padding:7mm;width:72mm;}
.glm-letter-recipient .glm-letter-label{background:#155b9f;}
.glm-letter-block address{
  font-style:normal;
  white-space:pre-line;
  margin:0;
  padding:0;
  line-height:1.35;
}
.glm-letter-place-date{
  margin:8mm 0 15mm 0;
  text-align:left;
  line-height:1.45;
}
.glm-letter-object{
  border-left:4px solid #145da0;
  background:#f4f7fb;
  padding:4mm 5mm;
  font-weight:700;
  margin:0 0 13mm 0;
  color:#111827;
}
.glm-letter-body p{
  margin:0 0 6.3mm 0;
  text-align:justify;
}
.glm-letter-salutation{text-align:left!important;}
.glm-letter-closing{margin-top:11mm!important;}
.glm-letter-sign-zone{
  margin:20mm auto 0 auto;
  text-align:center;
  width:70mm;
  min-height:36mm;
}
.glm-manual-space{min-height:23mm;border-bottom:1px solid transparent;}
.glm-sign-name{font-weight:700;text-align:center;}
@media(max-width:680px){
  .glm-letter{width:100%;min-height:0;padding:18px;font-size:11pt;}
  .glm-letter-addresses{grid-template-columns:1fr;gap:12px;}
  .glm-letter-sender{grid-column:auto;margin-left:0;width:auto;}
  .glm-letter-right-column{grid-column:auto;padding-top:0;}
  .glm-letter-recipient{width:auto;}
}
@media print{
  @page{size:A4;margin:15mm 15mm 15mm 15mm;}
  .glm-letter{box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;width:auto!important;max-width:none!important;min-height:0!important;margin:0!important;}
  .glm-letter-addresses{display:grid!important;grid-template-columns:82mm 72mm!important;column-gap:18mm!important;margin:0 0 15mm 0!important;align-items:start!important;}
  .glm-letter-sender{grid-column:1!important;margin:0 0 0 8mm!important;width:76mm!important;padding:0!important;}
  .glm-letter-right-column{grid-column:2!important;display:block!important;margin:0!important;padding-top:24mm!important;}
  .glm-letter-block{border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;border-radius:0!important;min-height:0!important;}
  .glm-letter-label{display:none!important;}
  .glm-letter-recipient{margin:0!important;padding:0!important;width:72mm!important;}
  .glm-letter-block address{font-style:normal;white-space:pre-line;margin:0!important;padding:0!important;line-height:1.35!important;}
  .glm-letter-place-date{text-align:left!important;margin:8mm 0 15mm 0!important;line-height:1.45!important;}
  .glm-letter-object{border:0!important;background:transparent!important;padding:0!important;font-weight:700!important;margin:0 0 13mm 0!important;}
  .glm-letter-body p{margin:0 0 6.3mm 0!important;text-align:justify!important;}
  .glm-letter-closing{margin-top:11mm!important;}
  .glm-letter-sign-zone{margin:20mm auto 0 auto!important;text-align:center!important;width:70mm!important;min-height:36mm!important;}
  .glm-manual-space{min-height:23mm!important;border-bottom:1px solid transparent!important;}
  .glm-sign-name{font-weight:700!important;text-align:center!important;}
}

/* v1.3.0 — correction cache + présentation alignée sur le courrier administratif */
.glm-form-version{
  display:inline-flex;
  margin-left:8px;
  margin-bottom:8px;
  padding:6px 10px;
  border-radius:999px;
  background:#ecfdf5;
  color:#065f46;
  border:1px solid #bbf7d0;
  font-size:.82rem;
  font-weight:900;
}
.glm-letter{
  width:210mm;
  max-width:100%;
  min-height:297mm;
  margin:0 auto;
  padding:15mm;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #d1d5db;
  border-radius:6px;
  box-shadow:0 6px 20px rgba(15,23,42,.08);
  font-family:Arial,Helvetica,sans-serif;
  font-size:12pt;
  line-height:1.5;
  color:#111827;
  outline:none;
}
.glm-letter-addresses{
  display:grid;
  grid-template-columns:76mm 72mm;
  column-gap:18mm;
  align-items:start;
  margin:0 0 16mm 0;
}
.glm-letter-sender{
  grid-column:1;
  margin:0 0 0 8mm !important;
  align-self:start;
  justify-self:start;
  width:68mm;
}
.glm-letter-right-column{
  grid-column:2;
  display:block;
  margin:0;
  padding-top:24mm;
  align-self:start;
  justify-self:stretch;
}
.glm-letter-block{
  border:1px solid #d6dbe5;
  background:#fbfcfe;
  border-radius:10px;
  padding:7mm;
  min-height:30mm;
}
.glm-letter-recipient{margin:0;padding:7mm;width:72mm;}
.glm-letter-place-date{margin:8mm 0 15mm 0;text-align:left;line-height:1.45;}
.glm-letter-object{border-left:4px solid #145da0;background:#f4f7fb;padding:4mm 5mm;font-weight:700;margin:0 0 13mm 0;color:#111827;}
.glm-letter-body p{margin:0 0 7mm 0;text-align:justify;}
.glm-letter-closing{margin-top:12mm!important;}
.glm-letter-sign-zone{margin:20mm auto 0 auto;text-align:center;width:70mm;min-height:36mm;}
.glm-manual-space{min-height:23mm;border-bottom:1px solid transparent;}
.glm-sign-name{font-weight:700;text-align:center;}
@media(max-width:680px){
  .glm-letter{width:100%;min-height:0;padding:18px;font-size:11pt;}
  .glm-letter-addresses{grid-template-columns:1fr;gap:12px;}
  .glm-letter-sender{grid-column:auto;margin-left:0!important;width:auto;}
  .glm-letter-right-column{grid-column:auto;padding-top:0;}
  .glm-letter-recipient{width:auto;}
}
@media print{
  @page{size:A4;margin:15mm 15mm 15mm 15mm;}
  .glm-letter{box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;width:auto!important;max-width:none!important;min-height:0!important;margin:0!important;}
  .glm-letter-addresses{display:grid!important;grid-template-columns:76mm 72mm!important;column-gap:18mm!important;margin:0 0 16mm 0!important;align-items:start!important;}
  .glm-letter-sender{grid-column:1!important;margin:0 0 0 8mm!important;width:68mm!important;padding:0!important;}
  .glm-letter-right-column{grid-column:2!important;display:block!important;margin:0!important;padding-top:24mm!important;}
  .glm-letter-block{border:0!important;background:transparent!important;padding:0!important;box-shadow:none!important;border-radius:0!important;min-height:0!important;}
  .glm-letter-label{display:none!important;}
  .glm-letter-recipient{margin:0!important;padding:0!important;width:72mm!important;}
  .glm-letter-block address{font-style:normal;white-space:pre-line;margin:0!important;padding:0!important;line-height:1.35!important;}
  .glm-letter-place-date{text-align:left!important;margin:8mm 0 15mm 0!important;line-height:1.45!important;}
  .glm-letter-object{border:0!important;background:transparent!important;padding:0!important;font-weight:700!important;margin:0 0 13mm 0!important;}
  .glm-letter-body p{margin:0 0 7mm 0!important;text-align:justify!important;}
  .glm-letter-closing{margin-top:12mm!important;}
  .glm-letter-sign-zone{margin:20mm auto 0 auto!important;text-align:center!important;width:70mm!important;min-height:36mm!important;}
  .glm-manual-space{min-height:23mm!important;border-bottom:1px solid transparent!important;}
  .glm-sign-name{font-weight:700!important;text-align:center!important;}
}

/* v2.1.0 — interface du générateur de lettre de motivation */
.glm-letter{
  width:210mm;
  max-width:100%;
  min-height:297mm;
  margin:0 auto;
  padding:15mm;
  box-sizing:border-box;
  background:#fff;
  border:1px solid #d1d5db;
  border-radius:6px;
  box-shadow:0 6px 20px rgba(15,23,42,.08);
  font-family:Arial,Helvetica,sans-serif;
  font-size:12pt;
  line-height:1.5;
  color:#111827;
  outline:none;
}
.glm-letter-addresses{
  display:grid;
  grid-template-columns:76mm 72mm;
  column-gap:18mm;
  align-items:start;
  margin:0 0 20mm 0;
}
.glm-letter-block{
  border:1px solid #d6dbe5;
  background:#fbfcfe;
  border-radius:10px;
  padding:7mm;
  min-height:30mm;
  box-sizing:border-box;
  text-align:left;
}
.glm-letter-label{
  display:inline-flex;
  color:#fff;
  background:#145da0;
  border-radius:999px;
  padding:2mm 4mm;
  font-size:9pt;
  font-weight:800;
  margin-bottom:4mm;
}
.glm-letter-sender{
  grid-column:1;
  width:68mm;
  margin:0 0 0 8mm;
  justify-self:start;
  align-self:start;
  text-align:left!important;
}
.glm-letter-right-column{
  grid-column:2;
  display:block;
  width:72mm;
  margin:0;
  padding-top:26mm;
  justify-self:start;
  align-self:start;
  text-align:left!important;
}
.glm-letter-recipient{
  width:72mm;
  margin:0;
  padding:7mm;
  text-align:left!important;
}
.glm-letter-recipient .glm-letter-label{background:#155b9f;}
.glm-letter-block address{
  font-style:normal;
  white-space:pre-line;
  margin:0!important;
  padding:0!important;
  line-height:1.35;
  text-align:left!important;
}
.glm-letter-place-date{
  margin:12mm 0 0 0;
  text-align:left!important;
  line-height:1.45;
}
.glm-letter-object{
  border-left:4px solid #145da0;
  background:#f4f7fb;
  padding:4mm 5mm;
  font-weight:700;
  margin:0 0 15mm 0;
  color:#111827;
  text-align:left!important;
}
.glm-letter-body p{
  margin:0 0 7mm 0;
  text-align:justify;
}
.glm-letter-salutation{text-align:left!important;}
.glm-letter-closing{margin-top:13mm!important;}
.glm-letter-sign-zone{
  margin:22mm auto 0 auto;
  text-align:center!important;
  width:70mm;
  min-height:38mm;
}
.glm-manual-space{min-height:24mm;border-bottom:1px solid transparent;}
.glm-sign-name{font-weight:700;text-align:center!important;}
@media(max-width:680px){
  .glm-letter{width:100%;min-height:0;padding:18px;font-size:11pt;}
  .glm-letter-addresses{grid-template-columns:1fr;gap:16px;margin-bottom:24px;}
  .glm-letter-sender{grid-column:auto;margin-left:0;width:auto;}
  .glm-letter-right-column{grid-column:auto;width:auto;padding-top:0;}
  .glm-letter-recipient{width:auto;}
  .glm-letter-place-date{margin:16px 0 0 0;}
}
@media print{
  @page{size:A4;margin:15mm 15mm 15mm 15mm;}
  .glm-letter{box-shadow:none!important;border:0!important;border-radius:0!important;padding:0!important;width:auto!important;max-width:none!important;min-height:0!important;margin:0!important;background:#fff!important;}
  .glm-letter-addresses{display:grid!important;grid-template-columns:76mm 72mm!important;column-gap:18mm!important;margin:0 0 20mm 0!important;align-items:start!important;}
  .glm-letter-sender{grid-column:1!important;margin:0 0 0 8mm!important;width:68mm!important;padding:0!important;text-align:left!important;}
  .glm-letter-right-column{grid-column:2!important;display:block!important;width:72mm!important;margin:0!important;padding-top:26mm!important;text-align:left!important;}
  .glm-letter-block{border:0!important;background:transparent!important;border-radius:0!important;padding:0!important;box-shadow:none!important;min-height:0!important;text-align:left!important;}
  .glm-letter-label{display:none!important;}
  .glm-letter-recipient{margin:0!important;padding:0!important;width:72mm!important;text-align:left!important;}
  .glm-letter-block address{font-style:normal!important;white-space:pre-line!important;margin:0!important;padding:0!important;line-height:1.35!important;text-align:left!important;}
  .glm-letter-place-date{text-align:left!important;margin:12mm 0 0 0!important;line-height:1.45!important;}
  .glm-letter-object{border:0!important;background:transparent!important;padding:0!important;font-weight:700!important;margin:0 0 15mm 0!important;text-align:left!important;}
  .glm-letter-body p{margin:0 0 7mm 0!important;text-align:justify!important;}
  .glm-letter-closing{margin-top:13mm!important;}
  .glm-letter-sign-zone{margin:22mm auto 0 auto!important;text-align:center!important;width:70mm!important;min-height:38mm!important;}
  .glm-manual-space{min-height:24mm!important;border-bottom:1px solid transparent!important;}
  .glm-sign-name{font-weight:700!important;text-align:center!important;}
}

/* v2.0.0 — ergonomie renforcée : catégories, score, diagnostics et variantes */
.glm-form-intro{
  margin:0 0 14px 0;
  padding:13px 15px;
  background:#f0f9ff;
  border:1px solid #bae6fd;
  border-left:5px solid #145da0;
  border-radius:14px;
  color:#0f172a;
  line-height:1.55;
  font-size:.95em;
}
.glm-generator-head{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.glm-form-section{
  position:relative;
}
.glm-form-section::before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  bottom:16px;
  width:4px;
  border-radius:999px;
  background:#145da0;
  opacity:.22;
}
.glm-step-header{
  padding-left:8px;
}
.glm-score h3{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.glm-score h3 span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 9px;
  border-radius:999px;
  background:#145da0;
  color:#fff;
  font-size:.82em;
}
.glm-diagnostics{
  background:#fff7ed;
  border:1px solid #fed7aa;
  border-left:5px solid #f97316;
  border-radius:16px;
  padding:14px 16px;
  margin:0 0 14px;
  color:#7c2d12;
}
.glm-diagnostics h3{
  margin:0 0 8px;
  color:#7c2d12;
  font-size:1.05em;
}
.glm-diagnostics ul{
  margin:0;
  padding-left:20px;
  line-height:1.5;
}
.glm-button--ghost{
  background:#f8fafc;
  color:#123b63;
  border:1px solid #cfe3f8;
}
.glm-char-count{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.glm-char-count::before{
  content:"✓";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:999px;
  background:#16a34a;
  color:#fff;
  font-size:.85em;
}
.glm-char-count.is-over::before{
  content:"!";
  background:#f97316;
}
@media(max-width:680px){
  .glm-score h3{display:block;}
  .glm-score h3 span{margin-top:6px;}
}


/* v2.1.0 — ergonomie, champs conditionnels et présentation plus claire */
.glm-form-version{background:#eef6ff;color:#123b63;border-color:#cfe3f8;}
.glm-generator-head p{max-width:980px;}
.glm-form-section[hidden]{display:none!important;}
.glm-diagnostics{background:#fff7ed;border:1px solid #fed7aa;border-left:5px solid #f97316;border-radius:16px;padding:14px 16px;margin:0 0 14px;color:#7c2d12;line-height:1.5;}
.glm-diagnostics h3{margin:0 0 8px;color:#7c2d12;font-size:1.05em;}
.glm-diagnostics ul{margin:0;padding-left:20px;}
.glm-help{display:block;margin-top:4px;color:#64748b;font-size:.84em;line-height:1.35;font-weight:500;}
.glm-theme-card em{display:inline-flex;margin-top:8px;padding:4px 8px;border-radius:999px;background:#fff;color:#145da0;font-style:normal;font-size:.78em;font-weight:900;}
.glm-results-info{font-weight:800;color:#123b63;}
.glm-button--ghost{background:#f8fbff;border:1px solid #cfe3f8;color:#123b63;}
.glm-form-intro{background:#f8fbff;border:1px solid #cfe3f8;border-left:5px solid #145da0;border-radius:14px;padding:13px 15px;margin-bottom:16px;color:#1f2937;line-height:1.5;}

/* v2.3.0 — aperçu A4, formats de sortie, contrôle une page */
.glm-step-nav{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:14px 0 16px;
  padding:12px 14px;
  background:#f8fbff;
  border:1px solid #cfe3f8;
  border-radius:14px;
}
.glm-step-nav-label{
  margin-right:auto;
  font-weight:900;
  color:#123b63;
}
.glm-form-section.is-glm-step-hidden{display:none!important;}
.glm-form-section.is-glm-step-current{
  box-shadow:0 8px 18px rgba(20,93,160,.08);
  border-color:#b6d7f3;
}
.glm-draft-note{
  margin:0 0 12px 0;
  padding:11px 13px;
  background:#f0fdf4;
  border:1px solid #bbf7d0;
  border-left:5px solid #22c55e;
  border-radius:13px;
  color:#14532d;
  font-size:.92em;
  line-height:1.45;
}
.glm-mail-box{
  margin:14px 0;
  padding:15px 16px;
  border:1px solid #cfe3f8;
  border-left:5px solid #145da0;
  border-radius:16px;
  background:#f8fbff;
  color:#1f2937;
}
.glm-mail-box h3{margin:0 0 8px;color:#123b63;font-size:1.08em;}
.glm-mail-box pre{
  margin:10px 0;
  padding:12px;
  white-space:pre-wrap;
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.45;
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:12px;
}
@media(max-width:680px){
  .glm-step-nav{align-items:stretch;}
  .glm-step-nav .glm-button{width:100%;}
  .glm-step-nav-label{width:100%;}
}


/* v2.3.0 — aperçu A4 fidèle, indicateur une page et mobile renforcé */
.glm-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.glm-letter-preview{background:linear-gradient(180deg,#f8fafc 0%,#eef6ff 100%)}
.glm-letter{position:relative;aspect-ratio:210/297;overflow:auto}
.glm-pagefit{margin:12px 0;padding:12px 14px;border-radius:14px;border:1px solid #cfe3f8;background:#f8fbff;color:#102a43;line-height:1.45}
.glm-pagefit.is-ok{border-color:#bbf7d0;background:#ecfdf5;color:#065f46}
.glm-pagefit.is-warning{border-color:#fde68a;background:#fffbeb;color:#92400e}
.glm-pagefit.is-over{border-color:#fecaca;background:#fff1f2;color:#9f1239}
.glm-simple-sign{text-align:center;margin-top:24px!important}
.glm-button--ghost{background:#f8fafc;color:#145da0;border:1px solid #cfe3f8}
.glm-diagnostics{background:#fff7ed;border:1px solid #fed7aa;border-left:5px solid #f97316;border-radius:14px;padding:14px 16px;margin:0 0 14px;color:#7c2d12;line-height:1.5}
.glm-diagnostics h3{margin:0 0 8px;color:#7c2d12}.glm-diagnostics ul{margin:0;padding-left:20px}
@media(max-width:780px){
  .glm-root{width:min(97%,1430px);margin:14px auto}
  .glm-hero{padding:17px 18px}.glm-hero h1{font-size:1.35rem}.glm-hero p{font-size:.95em}
  .glm-generator-head{padding:16px}.glm-generator-head h2{font-size:1.25rem}
  .glm-form-section{padding:13px}.glm-step-nav{position:sticky;top:0;z-index:20;background:#fff;border:1px solid #dbeafe;border-radius:14px;padding:8px;box-shadow:0 6px 14px rgba(15,23,42,.08)}
  .glm-result-actions,.glm-form-actions{position:sticky;bottom:0;background:rgba(255,255,255,.96);padding:10px;border:1px solid #dbeafe;border-radius:14px;z-index:10}
  .glm-button{flex:1 1 auto;text-align:center}
  .glm-letter{aspect-ratio:auto;min-height:0;width:100%;padding:18px;box-shadow:none}
}

/* v2.4.0 — contrôle qualité, niveau de langue et bibliothèque de formules */
.glm-quality{
  background:#f0f9ff;
  border:1px solid #bae6fd;
  border-left:5px solid #145da0;
  border-radius:16px;
  padding:14px 16px;
  margin:0 0 14px;
  color:#0f172a;
}
.glm-quality h3{margin:0 0 8px;color:#123b63;font-size:1.06em;}
.glm-quality ul{margin:0;padding-left:20px;line-height:1.5;}
.glm-formula-section{background:#fbfdff;}
.glm-formula-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.glm-formula-card{background:#fff;border:1px solid #dbeafe;border-radius:14px;padding:12px;}
.glm-formula-card h4{margin:0 0 9px;color:#123b63;font-size:1em;}
.glm-formula-button{
  display:block;
  width:100%;
  margin:7px 0;
  padding:9px 10px;
  border:1px solid #cfe3f8;
  border-radius:12px;
  background:#f8fbff;
  color:#1f2937;
  font:inherit;
  font-size:.9em;
  text-align:left;
  line-height:1.35;
  cursor:pointer;
}
.glm-formula-button:hover{border-color:#145da0;box-shadow:0 0 0 3px rgba(20,93,160,.10);}
@media(max-width:780px){.glm-formula-grid{grid-template-columns:1fr}.glm-formula-button{font-size:.92em}}


/* v2.5.0 — exportation et impression : marges A4 imposées à 15 mm partout */
.glm-letter{
  padding:15mm !important;
}
@media print{
  @page{size:A4;margin:15mm 15mm 15mm 15mm;}
  html,body{margin:0!important;padding:0!important;background:#fff!important;}
  .glm-root,.glm-letter-preview,.glm-generated{margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important;width:auto!important;max-width:none!important;}
  .glm-root > :not(.glm-generated), .glm-score, .glm-result-actions, .glm-preview-head{display:none!important;}
  .glm-letter{padding:0!important;margin:0!important;width:auto!important;max-width:none!important;min-height:0!important;border:0!important;box-shadow:none!important;border-radius:0!important;background:#fff!important;}
}
