
/* ---- csl-intervenant-v2027.css ---- */
/* CSL Gestion 2.0.26 — Espace intervenant recentré et compact.
 * Feuille volontairement isolée, chargée après l'historique du module pour
 * éviter d'empiler de nouveaux correctifs dans csl-inscriptions-gestion.css. */

body.csl-attendance-person-page {
  --csl-i-ink:#172235;
  --csl-i-muted:#6b7787;
  --csl-i-line:#e1e7ec;
  --csl-i-surface:#ffffff;
  --csl-i-soft:#f5f7f8;
  --csl-i-dark:#172536;
  --csl-i-red:#e30613;
}

/* Supprime l'espace de page WordPress autour du shortcode sans marge négative. */
body.csl-attendance-person-page :where(
  #page,.site,.site-content,.site-main,#content,#main,main#main,.content-wrap,
  .content-area,#primary,.container,.row,.nv-single-page-wrap,.nv-content-wrap,
  .entry-content-wrap,.entry-content,article
) {
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
}
body.csl-attendance-person-page .csl-attendance--instructor{
  min-height:0!important;
  margin:0!important;
  padding:10px 14px 34px!important;
  background:#f4f6f7!important;
}
body.csl-attendance-person-page .csl-attendance-shell{
  width:min(920px,100%)!important;
  max-width:920px!important;
  margin:0 auto!important;
  padding:0!important;
}
body.csl-attendance-person-page .csl-attendance-shell > *:first-child{
  margin-top:0!important;
}

