/* =====================================================================
   v122 — Mise en page plus compacte (inspirée du dashboard Graphisme)
   1. Bandeau de titre pleine largeur sur fond marine
   2. Menu latéral plus serré
   3. Offres YCM & Événements : grille 3 colonnes, cartes compactes
   4. Offres sans inscription (ex. Nike)
   5. Administration : onglets principaux / sous-onglets contrastés
   6. Étapes de suivi : code couleur + bouton Enregistrer
   ===================================================================== */

:root {
  --fs-band: #0b2742;
  --fs-band-2: #0f3a5c;
  --fs-accent: #d42a3c;
}

/* ---------- 1. Bandeau de titre ---------- */
#root .fs-page-banner:is(.page-title, .welcome-row, .fs-page-banner--admin) {
  min-height: 0 !important;
  margin: 0 0 18px !important;
  padding: 6px 0 22px !important;
  gap: 20px !important;
  border-radius: 0 !important;
  background: var(--fs-band) !important;
  /* Le fond s'étend jusqu'aux bords de la zone de contenu, comme sur Graphisme. */
  box-shadow: 0 0 0 100vmax var(--fs-band) !important;
  clip-path: inset(-22px -100vmax 0 -100vmax) !important;
  overflow: visible !important;
}
#root .fs-page-banner:is(.page-title, .welcome-row, .fs-page-banner--admin)::after {
  display: none !important;
}
#root .fs-page-banner:is(.page-title, .welcome-row, .fs-page-banner--admin) h1 {
  position: relative;
  font-size: 28px !important;
  margin: 4px 0 6px !important;
  padding-bottom: 10px !important;
}
#root .fs-page-banner:is(.page-title, .welcome-row, .fs-page-banner--admin) h1::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 40px;
  height: 3px;
  border-radius: 2px;
  background: var(--fs-accent);
}
#root .fs-page-banner:is(.page-title, .welcome-row, .fs-page-banner--admin) p:not(.eyebrow) {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  color: #c9dbe7 !important;
}
#root .fs-page-banner:is(.page-title, .welcome-row, .fs-page-banner--admin) :is(.fs-page-banner-logo, .exclusive-logo-card) {
  flex: 0 0 64px !important;
  width: 64px !important;
  min-width: 64px !important;
  height: 64px !important;
  padding: 6px !important;
  border-radius: 12px !important;
}
#root .content :is(.agenda-switch) {
  margin-top: 0 !important;
}
#root .content {
  padding-top: 22px !important;
}

@media (max-width: 760px) {
  #root .fs-page-banner:is(.page-title, .welcome-row, .fs-page-banner--admin) {
    padding: 4px 0 18px !important;
    gap: 14px !important;
    clip-path: inset(-16px -100vmax 0 -100vmax) !important;
  }
  #root .fs-page-banner:is(.page-title, .welcome-row, .fs-page-banner--admin) h1 {
    font-size: 23px !important;
    padding-bottom: 8px !important;
  }
  #root .fs-page-banner:is(.page-title, .welcome-row, .fs-page-banner--admin) :is(.fs-page-banner-logo, .exclusive-logo-card) {
    flex-basis: 52px !important;
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
  }
  #root .content {
    padding-top: 16px !important;
  }
}

/* ---------- 2. Menu latéral plus serré ---------- */
@media (min-width: 901px) {
  #root aside.sidebar nav :is(button, a):not(.fs-nav-group *) {
    min-height: 34px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }
  #root aside.sidebar .nav-group {
    padding-top: 2px !important;
  }
}

/* ---------- 3. Grille 3 colonnes (Offres YCM, Événements) ---------- */
#root .content .event-list:not(.home-events) {
  display: grid !important;
  grid-template-columns: repeat(
    auto-fill,
    minmax(min(100%, max(250px, calc((100% - 32px) / 3))), 1fr)
  ) !important;
  gap: 16px !important;
  align-items: stretch !important;
}
#root .content .event-list:not(.home-events) .event-card-main {
  border-radius: 14px !important;
  box-shadow: 0 2px 10px #14344b0a !important;
}
#root .content .event-list:not(.home-events) .event-card-main > .event-thumb {
  height: clamp(118px, 9.5vw, 148px) !important;
  border-radius: 13px 13px 0 0 !important;
}
#root .content .event-list:not(.home-events) .event-card-main > .fs-event-heading {
  grid-template-columns: 48px minmax(0, 1fr) !important;
  gap: 11px !important;
  padding: 12px 14px 10px !important;
}
#root .content .event-list:not(.home-events) .event-card-main > .fs-event-heading.is-undated {
  grid-template-columns: minmax(0, 1fr) !important;
}
#root .content .event-list:not(.home-events) .event-card-main .fs-event-heading > .event-date {
  min-width: 0 !important;
  border-radius: 9px !important;
}
#root .content .event-list:not(.home-events) .event-card-main .fs-event-heading > .event-date > small {
  padding: 3px 4px !important;
  font-size: 9.5px !important;
  border-radius: 8px 8px 0 0 !important;
}
#root .content .event-list:not(.home-events) .event-card-main .fs-event-heading > .event-date > strong {
  padding: 3px 2px 4px !important;
  font-size: 19px !important;
}
#root .content .event-list:not(.home-events) .event-card-main .event-info > p {
  margin: 0 0 2px !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
}
#root .content .event-list:not(.home-events) .event-card-main .event-title-button {
  margin: 0 0 4px !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
}
#root .content .event-list:not(.home-events) .event-card-main .event-title-button > span {
  flex-basis: 14px !important;
  font-size: 14px !important;
}
#root .content .event-list:not(.home-events) .event-card-main .event-info > span {
  font-size: 12.5px !important;
  line-height: 1.45 !important;
}
#root .content .event-list:not(.home-events) .event-card-main .calendar-choice-hint {
  margin-top: 8px !important;
  padding: 8px 10px !important;
  gap: 8px !important;
}
#root .content .event-list:not(.home-events) .event-card-main .inline-slot-picker {
  margin-top: 8px !important;
}
#root .content .event-list:not(.home-events) .event-card-main > .event-commercial {
  margin: 0 14px 10px !important;
  border-radius: 9px !important;
}
#root .content .event-list:not(.home-events) .event-card-main .event-commercial > .event-price {
  grid-template-columns: 26px minmax(0, 1fr) !important;
  gap: 8px !important;
  padding: 8px 10px !important;
}
#root .content .event-list:not(.home-events) .event-card-main .event-price > span {
  width: 26px !important;
  height: 26px !important;
}
#root .content .event-list:not(.home-events) .event-card-main .event-price .fs-price-label {
  font-size: 11.5px !important;
}
#root .content .event-list:not(.home-events) .event-card-main .event-price strong {
  margin-top: 1px !important;
  font-size: 16px !important;
}
/* Le badge « Ouvert » reste à côté du prix dès qu'il y a la place */
#root .content .event-list:not(.home-events) .event-card-main .event-commercial.event-commercial > b {
  min-height: 24px !important;
  margin: 8px 10px 0 !important;
  padding: 3px 8px !important;
  max-width: none !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
}
@container fs-event-card (min-width: 250px) {
  #root .content .event-list:not(.home-events) .event-card-main .event-commercial.event-commercial {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
  #root .content .event-list:not(.home-events) .event-card-main .event-commercial.event-commercial > .event-price {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  #root .content .event-list:not(.home-events) .event-card-main .event-commercial.event-commercial > b {
    grid-column: 2 !important;
    grid-row: 1 !important;
    margin: 8px 10px 8px 0 !important;
  }
  #root .content .event-list:not(.home-events) .event-card-main .event-commercial.event-commercial > .companion-price {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
  }
}
#root .content .event-list:not(.home-events) .event-card-main > :is(.attendees, .event-threshold, .enrollment-progress) {
  margin: 0 14px 8px !important;
}
#root .content .event-list:not(.home-events) .event-card-main > .event-threshold {
  padding: 6px 9px !important;
}
#root .content .event-list:not(.home-events) .event-card-main > .fs-card-action {
  margin: auto 14px 14px !important;
  padding-top: 2px !important;
  min-height: 0 !important;
}
#root .content .event-list:not(.home-events) .event-card-main .event-register {
  min-height: 40px !important;
  padding: 9px 12px !important;
  border-radius: 8px !important;
  font-size: 13.5px !important;
}
@media (max-width: 560px) {
  #root .content .event-list:not(.home-events) {
    gap: 14px !important;
  }
  #root .content .event-list:not(.home-events) .event-card-main > .event-thumb {
    height: 150px !important;
  }
}

/* ---------- 4. Offres sans inscription ---------- */
#root .event-card-main > .fs-perk-card {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 10px;
  margin: 0 14px 14px;
  min-width: 0;
}
#root .fs-perk-card .fs-card-action {
  margin: auto 0 0 !important;
  padding: 0 !important;
  min-height: 0 !important;
}
#root .fs-perk-card .fs-perk-note {
  display: block;
  margin-top: 6px;
  font-size: 11.5px;
  color: #5d7486;
}
:is(.fs-perk-card, .fs-perk-details) .fs-perk-value {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 10px;
  padding: 10px 12px;
  border: 1px solid #f1d3d6;
  border-radius: 10px;
  background: #fdf3f4;
}
:is(.fs-perk-card, .fs-perk-details) .fs-perk-value strong {
  font-size: 24px;
  font-weight: 750;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #b4192c;
}
:is(.fs-perk-card, .fs-perk-details) .fs-perk-value span {
  font-size: 13px;
  font-weight: 600;
  color: #6a3940;
}
#root .fs-perk-card .fs-perk-how {
  margin: 0;
  font-size: 12.5px;
  line-height: 1.5;
  color: #4d6475;
}
.fs-perk-details {
  display: grid;
  gap: 12px;
  margin: 14px 0 4px;
}
.fs-perk-details dl {
  display: grid;
  gap: 8px;
  margin: 0;
}
.fs-perk-details dl > div {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 10px;
  padding: 9px 12px;
  border-radius: 9px;
  background: #f4f7fa;
}
.fs-perk-details dt {
  font-size: 12px;
  font-weight: 650;
  color: #5d7486;
}
.fs-perk-details dd {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: #1c3a51;
}
@media (max-width: 520px) {
  .fs-perk-details dl > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }
}

/* ---------- 5. Administration : onglets ---------- */
#root .fs-admin-nav-levels {
  margin-bottom: 18px !important;
}
#root .fs-admin-v15 .fs-admin-main-nav {
  margin: 0 !important;
  gap: 8px !important;
}
#root .fs-admin-v15 .fs-admin-main-nav > a {
  min-height: 48px !important;
  padding: 8px 12px !important;
  border-color: #d3dee7 !important;
  box-shadow: 0 1px 3px #0b274208 !important;
}
#root .fs-admin-v15 .fs-admin-main-nav > a.active {
  background: var(--fs-band) !important;
  border-color: var(--fs-band) !important;
  box-shadow: 0 6px 14px #0b274226 !important;
}
/* Sous-onglets : bande teintée rattachée au menu, onglet actif en bleu clair */
#root .fs-admin-subnav {
  gap: 4px !important;
  margin-top: 10px !important;
  padding: 5px !important;
  border: 1px solid #cfdce7 !important;
  border-radius: 12px !important;
  background: #e3ecf3 !important;
}
#root .fs-admin-subnav a {
  min-height: 34px !important;
  padding: 6px 12px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #3e5a6e !important;
  box-shadow: none !important;
  font-size: 13px !important;
}
#root .fs-admin-subnav a:hover:not(.active) {
  background: #f3f7fa !important;
  color: #173a53 !important;
}
#root .fs-admin-subnav a.active {
  background: #2a7aa8 !important;
  border-color: #2a7aa8 !important;
  color: #fff !important;
  box-shadow: 0 2px 6px #2a7aa833 !important;
}
#root .fs-admin-subnav a b {
  background: #ffffffb3 !important;
  color: #1b4c69 !important;
}
#root .fs-admin-subnav a.active b {
  background: #ffffff2e !important;
  color: #fff !important;
}
#root .fs-admin-subnav a b.is-alert {
  background: #d42a3c !important;
  color: #fff !important;
}
@media (max-width: 700px) {
  #root .fs-admin-subnav a {
    padding: 6px 9px !important;
    font-size: 12px !important;
  }
}

