/* 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;
  }
}