/* En-tête unique : plus de bandeau noir mal cadré + bonjour séparé. */
body.csl-attendance-person-page .csl-attendance-instructor-header-v2{
  position:relative;
  display:grid;
  gap:8px;
  width:100%;
  margin:0 auto 10px!important;
  padding:12px 14px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:20px;
  overflow:hidden;
  background:
    radial-gradient(circle at 100% 0,rgba(227,6,19,.19),transparent 34%),
    linear-gradient(135deg,#172536 0%,#24384b 58%,#1f4250 100%);
  box-shadow:0 12px 30px rgba(23,34,53,.13);
  color:#fff;
  text-align:center;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2::after{
  content:"";
  position:absolute;
  left:22%;right:22%;bottom:0;
  height:3px;
  border-radius:99px 99px 0 0;
  background:linear-gradient(90deg,transparent,#e30613 25%,#57b6ae 75%,transparent);
  opacity:.9;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__top,
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__identity{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(88px,1fr) auto minmax(88px,1fr);
  align-items:center;
  gap:10px;
  min-width:0;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:6px 12px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:10px;
  font-weight:900;
  letter-spacing:.16em;
  line-height:1;
  text-transform:uppercase;
  white-space:nowrap;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__logout{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:6px 10px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:10px;
  background:rgba(255,255,255,.06);
  color:#fff!important;
  font-size:11px;
  font-weight:800;
  line-height:1;
  text-decoration:none!important;
  white-space:nowrap;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__hello{
  min-width:0;
  text-align:center;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__hello small{
  display:block;
  margin:0 0 1px;
  color:#c9d4dc;
  font-size:10px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__hello h1{
  margin:0!important;
  color:#fff!important;
  font-size:clamp(24px,3vw,31px)!important;
  font-weight:900;
  letter-spacing:-.035em;
  line-height:1.05!important;
  white-space:nowrap;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__urgent{
  justify-self:end;
  min-height:36px!important;
  padding:8px 12px!important;
  border:0!important;
  border-radius:11px!important;
  background:#e30613!important;
  color:#fff!important;
  box-shadow:0 8px 18px rgba(227,6,19,.22)!important;
  font-size:11px!important;
  font-weight:900!important;
  white-space:nowrap!important;
}

/* Les anciens éléments d'en-tête ne doivent plus réserver d'espace. */
body.csl-attendance-person-page .csl-attendance-hero--instructor,
body.csl-attendance-person-page .csl-attendance-instructor-greeting{
  display:none!important;
  margin:0!important;
  padding:0!important;
  height:0!important;
  min-height:0!important;
}

/* Barre d'outils recentrée et plus nette. */
body.csl-attendance-person-page .csl-attendance-action-hub{
  width:100%;
  margin:0 0 12px!important;
}
body.csl-attendance-person-page .csl-attendance-action-bar{
  gap:7px!important;
  padding:7px!important;
  border:1px solid var(--csl-i-line)!important;
  border-radius:18px!important;
  background:var(--csl-i-surface)!important;
  box-shadow:0 8px 22px rgba(23,34,53,.06)!important;
}
body.csl-attendance-person-page .csl-attendance-action-tab{
  min-height:66px!important;
  padding:8px 5px!important;
  border-radius:13px!important;
  text-align:center!important;
}
body.csl-attendance-person-page .csl-attendance-action-tab span:last-child{
  font-size:11px!important;
  line-height:1.05!important;
}
body.csl-attendance-person-page .csl-attendance-action-icon{
  width:30px!important;
  height:30px!important;
  margin:0 auto 4px!important;
  border-radius:10px!important;
}

/* Cartes de contenu : même largeur, marges cohérentes, moins de vide. */
body.csl-attendance-person-page .csl-attendance-day--compact,
body.csl-attendance-person-page .csl-attendance-upcoming--compact{
  width:100%;
  margin-top:12px!important;
  padding:16px!important;
  border:1px solid var(--csl-i-line)!important;
  border-radius:18px!important;
  background:var(--csl-i-surface)!important;
  box-shadow:0 8px 22px rgba(23,34,53,.045)!important;
}
body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-section-heading{
  justify-content:center!important;
  margin-bottom:12px!important;
  text-align:center!important;
}
body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-eyebrow{
  margin-bottom:4px!important;
  text-align:center!important;
}
body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-section-heading h2{
  margin:0!important;
  font-size:20px!important;
  line-height:1.1!important;
  text-align:center!important;
}
body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-upcoming-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;
}
body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-upcoming-card{
  min-width:0!important;
  padding:12px!important;
  border-radius:13px!important;
}

/* Urgences : rattachées visuellement à l'en-tête. */
body.csl-attendance-person-page .csl-attendance-day-emergency{
  margin:0 0 12px!important;
}

@media (max-width:760px){
  body.csl-attendance-person-page .csl-attendance--instructor{
    padding:6px 10px 28px!important;
  }
  body.csl-attendance-person-page .csl-attendance-shell{
    width:100%!important;
    max-width:100%!important;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2{
    gap:7px;
    margin-bottom:9px!important;
    padding:10px 10px 12px;
    border-radius:17px;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__top,
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__identity{
    grid-template-columns:minmax(72px,1fr) auto minmax(72px,1fr);
    gap:7px;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__badge{
    min-height:26px;
    padding:5px 9px;
    font-size:9px;
    letter-spacing:.12em;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__logout{
    min-height:30px;
    padding:6px 8px;
    font-size:10px;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__hello h1{
    max-width:47vw;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:22px!important;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__urgent{
    min-height:34px!important;
    padding:8px 10px!important;
    font-size:10px!important;
  }
  body.csl-attendance-person-page .csl-attendance-action-bar{
    gap:4px!important;
    padding:5px!important;
    border-radius:15px!important;
  }
  body.csl-attendance-person-page .csl-attendance-action-tab{
    min-height:58px!important;
    padding:6px 2px!important;
    border-radius:11px!important;
  }
  body.csl-attendance-person-page .csl-attendance-action-icon{
    width:27px!important;
    height:27px!important;
    margin-bottom:3px!important;
  }
  body.csl-attendance-person-page .csl-attendance-action-tab span:last-child{
    font-size:10px!important;
  }
  body.csl-attendance-person-page .csl-attendance-day--compact,
  body.csl-attendance-person-page .csl-attendance-upcoming--compact{
    margin-top:10px!important;
    padding:12px!important;
    border-radius:16px!important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-upcoming-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-upcoming-card{
    padding:11px!important;
    border-radius:12px!important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-section-heading h2{
    font-size:18px!important;
  }
}

@media (max-width:420px){
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__top,
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__identity{
    grid-template-columns:minmax(58px,1fr) auto minmax(58px,1fr);
    gap:5px;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__badge{
    padding-inline:7px;
    font-size:8px;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__logout{
    padding-inline:7px;
    font-size:9px;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__hello h1{
    font-size:20px!important;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__urgent{
    padding-inline:9px!important;
    font-size:9px!important;
  }
}

@media (prefers-color-scheme:dark){
  body.csl-attendance-person-page{
    --csl-i-ink:#f4f7fb;
    --csl-i-muted:#aeb8c4;
    --csl-i-line:#2e3a49;
    --csl-i-surface:#151d28;
    --csl-i-soft:#101721;
  }
  body.csl-attendance-person-page .csl-attendance--instructor{
    background:#0e141d!important;
    color:var(--csl-i-ink)!important;
  }
  body.csl-attendance-person-page .csl-attendance-action-bar,
  body.csl-attendance-person-page .csl-attendance-day--compact,
  body.csl-attendance-person-page .csl-attendance-upcoming--compact{
    background:var(--csl-i-surface)!important;
    border-color:var(--csl-i-line)!important;
    color:var(--csl-i-ink)!important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-section-heading h2{
    color:var(--csl-i-ink)!important;
  }
}

/* ========================================================================
 * CSL Gestion 2.0.27 — en-tête intervenant reconstruit
 * Une carte claire, centrée, sans bandeau sombre ni colonnes qui se battent
 * sur iPhone. Le HTML V2.0.27 utilise : badge / identité / actions.
 * ====================================================================== */
body.csl-attendance-person-page .csl-attendance-instructor-header-v2{
  display:grid!important;
  grid-template-columns:1fr!important;
  justify-items:center!important;
  align-items:center!important;
  gap:7px!important;
  width:100%!important;
  min-height:0!important;
  margin:0 0 10px!important;
  padding:14px 16px!important;
  overflow:hidden!important;
  border:1px solid #e1e7ec!important;
  border-radius:20px!important;
  background:
    radial-gradient(circle at 8% 0,rgba(227,6,19,.07),transparent 30%),
    radial-gradient(circle at 100% 100%,rgba(34,125,118,.07),transparent 34%),
    #fff!important;
  box-shadow:0 9px 26px rgba(23,34,53,.07)!important;
  color:#172536!important;
  text-align:center!important;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2::after{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  right:auto!important;
  bottom:0!important;
  width:90px!important;
  height:3px!important;
  transform:translateX(-50%)!important;
  border-radius:99px 99px 0 0!important;
  background:linear-gradient(90deg,#e30613,#2b8f84)!important;
  opacity:.9!important;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__badge{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:0!important;
  padding:0 28px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#bd1f2b!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.18em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__badge::before,
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__badge::after{
  content:"";
  position:absolute;
  top:50%;
  width:18px;
  height:2px;
  border-radius:99px;
  background:#e9a7ad;
  transform:translateY(-50%);
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__badge::before{left:0}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__badge::after{right:0}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__hello{
  min-width:0!important;
  width:100%!important;
  text-align:center!important;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__hello small{
  display:block!important;
  margin:0 0 1px!important;
  color:#8b97a3!important;
  font-size:9px!important;
  font-weight:850!important;
  letter-spacing:.14em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__hello h1{
  max-width:100%!important;
  margin:0!important;
  overflow:hidden!important;
  color:#172536!important;
  font-size:clamp(24px,3vw,30px)!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
  line-height:1.05!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__actions{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  width:min(390px,100%)!important;
  margin-top:3px!important;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__urgent,
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__logout{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:6px!important;
  width:100%!important;
  min-height:40px!important;
  margin:0!important;
  padding:9px 12px!important;
  border-radius:12px!important;
  font-size:11px!important;
  font-weight:900!important;
  line-height:1!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__urgent{
  border:1px solid #e30613!important;
  background:#e30613!important;
  color:#fff!important;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__logout{
  justify-self:stretch!important;
  border:1px solid #dbe2e8!important;
  background:#f5f7f9!important;
  color:#394a5a!important;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__urgent:hover,
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__urgent:focus-visible{
  background:#c90410!important;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__logout:hover,
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__logout:focus-visible{
  background:#eaf0f4!important;
  color:#172536!important;
}
/* Anciens conteneurs V2.0.26 : neutralisés car retirés du HTML. */
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__top,
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__identity,
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__spacer{
  display:none!important;
}

@media(max-width:760px){
  body.csl-attendance-person-page .csl-attendance--instructor{
    padding:4px 8px 26px!important;
  }
  body.csl-attendance-person-page .csl-attendance-shell{
    padding:0!important;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2{
    gap:6px!important;
    margin:0 0 8px!important;
    padding:12px 12px 13px!important;
    border-radius:17px!important;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__hello h1{
    font-size:25px!important;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__actions{
    width:100%!important;
    max-width:360px!important;
    gap:7px!important;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__urgent,
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__logout{
    min-height:39px!important;
    padding:8px 9px!important;
    border-radius:11px!important;
    font-size:10px!important;
  }
  body.csl-attendance-person-page .csl-attendance-action-hub{
    margin-top:0!important;
  }
}

@media(max-width:390px){
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2{
    padding-inline:10px!important;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__badge{
    font-size:9px!important;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__hello h1{
    font-size:23px!important;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__actions{
    gap:6px!important;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__urgent,
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__logout{
    font-size:9px!important;
    padding-inline:7px!important;
  }
}

@media(prefers-color-scheme:dark){
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2{
    border-color:#2d3946!important;
    background:
      radial-gradient(circle at 8% 0,rgba(227,6,19,.12),transparent 30%),
      radial-gradient(circle at 100% 100%,rgba(43,143,132,.11),transparent 34%),
      #151d28!important;
    color:#f4f7fb!important;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__badge{color:#ff8d97!important}
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__hello small{color:#aeb8c4!important}
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__hello h1{color:#f4f7fb!important}
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__logout{
    border-color:#344250!important;
    background:#202b37!important;
    color:#e5ebf1!important;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__logout:hover,
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__logout:focus-visible{
    background:#293644!important;
    color:#fff!important;
  }
}


/* ---- csl-intervenant-v2029.css ---- */
/* CSL Gestion 2.0.29 — sécurité enfants et photos privées des contacts. */
body.csl-attendance-person-page .csl-attendance-pickup-alert{
  margin:12px 0 14px;padding:0;border:2px solid #cf2532;border-radius:18px;background:#fff7f7;overflow:hidden;box-shadow:0 12px 30px rgba(144,17,29,.13)
}
body.csl-attendance-person-page .csl-attendance-pickup-alert__headline{
  display:flex;align-items:center;gap:12px;padding:13px 15px;background:linear-gradient(135deg,#d7192d,#ae1421);color:#fff
}
body.csl-attendance-person-page .csl-attendance-pickup-alert__headline>span{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#fff;color:#c31828;font-size:24px}
body.csl-attendance-person-page .csl-attendance-pickup-alert__headline strong{display:block;font-size:16px;line-height:1.1;letter-spacing:.035em;color:#fff}
body.csl-attendance-person-page .csl-attendance-pickup-alert__headline small{display:block;margin-top:4px;font-size:11px;line-height:1.35;color:#ffe8ea;font-weight:750}
body.csl-attendance-person-page .csl-attendance-pickup-alert__children{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px}
body.csl-attendance-person-page .csl-attendance-pickup-child{min-width:0;padding:11px;border:1px solid #f0c5c9;border-radius:13px;background:#fff}
body.csl-attendance-person-page .csl-attendance-pickup-child h4{margin:0;color:#82131c;font-size:14px;line-height:1.2}
body.csl-attendance-person-page .csl-attendance-pickup-child>p{margin:5px 0 9px;color:#76545a;font-size:10px;line-height:1.4;font-weight:700}
body.csl-attendance-person-page .csl-attendance-pickup-people{display:grid;gap:6px}
body.csl-attendance-person-page .csl-attendance-pickup-person{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px;border-radius:10px;background:#fff3f4}
body.csl-attendance-person-page .csl-attendance-pickup-person span{min-width:0}
body.csl-attendance-person-page .csl-attendance-pickup-person strong,body.csl-attendance-person-page .csl-attendance-pickup-person small{display:block}
body.csl-attendance-person-page .csl-attendance-pickup-person strong{color:#2b3640;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body.csl-attendance-person-page .csl-attendance-pickup-person small{margin-top:2px;color:#8d5960;font-size:8px;font-weight:850;text-transform:uppercase}
body.csl-attendance-person-page .csl-attendance-pickup-person a{flex:0 0 auto;color:#a71522!important;text-decoration:none!important;font-size:10px;font-weight:900}

body.csl-attendance-person-page .csl-attendance-contact-photo{flex:0 0 42px;width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 8px rgba(30,45,55,.14)}
body.csl-attendance-person-page .csl-attendance-emergency-contact{grid-template-columns:auto minmax(0,1fr) auto}
body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div{justify-content:flex-start}
body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div>span{flex:1 1 auto}
body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div>a{margin-left:auto}

@media(max-width:760px){
 body.csl-attendance-person-page .csl-attendance-pickup-alert{margin:10px 0 12px;border-radius:15px}
 body.csl-attendance-person-page .csl-attendance-pickup-alert__headline{padding:11px 12px;gap:9px}
 body.csl-attendance-person-page .csl-attendance-pickup-alert__headline>span{flex-basis:36px;width:36px;height:36px;border-radius:10px;font-size:20px}
 body.csl-attendance-person-page .csl-attendance-pickup-alert__headline strong{font-size:14px}
 body.csl-attendance-person-page .csl-attendance-pickup-alert__headline small{font-size:9px}
 body.csl-attendance-person-page .csl-attendance-pickup-alert__children{grid-template-columns:1fr;padding:8px}
 body.csl-attendance-person-page .csl-attendance-pickup-person{padding:7px}
 body.csl-attendance-person-page .csl-attendance-contact-photo{flex-basis:38px;width:38px;height:38px}
}
@media(prefers-color-scheme:dark){
 body.csl-attendance-person-page .csl-attendance-pickup-alert{background:#2b1418;border-color:#ef5360;box-shadow:none}
 body.csl-attendance-person-page .csl-attendance-pickup-child{background:#171f27;border-color:#6a3138}
 body.csl-attendance-person-page .csl-attendance-pickup-child h4{color:#ff9099}
 body.csl-attendance-person-page .csl-attendance-pickup-child>p{color:#d4a8ac}
 body.csl-attendance-person-page .csl-attendance-pickup-person{background:#2a181c}
 body.csl-attendance-person-page .csl-attendance-pickup-person strong{color:#f4f7fa}
 body.csl-attendance-person-page .csl-attendance-pickup-person small{color:#e9a1a7}
 body.csl-attendance-person-page .csl-attendance-pickup-person a{color:#ff9aa2!important}
 body.csl-attendance-person-page .csl-attendance-contact-photo{border-color:#263746}
}
body.csl-attendance-person-page .csl-attendance-emergency-contact{display:grid!important}

/* V2.0.32 — photo des personnes autorisées à récupérer l'enfant */
body.csl-attendance-person-page .csl-attendance-pickup-person{justify-content:flex-start}
body.csl-attendance-person-page .csl-attendance-pickup-person>span{flex:1 1 auto}
body.csl-attendance-person-page .csl-attendance-pickup-photo{flex:0 0 38px;width:38px;height:38px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 7px rgba(112,17,29,.15)}
body.csl-attendance-person-page .csl-attendance-pickup-person>a{margin-left:auto}
@media(max-width:560px){body.csl-attendance-person-page .csl-attendance-pickup-photo{flex-basis:34px;width:34px;height:34px}}

/* ========================================================================
 * CSL Gestion 2.0.55 — mode sombre complet de l'espace intervenant
 * et structure compacte des contacts d'urgence.
 * ====================================================================== */
body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div{
  display:grid!important;
  grid-template-columns:40px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:9px 0!important;
}
body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div>img.csl-attendance-contact-photo,
body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div>.csl-attendance-contact-photo-placeholder{
  width:40px!important;
  height:40px!important;
  min-width:40px!important;
  border-radius:12px!important;
}
body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div>span{
  display:grid!important;
  gap:2px!important;
  min-width:0!important;
}
body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div>span strong,
body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div>span em{
  overflow-wrap:anywhere;
}
body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div>a{
  margin-left:0!important;
}
@media(max-width:760px){
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div{
    grid-template-columns:40px minmax(0,1fr)!important;
    gap:9px!important;
  }
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div>a{
    grid-column:1/-1;
    width:100%;
    justify-content:center!important;
  }
}

@media(prefers-color-scheme:dark){
  body.csl-attendance-person-page .csl-attendance-action-bar{
    background:#121b25!important;
    border-color:#2f3b48!important;
    box-shadow:0 10px 26px rgba(0,0,0,.28)!important;
  }
  body.csl-attendance-person-page .csl-attendance-action-tab{
    background:#1a2330!important;
    border:1px solid #2e3a47!important;
    color:#dce5ee!important;
    box-shadow:none!important;
  }
  body.csl-attendance-person-page .csl-attendance-action-tab .csl-attendance-action-icon{
    background:#243140!important;
    color:inherit!important;
  }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-calendar{background:#143144!important;color:#8ad6ff!important}
  body.csl-attendance-person-page .csl-attendance-action-tab.is-date{background:#431a20!important;color:#ffb3bb!important}
  body.csl-attendance-person-page .csl-attendance-action-tab.is-add{background:#173625!important;color:#8ce0a3!important}
  body.csl-attendance-person-page .csl-attendance-action-tab.is-private{background:#312149!important;color:#d5b8ff!important}
  body.csl-attendance-person-page .csl-attendance-action-tab.is-security{background:#1f2935!important;color:#d3dee8!important}
  body.csl-attendance-person-page .csl-attendance-action-tab.is-active{color:#fff!important;box-shadow:0 10px 22px rgba(0,0,0,.26)!important}
  body.csl-attendance-person-page .csl-attendance-action-tab.is-active .csl-attendance-action-icon{background:rgba(255,255,255,.16)!important;color:#fff!important}

  body.csl-attendance-person-page .csl-attendance-action-panel,
  body.csl-attendance-person-page .csl-attendance-upcoming--compact,
  body.csl-attendance-person-page .csl-attendance-day--compact,
  body.csl-attendance-person-page .csl-attendance-calendar-subscription,
  body.csl-attendance-person-page .csl-attendance-personal-panel,
  body.csl-attendance-person-page .csl-attendance-password-panel,
  body.csl-attendance-person-page .csl-attendance-private-content,
  body.csl-attendance-person-page .csl-attendance-security-content,
  body.csl-attendance-person-page .csl-attendance-roster,
  body.csl-attendance-person-page .csl-attendance-table tr,
  body.csl-attendance-person-page .csl-attendance-day-emergency,
  body.csl-attendance-person-page .csl-attendance-day-emergency__session,
  body.csl-attendance-person-page .csl-attendance-day-emergency__person{
    background:#151d28!important;
    border-color:#2f3b48!important;
    color:#e6edf4!important;
    box-shadow:none!important;
  }
  body.csl-attendance-person-page .csl-attendance-action-panel__title strong,
  body.csl-attendance-person-page .csl-attendance-section-heading h2,
  body.csl-attendance-person-page .csl-attendance-roster__head h3,
  body.csl-attendance-person-page .csl-attendance-day-emergency__head strong,
  body.csl-attendance-person-page .csl-attendance-day-emergency__session-title strong,
  body.csl-attendance-person-page .csl-attendance-table td strong,
  body.csl-attendance-person-page .csl-attendance-upcoming-card strong,
  body.csl-attendance-person-page .csl-attendance-upcoming-card h3{
    color:#f4f7fb!important;
  }
  body.csl-attendance-person-page .csl-attendance-action-panel__title small,
  body.csl-attendance-person-page .csl-attendance-calendar-intro,
  body.csl-attendance-person-page .csl-attendance-calendar-summary span,
  body.csl-attendance-person-page .csl-attendance-calendar-note,
  body.csl-attendance-person-page .csl-attendance-calendar-help p,
  body.csl-attendance-person-page .csl-attendance-private-manager-note,
  body.csl-attendance-person-page .csl-attendance-personal-form label small,
  body.csl-attendance-person-page .csl-attendance-personal-form__footer>span,
  body.csl-attendance-person-page .csl-attendance-table td small,
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts em,
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts small,
  body.csl-attendance-person-page .csl-attendance-day-emergency__session-title span,
  body.csl-attendance-person-page .csl-attendance-roster__head p,
  body.csl-attendance-person-page .csl-attendance-counter small,
  body.csl-attendance-person-page .csl-attendance-counter span,
  body.csl-attendance-person-page .csl-attendance-upcoming-card small,
  body.csl-attendance-person-page .csl-attendance-upcoming-card span,
  body.csl-attendance-person-page .csl-attendance-date-state,
  body.csl-attendance-person-page .csl-attendance-private-content p,
  body.csl-attendance-person-page .csl-attendance-security-content p{
    color:#aeb8c4!important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming-card,
  body.csl-attendance-person-page .csl-attendance-calendar-summary,
  body.csl-attendance-person-page .csl-attendance-profile-photo-field,
  body.csl-attendance-person-page .csl-attendance-private-manager-note,
  body.csl-attendance-person-page .csl-attendance-day-emergency__session-title,
  body.csl-attendance-person-page .csl-attendance-roster__head,
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div,
  body.csl-attendance-person-page .csl-attendance-day-emergency__close,
  body.csl-attendance-person-page .csl-attendance-locked{
    background:#0f1620!important;
    border-color:#2b3743!important;
    color:#e6edf4!important;
  }
  body.csl-attendance-person-page .csl-attendance-calendar-summary strong,
  body.csl-attendance-person-page .csl-attendance-calendar-help summary,
  body.csl-attendance-person-page .csl-attendance-private-manager-note strong,
  body.csl-attendance-person-page .csl-attendance-personal-form label,
  body.csl-attendance-person-page .csl-attendance-password-form--embedded label,
  body.csl-attendance-person-page .csl-attendance-manager-password-form--embedded label,
  body.csl-attendance-person-page .csl-attendance-manager-contact-card strong,
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts strong{
    color:#f4f7fb!important;
  }
  body.csl-attendance-person-page .csl-attendance-calendar-help input,
  body.csl-attendance-person-page .csl-attendance-tool-date-form input,
  body.csl-attendance-person-page .csl-attendance-tool-add-form input,
  body.csl-attendance-person-page .csl-attendance-tool-add-form select,
  body.csl-attendance-person-page .csl-attendance-personal-form input,
  body.csl-attendance-person-page .csl-attendance-personal-form textarea,
  body.csl-attendance-person-page .csl-attendance-password-form--embedded input,
  body.csl-attendance-person-page .csl-attendance-manager-password-form--embedded input{
    background:#0f1620!important;
    border:1px solid #33414f!important;
    color:#eef4fa!important;
  }
  body.csl-attendance-person-page .csl-attendance-calendar-help input::placeholder,
  body.csl-attendance-person-page .csl-attendance-tool-add-form input::placeholder,
  body.csl-attendance-person-page .csl-attendance-personal-form textarea::placeholder,
  body.csl-attendance-person-page .csl-attendance-personal-form input::placeholder,
  body.csl-attendance-person-page .csl-attendance-password-form--embedded input::placeholder,
  body.csl-attendance-person-page .csl-attendance-manager-password-form--embedded input::placeholder{
    color:#7f8d9b!important;
  }
  body.csl-attendance-person-page .csl-attendance-tool-date-form input:focus,
  body.csl-attendance-person-page .csl-attendance-tool-add-form input:focus,
  body.csl-attendance-person-page .csl-attendance-tool-add-form select:focus,
  body.csl-attendance-person-page .csl-attendance-personal-form input:focus,
  body.csl-attendance-person-page .csl-attendance-personal-form textarea:focus,
  body.csl-attendance-person-page .csl-attendance-password-form--embedded input:focus,
  body.csl-attendance-person-page .csl-attendance-manager-password-form--embedded input:focus,
  body.csl-attendance-person-page .csl-attendance-calendar-help input:focus{
    border-color:#5b6f84!important;
    box-shadow:0 0 0 3px rgba(91,111,132,.18)!important;
  }
  body.csl-attendance-person-page .csl-attendance-statuses label,
  body.csl-attendance-person-page .csl-attendance-statuses button,
  body.csl-attendance-person-page .csl-attendance-inline-delete button{
    background:#0f1620!important;
    border-color:#33414f!important;
    color:#e6edf4!important;
  }
  body.csl-attendance-person-page .csl-attendance-statuses label:has(input:checked){
    background:#3b1820!important;
    border-color:#a63d4b!important;
    color:#ffd8dd!important;
  }
  body.csl-attendance-person-page .csl-attendance-date-state.is-today,
  body.csl-attendance-person-page .csl-attendance-session-state.is-today{background:#3b1820!important;color:#ffd8dd!important}
  body.csl-attendance-person-page .csl-attendance-date-state.is-past,
  body.csl-attendance-person-page .csl-attendance-session-state.is-past{background:#212c38!important;color:#c2ccd7!important}
  body.csl-attendance-person-page .csl-attendance-date-state.is-future,
  body.csl-attendance-person-page .csl-attendance-session-state.is-future{background:#142f40!important;color:#9cddff!important}
  body.csl-attendance-person-page .csl-attendance-day-emergency{
    background:#101720!important;
    border-color:#394655!important;
  }
  body.csl-attendance-person-page .csl-attendance-day-emergency__person::before{opacity:.95}
  body.csl-attendance-person-page .csl-attendance-day-emergency__person-head span{
    background:#233140!important;
    color:#d7e2ec!important;
  }
  body.csl-attendance-person-page .csl-attendance-day-emergency__person.is-present .csl-attendance-day-emergency__person-head span{background:#173725!important;color:#98e2ab!important}
  body.csl-attendance-person-page .csl-attendance-day-emergency__person.is-absent .csl-attendance-day-emergency__person-head span{background:#232b35!important;color:#bfc8d2!important}
  body.csl-attendance-person-page .csl-attendance-day-emergency__person.is-unmarked .csl-attendance-day-emergency__person-head span{background:#392c13!important;color:#f3c97d!important}
  body.csl-attendance-person-page .csl-attendance-contact-photo-placeholder{
    background:#233140!important;
    border-color:#3e5265!important;
    color:#dce9f4!important;
  }
}


/* ---- csl-photos-v2034.css ---- */
/* CSL 2.0.34 — private photos: dossiers, accounts, intervenants and emergency contacts */
.csl-reg-participant-photo{display:grid;grid-template-columns:64px minmax(0,1fr) auto auto;align-items:center;gap:12px;margin:12px 0 20px;padding:12px 14px;border:1px solid #d9e1e8;border-radius:18px;background:#f8fafb}
.csl-reg-participant-photo__preview,.csl-attendance-profile-photo-field__preview{width:58px;height:58px;border-radius:16px;overflow:hidden;display:grid;place-items:center;background:#e8eef3;font-size:25px;flex:0 0 auto}
.csl-reg-participant-photo__preview img,.csl-attendance-profile-photo-field__preview img{width:100%;height:100%;object-fit:cover;display:block}
.csl-reg-participant-photo__copy{min-width:0;display:grid;gap:2px}.csl-reg-participant-photo__copy strong{font-size:15px}.csl-reg-participant-photo__copy small{color:#64748b;line-height:1.35}
.csl-reg-participant-photo__button,.csl-attendance-profile-photo-field__button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 12px;border-radius:12px;background:#0f766e;color:#fff;font-weight:800;cursor:pointer}
.csl-reg-participant-photo__button input,.csl-attendance-profile-photo-field__button input,.csl-attendance-contact-photo-editor input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.csl-reg-participant-photo__remove,.csl-attendance-profile-photo-field__remove{display:inline-flex;gap:6px;align-items:center;font-size:12px;font-weight:700;color:#9f1239}

.csl-attendance-contact-photo-editor{margin:0;flex:0 0 auto}.csl-attendance-contact-photo-editor label{position:relative;display:grid;place-items:center;cursor:pointer;margin:0}.csl-attendance-contact-photo,.csl-attendance-contact-photo-placeholder{width:50px;height:50px;border-radius:15px;object-fit:cover;display:grid;place-items:center;background:#e8edf2;border:2px solid rgba(15,118,110,.24);font-size:20px}.csl-attendance-contact-photo-editor__hint{position:absolute;left:50%;bottom:-5px;transform:translateX(-50%);padding:2px 6px;border-radius:999px;background:#0f172a;color:#fff;font-size:8px;font-weight:900;line-height:1.2;white-space:nowrap;box-shadow:0 2px 7px rgba(0,0,0,.18)}
.csl-attendance-contact-photo-editor.is-compact .csl-attendance-contact-photo,.csl-attendance-contact-photo-editor.is-compact .csl-attendance-contact-photo-placeholder{width:40px;height:40px;border-radius:12px}.csl-attendance-contact-photo-editor.is-compact .csl-attendance-contact-photo-editor__hint{font-size:7px}
.csl-attendance-emergency-contact,.csl-attendance-day-emergency__contacts>div{align-items:center}

.csl-attendance-profile-photo-field{display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid rgba(15,118,110,.18);border-radius:17px;background:rgba(15,118,110,.05)}
.csl-attendance-profile-photo-field>div:nth-child(2){display:grid;gap:2px;min-width:0}.csl-attendance-profile-photo-field small{color:#64748b}.csl-attendance-profile-photo-field__remove{grid-column:2/-1}
.csl-attendance-instructor-avatar{width:64px;height:64px;border-radius:20px;object-fit:cover;border:3px solid rgba(15,118,110,.18);box-shadow:0 8px 22px rgba(15,23,42,.12);justify-self:center}
.csl-attendance-instructor-header-v2:has(.csl-attendance-instructor-avatar){grid-template-columns:72px 1fr auto}.csl-attendance-instructor-header-v2:has(.csl-attendance-instructor-avatar) .csl-attendance-instructor-avatar{grid-row:1/4;align-self:center}

.csl-v2034-photo-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0;padding:12px 16px;border:1px solid #a7d8cc;border-left:5px solid #0f766e;border-radius:16px;background:#effcf8;color:#13352d}.csl-v2034-photo-alert>div{display:flex;align-items:center;gap:10px}.csl-v2034-photo-alert span{font-size:24px}.csl-v2034-photo-alert p{margin:0;display:grid;gap:2px}.csl-v2034-photo-alert small{color:#4b675f}.csl-v2034-photo-alert a{font-weight:900;color:#0f766e;white-space:nowrap}.csl-v2034-photo-section .csl-v129-alert-icon{background:#dcfce7}

@media(max-width:760px){
 .csl-reg-participant-photo{grid-template-columns:52px minmax(0,1fr) auto;padding:10px;gap:9px}.csl-reg-participant-photo__preview{width:50px;height:50px;border-radius:14px}.csl-reg-participant-photo__button{padding:7px 10px;font-size:12px}.csl-reg-participant-photo__remove{grid-column:2/4}
 .csl-attendance-profile-photo-field{grid-template-columns:54px minmax(0,1fr);padding:10px}.csl-attendance-profile-photo-field__preview{width:50px;height:50px;border-radius:14px}.csl-attendance-profile-photo-field__button{grid-column:1/-1;width:100%}.csl-attendance-profile-photo-field__remove{grid-column:1/-1}
 .csl-attendance-instructor-header-v2:has(.csl-attendance-instructor-avatar){grid-template-columns:1fr}.csl-attendance-instructor-header-v2:has(.csl-attendance-instructor-avatar) .csl-attendance-instructor-avatar{grid-row:auto;width:58px;height:58px}
 .csl-v2034-photo-alert{align-items:flex-start;flex-direction:column}.csl-v2034-photo-alert a{align-self:stretch;text-align:center;padding:8px;border-radius:10px;background:#fff}
}
@media(prefers-color-scheme:dark){
 .csl-reg-participant-photo,.csl-attendance-profile-photo-field{background:#16202b;border-color:#334155;color:#f8fafc}.csl-reg-participant-photo__copy small,.csl-attendance-profile-photo-field small{color:#a8b5c4}.csl-reg-participant-photo__preview,.csl-attendance-profile-photo-field__preview,.csl-attendance-contact-photo-placeholder{background:#253343;color:#dbeafe}.csl-v2034-photo-alert{background:#102a25;border-color:#226b5a;color:#effcf8}.csl-v2034-photo-alert small{color:#b4d4cc}.csl-v2034-photo-alert a{color:#7ee0c5}
}

.csl-attendance-avatar-silhouette{position:relative;display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(180deg,#edf2f7 0%,#dce5ee 100%);overflow:hidden}
.csl-attendance-avatar-silhouette::before{content:"";position:absolute;left:50%;top:18%;width:34%;height:34%;transform:translateX(-50%);border-radius:50%;background:#b7c5d6}
.csl-attendance-avatar-silhouette::after{content:"";position:absolute;left:50%;bottom:12%;width:66%;height:40%;transform:translateX(-50%);border-radius:55% 55% 24% 24%;background:#b7c5d6}
.csl-attendance-profile-photo-field.is-clickable{cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.csl-attendance-profile-photo-field.is-clickable:hover{border-color:rgba(15,118,110,.34);box-shadow:0 10px 26px rgba(15,23,42,.08)}
.csl-attendance-profile-photo-field__status{display:block;margin-top:6px;color:#0f766e;font-weight:700}
.csl-attendance-profile-photo-field__preview .csl-attendance-avatar-silhouette{width:100%;height:100%}
@media(prefers-color-scheme:dark){.csl-attendance-avatar-silhouette{background:linear-gradient(180deg,#2a3949 0%,#223243 100%)}.csl-attendance-avatar-silhouette::before,.csl-attendance-avatar-silhouette::after{background:#9bb0c5}.csl-attendance-profile-photo-field__status{color:#7ee0c5}}

.csl-v2059-profile-bio-preview{margin-top:0;padding:10px 12px;border-radius:12px;background:#f8fafc;border:1px solid #e2e8f0;white-space:pre-line;color:#334155}
@media(prefers-color-scheme:dark){.csl-v2059-profile-bio-preview{background:#16202b;border-color:#334155;color:#e5edf5}}


/* ---- csl-photo-cropper-v2035.css ---- */
html.csl-photo-cropper-open,html.csl-photo-cropper-open body{overflow:hidden!important}.csl-photo-cropper[hidden]{display:none!important}.csl-photo-cropper{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom));font-family:inherit}.csl-photo-cropper__backdrop{position:absolute;inset:0;background:rgba(6,14,24,.72);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.csl-photo-cropper__dialog{position:relative;width:min(94vw,430px);max-height:92vh;overflow:auto;padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:26px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.32);color:#132033}.csl-photo-cropper__dialog header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.csl-photo-cropper__dialog header span{display:block;font-size:10px;font-weight:900;letter-spacing:.18em;color:#0f766e}.csl-photo-cropper__dialog h2{margin:2px 0 0;font-size:24px;line-height:1.05}.csl-photo-cropper__dialog header button{width:38px;height:38px;border:0;border-radius:12px;background:#eef2f5;color:#172033;font-size:25px;line-height:1;cursor:pointer}.csl-photo-cropper__dialog>p{margin:10px 0 14px;color:#64748b;font-size:13px;line-height:1.45}.csl-photo-cropper__stage{position:relative;width:min(78vw,330px);aspect-ratio:1;margin:auto;overflow:hidden;border-radius:22px;background:#dfe6eb;touch-action:none;cursor:grab}.csl-photo-cropper__stage.is-dragging{cursor:grabbing}.csl-photo-cropper__stage>img{position:absolute;left:50%;top:50%;max-width:none!important;max-height:none!important;user-select:none;-webkit-user-drag:none;transform-origin:center center}.csl-photo-cropper__frame{position:absolute;inset:0;border:4px solid #fff;border-radius:22px;box-shadow:inset 0 0 0 1px rgba(15,23,42,.12);pointer-events:none}.csl-photo-cropper[data-shape="circle"] .csl-photo-cropper__frame{border-radius:50%;box-shadow:0 0 0 999px rgba(10,20,30,.34),0 0 0 2px rgba(255,255,255,.7)}.csl-photo-cropper__zoom{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;margin:16px 2px}.csl-photo-cropper__zoom span{font-size:12px;font-weight:900}.csl-photo-cropper__zoom input{width:100%;accent-color:#0f766e}.csl-photo-cropper__dialog footer{display:grid;grid-template-columns:1fr 1.4fr;gap:9px}.csl-photo-cropper__dialog footer button{min-height:46px;border-radius:14px;font-weight:900;cursor:pointer}.csl-photo-cropper__secondary{border:1px solid #d9e1e8;background:#fff;color:#172033}.csl-photo-cropper__primary{border:0;background:#0f766e;color:#fff}@media(max-width:520px){.csl-photo-cropper{padding:12px}.csl-photo-cropper__dialog{padding:14px;border-radius:22px}.csl-photo-cropper__dialog h2{font-size:21px}.csl-photo-cropper__stage{width:min(84vw,330px)}.csl-photo-cropper__dialog footer{grid-template-columns:1fr}.csl-photo-cropper__primary{order:-1}}@media(prefers-color-scheme:dark){.csl-photo-cropper__dialog{background:#121b25;color:#f4f7fa;border-color:#32404f}.csl-photo-cropper__dialog>p{color:#a9b6c4}.csl-photo-cropper__dialog header button,.csl-photo-cropper__secondary{background:#202b36;color:#f4f7fa;border-color:#384655}.csl-photo-cropper__stage{background:#263342}}


/* ---- csl-intervenant-v2056.css ---- */
/* CSL Gestion 2.0.56 — finition de l'espace intervenant.
 * Couche isolée : uniquement présentation, aucune logique métier. */

body.csl-attendance-person-page{
  --csl-i56-bg:#f2f5f7;
  --csl-i56-card:#ffffff;
  --csl-i56-soft:#f7f9fa;
  --csl-i56-line:#dce4e9;
  --csl-i56-ink:#172536;
  --csl-i56-muted:#6b7885;
  --csl-i56-red:#d90b1b;
  --csl-i56-red-dark:#b90917;
  --csl-i56-blue:#2c7899;
  --csl-i56-green:#2f7d50;
  --csl-i56-purple:#7651aa;
}
body.csl-attendance-person-page .csl-attendance--instructor{
  background:linear-gradient(180deg,#eef2f4 0,#f7f9fa 42%,#f2f5f7 100%)!important;
}
body.csl-attendance-person-page .csl-attendance-shell{
  width:min(1040px,100%)!important;
  max-width:1040px!important;
}

/* En-tête */
body.csl-attendance-person-page .csl-attendance-instructor-header-v2{
  padding:16px 18px 17px!important;
  border-color:#dce3e8!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 9% 0,rgba(217,11,27,.07),transparent 31%),
    radial-gradient(circle at 100% 100%,rgba(47,125,112,.08),transparent 35%),
    #fff!important;
  box-shadow:0 14px 34px rgba(23,37,54,.08)!important;
}
body.csl-attendance-person-page .csl-attendance-instructor-avatar{
  width:66px!important;height:66px!important;border-radius:50%!important;
  border:3px solid #fff!important;outline:2px solid rgba(47,125,112,.22)!important;
  box-shadow:0 8px 20px rgba(23,37,54,.14)!important;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__badge{color:#c31929!important}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__hello h1{font-size:clamp(26px,3vw,33px)!important}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__actions{width:min(420px,100%)!important}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__urgent,
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__logout{
  min-height:43px!important;border-radius:13px!important;font-size:12px!important;
}
body.csl-attendance-person-page .csl-attendance-instructor-header-v2__urgent{
  background:linear-gradient(135deg,#eb1325,#c90717)!important;
  box-shadow:0 8px 18px rgba(217,11,27,.19)!important;
}

/* Barre d'outils : même langage visuel sur les 5 onglets. */
body.csl-attendance-person-page .csl-attendance-action-hub{margin:12px 0 14px!important}
body.csl-attendance-person-page .csl-attendance-action-bar{
  padding:6px!important;gap:6px!important;border-radius:18px!important;
  border-color:var(--csl-i56-line)!important;background:#fff!important;
  box-shadow:0 10px 26px rgba(23,37,54,.06)!important;
}
body.csl-attendance-person-page .csl-attendance-action-tab{
  min-height:62px!important;border:1px solid transparent!important;border-radius:13px!important;
  transition:transform .14s ease,box-shadow .14s ease,filter .14s ease!important;
}
body.csl-attendance-person-page .csl-attendance-action-tab:hover{transform:translateY(-1px);filter:saturate(1.04)}
body.csl-attendance-person-page .csl-attendance-action-tab:focus-visible{outline:3px solid rgba(44,120,153,.22)!important;outline-offset:2px!important}
body.csl-attendance-person-page .csl-attendance-action-tab.is-active{box-shadow:0 7px 16px rgba(23,37,54,.15)!important}
body.csl-attendance-person-page .csl-attendance-action-icon{border-radius:9px!important}

/* Panneaux de saisie */
body.csl-attendance-person-page .csl-attendance-action-panel{
  margin-top:8px!important;padding:18px!important;border-radius:18px!important;
  border:1px solid var(--csl-i56-line)!important;background:#fff!important;
  box-shadow:0 14px 32px rgba(23,37,54,.08)!important;
}
body.csl-attendance-person-page .csl-attendance-action-panel__title{margin-bottom:15px!important}
body.csl-attendance-person-page .csl-attendance-action-panel__title strong{font-size:18px!important;letter-spacing:-.02em}
body.csl-attendance-person-page .csl-attendance-action-panel__title small{font-size:12px!important;line-height:1.45}
body.csl-attendance-person-page .csl-attendance-tool-date-form,
body.csl-attendance-person-page .csl-attendance-tool-add-form{gap:11px!important}
body.csl-attendance-person-page .csl-attendance-tool-date-form label>span,
body.csl-attendance-person-page .csl-attendance-tool-add-form label>span,
body.csl-attendance-person-page .csl-attendance-personal-form label,
body.csl-attendance-person-page .csl-attendance-password-form--embedded label{font-weight:850!important}
body.csl-attendance-person-page .csl-attendance-tool-date-form input,
body.csl-attendance-person-page .csl-attendance-tool-add-form input,
body.csl-attendance-person-page .csl-attendance-tool-add-form select,
body.csl-attendance-person-page .csl-attendance-personal-form input,
body.csl-attendance-person-page .csl-attendance-personal-form textarea,
body.csl-attendance-person-page .csl-attendance-password-form--embedded input{
  min-height:46px!important;border-radius:12px!important;border:1px solid #ccd7de!important;
  background:#fff!important;color:#172536!important;
}
body.csl-attendance-person-page .csl-attendance-personal-form textarea{min-height:125px!important}
body.csl-attendance-person-page .csl-attendance-button{border-radius:12px!important;font-weight:900!important}
body.csl-attendance-person-page .csl-attendance-button--primary{
  background:linear-gradient(135deg,#e51222,#c80717)!important;color:#fff!important;border-color:transparent!important;
}
body.csl-attendance-person-page .csl-attendance-button--light{background:#f4f7f9!important;color:#344454!important;border-color:#d7e0e6!important}

/* Calendrier / profil */
body.csl-attendance-person-page .csl-attendance-calendar-intro{font-size:13px!important;line-height:1.55!important}
body.csl-attendance-person-page .csl-attendance-calendar-summary{border:1px solid #e4e9ed!important;background:#f7f9fa!important}
body.csl-attendance-person-page .csl-attendance-calendar-help{border-color:#e4e9ed!important}
body.csl-attendance-person-page .csl-attendance-calendar-help input{min-height:44px!important}
body.csl-attendance-person-page .csl-attendance-profile-photo-field{
  border-color:#d9e7e4!important;background:#f2f9f7!important;border-radius:16px!important;
}
body.csl-attendance-person-page .csl-attendance-profile-photo-field__preview{border-radius:50%!important}

/* Séance du jour / pointage */
body.csl-attendance-person-page .csl-attendance-day--compact,
body.csl-attendance-person-page .csl-attendance-upcoming--compact{
  border-radius:20px!important;border-color:var(--csl-i56-line)!important;background:#fff!important;
  box-shadow:0 11px 28px rgba(23,37,54,.055)!important;
}
body.csl-attendance-person-page .csl-attendance-section-heading--line{
  padding-bottom:10px!important;border-bottom:1px solid #e7ecef!important;
}
body.csl-attendance-person-page .csl-attendance-section-heading--line h2{font-size:19px!important}
body.csl-attendance-person-page .csl-attendance-section-time{color:#7b8792!important;font-weight:750!important}
body.csl-attendance-person-page .csl-attendance-roster{
  border-color:#e0e7eb!important;background:#f9fbfc!important;border-radius:14px!important;
}
body.csl-attendance-person-page .csl-attendance-table tr{
  border-color:#e3e9ed!important;background:#fff!important;
}
body.csl-attendance-person-page .csl-attendance-readonly-status,
body.csl-attendance-person-page .csl-attendance-date-state{
  border:1px solid rgba(23,37,54,.06)!important;
}

/* Prochaines séances : cartes plus lisibles et réellement tactiles. */
body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-upcoming-grid{gap:10px!important}
body.csl-attendance-person-page .csl-attendance-upcoming-card{
  position:relative;display:grid!important;gap:4px!important;min-height:96px!important;
  padding:14px 15px!important;border:1px solid #e2e8ec!important;border-radius:15px!important;
  background:linear-gradient(145deg,#fff,#f8fafb)!important;color:var(--csl-i56-ink)!important;
  text-decoration:none!important;box-shadow:0 5px 14px rgba(23,37,54,.045)!important;
  transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease!important;
}
body.csl-attendance-person-page .csl-attendance-upcoming-card::before{
  content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 3px 3px 0;background:#d90b1b;
}
body.csl-attendance-person-page .csl-attendance-upcoming-card:hover,
body.csl-attendance-person-page .csl-attendance-upcoming-card:focus-visible{
  transform:translateY(-2px);border-color:#cbd8df!important;box-shadow:0 10px 22px rgba(23,37,54,.09)!important;
}
body.csl-attendance-person-page .csl-attendance-upcoming-card strong{color:#c61a29!important;font-size:13px!important}
body.csl-attendance-person-page .csl-attendance-upcoming-card span{color:#28394a!important;font-size:14px!important;font-weight:900!important}
body.csl-attendance-person-page .csl-attendance-upcoming-card small{color:#7a8792!important;font-size:11px!important}

/* Urgences : identité claire + photos + contacts sans champ de fichier visible. */
body.csl-attendance-person-page .csl-attendance-day-emergency{
  padding:14px!important;border-radius:20px!important;border:1px solid #e6c7cb!important;
  background:linear-gradient(180deg,#fffafb,#fff 44%)!important;box-shadow:0 12px 30px rgba(108,17,27,.08)!important;
}
body.csl-attendance-person-page .csl-attendance-day-emergency__head{padding:1px 2px 3px!important}
body.csl-attendance-person-page .csl-attendance-day-emergency__session{border-radius:15px!important}
body.csl-attendance-person-page .csl-attendance-day-emergency__session-title{padding:11px 13px!important}
body.csl-attendance-person-page .csl-attendance-day-emergency__people{gap:10px!important;padding:10px!important}
body.csl-attendance-person-page .csl-attendance-day-emergency__person{padding:12px!important;border-radius:13px!important}
body.csl-attendance-person-page .csl-attendance-day-emergency__person-head{margin-bottom:9px!important}
body.csl-attendance-person-page .csl-attendance-day-emergency__identity{display:flex!important;align-items:center!important;gap:9px!important;min-width:0!important}
body.csl-attendance-person-page .csl-attendance-day-emergency__identity>strong{min-width:0!important}
body.csl-attendance-person-page .csl-attendance-day-emergency__avatar{
  display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;overflow:hidden;
  border-radius:50%;background:#eaf0f4;color:#3b4c5b;border:2px solid #fff;box-shadow:0 2px 8px rgba(23,37,54,.1);
}
body.csl-attendance-person-page .csl-attendance-day-emergency__avatar img{width:100%;height:100%;object-fit:cover;display:block}
body.csl-attendance-person-page .csl-attendance-day-emergency__avatar b{font-size:12px;letter-spacing:.03em}
body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div{
  grid-template-columns:42px minmax(0,1fr) auto!important;gap:10px!important;padding:9px 8px!important;
  border-top:1px solid #f0e8e9!important;border-radius:10px!important;
}
body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div:first-child{border-top:0!important}
body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div:hover{background:#fff8f8!important}
body.csl-attendance-person-page .csl-attendance-contact-photo-editor{position:relative!important;display:block!important;width:42px!important;height:42px!important;overflow:visible!important}
body.csl-attendance-person-page .csl-attendance-contact-photo-editor label{
  position:relative!important;display:grid!important;place-items:center!important;width:42px!important;height:42px!important;margin:0!important;cursor:pointer!important;
}
body.csl-attendance-person-page .csl-attendance-contact-photo-editor input[type=file]{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;opacity:0!important;z-index:3!important;cursor:pointer!important;font-size:0!important;
}
body.csl-attendance-person-page .csl-attendance-contact-photo,
body.csl-attendance-person-page .csl-attendance-contact-photo-placeholder{
  width:42px!important;height:42px!important;border-radius:50%!important;border:2px solid #fff!important;box-shadow:0 2px 8px rgba(23,37,54,.1)!important;
}
body.csl-attendance-person-page .csl-attendance-contact-photo-editor__hint{
  left:50%!important;bottom:-5px!important;padding:2px 5px!important;border-radius:999px!important;
  background:#172536!important;color:#fff!important;font-size:7px!important;z-index:4!important;pointer-events:none!important;
}
body.csl-attendance-person-page .csl-attendance-day-emergency__contacts a{
  min-width:74px!important;min-height:36px!important;border-radius:10px!important;background:#b81120!important;
}

/* Responsive iPad / iPhone */
@media(max-width:900px){
  body.csl-attendance-person-page .csl-attendance-shell{width:100%!important}
  body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-upcoming-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:760px){
  body.csl-attendance-person-page .csl-attendance--instructor{padding:5px 9px 28px!important}
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2{padding:13px 12px 14px!important;border-radius:18px!important}
  body.csl-attendance-person-page .csl-attendance-instructor-avatar{width:58px!important;height:58px!important}
  body.csl-attendance-person-page .csl-attendance-action-bar{gap:4px!important;padding:5px!important}
  body.csl-attendance-person-page .csl-attendance-action-tab{min-height:56px!important;padding:5px 2px!important}
  body.csl-attendance-person-page .csl-attendance-action-panel{padding:14px!important;border-radius:16px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact,
  body.csl-attendance-person-page .csl-attendance-upcoming--compact{padding:12px!important;border-radius:17px!important}
  body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-upcoming-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.csl-attendance-person-page .csl-attendance-upcoming-card{min-height:88px!important;padding:12px 13px!important}
  body.csl-attendance-person-page .csl-attendance-day-emergency{padding:10px!important;border-radius:16px!important}
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div{grid-template-columns:42px minmax(0,1fr) auto!important}
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts a{grid-column:auto!important;width:auto!important;min-width:70px!important}
}
@media(max-width:480px){
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2__actions{grid-template-columns:1fr 1fr!important}
  body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-upcoming-grid{grid-template-columns:1fr!important}
  body.csl-attendance-person-page .csl-attendance-upcoming-card{min-height:78px!important}
  body.csl-attendance-person-page .csl-attendance-day-emergency__person-head{align-items:flex-start!important}
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div{grid-template-columns:42px minmax(0,1fr)!important}
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts a{grid-column:1/-1!important;width:100%!important}
}

/* Mode sombre : aucune grande surface blanche, contraste conservé. */
@media(prefers-color-scheme:dark){
  body.csl-attendance-person-page{
    --csl-i56-bg:#0b1119;--csl-i56-card:#141d28;--csl-i56-soft:#101821;
    --csl-i56-line:#303c49;--csl-i56-ink:#f3f7fa;--csl-i56-muted:#aab5c0;
  }
  body.csl-attendance-person-page .csl-attendance--instructor{
    background:linear-gradient(180deg,#0b1119,#0f1620 42%,#0b1119)!important;color:#edf3f7!important;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2{
    border-color:#303d4a!important;
    background:radial-gradient(circle at 8% 0,rgba(217,11,27,.12),transparent 30%),radial-gradient(circle at 100% 100%,rgba(47,125,112,.1),transparent 35%),#141d28!important;
    box-shadow:0 14px 34px rgba(0,0,0,.28)!important;
  }
  body.csl-attendance-person-page .csl-attendance-action-bar,
  body.csl-attendance-person-page .csl-attendance-action-panel,
  body.csl-attendance-person-page .csl-attendance-day--compact,
  body.csl-attendance-person-page .csl-attendance-upcoming--compact,
  body.csl-attendance-person-page .csl-attendance-roster,
  body.csl-attendance-person-page .csl-attendance-table tr{
    background:#141d28!important;border-color:#303c49!important;color:#edf3f7!important;
    box-shadow:none!important;
  }
  body.csl-attendance-person-page .csl-attendance-action-tab{border-color:#33414f!important}
  body.csl-attendance-person-page .csl-attendance-calendar-summary,
  body.csl-attendance-person-page .csl-attendance-roster__head,
  body.csl-attendance-person-page .csl-attendance-profile-photo-field,
  body.csl-attendance-person-page .csl-attendance-private-manager-note{
    background:#101821!important;border-color:#2e3b48!important;color:#e9f0f5!important;
  }
  body.csl-attendance-person-page .csl-attendance-section-heading--line{border-color:#2c3743!important}
  body.csl-attendance-person-page .csl-attendance-tool-date-form input,
  body.csl-attendance-person-page .csl-attendance-tool-add-form input,
  body.csl-attendance-person-page .csl-attendance-tool-add-form select,
  body.csl-attendance-person-page .csl-attendance-personal-form input,
  body.csl-attendance-person-page .csl-attendance-personal-form textarea,
  body.csl-attendance-person-page .csl-attendance-password-form--embedded input,
  body.csl-attendance-person-page .csl-attendance-calendar-help input{
    background:#0d151e!important;border-color:#354453!important;color:#eef4f8!important;
  }
  body.csl-attendance-person-page .csl-attendance-button--light{background:#202b37!important;color:#e8eef4!important;border-color:#384654!important}
  body.csl-attendance-person-page .csl-attendance-upcoming-card{
    background:linear-gradient(145deg,#17212c,#111922)!important;border-color:#31404e!important;color:#f2f6f9!important;box-shadow:none!important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming-card strong{color:#ff8f9a!important}
  body.csl-attendance-person-page .csl-attendance-upcoming-card span{color:#f1f5f8!important}
  body.csl-attendance-person-page .csl-attendance-upcoming-card small{color:#aab5c0!important}
  body.csl-attendance-person-page .csl-attendance-upcoming-card:hover{border-color:#526474!important;background:#1a2531!important}
  body.csl-attendance-person-page .csl-attendance-day-emergency{
    background:linear-gradient(180deg,#1d1317,#111922 44%)!important;border-color:#6c333a!important;box-shadow:none!important;
  }
  body.csl-attendance-person-page .csl-attendance-day-emergency__session,
  body.csl-attendance-person-page .csl-attendance-day-emergency__person,
  body.csl-attendance-person-page .csl-attendance-day-emergency__session-title{
    background:#141d28!important;border-color:#34414e!important;color:#eef4f8!important;
  }
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div{border-color:#2f3944!important}
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div:hover{background:#1b232d!important}
  body.csl-attendance-person-page .csl-attendance-day-emergency__avatar,
  body.csl-attendance-person-page .csl-attendance-contact-photo-placeholder{
    background:#253341!important;color:#dce7ef!important;border-color:#344555!important;
  }
  body.csl-attendance-person-page .csl-attendance-contact-photo{border-color:#344555!important}
  body.csl-attendance-person-page .csl-attendance-day-emergency__person-head strong,
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts strong,
  body.csl-attendance-person-page .csl-attendance-action-panel__title strong,
  body.csl-attendance-person-page .csl-attendance-section-heading h2,
  body.csl-attendance-person-page .csl-attendance-table td strong{color:#f4f7fa!important}
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts em,
  body.csl-attendance-person-page .csl-attendance-action-panel__title small,
  body.csl-attendance-person-page .csl-attendance-calendar-intro,
  body.csl-attendance-person-page .csl-attendance-calendar-note,
  body.csl-attendance-person-page .csl-attendance-section-time,
  body.csl-attendance-person-page .csl-attendance-table td small{color:#aab5c0!important}
}


/* ---- csl-login-v2057.css ---- */
/* CSL Gestion 2.0.57 — page de connexion intervenant */
.csl-attendance--login{
  min-height:clamp(620px,78vh,900px);
  padding:clamp(26px,6vw,76px) 18px 64px!important;
  background:
    radial-gradient(circle at 50% -10%,rgba(217,11,27,.10),transparent 34%),
    linear-gradient(145deg,#f5f7f9,#eef2f5 58%,#e8edf1)!important;
}
.csl-attendance--login .csl-attendance-shell{max-width:1180px!important;margin:0 auto!important}
.csl-attendance-login-card{
  width:min(610px,100%)!important;
  margin:0 auto!important;
  padding:clamp(28px,5vw,46px)!important;
  border:1px solid #d8e0e7!important;
  border-radius:26px!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:0 28px 70px rgba(20,34,48,.13)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.csl-attendance-login-brand{display:flex;align-items:center;gap:12px;margin:0 0 28px;color:#293542;font-size:12px;font-weight:850;line-height:1.18}
.csl-attendance-login-brand .csl-attendance-hero__brand{margin:0!important;display:block!important}
.csl-attendance-login-brand .csl-attendance-hero__brand img{width:58px!important;height:58px!important;display:block!important;object-fit:contain!important}
.csl-attendance-login-card .csl-attendance-eyebrow{display:block;margin:0 0 10px;color:#d90b1b!important;font-size:12px!important;font-weight:950!important;letter-spacing:.18em!important;text-transform:uppercase}
.csl-attendance-login-card h1{margin:0!important;color:#111d29!important;font-size:clamp(30px,4.2vw,42px)!important;line-height:1.08!important;letter-spacing:-.035em!important}
.csl-attendance-login-card .csl-attendance-login-intro{max-width:500px;margin:14px 0 28px!important;color:#667585!important;font-size:16px!important;line-height:1.55!important}
.csl-attendance-login-card form{display:grid;gap:15px}
.csl-attendance-login-card form p{margin:0!important}
.csl-attendance-login-card label{display:block;color:#273441!important;font-size:14px!important;font-weight:850!important;line-height:1.35!important}
.csl-attendance-login-card .login-username input,
.csl-attendance-login-card .login-password input{
  width:100%!important;
  min-height:54px!important;
  margin-top:8px!important;
  padding:0 15px!important;
  border:1px solid #cdd7e0!important;
  border-radius:13px!important;
  background:#f8fafb!important;
  color:#17222d!important;
  -webkit-text-fill-color:#17222d!important;
  font-size:16px!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease!important;
}
.csl-attendance-login-card .login-username input:focus,
.csl-attendance-login-card .login-password input:focus{
  outline:0!important;
  border-color:#72879a!important;
  background:#fff!important;
  box-shadow:0 0 0 4px rgba(92,118,142,.13)!important;
}
.csl-login-password-wrap{position:relative;display:block}
.csl-login-password-wrap #user_pass{padding-right:56px!important}
.csl-login-password-toggle{
  position:absolute;right:8px;top:16px;width:40px;height:40px;padding:0!important;
  display:grid;place-items:center;border:0!important;border-radius:10px!important;
  background:transparent!important;color:#6b7c8c!important;font-size:18px!important;cursor:pointer;
}
.csl-login-password-toggle:hover,.csl-login-password-toggle:focus-visible{background:#eaf0f4!important;color:#1f3040!important;outline:0!important}
.csl-login-password-toggle.is-visible{color:#d90b1b!important}
.csl-attendance-login-card .login-remember{display:flex!important;align-items:center!important;gap:10px!important;margin:2px 0 0!important;color:#334354!important;font-weight:800!important}
.csl-attendance-login-card .login-remember input{width:20px!important;height:20px!important;min-height:0!important;margin:0!important;accent-color:#d90b1b!important}
.csl-attendance-login-card .login-submit{margin-top:3px!important}
.csl-attendance-login-card .login-submit input{
  width:100%!important;min-height:54px!important;border:1px solid #ec2637!important;border-radius:13px!important;
  background:linear-gradient(135deg,#e91a2b,#c90b1c)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;
  box-shadow:0 12px 24px rgba(201,11,28,.22)!important;font-size:15px!important;font-weight:950!important;letter-spacing:.01em!important;
  cursor:pointer!important;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease!important;
}
.csl-attendance-login-card .login-submit input:hover{filter:brightness(1.05)!important;transform:translateY(-1px)!important;box-shadow:0 15px 28px rgba(201,11,28,.26)!important}
.csl-attendance-login-card .login-submit input:active{transform:translateY(0)!important}
.csl-attendance-login-help{display:flex;align-items:flex-start;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid #e1e7ec;color:#687887}
.csl-attendance-login-help>span{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#edf2f5;color:#526579;font-size:16px;font-weight:900}
.csl-attendance-login-help strong,.csl-attendance-login-help small{display:block}
.csl-attendance-login-help strong{color:#304050;font-size:13px}
.csl-attendance-login-help small{margin-top:4px;color:#7b8997;font-size:12px;line-height:1.45}

@media(prefers-color-scheme:dark){
  .csl-attendance--login{
    background:
      radial-gradient(circle at 50% -8%,rgba(217,11,27,.12),transparent 34%),
      radial-gradient(circle at 9% 92%,rgba(38,81,111,.12),transparent 28%),
      linear-gradient(145deg,#080d14,#0d141e 56%,#0a1018)!important;
    color:#eef4f8!important;
  }
  .csl-attendance-login-card{
    border-color:#344150!important;
    background:linear-gradient(155deg,rgba(20,29,40,.97),rgba(12,18,27,.98))!important;
    box-shadow:0 34px 88px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.025)!important;
  }
  .csl-attendance-login-brand{color:#dce5ec!important}
  .csl-attendance-login-card h1{color:#f5f8fb!important;-webkit-text-fill-color:#f5f8fb!important}
  .csl-attendance-login-card .csl-attendance-login-intro{color:#aab5c0!important;-webkit-text-fill-color:#aab5c0!important}
  .csl-attendance-login-card label{color:#d6dfe7!important;-webkit-text-fill-color:#d6dfe7!important}
  .csl-attendance-login-card .login-username input,
  .csl-attendance-login-card .login-password input{
    border-color:#354250!important;background:#0c131c!important;color:#eef4f8!important;-webkit-text-fill-color:#eef4f8!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
  }
  .csl-attendance-login-card .login-username input:-webkit-autofill,
  .csl-attendance-login-card .login-password input:-webkit-autofill{
    -webkit-box-shadow:0 0 0 1000px #0c131c inset!important;
    -webkit-text-fill-color:#eef4f8!important;
    caret-color:#eef4f8!important;
  }
  .csl-attendance-login-card .login-username input:focus,
  .csl-attendance-login-card .login-password input:focus{border-color:#61758a!important;background:#0e1721!important;box-shadow:0 0 0 4px rgba(96,117,138,.16)!important}
  .csl-login-password-toggle{color:#9aa9b6!important}
  .csl-login-password-toggle:hover,.csl-login-password-toggle:focus-visible{background:#1d2935!important;color:#f0f5f8!important}
  .csl-attendance-login-card .login-remember{color:#d0dae2!important;-webkit-text-fill-color:#d0dae2!important}
  .csl-attendance-login-help{border-color:#293642!important;color:#9baab7!important}
  .csl-attendance-login-help>span{background:#18232e!important;color:#b6c4cf!important}
  .csl-attendance-login-help strong{color:#e3ebf1!important;-webkit-text-fill-color:#e3ebf1!important}
  .csl-attendance-login-help small{color:#9aa9b6!important;-webkit-text-fill-color:#9aa9b6!important}
}
@media(max-width:640px){
  .csl-attendance--login{padding:22px 12px 42px!important;min-height:auto}
  .csl-attendance-login-card{padding:26px 20px!important;border-radius:22px!important}
  .csl-attendance-login-brand{margin-bottom:22px}
  .csl-attendance-login-brand .csl-attendance-hero__brand img{width:50px!important;height:50px!important}
  .csl-attendance-login-card h1{font-size:30px!important}
  .csl-attendance-login-card .csl-attendance-login-intro{font-size:15px!important;margin-bottom:24px!important}
}


/* ---- csl-attendance-manager-v2060.css ---- */
/* CSL Gestion 2.0.60 — Présences & séances : harmonisation mode sombre. */
@media (prefers-color-scheme: dark) {
  body.csl-attendance-manager-page {
    background:#070f1b!important;
    color-scheme:dark;
  }

  body.csl-attendance-manager-page .csl-attendance--manager {
    --csl-attendance-ink:#f3f7fb;
    --csl-attendance-muted:#aeb9c5;
    --csl-attendance-line:#2b3948;
    --csl-attendance-red:#ef2635;
    --csl-attendance-blue:#dce7f2;
    background:
      radial-gradient(circle at 12% 8%,rgba(20,68,96,.16),transparent 34%),
      radial-gradient(circle at 88% 4%,rgba(158,23,43,.10),transparent 30%),
      #08111e!important;
    color:#e8eef5!important;
  }

  body.csl-attendance-manager-page .csl-attendance-shell {
    color:#e8eef5!important;
  }

  body.csl-attendance-manager-page .csl-attendance-hero {
    border:1px solid #2c3a49!important;
    background:linear-gradient(135deg,#101b2b 0%,#101a28 62%,#341523 100%)!important;
    box-shadow:0 18px 42px rgba(0,0,0,.30)!important;
  }
  body.csl-attendance-manager-page .csl-attendance-hero::after {
    background:rgba(239,38,53,.14)!important;
  }
  body.csl-attendance-manager-page .csl-attendance-hero__brand {
    background:#151f2b!important;
    border:1px solid #334251!important;
  }
  body.csl-attendance-manager-page .csl-attendance-hero h1,
  body.csl-attendance-manager-page .csl-attendance-hero p {
    color:#f5f8fb!important;
  }
  body.csl-attendance-manager-page .csl-attendance-hero p { color:#bdc7d1!important; }
  body.csl-attendance-manager-page .csl-attendance-eyebrow { color:#ff7b86!important; }
  body.csl-attendance-manager-page .csl-attendance-link { color:#dce6ef!important; }

  body.csl-attendance-manager-page .csl-attendance-manager-filters,
  body.csl-attendance-manager-page .csl-attendance-session-admin,
  body.csl-attendance-manager-page .csl-attendance-manager-list,
  body.csl-attendance-manager-page .csl-attendance-manager-detail,
  body.csl-attendance-manager-page .csl-attendance-overview,
  body.csl-attendance-manager-page .csl-attendance-accounts {
    border-color:#2b3948!important;
    background:linear-gradient(180deg,#101a28 0%,#0d1724 100%)!important;
    box-shadow:0 12px 30px rgba(0,0,0,.22)!important;
    color:#e8eef5!important;
  }

  body.csl-attendance-manager-page .csl-attendance-manager-list--cancelled {
    background:#0e1723!important;
    border-color:#3b4a59!important;
  }

  body.csl-attendance-manager-page .csl-attendance-section-heading h2,
  body.csl-attendance-manager-page .csl-attendance-section-heading h3,
  body.csl-attendance-manager-page .csl-attendance-section-heading strong {
    color:#f4f7fb!important;
  }
  body.csl-attendance-manager-page .csl-attendance-section-heading p,
  body.csl-attendance-manager-page .csl-attendance-section-heading small,
  body.csl-attendance-manager-page .csl-attendance-section-note,
  body.csl-attendance-manager-page .csl-attendance-overview .csl-attendance-section-heading p {
    color:#aab6c2!important;
  }

  body.csl-attendance-manager-page .csl-attendance label,
  body.csl-attendance-manager-page .csl-attendance-manager-session-form label>span,
  body.csl-attendance-manager-page .csl-attendance-manager-password-form label {
    color:#c6d0da!important;
  }
  body.csl-attendance-manager-page .csl-attendance label input,
  body.csl-attendance-manager-page .csl-attendance label select,
  body.csl-attendance-manager-page .csl-attendance-manager-session-form input,
  body.csl-attendance-manager-page .csl-attendance-manager-session-form select,
  body.csl-attendance-manager-page .csl-attendance-manager-password-form input {
    border-color:#344454!important;
    background:#0a1320!important;
    color:#eef4fa!important;
    -webkit-text-fill-color:#eef4fa!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.02)!important;
  }
  body.csl-attendance-manager-page .csl-attendance input::placeholder,
  body.csl-attendance-manager-page .csl-attendance-manager-session-form input::placeholder {
    color:#738191!important;
    -webkit-text-fill-color:#738191!important;
    opacity:1!important;
  }
  body.csl-attendance-manager-page .csl-attendance input:focus,
  body.csl-attendance-manager-page .csl-attendance select:focus {
    border-color:#657c91!important;
    outline:none!important;
    box-shadow:0 0 0 3px rgba(86,125,160,.18)!important;
  }
  body.csl-attendance-manager-page .csl-attendance input:-webkit-autofill,
  body.csl-attendance-manager-page .csl-attendance input:-webkit-autofill:hover,
  body.csl-attendance-manager-page .csl-attendance input:-webkit-autofill:focus {
    -webkit-box-shadow:0 0 0 1000px #0a1320 inset!important;
    -webkit-text-fill-color:#eef4fa!important;
    caret-color:#eef4fa!important;
  }

  body.csl-attendance-manager-page .csl-attendance-button--light {
    border-color:#38495a!important;
    background:#121d2a!important;
    color:#edf3f8!important;
  }
  body.csl-attendance-manager-page .csl-attendance-button--light:hover {
    background:#192635!important;
    border-color:#52677b!important;
  }
  body.csl-attendance-manager-page .csl-attendance-button--primary {
    background:linear-gradient(180deg,#f02535,#d90b1b)!important;
    color:#fff!important;
    box-shadow:0 8px 18px rgba(227,6,19,.16)!important;
  }
  body.csl-attendance-manager-page .csl-attendance-button--danger {
    background:#35171d!important;
    color:#ffb1ba!important;
    border-color:#69313a!important;
  }

  body.csl-attendance-manager-page .csl-attendance-session-table-wrap,
  body.csl-attendance-manager-page .csl-attendance-matrix-wrap {
    border-color:#2b3948!important;
    background:#0b1420!important;
  }
  body.csl-attendance-manager-page .csl-attendance-session-table,
  body.csl-attendance-manager-page .csl-attendance-matrix {
    color:#e8eef5!important;
  }
  body.csl-attendance-manager-page .csl-attendance-session-table th,
  body.csl-attendance-manager-page .csl-attendance-matrix thead th {
    background:#152130!important;
    color:#aeb9c5!important;
    border-color:#2b3948!important;
  }
  body.csl-attendance-manager-page .csl-attendance-session-table td,
  body.csl-attendance-manager-page .csl-attendance-matrix th,
  body.csl-attendance-manager-page .csl-attendance-matrix td {
    border-color:#253342!important;
    color:#dde6ef!important;
  }
  body.csl-attendance-manager-page .csl-attendance-session-table td small,
  body.csl-attendance-manager-page .csl-attendance-matrix thead th small,
  body.csl-attendance-manager-page .csl-attendance-matrix-summary small {
    color:#93a1af!important;
  }
  body.csl-attendance-manager-page .csl-attendance-session-table tr.is-selected {
    background:#26171d!important;
  }
  body.csl-attendance-manager-page .csl-attendance-session-table tbody tr:hover {
    background:#111d2a!important;
  }

  body.csl-attendance-manager-page .csl-attendance-overview-legend .is-present,
  body.csl-attendance-manager-page .csl-attendance-info-badge.is-informed {
    background:#143322!important;color:#9ce5b0!important;border-color:#28553a!important;
  }
  body.csl-attendance-manager-page .csl-attendance-overview-legend .is-absent {
    background:#3b1820!important;color:#ffadb6!important;border-color:#66303a!important;
  }
  body.csl-attendance-manager-page .csl-attendance-overview-legend .is-unmarked {
    background:#202b38!important;color:#c5d0dc!important;border-color:#344455!important;
  }
  body.csl-attendance-manager-page .csl-attendance-overview-legend .is-future {
    background:#142a40!important;color:#9ed3ff!important;border-color:#294966!important;
  }
  body.csl-attendance-manager-page .csl-attendance-overview-legend .is-informed {
    background:#143322!important;color:#9ce5b0!important;
  }
  body.csl-attendance-manager-page .csl-attendance-overview-legend .is-to-inform,
  body.csl-attendance-manager-page .csl-attendance-info-badge.is-to-inform {
    background:#3b2d13!important;color:#f4cf7d!important;border-color:#655022!important;
  }

  body.csl-attendance-manager-page .csl-attendance-matrix .csl-attendance-matrix-person,
  body.csl-attendance-manager-page .csl-attendance-matrix .csl-attendance-matrix-summary,
  body.csl-attendance-manager-page .csl-attendance-matrix .csl-attendance-matrix-info {
    background:#0f1926!important;
    color:#dfe7ef!important;
  }
  body.csl-attendance-manager-page .csl-attendance-matrix thead .csl-attendance-matrix-person,
  body.csl-attendance-manager-page .csl-attendance-matrix thead .csl-attendance-matrix-summary,
  body.csl-attendance-manager-page .csl-attendance-matrix thead .csl-attendance-matrix-info {
    background:#152130!important;
  }
  body.csl-attendance-manager-page .csl-attendance-matrix .csl-attendance-matrix-person strong { color:#f0f5f9!important; }
  body.csl-attendance-manager-page .csl-attendance-matrix .csl-attendance-matrix-person small { color:#91a0ae!important; }
  body.csl-attendance-manager-page .csl-attendance-matrix td.is-present { background:#153423!important;color:#9ce5b0!important; }
  body.csl-attendance-manager-page .csl-attendance-matrix td.is-absent { background:#3b1820!important;color:#ffadb6!important; }
  body.csl-attendance-manager-page .csl-attendance-matrix td.is-unmarked { background:#202b38!important;color:#c5d0dc!important; }
  body.csl-attendance-manager-page .csl-attendance-matrix td.is-future { background:#142a40!important;color:#9ed3ff!important; }
  body.csl-attendance-manager-page .csl-attendance-matrix td.is-na { background:#0d1622!important;color:#667686!important; }

  body.csl-attendance-manager-page .csl-attendance-account {
    border-color:#334353!important;
    background:linear-gradient(180deg,#111c29,#0d1723)!important;
    color:#e8eef5!important;
  }
  body.csl-attendance-manager-page .csl-attendance-account strong { color:#f5f8fb!important; }
  body.csl-attendance-manager-page .csl-attendance-account span,
  body.csl-attendance-manager-page .csl-attendance-account small { color:#aeb9c5!important; }
  body.csl-attendance-manager-page .csl-attendance-account code {
    color:#ff8c97!important;
    background:transparent!important;
  }
  body.csl-attendance-manager-page .csl-attendance-account a {
    color:#ff6f7b!important;
  }
  body.csl-attendance-manager-page .csl-attendance-account .csl-attendance-button--light {
    background:#101b28!important;
    border-color:#3a4c5e!important;
  }

  body.csl-attendance-manager-page .csl-attendance-session-state.is-today,
  body.csl-attendance-manager-page .csl-attendance-date-state.is-today {
    background:#3b1820!important;color:#ffadb6!important;
  }
  body.csl-attendance-manager-page .csl-attendance-session-state.is-past,
  body.csl-attendance-manager-page .csl-attendance-date-state.is-past {
    background:#202b38!important;color:#c5d0dc!important;
  }
  body.csl-attendance-manager-page .csl-attendance-session-state.is-future,
  body.csl-attendance-manager-page .csl-attendance-date-state.is-future {
    background:#142a40!important;color:#9ed3ff!important;
  }

  body.csl-attendance-manager-page .csl-attendance-notice--success {
    background:#143322!important;border-color:#28553a!important;color:#a7e8b8!important;
  }
  body.csl-attendance-manager-page .csl-attendance-notice--error {
    background:#3b1820!important;border-color:#66303a!important;color:#ffadb6!important;
  }
  body.csl-attendance-manager-page .csl-attendance-empty,
  body.csl-attendance-manager-page .csl-attendance-no-session {
    color:#aeb9c5!important;
    border-color:#344454!important;
    background:#0b1420!important;
  }
  body.csl-attendance-manager-page .csl-attendance-no-session strong { color:#eef4fa!important; }

  body.csl-attendance-manager-page .csl-attendance-roster {
    border-color:#2b3948!important;
    background:#0d1723!important;
  }
  body.csl-attendance-manager-page .csl-attendance-roster__head {
    background:#131f2d!important;
    border-color:#2b3948!important;
  }
  body.csl-attendance-manager-page .csl-attendance-roster__head h3 { color:#f3f7fb!important; }
  body.csl-attendance-manager-page .csl-attendance-roster__head p,
  body.csl-attendance-manager-page .csl-attendance-counter span,
  body.csl-attendance-manager-page .csl-attendance-counter small { color:#a3afbb!important; }
  body.csl-attendance-manager-page .csl-attendance-table td { border-color:#253342!important;color:#dce5ee!important; }
  body.csl-attendance-manager-page .csl-attendance-table th { border-color:#2b3948!important;color:#aeb9c5!important; }
  body.csl-attendance-manager-page .csl-attendance-table td small { color:#95a3b1!important; }
  body.csl-attendance-manager-page .csl-attendance-statuses label {
    background:#101b28!important;border-color:#354657!important;color:#e2eaf2!important;
  }
  body.csl-attendance-manager-page .csl-attendance-statuses label:has(input:checked) {
    background:#3b1820!important;border-color:#713541!important;color:#ffc0c7!important;
  }
  body.csl-attendance-manager-page .csl-attendance-locked {
    background:#111b27!important;color:#aeb9c5!important;
  }

  @media (max-width:820px) {
    body.csl-attendance-manager-page .csl-attendance--manager .csl-attendance-session-table tr,
    body.csl-attendance-manager-page .csl-attendance--manager .csl-attendance-session-table td {
      background:#0f1926!important;
      border-color:#2b3948!important;
    }
    body.csl-attendance-manager-page .csl-attendance--manager .csl-attendance-session-table td::before {
      color:#8796a5!important;
    }
  }
}


/* ---- csl-intervenant-v2061.css ---- */
/* CSL Gestion 2.0.61 — photos séance / urgences */
body.csl-attendance-person-page .csl-attendance-avatar-silhouette{
  position:relative!important;display:block!important;width:100%!important;height:100%!important;
  border-radius:inherit!important;background:linear-gradient(180deg,#e7edf3,#d7e1ea)!important;overflow:hidden!important;
}
body.csl-attendance-person-page .csl-attendance-avatar-silhouette::before{
  content:""!important;position:absolute!important;left:50%!important;top:17%!important;width:34%!important;height:34%!important;
  transform:translateX(-50%)!important;border-radius:50%!important;background:#8799aa!important;
}
body.csl-attendance-person-page .csl-attendance-avatar-silhouette::after{
  content:""!important;position:absolute!important;left:50%!important;bottom:9%!important;width:68%!important;height:42%!important;
  transform:translateX(-50%)!important;border-radius:58% 58% 22% 22%!important;background:#8799aa!important;
}
body.csl-attendance-person-page .csl-attendance-day-emergency__avatar{
  flex:0 0 58px!important;width:58px!important;height:58px!important;border-radius:18px!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;
}
body.csl-attendance-person-page .csl-attendance-photo-control{
  position:relative!important;display:block!important;width:58px!important;height:58px!important;margin:0!important;overflow:visible!important;
}
body.csl-attendance-person-page .csl-attendance-photo-control__hitbox{
  position:relative!important;display:grid!important;place-items:center!important;width:58px!important;height:58px!important;margin:0!important;
  border-radius:18px!important;overflow:visible!important;cursor:pointer!important;background:transparent!important;
}
body.csl-attendance-person-page .csl-attendance-photo-control input[type=file]{
  position:absolute!important;inset:-4px!important;width:calc(100% + 8px)!important;height:calc(100% + 8px)!important;opacity:0!important;z-index:8!important;cursor:pointer!important;
}
body.csl-attendance-person-page .csl-attendance-participant-photo,
body.csl-attendance-person-page .csl-attendance-contact-photo,
body.csl-attendance-person-page .csl-attendance-contact-photo-placeholder{
  display:block!important;width:58px!important;height:58px!important;border-radius:18px!important;object-fit:cover!important;border:2px solid rgba(255,255,255,.72)!important;box-shadow:0 3px 10px rgba(0,0,0,.15)!important;overflow:hidden!important;
}
body.csl-attendance-person-page .csl-attendance-contact-photo-editor,
body.csl-attendance-person-page .csl-attendance-contact-photo-editor label{
  width:58px!important;height:58px!important;
}
body.csl-attendance-person-page .csl-attendance-contact-photo-editor__hint{
  left:50%!important;bottom:-6px!important;transform:translateX(-50%)!important;z-index:9!important;pointer-events:none!important;
  padding:3px 7px!important;border-radius:999px!important;background:#152333!important;color:#fff!important;font-size:8px!important;font-weight:900!important;white-space:nowrap!important;
}
body.csl-attendance-person-page .csl-attendance-photo-control__remove{
  position:absolute!important;right:-9px!important;top:-9px!important;z-index:12!important;width:24px!important;height:24px!important;padding:0!important;
  border:2px solid #fff!important;border-radius:50%!important;background:#b81120!important;color:#fff!important;font-size:17px!important;font-weight:900!important;line-height:18px!important;cursor:pointer!important;box-shadow:0 3px 8px rgba(0,0,0,.2)!important;
}
body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div{
  grid-template-columns:58px minmax(0,1fr) auto!important;gap:12px!important;align-items:center!important;min-height:76px!important;padding:9px 10px!important;
}
body.csl-attendance-person-page .csl-attendance-day-emergency__identity{gap:12px!important;}

body.csl-attendance-person-page .csl-attendance-roster-person{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important;}
body.csl-attendance-person-page .csl-attendance-roster-person__avatar{
  display:block!important;flex:0 0 46px!important;width:46px!important;height:46px!important;border-radius:15px!important;overflow:hidden!important;border:1px solid rgba(148,163,184,.28)!important;background:#dde5ec!important;
}
body.csl-attendance-person-page .csl-attendance-roster-person__avatar>img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;}
body.csl-attendance-person-page .csl-attendance-roster-person__copy{display:block!important;min-width:0!important;}
body.csl-attendance-person-page .csl-attendance-roster-person__copy strong,
body.csl-attendance-person-page .csl-attendance-roster-person__copy small{display:block!important;}

.csl-v2061-photo-preview{margin-top:10px;display:flex;align-items:center;gap:10px;}
.csl-v2061-photo-preview img{width:72px;height:72px;object-fit:cover;border-radius:18px;border:1px solid rgba(15,118,110,.28);box-shadow:0 5px 15px rgba(15,23,42,.12);}

@media(prefers-color-scheme:dark){
  body.csl-attendance-person-page .csl-attendance-avatar-silhouette{background:linear-gradient(180deg,#2e3e4e,#223140)!important;}
  body.csl-attendance-person-page .csl-attendance-avatar-silhouette::before,
  body.csl-attendance-person-page .csl-attendance-avatar-silhouette::after{background:#a9b9c8!important;}
  body.csl-attendance-person-page .csl-attendance-participant-photo,
  body.csl-attendance-person-page .csl-attendance-contact-photo,
  body.csl-attendance-person-page .csl-attendance-contact-photo-placeholder{border-color:#536476!important;background:#263646!important;}
  body.csl-attendance-person-page .csl-attendance-roster-person__avatar{background:#253545!important;border-color:#435366!important;}
  .csl-v2061-photo-preview img{border-color:#536476;}
}
@media(max-width:760px){
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div{grid-template-columns:58px minmax(0,1fr)!important;}
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div>a{grid-column:1/-1!important;width:100%!important;}
  body.csl-attendance-person-page .csl-attendance-table td:first-child small{display:block!important;}
}


/* ---- csl-intervenant-v2062.css ---- */
/* CSL Gestion 2.0.62 — profil public synchronisé + en-tête intervenant compact. */

body.csl-attendance-person-page .csl-i62-header{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:14px!important;
  padding:13px 15px!important;
}
body.csl-attendance-person-page .csl-i62-header__identity{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
}
body.csl-attendance-person-page .csl-i62-header__avatar{
  flex:0 0 58px!important;
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:#e7edf3!important;
}
body.csl-attendance-person-page .csl-i62-header__avatar>img,
body.csl-attendance-person-page .csl-i62-header__avatar>.csl-attendance-avatar-silhouette{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  border-radius:inherit!important;
}
body.csl-attendance-person-page .csl-i62-header__copy{min-width:0!important}
body.csl-attendance-person-page .csl-i62-header__copy .csl-attendance-instructor-header-v2__badge{
  margin:0 0 2px!important;
  font-size:9px!important;
  line-height:1.2!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
body.csl-attendance-person-page .csl-i62-header__copy .csl-attendance-instructor-header-v2__hello{
  display:flex!important;
  align-items:baseline!important;
  gap:7px!important;
  min-width:0!important;
}
body.csl-attendance-person-page .csl-i62-header__copy .csl-attendance-instructor-header-v2__hello small{
  margin:0!important;
  font-size:10px!important;
  text-transform:uppercase!important;
  letter-spacing:.1em!important;
  white-space:nowrap!important;
}
body.csl-attendance-person-page .csl-i62-header__copy .csl-attendance-instructor-header-v2__hello h1{
  margin:0!important;
  font-size:clamp(23px,3vw,30px)!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
body.csl-attendance-person-page .csl-i62-header__actions{
  width:auto!important;
  display:grid!important;
  grid-template-columns:auto auto!important;
  gap:8px!important;
  align-items:center!important;
}
body.csl-attendance-person-page .csl-i62-header__actions .csl-attendance-instructor-header-v2__urgent,
body.csl-attendance-person-page .csl-i62-header__actions .csl-attendance-instructor-header-v2__logout{
  min-height:40px!important;
  padding:0 13px!important;
  border-radius:12px!important;
  white-space:nowrap!important;
}

body.csl-attendance-person-page .csl-attendance-private-content--profile-sync{
  display:grid!important;
  gap:13px!important;
}
body.csl-attendance-person-page .csl-i62-published-profile{
  display:grid!important;
  grid-template-columns:76px minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  padding:13px!important;
  border:1px solid #dce5ea!important;
  border-radius:17px!important;
  background:linear-gradient(145deg,#fbfcfd,#f5f8fa)!important;
}
body.csl-attendance-person-page .csl-i62-published-profile__photo{
  width:76px!important;
  height:76px!important;
  border-radius:22px!important;
  overflow:hidden!important;
  background:#e8eef3!important;
  box-shadow:0 6px 16px rgba(23,37,54,.08)!important;
}
body.csl-attendance-person-page .csl-i62-published-profile__photo>img,
body.csl-attendance-person-page .csl-i62-published-profile__photo>.csl-attendance-avatar-silhouette{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
body.csl-attendance-person-page .csl-i62-published-profile__copy{min-width:0!important}
body.csl-attendance-person-page .csl-i62-published-profile__copy>span{
  display:block!important;
  margin-bottom:2px!important;
  color:#c31929!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
}
body.csl-attendance-person-page .csl-i62-published-profile__copy>strong{
  display:block!important;
  color:#172536!important;
  font-size:17px!important;
  line-height:1.2!important;
}
body.csl-attendance-person-page .csl-i62-published-profile__copy>p{
  margin:5px 0 0!important;
  color:#5f6f7e!important;
  font-size:12px!important;
  line-height:1.45!important;
}

body.csl-attendance-person-page .csl-i62-profile-form{gap:12px!important}
body.csl-attendance-person-page .csl-i62-photo-editor{
  position:relative!important;
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
  min-height:90px!important;
  padding:12px!important;
  cursor:pointer!important;
}
body.csl-attendance-person-page .csl-i62-photo-editor .csl-attendance-profile-photo-field__preview{
  width:64px!important;
  height:64px!important;
  min-width:64px!important;
  border-radius:18px!important;
  overflow:hidden!important;
  background:#e7edf3!important;
}
body.csl-attendance-person-page .csl-i62-photo-editor .csl-attendance-profile-photo-field__preview>img,
body.csl-attendance-person-page .csl-i62-photo-editor .csl-attendance-profile-photo-field__preview>.csl-attendance-avatar-silhouette{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
body.csl-attendance-person-page .csl-i62-photo-editor__copy{min-width:0!important}
body.csl-attendance-person-page .csl-i62-photo-editor__copy strong{
  display:block!important;
  margin:0 0 3px!important;
  color:#172536!important;
  font-size:14px!important;
}
body.csl-attendance-person-page .csl-i62-photo-editor__copy small{
  display:block!important;
  color:#657483!important;
  font-size:10.5px!important;
  line-height:1.35!important;
}
body.csl-attendance-person-page .csl-i62-photo-editor__button{
  position:relative!important;
  z-index:3!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:38px!important;
  padding:0 13px!important;
  border-radius:11px!important;
  background:#172536!important;
  color:#fff!important;
  font-size:11px!important;
  font-weight:900!important;
  cursor:pointer!important;
}
body.csl-attendance-person-page .csl-i62-photo-editor__button input{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:0!important;
  cursor:pointer!important;
}
body.csl-attendance-person-page .csl-i62-photo-editor .csl-attendance-profile-photo-field__remove{
  grid-column:2/-1!important;
  margin-top:-5px!important;
  font-size:10px!important;
}
body.csl-attendance-person-page .csl-i62-pending-preview{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  padding:8px 10px!important;
  border:1px dashed #d2b06b!important;
  border-radius:13px!important;
  background:#fff9ec!important;
  color:#856317!important;
  font-size:10px!important;
  font-weight:850!important;
}
body.csl-attendance-person-page .csl-i62-pending-preview img{
  width:46px!important;
  height:46px!important;
  object-fit:cover!important;
  border-radius:13px!important;
}
body.csl-attendance-person-page .csl-i62-private-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
body.csl-attendance-person-page .csl-i62-public-bio textarea{min-height:112px!important}
body.csl-attendance-person-page .csl-i62-profile-form .csl-attendance-personal-form__footer{
  margin-top:0!important;
}
body.csl-attendance-person-page .csl-i62-profile-form .csl-attendance-personal-form__footer .csl-attendance-button{
  width:100%!important;
}

@media(max-width:680px){
  body.csl-attendance-person-page .csl-i62-header{
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
    padding:11px 12px!important;
    border-radius:18px!important;
  }
  body.csl-attendance-person-page .csl-i62-header__identity{gap:10px!important}
  body.csl-attendance-person-page .csl-i62-header__avatar{
    flex-basis:52px!important;width:52px!important;height:52px!important;min-width:52px!important;border-radius:16px!important;
  }
  body.csl-attendance-person-page .csl-i62-header__copy .csl-attendance-instructor-header-v2__hello{gap:5px!important}
  body.csl-attendance-person-page .csl-i62-header__copy .csl-attendance-instructor-header-v2__hello small{font-size:8px!important}
  body.csl-attendance-person-page .csl-i62-header__copy .csl-attendance-instructor-header-v2__hello h1{font-size:24px!important}
  body.csl-attendance-person-page .csl-i62-header__actions{
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
  }
  body.csl-attendance-person-page .csl-i62-header__actions .csl-attendance-instructor-header-v2__urgent,
  body.csl-attendance-person-page .csl-i62-header__actions .csl-attendance-instructor-header-v2__logout{
    width:100%!important;min-height:38px!important;padding:0 8px!important;font-size:10px!important;
  }
  body.csl-attendance-person-page .csl-i62-published-profile{
    grid-template-columns:58px minmax(0,1fr)!important;
    gap:10px!important;
    padding:10px!important;
  }
  body.csl-attendance-person-page .csl-i62-published-profile__photo{width:58px!important;height:58px!important;border-radius:17px!important}
  body.csl-attendance-person-page .csl-i62-published-profile__copy>strong{font-size:15px!important}
  body.csl-attendance-person-page .csl-i62-published-profile__copy>p{font-size:10.5px!important;line-height:1.35!important;max-height:44px!important;overflow:hidden!important}
  body.csl-attendance-person-page .csl-i62-photo-editor{
    grid-template-columns:58px minmax(0,1fr)!important;
    gap:10px!important;
    min-height:78px!important;
    padding:10px!important;
  }
  body.csl-attendance-person-page .csl-i62-photo-editor .csl-attendance-profile-photo-field__preview{width:58px!important;height:58px!important;min-width:58px!important;border-radius:16px!important}
  body.csl-attendance-person-page .csl-i62-photo-editor__button{
    grid-column:1/-1!important;
    width:100%!important;
    min-height:36px!important;
  }
  body.csl-attendance-person-page .csl-i62-photo-editor .csl-attendance-profile-photo-field__remove{grid-column:1/-1!important;margin:0!important}
  body.csl-attendance-person-page .csl-i62-private-grid{grid-template-columns:1fr!important;gap:8px!important}
  body.csl-attendance-person-page .csl-i62-public-bio textarea{min-height:96px!important}
}

@media(max-width:420px){
  body.csl-attendance-person-page .csl-i62-header__copy .csl-attendance-instructor-header-v2__badge{font-size:8px!important}
  body.csl-attendance-person-page .csl-i62-header__copy .csl-attendance-instructor-header-v2__hello h1{font-size:21px!important}
  body.csl-attendance-person-page .csl-i62-header__actions .csl-attendance-instructor-header-v2__logout{font-size:9px!important}
}

@media(prefers-color-scheme:dark){
  body.csl-attendance-person-page .csl-i62-header__avatar{background:#243444!important;outline-color:#506375!important;border-color:#172331!important}
  body.csl-attendance-person-page .csl-i62-published-profile{
    background:linear-gradient(145deg,#111b26,#0f1822)!important;
    border-color:#303e4b!important;
  }
  body.csl-attendance-person-page .csl-i62-published-profile__photo,
  body.csl-attendance-person-page .csl-i62-photo-editor .csl-attendance-profile-photo-field__preview{background:#243444!important}
  body.csl-attendance-person-page .csl-i62-published-profile__copy>strong,
  body.csl-attendance-person-page .csl-i62-photo-editor__copy strong{color:#f2f7fb!important}
  body.csl-attendance-person-page .csl-i62-published-profile__copy>p,
  body.csl-attendance-person-page .csl-i62-photo-editor__copy small{color:#aab6c2!important}
  body.csl-attendance-person-page .csl-i62-photo-editor__button{background:#263747!important;color:#f6f9fb!important;border:1px solid #43586a!important}
  body.csl-attendance-person-page .csl-i62-pending-preview{background:#2b2315!important;border-color:#6e5a2b!important;color:#f1ca78!important}
}


/* ---- csl-intervenant-v2064.css ---- */
/* CSL Gestion 2.0.64 — simplification du profil public intervenant. */
body.csl-attendance-person-page .csl-attendance-private-content--profile-sync{
  gap:10px!important;
}
body.csl-attendance-person-page .csl-attendance-private-content--profile-sync>.csl-attendance-action-panel__title{
  margin-bottom:2px!important;
}

/* L'ancien encart "Actuellement publié" est supprimé côté HTML. */
body.csl-attendance-person-page .csl-i62-published-profile{display:none!important}

body.csl-attendance-person-page .csl-i64-photo-editor{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr) auto!important;
  grid-template-areas:"photo copy actions"!important;
  align-items:center!important;
  gap:14px!important;
  min-height:98px!important;
  padding:13px 14px!important;
  border:1px solid #d7e1e8!important;
  border-radius:18px!important;
  background:linear-gradient(145deg,#fbfcfd,#f4f7f9)!important;
  box-shadow:0 8px 24px rgba(21,35,50,.06)!important;
}
body.csl-attendance-person-page .csl-i64-photo-editor:hover{
  border-color:#aebfca!important;
  box-shadow:0 10px 28px rgba(21,35,50,.1)!important;
}
body.csl-attendance-person-page .csl-i64-photo-editor__preview{
  grid-area:photo!important;
  width:72px!important;
  height:72px!important;
  min-width:72px!important;
  border-radius:19px!important;
  border:2px solid rgba(15,118,110,.16)!important;
  box-shadow:0 6px 18px rgba(21,35,50,.1)!important;
}
body.csl-attendance-person-page .csl-i64-photo-editor__copy{
  grid-area:copy!important;
  min-width:0!important;
}
body.csl-attendance-person-page .csl-i64-photo-editor__copy strong{
  font-size:14px!important;
  line-height:1.25!important;
}
body.csl-attendance-person-page .csl-i64-photo-editor__copy small{
  max-width:640px!important;
}
body.csl-attendance-person-page .csl-i64-photo-editor__actions{
  grid-area:actions!important;
  display:grid!important;
  gap:7px!important;
  min-width:154px!important;
}
body.csl-attendance-person-page .csl-i64-photo-editor__change,
body.csl-attendance-person-page .csl-i64-photo-editor__remove{
  width:100%!important;
  min-height:40px!important;
  margin:0!important;
  padding:0 12px!important;
  border-radius:11px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  font-size:10.5px!important;
  font-weight:900!important;
  line-height:1!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  box-sizing:border-box!important;
}
body.csl-attendance-person-page .csl-i64-photo-editor__change{
  background:#173349!important;
  border:1px solid #31526b!important;
  color:#fff!important;
}
body.csl-attendance-person-page .csl-i64-photo-editor__change:hover{
  background:#214a67!important;
}
body.csl-attendance-person-page .csl-i64-photo-editor__remove{
  position:relative!important;
  background:#fff5f5!important;
  border:1px solid #efb4ba!important;
  color:#b42332!important;
}
body.csl-attendance-person-page .csl-i64-photo-editor__remove:hover{
  background:#ffe9eb!important;
  border-color:#df8791!important;
}
body.csl-attendance-person-page .csl-i64-photo-editor__remove input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}
body.csl-attendance-person-page .csl-i64-photo-editor__remove:has(input:checked){
  background:#b42332!important;
  border-color:#b42332!important;
  color:#fff!important;
  box-shadow:0 0 0 3px rgba(180,35,50,.12)!important;
}
body.csl-attendance-person-page .csl-i64-photo-editor__remove:has(input:checked) b::after{
  content:" — demandé";
}

@media(max-width:760px){
  body.csl-attendance-person-page .csl-i64-photo-editor{
    grid-template-columns:58px minmax(0,1fr)!important;
    grid-template-areas:"photo copy" "actions actions"!important;
    gap:9px 11px!important;
    padding:11px!important;
    min-height:0!important;
  }
  body.csl-attendance-person-page .csl-i64-photo-editor__preview{
    width:58px!important;
    height:58px!important;
    min-width:58px!important;
    border-radius:16px!important;
  }
  body.csl-attendance-person-page .csl-i64-photo-editor__copy strong{font-size:13px!important}
  body.csl-attendance-person-page .csl-i64-photo-editor__copy small{font-size:9.5px!important;line-height:1.3!important}
  body.csl-attendance-person-page .csl-i64-photo-editor__actions{
    grid-template-columns:1fr 1fr!important;
    min-width:0!important;
    gap:7px!important;
  }
  body.csl-attendance-person-page .csl-i64-photo-editor__actions>*:only-child{grid-column:1/-1!important}
  body.csl-attendance-person-page .csl-i64-photo-editor__change,
  body.csl-attendance-person-page .csl-i64-photo-editor__remove{
    min-height:38px!important;
    padding:0 9px!important;
    font-size:9.5px!important;
  }
}

@media(prefers-color-scheme:dark){
  body.csl-attendance-person-page .csl-i64-photo-editor{
    background:linear-gradient(145deg,#111b25,#0e1721)!important;
    border-color:#314151!important;
    box-shadow:0 8px 24px rgba(0,0,0,.22)!important;
  }
  body.csl-attendance-person-page .csl-i64-photo-editor:hover{
    border-color:#496176!important;
  }
  body.csl-attendance-person-page .csl-i64-photo-editor__preview{
    background:#243444!important;
    border-color:#3f586d!important;
  }
  body.csl-attendance-person-page .csl-i64-photo-editor__copy strong{color:#f3f7fb!important}
  body.csl-attendance-person-page .csl-i64-photo-editor__copy small{color:#a9b5c1!important}
  body.csl-attendance-person-page .csl-i64-photo-editor__change{
    background:#1d4059!important;
    border-color:#45677f!important;
    color:#fff!important;
  }
  body.csl-attendance-person-page .csl-i64-photo-editor__change:hover{background:#285772!important}
  body.csl-attendance-person-page .csl-i64-photo-editor__remove{
    background:#32171d!important;
    border-color:#75404a!important;
    color:#ffb7bf!important;
  }
  body.csl-attendance-person-page .csl-i64-photo-editor__remove:hover{
    background:#482028!important;
    border-color:#9b5562!important;
  }
  body.csl-attendance-person-page .csl-i64-photo-editor__remove:has(input:checked){
    background:#a92a3b!important;
    border-color:#d95869!important;
    color:#fff!important;
  }
}


/* ---- csl-intervenant-v2069.css ---- */
/* CSL Gestion 2.0.69 — finition sombre premium de l'espace intervenant.
 * Couche purement visuelle, chargée après v2.0.64. */

@media (prefers-color-scheme: dark) {
  body.csl-attendance-person-page {
    --csl-i69-bg: #080f16;
    --csl-i69-surface: #0f1822;
    --csl-i69-surface-2: #131e29;
    --csl-i69-surface-3: #172430;
    --csl-i69-line: rgba(174, 195, 214, .15);
    --csl-i69-line-strong: rgba(174, 195, 214, .23);
    --csl-i69-text: #f3f7fb;
    --csl-i69-soft: #b4c0cb;
    --csl-i69-muted: #8695a3;
    --csl-i69-red: #ff5362;
    --csl-i69-green: #6bc58f;
    color-scheme: dark;
  }

  body.csl-attendance-person-page .csl-attendance--instructor {
    background:
      radial-gradient(circle at 14% -10%, rgba(208, 42, 60, .08), transparent 28%),
      radial-gradient(circle at 86% 4%, rgba(72, 125, 151, .08), transparent 30%),
      linear-gradient(180deg, #080f16 0%, #0b121a 48%, #080f16 100%) !important;
    color: var(--csl-i69-text) !important;
  }

  /* En-tête : moins "bloc gris", davantage carte premium. */
  body.csl-attendance-person-page .csl-attendance-instructor-header-v2,
  body.csl-attendance-person-page .csl-i62-header {
    border: 1px solid var(--csl-i69-line) !important;
    background:
      radial-gradient(circle at 10% 12%, rgba(213, 46, 62, .10), transparent 27%),
      radial-gradient(circle at 80% 100%, rgba(69, 123, 107, .08), transparent 34%),
      linear-gradient(145deg, #121c27 0%, #0d1620 100%) !important;
    box-shadow: 0 18px 42px rgba(0, 0, 0, .26), inset 0 1px rgba(255,255,255,.025) !important;
  }
  body.csl-attendance-person-page .csl-i62-header__avatar {
    border: 1px solid rgba(189, 208, 222, .23) !important;
    outline: 0 !important;
    background: #1a2936 !important;
    box-shadow: 0 8px 22px rgba(0,0,0,.28) !important;
  }
  body.csl-attendance-person-page .csl-i62-header__copy .csl-attendance-instructor-header-v2__badge {
    color: #ff6976 !important;
  }
  body.csl-attendance-person-page .csl-i62-header__copy .csl-attendance-instructor-header-v2__hello small {
    color: #9eacb9 !important;
  }
  body.csl-attendance-person-page .csl-i62-header__copy .csl-attendance-instructor-header-v2__hello h1 {
    color: #f8fbfd !important;
    text-shadow: none !important;
  }
  body.csl-attendance-person-page .csl-i62-header__actions .csl-attendance-instructor-header-v2__urgent {
    border: 1px solid rgba(255, 95, 109, .34) !important;
    background: linear-gradient(135deg, #9f1f2d, #d52e40) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(154, 26, 43, .20) !important;
  }
  body.csl-attendance-person-page .csl-i62-header__actions .csl-attendance-instructor-header-v2__logout {
    border: 1px solid var(--csl-i69-line-strong) !important;
    background: #17222d !important;
    color: #e7edf2 !important;
    box-shadow: none !important;
  }

  /* Barre d'actions : garder les couleurs comme repère, sans aplats flashy. */
  body.csl-attendance-person-page .csl-attendance-action-bar {
    padding: 7px !important;
    gap: 7px !important;
    border: 1px solid var(--csl-i69-line) !important;
    background: rgba(12, 20, 29, .92) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.18), inset 0 1px rgba(255,255,255,.018) !important;
  }
  body.csl-attendance-person-page .csl-attendance-action-tab {
    border: 1px solid rgba(174,195,214,.12) !important;
    color: #d5dee6 !important;
    box-shadow: none !important;
    filter: none !important;
  }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-calendar { background: #122633 !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-date { background: #2a191d !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-add { background: #17291f !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-private { background: #241c2f !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-security { background: #1a222b !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab .csl-attendance-action-icon {
    border: 1px solid rgba(255,255,255,.05) !important;
    background: rgba(255,255,255,.07) !important;
    color: currentColor !important;
  }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-calendar { color: #8fc4db !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-date { color: #ff929c !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-add { color: #8bd0a5 !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-private { color: #c5a7e5 !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-security { color: #b9c5cf !important; }
  body.csl-attendance-person-page .csl-attendance-action-tab:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(174,195,214,.25) !important;
    filter: brightness(1.06) !important;
  }
  body.csl-attendance-person-page .csl-attendance-action-tab.is-active {
    border-color: rgba(255,255,255,.20) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025), 0 8px 18px rgba(0,0,0,.18) !important;
  }

  /* Panneau d'outil / coordonnées. */
  body.csl-attendance-person-page .csl-attendance-action-panel,
  body.csl-attendance-person-page .csl-attendance-private-content--manager {
    border-color: var(--csl-i69-line) !important;
    background: linear-gradient(145deg, #101a24, #0c151e) !important;
    color: var(--csl-i69-soft) !important;
    box-shadow: 0 16px 38px rgba(0,0,0,.16), inset 0 1px rgba(255,255,255,.018) !important;
  }
  body.csl-attendance-person-page .csl-attendance-action-panel__title strong {
    color: var(--csl-i69-text) !important;
  }
  body.csl-attendance-person-page .csl-attendance-action-panel__title small {
    color: var(--csl-i69-muted) !important;
  }

  /* Les deux cartes qui restaient quasi blanches sur la capture. */
  body.csl-attendance-person-page .csl-attendance-manager-contact-grid {
    gap: 12px !important;
  }
  body.csl-attendance-person-page .csl-attendance-manager-contact-card {
    padding: 14px 15px !important;
    border: 1px solid var(--csl-i69-line) !important;
    border-radius: 15px !important;
    background: linear-gradient(145deg, #15212c, #101923) !important;
    color: var(--csl-i69-soft) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.018) !important;
  }
  body.csl-attendance-person-page .csl-attendance-manager-contact-card span {
    color: #8999a7 !important;
    letter-spacing: .07em !important;
  }
  body.csl-attendance-person-page .csl-attendance-manager-contact-card strong {
    color: #f2f6f9 !important;
    opacity: 1 !important;
  }
  body.csl-attendance-person-page .csl-attendance-manager-contact-card a {
    border: 1px solid rgba(132, 171, 198, .22) !important;
    background: #203446 !important;
    color: #dceaf3 !important;
    box-shadow: none !important;
  }
  body.csl-attendance-person-page .csl-attendance-private-manager-note {
    margin-top: 4px !important;
    padding: 13px 15px !important;
    border: 1px solid rgba(174,195,214,.12) !important;
    border-radius: 14px !important;
    background: #0d1720 !important;
    color: #9ba9b6 !important;
    box-shadow: inset 3px 0 rgba(128, 156, 178, .24) !important;
  }
  body.csl-attendance-person-page .csl-attendance-private-manager-note strong {
    color: #dce4eb !important;
  }

  /* Prochaines séances. */
  body.csl-attendance-person-page .csl-attendance-upcoming--compact {
    border: 1px solid var(--csl-i69-line) !important;
    background: linear-gradient(145deg, #0f1923, #0b141d) !important;
    box-shadow: 0 18px 42px rgba(0,0,0,.18), inset 0 1px rgba(255,255,255,.018) !important;
  }
  body.csl-attendance-person-page .csl-attendance-section-heading .csl-attendance-eyebrow {
    color: #ff6976 !important;
  }
  body.csl-attendance-person-page .csl-attendance-section-heading h2 {
    color: #f5f8fb !important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-upcoming-grid {
    gap: 11px !important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming-card {
    padding: 15px 16px !important;
    border: 1px solid rgba(174,195,214,.15) !important;
    border-radius: 16px !important;
    background: linear-gradient(145deg, #141f2a, #0f1822) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.018) !important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming-card::before {
    top: 15px !important;
    bottom: 15px !important;
    width: 3px !important;
    background: #ef4354 !important;
    box-shadow: 0 0 12px rgba(239,67,84,.16) !important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming-card strong {
    color: #ff8994 !important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming-card span {
    color: #eef3f7 !important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming-card small {
    color: #9ba9b6 !important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming-card:hover,
  body.csl-attendance-person-page .csl-attendance-upcoming-card:focus-visible {
    border-color: rgba(146,179,202,.34) !important;
    background: linear-gradient(145deg, #192735, #111d28) !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.18) !important;
  }

  /* Champs des panneaux intervenant. */
  body.csl-attendance-person-page .csl-attendance-personal-form input,
  body.csl-attendance-person-page .csl-attendance-personal-form textarea,
  body.csl-attendance-person-page .csl-attendance-password-form--embedded input,
  body.csl-attendance-person-page .csl-attendance-manager-password-form--embedded input,
  body.csl-attendance-person-page .csl-attendance-tool-date-form input,
  body.csl-attendance-person-page .csl-attendance-tool-add-form input,
  body.csl-attendance-person-page .csl-attendance-tool-add-form select,
  body.csl-attendance-person-page .csl-attendance-calendar-help input {
    border-color: rgba(174,195,214,.19) !important;
    background: #0b151e !important;
    color: #f2f6f9 !important;
    box-shadow: inset 0 1px rgba(255,255,255,.015) !important;
  }
  body.csl-attendance-person-page .csl-attendance-personal-form input:focus,
  body.csl-attendance-person-page .csl-attendance-personal-form textarea:focus,
  body.csl-attendance-person-page .csl-attendance-tool-date-form input:focus,
  body.csl-attendance-person-page .csl-attendance-tool-add-form input:focus,
  body.csl-attendance-person-page .csl-attendance-tool-add-form select:focus {
    border-color: rgba(103, 158, 195, .64) !important;
    box-shadow: 0 0 0 3px rgba(68, 129, 169, .12) !important;
  }

  /* Photo privée (hérite de v2.0.64 mais avec le nouveau niveau de contraste). */
  body.csl-attendance-person-page .csl-i64-photo-editor {
    border-color: var(--csl-i69-line) !important;
    background: linear-gradient(145deg, #131f2a, #0e1821) !important;
    box-shadow: inset 0 1px rgba(255,255,255,.018) !important;
  }
}

@media (prefers-color-scheme: dark) and (max-width: 760px) {
  body.csl-attendance-person-page .csl-attendance-action-bar {
    padding: 5px !important;
    gap: 5px !important;
  }
  body.csl-attendance-person-page .csl-attendance-action-tab {
    min-height: 55px !important;
  }
  body.csl-attendance-person-page .csl-attendance-manager-contact-card {
    padding: 12px 13px !important;
  }
  body.csl-attendance-person-page .csl-attendance-upcoming-card {
    min-height: 82px !important;
    padding: 12px 13px !important;
  }
}

/* CSL Gestion 2.0.80 — coordonnées intervenant modifiables par la gestion. */
.csl-i2080-manager-contact-form{display:grid;gap:16px;margin-top:16px}
.csl-i2080-manager-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.csl-i2080-manager-contact-grid label{display:grid;gap:7px;min-width:0}
.csl-i2080-manager-contact-grid label>span{font-size:12px;font-weight:850;color:#253346}
.csl-i2080-manager-contact-grid input{width:100%;box-sizing:border-box;min-height:48px;padding:0 13px;border:1px solid #d5dde6;border-radius:13px;background:#fff;color:#172333;font:inherit}
.csl-i2080-manager-contact-grid input:focus{outline:none;border-color:#c61d32;box-shadow:0 0 0 3px rgba(198,29,50,.10)}
.csl-i2080-manager-contact-grid small{color:#748091;font-size:11px;line-height:1.35}
.csl-i2080-manager-contact-actions{display:flex;gap:9px;flex-wrap:wrap}
@media(max-width:680px){.csl-i2080-manager-contact-grid{grid-template-columns:1fr}.csl-i2080-manager-contact-actions{display:grid}.csl-i2080-manager-contact-actions .csl-attendance-button{text-align:center}}
@media(prefers-color-scheme:dark){.csl-i2080-manager-contact-grid label>span{color:#eef3f8}.csl-i2080-manager-contact-grid input{border-color:rgba(255,255,255,.13);background:#0c1724;color:#f3f6fa}.csl-i2080-manager-contact-grid input:focus{border-color:#ff5a6a;box-shadow:0 0 0 3px rgba(255,90,106,.12)}.csl-i2080-manager-contact-grid small{color:#9aa8b8}}

/* === V2.0.94 : écran de verrouillage des espaces intervenants === */
.csl-v2094-access-lock{min-height:70vh;display:flex;align-items:center;padding:34px 0 60px}
.csl-v2094-access-lock__card{max-width:720px;margin:0 auto;padding:34px;border-radius:28px;background:linear-gradient(145deg,#fff,#f8fafc);border:1px solid rgba(23,35,51,.09);box-shadow:0 24px 64px rgba(23,35,51,.12);text-align:left}
.csl-v2094-access-lock__icon{display:grid;width:58px;height:58px;place-items:center;margin-bottom:18px;border-radius:19px;background:linear-gradient(135deg,#172333,#c51f34);color:#fff;font-size:25px;font-weight:900;box-shadow:0 14px 30px rgba(23,35,51,.17)}
.csl-v2094-access-lock__card>span{display:block;color:#c51f34;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.csl-v2094-access-lock__card h1{margin:8px 0 14px;font-size:clamp(30px,5vw,44px);line-height:1.02;color:#172333;letter-spacing:-.04em}.csl-v2094-access-lock__card>p{color:#596777;font-size:16px;line-height:1.65}
.csl-v2094-access-lock__steps{margin:22px 0;padding:18px 20px;border-radius:18px;background:#f1f5f9;border:1px solid #dde5ee;color:#28374a}.csl-v2094-access-lock__steps strong{display:block;margin-bottom:9px}.csl-v2094-access-lock__steps ol{margin:0;padding-left:21px;line-height:1.8}.csl-v2094-access-lock__help{font-size:13px!important;color:#7a8593!important}.csl-v2094-access-lock__card.is-blocked .csl-v2094-access-lock__icon{background:linear-gradient(135deg,#6d1521,#c51f34)}
@media(max-width:620px){.csl-v2094-access-lock{padding:20px 0 40px}.csl-v2094-access-lock__card{padding:24px;border-radius:22px}}
@media(prefers-color-scheme:dark){.csl-v2094-access-lock__card{background:linear-gradient(145deg,#111e2d,#0c1723);border-color:rgba(255,255,255,.08);box-shadow:0 24px 64px rgba(0,0,0,.28)}.csl-v2094-access-lock__card h1{color:#f3f6fa}.csl-v2094-access-lock__card>p{color:#a8b4c2}.csl-v2094-access-lock__steps{background:#0b1622;border-color:rgba(255,255,255,.08);color:#dfe7ef}.csl-v2094-access-lock__help{color:#8796a7!important}}
.csl-v2094-manager-security-panel{display:grid;gap:14px}.csl-v2094-manager-security-state{display:grid;gap:4px;padding:14px 16px;border-radius:16px;background:#edf8f1;border:1px solid #c9e8d3;color:#1f6f3a}.csl-v2094-manager-security-state.is-pending{background:#fff8e7;border-color:#ecd99f;color:#755615}.csl-v2094-manager-security-state.is-blocked{background:#fff0f2;border-color:#efc5cc;color:#9b1d2d}.csl-v2094-manager-security-state strong{font-size:14px}.csl-v2094-manager-security-state span{font-size:12px;line-height:1.45}
@media(prefers-color-scheme:dark){.csl-v2094-manager-security-state{background:#10271a;border-color:#295a3a;color:#8fe0aa}.csl-v2094-manager-security-state.is-pending{background:#2b2414;border-color:#55451f;color:#ead386}.csl-v2094-manager-security-state.is-blocked{background:#2b151b;border-color:#5c2932;color:#ff96a2}}


/* ---- csl-attendance-manager-v2074.css ---- */
/* CSL Gestion 2.0.74 — bandeau CSL Gestion sur Présences & séances. */
body.csl-attendance-manager-page .csl-attendance-contextbar {
  width: min(1180px, calc(100% - 28px));
  margin: 10px auto 14px;
}

body.csl-attendance-manager-page .csl-attendance-contextbar .csl-v2-contextbar__menu {
  min-width: 320px;
}

body.csl-attendance-manager-page .csl-attendance-contextbar .is-emergency {
  border-color: rgba(226, 63, 79, .28);
}

body.csl-attendance-manager-page .csl-attendance-contextbar .csl-v2-contextbar__menu a.is-current {
  border: 1px solid rgba(94, 145, 207, .28);
  background: rgba(52, 84, 122, .14);
}

@media (prefers-color-scheme: dark) {
  body.csl-attendance-manager-page .csl-attendance-contextbar .csl-v2-contextbar__brand img {
    border-color: rgba(174, 195, 214, .16) !important;
    background: rgba(255,255,255,.06) !important;
  }
  body.csl-attendance-manager-page .csl-attendance-contextbar .csl-v2-contextbar__brand strong {
    color: #f4f7fa !important;
  }
  body.csl-attendance-manager-page .csl-attendance-contextbar .csl-v2-contextbar__brand small {
    color: #9eacb9 !important;
  }
  body.csl-attendance-manager-page .csl-attendance-contextbar .csl-v2-contextbar__actions > a:not(.is-primary),
  body.csl-attendance-manager-page .csl-attendance-contextbar summary {
    border-color: #33475a !important;
    background: #172432 !important;
    color: #eef4f9 !important;
    -webkit-text-fill-color: #eef4f9 !important;
  }
  body.csl-attendance-manager-page .csl-attendance-contextbar .csl-v2-contextbar__actions > a.is-emergency {
    border-color: rgba(238, 74, 89, .45) !important;
    background: rgba(94, 25, 34, .65) !important;
    color: #ffbcc3 !important;
    -webkit-text-fill-color: #ffbcc3 !important;
  }
}

@media (max-width: 760px) {
  body.csl-attendance-manager-page .csl-attendance-contextbar {
    width: calc(100% - 16px);
  }
}


/* ---- csl-intervenant-v2115.css ---- */
/* CSL Gestion 2.1.15 — interface intervenant pleine largeur, formulaires recentrés
 * et demandes de retrait de séance. Chargée en dernier pour neutraliser les
 * anciennes contraintes de largeur sans modifier le thème public. */
body.csl-attendance-person-page :where(
  #page,.site,.site-content,.site-main,#content,#main,main#main,.content-wrap,
  .content-area,#primary,.container,.row,.nv-single-page-wrap,.nv-content-wrap,
  .entry-content-wrap,.entry-content,article
):has(.csl-attendance--instructor){
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  box-sizing:border-box!important;
}
body.csl-attendance-person-page :where(.nv-single-page-wrap,.nv-content-wrap,.entry-content-wrap,article):has(.csl-attendance--instructor){
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.csl-attendance-person-page .csl-attendance--instructor{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:8px max(10px,env(safe-area-inset-right)) 34px max(10px,env(safe-area-inset-left))!important;
  box-sizing:border-box!important;
}
body.csl-attendance-person-page .csl-attendance-shell{
  width:100%!important;
  max-width:1240px!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}
/* Aucun numéro de dossier dans la liste de pointage. */
body.csl-attendance-person-page .csl-attendance-roster-person__copy>small{display:none!important}
/* Formulaires Date / Ajout : même axe, champs qui ne peuvent plus déborder. */
body.csl-attendance-person-page .csl-attendance-action-panel.is-date .csl-attendance-tool-date-form,
body.csl-attendance-person-page .csl-attendance-action-panel.is-add .csl-attendance-tool-add-form{
  width:min(720px,100%)!important;
  max-width:100%!important;
  margin:0 auto!important;
  box-sizing:border-box!important;
}
body.csl-attendance-person-page .csl-attendance-tool-date-form>*,
body.csl-attendance-person-page .csl-attendance-tool-add-form>*{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
body.csl-attendance-person-page .csl-attendance-tool-date-form label,
body.csl-attendance-person-page .csl-attendance-tool-add-form label{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
body.csl-attendance-person-page .csl-attendance-tool-date-form input,
body.csl-attendance-person-page .csl-attendance-tool-add-form input,
body.csl-attendance-person-page .csl-attendance-tool-add-form select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body.csl-attendance-person-page .csl-attendance-action-panel.is-date .csl-attendance-action-panel__title,
body.csl-attendance-person-page .csl-attendance-action-panel.is-add .csl-attendance-action-panel__title{
  width:min(720px,100%)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
/* Demande de retrait d'une séance : action volontairement séparée du pointage. */
body.csl-attendance-person-page .csl-v2115-session-removal{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(250px,auto)!important;
  align-items:center!important;
  gap:12px!important;
  margin:8px 10px 4px!important;
  padding:11px 12px!important;
  border:1px solid #ecd7d9!important;
  border-radius:13px!important;
  background:#fff8f8!important;
  box-sizing:border-box!important;
}
body.csl-attendance-person-page .csl-v2115-session-removal>div{min-width:0!important}
body.csl-attendance-person-page .csl-v2115-session-removal strong{display:block!important;color:#82202a!important;font-size:12px!important;line-height:1.2!important}
body.csl-attendance-person-page .csl-v2115-session-removal small{display:block!important;margin-top:3px!important;color:#7b6870!important;font-size:10px!important;line-height:1.35!important}
body.csl-attendance-person-page .csl-v2115-session-removal form{
  display:grid!important;
  grid-template-columns:minmax(120px,1fr) auto!important;
  gap:7px!important;
  align-items:center!important;
  min-width:0!important;
}
body.csl-attendance-person-page .csl-v2115-session-removal input{
  width:100%!important;min-width:0!important;max-width:100%!important;min-height:38px!important;
  padding:7px 10px!important;border:1px solid #e3cfd2!important;border-radius:10px!important;
  background:#fff!important;color:#273342!important;box-sizing:border-box!important;font:inherit!important;font-size:11px!important;
}
body.csl-attendance-person-page .csl-v2115-session-removal button,
body.csl-attendance-person-page .csl-v2115-session-removal__pending{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:38px!important;
  padding:8px 11px!important;border:1px solid #d5a7ac!important;border-radius:10px!important;
  background:#fff!important;color:#a21c2b!important;font:inherit!important;font-size:11px!important;font-weight:850!important;
  white-space:nowrap!important;box-sizing:border-box!important;
}
body.csl-attendance-person-page .csl-v2115-session-removal.is-pending{border-color:#ead9ae!important;background:#fffaf0!important}
body.csl-attendance-person-page .csl-v2115-session-removal.is-pending strong{color:#795d13!important}
body.csl-attendance-person-page .csl-v2115-session-removal__pending{justify-self:end;border-color:#ead9ae!important;background:#fffdf7!important;color:#795d13!important}
@media(max-width:760px){
  body.csl-attendance-person-page .csl-attendance--instructor{
    padding:4px max(4px,env(safe-area-inset-right)) 28px max(4px,env(safe-area-inset-left))!important;
  }
  body.csl-attendance-person-page .csl-attendance-shell{max-width:100%!important;padding:0!important}
  body.csl-attendance-person-page .csl-attendance-action-panel.is-date,
  body.csl-attendance-person-page .csl-attendance-action-panel.is-add{padding-left:12px!important;padding-right:12px!important}
  body.csl-attendance-person-page .csl-attendance-tool-date-form,
  body.csl-attendance-person-page .csl-attendance-tool-add-form{width:100%!important;max-width:520px!important;margin:0 auto!important}
  body.csl-attendance-person-page .csl-v2115-session-removal{
    grid-template-columns:1fr!important;gap:8px!important;margin:7px 8px 3px!important;padding:10px!important;
  }
  body.csl-attendance-person-page .csl-v2115-session-removal form{grid-template-columns:1fr!important}
  body.csl-attendance-person-page .csl-v2115-session-removal button,
  body.csl-attendance-person-page .csl-v2115-session-removal__pending{width:100%!important;justify-self:stretch!important}
}
@media(prefers-color-scheme:dark){
  body.csl-attendance-person-page .csl-v2115-session-removal{border-color:rgba(255,116,129,.20)!important;background:#211519!important}
  body.csl-attendance-person-page .csl-v2115-session-removal strong{color:#ff9aa4!important}
  body.csl-attendance-person-page .csl-v2115-session-removal small{color:#b9a6aa!important}
  body.csl-attendance-person-page .csl-v2115-session-removal input{border-color:rgba(174,195,214,.18)!important;background:#0b151e!important;color:#f2f6f9!important}
  body.csl-attendance-person-page .csl-v2115-session-removal button{border-color:rgba(255,116,129,.30)!important;background:#2b171d!important;color:#ff9aa4!important}
  body.csl-attendance-person-page .csl-v2115-session-removal.is-pending{border-color:rgba(225,192,105,.22)!important;background:#201c13!important}
  body.csl-attendance-person-page .csl-v2115-session-removal.is-pending strong,
  body.csl-attendance-person-page .csl-v2115-session-removal__pending{color:#e7ca7a!important}
  body.csl-attendance-person-page .csl-v2115-session-removal__pending{border-color:rgba(225,192,105,.25)!important;background:#282215!important}
}