/* ---------- 6. Étapes de suivi : couleurs ---------- */
.fs-stage-0 { --stage: #6b7f90; --stage-soft: #eef2f5; }
.fs-stage-1 { --stage: #2f7fc1; --stage-soft: #e8f2fb; }
.fs-stage-2 { --stage: #6a58c6; --stage-soft: #efecfb; }
.fs-stage-3 { --stage: #d1861b; --stage-soft: #fdf4e6; }
.fs-stage-4 { --stage: #138a7e; --stage-soft: #e5f5f2; }
.fs-stage-5 { --stage: #2e8b4a; --stage-soft: #e7f5ea; }
.is-closed { --stage: #9aa6b0; --stage-soft: #f1f3f5; }
.fs-stage-c0 { --step: #6b7f90; }
.fs-stage-c1 { --step: #2f7fc1; }
.fs-stage-c2 { --step: #6a58c6; }
.fs-stage-c3 { --step: #d1861b; }
.fs-stage-c4 { --step: #138a7e; }
.fs-stage-c5 { --step: #2e8b4a; }

/* Liste des demandes : liseré + mini-frise */
#root .fs-stage-row {
  box-shadow: inset 4px 0 0 var(--stage) !important;
}
.fs-stage-mini {
  display: grid;
  gap: 4px;
  margin-top: 6px;
  min-width: 0;
}
.fs-stage-mini-bar {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 2px;
  width: 100%;
  max-width: 120px;
}
.fs-stage-mini-bar i {
  display: block;
  height: 5px;
  border-radius: 3px;
  background: #dfe6ec;
}
.fs-stage-mini-bar i.on {
  background: var(--stage);
}
.fs-stage-mini small {
  font-size: 11px;
  font-weight: 650;
  line-height: 1.3;
  color: var(--stage);
}

/* Fiche : sélecteur d'étape */
body .fs-stage-selector {
  border-top: 3px solid var(--stage, #2e8b69) !important;
}
body .fs-stage-selector > header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
body .fs-stage-selector > header > span {
  background: var(--stage) !important;
  color: #fff !important;
}
body .fs-stage-selector > header > div {
  flex: 1 1 auto;
  min-width: 0;
}
body .fs-stage-selector .fs-stage-count {
  flex: none;
  padding: 4px 9px;
  border-radius: 20px;
  background: var(--stage-soft);
  color: var(--stage);
  font-size: 11.5px;
  font-style: normal;
  font-weight: 700;
}
body .fs-stage-selector .fs-stage-progress {
  height: 6px;
  margin: 12px 0 10px;
  border-radius: 4px;
  background: #e2e9ef;
  overflow: hidden;
}
body .fs-stage-selector .fs-stage-progress > span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--stage);
  transition: width 0.25s ease, background 0.25s ease;
}
body .fs-stage-selector .fs-stage-step i {
  transition: background 0.2s ease, color 0.2s ease;
}
body .fs-stage-selector .fs-stage-step.done i {
  background: var(--step) !important;
  color: #fff !important;
}
body .fs-stage-selector .fs-stage-step.current {
  border-color: var(--step) !important;
  background: color-mix(in srgb, var(--step) 8%, #fff) !important;
}
body .fs-stage-selector .fs-stage-step.current i {
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--step) 22%, transparent) !important;
}
body .fs-stage-selector .fs-stage-step.current span {
  color: var(--step) !important;
}
body .fs-stage-selector .fs-stage-step.saved:not(.current)::after {
  content: "Enregistrée";
  display: block;
  margin-top: 2px;
  font-size: 10px;
  font-weight: 600;
  color: #7a8b98;
}
body .fs-stage-selector .fs-stage-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #e2e9ef;
}
body .fs-stage-selector .fs-stage-feedback {
  flex: 1 1 220px;
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.45;
  color: #5d7486 !important;
}
body .fs-stage-selector .fs-stage-feedback.ok { color: #2e7a4b !important; font-weight: 600; }
body .fs-stage-selector .fs-stage-feedback.error { color: #b42318 !important; font-weight: 600; }
body .fs-stage-selector .fs-stage-feedback.pending { color: #8a5a12 !important; font-weight: 600; }
body .fs-stage-selector :is(.fs-stage-save, .fs-stage-cancel) {
  min-height: 38px;
  padding: 8px 14px;
  border-radius: 9px;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}
body .fs-stage-selector .fs-stage-cancel {
  border: 1px solid #d3dee7;
  background: #fff;
  color: #3e5a6e;
}
body .fs-stage-selector .fs-stage-save {
  border: 1px solid var(--fs-band);
  background: var(--fs-band);
  color: #fff;
}
body .fs-stage-selector.is-dirty .fs-stage-save {
  border-color: #d42a3c;
  background: #d42a3c;
  box-shadow: 0 4px 12px #d42a3c33;
}
body .fs-stage-selector .fs-stage-save:disabled {
  opacity: 0.45;
  cursor: default;
  box-shadow: none;
}
body .fs-stage-selector.is-dirty {
  box-shadow: 0 0 0 2px #f4c7cc !important;
}

/* Éditeur : libellé « à la une » lisible (titre + explication sur deux lignes) */
.featured-toggle > span {
  display: grid !important;
  gap: 2px;
}
.featured-toggle > span > small {
  display: block !important;
  font-weight: 400;
  opacity: 0.85;
}

/* ---------- 7. Bons Plans Partenaires : fiches plus compactes ---------- */
#root .offers-notice {
  padding: 10px 14px !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
}
#root .offers-notice p {
  font-size: 12px !important;
  line-height: 1.5 !important;
  margin-top: 2px !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) {
  gap: 16px !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .offer-card {
  border-radius: 14px !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .offer-visual {
  height: clamp(124px, 10vw, 150px) !important;
  min-height: 0 !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .offer-visual .offer-icon {
  font-size: 48px !important;
  height: auto !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .offer-body {
  padding: 14px 16px 16px !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .fs-offer-copy {
  margin: 0 !important;
  padding: 0 !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .fs-offer-heading {
  margin: 0 0 4px !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .fs-offer-heading h3 {
  font-size: 17px !important;
  line-height: 1.3 !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .fs-offer-summary {
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .offer-commercial {
  margin: 10px 0 4px !important;
  padding: 8px 0 !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .fs-card-price .fs-price-amount {
  font-size: 16px !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .option-count {
  margin: 0 !important;
  font-size: 11px !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .registration-tag {
  margin: 8px 0 0 !important;
  padding: 6px 9px !important;
  border-radius: 8px !important;
  font-size: 10.5px !important;
  line-height: 1.35 !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .offer-partner {
  margin: 10px 0 !important;
  padding-top: 8px !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .offer-footer {
  padding-top: 4px !important;
  gap: 6px !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .offer-footer button {
  min-height: 38px !important;
  padding: 8px 14px !important;
  border-radius: 8px !important;
  font-size: 13.5px !important;
}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .fs-offer-validity {
  font-size: 11px !important;
}
@media (max-width: 560px) {
  #root .offer-grid.fs-offer-grid:not(.fs-offer-list) .offer-visual {
    height: 130px !important;
  }
}

/* ---------- 8. Éditeur de fiche : bloc formulaire réductible et compact ---------- */
details.fs-form-builder.fs-form-fold {
  margin-top: 14px !important;
  padding: 0 !important;
  border: 1px solid #d6e2ea !important;
  border-radius: 12px !important;
  background: #fff;
}
details.fs-form-fold > summary {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 12px;
  padding: 11px 14px;
  list-style: none;
  cursor: pointer;
}
details.fs-form-fold > summary::-webkit-details-marker { display: none; }
details.fs-form-fold > summary h4 {
  margin: 0 !important;
  font-size: 14.5px !important;
  line-height: 1.35;
}
details.fs-form-fold > summary small {
  font-size: 12px;
  color: #5d7486;
}
details.fs-form-fold > summary i {
  margin-left: auto;
  font-style: normal;
  color: #5d7486;
  transition: transform 0.2s ease;
}
details.fs-form-fold[open] > summary {
  border-bottom: 1px solid #e3eaf0;
}
details.fs-form-fold[open] > summary i { transform: rotate(180deg); }
details.fs-form-fold > :not(summary) {
  margin-left: 14px !important;
  margin-right: 14px !important;
}
details.fs-form-fold > :last-child { margin-bottom: 14px !important; }
details.fs-form-fold > p {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
}
details.fs-form-fold .fs-model-choice {
  gap: 8px !important;
  margin: 10px 14px !important;
}
details.fs-form-fold .fs-model-choice > label {
  font-size: 12.5px !important;
  gap: 4px !important;
}
details.fs-form-fold .fs-model-choice select,
details.fs-form-fold .fs-model-choice button {
  min-height: 38px !important;
  padding: 7px 10px !important;
  font-size: 13px !important;
}
details.fs-form-fold > button[data-fs-add] {
  min-height: 38px !important;
  padding: 7px 14px !important;
  font-size: 13px !important;
  width: auto !important;
}

/* ---------- 9. Éditeur de fiche : rubriques homogènes ---------- */
.content-editor .action-mode-editor::before,
.content-editor .eligibility-editor::before,
.content-editor .event-slots-editor > header::after {
  content: none !important;
  display: none !important;
}
.content-editor .fs-editor-section-body > :is(.action-mode-editor, .fs-gift-settings, .fs-sheet-models) {
  padding: 16px !important;
  border: 1px solid #d6e2ea !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}
.content-editor .fs-editor-section-body > :is(.action-mode-editor, .fs-gift-settings, .fs-sheet-models) > h3,
.content-editor .fs-editor-section-body > .action-mode-editor > header strong {
  margin: 0 0 10px !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
}
.content-editor .fs-edit-policy { margin-top: 10px; }
.content-editor .fs-after-request-field { display: grid; gap: 6px; margin-top: 12px; }
.content-editor .fs-after-request-preview strong { color: #2e7a4b; }
details.fs-form-builder.fs-form-fold { grid-column: 1 / -1; }

/* Bloc formulaire de la fiche */
.fs-form-active {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin: 12px 14px !important;
  padding: 12px 14px;
  border: 1px solid #cfe0ea;
  border-radius: 10px;
  background: #f4f9fc;
}
.fs-form-active.is-empty { background: #f8fafb; border-style: dashed; }
.fs-form-active > div:first-child { flex: 1 1 220px; min-width: 0; }
.fs-form-active strong { display: block; font-size: 14px; color: #13324e; }
.fs-form-active small { display: block; font-size: 12px; color: #5d7486; margin-top: 2px; }
.fs-form-active-actions { display: flex; flex-wrap: wrap; gap: 8px; }
:is(.fs-form-active-actions, .fs-template-row) button {
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid #baceda;
  border-radius: 8px;
  background: #fff;
  color: #13324e;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}
:is(.fs-form-active-actions, .fs-template-row) button.primary { background: #0b2742; border-color: #0b2742; color: #fff; }
:is(.fs-form-active-actions, .fs-template-row) button.danger { color: #a33a32; border-color: #ecd0cc; }
:is(.fs-form-active-actions, .fs-template-row) button.danger.is-confirm { background: #b42318; border-color: #b42318; color: #fff; }
:is(.fs-form-active-actions, .fs-template-row) button:disabled { opacity: 0.45; cursor: default; }
.fs-form-message { margin: 0 14px 12px !important; font-size: 12.5px; color: #2e7a4b; }

/* ---------- 10. Formulaire côté collaborateur : sections et colonnes ---------- */
.fs-configured-form .fs-form-section { display: grid; gap: 8px; margin-top: 10px; }
.fs-configured-form .fs-form-section > h4 {
  margin: 4px 0 0;
  padding-bottom: 6px;
  border-bottom: 1px solid #e2e9ef;
  font-size: 14px;
  color: #13324e;
}
.fs-configured-form .fs-form-section-grid {
  display: grid;
  grid-template-columns: repeat(var(--fs-cols, 1), minmax(0, 1fr));
  gap: 12px 14px;
}
.fs-configured-form .fs-configured-question { min-width: 0; }
.fs-configured-form .fs-configured-question.is-full { grid-column: 1 / -1; }
.fs-configured-form .fs-choice-group { margin: 0; padding: 0; border: 0; min-width: 0; }
.fs-configured-form .fs-choice-group > legend { padding: 0; margin-bottom: 6px; font-weight: 600; font-size: 13.5px; }
.fs-configured-form .fs-choice-list { display: flex; flex-wrap: wrap; gap: 6px; }
.fs-configured-form .fs-choice {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 7px !important;
  padding: 7px 11px;
  border: 1px solid #cddbe5;
  border-radius: 8px;
  background: #fff;
  font-size: 13px;
  cursor: pointer;
}
.fs-configured-form .fs-choice input { width: auto !important; margin: 0; }
.fs-configured-form .fs-choice:has(input:checked) { border-color: #2a7aa8; background: #eaf3f9; color: #13324e; }
@media (max-width: 640px) {
  .fs-configured-form .fs-form-section-grid { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- 11. Cartes : demande déjà envoyée / inscription auprès du Fonds Social ---------- */
#root .event-card-main .fs-requested-action .fs-requested-button,
#root .fs-requested-button {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: #e8f5ec !important;
  border: 1px solid #9fd0ae !important;
  color: #1f6b3a !important;
  text-decoration: none;
}
#root .fs-requested-button i { font-style: normal; }
.fs-pending-note {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin-top: 7px;
  font-size: 11.5px;
  line-height: 1.4;
  color: #5d6f7c;
  text-decoration: none;
}
.fs-pending-note > i {
  flex: none;
  width: 8px;
  height: 8px;
  margin-top: 4px;
  border-radius: 50%;
  background: #d1861b;
  box-shadow: 0 0 0 3px #d1861b26;
}
.fs-pending-note strong { color: #8a5a12; }
.fs-pending-note:hover span { text-decoration: underline; }
#root .event-card-main .fs-contact-action .event-register {
  background: #fff !important;
  border: 1px solid #0b2742 !important;
  color: #0b2742 !important;
}
.fs-contact-card {
  display: grid;
  gap: 8px;
  margin-top: 8px;
  padding: 12px;
  border: 1px solid #d6e2ea;
  border-radius: 10px;
  background: #f6f9fb;
}
.fs-contact-card > small { font-size: 10.5px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #5d7486; }
.fs-contact-person { display: flex; align-items: center; gap: 10px; }
.fs-contact-person > span {
  display: grid;
  place-items: center;
  flex: none;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #0b2742;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
}
.fs-contact-person strong { display: block; font-size: 14px; color: #13324e; }
.fs-contact-person em { display: block; font-size: 12px; font-style: normal; color: #5d7486; }
.fs-contact-card > p { margin: 0; font-size: 12.5px; line-height: 1.5; color: #3e5a6e; }
.fs-contact-links { display: flex; flex-wrap: wrap; gap: 6px; }
.fs-contact-links a {
  padding: 6px 10px;
  border-radius: 7px;
  background: #fff;
  border: 1px solid #cddbe5;
  color: #13324e;
  font-size: 12.5px;
  font-weight: 600;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.fs-contact-editor {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  margin-top: 12px;
  padding: 12px;
  border: 1px dashed #b9cfdd;
  border-radius: 10px;
  background: #f6f9fb;
}
.fs-contact-editor label { display: grid; gap: 5px; font-size: 12.5px; font-weight: 600; }
.fs-contact-editor label.full { grid-column: 1 / -1; }
@media (max-width: 640px) { .fs-contact-editor { grid-template-columns: minmax(0, 1fr); } }

/* ---------- 12. Créateur de formulaire (popup) ---------- */
.fs-studio-backdrop {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  padding: 16px;
  background: #06142699;
  backdrop-filter: blur(3px);
  font-family: Outfit, Arial, sans-serif;
}
.fs-studio {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(1320px, 100%);
  height: min(900px, calc(100dvh - 32px));
  border-radius: 16px;
  background: #f3f6f9;
  box-shadow: 0 24px 60px #0618304d;
  overflow: hidden;
  color: #13324e;
  outline: none;
}
.fs-studio button { font: inherit; cursor: pointer; }
.fs-studio input, .fs-studio select {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid #c9d8e3;
  border-radius: 8px;
  background: #fff;
  color: #13324e;
  font: inherit;
  font-size: 13.5px;
}
.fs-studio-head {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 10px 14px;
  padding: 12px 16px;
  background: #0b2742;
  color: #fff;
}
.fs-studio-title { flex: 1 1 280px; display: grid; gap: 4px; min-width: 0; }
.fs-studio-title small { font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #a9c6d8; }
.fs-studio-title input { font-size: 17px; font-weight: 650; background: #ffffff14; border-color: #ffffff33; color: #fff; }
.fs-studio-title input::placeholder { color: #ffffff80; }
.fs-studio-submit { flex: 0 1 230px; display: grid; gap: 4px; font-size: 11px; font-weight: 600; color: #a9c6d8; }
.fs-studio-submit input { background: #ffffff14; border-color: #ffffff33; color: #fff; }
.fs-studio-mode { display: flex; padding: 3px; border-radius: 9px; background: #ffffff1a; }
.fs-studio-mode button { min-height: 32px; padding: 5px 12px; border: 0; border-radius: 7px; background: transparent; color: #d4e4ee; font-size: 13px; font-weight: 600; }
.fs-studio-mode button.active { background: #fff; color: #0b2742; }
.fs-studio-close { width: 36px; height: 36px; border: 0; border-radius: 9px; background: #ffffff1a; color: #fff; font-size: 20px; line-height: 1; }
.fs-studio-body {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr) 280px;
  min-height: 0;
}
.fs-studio-body > * { min-height: 0; overflow-y: auto; }
.fs-studio-palette { padding: 14px; border-right: 1px solid #dbe5ec; background: #fff; }
.fs-studio-palette h4, .fs-studio-props h4 { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #5d7486; }
.fs-studio-palette > p { margin: 0 0 10px; font-size: 12px; line-height: 1.45; color: #6a7f8e; }
.fs-studio-types { display: grid; gap: 6px; margin-bottom: 16px; }
.fs-studio-types button, .fs-studio-section-add button {
  display: flex;
  align-items: center;
  gap: 9px;
  width: 100%;
  min-height: 36px;
  padding: 6px 9px;
  border: 1px solid #d6e2ea;
  border-radius: 8px;
  background: #f8fbfc;
  color: #13324e;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
}
.fs-studio-types button { cursor: grab; }
.fs-studio-types button:hover, .fs-studio-section-add button:hover { border-color: #2a7aa8; background: #eef6fb; }
.fs-studio-types button i {
  display: grid;
  place-items: center;
  flex: none;
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: #e3edf4;
  font-style: normal;
  font-size: 12px;
  font-weight: 700;
  color: #1d5f86;
}
.fs-studio-section-add { display: grid; gap: 6px; }
.fs-cols-icon { display: inline-grid; grid-auto-flow: column; gap: 2px; width: 24px; height: 16px; flex: none; }
.fs-cols-icon b { display: block; border-radius: 2px; background: currentColor; opacity: 0.55; }
.fs-studio-canvas { display: grid; align-content: start; gap: 14px; padding: 16px; }
.fs-studio-section {
  border: 1px solid #d3dfe8;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 1px 4px #0b27420a;
}
.fs-studio-section > header {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 12px;
  border-bottom: 1px solid #e3eaf0;
  background: #f7fafc;
  border-radius: 12px 12px 0 0;
}
.fs-studio-section > header > input { flex: 1 1 200px; font-weight: 650; }
.fs-studio-cols, .fs-studio-section-tools, .fs-studio-field-tools { display: flex; gap: 4px; }
.fs-studio-cols button, .fs-studio-section-tools button, .fs-studio-field-tools button {
  display: grid;
  place-items: center;
  min-width: 30px;
  height: 30px;
  padding: 0 6px;
  border: 1px solid #d3dfe8;
  border-radius: 7px;
  background: #fff;
  color: #3e5a6e;
  font-size: 13px;
}
.fs-studio-cols button.active { border-color: #2a7aa8; background: #2a7aa8; color: #fff; }
.fs-studio :is(button.danger) { color: #b42318; }
.fs-studio button:disabled { opacity: 0.4; cursor: default; }
.fs-studio-grid {
  display: grid;
  grid-template-columns: repeat(var(--fs-cols, 1), minmax(0, 1fr));
  gap: 0 10px;
  padding: 8px 12px 12px;
}
.fs-studio-drop { grid-column: 1 / -1; height: 6px; border-radius: 4px; transition: background 0.15s ease, height 0.15s ease; }
.fs-studio-drop.is-over { height: 10px; background: #2a7aa8; }
.fs-studio-drop.is-end {
  display: grid;
  place-items: center;
  height: auto;
  min-height: 46px;
  margin-top: 4px;
  border: 1.5px dashed #c3d4df;
  color: #8197a6;
  font-size: 12.5px;
}
.fs-studio-drop.is-end.is-over { border-color: #2a7aa8; background: #eaf3f9; color: #1d5f86; }
.fs-studio-grid > .fs-studio-drop:not(.is-end) { height: 0; margin: 0; }
.fs-studio-grid > .fs-studio-drop.is-over:not(.is-end) { height: 6px; margin: 3px 0; }
.fs-studio-field {
  display: grid;
  gap: 5px;
  min-width: 0;
  margin: 5px 0;
  padding: 10px 11px;
  border: 1px solid #d6e2ea;
  border-radius: 10px;
  background: #fff;
  cursor: grab;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.fs-studio-field:hover { border-color: #9cbfd4; }
.fs-studio-field.is-selected { border-color: #2a7aa8; box-shadow: 0 0 0 3px #2a7aa826; }
.fs-studio-field.is-full { grid-column: 1 / -1; }
.fs-studio-field-head { display: flex; align-items: center; gap: 7px; min-width: 0; }
.fs-studio-grip { color: #a6b8c5; font-size: 12px; letter-spacing: -2px; }
.fs-studio-field-head > i {
  display: grid;
  place-items: center;
  flex: none;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: #e3edf4;
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
  color: #1d5f86;
}
.fs-studio-field-head > strong { flex: 1 1 auto; min-width: 0; font-size: 13.5px; line-height: 1.3; overflow-wrap: anywhere; }
.fs-studio-field-head > strong em { color: #b42318; font-style: normal; }
.fs-studio-field-tools { opacity: 0; transition: opacity 0.15s ease; }
.fs-studio-field:hover .fs-studio-field-tools, .fs-studio-field.is-selected .fs-studio-field-tools, .fs-studio-field:focus-within .fs-studio-field-tools { opacity: 1; }
.fs-studio-field-tools button { min-width: 26px; height: 26px; font-size: 12px; }
.fs-studio-field-type { font-size: 11px; color: #7a8e9c; }
.fs-studio-mini-input {
  padding: 6px 8px;
  border: 1px solid #e1e8ee;
  border-radius: 6px;
  background: #f9fbfc;
  font-size: 11.5px;
  color: #9aabb7;
}
.fs-studio-mini-input.is-long { min-height: 38px; }
.fs-studio-mini-options { display: flex; flex-wrap: wrap; gap: 4px; }
.fs-studio-mini-options span { padding: 3px 7px; border-radius: 6px; background: #f1f5f8; font-size: 11.5px; color: #4d6475; }
.fs-studio-props { display: grid; align-content: start; gap: 10px; padding: 14px; border-left: 1px solid #dbe5ec; background: #fff; }
.fs-studio-props.is-empty p { margin: 0; font-size: 12.5px; line-height: 1.5; color: #6a7f8e; }
.fs-studio-props > label { display: grid; gap: 5px; font-size: 12.5px; font-weight: 600; color: #3e5a6e; }
.fs-studio-props > label.fs-studio-check { display: flex; align-items: center; gap: 8px; font-weight: 500; }
.fs-studio-props > label.fs-studio-check input { width: auto; min-height: 0; }
.fs-studio-options { display: grid; gap: 6px; }
.fs-studio-options > span { font-size: 12.5px; font-weight: 600; color: #3e5a6e; }
.fs-studio-options > div { display: grid; grid-template-columns: minmax(0, 1fr) 30px 30px; gap: 4px; }
.fs-studio-options > div button { border: 1px solid #d3dfe8; border-radius: 7px; background: #fff; }
.fs-studio-add-option, .fs-studio-remove {
  min-height: 34px;
  border: 1px dashed #b9cfdd;
  border-radius: 8px;
  background: #f6f9fb;
  color: #1d5f86;
  font-size: 12.5px;
  font-weight: 600;
}
.fs-studio-remove { border-style: solid; border-color: #ecd0cc; background: #fff; color: #b42318; }
.fs-studio-body.is-preview { grid-template-columns: minmax(0, 1fr); }
.fs-studio-preview {
  width: min(760px, 100%);
  margin: 18px auto;
  padding: 20px;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 2px 10px #0b27420d;
}
.fs-studio-preview .fs-configured-form { margin: 0; }
.fs-studio-preview label { display: grid; gap: 5px; font-size: 13px; font-weight: 600; }
.fs-studio-preview-submit { margin-top: 14px; min-height: 40px; padding: 8px 16px; border: 0; border-radius: 9px; background: #0b2742; color: #fff; font-weight: 650; opacity: 0.85; }
.fs-studio-preview > small { display: block; margin-top: 8px; font-size: 11.5px; color: #7a8e9c; }
.fs-studio-foot {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 10px 16px;
  padding: 10px 16px;
  border-top: 1px solid #dbe5ec;
  background: #fff;
}
.fs-studio-template { display: flex; align-items: flex-end; flex-wrap: wrap; gap: 8px; flex: 1 1 420px; }
.fs-studio-template label { display: grid; gap: 4px; flex: 1 1 200px; font-size: 12px; font-weight: 600; color: #3e5a6e; }
.fs-studio-template button, .fs-studio-actions button {
  min-height: 38px;
  padding: 7px 14px;
  border: 1px solid #baceda;
  border-radius: 9px;
  background: #fff;
  color: #13324e;
  font-size: 13px;
  font-weight: 650;
}
.fs-studio-actions { display: flex; gap: 8px; margin-left: auto; }
.fs-studio-actions button.primary { background: #d42a3c; border-color: #d42a3c; color: #fff; }
.fs-studio-status { flex: 1 1 200px; font-size: 12.5px; color: #5d7486; }
.fs-studio-status p { margin: 0; }
.fs-studio-status .is-error { color: #b42318; font-weight: 600; }
.fs-studio-status .is-ok { color: #2e7a4b; font-weight: 600; }
@media (max-width: 1080px) {
  .fs-studio-body { grid-template-columns: 180px minmax(0, 1fr); }
  .fs-studio-props { grid-column: 1 / -1; border-left: 0; border-top: 1px solid #dbe5ec; max-height: 40vh; }
}
@media (max-width: 720px) {
  .fs-studio-backdrop { padding: 0; }
  .fs-studio { height: 100dvh; border-radius: 0; }
  .fs-studio-body { grid-template-columns: minmax(0, 1fr); overflow-y: auto; }
  .fs-studio-body > * { overflow: visible; }
  .fs-studio-palette { border-right: 0; border-bottom: 1px solid #dbe5ec; }
  .fs-studio-types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .fs-studio-section-add { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .fs-studio-grid { grid-template-columns: minmax(0, 1fr); }
  .fs-studio-field-tools { opacity: 1; }
  .fs-studio-props { max-height: none; }
}

/* ---------- 13. Bouton « Ajouter… » dans le bandeau, aligné sur le titre ---------- */
#root .fs-page-banner .fs-page-banner-action {
  flex: 0 0 auto;
  margin-left: auto;
  align-self: center;
  position: relative;
  z-index: 1;
}
#root .fs-page-banner .fs-page-banner-action .fs-admin-create-action {
  width: auto !important;
  margin: 0 !important;
}
#root .fs-page-banner .fs-page-banner-action .fs-admin-create-button {
  width: auto !important;
  min-height: 44px !important;
  padding: 10px 18px !important;
  border: 1px solid #ffffff40 !important;
  border-radius: 12px !important;
  background: #ffffff14 !important;
  color: #fff !important;
  font-size: 14px !important;
  white-space: nowrap;
}
#root .fs-page-banner .fs-page-banner-action .fs-admin-create-button:hover {
  background: #ffffff26 !important;
  border-color: #ffffff66 !important;
}
@media (max-width: 760px) {
  #root .fs-page-banner:has(.fs-page-banner-action) { flex-wrap: wrap !important; }
  #root .fs-page-banner .fs-page-banner-action { order: 3; flex: 1 1 100%; margin-left: 0; }
  #root .fs-page-banner:has(.fs-page-banner-action) > :is(.fs-page-banner-copy, .exclusive-copy) { flex: 1 1 0 !important; order: 1; }
  #root .fs-page-banner:has(.fs-page-banner-action) > :is(.fs-page-banner-logo, .exclusive-logo-card) { order: 2; }
  #root .fs-page-banner .fs-page-banner-action .fs-admin-create-button { width: 100% !important; }
}

/* ---------- 14. Menu latéral : moins d'espace sous le logo ---------- */
#root aside.sidebar .side-brand {
  margin-bottom: 4px !important;
  padding-bottom: 10px !important;
}
#root aside.sidebar > nav {
  margin-top: 0 !important;
}
#root aside.sidebar > nav > .nav-group:first-child {
  margin-bottom: 4px !important;
  padding-top: 0 !important;
}
#root aside.sidebar > nav > .nav-group:first-child > p:empty {
  display: none !important;
}

/* ---------- 15. Fiche détail d'une offre : compacte et lisible ---------- */
.modal-backdrop > .offer-modal.fs-offer-dialog {
  grid-template-columns: minmax(200px, 22%) minmax(0, 1fr) !important;
  width: min(1180px, 100%) !important;
  max-width: 1180px !important;
  height: auto !important;
  max-height: min(900px, calc(100dvh - 32px)) !important;
  border-radius: 18px !important;
}
.fs-offer-dialog .modal-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  padding: 26px 30px 0 !important;
  overflow-y: auto !important;
}
.fs-offer-dialog .modal-content > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.fs-offer-dialog .modal-content > .eyebrow { font-size: 11px !important; }
.fs-offer-dialog .modal-content > .fs-offer-heading { margin-top: -6px !important; padding-right: 44px; }
.fs-offer-dialog .modal-content > .fs-offer-heading h2 { font-size: 24px !important; line-height: 1.2 !important; }
/* Partenaire et site officiel sur une même ligne */
.fs-offer-dialog .modal-content > .offer-modal-partner {
  display: inline-flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  align-self: flex-start;
  width: auto !important;
  max-width: 100%;
  padding: 5px 10px !important;
  border-radius: 8px !important;
  font-size: 12px !important;
}
.fs-offer-dialog .modal-content > .offer-modal-partner + .offer-modal-partner { margin-top: -8px !important; }
.fs-offer-dialog .modal-content > .offer-modal-partner span { font-size: 10px !important; }
/* Tarif : une seule ligne */
.fs-offer-dialog .modal-content > .fs-offer-unit-price {
  display: flex !important;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 4px 12px;
  padding: 10px 14px !important;
  border-radius: 10px !important;
}
.fs-offer-dialog .fs-offer-unit-price .fs-price-label { font-size: 12px !important; margin: 0 !important; }
.fs-offer-dialog .fs-offer-unit-price .fs-card-price { display: inline-flex !important; align-items: baseline; gap: 6px; margin: 0 !important; }
.fs-offer-dialog .fs-offer-unit-price .fs-price-prefix { font-size: 12.5px !important; }
.fs-offer-dialog .fs-offer-unit-price .fs-price-amount { font-size: 22px !important; line-height: 1.1 !important; }
.fs-offer-dialog .modal-content > :is(.fs-offer-summary, .fs-offer-reserved) {
  font-size: 13.5px !important;
  line-height: 1.5 !important;
}
.fs-offer-dialog .modal-content > .fs-offer-reserved { margin-top: -6px !important; color: #6a7f8e !important; font-size: 12.5px !important; }
/* Formules */
.fs-offer-dialog .offer-options { gap: 8px !important; }
.fs-offer-dialog .offer-options > strong { font-size: 14px !important; }
.fs-offer-dialog .offer-options > button {
  min-height: 0 !important;
  padding: 10px 12px !important;
  border-radius: 10px !important;
}
.fs-offer-dialog .offer-options > button :is(strong, b) { font-size: 14px !important; }
.fs-offer-dialog .offer-options > button small { font-size: 11.5px !important; }
/* Quantité + total sur une ligne */
.fs-offer-dialog .offer-quantity-selector {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto minmax(180px, auto) !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 12px !important;
  border-radius: 12px !important;
}
.fs-offer-dialog .offer-quantity-selector > div:first-child { padding-left: 44px !important; min-height: 0 !important; }
.fs-offer-dialog .offer-quantity-selector > div:first-child::before { width: 34px !important; height: 34px !important; }
.fs-offer-dialog .offer-quantity-selector > div:first-child small { display: none !important; }
.fs-offer-dialog .offer-quantity-selector .quantity-stepper { height: 40px !important; margin: 0 !important; }
.fs-offer-dialog .offer-quantity-selector .quantity-stepper :is(button, input, output, span) { height: 40px !important; min-height: 0 !important; }
.fs-offer-dialog .offer-quantity-selector .total-to-pay {
  grid-column: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 9px 14px !important;
  border-radius: 10px !important;
}
.fs-offer-dialog .offer-quantity-selector .total-to-pay strong { font-size: 20px !important; }
/* Informations en grille compacte */
.fs-offer-dialog .modal-content > dl {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 8px !important;
}
.fs-offer-dialog .modal-content > dl > div {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 2px !important;
  padding: 8px 12px !important;
  border: 1px solid #e3eaf0 !important;
  border-radius: 9px !important;
  background: #f8fafc !important;
}
.fs-offer-dialog .modal-content > dl dt { font-size: 11px !important; text-transform: uppercase; letter-spacing: 0.04em; color: #6a7f8e !important; }
.fs-offer-dialog .modal-content > dl dd { margin: 0 !important; font-size: 13px !important; text-align: left !important; }
.fs-offer-dialog .fs-offer-conditions {
  padding: 10px 14px !important;
  border-radius: 10px !important;
}
.fs-offer-dialog .fs-offer-conditions strong { font-size: 13px !important; }
.fs-offer-dialog .fs-offer-conditions p { font-size: 12.5px !important; line-height: 1.5 !important; margin-top: 4px !important; }
/* Bouton d'action toujours visible en bas */
.fs-offer-dialog .modal-content > .primary-button {
  position: sticky !important;
  bottom: 0;
  z-index: 2;
  order: 99;
  margin: 4px -30px 0 !important;
  width: calc(100% + 60px) !important;
  min-height: 52px !important;
  border-radius: 0 !important;
  box-shadow: 0 -6px 16px #0b27421a;
}
@media (max-width: 760px) {
  .modal-backdrop > .offer-modal.fs-offer-dialog { grid-template-rows: 110px minmax(0, 1fr) !important; height: calc(100dvh - 16px) !important; }
  .fs-offer-dialog .modal-content { padding: 18px 16px 0 !important; }
  .fs-offer-dialog .modal-content > .fs-offer-heading h2 { font-size: 20px !important; }
  .fs-offer-dialog .offer-quantity-selector { grid-template-columns: minmax(0, 1fr) auto !important; }
  .fs-offer-dialog .offer-quantity-selector .total-to-pay { grid-column: 1 / -1 !important; }
  .fs-offer-dialog .modal-content > .primary-button { margin: 4px -16px 0 !important; width: calc(100% + 32px) !important; }
}

/* ---------- 16. Administration : bandeaux imbriqués et pages internes ---------- */
/* Un seul bandeau marine par page : les en-têtes internes deviennent des titres de section */
#root .fs-admin-content .fs-page-banner:is(.page-title, .welcome-row, .fs-page-banner--admin) {
  margin: 0 0 14px !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  clip-path: none !important;
  color: #13324e !important;
}
#root .fs-admin-content .fs-page-banner .eyebrow { display: none !important; }
#root .fs-admin-content .fs-page-banner h1 {
  margin: 0 0 4px !important;
  padding: 0 !important;
  font-size: 20px !important;
  color: #13324e !important;
}
#root .fs-admin-content .fs-page-banner h1::after { display: none !important; }
#root .fs-admin-content .fs-page-banner p:not(.eyebrow) { color: #5d7486 !important; font-size: 13px !important; }
#root .fs-admin-content .fs-page-banner :is(.fs-page-banner-logo, .exclusive-logo-card) { display: none !important; }

/* Messagerie : deux panneaux de même hauteur, état vide soigné */
#root .fs-messaging.with-inbox {
  align-items: stretch !important;
  gap: 16px !important;
}
#root .fs-messaging > .fs-message-empty {
  display: grid !important;
  place-items: center;
  align-content: center;
  gap: 10px;
  min-height: 320px;
  padding: 32px 24px !important;
  border: 1px solid #dce6ed !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 2px 10px #0b27420a;
  color: #5d7486 !important;
  font-size: 14px !important;
  text-align: center;
}
#root .fs-messaging > .fs-message-empty::before {
  content: "✉";
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: #eaf3f9;
  color: #2a7aa8;
  font-size: 24px;
}

/* Export Cadeaux de Noël : marges intérieures */
#root .fs-christmas-exports {
  margin: 14px 18px !important;
  padding: 14px 18px !important;
  gap: 10px 16px !important;
  border-radius: 12px !important;
}
#root .fs-christmas-exports p { font-size: 13px !important; }
#root .fs-christmas-export-buttons button { padding: 9px 14px !important; font-size: 13px !important; border-radius: 9px !important; }
@media (max-width: 700px) {
  #root .fs-christmas-exports { margin: 12px !important; }
}

/* ---------- 17. Administration plus compacte ---------- */
#root .fs-admin-v15 .fs-admin-page-heading { margin-bottom: 16px !important; }
#root .fs-admin-v15 :is(.fs-accounts, .enrollment-manager, .annual-archives, .server-backups, .fs-category-admin, .notification-email-settings) {
  border-radius: 14px !important;
}
#root .fs-admin-v15 :is(.panel-title, .admin-section-heading, .fs-admin-section-header, .fs-section-heading-v25) h2 {
  font-size: 18px !important;
}
#root .fs-admin-v15 .enrollment-manager > .panel-title {
  padding: 14px 18px !important;
}
#root .fs-admin-v15 .enrollment-manager > .panel-title p { font-size: 11px !important; }
#root .fs-admin-v15 .enrollment-manager > .panel-title h2 { margin-top: 2px !important; font-size: 19px !important; }
#root .fs-admin-v15 .enrollment-manager > .panel-title .security-badge { padding: 5px 10px !important; }
/* Indicateurs */
#root .fs-admin-v15 .enrollment-kpis {
  gap: 10px !important;
  padding: 12px 18px !important;
}
#root .fs-admin-v15 .enrollment-kpis > div {
  padding: 10px 14px !important;
  border-radius: 10px !important;
}
#root .fs-admin-v15 .enrollment-kpis > div > strong { margin-top: 2px !important; font-size: 22px !important; line-height: 1.15 !important; }
/* Filtres */
#root .fs-admin-v15 .enrollment-toolbar {
  margin: 0 18px 12px !important;
  padding: 10px 12px !important;
  gap: 8px !important;
}
#root .fs-admin-v15 .enrollment-toolbar :is(input, select, .fs-archive-toggle, summary) {
  min-height: 38px !important;
  height: auto !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
#root .fs-admin-v15 .enrollment-toolbar .enrollment-search { min-height: 38px !important; }
#root .fs-admin-v15 .enrollment-status-tabs {
  gap: 6px !important;
  padding: 0 18px 12px !important;
}
#root .fs-admin-v15 .enrollment-status-tabs > button {
  min-height: 32px !important;
  padding: 5px 10px !important;
  font-size: 13px !important;
  border-radius: 8px !important;
}
/* Tableau des demandes */
#root .fs-admin-v15 .participants-table .participant-head { padding: 9px 18px !important; font-size: 11.5px !important; }
#root .fs-admin-v15 .participants-table > article {
  padding: 10px 18px !important;
  min-height: 0 !important;
  align-items: center !important;
}
#root .fs-admin-v15 .participants-table > article .participant-identity > span { width: 32px !important; height: 32px !important; font-size: 11px !important; }
#root .fs-admin-v15 .participants-table > article :is(.participant-identity, .participant-event) small { font-size: 11.5px !important; }
#root .fs-admin-v15 .participants-table > article .participant-status { display: grid !important; gap: 4px !important; justify-items: start; }
#root .fs-admin-v15 .participants-table > article .status-chip { padding: 3px 8px !important; font-size: 11px !important; }
#root .fs-admin-v15 .participants-table > article .participant-status > small { font-size: 10.5px !important; }
#root .fs-admin-v15 .participants-table > article .fs-stage-mini { margin-top: 0; gap: 2px; }
#root .fs-admin-v15 .participants-table > article .fs-stage-mini small { font-size: 10.5px; }
#root .fs-admin-v15 .participants-table > article .participant-actions button {
  min-height: 34px !important;
  padding: 6px 12px !important;
  font-size: 13px !important;
  border-radius: 8px !important;
}
/* Comptes, archives, catégories : panneaux plus serrés */
#root .fs-admin-v15 .fs-accounts { padding: 16px 18px !important; }
#root .fs-admin-v15 .fs-account-list > article { padding-top: 10px !important; padding-bottom: 10px !important; }
#root .fs-admin-v15 :is(.fs-accounts, .fs-category-admin, .notification-email-settings) :is(input, select) { min-height: 38px !important; }
#root .fs-admin-v15 .fs-category-admin { padding: 18px !important; }
#root .fs-admin-v15 .fs-category-card { padding: 14px !important; gap: 12px !important; }
#root .fs-admin-v15 .fs-admin-task-grid { gap: 10px !important; }
#root .fs-admin-v15 .fs-admin-task { padding: 14px 16px !important; min-height: 0 !important; }
#root .fs-admin-v15 :is(.fs-admin-metrics, .fs-admin-metrics-v61) { gap: 10px !important; }
#root .fs-admin-v15 :is(.fs-admin-metrics, .fs-admin-metrics-v61) > * { padding: 12px 14px !important; min-height: 0 !important; }
#root .participants-table .fs-stage-mini small { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 170px; }

/* ---------- 18. Liste des demandes : colonnes équilibrées, étapes cliquables ---------- */
@media (min-width: 1101px) {
  #root .fs-admin-v15 :is(.participant-head, .participants-table > article) {
    grid-template-columns: 30px minmax(170px, 1.15fr) minmax(170px, 1.3fr) 92px 96px 196px 116px !important;
    column-gap: 12px !important;
  }
}
#root .participants-table .participant-count small,
#root .participants-table .participant-payment small { white-space: nowrap; }
.fs-stage-quick { display: grid; gap: 4px; min-width: 0; }
.fs-stage-icons { display: flex; gap: 3px; }
.fs-stage-icons button {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  padding: 0;
  border: 1px solid #d8e2ea;
  border-radius: 7px;
  background: #fff;
  color: #9aabb7;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  transition: transform 0.12s ease, background 0.15s ease;
}
.fs-stage-icons button:hover:not(:disabled) { transform: translateY(-1px); border-color: var(--step); color: var(--step); }
.fs-stage-icons button.on { background: var(--step); border-color: var(--step); color: #fff; }
.fs-stage-icons button.current { box-shadow: 0 0 0 2px #fff, 0 0 0 4px color-mix(in srgb, var(--step) 40%, transparent); }
.fs-stage-icons button:disabled { cursor: wait; }
.fs-stage-quick.is-closed .fs-stage-icons button.on { background: #b7c2cb; border-color: #b7c2cb; }
.fs-stage-quick small {
  font-size: 10.5px;
  font-weight: 650;
  line-height: 1.3;
  color: var(--stage);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 190px;
}

/* ---------- 19. Barre du haut façon Graphisme : marine, fusionnée avec le bandeau ---------- */
#root header.topbar {
  background: var(--fs-band) !important;
  border-bottom: 1px solid #ffffff14 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  color: #fff;
}
#root header.topbar .search {
  background: #ffffff10 !important;
  border: 1px solid #ffffff26 !important;
  box-shadow: none !important;
}
#root header.topbar .search :is(span, input) { color: #e6eff5 !important; background: transparent !important; }
#root header.topbar .search input::placeholder { color: #ffffff8c !important; }
#root header.topbar .search button {
  background: #ffffff1a !important;
  border: 0 !important;
  color: #fff !important;
  box-shadow: none !important;
}
#root header.topbar .topbar-shortcuts .top-action {
  background: transparent !important;
  border-color: transparent !important;
  color: #e3edf4 !important;
  box-shadow: none !important;
}
#root header.topbar .topbar-shortcuts .top-action:hover,
#root header.topbar .topbar-shortcuts .top-action.active {
  background: #ffffff14 !important;
  border-color: #ffffff26 !important;
  color: #fff !important;
}
#root header.topbar .topbar-shortcuts .top-action :is(i, svg) { color: currentColor !important; }
#root header.topbar .topbar-shortcuts .top-action b { background: #ffffff26 !important; color: #fff !important; }
#root header.topbar .topbar-shortcuts .top-action.bell b { background: #d42a3c !important; }
#root header.topbar .fs-admin-edit-toggle button {
  background: #ffffff10 !important;
  border: 1px solid #ffffff26 !important;
  color: #fff !important;
  box-shadow: none !important;
}
#root header.topbar .fs-admin-edit-toggle :is(.fs-admin-edit-label, .fs-admin-edit-state) { color: #fff !important; }
#root header.topbar .profile {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
#root header.topbar .profile strong { color: #fff !important; }
#root header.topbar .profile small { color: #a9c6d8 !important; }
#root header.topbar .profile i { color: #a9c6d8 !important; }
#root header.topbar .profile > span {
  background: #d42a3c !important;
  color: #fff !important;
  border: 0 !important;
}
#root header.topbar :is(.mobile-menu, .fs-mobile-search-toggle) {
  background: #ffffff12 !important;
  border: 1px solid #ffffff26 !important;
  color: #fff !important;
  box-shadow: none !important;
}
#root header.topbar .fs-mobile-search-toggle::before,
#root header.topbar .fs-mobile-search-toggle::after { border-color: #fff !important; background-color: transparent; }

/* ---------- 20. Accueil : « À la une » avant les raccourcis ---------- */
#root .fs-home-page { display: flex !important; flex-direction: column !important; }
#root .fs-home-page > * { order: 5; }
#root .fs-home-page > .welcome-row { order: 1; }
#root .fs-home-page > .fs-home-featured { order: 2; margin-top: 0 !important; margin-bottom: 18px !important; }
#root .fs-home-page > .fs-home-links { order: 3; }
#root .fs-home-page > .fs-home-requests-link { order: 4; }

/* ---------- 21. Offres partenaires : logo et nom centrés verticalement ---------- */
#root .fs-offer-heading:has(.fs-offer-logo) {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
#root .fs-offer-heading .fs-offer-logo { flex: none !important; align-self: center !important; margin: 0 !important; }
#root .fs-offer-heading:has(.fs-offer-logo) > :is(h2, h3) { margin: 0 !important; align-self: center !important; }
#root header.topbar { box-shadow: -120px 0 0 0 var(--fs-band) !important; }
#root .fs-admin-v15 .enrollment-toolbar { width: auto !important; max-width: none !important; box-sizing: border-box !important; }
#root .fs-admin-v15 .enrollment-toolbar > * { min-width: 0 !important; max-width: 100% !important; box-sizing: border-box !important; }

/* ---------- 22. Boutons d'action dans le bandeau (annonces, documents, notifications) ---------- */
#root .fs-page-banner .fs-page-banner-action .fs-banner-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; }
#root .fs-page-banner .fs-page-banner-action .fs-banner-button {
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  width: auto !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 10px 18px !important;
  border: 1px solid #ffffff40 !important;
  border-radius: 12px !important;
  background: #ffffff14 !important;
  color: #fff !important;
  box-shadow: none !important;
  font: inherit;
  font-size: 14px !important;
  font-weight: 650 !important;
  white-space: nowrap;
  cursor: pointer;
}
#root .fs-page-banner .fs-page-banner-action .fs-banner-button:hover { background: #ffffff26 !important; border-color: #ffffff66 !important; }
#root .fs-page-banner .fs-page-banner-action .fs-banner-button.danger { border-color: #f3b3ba66 !important; color: #ffd9dd !important; }
#root :is(.fs-community-heading, .resources-heading, .notifications-heading) { display: block !important; }
@media (max-width: 760px) {
  #root .fs-page-banner .fs-page-banner-action .fs-banner-button { width: 100% !important; justify-content: center; }
}

/* ---------- 23. Onglets « Entre collaborateurs » intégrés au bandeau ---------- */
#root .fs-collaborators > .fs-collaborators-tabs {
  position: relative;
  margin: 0 0 4px !important;
  padding: 4px !important;
  border: 1px solid #ffffff26 !important;
  background: #ffffff10 !important;
  box-shadow: 0 0 0 100vmax var(--fs-band) !important;
  clip-path: inset(-22px -100vmax -6px -100vmax) !important;
}
#root .fs-collaborators > .fs-collaborators-tabs button {
  background: transparent !important;
  color: #d4e4ee !important;
  box-shadow: none !important;
  border-color: transparent !important;
}
#root .fs-collaborators > .fs-collaborators-tabs button:hover { color: #fff !important; background: #ffffff14 !important; }
#root .fs-collaborators > .fs-collaborators-tabs :is(button.active, button[aria-selected="true"], button[aria-pressed="true"]) {
  background: #fff !important;
  color: #0b2742 !important;
}
#root .fs-collaborators > .fs-collaborators-tabs {
  margin: 0 !important;
  background: #1c3a56 !important;
  clip-path: inset(-22px -100vmax 0 -100vmax) !important;
}
#root .fs-collaborators .fs-page-banner:is(.page-title, .welcome-row, .fs-page-banner--admin) {
  padding-top: 18px !important;
  clip-path: inset(0 -100vmax 0 -100vmax) !important;
}

/* ---------- 24. Fiche offre : défilement rétabli + finitions ---------- */
.modal-backdrop > .offer-modal.fs-offer-dialog {
  grid-template-rows: minmax(0, 1fr) !important;
  overflow: hidden !important;
}
.fs-offer-dialog .modal-content {
  min-height: 0 !important;
  max-height: min(900px, calc(100dvh - 32px)) !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-content: flex-start !important;
  column-gap: 8px !important;
}
.fs-offer-dialog .modal-content > * { flex: 1 1 100% !important; min-width: 0; }
.fs-offer-dialog .modal-content > .offer-modal-partner { flex: 0 0 auto !important; margin-top: 0 !important; }
.fs-offer-dialog .modal-content > .offer-modal-partner + .offer-modal-partner { margin-top: 0 !important; }
.fs-offer-dialog .modal-content > .fs-offer-heading .fs-offer-logo { width: 52px !important; height: 52px !important; border-radius: 12px !important; }
/* Tarif : bandeau clair avec liseré */
.fs-offer-dialog .modal-content > .fs-offer-unit-price {
  border: 0 !important;
  border-left: 4px solid var(--fs-accent, #d42a3c) !important;
  border-radius: 0 10px 10px 0 !important;
  background: #f4f8fb !important;
}
.fs-offer-dialog .fs-offer-unit-price .fs-price-amount { color: #0b2742 !important; }
/* Quantité : sans pastille, plus légère */
.fs-offer-dialog .offer-quantity-selector { background: #fff !important; border: 1px solid #dce6ed !important; box-shadow: none !important; }
.fs-offer-dialog .offer-quantity-selector > div:first-child { padding-left: 0 !important; }
.fs-offer-dialog .offer-quantity-selector > div:first-child::before { display: none !important; }
.fs-offer-dialog .offer-quantity-selector > div:first-child > :not(strong):not(small) { display: none !important; }
.fs-offer-dialog .offer-quantity-selector .total-to-pay { background: #0b2742 !important; box-shadow: none !important; }
.fs-offer-dialog .offer-quantity-selector .total-to-pay::before,
.fs-offer-dialog .offer-quantity-selector .total-to-pay::after { display: none !important; }
/* Infos en cases plus fines */
.fs-offer-dialog .modal-content > dl dd { font-size: 12.5px !important; line-height: 1.4 !important; }
/* Informations pratiques : liste à puces sur deux colonnes */
.fs-offer-dialog .fs-offer-conditions { background: #fff !important; border: 1px solid #dce6ed !important; }
.fs-offer-dialog .fs-offer-conditions > strong { display: block; margin-bottom: 6px; font-size: 11px !important; letter-spacing: 0.06em; text-transform: uppercase; color: #5d7486 !important; }
.fs-offer-dialog .fs-offer-conditions ul {
  columns: 2 260px;
  column-gap: 24px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
.fs-offer-dialog .fs-offer-conditions li {
  position: relative;
  break-inside: avoid;
  margin: 0 0 5px !important;
  padding: 0 0 0 14px !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  color: #3e5a6e;
}
.fs-offer-dialog .fs-offer-conditions li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #2a7aa8;
}
/* Bouton d'action : arrondi, collé en bas sur fond blanc */
.fs-offer-dialog .modal-content > .primary-button {
  margin: 6px 0 16px !important;
  width: 100% !important;
  border-radius: 12px !important;
  box-shadow: 0 -12px 18px 6px #fff !important;
}
@media (max-width: 760px) {
  .modal-backdrop > .offer-modal.fs-offer-dialog { grid-template-rows: 110px minmax(0, 1fr) !important; }
  .fs-offer-dialog .modal-content { max-height: none !important; }
  .fs-offer-dialog .modal-content > .primary-button { margin: 6px 0 12px !important; width: 100% !important; }
}
@media (max-width: 760px) {
  .modal-backdrop > .offer-modal.fs-offer-dialog {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 110px minmax(0, 1fr) !important;
    height: calc(100dvh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
  }
  .fs-offer-dialog .modal-visual { min-height: 0 !important; height: 110px !important; }
  .fs-offer-dialog .modal-visual > span { font-size: 54px !important; height: auto !important; }
}
/* Pas de liseré entre la barre du haut, les onglets et le bandeau */
#root header.topbar { border-bottom: 0 !important; }
#root :is(.fs-community-heading, .fs-collaborators, .events-header, .fs-admin-page-heading) { border: 0 !important; }
#root .fs-collaborators > .fs-collaborators-tabs { clip-path: inset(-22px -100vmax -3px -100vmax) !important; }
#root .fs-page-banner:is(.page-title, .welcome-row, .fs-page-banner--admin) { border: 0 !important; outline: 0 !important; }

/* ---------- 25. Étape « Distribué » + modification d'une demande par l'admin ---------- */
.fs-stage-6 { --stage: #0b2742; --stage-soft: #e3edf4; }
.fs-stage-c6 { --step: #0b2742; }
.fs-admin-request-edit {
  margin: 14px 0;
  padding: 14px 16px;
  border: 1px solid #dce6ed;
  border-radius: 12px;
  background: #fff;
}
.fs-admin-request-edit > header { display: flex; align-items: center; gap: 12px; }
.fs-admin-request-edit > header > span {
  display: grid; place-items: center; flex: none;
  width: 34px; height: 34px; border-radius: 10px; background: #e3edf4; color: #1d5f86; font-size: 14px;
}
.fs-admin-request-edit > header > div { flex: 1 1 auto; min-width: 0; }
.fs-admin-request-edit > header strong { display: block; font-size: 14px; color: #13324e; }
.fs-admin-request-edit > header small { display: block; font-size: 12px; color: #5d7486; }
.fs-admin-request-edit button {
  min-height: 36px; padding: 7px 14px; border: 1px solid #baceda; border-radius: 9px;
  background: #fff; color: #13324e; font: inherit; font-size: 13px; font-weight: 650; cursor: pointer;
}
.fs-admin-request-edit button.primary { background: #0b2742; border-color: #0b2742; color: #fff; }
.fs-admin-request-edit button.danger { color: #b42318; border-color: #ecd0cc; min-height: 36px; padding: 0 10px; }
.fs-admin-request-edit form { display: grid; gap: 12px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #e3eaf0; }
.fs-admin-request-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 12px; }
.fs-admin-request-edit label { display: grid; gap: 5px; font-size: 12.5px; font-weight: 600; color: #3e5a6e; }
.fs-admin-request-edit :is(input, textarea) {
  box-sizing: border-box; width: 100%; min-width: 0; min-height: 38px; padding: 8px 10px;
  border: 1px solid #c9d8e3; border-radius: 8px; background: #fff; color: #13324e; font: inherit; font-size: 13.5px;
}
.fs-admin-request-companions { display: grid; gap: 6px; }
.fs-admin-request-companions > span { font-size: 12.5px; font-weight: 600; color: #3e5a6e; }
.fs-admin-request-companions > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }
.fs-admin-request-companions > small { font-size: 11.5px; color: #7a8e9c; }
.fs-admin-request-add { justify-self: start; border-style: dashed !important; color: #1d5f86 !important; }
.fs-admin-request-edit footer { display: flex; justify-content: flex-end; gap: 8px; }
@media (max-width: 640px) { .fs-admin-request-grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- 26. Tableau des demandes : statut sur une ligne, colonnes rééquilibrées ---------- */
@media (min-width: 1101px) {
  #root .fs-admin-v15 :is(.participant-head, .participants-table > article) {
    grid-template-columns: 30px minmax(170px, 1.25fr) minmax(170px, 1.1fr) 96px 112px minmax(286px, 0.95fr) 118px !important;
  }
}
#root .participants-table > article .participant-status {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 4px 8px !important;
}
#root .participants-table > article .participant-status > .fs-stage-quick { display: contents; }
#root .participants-table > article .participant-status .fs-stage-icons { flex: none; }
#root .participants-table > article .participant-status > small,
#root .participants-table > article .participant-status .fs-stage-quick > small { flex: 1 1 100%; max-width: none; }
#root .participants-table > article .participant-status .status-chip { flex: none; white-space: nowrap; }
#root .participants-table > article :is(.participant-count, .participant-payment) > * { white-space: nowrap; }

/* ---------- 27. Tableau : statut compact sur une ligne ---------- */
@media (min-width: 1101px) {
  #root .fs-admin-v15 :is(.participant-head, .participants-table > article) {
    grid-template-columns: 30px minmax(160px, 1.2fr) minmax(160px, 1fr) 84px 96px minmax(278px, 0.9fr) 108px !important;
    column-gap: 10px !important;
  }
}
#root .participants-table > article .participant-identity small,
#root .participants-table > article .participant-identity button { overflow: hidden; text-overflow: ellipsis; }
#root .participants-table > article .participant-identity small { display: block; white-space: nowrap; max-width: 100%; }
#root .participants-table > article .participant-status .status-chip { padding: 3px 7px !important; font-size: 10.5px !important; }
#root .participants-table > article .fs-stage-icons { gap: 2px; }
#root .participants-table > article .fs-stage-icons button { width: 22px; height: 22px; border-radius: 6px; font-size: 10.5px; }
#root .participants-table > article .participant-actions button { padding: 6px 10px !important; font-size: 12.5px !important; white-space: nowrap; }

/* ---------- 28. Barre d'actions groupées compacte ---------- */
#root .bulk-action-bar {
  gap: 6px !important;
  padding: 8px 10px !important;
  border-radius: 12px !important;
}
#root .bulk-action-bar button {
  min-height: 32px !important;
  height: auto !important;
  padding: 5px 10px !important;
  border-radius: 8px !important;
  font-size: 12.5px !important;
}
#root .bulk-action-bar > :first-child { gap: 8px !important; }

/* ---------- 29. Administration › Menu et nouveautés : lignes compactes sur 2 colonnes ---------- */
#root .fs-menu-settings .fs-marker-rows {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 460px), 1fr));
  gap: 8px 12px;
}
#root .fs-menu-settings .fs-marker-row {
  grid-template-columns: minmax(0, 1fr) auto auto auto !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 8px 10px !important;
  border: 1px solid #dce6ed !important;
  border-radius: 10px !important;
  background: #fff !important;
}
#root .fs-menu-settings .fs-marker-row > label {
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 11px !important;
  color: #6a7f8e;
}
#root .fs-menu-settings .fs-marker-row > label:first-of-type { font-size: 0 !important; }
#root .fs-menu-settings .fs-marker-row > label input { font-size: 13px !important; }
#root .fs-menu-settings .fs-marker-row > label input[type="color"] { width: 38px !important; height: 30px !important; padding: 2px !important; }
#root .fs-menu-settings .fs-marker-row > label input:not([type="color"]) { width: 64px !important; min-height: 32px !important; height: 32px !important; padding: 4px 8px !important; }
#root .fs-menu-settings .fs-marker-row > button { min-height: 32px !important; padding: 5px 10px !important; font-size: 12px !important; }
#root .fs-menu-settings .fs-marker-preview { min-width: 0; padding: 6px 8px !important; font-size: 13px !important; }
#root .fs-menu-settings > h2 { font-size: 18px !important; }

/* ---------- 30. Notifications compactes ---------- */
#root .notification-summary { padding: 10px 14px !important; margin-bottom: 12px !important; gap: 10px !important; }
#root .notification-summary > span { width: 32px !important; height: 32px !important; }
#root .notification-summary strong { font-size: 20px !important; }
#root .notification-list.real-notifications { gap: 8px !important; }
#root .notification-list.real-notifications > article {
  padding: 10px 14px !important;
  gap: 12px !important;
  align-items: center !important;
  border-radius: 12px !important;
}
#root .notification-list .notification-icon { width: 34px !important; height: 34px !important; min-width: 34px !important; border-radius: 10px !important; }
#root .notification-list .notification-copy h3 { margin: 0 0 2px !important; font-size: 15px !important; }
#root .notification-list .notification-copy p { font-size: 12.5px !important; line-height: 1.45 !important; white-space: normal !important; }
#root .notification-list time { font-size: 11.5px !important; white-space: nowrap; }
#root .notification-list .notification-item-actions { gap: 6px !important; }
#root .notification-list .notification-item-actions button { width: 34px !important; height: 34px !important; min-height: 0 !important; }

/* ---------- 31. Bons Plans : 4 colonnes fixes sur ordinateur, même avec peu d'offres ---------- */
#root .offer-grid.fs-offer-grid:not(.fs-offer-list):not(.fs-home-offers) {
  grid-template-columns: repeat(auto-fill, minmax(min(100%, max(220px, calc((100% - 48px) / 4))), 1fr)) !important;
}

/* ---------- 32. Bandeau : ne déborde vers le haut que s'il ouvre la page ---------- */
#root .content .fs-page-banner:is(.page-title, .welcome-row, .fs-page-banner--admin) {
  clip-path: inset(0 -100vmax 0 -100vmax) !important;
}
#root .content > .fs-page-banner:first-child,
#root .content > :first-child > .fs-page-banner:first-child,
#root .content > :first-child > :first-child > .fs-page-banner:first-child,
#root .content > :first-child > :first-child > :first-child > .fs-page-banner:first-child {
  clip-path: inset(-22px -100vmax 0 -100vmax) !important;
}
#root .fs-admin-content .fs-page-banner:is(.page-title, .welcome-row, .fs-page-banner--admin) { clip-path: none !important; }
#root .fs-collaborators .fs-page-banner:is(.page-title, .welcome-row, .fs-page-banner--admin) { clip-path: inset(0 -100vmax 0 -100vmax) !important; }
@media (max-width: 760px) {
  #root .content > .fs-page-banner:first-child,
  #root .content > :first-child > .fs-page-banner:first-child,
  #root .content > :first-child > :first-child > .fs-page-banner:first-child,
  #root .content > :first-child > :first-child > :first-child > .fs-page-banner:first-child {
    clip-path: inset(-16px -100vmax 0 -100vmax) !important;
  }
}
#root .fs-official-heading { margin-top: 18px !important; }

/* ---------- 33. Équipe : membres masqués ---------- */
#root .representatives-grid > article.is-hidden { opacity: 0.6; border-style: dashed !important; }
#root .representatives-grid > article { position: relative; }
#root .team-hidden-flag {
  position: absolute; top: 10px; left: 10px; z-index: 2;
  padding: 3px 8px; border-radius: 20px; background: #0b2742; color: #fff; font-size: 10.5px; font-weight: 700;
}
#root .representatives-grid footer { display: flex; flex-wrap: wrap; gap: 6px; }
#root .team-visibility-button {
  min-height: 32px; padding: 5px 10px; border: 1px solid #d3dfe8; border-radius: 8px;
  background: #fff; color: #3e5a6e; font: inherit; font-size: 12px; font-weight: 650; cursor: pointer;
}
#root .representatives-grid > article.is-hidden .team-visibility-button { border-color: #0b2742; color: #0b2742; }

/* ---------- 34. Tailles de police harmonisées avec Offres / Événements / Bons Plans ---------- */
/* Titres de section : 20 px */
#root .content :is(.section-heading, .fs-library-heading, .fs-section-heading-v25, .fs-info-board > header, .resources-section > header) h2,
#root .content .fs-home-section .section-heading h2,
#root .content :is(.fs-profile-page, .fs-notification-preferences) h2,
#root .content .favorites-empty h2,
#root .content .fs-community-empty h2 {
  font-size: 20px !important;
  line-height: 1.25 !important;
}
#root .content :is(.section-heading, .fs-library-heading) p:not(.eyebrow),
#root .content :is(.section-heading, .fs-library-heading) small { font-size: 13px !important; }
/* Titres de carte : 16–17 px */
#root .content .fs-resource-copy h3,
#root .content :is(.document-grid, .fs-resource-list) article :is(h2, h3),
#root .content .fs-notice-copy strong,
#root .content .fs-news-card-body h2,
#root .content .fs-community-grid article :is(h2, h3) {
  font-size: 16.5px !important;
  line-height: 1.3 !important;
}
#root .content .fs-resource-copy :is(p, small),
#root .content .fs-news-card-body p { font-size: 13px !important; line-height: 1.5 !important; }
#root .content .fs-resource-copy .eyebrow,
#root .content .fs-resource-copy > span:first-child { font-size: 11px !important; letter-spacing: 0.06em !important; }
/* Équipe */
#root .content .representative-copy h2 { font-size: 18px !important; line-height: 1.25 !important; }
#root .content .representative-copy :is(p, small) { font-size: 12.5px !important; }
#root .content .representatives-overview span { font-size: 26px !important; }
/* Accueil : cartes d'événements alignées sur la page Événements */
#root .content .home-events .event-title-button { font-size: 16px !important; line-height: 1.3 !important; }
#root .content .home-events .event-date strong { font-size: 20px !important; }
#root .content .fs-home-featured h2 { font-size: 30px !important; }
#root .content .welcome-row h1 { font-size: 28px !important; }
/* Messagerie, profil */
#root .content .fs-messages-page h2 { font-size: 19px !important; }
#root .content .fs-profile-page header strong { font-size: 17px !important; }
#root .content :is(.fs-notice-board, .fs-info-docs) > header h2 { font-size: 20px !important; line-height: 1.25 !important; }
#root .content .fs-home-featured .hero-copy h2 { font-size: 30px !important; }
#root .content .home-events .fs-event-heading .event-date strong { font-size: 20px !important; }

/* ---------- 35. Plusieurs personnes responsables (Inscription auprès du Fonds Social) ---------- */
.fs-contact-editor-label { display: block; margin-bottom: 6px; font-size: 12.5px; font-weight: 600; color: #3e5a6e; }
.fs-contact-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.fs-contact-chips button {
  min-height: 30px; padding: 4px 10px; border: 1px solid #c9d8e3; border-radius: 20px;
  background: #fff; color: #3e5a6e; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer;
}
.fs-contact-chips button.active { background: #0b2742; border-color: #0b2742; color: #fff; }
.fs-contact-chips button:disabled { opacity: 0.4; cursor: default; }
.fs-contact-rows { display: grid; gap: 6px; }
.fs-contact-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 0.9fr) 34px; gap: 6px; }
.fs-contact-row input { min-width: 0; }
.fs-contact-row button.danger, .fs-contact-add {
  min-height: 34px; border: 1px solid #ecd0cc; border-radius: 8px; background: #fff; color: #b42318; font: inherit; cursor: pointer;
}
.fs-contact-add { justify-self: start; padding: 5px 12px; border-style: dashed; border-color: #b9cfdd; color: #1d5f86; font-size: 12.5px; font-weight: 600; }
.fs-contact-editor .full { grid-column: 1 / -1; }
.fs-contact-card .fs-contact-person { align-items: flex-start; }
.fs-contact-card .fs-contact-person + .fs-contact-person { padding-top: 8px; border-top: 1px solid #e3eaf0; }
.fs-contact-card .fs-contact-links { margin-top: 5px; }
@media (max-width: 640px) { .fs-contact-row { grid-template-columns: minmax(0, 1fr) 34px; } .fs-contact-row input:not(:first-child) { grid-column: 1; } }

/* ---------- 36. Pas de liseré bleu à gauche (notifications, informations) ---------- */
#root .notification-list.real-notifications > article,
#root .content :is(.fs-notice, .fs-notice-board article, .fs-info-board article) {
  border-left: 1px solid #dce6ed !important;
  box-shadow: none !important;
}
#root .notification-list.real-notifications > article::before,
#root .content :is(.fs-notice, .fs-notice-board article)::before { display: none !important; }
#root .notification-list.real-notifications > article.unread { background: #f4f9fc !important; border-color: #cfe0ea !important; }

/* Contacts regroupés par email : avatars superposés, une seule ligne de liens */
.fs-contact-card { gap: 6px !important; padding: 10px 12px !important; }
.fs-contact-card .fs-contact-person { align-items: center; gap: 10px; }
.fs-contact-avatars { display: flex; flex: none; }
.fs-contact-avatars > span {
  display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%;
  background: #0b2742; color: #fff; font-size: 11px; font-weight: 700; border: 2px solid #f6f9fb;
}
.fs-contact-avatars > span + span { margin-left: -10px; background: #2a7aa8; }
.fs-contact-card .fs-contact-person strong { font-size: 13.5px !important; line-height: 1.3; }
.fs-contact-card .fs-contact-person em { font-size: 11.5px !important; }
.fs-contact-card .fs-contact-links { margin-top: 4px !important; }
.fs-contact-card .fs-contact-links a { padding: 4px 9px !important; font-size: 12px !important; }
.fs-contact-card > p { font-size: 12px !important; }

/* ---------- 37. Messagerie : bulles compactes, mieux sur mobile ---------- */
#root .fs-message-history { gap: 8px !important; }
#root .fs-message-history .fs-message-bubble {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 2px 10px !important;
  max-width: min(82%, 560px) !important;
  min-width: 140px;
  padding: 8px 12px !important;
  border-radius: 14px !important;
}
#root .fs-message-history .fs-message-bubble > strong { grid-column: 1 / -1; font-size: 11px !important; opacity: 0.85; }
#root .fs-message-history .fs-message-bubble > p { grid-column: 1 / -1; margin: 0 !important; font-size: 14px !important; line-height: 1.45 !important; overflow-wrap: anywhere; }
#root .fs-message-history .fs-message-bubble > .fs-message-meta:empty { display: none !important; }
#root .fs-message-history .fs-message-bubble > time { grid-column: 1; justify-self: start; font-size: 10.5px !important; opacity: 0.8; }
#root .fs-message-history .fs-message-bubble > .fs-message-actions { grid-column: 2; grid-row: auto; display: flex !important; gap: 2px !important; margin: 0 !important; justify-self: end; }
#root .fs-message-history .fs-message-bubble .fs-message-icon-action {
  width: 26px !important; height: 26px !important; min-height: 0 !important; padding: 0 !important; border-radius: 7px !important;
}
#root .fs-message-history .fs-message-bubble .fs-message-icon-action svg { width: 14px !important; height: 14px !important; }
#root .fs-ticket-workspace-head { padding: 12px 14px !important; gap: 10px !important; }
#root .fs-ticket-workspace-head h2 { font-size: 17px !important; }
#root .fs-ticket-create { min-height: 38px !important; padding: 8px 12px !important; font-size: 13px !important; }
#root .fs-ticket-tabs { padding: 8px 12px !important; gap: 6px !important; }
#root .fs-ticket-tabs > button { min-height: 34px !important; padding: 5px 10px !important; font-size: 13px !important; }
#root .fs-ticket-conversation-head { padding: 10px 14px !important; }
#root .fs-ticket-conversation-head strong { font-size: 15.5px !important; }
#root .fs-message-history { padding: 12px !important; }
#root .fs-message-compose { padding: 12px 14px !important; gap: 8px !important; }
#root .fs-message-compose textarea { min-height: 72px !important; height: 72px; padding: 10px 12px !important; }
#root .fs-message-attachments { padding-top: 6px !important; display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px 10px !important; }
#root .fs-message-file-picker { min-height: 36px !important; padding: 6px 12px !important; }
#root .fs-message-attachments > small { flex: 1 1 180px; font-size: 11.5px !important; }
#root .fs-message-compose-footer { padding-top: 6px !important; gap: 8px !important; }
@media (max-width: 640px) {
  #root .fs-messages-page .fs-page-banner p:not(.eyebrow) { display: none !important; }
  #root .fs-ticket-workspace-head { flex-direction: row !important; flex-wrap: wrap; align-items: center !important; }
  #root .fs-ticket-workspace-head > div { flex: 1 1 160px; }
  #root .fs-ticket-workspace-head .eyebrow { display: none !important; }
  #root .fs-ticket-tabs { overflow-x: auto; flex-wrap: nowrap !important; }
  #root .fs-ticket-tabs > button { flex: 0 0 auto !important; white-space: nowrap; }
  #root .fs-message-history .fs-message-bubble { max-width: 88% !important; }
  #root .fs-message-compose-footer { flex-direction: row !important; align-items: center !important; }
  #root .fs-message-compose-footer .primary-button { width: auto !important; flex: 1 1 auto; min-height: 40px !important; }
}

/* ---------- 38. Mes demandes : filtres secondaires repliés dans « Voir les filtres » ---------- */
#root .fs-request-more-filters {
  flex: 1 1 100%;
  border: 1px solid #dce6ed;
  border-radius: 10px;
  background: #f8fafc;
}
#root .fs-request-more-filters > summary {
  display: flex; align-items: center; gap: 8px;
  padding: 9px 12px; list-style: none; cursor: pointer;
  font-size: 13.5px; font-weight: 650; color: #13324e;
}
#root .fs-request-more-filters > summary::-webkit-details-marker { display: none; }
#root .fs-request-more-filters > summary::after { content: "▾"; margin-left: auto; color: #5d7486; transition: transform 0.2s ease; }
#root .fs-request-more-filters[open] > summary::after { transform: rotate(180deg); }
#root .fs-request-more-filters > summary b {
  display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px;
  border-radius: 10px; background: #0b2742; color: #fff; font-size: 11px;
}
#root .fs-request-more-filters-body {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 8px;
  padding: 0 12px 12px;
}
#root .fs-request-more-filters-body select { min-height: 38px !important; height: 38px !important; padding: 6px 10px !important; font-size: 13.5px !important; width: 100% !important; }

/* ---------- 39. Statut unique : l'étape colorée remplace le statut en double ---------- */
#root .participants-table > article .participant-status { gap: 6px !important; }
#root .participants-table > article .participant-status .fs-stage-quick > small.fs-stage-pill,
.fs-stage-quick > small.fs-stage-pill {
  flex: 0 1 auto !important;
  display: inline-block;
  max-width: 100% !important;
  padding: 3px 9px;
  border-radius: 20px;
  background: var(--stage-soft);
  color: var(--stage);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.fs-stage-quick > small.fs-stage-pill.is-error { background: #fdecee; color: #b42318; }
#root .participants-table > article .participant-status > small { flex: 1 1 100%; font-size: 10.5px !important; color: #6a7f8e; }

/* ---------- 40. Actions de ligne : œil (voir) et crayon (modifier) ---------- */
#root .participants-table > article .participant-actions { display: flex !important; gap: 6px !important; align-items: center; justify-content: flex-end; }
#root .participants-table > article .participant-actions .fs-row-icon {
  display: grid !important;
  place-items: center;
  width: 36px !important;
  height: 36px !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 1px solid #d3dfe8 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #1d5f86 !important;
  box-shadow: 0 1px 2px #0b27420d;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease, transform 0.12s ease;
}
#root .participants-table > article .participant-actions .fs-row-icon:hover { background: #eaf3f9 !important; border-color: #9cbfd4 !important; transform: translateY(-1px); }
#root .participants-table > article .participant-actions .fs-row-icon.is-edit { color: #0b2742 !important; }
#root .participants-table > article .participant-actions .fs-row-icon.is-edit:hover { background: #0b2742 !important; border-color: #0b2742 !important; color: #fff !important; }
@media (min-width: 1101px) {
  #root .fs-admin-v15 :is(.participant-head, .participants-table > article) {
    grid-template-columns: 30px minmax(170px, 1.25fr) minmax(170px, 1.1fr) 84px 96px minmax(230px, 0.9fr) 126px !important;
  }
}
#root .content .fs-admin-v15 .participants-table > article .participant-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: auto !important;
}
#root .content .fs-admin-v15 .participants-table > article .participant-actions > button.fs-row-icon {
  flex: 0 0 36px !important;
  width: 36px !important;
  max-width: 36px !important;
  height: 36px !important;
  margin: 0 !important;
}
#root .content .fs-admin-v15 .participants-table > article .participant-actions > button.fs-row-icon { min-width: 0 !important; flex-basis: 36px !important; }
#root .content .fs-admin-v15 .participants-table > article .participant-actions { min-width: 0 !important; justify-self: end; }
/* Fiche offre : bloc quantité aligné verticalement */
.fs-offer-dialog .offer-quantity-selector > div:first-child { display: flex !important; align-items: center !important; gap: 10px !important; min-height: 40px; }
.fs-offer-dialog .offer-quantity-selector > div:first-child > strong { margin: 0 !important; line-height: 1.3; }

/* ---------- 41. Bons Plans : filtres de catégories et « Affiner » plus compacts ---------- */
#root .fs-offers-toolbar { gap: 8px !important; margin-bottom: 8px !important; }
#root .fs-category-filters { gap: 6px !important; }
#root .fs-category-filters > button {
  min-height: 36px !important;
  height: auto !important;
  padding: 6px 12px !important;
  gap: 6px !important;
  border-radius: 10px !important;
  font-size: 13.5px !important;
}
#root .fs-category-filters > button .fs-chip-icon { font-size: 15px !important; }
#root .fs-category-filters > button .fs-chip-count { min-width: 20px !important; height: 18px !important; padding: 0 5px !important; font-size: 10.5px !important; }
#root .fs-category-filters > button.is-off::after { font-size: 9px !important; }
#root .fs-subfilters {
  gap: 6px !important;
  padding: 6px 10px !important;
  margin-bottom: 12px !important;
  border-radius: 12px !important;
}
#root .fs-subfilters > span { font-size: 10.5px !important; margin-right: 2px !important; }
#root .fs-subfilters > button {
  min-height: 32px !important;
  height: auto !important;
  padding: 5px 11px !important;
  gap: 6px !important;
  border-radius: 9px !important;
  font-size: 13px !important;
}
#root .fs-subfilters > button b { min-width: 18px !important; height: 18px !important; padding: 0 5px !important; font-size: 10.5px !important; }

/* ---------- 42. Mes demandes : même code couleur que l'administration ---------- */
#root .my-enrollments > article.fs-stage-row,
#root .my-enrollments.redesigned.compact-requests > article.fs-stage-row {
  box-shadow: inset 4px 0 0 var(--stage), 0 3px 12px #183c5205 !important;
}
#root .my-enrollments > article.fs-stage-row.is-closed { box-shadow: inset 4px 0 0 #b7c2cb !important; }
#root .enrollment-progress.fs-progress > div i { transition: background 0.2s ease; }
#root .enrollment-progress.fs-progress > div.done i {
  background: var(--step) !important;
  border-color: var(--step) !important;
  color: #fff !important;
}
#root .enrollment-progress.fs-progress > div.current i {
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--step) 22%, transparent) !important;
}
#root .enrollment-progress.fs-progress > div.current span { color: var(--step) !important; font-weight: 700 !important; }
#root .enrollment-progress.fs-progress > div.done::before,
#root .enrollment-progress.fs-progress > div.done::after { background: var(--step) !important; border-color: var(--step) !important; }
#root .enrollment-progress.fs-progress.terminal > div.done i { background: #b7c2cb !important; border-color: #b7c2cb !important; }
#root .content .my-enrollments.redesigned.compact-requests > article.fs-stage-row.fs-stage-row {
  box-shadow: inset 4px 0 0 var(--stage), 0 2px 8px #12365304 !important;
}
#root .content .my-enrollments.redesigned.compact-requests > article.fs-stage-row.is-closed.is-closed { box-shadow: inset 4px 0 0 #b7c2cb !important; }
#root .status-chip.fs-stage-chip {
  background: var(--stage-soft) !important;
  border-color: color-mix(in srgb, var(--stage) 30%, transparent) !important;
  color: var(--stage) !important;
  font-weight: 700 !important;
  white-space: nowrap;
}
@media (min-width: 701px) {
  #root .my-enrollments .status-chip.fs-stage-chip:not(.is-closed) { display: none !important; }
}

/* ---------- 43. Compactage harmonisé sur toute la plateforme ---------- */
/* Boutons d'action principaux : même gabarit partout (hors bandeau) */
#root .content :is(.fs-admin-primary, .fs-bulk-primary, .fs-category-add, .fs-promo-create, .fs-part-primary, .fs-admin-create-button, .primary-button):not(.fs-banner-button):not(.event-register) {
  min-height: 40px !important;
  height: auto !important;
  padding: 8px 16px !important;
  border-radius: 10px !important;
  font-size: 13.5px !important;
}
/* Champs de formulaire */
#root .content :is(.profile-card, .fs-part, .fs-community, .fs-news, .resource-editor, .fs-admin-v15) :is(input:not([type="checkbox"]):not([type="radio"]):not([type="color"]):not([type="file"]), select) {
  min-height: 40px !important;
  height: auto !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
/* Accueil */
#root .content .fs-home-link-grid { gap: 10px !important; }
#root .content .fs-home-link-grid > button { min-height: 60px !important; padding: 10px 14px !important; }
#root .content .fs-home-featured { padding: 26px 28px !important; min-height: 0 !important; }
#root .content .fs-home-section { padding: 18px 20px !important; }
#root .content .fs-home-section .section-heading { gap: 12px !important; margin-bottom: 12px !important; padding-bottom: 12px !important; }
/* Profil */
#root .content .fs-profile-page { gap: 16px !important; }
#root .content .profile-card { padding: 20px !important; }
/* Favoris, ressources, collaborateurs */
#root .content .favorites-empty { padding: 20px !important; }
#root .content :is(.fs-notice-board, .fs-info-docs) { padding: 18px 20px !important; }
#root .content .fs-resource-card { padding: 16px 18px !important; }
#root .content .fs-official-heading { padding: 14px 0 !important; }
#root .content .fs-news-grid { gap: 16px !important; }
/* Équipe : cartes et boutons homogènes */
#root .content .representatives-overview > div { padding: 14px 16px !important; }
#root .content .representatives-grid > article footer { align-items: center; gap: 6px !important; }
#root .content .representatives-grid > article footer :is(a, button) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 34px !important;
  height: 34px !important;
  padding: 0 12px !important;
  border-radius: 9px !important;
  font-size: 12.5px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  white-space: nowrap;
}
#root .content .representatives-grid > article footer a { border: 1px solid #d3dfe8 !important; background: #fff !important; color: #1d5f86 !important; text-decoration: none; }
#root .content .representatives-grid > article footer .team-edit-button { background: #0b2742 !important; border: 1px solid #0b2742 !important; color: #fff !important; }
/* Administration : modéré */
#root .fs-admin-v15 :is(.fs-admin-content, .fs-admin-stack) { gap: 16px !important; }
#root .fs-admin-v15 .fs-admin-fold > summary { min-height: 0 !important; padding: 14px 18px !important; }
#root .fs-admin-v15 .fs-usage-panel { padding: 18px !important; }
#root .fs-admin-v15 .fs-usage-months > button { min-height: 0 !important; padding: 10px !important; }
#root .fs-admin-v15 .fs-usage-accounts > button { min-height: 0 !important; padding: 10px 12px !important; }
#root .fs-admin-v15 .fs-formula-panel > header { padding: 20px 22px !important; }
#root .fs-admin-v15 .fs-formula-panel > :is(.fs-excel-toolbar, .fs-formula-tools, .fs-formula-pagination) { padding: 16px 22px !important; }
#root .fs-admin-v15 :is(.approval-panel, .fs-promo-panel, .fs-reliability-panel) { padding: 18px 20px !important; }
#root .fs-admin-v15 .fs-promotions, #root .fs-admin-v15 .fs-promo-header { gap: 14px !important; }
#root .fs-admin-v15 .fs-email-disclosure > summary { min-height: 0 !important; padding: 10px 14px !important; }
#root .fs-admin-v15 .fs-email-audience-groups { gap: 14px !important; }

/* ---------- 44. Documents officiels : cartes et boutons harmonisés ---------- */
#root .content .document-grid { gap: 12px !important; }
#root .content .document-grid > article {
  display: grid !important;
  grid-template-columns: 48px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 14px 16px !important;
  border-radius: 14px !important;
  min-height: 0 !important;
}
#root .content .document-grid .document-icon {
  width: 48px !important; height: 48px !important; min-width: 0 !important;
  border-radius: 12px !important; font-size: 11px !important;
}
#root .content .document-grid > article > div:not(.resource-card-actions) { display: grid; gap: 3px; min-width: 0; }
#root .content .document-grid > article > div > p {
  margin: 0 !important; font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: 0.06em !important; text-transform: uppercase; color: #1d5f86 !important;
}
#root .content .document-grid > article h3 { margin: 0 !important; font-size: 16px !important; line-height: 1.3 !important; }
#root .content .document-grid > article > div > span { font-size: 12.5px !important; color: #5d7486 !important; overflow-wrap: anywhere; }
#root .content .document-grid > article > div > small { font-size: 11.5px !important; color: #8197a6 !important; }
#root .content .document-grid .admin-only-resource {
  justify-self: start; padding: 2px 8px !important; border-radius: 20px !important; font-size: 9.5px !important;
}
#root .content .resource-card-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-end;
  align-items: center !important;
  gap: 6px !important;
}
#root .content .resource-card-actions > :is(a, button, span) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 34px !important;
  height: 34px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 12px !important;
  border-radius: 9px !important;
  font-size: 12.5px !important;
  font-weight: 650 !important;
  line-height: 1 !important;
  white-space: nowrap;
  box-shadow: none !important;
}
#root .content .resource-card-actions > a { background: #0b2742 !important; border: 1px solid #0b2742 !important; color: #fff !important; text-decoration: none; }
#root .content .resource-card-actions > button { background: #fff !important; border: 1px solid #d3dfe8 !important; color: #1d5f86 !important; }
#root .content .resource-card-actions > button.danger { border-color: #ecd0cc !important; color: #b42318 !important; }
@media (max-width: 760px) {
  #root .content .document-grid > article { grid-template-columns: 40px minmax(0, 1fr) !important; }
  #root .content .document-grid .document-icon { width: 40px !important; height: 40px !important; }
  #root .content .resource-card-actions { grid-column: 1 / -1; justify-content: flex-start; }
}

/* 45. Compteur d'inscriptions (éditeur) */
#root .fs-count-editor{border:1px solid #dbe5ee;border-radius:14px;padding:14px 16px 12px;margin:0;background:#f7fafc;display:grid;gap:10px}
#root .fs-count-editor legend{float:left;width:100%;padding:0;margin:0 0 2px;font-weight:700;font-size:14px;line-height:1.3;color:#0b2742}
#root .fs-count-editor legend + *{clear:both}
#root .fs-count-editor > p{margin:0;font-size:12.5px;color:#5b6b7a;line-height:1.45}
#root .fs-count-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}
#root .fs-count-grid label{display:grid;gap:5px;font-size:12.5px;font-weight:600;color:#33475b}
#root .fs-count-grid input::placeholder{color:#8a9aab;font-weight:500}
#root .fs-count-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
#root .fs-count-toggle{display:inline-flex!important;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#0b2742;cursor:pointer;margin:0}
#root .fs-count-toggle input{width:17px;height:17px;min-height:0;margin:0;accent-color:#0b2742}
#root .fs-count-actions button{min-height:32px;padding:5px 12px;border-radius:9px;border:1px solid #c9d6e2;background:#fff;color:#1b5f8c;font-size:12.5px;font-weight:600;cursor:pointer}
@media (max-width:640px){#root .fs-count-grid{grid-template-columns:minmax(0,1fr)}}

/* 46. Documents officiels : actions sous le titre, comme les cartes Ressources */
#root .content .document-grid > article {
  grid-template-columns: 48px minmax(0, 1fr) !important;
  align-items: start !important;
  row-gap: 12px !important;
}
#root .content .document-grid > article > .resource-card-actions {
  grid-column: 2 / -1 !important;
  justify-content: flex-start !important;
  padding-top: 12px !important;
  border-top: 1px solid #e3ebf2 !important;
  gap: 8px !important;
}
#root .content .document-grid > article > .resource-card-actions > :is(.danger, [class*="danger"]) { margin-left: auto !important; }
#root .content .document-grid > article h3 { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  #root .content .document-grid > article > .resource-card-actions { grid-column: 1 / -1 !important; }
}

/* ---------- 47. Validation automatique des comptes ---------- */
#root .fs-auto-approve{display:grid;gap:6px;margin:4px 0 14px;padding:12px 14px;border:1px solid #dbe5ee;border-radius:12px;background:#f7fafc}
#root .fs-auto-approve.is-on{background:#ecf8f3;border-color:#b9e3d0}
#root .fs-auto-approve > label{display:flex!important;align-items:flex-start;gap:10px;margin:0;cursor:pointer}
#root .fs-auto-approve > label input{width:18px;height:18px;min-height:0;margin:2px 0 0;flex:0 0 auto;accent-color:#16835f}
#root .fs-auto-approve > label span{display:grid;gap:2px}
#root .fs-auto-approve strong{font-size:13.5px;color:#0b2742;line-height:1.3}
#root .fs-auto-approve small{font-size:12px;color:#5b6b7a;line-height:1.4}
#root .fs-auto-approve em{font-style:normal;font-size:12px;color:#9a6a12;padding-left:28px}
#root .fs-auto-approve p{margin:0;padding-left:28px;font-size:12px;color:#16835f}
#root .fs-account-filters.is-pending{grid-template-columns:minmax(0,1fr) auto!important}

/* ---------- 48. Mobile : administration, demandes et « Mes demandes » harmonisés ---------- */
@media (max-width: 760px){
  /* En-tête admin */
  #root .fs-admin-page-heading{margin-bottom:12px!important}
  #root .fs-admin-page-heading .fs-admin-banner-refresh{min-height:34px!important;padding:6px 14px!important;font-size:12.5px!important;align-self:flex-start!important}
  /* Navigation principale : 3 colonnes compactes */
  #root .fs-admin-main-nav{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;margin-bottom:8px!important}
  #root .fs-admin-main-nav > a{flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:4px!important;min-height:58px!important;padding:7px 4px!important;text-align:center!important;border-radius:12px!important}
  #root .fs-admin-main-nav .fs-admin-nav-icon{width:24px!important;height:24px!important;min-width:0!important}
  #root .fs-admin-main-nav .fs-admin-nav-icon svg{width:15px!important;height:15px!important}
  #root .fs-admin-main-nav .fs-admin-nav-label{font-size:11.5px!important;line-height:1.2!important;font-weight:700}
  /* Sous-onglets : puces compactes */
  #root .fs-admin-subnav{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:5px!important;padding:6px!important;border-radius:12px!important}
  #root .fs-admin-subnav > a{flex:0 0 auto!important;width:auto!important;min-height:30px!important;padding:4px 10px!important;font-size:12.5px!important;border-radius:999px!important;gap:6px!important;justify-content:center!important}
  #root .fs-admin-subnav > a b{min-width:18px!important;height:18px!important;font-size:10.5px!important}
  #root .fs-admin-nav-levels{margin-bottom:12px!important}
  /* Panneaux */
  #root .fs-admin-content > section,#root .approval-panel.enrollment-manager,#root .fs-accounts{padding:12px!important;border-radius:14px!important}
  #root .enrollment-manager .panel-title{padding:4px 2px 10px!important}
  #root .enrollment-manager .panel-title h2,#root .fs-accounts header h2{font-size:18px!important}
  #root .enrollment-kpis{padding:0 0 10px!important;gap:6px!important}
  #root .enrollment-kpis > div{padding:7px 10px!important;min-height:0!important}
  #root .enrollment-kpis > div span,#root .enrollment-kpis > div small{font-size:10.5px!important}
  #root .enrollment-kpis > div strong{font-size:19px!important;line-height:1.15!important}
  #root .enrollment-toolbar.enrollment-filter-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:6px!important;padding:8px!important;margin:0 0 10px!important;width:100%!important}
  #root .enrollment-toolbar .enrollment-search,#root .enrollment-toolbar details{grid-column:1/-1!important}
  #root .enrollment-toolbar .enrollment-search{min-height:38px!important}
  #root .enrollment-toolbar .fs-archive-toggle,#root .enrollment-toolbar > select{min-height:36px!important;height:36px!important;font-size:12.5px!important;padding:6px 10px!important}
  #root .enrollment-toolbar details > summary{min-height:36px!important;padding:6px 10px!important}
  #root .enrollment-status-tabs{padding:0 0 10px!important;gap:5px!important}
  #root .enrollment-status-tabs > button{min-height:28px!important;padding:3px 9px!important;font-size:12px!important}
  #root .participants-table{padding:0!important;background:transparent!important}
  /* Ligne de demande : identité + actions, activité, suivi */
  #root .participants-table article.fs-stage-row{
    grid-template-columns:22px minmax(0,1fr) auto!important;
    grid-template-areas:"check identity actions" ". event event" ". status toggle" ". count count" ". payment payment"!important;
    gap:8px 10px!important;padding:12px 12px 12px 14px!important;align-items:center!important;margin-bottom:8px!important;border-radius:12px!important}
  #root .participants-table article.fs-stage-row > label{grid-area:check!important;align-self:start!important;margin-top:7px}
  #root .participants-table article.fs-stage-row > .participant-identity{grid-area:identity!important;min-width:0!important;gap:9px!important;align-items:center!important}
  #root .participants-table article.fs-stage-row > .participant-identity > span{width:30px!important;height:30px!important;font-size:11px!important;flex:0 0 30px}
  #root .participants-table article.fs-stage-row > .participant-identity > div{min-width:0!important}
  #root .participants-table article.fs-stage-row .fs-person-link{font-size:14px!important;line-height:1.25!important;text-align:left;white-space:normal!important}
  #root .participants-table article.fs-stage-row .fs-person-link i{display:none!important}
  #root .participants-table article.fs-stage-row .participant-identity small{display:block!important;font-size:11.5px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;max-width:100%}
  #root .participants-table article.fs-stage-row > .participant-actions{grid-area:actions!important;display:flex!important;gap:5px!important;width:auto!important;align-self:start!important}
  #root .participants-table article.fs-stage-row > .participant-actions .fs-row-icon{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;border-radius:9px!important}
  #root .participants-table article.fs-stage-row > .participant-actions .fs-row-icon svg{width:16px!important;height:16px!important}
  #root .participants-table article.fs-stage-row > .mobile-enrollment-toggle{grid-area:toggle!important;width:28px!important;height:28px!important;min-height:28px!important;font-size:15px!important;border-radius:8px!important;align-self:center!important;justify-self:end!important}
  #root .participants-table article.fs-stage-row > .participant-event{grid-area:event!important;padding-top:8px!important;border-top:1px solid #e6edf3!important;min-width:0}
  #root .participants-table article.fs-stage-row > .participant-event strong{font-size:14px!important;line-height:1.3!important}
  #root .participants-table article.fs-stage-row > .participant-event small{font-size:11.5px!important}
  #root .participants-table article.fs-stage-row > .participant-status{grid-area:status!important;display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px 8px!important;min-width:0}
  #root .participants-table article.fs-stage-row > .participant-status .fs-stage-pill{font-size:11px!important;padding:3px 9px!important}
  #root .participants-table article.fs-stage-row > .participant-count{grid-area:count!important}
  #root .participants-table article.fs-stage-row > .participant-payment{grid-area:payment!important}
  #root .participants-table article.fs-stage-row > .mobile-enrollment-collapse{grid-column:1/-1!important}

  /* Mes demandes */
  #root .fs-request-type-filters{flex-wrap:wrap!important;gap:6px!important;margin-bottom:12px!important}
  #root .fs-request-type-filters > button{flex:0 0 auto!important;width:auto!important;min-height:32px!important;padding:5px 13px!important;font-size:13px!important;border-radius:999px!important}
  #root .request-management-bar{padding:10px 12px!important;gap:10px!important;margin-bottom:10px!important}
  #root .request-management-bar > div:first-child > span{width:30px!important;height:30px!important}
  #root .request-filter-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:6px!important}
  #root .request-filter-controls .archive-view{min-height:38px!important;height:38px!important;font-size:12.5px!important;padding:0 8px!important}
  #root .request-filter-controls details > summary{min-height:38px!important;font-size:12.5px!important;padding:8px 10px!important}
  #root .request-filter-controls details[open]{grid-column:1/-1!important}
  #root .request-filter-controls .archive-view{grid-column:auto!important;width:100%!important}
  #root article.fs-request-compact{position:relative!important;grid-template-columns:minmax(0,1fr)!important}
  #root article.fs-request-compact > .request-select{position:absolute!important;top:10px!important;right:8px!important;z-index:2;align-items:flex-start!important;justify-content:center!important}
  #root .fs-accounts > header{gap:10px!important;margin-bottom:10px!important}
  #root .fs-accounts > header .fs-admin-primary{min-height:40px!important;padding:8px 14px!important;font-size:13.5px!important}
  #root .fs-account-filters{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:end!important;margin-bottom:10px!important}
  #root .fs-account-filters > label:first-child{grid-column:1/-1!important}
  #root .fs-account-filters > label > span{font-size:11.5px!important;margin-bottom:3px}
  #root .fs-account-filters input[type=search],#root .fs-account-filters select{min-height:38px!important;height:38px!important;font-size:14px!important}
  #root .fs-account-filters .fs-admin-only-filter{grid-column:1/-1!important;order:3;padding:7px 10px!important;min-height:0!important;font-size:12.5px!important}
  #root .fs-account-filters > button{min-height:38px!important;height:38px!important;padding:6px 12px!important;font-size:12.5px!important;align-self:end!important}
  #root .fs-account-filters.is-pending{grid-template-columns:minmax(0,1fr)!important}
  #root .fs-account-row{padding:10px 0!important;gap:8px!important}
  #root article.fs-request-compact > .fs-request-summary,#root article.fs-request-compact > .fs-request-expanded{grid-column:1/-1!important;width:100%!important}
  #root .request-selection-bar{padding:7px 12px!important;margin-bottom:8px!important}
  #root .my-enrollments.compact-requests{gap:8px!important}
  #root article.fs-request-compact{padding:12px 14px!important;border-radius:14px!important}
  #root article.fs-request-compact .request-card-head{flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;gap:6px!important}
  #root article.fs-request-compact .request-main{display:contents!important}
  #root article.fs-request-compact .request-main strong{flex:1 0 100%!important;font-size:15.5px!important;line-height:1.3!important;padding-right:34px}
  #root article.fs-request-compact .request-main time{font-size:11.5px!important;padding:3px 8px!important}
  #root article.fs-request-compact .request-card-head .status-chip{display:inline-flex!important;font-size:11.5px!important;padding:3px 9px!important;min-height:0!important}
  #root article.fs-request-compact .fs-request-summary-link{margin-top:8px!important;font-size:12px!important}
  #root article.fs-request-compact .request-select{width:32px!important;height:32px!important}
  #root article.fs-request-compact .fs-request-expanded{padding-top:10px!important;gap:10px!important;margin-top:8px!important}
  #root .fs-request-facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px 12px!important}
  #root .fs-request-facts dd{overflow-wrap:anywhere}
  #root .enrollment-progress.fs-progress{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:5px!important;padding:6px!important;border-radius:12px!important}
  #root .enrollment-progress.fs-progress > div{padding:7px 3px!important;gap:4px!important;min-height:0!important;border-radius:9px!important}
  #root .enrollment-progress.fs-progress > div i{width:24px!important;height:24px!important;font-size:12px!important}
  #root .enrollment-progress.fs-progress > div span{font-size:10.5px!important;line-height:1.2!important}
}

/* 49. Respiration : compteur d'inscrits des cartes + cartes « Mes demandes » mobile */
#root .content .event-list:not(.home-events) .event-card-main > .attendees.attendees{padding:10px 0 2px!important;margin:2px 14px 12px!important}
#root .event-list article .attendees + .event-threshold{margin-top:0!important}
@media (max-width: 760px){
  #root article.fs-request-compact{padding:14px 14px 13px!important}
  #root .my-enrollments.redesigned.compact-requests > article.fs-request-compact > .request-select{position:absolute!important;top:12px!important;right:10px!important;width:28px!important;height:28px!important;min-width:0!important;min-height:0!important;align-items:center!important;justify-content:center!important;grid-column:auto!important;grid-row:auto!important}
  #root .my-enrollments.redesigned.compact-requests > article.fs-request-compact{grid-template-columns:minmax(0,1fr)!important}
  #root article.fs-request-compact > .request-select input{margin:0!important}
  #root article.fs-request-compact .request-card-head{row-gap:9px!important;column-gap:8px!important}
  #root article.fs-request-compact .request-main strong{margin:0!important;padding-right:40px!important}
  #root article.fs-request-compact .request-main time{margin:0!important}
  #root article.fs-request-compact .fs-request-summary-link{margin-top:11px!important}
}
@media (max-width: 760px){
  /* Éditeur de fiche : la croix ne flotte plus par-dessus les champs (« Fermer » reste en bas) */
  #root .content-editor > .modal-close{position:absolute!important;top:12px!important;right:12px!important;float:none!important;width:34px!important;height:34px!important;min-height:34px!important;font-size:15px!important;z-index:3}
  #root .fs-count-editor{padding:12px!important}
  #root .fs-count-grid label{font-size:12px}
  #root .fs-count-grid input{min-height:40px!important}
}
@media (max-width: 760px){
  /* Inscriptions : les compteurs en tuiles doublonnaient les filtres de statut → seuls les filtres restent */
  #root .enrollment-manager > .enrollment-kpis{display:none!important}
  #root .enrollment-manager .panel-title{border-bottom:0!important;margin-bottom:4px!important}
  /* Filtres avancés : 2 colonnes, pied sur une ligne */
  #root .advanced-filter-panel > header{padding:10px 12px!important}
  #root .advanced-filter-panel > header small{display:none!important}
  #root .advanced-filter-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:8px 10px!important;padding:10px 12px!important}
  #root .advanced-filter-fields > label{gap:4px!important;min-width:0}
  #root .advanced-filter-fields > label > span{font-size:10.5px!important}
  #root .advanced-enrollment-filters .advanced-filter-panel .advanced-filter-fields select{min-height:36px!important;height:36px!important;font-size:13.5px!important;font-weight:600!important;padding:4px 24px 4px 9px!important;text-overflow:ellipsis}
  #root .advanced-filter-panel > footer{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px 8px!important;padding:10px 12px!important}
  #root .advanced-filter-panel > footer > span{flex:1 0 100%!important;width:auto!important;font-size:12px!important}
  #root .advanced-filter-panel > footer button{min-height:34px!important;height:34px!important;padding:4px 12px!important;font-size:12.5px!important}
  #root .advanced-filter-panel > footer .filter-export-actions{margin-left:auto!important;gap:6px!important;width:auto!important}
  #root .advanced-filter-panel > footer .filter-export-actions button{width:auto!important;min-width:64px}
}

/* ---------- 50. Email aux demandeurs (icône enveloppe + actions groupées) ---------- */
#root .participants-table > article .participant-actions .fs-row-icon.is-mail{color:#16835f!important}
#root .participants-table > article .participant-actions .fs-row-icon.is-mail:hover{background:#16835f!important;border-color:#16835f!important;color:#fff!important}
#root .bulk-action-bar .fs-bulk-mail{background:#0b2742!important;color:#fff!important;border-color:#0b2742!important}
.fs-mail-overlay{position:fixed;inset:0;z-index:2147483000;background:rgba(8,24,40,.55);display:grid;place-items:center;padding:20px;font-family:inherit}
.fs-mail-dialog{width:min(640px,100%);max-height:min(860px,calc(100dvh - 40px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(8,24,40,.35);overflow:hidden;color:#0b2742}
.fs-mail-dialog > header{display:grid;grid-template-columns:40px minmax(0,1fr) 34px;gap:12px;align-items:center;padding:16px 18px;background:#0b2742;color:#fff;box-shadow:inset 0 -3px 0 #d42a3c}
.fs-mail-icon{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.12);display:grid;place-items:center}
.fs-mail-icon svg{width:20px;height:20px}
.fs-mail-dialog > header h2{margin:0;font-size:17px;line-height:1.25;color:#fff}
.fs-mail-dialog > header p{margin:2px 0 0;font-size:12.5px;color:#c4d4e2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fs-mail-close{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:transparent;color:#fff;font-size:18px;cursor:pointer}
.fs-mail-body{overflow-y:auto;padding:16px 18px;display:grid;gap:12px;align-content:start}
.fs-mail-templates{display:flex;flex-wrap:wrap;gap:6px}
.fs-mail-templates button{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:5px 12px;border-radius:999px;border:1px solid #d3dfe9;background:#fff;color:#21445f;font-family:inherit;font-weight:600;font-size:12.5px;line-height:1.2;cursor:pointer}
.fs-mail-templates button i{font-style:normal;font-size:12px;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;background:#eef4f8}
.fs-mail-templates button.is-active{background:#0b2742;border-color:#0b2742;color:#fff}
.fs-mail-templates button.is-active i{background:rgba(255,255,255,.18)}
.fs-mail-field{display:grid;gap:5px;font-size:12.5px;font-weight:700;color:#33475b}
.fs-mail-field input,.fs-mail-field textarea,.fs-mail-field select{width:100%;box-sizing:border-box;border:1px solid #cfdbe6;border-radius:10px;padding:9px 12px;font-family:inherit;font-weight:500;font-size:14px;line-height:1.5;color:#0b2742;background:#fff}
.fs-mail-field textarea{min-height:170px;resize:vertical}
.fs-mail-field select{min-height:42px;font-weight:600;appearance:auto;cursor:pointer}
.fs-mail-model{padding:10px 12px;border-radius:12px;background:#f3f7fa;border:1px solid #e1e9f0}
.fs-mail-field input:focus,.fs-mail-field textarea:focus{outline:2px solid #2a7aa8;outline-offset:1px;border-color:#2a7aa8}
.fs-mail-vars{display:flex;flex-wrap:wrap;align-items:center;gap:5px}
.fs-mail-vars small{font-size:11.5px;color:#5b6b7a;margin-right:2px}
.fs-mail-vars button{min-height:26px;padding:2px 9px;border-radius:7px;border:1px dashed #a9c1d4;background:#f5f9fc;color:#1b5f8c;font-family:inherit;font-weight:600;font-size:11.5px;cursor:pointer}
.fs-mail-hint{margin:0;font-size:12px;line-height:1.45;color:#5b6b7a}
.fs-mail-preview{border:1px solid #e1e9f0;border-radius:12px;background:#f7fafc}
.fs-mail-preview summary{padding:9px 12px;font-size:12.5px;font-weight:700;color:#1b5f8c;cursor:pointer}
.fs-mail-preview > div{padding:0 14px 12px}
.fs-mail-preview strong{display:block;font-size:13.5px;margin-bottom:6px}
.fs-mail-preview p{margin:0;white-space:pre-wrap;font-size:13px;line-height:1.55;color:#33475b}
.fs-mail-dialog > footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #e6edf3;background:#fbfdfe}
.fs-mail-dialog > footer button{min-height:40px;padding:8px 16px;border-radius:10px;border:1px solid #cfdbe6;background:#fff;color:#21445f;font-family:inherit;font-weight:600;font-size:13.5px;cursor:pointer}
.fs-mail-dialog > footer .fs-bulk-primary{background:#0b2742;border-color:#0b2742;color:#fff}
.fs-mail-dialog > footer button:disabled{opacity:.55;cursor:default}
@media (max-width:640px){
  .fs-mail-overlay{padding:0;align-items:end}
  .fs-mail-dialog{width:100%;max-height:92dvh;border-radius:18px 18px 0 0}
  .fs-mail-dialog > header{padding:14px 14px;grid-template-columns:34px minmax(0,1fr) 32px;gap:10px}
  .fs-mail-icon{width:34px;height:34px}
  .fs-mail-body{padding:12px 14px}
  .fs-mail-templates{display:none!important}
  .fs-mail-field select{font-size:16px}
  .fs-mail-field textarea{min-height:150px;font-size:16px}
  .fs-mail-field input{font-size:16px}
  .fs-mail-dialog > footer{padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
  .fs-mail-dialog > footer button{flex:1}
}
@media (max-width:760px){
  #root .participants-table article.fs-stage-row > .participant-actions{gap:4px!important}
  #root .participants-table article.fs-stage-row > .participant-actions .fs-row-icon{width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important}
  #root .bulk-action-bar{position:sticky;bottom:72px;z-index:20;padding:8px!important;gap:6px!important;border-radius:12px!important}
  #root .bulk-action-bar > div:last-child{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:5px!important;scrollbar-width:none}
  #root .bulk-action-bar > div:last-child > button{flex:0 0 auto!important;min-height:32px!important;padding:4px 10px!important;font-size:12px!important;white-space:nowrap}
}

/* ---------- 51. Formules : filtres repliables (mobile) + catégories compactes ---------- */
#root .fs-formula-tools .fs-formula-toggle{display:none}
@media (max-width: 760px){
  #root .fs-formula-tools{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:end!important;padding:10px 12px!important}
  #root .fs-formula-tools > label{font-size:11.5px!important;gap:4px!important;min-width:0}
  #root .fs-formula-tools .fs-formula-search{grid-column:1!important}
  #root .fs-formula-tools .fs-formula-search input{min-height:38px!important;height:38px!important;font-size:14px!important}
  #root .fs-formula-tools .fs-formula-toggle{display:inline-flex!important;align-items:center;gap:6px;grid-column:2;min-height:38px;padding:6px 12px;border-radius:10px;border:1px solid #cfdbe6;background:#fff;color:#0b2742;font-weight:700;font-size:12.5px;white-space:nowrap;cursor:pointer}
  #root .fs-formula-tools .fs-formula-toggle b{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#0b2742;color:#fff;font-size:10.5px;display:grid;place-items:center}
  #root .fs-formula-tools .fs-formula-toggle i{font-style:normal;font-size:11px;color:#5b6b7a}
  #root .fs-formula-tools.is-open .fs-formula-toggle{background:#0b2742;color:#fff;border-color:#0b2742}
  #root .fs-formula-tools.is-open .fs-formula-toggle i{color:#c4d4e2}
  #root .fs-formula-tools:not(.is-open) > :not(.fs-formula-search):not(.fs-formula-toggle){display:none!important}
  #root .fs-formula-tools.is-open > label:not(.fs-formula-search){grid-column:auto}
  #root .fs-formula-tools.is-open{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  #root .fs-formula-tools.is-open .fs-formula-search{grid-column:1!important}
  #root .fs-formula-tools.is-open select{min-height:36px!important;height:36px!important;font-size:13px!important;font-weight:600!important;padding:4px 24px 4px 9px!important}
  #root .fs-formula-tools.is-open .fs-formula-reset{grid-column:1/-1!important;min-height:34px!important;height:34px!important;font-size:12.5px!important}
  /* Bloc Excel */
  #root .fs-excel-toolbar{padding:12px!important;gap:8px!important}
  #root .fs-excel-toolbar button{min-height:36px!important;padding:6px 10px!important;font-size:12.5px!important}

  /* Catégories : une carte = 2 lignes */
  #root .fs-category-summary{gap:6px!important;flex-wrap:wrap}
  #root .fs-category-summary span{padding:4px 10px!important;font-size:12px!important;min-height:0!important}
  #root .fs-admin-v15 .fs-category-grid{gap:8px!important}
  #root .fs-admin-v15 .fs-category-grid > .fs-category-card{padding:10px 12px!important;gap:8px!important;border-radius:12px!important}
  #root .fs-admin-v15 .fs-category-card .fs-category-head{grid-template-columns:36px minmax(0,1fr) auto!important;gap:10px!important}
  #root .fs-admin-v15 .fs-category-card .fs-category-icon{width:36px!important;height:36px!important;font-size:18px!important;border-radius:10px!important}
  #root .fs-admin-v15 .fs-category-card .fs-category-identity strong{font-size:14.5px!important;line-height:1.25!important}
  #root .fs-admin-v15 .fs-category-card .fs-category-identity small{font-size:11.5px!important}
  #root .fs-admin-v15 .fs-category-card .fs-category-toggle{grid-column:auto!important;width:auto!important;gap:0!important;padding:0!important}
  #root .fs-admin-v15 .fs-category-card .fs-category-toggle em{display:none!important}
  #root .fs-admin-v15 .fs-category-card .fs-category-tools{display:flex!important;align-items:center!important;gap:6px!important;padding-top:8px!important;margin:0!important;flex-wrap:nowrap!important}
  #root .fs-admin-v15 .fs-category-card .fs-category-tools .fs-cat-tool{min-height:30px!important;height:30px!important;padding:3px 10px!important;font-size:12px!important;border-radius:8px!important}
  #root .fs-admin-v15 .fs-category-card .fs-category-tools .fs-cat-tool:nth-child(-n+2){width:30px!important;padding:0!important}
  #root .fs-admin-v15 .fs-category-card .fs-category-tools .danger{grid-column:auto!important;margin-left:auto!important;padding:3px 4px!important;min-height:30px!important}
}

/* ---------- 52. Mise à jour à distance : bandeau aligné sur la carte, comme les autres blocs ---------- */
#root .approval-panel.fs-remote-settings{padding:0!important;overflow:hidden!important;border-radius:16px!important}
#root .fs-remote-settings > .fs-update-header{margin:0!important;border-radius:0!important;padding:18px 22px!important;box-shadow:inset 0 -3px 0 #d42a3c!important;background:linear-gradient(120deg,#0b2742,#0f3a5c)!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
#root .fs-remote-settings .fs-update-eyebrow{margin:0 0 4px!important;font-size:11px!important;letter-spacing:.08em!important}
#root .fs-remote-settings .fs-update-header h2{margin:0!important;font-size:19px!important;color:#fff!important}
#root .fs-remote-settings .fs-update-subtitle{margin:4px 0 0!important;font-size:13px!important}
#root .fs-remote-settings .fs-update-mode{flex:0 0 auto;font-size:11.5px!important;padding:5px 10px!important;border-radius:999px!important;white-space:nowrap}
#root .fs-remote-settings > .fs-update-content{padding:16px 22px 18px!important;display:grid!important;gap:12px!important}
#root .fs-remote-settings .fs-update-scope{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:6px!important;margin:0!important}
#root .fs-remote-settings .fs-update-scope strong{margin-right:4px;font-size:13px}
#root .fs-remote-settings .fs-update-scope span{padding:3px 10px!important;font-size:12px!important;border-radius:999px!important}
#root .fs-remote-settings .fs-update-metrics{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;margin:0!important}
#root .fs-remote-settings .fs-update-metrics > div{padding:12px 14px!important;border-top:0!important}
#root .fs-remote-settings .fs-update-metrics > div + div{border-left:1px solid #e1e9f0!important}
#root .fs-remote-settings .fs-update-version{font-size:20px!important}
#root .fs-remote-settings .fs-update-explanation{border-left:0!important;border:1px solid #dbe7f0!important;border-radius:12px!important;padding:12px 14px!important;margin:0!important}
#root .fs-remote-settings .fs-update-explanation p{font-size:13px!important;margin:4px 0 0!important}
#root .fs-remote-settings .fs-update-action-row{margin:0!important;gap:10px!important}
#root .fs-remote-settings .fs-update-primary{min-height:40px!important;padding:8px 16px!important;font-size:13.5px!important}
#root .fs-remote-settings .fs-update-footnote{margin:0!important;padding-top:10px!important;font-size:12px!important}
@media (max-width:760px){
  #root .fs-remote-settings > .fs-update-header{padding:14px 16px!important;align-items:flex-start!important}
  #root .fs-remote-settings .fs-update-header h2{font-size:17px!important}
  #root .fs-remote-settings .fs-update-subtitle{font-size:12.5px!important}
  #root .fs-remote-settings .fs-update-mode{font-size:10.5px!important;padding:4px 8px!important}
  #root .fs-remote-settings > .fs-update-content{padding:14px 16px 16px!important}
  #root .fs-remote-settings .fs-update-metrics > div{padding:10px 12px!important}
  #root .fs-remote-settings .fs-update-metric-label{font-size:11px!important}
  #root .fs-remote-settings .fs-update-version{font-size:16px!important}
  #root .fs-remote-settings .fs-update-metrics strong{font-size:13.5px}
  #root .fs-remote-settings .fs-update-action-row{display:grid!important}
  #root .fs-remote-settings .fs-update-action-row span{font-size:11.5px}
}

/* ---------- 53. Éditeur de fiche sur mobile : plus compact et plus lisible ---------- */
@media (max-width:760px){
  #root .content-editor{padding:14px 14px 0!important}
  #root .content-editor > .eyebrow{padding:4px 8px!important;font-size:10.5px!important;margin-bottom:6px!important}
  #root .content-editor > h2{font-size:18px!important;line-height:1.25!important;margin:0 44px 4px 0!important}
  #root .content-editor > .registration-intro{font-size:12.5px!important;line-height:1.4!important;margin:0 0 10px!important}
  #root .content-editor .fs-editor-sections{gap:10px!important}
  #root .content-editor .fs-editor-context{padding:9px 12px!important;gap:2px!important;border-radius:10px!important}
  #root .content-editor .fs-editor-context-label{font-size:10.5px!important}
  #root .content-editor .fs-editor-context strong{font-size:15px!important;line-height:1.3!important}
  #root .content-editor .fs-editor-workspace{gap:8px!important}
  /* Les rubriques sont déjà listées en accordéon : on masque la barre d'onglets en double */
  #root .content-editor .fs-editor-index > nav{display:none!important}
  #root .content-editor .fs-editor-expand-actions{justify-content:flex-end!important;gap:6px!important;margin:0!important}
  #root .content-editor .fs-editor-expand-actions button{min-height:30px!important;padding:4px 10px!important;font-size:12px!important;border-radius:8px!important}
  #root .content-editor .fs-editor-panels{gap:8px!important}
  #root .content-editor .fs-editor-section{border-radius:12px!important}
  #root .content-editor .fs-editor-section > summary{padding:10px 12px!important;gap:10px!important;min-height:0!important}
  #root .content-editor .fs-editor-section-icon{width:32px!important;height:32px!important;border-radius:9px!important}
  #root .content-editor .fs-editor-section-icon svg{width:17px!important;height:17px!important}
  #root .content-editor .fs-editor-section-title strong{font-size:14.5px!important}
  #root .content-editor .fs-editor-section-title small{font-size:11.5px!important}
  #root .content-editor .fs-editor-section-body{padding:12px!important;gap:10px!important}
  #root .content-editor .fs-editor-section-body label{font-size:12.5px!important}
  #root .content-editor .fs-editor-section-body input:not([type=checkbox]):not([type=radio]),#root .content-editor .fs-editor-section-body select{min-height:42px!important;padding:8px 12px!important}
  #root .content-editor .fs-count-editor legend,#root .content-editor .fs-sheet-models h3{font-size:14px!important}
  #root .content-editor .fs-count-editor > p{font-size:12px!important}
  #root .content-editor .fs-offer-editor-footer{padding:8px 14px 10px!important;gap:6px!important}
  #root .content-editor .fs-offer-extra-actions summary{padding:2px 0!important;font-size:11.5px!important}
  #root .content-editor .fs-offer-save-actions{gap:8px!important}
  #root .content-editor .fs-offer-save-actions button{min-height:42px!important;padding:8px 14px!important;font-size:13.5px!important}
}

/* 54. Cartes offres partenaires : « N formules disponibles » respire comme le compteur d'inscrits */
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .offer-card .offer-body .option-count{display:block!important;margin:10px 0 8px!important;padding:0!important;line-height:1.3!important;font-size:12.5px!important}
#root .offer-grid.fs-offer-grid:not(.fs-offer-list) .offer-card .offer-body .offer-commercial{margin-bottom:0!important}

/* ---------- 55. Mobile : navigation admin sur une ligne, formules et Excel compacts ---------- */
#root .fs-excel-toolbar .fs-excel-toggle{display:none}
@media (max-width:760px){
  /* Rubriques principales : une rangée de pastilles qui défile */
  #root .fs-admin-main-nav{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:6px!important;padding:2px 2px 4px!important;margin:0 -16px 6px!important;padding-left:16px!important;padding-right:16px!important;scrollbar-width:none;position:relative;scroll-padding:0 16px}
  #root .fs-admin-main-nav::-webkit-scrollbar,#root .fs-admin-subnav::-webkit-scrollbar{display:none}
  #root .fs-admin-main-nav > a{flex:0 0 auto!important;flex-direction:row!important;align-items:center!important;gap:7px!important;min-height:38px!important;padding:4px 13px 4px 5px!important;border-radius:999px!important;text-align:left!important}
  #root .fs-admin-main-nav .fs-admin-nav-icon{width:28px!important;height:28px!important;border-radius:50%!important}
  #root .fs-admin-main-nav .fs-admin-nav-icon svg{width:15px!important;height:15px!important}
  #root .fs-admin-main-nav .fs-admin-nav-label{font-size:12.5px!important;white-space:nowrap!important;line-height:1.2!important}
  /* Sous-rubriques : onglets soulignés sur une ligne */
  #root .fs-admin-subnav{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:2px!important;padding:0 16px!important;margin:0 -16px!important;background:transparent!important;border:0!important;border-bottom:1px solid #dbe5ee!important;border-radius:0!important;position:relative;scrollbar-width:none}
  #root .fs-admin-subnav > a{flex:0 0 auto!important;min-height:38px!important;padding:6px 10px!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#4a6175!important;font-size:13px!important;white-space:nowrap!important;border-bottom:3px solid transparent!important;margin-bottom:-1px}
  #root .fs-admin-subnav > a.active{color:#0b2742!important;font-weight:700!important;border-bottom-color:#d42a3c!important;background:transparent!important}
  #root .fs-admin-subnav > a b{background:#e6eef5!important;color:#21445f!important}
  #root .fs-admin-subnav > a.active b{background:#0b2742!important;color:#fff!important}
  #root .fs-admin-nav-levels{margin-bottom:14px!important}

  /* Toutes les formules : en-tête resserré */
  #root .fs-formula-panel > header{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:8px!important;padding:14px 14px 10px!important}
  #root .fs-formula-panel > header p:not(.eyebrow){display:none!important}
  #root .fs-formula-panel > header h2{font-size:19px!important;margin:0!important}
  #root .fs-formula-heading-actions{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;width:100%!important}
  #root .fs-formula-heading-actions .fs-formula-count{font-size:12px!important;padding:5px 10px!important}
  #root .fs-formula-heading-actions .fs-bulk-primary{min-height:38px!important;padding:6px 12px!important;font-size:13px!important}
  /* Excel : replié par défaut */
  #root .fs-excel-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:8px!important;padding:10px 14px!important}
  #root .fs-excel-toolbar .fs-excel-copy small{display:none!important}
  #root .fs-excel-toolbar .fs-excel-copy strong{font-size:14px!important}
  #root .fs-excel-toolbar .fs-excel-toggle{display:inline-flex!important;align-items:center;gap:6px;min-height:34px;padding:4px 12px;border-radius:9px;border:1px solid #b9dccb;background:#fff;color:#16634a;font-weight:700;font-size:12.5px;cursor:pointer}
  #root .fs-excel-toolbar .fs-excel-toggle i{font-style:normal;font-size:11px}
  #root .fs-excel-toolbar:not(.is-open) .fs-excel-buttons{display:none!important}
  #root .fs-excel-toolbar.is-open .fs-excel-buttons{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:6px!important}
  #root .fs-excel-toolbar.is-open .fs-excel-buttons .fs-excel-import{grid-column:1/-1!important}
  #root .fs-excel-toolbar .fs-excel-message,#root .fs-excel-toolbar .fs-bulk-error{grid-column:1/-1}
}
@media (max-width:760px){
  #root .fs-admin-subnav > a,#root .fs-admin-subnav > a.active{border:0!important;border-bottom:3px solid transparent!important;outline:0!important;box-shadow:none!important}
  #root .fs-admin-subnav > a.active{border-bottom-color:#d42a3c!important}
  #root .fs-formula-panel .fs-formula-heading-actions{flex-direction:row!important;flex-wrap:nowrap!important}
  #root .fs-formula-panel .fs-formula-heading-actions > *{margin:0!important;white-space:nowrap!important}

  /* Tableau de bord : indicateurs compacts et alignés */
  #root .fs-admin-stack{gap:10px!important}
  #root .fs-admin-task-grid{gap:8px!important}
  #root .fs-admin-task{padding:11px 14px!important;min-height:0!important;border-radius:12px!important}
  #root .fs-admin-task strong,#root .fs-admin-task span > strong{font-size:15px!important}
  #root .fs-admin-task small,#root .fs-admin-task span > small,#root .fs-admin-task span > p{font-size:12px!important;margin-top:2px!important}
  #root .fs-admin-task > b{font-size:22px!important}
  #root .fs-admin-metrics.fs-admin-metrics-v61{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;align-items:stretch!important}
  #root .fs-admin-metrics-v61 > article{padding:10px 12px!important;border-radius:12px!important;min-height:0!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;gap:4px!important}
  #root .fs-admin-metrics-v61 > article small{font-size:11.5px!important;line-height:1.3!important}
  #root .fs-admin-metrics-v61 > article strong{font-size:21px!important;line-height:1.15!important}
  #root .fs-admin-metrics-v61 > article.fs-online-metric{grid-column:1/-1!important;order:-1;padding:0!important}
  #root .fs-admin-metrics-v61 > article.fs-online-metric > button{width:100%!important;height:auto!important;padding:10px 14px!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"label count" "link count"!important;align-items:center!important;gap:2px 12px!important;text-align:left!important;min-height:0!important}
  #root .fs-admin-metrics-v61 > article.fs-online-metric > button > small{grid-area:label;font-size:12.5px!important;gap:7px!important;align-items:center!important}
  #root .fs-admin-metrics-v61 > article.fs-online-metric > button > strong{grid-area:count;font-size:26px!important}
  #root .fs-admin-metrics-v61 > article.fs-online-metric > button > span{grid-area:link;font-size:12px!important}
  #root .fs-admin-fold > summary{padding:12px 14px!important}
}

/* 56. Icônes du suivi : SVG centrés dans leur carré / rond */
#root :is(.fs-stage-icons > button, .enrollment-progress > div > i, .fs-stage-track > button > i){display:grid!important;place-items:center!important;line-height:1!important;padding:0!important}
#root .fs-stage-glyph{display:block;width:1em;height:1em;flex:0 0 auto;margin:0!important}
#root .fs-stage-icons > button{font-size:12px!important}
#root .fs-stage-icons > button .fs-stage-glyph{width:13px;height:13px}
#root .enrollment-progress > div > i .fs-stage-glyph{width:52%;height:52%}

/* ---------- 57. Sauvegardes harmonisées (bandeau marine comme « Mise à jour à distance ») ---------- */
#root .approval-panel.server-backups{padding:0!important;overflow:hidden!important;border-radius:16px!important}
#root .server-backups > .panel-title{margin:0!important;border-radius:0!important;padding:18px 22px!important;background:linear-gradient(120deg,#0b2742,#0f3a5c)!important;box-shadow:inset 0 -3px 0 #d42a3c!important;border:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important}
#root .server-backups .backup-heading-copy{gap:12px!important;align-items:center!important}
#root .server-backups .backup-heading-icon{width:40px!important;height:40px!important;border-radius:12px!important;background:rgba(255,255,255,.12)!important;color:#fff!important;box-shadow:none!important;font-size:18px!important}
#root .server-backups .backup-heading-copy p{margin:0 0 3px!important;font-size:11px!important;letter-spacing:.08em!important;color:#e0b25c!important}
#root .server-backups .backup-heading-copy h2{margin:0!important;font-size:19px!important;color:#fff!important}
#root .server-backups .backup-heading-copy small{display:block;margin-top:3px!important;font-size:13px!important;color:#c4d4e2!important}
#root .server-backups > .panel-title > button{flex:0 0 auto;min-height:40px!important;padding:8px 16px!important;border-radius:10px!important;background:#fff!important;color:#0b2742!important;border:0!important;box-shadow:none!important;font-size:13.5px!important;font-weight:700!important}
#root .server-backups > .fs-backup-schedule,#root .server-backups > .fs-admin-paged{padding:0 22px!important}
#root .server-backups > .fs-backup-schedule{padding-top:16px!important;display:grid!important;gap:12px!important}
#root .server-backups > .fs-admin-paged{padding-bottom:18px!important}
#root .server-backups .backup-policy{margin:0!important;padding:12px 14px!important;border-radius:12px!important;gap:12px!important;align-items:center!important}
#root .server-backups .backup-policy > span{width:34px!important;height:34px!important;font-size:16px!important}
#root .server-backups .backup-policy small{font-size:12.5px!important;line-height:1.45!important}
#root .server-backups .fs-backup-schedule > form{padding:14px!important;border-radius:12px!important;margin:0!important}
#root .server-backups .fs-backup-schedule legend{font-size:15px!important}
#root .server-backups .fs-backup-hint{font-size:12px!important}
@media (max-width:760px){
  #root .server-backups > .panel-title{padding:14px 16px!important;flex-direction:column!important;align-items:stretch!important}
  #root .server-backups .backup-heading-copy h2{font-size:17px!important}
  #root .server-backups .backup-heading-copy small{font-size:12px!important}
  #root .server-backups .backup-heading-icon{width:34px!important;height:34px!important;font-size:15px!important}
  #root .server-backups > .panel-title > button{width:100%!important}
  #root .server-backups > .fs-backup-schedule,#root .server-backups > .fs-admin-paged{padding-left:12px!important;padding-right:12px!important}
  #root .server-backups .fs-backup-schedule > form{padding:12px!important}

  /* Réglages emails & panneaux imbriqués : on récupère la largeur */
  #root .fs-admin-operations{display:grid;gap:12px}
  #root .fs-admin-operations > .approval-panel:not(.server-backups):not(.fs-remote-settings),#root .fs-admin-content .approval-panel:not(.server-backups):not(.fs-remote-settings){padding:14px 12px!important;border-radius:14px!important}
  #root .approval-panel .fs-reliability-panel{padding:12px 0 0!important;border:0!important;border-top:1px solid #e1e9f0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;margin-top:12px!important}
  #root .fs-email-intro{padding:2px 0 10px!important}
  #root .fs-email-intro h2{font-size:18px!important}
  #root .fs-email-intro p,#root .fs-email-group-description{font-size:12.5px!important;line-height:1.45!important}
  #root .fs-email-audience-groups{gap:10px!important}
  #root .fs-email-audience-group{padding:10px!important;border-radius:12px!important;margin:0!important}
  #root .fs-email-audience-group legend{font-size:15px!important}
  #root .fs-email-disclosure > summary{padding:8px 4px!important}
  #root .fs-email-option{padding:12px!important;border-radius:12px!important;gap:8px!important}
  #root .fs-email-option-heading{gap:8px!important}
  #root .fs-email-option-heading strong,#root .fs-email-option h3,#root .fs-email-option h4{font-size:15px!important;line-height:1.3!important}
  #root .fs-email-switch{padding:5px 8px!important;gap:6px!important}
  #root .fs-email-card-list{gap:8px!important}
  #root .fs-settings-actions{padding:12px!important;gap:10px!important}
  #root .fs-history-list > article{padding:12px!important}
}

/* ---------- 58. Suivi « Mes demandes » : 7e étape « Distribué » pour les offres partenaires ---------- */
#root .enrollment-progress.fs-progress-7{grid-template-columns:repeat(7,minmax(0,1fr))!important}
@media (max-width:760px){
  #root .my-enrollments .enrollment-progress.fs-progress-7,#root .enrollment-progress.fs-progress-7{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

/* ---------- 59. Modification complète d'une demande (admin) ---------- */
#root .fs-admin-request-edit > header > span svg{width:16px;height:16px}
#root .fs-admin-request-edit form{display:grid;gap:12px}
#root .fs-admin-edit-block{margin:0;padding:12px 14px;border:1px solid #dfe8f0;border-radius:12px;background:#fbfdfe;display:grid;gap:10px;min-width:0}
#root .fs-admin-edit-block > legend{float:left;width:100%;padding:0;margin:0 0 2px;font-size:13px;font-weight:800;letter-spacing:.02em;color:#0b2742}
#root .fs-admin-edit-block > legend + *{clear:both}
#root .fs-admin-edit-hint{margin:0;font-size:12px;color:#5b6b7a;line-height:1.4}
#root .fs-admin-edit-block textarea{width:100%;box-sizing:border-box}
#root .fs-admin-request-grid label.is-wide{grid-column:1/-1}
#root .fs-admin-edit-check{display:flex!important;align-items:center;gap:8px;grid-column:1/-1}
#root .fs-admin-edit-check input{width:18px;height:18px;min-height:0}
#root .fs-gift-allowance-field{max-width:260px}
#root .fs-gift-edit-child{border:1px solid #e1e9f0;border-radius:12px;background:#fff;padding:10px 12px;display:grid;gap:8px}
#root .fs-gift-edit-child > header{display:flex;align-items:center;gap:10px}
#root .fs-gift-edit-child > header b{width:24px;height:24px;border-radius:50%;background:#0b2742;color:#fff;display:grid;place-items:center;font-size:12px;flex:0 0 auto}
#root .fs-gift-edit-child > header strong{flex:1;font-size:14px;color:#0b2742}
#root .fs-gift-edit-child > header button{min-height:28px;padding:3px 10px;border-radius:8px;font-size:12px}
#root .fs-gift-edit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}
#root .fs-gift-edit-grid.is-4{grid-template-columns:minmax(0,2fr) minmax(0,1.4fr) 70px 90px}
#root .fs-gift-edit-grid label{display:grid;gap:4px;font-size:11.5px;font-weight:700;color:#4a6175;min-width:0}
#root .fs-gift-edit-grid input{min-height:36px;padding:6px 10px;font-size:13.5px;width:100%;box-sizing:border-box}
#root .fs-gift-edit-label{margin:2px 0 -2px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#8a6a1e}
#root .fs-gift-edit-total{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;padding:10px 12px;border-radius:10px;background:#ecf8f3;border:1px solid #b9e3d0;font-size:12.5px;color:#22543f}
#root .fs-gift-edit-total.is-due{background:#fff6e8;border-color:#f0d39a;color:#7a4d06}
#root .fs-gift-edit-total strong{font-size:15px}
@media (max-width:760px){
  #root .fs-gift-edit-grid.is-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  #root .fs-gift-edit-grid.is-4 label.is-wide{grid-column:1/-1}
  #root .fs-admin-edit-block{padding:10px}
}

/* ---------- 60. Récapitulatif des cadeaux de Noël (admin et collaborateur) ---------- */
#root .fs-gift-summary.fs-gift-summary-v2{display:grid;gap:10px;padding:14px;border:1px solid #e3eaf1;border-radius:14px;background:#fff}
#root .fs-gift-summary-v2 > header{display:flex;align-items:center;justify-content:space-between;gap:10px}
#root .fs-gift-summary-v2 > header h3{margin:0;font-size:15px;color:#0b2742}
#root .fs-gift-summary-v2 .fs-gift-allowance{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:#eef4f8;color:#21445f;white-space:nowrap}
#root .fs-gift-summary-v2 .fs-gift-children{display:grid;gap:8px}
#root .fs-gift-summary-v2 .fs-gift-child{border:1px solid #e6edf3;border-radius:12px;padding:10px 12px;display:grid;gap:6px;background:#fbfdfe}
#root .fs-gift-summary-v2 .fs-gift-child > header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#root .fs-gift-summary-v2 .fs-gift-child > header b{width:22px;height:22px;border-radius:50%;background:#0b2742;color:#fff;display:grid;place-items:center;font-size:11.5px}
#root .fs-gift-summary-v2 .fs-gift-child > header strong{font-size:14px;color:#0b2742}
#root .fs-gift-summary-v2 .fs-gift-child > header span{font-size:11.5px;color:#5b6b7a;padding:2px 8px;border-radius:999px;background:#eef3f7}
#root .fs-gift-summary-v2 .fs-gift-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 10px;border-radius:9px;background:#fff;border:1px solid #edf2f6}
#root .fs-gift-summary-v2 .fs-gift-choice-tag{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:#8a6a1e;background:#fbf3e2;padding:3px 7px;border-radius:6px;white-space:nowrap}
#root .fs-gift-summary-v2 .fs-gift-choice > div{min-width:0;display:grid;gap:1px}
#root .fs-gift-summary-v2 .fs-gift-choice > div strong{font-size:13px;color:#13324c;overflow-wrap:anywhere}
#root .fs-gift-summary-v2 .fs-gift-choice > div small{font-size:11.5px;color:#6a7d8d}
#root .fs-gift-summary-v2 .fs-gift-choice-price{text-align:right;justify-items:end}
#root .fs-gift-summary-v2 .fs-gift-choice-price b{font-size:13.5px;color:#0b2742;white-space:nowrap}
#root .fs-gift-summary-v2 .fs-gift-choice-price em{font-style:normal;font-size:11px;font-weight:700;color:#b2620b}
#root .fs-gift-summary-v2 .fs-gift-total{display:grid;gap:4px;padding:10px 12px;border-radius:12px}
#root .fs-gift-summary-v2 .fs-gift-total > div{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
#root .fs-gift-summary-v2 .fs-gift-total > div span{font-size:12.5px;font-weight:700}
#root .fs-gift-summary-v2 .fs-gift-total > div strong{font-size:18px}
#root .fs-gift-summary-v2 .fs-gift-total p{margin:0;font-size:12.5px}
#root .fs-gift-summary-v2 .fs-gift-total small{font-size:11px;opacity:.8}
#root .fs-gift-summary-v2 .fs-gift-total.is-ok{background:#ecf8f3;color:#22543f;border:1px solid #c5e8d7}
#root .fs-gift-summary-v2 .fs-gift-total.is-due{background:#fff6e8;color:#7a4d06;border:1px solid #f0d39a}
@media (max-width:520px){
  #root .fs-gift-summary-v2 .fs-gift-choice{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"tag price" "info info"}
  #root .fs-gift-summary-v2 .fs-gift-choice-tag{grid-area:tag;justify-self:start}
  #root .fs-gift-summary-v2 .fs-gift-choice > div:not(.fs-gift-choice-price){grid-area:info}
  #root .fs-gift-summary-v2 .fs-gift-choice-price{grid-area:price}
}

/* 61. Icônes d'action (œil, crayon, enveloppe) parfaitement centrées */
#root .fs-admin-v15 .participants-table > article .participant-actions button.fs-row-icon,#root .participants-table > article .participant-actions button.fs-row-icon,#root .fs-row-icon{padding:0!important;display:inline-grid!important;place-items:center!important;line-height:0!important;text-align:center!important}
#root .fs-row-icon svg{display:block!important;margin:0!important;flex:0 0 auto}
@media (max-width:760px){#root .participants-table article .mobile-enrollment-toggle{padding:0!important;display:inline-grid!important;place-items:center!important;line-height:1!important}}

/* 62. Tableau des demandes : plus de débordement horizontal entre 761 et 1440 px */
@media (min-width:1101px) and (max-width:1500px){
  #root .fs-admin-v15 :is(.participant-head, .participants-table > article){grid-template-columns:30px minmax(140px,1.2fr) minmax(140px,1fr) 74px 86px minmax(180px,.95fr) 122px!important}
}
@media (min-width:761px) and (max-width:1100px){
  #root .fs-admin-v15 .participants-table > .participant-head{display:none!important}
  #root .fs-admin-v15 .participants-table > article,#root .participants-table > article.fs-stage-row{
    grid-template-columns:26px minmax(0,1.15fr) minmax(0,1fr) minmax(170px,auto) auto!important;
    grid-template-areas:"check identity event status actions" ". count payment status actions"!important;
    gap:6px 14px!important;align-items:center!important;padding:12px 14px!important}
  #root .participants-table > article > label{grid-area:check!important}
  #root .participants-table > article > .participant-identity{grid-area:identity!important;min-width:0}
  #root .participants-table > article > .participant-event{grid-area:event!important;min-width:0}
  #root .participants-table > article > .participant-count{grid-area:count!important;display:flex!important;gap:6px;align-items:baseline;font-size:12px}
  #root .participants-table > article > .participant-payment{grid-area:payment!important;display:flex!important;gap:6px;align-items:baseline;font-size:12px}
  #root .participants-table > article > .participant-status{grid-area:status!important;align-self:center}
  #root .participants-table > article > .participant-actions{grid-area:actions!important;align-self:center}
  #root .participants-table > article > .mobile-enrollment-toggle,#root .participants-table > article > .mobile-enrollment-collapse{display:none!important}
}
@media (min-width:761px){
  #root .fs-admin-v15 .participants-table > article,#root .fs-admin-v15 .participants-table > .participant-head,#root .participants-table > article.fs-stage-row{min-width:0!important}
}

/* ---------- 63. Éditeur de fiche & formulaires : contraste renforcé ---------- */
#root .modal-backdrop :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]){border:1px solid #93a9bc!important;background-color:#fff!important;color:#0b2742!important}
#root .modal-backdrop :is(input,select,textarea)::placeholder{color:#6f8396!important;opacity:1}
#root .modal-backdrop :is(input,select,textarea):not([type=checkbox]):not([type=radio]):focus{border-color:#1b5f8c!important;box-shadow:0 0 0 3px rgba(27,95,140,.18)!important;outline:none!important}
#root .modal-backdrop label{color:#13324c}
#root .content-editor .fs-editor-section{border-color:#cfdbe6!important}
#root .content-editor .fs-editor-section[open] > summary{background:#eef4f9!important;border-bottom:1px solid #d5e1eb!important}
#root .content-editor .fs-editor-section-title strong{color:#0b2742!important}
#root .content-editor .fs-editor-section-title small{color:#4f6476!important}
#root .content-editor .fs-editor-section-body :is(label,legend,h3,h4){color:#13324c!important}
#root .content-editor .fs-editor-section-body small,#root .content-editor .fs-field-hint{color:#55697b!important}
#root .content-editor fieldset{border-color:#cfdbe6!important}
#root .fs-gift-form :is(input,select,textarea):not([type=checkbox]):not([type=radio]),#root .fs-offer-dialog :is(input,select,textarea):not([type=checkbox]):not([type=radio]){border-color:#93a9bc!important}

/* Rubriques modifiées */
#root .fs-editor-changes{margin:6px 0 0;font-size:12.5px;font-weight:700;color:#3d7a5d}
#root .fs-editor-changes.has-changes{color:#9a5a00}
#root .fs-editor-index nav button{position:relative}
#root .fs-editor-dirty{width:9px;height:9px;border-radius:50%;background:#e08a00;box-shadow:0 0 0 3px #fff3dd;margin-left:auto;flex:0 0 auto}
#root .fs-editor-dirty-chip{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:#fff1d6;color:#8a5200;font-style:normal;font-size:11px;font-weight:800;vertical-align:middle}

/* Aperçu en direct */
#root .fs-editor-preview{margin-top:14px;padding-top:12px;border-top:1px solid #dbe5ee;display:grid;gap:8px}
#root .fs-editor-preview-label{margin:0;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#4a6175}
#root .fs-editor-preview-label span{color:#2ea36b;font-size:10px}
#root .fs-editor-preview-frame{pointer-events:none;user-select:none;border-radius:16px;background:#eef3f7;padding:8px;max-height:640px;overflow:hidden}
#root .fs-editor-preview-frame :is(.event-list,.offer-grid){display:block!important;grid-template-columns:none!important;margin:0!important;padding:0!important}
#root .fs-editor-preview-frame :is(.event-list,.offer-grid) > *{width:100%!important;max-width:none!important;margin:0!important}
#root .fs-editor-preview > small{font-size:11.5px;color:#5b6b7a}
#root .fs-editor-preview-empty{margin:0;padding:12px;font-size:12px;color:#5b6b7a}
@media (max-width:760px){
  #root .content-editor .fs-editor-preview{margin:0;border:0;padding:0}
  #root .content-editor .fs-editor-preview-frame{max-height:520px}
}

/* Modèles de fiche en cartes */
#root .fs-model-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
#root .fs-model-card{position:relative;display:grid;gap:3px;text-align:left;padding:10px 12px;border-radius:12px;border:1px solid #c6d4e0;background:#fff;color:#0b2742;cursor:pointer;min-height:64px}
#root .fs-model-card strong{font-size:13.5px;line-height:1.3}
#root .fs-model-card small{font-size:11.5px;line-height:1.35;color:#55697b}
#root .fs-model-card em{position:absolute;top:8px;right:8px;font-style:normal;font-size:10px;font-weight:800;color:#2e6f53;background:#e5f5ec;padding:1px 7px;border-radius:999px}
#root .fs-model-card.is-current{border-color:#7fb79a}
#root .fs-model-card.is-selected{border-color:#0b2742;box-shadow:0 0 0 2px #0b2742 inset;background:#f2f7fb}
#root .fs-model-apply{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-top:8px;padding:10px 12px;border-radius:12px;background:#fff6e6;border:1px solid #f0d39a;font-size:12.5px;color:#6b4300}
#root .fs-model-apply button{min-height:36px;padding:6px 14px;border-radius:9px;border:0;background:#0b2742;color:#fff;font-weight:700;cursor:pointer}

/* Formulaires prêts à l'emploi */
#root .fs-form-presets{display:grid;gap:8px;padding:10px 12px;border-radius:12px;background:#f3f7fa;border:1px solid #d7e2eb}
#root .fs-form-presets > span{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#4a6175}
#root .fs-form-presets > div{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:6px}
#root .fs-form-presets > div button{display:grid;gap:2px;text-align:left;padding:8px 10px;border-radius:10px;border:1px solid #c6d4e0;background:#fff;color:#0b2742;cursor:pointer}
#root .fs-form-presets > div button:hover{border-color:#1b5f8c}
#root .fs-form-presets > div strong{font-size:12.5px}
#root .fs-form-presets > div small{font-size:11px;color:#5b6b7a}
#root .fs-form-presets-studio{justify-self:start;min-height:36px;padding:6px 14px;border-radius:9px;border:1px solid #0b2742;background:#0b2742;color:#fff;font-weight:700;cursor:pointer}
#root .content-editor .fs-model-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-content:start!important;justify-items:start!important;gap:3px!important;padding:10px 12px 10px!important;white-space:normal!important}
#root .content-editor .fs-model-card em{position:static;justify-self:start;margin-top:3px}
#root .content-editor .fs-form-presets > div button{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-items:start!important;white-space:normal!important}
#root .fs-editor-preview-frame > *{width:360px;zoom:.6}
@media (max-width:760px){#root .fs-editor-preview-frame > *{width:auto;zoom:1}}
#root .content-editor .fs-sheet-models button.fs-model-card{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-content:start!important;justify-items:start!important;text-align:left!important;white-space:normal!important}
#root .content-editor .fs-form-presets > div > button{display:grid!important;grid-template-columns:minmax(0,1fr)!important;justify-items:start!important;text-align:left!important;white-space:normal!important}
#root .content .fs-editor-preview-frame .event-list,#root .content .fs-editor-preview-frame .offer-grid,#root .fs-editor-preview-frame .event-list:not(.home-events){display:block!important;grid-template-columns:none!important;width:360px!important;max-width:none!important}
#root .content .fs-editor-preview-frame :is(.event-list,.offer-grid) > article{width:100%!important;max-width:none!important;min-width:0!important}
#root .fs-editor-preview-frame > .fs-preview-content{padding:0!important;margin:0!important;min-height:0!important;background:transparent!important;max-width:none!important;display:block!important}
@media (max-width:760px){#root .content-editor .fs-editor-preview{display:none!important}}
#root .fs-profile-locked-note{grid-column:1/-1;margin:2px 0 0;padding:9px 12px;border-radius:10px;background:#f3f7fa;border:1px solid #dbe5ee;font-size:12.5px;color:#4a6175;line-height:1.45}
#root .fs-profile-information :is(input,select):disabled{background:#f1f5f8!important;color:#3d5366!important;cursor:not-allowed}

/* ===== 64. Fiches : modèle choisi + « Choisir un autre », formulaire à la demande, cadeaux repliés (lot 22) ===== */
#root .content-editor .fs-model-current{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
#root .content-editor .fs-model-current > .fs-model-card{flex:1 1 260px;display:grid;gap:3px;padding:12px 14px;border-radius:12px;border:2px solid #0b2742;background:#f3f7fa;color:#0b2742;text-align:left}
#root .content-editor .fs-model-current .fs-model-kicker{font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#1b5f8c}
#root .content-editor .fs-model-current strong{font-size:14px}
#root .content-editor .fs-model-current small{font-size:12px;color:#4a5b6b}
#root .content-editor button.fs-model-toggle{align-self:center;min-height:38px;padding:6px 16px;border-radius:10px;border:1px solid #0b2742;background:#fff;color:#0b2742;font-weight:700;cursor:pointer;white-space:nowrap}
#root .content-editor button.fs-model-toggle[aria-expanded="true"]{background:#0b2742;color:#fff}
#root .content-editor .fs-model-current + .fs-model-cards{margin-top:10px;padding-top:10px;border-top:1px dashed #c6d4e0}
#root .content-editor .fs-form-picker{display:grid;gap:10px;margin-top:10px;padding:12px;border-radius:12px;border:1px dashed #9fb5c8;background:#fbfdfe}
#root .content-editor .fs-form-active-actions{display:flex;flex-wrap:wrap;gap:8px}
#root .content-editor .fs-form-active-actions button[aria-expanded="true"]{background:#0b2742!important;color:#fff!important;border-color:#0b2742!important}
#root .content-editor details.fs-gift-fold{padding:0!important;overflow:hidden}
#root .content-editor details.fs-gift-fold > summary{list-style:none;display:flex;align-items:center;gap:12px;padding:12px 14px;cursor:pointer}
#root .content-editor details.fs-gift-fold > summary::-webkit-details-marker{display:none}
#root .content-editor details.fs-gift-fold .fs-fold-title{display:grid;gap:2px;flex:1;min-width:0}
#root .content-editor details.fs-gift-fold .fs-fold-title strong{font-size:14px;color:#0b2742}
#root .content-editor details.fs-gift-fold .fs-fold-title small{font-size:12px;color:#4a5b6b}
#root .content-editor details.fs-gift-fold .fs-fold-action{font-size:12px;font-weight:700;color:#1b5f8c;padding:4px 10px;border:1px solid #c6d4e0;border-radius:999px;background:#fff}
#root .content-editor details.fs-gift-fold > summary > i{font-style:normal;color:#1b5f8c;transition:transform .15s}
#root .content-editor details.fs-gift-fold[open] > summary{border-bottom:1px solid #d7e2eb;background:#f3f7fa}
#root .content-editor details.fs-gift-fold[open] > summary > i{transform:rotate(180deg)}
#root .content-editor details.fs-gift-fold[open] .fs-fold-action{display:none}
#root .content-editor details.fs-gift-fold[open] > :not(summary){margin-left:14px;margin-right:14px}
#root .content-editor details.fs-gift-fold[open] > :last-child{margin-bottom:14px}
#root .content-editor details.fs-gift-fold[open] > summary + *{margin-top:12px}

/* ===== 65. Compactage : « Qui reçoit les emails ? » et « Versions détectées sur les appareils » (lot 22) ===== */
#root .fs-email-options{gap:12px!important}
#root .fs-email-options .fs-email-intro{margin:0!important;padding:0!important}
#root .fs-email-options .fs-email-intro h2{font-size:20px!important;margin:0 0 2px!important}
#root .fs-email-options .fs-email-intro p{font-size:13px!important;margin:0!important;max-width:none!important}
#root .fs-email-options .fs-email-search{display:flex!important;align-items:center;gap:10px;margin:0!important;font-size:12.5px}
#root .fs-email-options .fs-email-search input{max-width:420px;min-height:36px!important;padding:6px 12px!important}
#root .fs-email-options .fs-email-audience-groups{gap:12px!important}
#root .fs-email-options .fs-email-audience-group{padding:12px 14px!important}
#root .fs-email-options .fs-email-group-description{font-size:12.5px!important;margin:2px 0 6px!important;line-height:1.4!important}
#root .fs-email-options .fs-email-disclosure > summary{padding:6px 0!important;font-size:13px}
#root .fs-email-options .fs-email-card-list{gap:6px!important}
#root .fs-email-options .fs-email-subgroup-title{font-size:13px!important;margin:8px 0 4px!important}
#root .fs-email-options article.fs-email-option{display:grid!important;gap:6px!important;padding:10px 12px!important;border-radius:10px!important}
#root .fs-email-options .fs-email-option-heading{display:flex!important;align-items:center!important;justify-content:space-between;gap:10px}
#root .fs-email-options .fs-email-option-heading h3{font-size:14px!important;line-height:1.25!important;margin:0!important}
#root .fs-email-options .fs-email-recipient-tag{font-size:10.5px!important}
#root .fs-email-options .fs-email-switch{padding:3px 8px!important;min-height:0!important}
#root .fs-email-options .fs-email-recipient{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px}
#root .fs-email-options .fs-email-recipient label{font-size:11.5px!important;margin:0!important}
#root .fs-email-options .fs-email-recipient input{min-height:32px!important;padding:4px 10px!important;font-size:13px!important}
#root .fs-email-options .fs-email-auto-recipient{display:block!important;padding:6px 10px!important;font-size:12px!important;line-height:1.35}
#root .fs-email-options .fs-email-auto-recipient strong{display:inline!important;font-size:12px!important;margin-right:4px}
#root .fs-email-options .fs-email-auto-recipient span{display:inline!important}
#root .fs-email-options button.fs-email-preview-button{justify-self:start;min-height:30px!important;padding:4px 12px!important;font-size:12.5px!important;border-radius:8px!important}
#root .fs-email-options .fs-email-password-note{font-size:12px!important;margin:4px 0!important}
@media (max-width:760px){#root .fs-email-options .fs-email-recipient{grid-template-columns:1fr}#root .fs-email-options .fs-email-search{display:grid!important}}

#root .fs-technical-page .fs-reliability-panel{gap:10px!important;padding:16px 18px!important}
#root .fs-reliability-panel > header h2{font-size:19px!important;margin:0!important}
#root .fs-reliability-panel > header p{font-size:12.5px!important;margin:2px 0 0!important}
#root .fs-reliability-panel > header button{min-height:34px!important;padding:5px 14px!important}
#root .fs-reliability-panel .fs-history-filter{display:flex!important;align-items:center;gap:8px;margin:0!important;font-size:12.5px}
#root .fs-reliability-panel .fs-history-filter select{min-height:34px!important;padding:4px 10px!important;width:auto!important}
#root .fs-reliability-panel .fs-history-summary{gap:6px!important;margin:0!important}
#root .fs-reliability-panel .fs-history-summary span{padding:4px 10px!important;font-size:12px!important}
#root .fs-reliability-panel .fs-device-list{display:grid!important;gap:0!important;border:1px solid #dde6ee;border-radius:12px;overflow:hidden}
#root .fs-reliability-panel .fs-device-list > article{display:grid!important;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.9fr)!important;align-items:center;gap:12px!important;padding:8px 14px!important;margin:0!important;border:0!important;border-radius:0!important;border-bottom:1px solid #e6edf3!important;box-shadow:none!important;background:#fff!important}
#root .fs-reliability-panel .fs-device-list > article:nth-child(even){background:#f8fafc!important}
#root .fs-reliability-panel .fs-device-list > article:last-child{border-bottom:0!important}
#root .fs-reliability-panel .fs-device-list > article > div{display:flex!important;flex-wrap:wrap;align-items:baseline;gap:2px 8px!important;min-width:0}
#root .fs-reliability-panel .fs-device-list > article strong{font-size:13.5px!important}
#root .fs-reliability-panel .fs-device-list > article span,#root .fs-reliability-panel .fs-device-list > article small{font-size:12px!important;line-height:1.3!important;margin:0!important}
#root .fs-reliability-panel .fs-device-list > article small{flex-basis:100%;color:#5b6b7a!important}
#root .fs-reliability-panel .fs-device-list .fs-reason-badge{padding:1px 7px!important;font-size:11px!important}
#root .fs-reliability-panel .fs-reliability-pager{margin:0!important}
#root .fs-reliability-panel .fs-reliability-pager button{min-height:32px!important;padding:4px 12px!important}
#root .fs-reliability-panel .fs-reliability-note{font-size:11.5px!important;margin:0!important}
@media (max-width:760px){#root .fs-reliability-panel .fs-device-list > article{grid-template-columns:1fr!important;gap:4px!important}}
#root .fs-email-options .fs-email-card-list article.fs-email-option{grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;column-gap:10px!important;row-gap:6px!important}
#root .fs-email-options .fs-email-card-list article.fs-email-option > .fs-email-option-heading{grid-column:1 / -1}
#root .fs-email-options .fs-email-card-list article.fs-email-option > .fs-email-disabled-note{grid-column:1 / -1;margin:0!important;font-size:12px!important}
#root .fs-email-options .fs-email-card-list article.fs-email-option > .fs-email-preview-button{grid-column:2;grid-row:2;align-self:center}
#root .fs-email-options .fs-email-card-list article.fs-email-option > .fs-email-recipient,#root .fs-email-options .fs-email-card-list article.fs-email-option > .fs-email-auto-recipient{grid-column:1;grid-row:2;margin:0!important}
#root .fs-email-options .fs-email-card-list .fs-email-recipient > label{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
#root .fs-email-options .fs-email-card-list .fs-email-recipient{display:block!important}
#root .fs-email-options .fs-email-card-list .fs-email-recipient input{width:100%!important}
#root .fs-email-options .fs-email-card-list .fs-email-auto-recipient strong{display:none!important}
#root .fs-reliability-panel .fs-device-list > article > div > strong,#root .fs-reliability-panel .fs-device-list > article > div > span{display:inline!important;width:auto!important}
#root .fs-reliability-panel .fs-device-list > article > div > span:not(.fs-reason-badge){color:#4a5b6b!important}
@media (max-width:760px){#root .fs-email-options .fs-email-card-list article.fs-email-option{grid-template-columns:1fr!important}#root .fs-email-options .fs-email-card-list article.fs-email-option > *{grid-column:1!important;grid-row:auto!important}}

/* ===== 66. Fiche demande (admin) : colonnes claires, édition sans doublon, suivi interne (lot 22) ===== */
#root .participant-drawer > .fs-drawer-main{grid-column:1;grid-row:2;display:grid;gap:12px;align-content:start;min-width:0}
#root .participant-drawer > .fs-drawer-side{grid-column:2;grid-row:2;display:grid;gap:12px;align-content:start;min-width:0}
#root .participant-drawer > .fs-drawer-side > .employee-message-composer{grid-column:auto!important;grid-row:auto!important;margin:0!important}
#root .participant-drawer > .fs-drawer-main > *{margin:0!important}
#root .participant-drawer .fs-drawer-main > dl.registration-summary-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
#root .participant-drawer .fs-drawer-main > dl.registration-summary-grid > div{min-height:0!important;padding:9px 12px!important}
#root .participant-drawer .fs-drawer-main:has(.fs-admin-request-edit.is-open) > :is(dl.registration-summary-grid,.fs-gift-summary-v2,.fs-custom-form-summary){display:none!important}
#root .participant-drawer .fs-admin-request-edit:not(.is-open){padding:8px 12px!important}
#root .participant-drawer .fs-admin-request-edit:not(.is-open) > header{padding:0!important;border:0!important;margin:0!important}
#root .participant-drawer .fs-admin-request-edit:not(.is-open) > header small{display:none}
#root .fs-followup-v22{display:grid;gap:12px;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid #d7e2eb;box-shadow:0 1px 2px rgba(11,39,66,.05)}
#root .fs-followup-v22 > header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
#root .fs-followup-v22 > header strong{font-size:15px;color:#0b2742}
#root .fs-followup-v22 > header small{font-size:11.5px;color:#7a5b00;background:#fff6dc;border:1px solid #f1dfa6;border-radius:999px;padding:2px 8px}
#root .fs-followup-block{display:grid;gap:8px}
#root .fs-followup-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#4a6175}
#root .fs-followup-label i{font-style:normal;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#0b2742;color:#fff;font-size:10.5px;display:inline-grid;place-items:center;letter-spacing:0}
#root .fs-followup-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
#root .fs-followup-chips > em{font-size:12.5px;color:#6b7b8a}
#root .fs-followup-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 4px 3px 3px;border-radius:999px;background:#eef4f9;border:1px solid #c6d4e0;font-size:12.5px;font-weight:600;color:#0b2742}
#root .fs-followup-chip > b,#root .fs-followup-comments b{width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;background:#0b2742;color:#fff;font-size:9.5px;font-weight:800;flex:none}
#root .fs-followup-chip > button{width:20px;height:20px;min-height:0!important;padding:0!important;border-radius:50%!important;border:0!important;background:transparent!important;color:#5b6b7a!important;font-size:15px;line-height:1;cursor:pointer}
#root .fs-followup-chip > button:hover{background:#fde8e8!important;color:#b42318!important}
#root .fs-followup-v22 button.fs-followup-add{width:30px;height:30px;min-height:0!important;padding:0!important;border-radius:50%!important;border:1.5px dashed #1b5f8c!important;background:#fff!important;color:#1b5f8c!important;font-size:18px;font-weight:700;line-height:1;cursor:pointer}
#root .fs-followup-v22 button.fs-followup-me{min-height:28px!important;padding:2px 10px!important;border-radius:999px!important;border:1px solid #c6d4e0!important;background:#fff!important;color:#1b5f8c!important;font-size:12px;font-weight:700}
#root .fs-followup-chips select{min-height:32px!important;padding:3px 8px!important;font-size:13px;border-radius:8px;width:auto!important;max-width:100%}
#root .fs-followup-comments{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:260px;overflow:auto}
#root .fs-followup-comments li{padding:8px 10px;border-radius:10px;background:#f6f8fa;border:1px solid #e3eaf0}
#root .fs-followup-comments li > div{display:flex;align-items:center;gap:6px}
#root .fs-followup-comments li strong{font-size:12.5px;color:#0b2742}
#root .fs-followup-comments li time{font-size:11px;color:#6b7b8a;margin-right:auto}
#root .fs-followup-comments li p{margin:4px 0 0 28px;font-size:13px;line-height:1.4;white-space:pre-wrap;color:#1f2d3a}
#root .fs-followup-v22 button.fs-followup-delete{width:22px;height:22px;min-height:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:#8a97a3!important;font-size:15px;opacity:.6;cursor:pointer}
#root .fs-followup-comments li:hover .fs-followup-delete{opacity:1}
#root .fs-followup-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}
#root .fs-followup-form textarea{min-height:56px!important;padding:8px 10px!important;font-size:13px!important;resize:vertical;border:1px solid #9fb5c8!important;border-radius:10px!important}
#root .fs-followup-form button{min-height:36px!important;padding:6px 14px!important;border-radius:10px!important;background:#0b2742!important;color:#fff!important;border:0!important;font-weight:700}
#root .fs-followup-form button:disabled{opacity:.45}
#root .content-editor .fs-responsibles-v22{display:grid;gap:8px;padding:12px 14px!important;border-radius:12px;border:1px solid #d7e2eb;background:#fbfdfe}
#root .content-editor .fs-responsibles-v22 > header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;flex-wrap:wrap}
#root .content-editor .fs-responsibles-v22 > header h3{margin:0!important;font-size:14px!important;color:#0b2742}
#root .content-editor .fs-responsibles-v22 > header small{font-size:12px;color:#4a5b6b}
#root .content-editor .fs-responsibles-v22 .fs-responsibles-hint{margin:0;font-size:12.5px;color:#4a5b6b}
#root .content-editor .fs-contact-moved-note{margin:4px 0;font-size:12.5px;color:#1b5f8c}
@media (max-width:900px){#root .participant-drawer > .fs-drawer-main,#root .participant-drawer > .fs-drawer-side{grid-column:1 / -1;grid-row:auto}}

/* ===== 67. Mes demandes : cartes plus compactes, toujours espacées ; libellés de la consigne lisibles (lot 22) ===== */
#root .my-enrollments.compact-requests{gap:12px!important}
#root .my-enrollments.compact-requests > article.fs-stage-row{padding:12px 16px!important;row-gap:8px!important}
#root .my-enrollments.compact-requests > article .request-card-head{min-height:0!important}
#root .my-enrollments.compact-requests > article .fs-request-body{gap:8px!important}
#root .my-enrollments.compact-requests > article .enrollment-progress{padding:6px 10px!important;min-height:0!important}
#root .my-enrollments.compact-requests > article .request-card-footer{gap:10px!important;min-height:0!important}
#root .my-enrollments.compact-requests > article .request-card-footer > *{min-height:0!important}
#root .my-enrollments.compact-requests > article .request-card-footer :is(.fs-payment-progress,.payment-progress,.request-payment,.fs-request-lock,.request-note,p){padding-top:7px!important;padding-bottom:7px!important}
#root .my-enrollments.compact-requests > article .request-card-footer button{min-height:36px!important;padding:6px 12px!important}
@media (max-width:760px){#root .my-enrollments.compact-requests{gap:10px!important}#root .my-enrollments.compact-requests > article.fs-stage-row{padding:10px 12px!important}}
#root .participant-drawer .employee-message-composer label{color:#d6e4f0!important;font-size:12px!important;font-weight:700}

/* ===== 68. Nettoyage des données de test (Suivi technique, lot 22) ===== */
#root details.fs-clean-v22{border-radius:16px;border:1px solid #f0c8c3;background:#fff;overflow:hidden}
#root details.fs-clean-v22 > summary{list-style:none;display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;background:#fff7f6}
#root details.fs-clean-v22 > summary::-webkit-details-marker{display:none}
#root details.fs-clean-v22 > summary > span:nth-child(2){display:grid;gap:2px;flex:1}
#root details.fs-clean-v22 > summary strong{font-size:15px;color:#7a1c13}
#root details.fs-clean-v22 > summary small{font-size:12.5px;color:#5b4a48}
#root details.fs-clean-v22 > summary > i{font-style:normal;color:#7a1c13}
#root details.fs-clean-v22[open] > summary > i{transform:rotate(180deg)}
#root .fs-clean-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:#fde3df;color:#b42318;font-size:16px}
#root .fs-clean-body{padding:14px 18px 18px;display:grid;gap:10px}
#root .fs-clean-body form{display:grid;gap:10px}
#root .fs-clean-body h4{margin:6px 0 0;font-size:13px;color:#0b2742;display:flex;gap:8px;align-items:center}
#root .fs-clean-body h4 b{font-size:11.5px;padding:1px 8px;border-radius:999px;background:#eef4f9;color:#1b5f8c}
#root .fs-clean-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-size:12.5px;color:#4a5b6b}
#root .fs-clean-toolbar button{min-height:32px!important;padding:4px 12px!important;border-radius:8px!important;border:1px solid #c6d4e0!important;background:#fff!important;color:#1b5f8c!important;font-size:12.5px;font-weight:700}
#root .fs-clean-list{display:grid;border:1px solid #e3eaf0;border-radius:10px;overflow:hidden;max-height:320px;overflow-y:auto}
#root .fs-clean-row{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 12px;border-bottom:1px solid #eef2f5;font-size:13px;cursor:pointer;margin:0!important}
#root .fs-clean-row:last-child{border-bottom:0}
#root .fs-clean-row.is-suspect{background:#fffaf0}
#root .fs-clean-row > span{display:grid;min-width:0}
#root .fs-clean-row strong{font-size:13px;color:#0b2742;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#root .fs-clean-row small{font-size:11.5px;color:#5b6b7a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#root .fs-clean-row em{font-style:normal;font-size:11px;font-weight:700;color:#8a5a00;background:#fff1cc;border-radius:999px;padding:2px 8px;white-space:nowrap}
#root .fs-clean-empty{margin:0;font-size:12.5px;color:#5b6b7a}
#root .fs-clean-warning{margin:0;padding:8px 12px;border-radius:10px;background:#fff1cc;color:#6b4a00;font-size:12.5px;font-weight:600}
#root .fs-clean-done{margin:0;padding:8px 12px;border-radius:10px;background:#e7f6ee;color:#14532d;font-size:13px;font-weight:600}
#root .fs-clean-archive{display:flex!important;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid #e3eaf0;background:#f8fafc;margin:0!important}
#root .fs-clean-archive span{display:grid;gap:2px}
#root .fs-clean-archive strong{font-size:13px;color:#0b2742}
#root .fs-clean-archive small{font-size:12px;color:#5b6b7a}
#root .fs-clean-confirm{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px;padding-top:6px;border-top:1px solid #eef2f5}
#root .fs-clean-confirm label{display:grid;gap:4px;font-size:12px;font-weight:700;color:#4a5b6b;margin:0!important}
#root .fs-clean-confirm input{min-height:36px!important;width:180px!important;padding:4px 10px!important;letter-spacing:.08em}
#root .fs-clean-confirm button.danger{min-height:38px!important;padding:6px 16px!important;border-radius:10px!important;background:#b42318!important;color:#fff!important;border:0!important;font-weight:700}
#root .fs-clean-confirm button.danger:disabled{opacity:.45}
@media (max-width:760px){#root .fs-clean-row{grid-template-columns:auto minmax(0,1fr)}#root .fs-clean-row em{grid-column:2;justify-self:start}}
@media (max-width:760px){
 #root .content-editor .fs-responsibles-v22{padding:10px!important}
 #root .content-editor .fs-responsibles-v22 .fs-contact-chips{display:flex!important;flex-wrap:wrap!important;gap:5px!important}
 #root .content-editor .fs-responsibles-v22 .fs-contact-chips button{min-height:30px!important;padding:3px 10px!important;font-size:12px!important}
 #root .content-editor .fs-responsibles-v22 .fs-contact-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 34px!important;gap:6px!important;padding:8px 0!important;border-bottom:1px solid #e3eaf0}
 #root .content-editor .fs-responsibles-v22 .fs-contact-row > input{min-height:36px!important;padding:4px 8px!important;font-size:13px!important;width:100%!important}
 #root .content-editor .fs-responsibles-v22 .fs-contact-row > input:first-child{grid-column:1 / 3}
 #root .content-editor .fs-responsibles-v22 .fs-contact-row > button{grid-column:3;grid-row:1;width:34px!important;min-height:36px!important;padding:0!important}
}
@media (max-width:760px){
 #root .content-editor .fs-responsibles-v22 .fs-contact-row > input:nth-child(1){grid-column:1 / 3!important;grid-row:1!important}
 #root .content-editor .fs-responsibles-v22 .fs-contact-row > input:nth-child(2){grid-column:1!important;grid-row:2!important}
 #root .content-editor .fs-responsibles-v22 .fs-contact-row > input:nth-child(3){grid-column:2 / 4!important;grid-row:2!important}
}

/* ===== 69. Chevrons dessinés (plus de « v » texte) et boutons de fermeture bien visibles (lot 23) ===== */
#root .fs-editor-chevron{flex:none;width:32px;height:32px;border-radius:50%;display:inline-grid!important;place-items:center;font-size:0!important;line-height:0;color:#0b2742!important;background:#fff;border:1.5px solid #9fb5c8;transition:transform .18s ease,background .15s,border-color .15s}
#root .fs-editor-chevron svg{display:block}
#root .fs-editor-section > summary:hover .fs-editor-chevron{border-color:#0b2742;background:#eef4f9}
#root .fs-editor-section[open] > summary .fs-editor-chevron{transform:rotate(180deg);background:#0b2742;color:#fff!important;border-color:#0b2742}
#root i.fs-chevron-i{display:inline-grid;place-items:center;font-style:normal;transition:transform .18s}
#root [aria-expanded="true"] > i.fs-chevron-i,#root details[open] > summary i.fs-chevron-i{transform:rotate(180deg)}
:is(#root,body) :is(.modal-close,.fs-studio-close,.fs-mail-close){width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:0!important;border-radius:50%!important;display:inline-grid!important;place-items:center!important;background:#0b2742!important;color:#fff!important;border:2px solid #fff!important;box-shadow:0 2px 10px rgba(11,39,66,.28)!important;font-size:22px!important;font-weight:700!important;line-height:1!important;cursor:pointer;opacity:1!important;z-index:5}
:is(#root,body) :is(.modal-close,.fs-studio-close,.fs-mail-close):hover{background:#b42318!important}
:is(#root,body) :is(.modal-close,.fs-studio-close,.fs-mail-close):focus-visible{outline:3px solid #f2b705!important;outline-offset:2px}

/* ===== 70. Contrastes : textes et boutons lisibles partout (WCAG AA, lot 23) ===== */
.fs-stage-0{--stage-ink:#4b5d6b}.fs-stage-1{--stage-ink:#1d5f96}.fs-stage-2{--stage-ink:#4f3fa8}.fs-stage-3{--stage-ink:#8f5400}.fs-stage-4{--stage-ink:#0b6a60}.fs-stage-5{--stage-ink:#1f6b37}.is-closed{--stage-ink:#5b6670}
#root :is(.fs-stage-mini small,.fs-stage-selector .fs-stage-count,.fs-stage-quick small,.fs-stage-quick > small.fs-stage-pill,.fs-stage-selector > header > span){color:var(--stage-ink,#33475b)!important}
#root .fs-stage-quick > small.fs-stage-pill.is-error{color:#9b1c13!important}
/* Bouton fichier « Remplacer / Ajouter une photo » : texte blanc sur fond bleu nuit */
#root label.image-upload-button,#root .content-editor label.image-upload-button{color:#fff!important}
#root label.image-upload-button *{color:inherit!important}
#root label.image-upload-button:hover{filter:brightness(1.12)}
/* Textes d'aide gris trop clairs */
#root :is(.content-editor,.participant-drawer,.fs-admin-v15,main) :is(p.registration-intro,.fs-editor-context-label,.fs-price-preview-caption,.fs-model-action,.fs-after-request-preview,.fs-editor-index > p,.fs-editor-index-label){color:#4a5b6b!important}
#root .content-editor p.fs-editor-changes{color:#25603f!important}
#root :is(.fs-admin-v15,main) .participants-table > header span,#root .participants-table-head span{color:#4a5a69!important}
#root .participants-table small,#root .participant-status small:not(.fs-stage-pill){color:#536676!important}
#root :is(.admin-filter-bar,.fs-admin-filters,.enrollment-filters) label > span{color:#46586a!important}
/* Menu latéral : intitulés de section et onglet actif orange */
#root .sidebar p,#root aside.sidebar p,#root .fs-sidebar-section-label{color:#9db1c6!important}
#root nav.fs-admin-main-nav a.active,#root nav.fs-admin-main-nav button.active{background:#8a5410!important;color:#fff!important}
#root .participants-table .participant-head span{color:#45566a!important}
#root .advanced-filter-fields label > span,#root .advanced-filter-panel label{color:#45566a!important}
#root .enrollment-progress > div.current span,#root .enrollment-progress > div.current strong{color:var(--stage-ink,#33475b)!important}
#root .enrollment-progress > div:not(.current) span{color:#3f5163}
#root .status-chip.fs-stage-chip{color:var(--stage-ink,#33475b)!important}
#root .payment-progress em,#root .fs-payment-progress em{color:#4a5a69!important}
#root .content-editor .fs-model-action{color:#4a5b6b!important}
#root .fs-followup-comments li time{color:#55677a!important}
#root .fs-email-options small{color:#4f6070}
#root .fs-riviera-control :is(.fs-riv-next,.fs-riv-section-empty,.fs-riv-diff-before,.fs-riv-keep){color:#4d5f70!important}
#root .fs-riviera-control .fs-riv-chip{color:#3f5164!important}
#root .fs-riviera-control .fs-riv-section-count{color:#4d5f70!important}
#root .fs-riviera-control .fs-riv-section-count.has-items{color:#7a4a0c!important}
#root .fs-riviera-control s{color:#5f6f7e!important}
#root .fs-riviera-control [class*="diff"] > header span,#root .fs-riviera-control table th,#root .fs-riviera-control .fs-riv-diff-head span{color:#45566a!important}

.fs-stage-c0{--step-ink:#4b5d6b}.fs-stage-c1{--step-ink:#1d5f96}.fs-stage-c2{--step-ink:#4f3fa8}.fs-stage-c3{--step-ink:#8f5400}.fs-stage-c4{--step-ink:#0b6a60}.fs-stage-c5{--step-ink:#1f6b37}.fs-stage-c6{--step-ink:#3f5163}
#root#root .enrollment-progress.fs-progress > div.current > span,#root#root .enrollment-progress.fs-progress > div.current > strong{color:var(--step-ink,#33475b)!important}
#root#root .content-editor .fs-model-action{color:#4a5b6b!important}
#root .content-editor .editor-grid p:not([class]):not(.rule-summary *):not(.compact-summary *):not([style]){color:#45566a!important}
#root .fs-riviera-control small{color:#4d5f70!important}
#root .fs-riviera-control .fs-riv-tag.is-hidden{color:#7a4a0c!important}
#root .participant-drawer .employee-message-composer > header small{color:#c9dbea!important}
#root#root .fs-admin-sidebar-groups button.active{background:#8a5410!important;color:#fff!important}
#root .notification-email-settings form small{color:#4f6070!important}
#root .fs-editor-cancel,#root .fs-editor-save-actions > button:not(.primary-button):not([type="submit"]){border:1.5px solid #0b2742!important;color:#0b2742!important;background:#fff!important;font-weight:700!important}
#root .fs-editor-cancel:hover{background:#eef4f9!important}

/* ===== 71. Barre d'actions groupées : police réduite (lot 24) ===== */
#root#root .bulk-action-bar{gap:6px!important}
#root#root .bulk-action-bar button,#root#root .bulk-action-bar a{font-size:13px!important;font-weight:600!important;min-height:34px!important;padding:5px 11px!important;line-height:1.2!important;white-space:nowrap}
#root#root .bulk-action-bar > :first-child,#root#root .bulk-action-bar > :first-child *{font-size:13px!important}
@media (max-width:760px){#root#root .bulk-action-bar button,#root#root .bulk-action-bar a{font-size:12px!important;min-height:32px!important;padding:4px 9px!important}}
/* Harmonisation : mêmes boutons partout dans la barre, seul « Refuser » reste rouge */
#root#root .bulk-action-bar button:not(.danger):not([class*="reject"]),#root#root .bulk-action-bar a,#root#root .bulk-action-bar .fs-bulk-mail{background:rgba(255,255,255,.1)!important;color:#fff!important;border:1px solid rgba(255,255,255,.24)!important;border-radius:9px!important;box-shadow:none!important}
#root#root .bulk-action-bar button:not(.danger):not([class*="reject"]):hover,#root#root .bulk-action-bar a:hover{background:rgba(255,255,255,.2)!important;border-color:rgba(255,255,255,.4)!important}
#root#root .bulk-action-bar button:is(.danger,[class*="reject"]){background:#b42318!important;color:#fff!important;border:1px solid #b42318!important;border-radius:9px!important;box-shadow:none!important}
#root#root .bulk-action-bar > :first-child button,#root#root .bulk-action-bar > button:first-child:not(.danger){background:transparent!important;border-color:transparent!important;text-decoration:underline;text-underline-offset:3px}
#root#root .bulk-action-bar > :first-child button:not(.danger):not(.fs-x):not(.fs-y){background:transparent!important;border-color:transparent!important;text-decoration:underline;text-underline-offset:3px;padding-left:4px!important;padding-right:4px!important}

/* ===== 72. Calendrier ICOM (admin) compacté (lot 24) ===== */
#root .fs-icom-heading{margin-bottom:10px!important}
#root details.fs-icom-planning-editor{margin:0 0 10px!important}
#root details.fs-icom-planning-editor > summary{padding:10px 16px!important;min-height:0!important}
#root .fs-icom-month-nav{padding:8px 12px!important;gap:8px!important;margin:0 0 10px!important}
#root .fs-icom-month-nav button{min-height:36px!important;height:36px!important}
#root .fs-icom-month-nav > button:not(.fs-icom-today){width:36px!important;min-width:36px!important}
#root .fs-icom-month-nav input{min-height:36px!important;height:36px!important;padding:4px 10px!important}
#root .fs-icom-month-nav h3{font-size:18px!important}
#root .fs-icom-summary{gap:8px!important;margin:0 0 10px!important}
#root .fs-icom-summary > span{display:flex!important;align-items:baseline;gap:8px!important;padding:9px 14px!important;min-height:0!important}
#root .fs-icom-summary > span > b{font-size:22px!important;line-height:1!important}
#root .fs-icom-layout{gap:14px!important}
#root .fs-icom-weekdays{padding:4px 0 6px!important;gap:5px!important}
#root .fs-icom-days{gap:5px!important}
#root .fs-icom-days > .fs-icom-blank{min-height:0!important;height:auto!important}
#root .fs-icom-days > button.fs-icom-day{min-height:64px!important;height:auto!important;padding:6px 8px!important;gap:1px!important;font-size:11px!important;line-height:1.25!important;display:grid!important;align-content:start!important}
#root .fs-icom-days > button.fs-icom-day .fs-icom-day-number{font-size:15px!important;line-height:1.2!important}
#root .fs-icom-days > button.fs-icom-day :is(span,small,b,strong):not(.fs-icom-day-number){font-size:11px!important;line-height:1.25!important;margin:0!important}
#root .fs-icom-layout > :last-child{padding:14px 16px!important;gap:8px!important;align-self:start}
#root .fs-icom-layout > :last-child :is(h3,h4){margin:0!important}
#root .fs-icom-layout > :last-child [class*="stat"],#root .fs-icom-layout > :last-child .fs-icom-detail-counts > *{padding:8px 10px!important;min-height:0!important}
@media (max-width:760px){#root .fs-icom-days > button.fs-icom-day{min-height:48px!important;padding:4px!important}#root .fs-icom-days > button.fs-icom-day :is(span,small,b,strong):not(.fs-icom-day-number){font-size:9.5px!important}}
/* Barre d'actions groupées sur une seule ligne (défilement horizontal seulement si l'écran est trop étroit) */
#root#root .bulk-action-bar{flex-wrap:nowrap!important;align-items:center!important;gap:10px!important;padding:8px 10px!important;overflow-x:auto;scrollbar-width:thin}
#root#root .bulk-action-bar > div{flex-wrap:nowrap!important;align-items:center!important;gap:4px!important;flex:none!important;width:auto!important}
#root#root .bulk-action-bar > div:last-child{margin-left:auto}
#root#root .bulk-action-bar button,#root#root .bulk-action-bar a{font-size:12.5px!important;padding:4px 9px!important;min-height:32px!important;flex:none!important}
#root#root .bulk-action-bar > :first-child{font-size:12.5px!important;white-space:nowrap}
@media (max-width:760px){#root#root .bulk-action-bar{flex-wrap:wrap!important}#root#root .bulk-action-bar > div:last-child{margin-left:0;overflow-x:auto;max-width:100%}}
@media (min-width:761px){
 #root#root .bulk-action-bar{gap:8px!important;padding:7px 8px!important}
 #root#root .bulk-action-bar > div{gap:3px!important}
 #root#root .bulk-action-bar button,#root#root .bulk-action-bar a,#root#root .bulk-action-bar > :first-child,#root#root .bulk-action-bar > :first-child *{font-size:12px!important}
 #root#root .bulk-action-bar button,#root#root .bulk-action-bar a{padding:4px 7px!important}
}

/* ===== 73. Versions détectées : une ligne par appareil (lot 24) ===== */
#root .fs-reliability-panel > header{display:flex!important;align-items:center!important;justify-content:space-between;gap:12px}
#root .fs-reliability-panel .fs-history-filter select{min-height:30px!important;height:30px!important;font-size:12.5px!important;padding:2px 8px!important}
#root .fs-reliability-panel .fs-device-list > article{padding:5px 12px!important;gap:10px!important;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr)!important}
#root#root .fs-reliability-panel .fs-device-list > article > div{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:flex-start!important;align-items:center!important;text-align:left!important;gap:6px!important;overflow:hidden;white-space:nowrap}
#root .fs-reliability-panel .fs-device-list > article > div > *{flex:none}
#root .fs-reliability-panel .fs-device-list > article small{flex:1 1 auto!important;flex-basis:auto!important;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#root .fs-reliability-panel .fs-device-list > article strong{font-size:13px!important}
#root .fs-reliability-panel .fs-device-list > article span,#root .fs-reliability-panel .fs-device-list > article small{font-size:11.5px!important}
#root .fs-reliability-panel .fs-device-list > article > div > span:not(.fs-reason-badge)::after{content:'·';margin-left:6px;color:#9aa8b5}
#root .fs-reliability-panel .fs-device-list > article > div:last-child > span::after{content:none}
@media (max-width:760px){#root .fs-reliability-panel .fs-device-list > article{grid-template-columns:1fr!important;gap:2px!important;padding:6px 10px!important}#root .fs-reliability-panel .fs-device-list > article > div{flex-wrap:wrap!important;white-space:normal}}

/* ===== 74. Mes favoris : 3 colonnes sur ordinateur, puis ajustement automatique (lot 24) ===== */
#root#root .fs-favorites-page .offer-grid,#root#root .fs-favorites-page .event-grid,#root#root .fs-favorites-page .fs-offer-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;align-items:stretch}
#root#root .fs-favorites-page :is(.offer-grid,.event-grid,.fs-offer-grid) > *{width:auto!important;max-width:none!important;min-width:0!important;grid-column:auto!important}
@media (max-width:1180px){#root#root .fs-favorites-page :is(.offer-grid,.event-grid,.fs-offer-grid){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media (max-width:700px){#root#root .fs-favorites-page :is(.offer-grid,.event-grid,.fs-offer-grid){grid-template-columns:1fr!important;gap:12px!important}}
#root .fs-icom-days small .fs-icom-n{font-weight:800}
#root .fs-icom-days small .fs-icom-w{font-style:normal}
@media (max-width:760px){
 #root .fs-icom-days > button.fs-icom-day{min-height:46px!important;padding:4px 3px!important;text-align:center!important;justify-items:center!important}
 #root .fs-icom-days > button.fs-icom-day > strong{display:none!important}
 #root .fs-icom-days > button.fs-icom-day small .fs-icom-w{display:none}
 #root .fs-icom-days > button.fs-icom-day small .fs-icom-n{font-size:13px!important}
 #root .fs-icom-days > button.fs-icom-day.outside small,#root .fs-icom-days > button.fs-icom-day small:empty{display:none}
}

/* ===== 75. Calendrier ICOM : tailles de titres harmonisées avec les autres pages admin (lot 25) ===== */
#root .fs-icom-heading .eyebrow,#root .fs-icom-detail .eyebrow{font-size:11px!important;letter-spacing:.1em!important;margin:0 0 2px!important}
#root .fs-icom-heading h2{font-size:19px!important;line-height:1.3!important;margin:0!important}
#root .fs-icom-heading p:not(.eyebrow){font-size:13px!important;margin:2px 0 0!important}
#root details.fs-icom-planning-editor > summary,#root details.fs-icom-planning-editor > summary *{font-size:14px!important}
#root details.fs-icom-planning-editor > summary span:last-child{font-size:12.5px!important}
#root .fs-icom-month-nav h3{font-size:16px!important;line-height:1.3!important}
#root .fs-icom-month-nav button,#root .fs-icom-month-nav input{font-size:13px!important}
#root .fs-icom-summary > span{font-size:13px!important}
#root .fs-icom-summary > span > b{font-size:18px!important}
#root .fs-icom-legend{font-size:12px!important;margin:6px 0 8px!important}
#root .fs-icom-weekdays{font-size:12px!important}
#root .fs-icom-detail h3{font-size:16px!important;line-height:1.35!important;margin:0 0 6px!important}
#root .fs-icom-detail [class*="count"] b,#root .fs-icom-detail div > b,#root .fs-icom-detail strong{font-size:18px!important}
#root .fs-icom-detail small,#root .fs-icom-detail p{font-size:12.5px!important}
#root .fs-icom-detail button{font-size:13px!important;min-height:34px!important;padding:5px 12px!important}
#root .fs-icom-day.partial :is(strong,small){color:#7a5310!important}

/* ===== 76. « Étape du suivi » : en-tête plus net (lot 25) ===== */
#root#root .fs-stage-selector{border-top:3px solid var(--stage,#6b7f90)!important;border-radius:14px!important;padding:12px 14px!important}
#root#root .fs-stage-selector > header{display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;margin:0 0 10px!important;padding:0!important}
#root#root .fs-stage-selector > header > span.fs-stage-head-icon{width:34px!important;height:34px!important;border-radius:10px!important;display:grid!important;place-items:center!important;background:var(--stage-soft,#eef2f5)!important;color:var(--stage-ink,#33475b)!important;border:1px solid color-mix(in srgb,var(--stage,#6b7f90) 35%,transparent)!important;font-size:0!important;box-shadow:none!important}
#root#root .fs-stage-selector > header > span.fs-stage-head-icon svg{width:18px!important;height:18px!important}
#root#root .fs-stage-selector > header > div{display:grid!important;gap:1px!important;min-width:0}
#root#root .fs-stage-selector > header strong{display:flex!important;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:14.5px!important;line-height:1.3!important;color:#0b2742!important}
#root#root .fs-stage-selector > header strong .fs-stage-head-name{font-size:12.5px;font-weight:700;color:var(--stage-ink,#33475b)}
#root#root .fs-stage-selector > header strong .fs-stage-head-name::before{content:'·';margin-right:6px;color:#9aa8b5}
#root#root .fs-stage-selector > header small{font-size:12px!important;line-height:1.4!important;color:#536676!important}
#root#root .fs-stage-selector > header .fs-stage-count{font-style:normal!important;font-size:11.5px!important;font-weight:700!important;padding:3px 9px!important;border-radius:999px!important;background:var(--stage-soft,#eef2f5)!important;color:var(--stage-ink,#33475b)!important;white-space:nowrap}

/* ===== 77. Fiche demande : blocs harmonisés (mêmes cartes, mêmes tailles) (lot 25) ===== */
#root .participant-drawer{--fs-card-r:12px;--fs-card-b:1px solid #dfe7ee}
#root .participant-drawer .fs-drawer-main > dl.registration-summary-grid > div{border:var(--fs-card-b)!important;border-radius:var(--fs-card-r)!important;background:#f7f9fb!important;padding:9px 12px!important;box-shadow:none!important}
#root .participant-drawer .fs-drawer-main > dl.registration-summary-grid dt{font-size:10.5px!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase;color:#5b6b7a!important;margin:0 0 3px!important}
#root .participant-drawer .fs-drawer-main > dl.registration-summary-grid dd{font-size:13.5px!important;font-weight:600!important;line-height:1.4!important;color:#0b2742!important;margin:0!important;overflow-wrap:anywhere}
#root .participant-drawer .fs-drawer-main > dl.registration-summary-grid dd small{font-size:12px!important;font-weight:500;color:#536676}
#root .participant-drawer .fs-drawer-main > :is(.fs-admin-request-edit,.fs-stage-selector,.employee-participation-history,section,details){border:var(--fs-card-b)!important;border-radius:var(--fs-card-r)!important;box-shadow:none!important}
#root .participant-drawer .fs-admin-request-edit:not(.is-open) > header{display:flex!important;align-items:center!important;gap:10px!important}
#root .participant-drawer .fs-admin-request-edit > header > span{width:30px!important;height:30px!important;border-radius:9px!important;flex:none}
#root .participant-drawer .fs-admin-request-edit > header strong{font-size:14px!important}
#root .participant-drawer .fs-admin-request-edit > header button{min-height:32px!important;padding:4px 14px!important;font-size:13px!important;margin-left:auto}
#root#root .participant-drawer .fs-stage-selector{border-top:3px solid var(--stage,#6b7f90)!important}
#root#root .fs-stage-selector .fs-stage-track{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important}
#root#root .fs-stage-selector .fs-stage-step{min-height:0!important;padding:8px 4px!important;border-radius:10px!important;gap:4px!important}
#root#root .fs-stage-selector .fs-stage-step i{width:28px!important;height:28px!important;font-size:13px!important}
#root#root .fs-stage-selector .fs-stage-step span{font-size:11px!important;line-height:1.25!important}
#root#root .fs-stage-selector .fs-stage-progress{height:5px!important;margin:0 0 10px!important}
#root#root .fs-stage-selector .fs-stage-actions{padding-top:10px!important;margin-top:10px!important;gap:8px!important}
#root#root .fs-stage-selector .fs-stage-actions > :first-child,#root#root .fs-stage-selector .fs-stage-feedback{font-size:12.5px!important}
#root#root .fs-stage-selector :is(.fs-stage-save,.fs-stage-cancel){min-height:34px!important;padding:5px 14px!important;font-size:13px!important}
#root .participant-drawer .employee-participation-history > summary{padding:10px 12px!important;font-size:13.5px}
@media (max-width:520px){#root#root .fs-stage-selector .fs-stage-track{grid-template-columns:repeat(3,minmax(0,1fr))!important}#root .participant-drawer .fs-drawer-main > dl.registration-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
#root#root .fs-stage-selector .fs-stage-track{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media (min-width:521px){#root#root .fs-stage-selector .fs-stage-track:has(> :nth-child(7)){grid-template-columns:repeat(4,minmax(0,1fr))!important}#root#root .fs-stage-selector .fs-stage-track:has(> :nth-child(7)) > :nth-child(5){grid-column:1}}
#root#root .participant-drawer .employee-participation-history > summary{padding:9px 12px!important;min-height:0!important}
#root#root .participant-drawer .employee-participation-history{background:#fff!important}
/* Suppression d'une demande (admin) */
#root .fs-admin-request-delete{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 0;padding:10px 12px;border-radius:12px;border:1px dashed #e5b4ae;background:#fff8f7}
#root .fs-admin-request-delete > div{display:grid;gap:2px;flex:1 1 220px;min-width:0}
#root .fs-admin-request-delete strong{font-size:13.5px;color:#8a1f15}
#root .fs-admin-request-delete small{font-size:12px;color:#5b4a48}
#root .fs-admin-request-delete button{min-height:34px!important;padding:5px 14px!important;font-size:13px!important;border-radius:9px!important}
#root .fs-admin-request-delete button.danger{background:#fff!important;color:#b42318!important;border:1.5px solid #b42318!important;font-weight:700}
#root .fs-admin-request-delete.is-confirm{border-style:solid;border-color:#b42318;background:#fdecea}
#root .fs-admin-request-delete.is-confirm button.danger{background:#b42318!important;color:#fff!important}
/* Calendrier ICOM : contrastes */
#root .fs-icom-summary > span,#root .fs-icom-legend span{color:#46586a!important}
#root .fs-icom-weekdays,#root .fs-icom-weekdays *{color:#46586a!important}
#root .fs-icom-day.outside :is(strong,small,i){color:#55636f!important}
#root .fs-icom-day.full :is(strong,small,b,i){color:#9b2016!important}
#root .fs-icom-day.free :is(strong,small,b,i){color:#1b6338!important}
#root .fs-icom-day.closed :is(strong,small,b,i),#root .fs-icom-day.review :is(strong,small,b,i){color:#4b5966!important}
#root .fs-icom-detail :is(small,p,span){color:#46586a}
#root .fs-icom-planning-note{color:#4f6070!important;font-size:12px!important}
/* Profil : espace avant les boutons d'enregistrement */
#root .profile-card > .primary-button,#root .profile-card form > .primary-button,#root form.profile-card > button[type="submit"],#root form.profile-card > .primary-button{margin-top:14px!important}
#root .profile-card{row-gap:12px}

/* ===== 78. Cartes événement (accueil compris) : « Ouvert » sur la même ligne que le prix (lot 26) ===== */
#root#root .event-card-main .event-commercial{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}
#root#root .event-card-main .event-commercial > .event-price:not(.companion-price){grid-column:1!important;grid-row:1!important}
#root#root .event-card-main .event-commercial > b{grid-column:2!important;grid-row:1!important;align-self:center!important;justify-self:end!important;margin:0 12px 0 6px!important;white-space:nowrap!important;max-width:none!important}
#root#root .event-card-main .event-commercial > .companion-price{grid-column:1 / -1!important;grid-row:2!important}
#root#root .event-card-main .event-commercial > :not(.event-price):not(b){grid-column:1 / -1!important}

/* ===== 79. Mobile : catalogue des formules en cartes, en-tête sans débordement (lot 27) ===== */
#root .fs-formula-heading-actions{flex-wrap:wrap!important;gap:8px!important}
#root .fs-formula-heading-actions > button{white-space:nowrap!important;width:auto!important;max-width:100%!important;flex:0 0 auto!important}
@media (max-width:760px){
 #root .fs-formula-panel{overflow:visible!important}
 #root .fs-formula-table-scroll{overflow:visible!important;border:0!important;background:transparent!important}
 #root .fs-formula-table-scroll table,#root .fs-formula-table-scroll tbody{display:block!important;width:100%!important;min-width:0!important}
 #root .fs-formula-table-scroll thead{display:none!important}
 #root .fs-formula-table-scroll tbody{display:grid!important;gap:8px!important}
 #root .fs-formula-table-scroll tr{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto!important;gap:4px 10px!important;padding:10px 12px!important;border:1px solid #dfe7ee!important;border-radius:12px!important;background:#fff!important}
 #root .fs-formula-table-scroll td{display:block!important;padding:0!important;border:0!important;min-width:0!important;width:auto!important;font-size:12.5px!important;line-height:1.35!important;white-space:normal!important}
 #root .fs-formula-table-scroll td:nth-child(1){grid-column:1 / 3;grid-row:1;font-size:14px!important}
 #root .fs-formula-table-scroll td:nth-child(2){grid-column:1 / 3;grid-row:2;color:#1b5f8c}
 #root .fs-formula-table-scroll td:nth-child(3){grid-column:1 / -1;grid-row:3;color:#4a5b6b}
 #root .fs-formula-table-scroll td:nth-child(9){grid-column:3;grid-row:1 / 3;align-self:start;display:flex!important;gap:6px}
 #root .fs-formula-table-scroll td:nth-child(n+4):nth-child(-n+8)::before{display:block;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#5b6b7a;margin-bottom:1px}
 #root .fs-formula-table-scroll td:nth-child(4)::before{content:'Catégorie'}
 #root .fs-formula-table-scroll td:nth-child(5)::before{content:'Partenaire'}
 #root .fs-formula-table-scroll td:nth-child(6)::before{content:'Tarif Fonds Social'}
 #root .fs-formula-table-scroll td:nth-child(7)::before{content:'Quota'}
 #root .fs-formula-table-scroll td:nth-child(8)::before{content:'Disponibilité'}
 #root .fs-formula-table-scroll td:nth-child(6){font-weight:700}
 #root .fs-formula-table-scroll td small{display:block}
 #root .fs-formula-table-scroll td button{width:36px!important;height:36px!important;min-height:36px!important}
}
@media (max-width:760px){
 #root#root .fs-formula-panel > header{grid-template-columns:minmax(0,1fr)!important}
 #root#root .fs-formula-heading-actions{display:flex!important;flex-wrap:wrap!important;width:auto!important;max-width:100%!important}
 #root#root .fs-formula-heading-actions > *{flex:0 1 auto!important;min-width:0!important}
 #root#root .fs-formula-heading-actions > button{max-width:100%!important;white-space:nowrap!important}
 #root#root .fs-formula-table-scroll{max-height:none!important;height:auto!important;overflow:visible!important}
 #root#root .fs-formula-table-scroll tr{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;position:relative}
 #root#root .fs-formula-table-scroll td:nth-child(1){grid-column:1 / 2!important;grid-row:1!important}
 #root#root .fs-formula-table-scroll td:nth-child(2){grid-column:1 / -1!important;grid-row:2!important}
 #root#root .fs-formula-table-scroll td:nth-child(3){grid-column:1 / -1!important;grid-row:3!important}
 #root#root .fs-formula-table-scroll td:nth-child(9){grid-column:2!important;grid-row:1!important;justify-self:end!important}
 #root#root .fs-formula-table-scroll td:nth-child(n+4):nth-child(-n+8){grid-row:auto!important;grid-column:auto!important;overflow-wrap:normal!important;word-break:normal!important}
 #root#root .fs-formula-pagination{position:static!important;flex-wrap:wrap!important;gap:8px!important;margin-top:10px!important}
}

/* ===== 80. Mobile : contrôle complet (lot 27) ===== */
/* Bannière « Offres YCM » : un décor dépassait à droite et élargissait la page */
#root .fs-page-banner,#root .exclusive-hero{overflow:hidden!important}
#root .main-area{overflow-x:clip}
@media (max-width:760px){
 /* Contrôle Riviera : rubriques lisibles sur toute la largeur */
 #root .fs-riviera-control details.fs-admin-fold > summary,#root .fs-riviera-control .fs-riv-section > summary,#root .fs-riviera-control [class*="fs-riv-section"] > summary{display:grid!important;grid-template-columns:34px minmax(0,1fr) auto!important;align-items:center!important;gap:6px 10px!important}
 #root .fs-riviera-control [class*="fs-riv-section"] > summary > :nth-child(2),#root .fs-riviera-control details.fs-admin-fold > summary > :nth-child(2){min-width:0!important;width:auto!important;max-width:none!important}
 /* Calendrier ICOM : compteurs empilés lisibles */
 #root .fs-icom-summary{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 #root .fs-icom-summary > span{display:grid!important;gap:2px!important;padding:8px!important;font-size:11px!important;line-height:1.25!important;text-align:left}
 #root .fs-icom-summary > span > b{font-size:18px!important}
 /* Liste des demandes : le nom prend toute la largeur, les icônes passent dessous */
 #root .fs-admin-v15 .participants-table > article .participant-person{min-width:0}
}
@media (max-width:760px){
 #root#root .fs-riviera-control details.fs-riv-section > summary{display:grid!important;grid-template-columns:34px minmax(0,1fr) 26px!important;grid-template-rows:auto auto;align-items:center!important;gap:4px 10px!important}
 #root#root .fs-riviera-control details.fs-riv-section > summary > .fs-riv-section-icon{grid-column:1;grid-row:1 / 3;align-self:start}
 #root#root .fs-riviera-control details.fs-riv-section > summary > .fs-riv-section-text{grid-column:2;grid-row:1;min-width:0!important;width:auto!important;max-width:none!important}
 #root#root .fs-riviera-control details.fs-riv-section > summary > .fs-riv-section-count{grid-column:2;grid-row:2;justify-self:start}
 #root#root .fs-riviera-control details.fs-riv-section > summary > .fs-riv-section-toggle{grid-column:3;grid-row:1 / 3}
}
@media (max-width:760px){#root#root .fs-admin-v15 .participants-table > article .participant-actions button.fs-row-icon{width:34px!important;height:34px!important;min-width:34px!important}}
/* Dates : pas de « Date À Confirmer », seule la première lettre en majuscule */
#root .chosen-event-slot strong,#root .slot-option strong,#root .fs-slot-list strong{text-transform:none!important}
#root .chosen-event-slot strong::first-letter,#root .slot-option strong::first-letter,#root .fs-slot-list strong::first-letter{text-transform:uppercase}
/* Fenêtres de détail (cadeaux, formulaires) : bouton fermer bien visible */
:is(#root,body) .fs-detail-dialog-head > button:last-child,:is(#root,body) button[aria-label="Fermer la fenêtre"]{width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;padding:0!important;border-radius:50%!important;display:inline-grid!important;place-items:center!important;background:#0b2742!important;color:#fff!important;border:2px solid #fff!important;box-shadow:0 2px 10px rgba(11,39,66,.28)!important;font-size:22px!important;font-weight:700!important;line-height:1!important}
:is(#root,body) .fs-detail-dialog-head > button:last-child:hover,:is(#root,body) button[aria-label="Fermer la fenêtre"]:hover{background:#b42318!important}

/* ===== 81. Coffre chiffré des secrets (Sauvegardes, lot 28) ===== */
#root .fs-vault-v28{display:grid;gap:10px;margin:12px 0;padding:14px 16px;border-radius:14px;border:1px solid #c9d8e6;background:#f6f9fc}
#root .fs-vault-v28 > header{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px}
#root .fs-vault-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#0b2742;font-size:17px}
#root .fs-vault-v28 header strong{display:block;font-size:14.5px;color:#0b2742}
#root .fs-vault-v28 header small{display:block;font-size:12.5px;color:#4a5b6b;line-height:1.4}
#root .fs-vault-v28 header em{font-style:normal;font-size:11.5px;font-weight:800;padding:3px 10px;border-radius:999px;background:#fdecea;color:#9b2016;white-space:nowrap}
#root .fs-vault-v28 header em.is-on{background:#e3f4ea;color:#1b6338}
#root .fs-vault-actions{display:flex;flex-wrap:wrap;gap:6px}
#root .fs-vault-actions :is(button,a){min-height:34px!important;padding:5px 12px!important;border-radius:9px!important;font-size:13px!important;font-weight:700;border:1px solid #9fb5c8!important;background:#fff!important;color:#0b2742!important;text-decoration:none;display:inline-flex;align-items:center}
#root .fs-vault-actions button.primary{background:#0b2742!important;color:#fff!important;border-color:#0b2742!important}
#root .fs-vault-form{display:grid;gap:8px;padding:12px;border-radius:12px;background:#fff;border:1px solid #dfe7ee}
#root .fs-vault-form p{margin:0;font-size:12.5px;line-height:1.45;color:#3f5163}
#root .fs-vault-form label{display:grid;gap:4px;font-size:12px;font-weight:700;color:#3f5163;margin:0!important}
#root .fs-vault-form input:not([type=checkbox]),#root .fs-vault-form select{min-height:38px!important;padding:6px 10px!important;font-size:14px!important;border:1px solid #9fb5c8!important;border-radius:9px!important}
#root .fs-vault-form label.fs-vault-show{display:flex;align-items:center;gap:6px;font-weight:600}
#root .fs-vault-form button{justify-self:start;min-height:38px!important;padding:6px 16px!important;border-radius:10px!important;font-weight:700;border:0!important}
#root .fs-vault-form button.primary{background:#0b2742!important;color:#fff!important}
#root .fs-vault-form button.danger{background:#b42318!important;color:#fff!important}
#root .fs-vault-form button:disabled{opacity:.45}
#root .fs-vault-msg{margin:0;padding:8px 12px;border-radius:10px;font-size:13px;font-weight:600}
#root .fs-vault-msg.ok{background:#e7f6ee;color:#14532d}
#root .fs-vault-msg.error{background:#fdecea;color:#8a1f15}
#root .fs-vault-warning{margin:0;padding:8px 12px;border-radius:10px;background:#fff1cc;color:#6b4a00;font-size:12.5px}
@media (max-width:760px){#root .fs-vault-v28 > header{grid-template-columns:38px minmax(0,1fr)}#root .fs-vault-v28 header em{grid-column:2;justify-self:start}}

/* ===== 82. Plus de bande claire entre la barre latérale et l'en-tête (lot 30) ===== */
@media (min-width:901px){
 #root .main-area,body .main-area{width:calc(100% - 278px)!important;margin-left:278px!important}
 #root .site-legal-footer,body .site-legal-footer{margin-left:278px!important}
}
@media (min-width:901px) and (max-width:1180px){
 #root .main-area,body .main-area{width:calc(100% - 266px)!important;margin-left:266px!important}
 #root .site-legal-footer,body .site-legal-footer{margin-left:266px!important}
}
/* Réglage : afficher ou non « Accès temporaire » sur la page de connexion */
#root .fs-temp-login-toggle{display:grid;gap:6px;margin:0 0 10px;padding:10px 12px;border-radius:12px;border:1px solid #f0c8c3;background:#fff8f7}
#root .fs-temp-login-toggle.is-on{border-color:#c9d8e6;background:#f6f9fc}
#root#root .fs-temp-login-toggle>label{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px!important;margin:0!important;cursor:pointer;grid-template-columns:none!important}
#root#root .fs-temp-login-toggle>label>input{width:18px;height:18px;margin-top:2px;flex:none}
#root .fs-temp-login-toggle span{display:grid;gap:2px}
#root .fs-temp-login-toggle strong{font-size:13.5px;color:#0b2742}
#root .fs-temp-login-toggle small{font-size:12px;color:#4a5b6b;line-height:1.4}
#root .fs-temp-login-toggle p{margin:0;font-size:12.5px;font-weight:600;color:#1b6338}

/* 83 · Défilement fluide à la molette (lot 31)
   Les cartes, cœurs « favori » et la carte date avaient un flou d'arrière-plan (backdrop-filter)
   recalculé à chaque image pendant le défilement → saccades. Le fond de page étant uni, le flou
   ne se voyait pas : on le retire, avec un fond un peu plus opaque pour garder exactement le même rendu.
   L'animation flottante permanente de l'image d'en-tête (invisible) est aussi arrêtée. */
#root .main-area *,#root .main-area,#root .sidebar .brand-mark,#root .sidebar{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
#root .main-area .offer-card:not(.fs-unavailable){background-color:rgba(255,255,255,.96)!important}
/* Offre indisponible : toute la carte en gris, sans bande blanche en bas */
#root .main-area .offer-card.fs-unavailable,#root .offer-card.fs-unavailable{background-color:#eeeeee!important}
#root .offer-card.fs-unavailable .offer-body{flex-grow:1!important}
#root .hero-art,#root .hero-card .hero-art{animation:none!important}
