/* CSL public/application core 2.1.20
 * Generated from the historical cascade in its exact load order.
 */

/* ---- csl-inscriptions-gestion.css ---- */
:root {
    --cslreg-ink: #172333;
    --cslreg-ink-soft: #405264;
    --cslreg-muted: #6f7e8d;
    --cslreg-blue: #658faa;
    --cslreg-blue-dark: #4f687b;
    --cslreg-blue-soft: #dce8ee;
    --cslreg-red: #d51f35;
    --cslreg-cream: #f7f6f2;
    --cslreg-line: rgba(23, 35, 51, .12);
    --cslreg-shadow: 0 22px 60px rgba(44, 65, 82, .12);
    --cslreg-radius: 28px;
}

/* V107: keep the poster mosaic balanced when an activity is disabled. */
.csl-v72-activities__grid.csl-v107-poster-activities--4 > .csl-v72-activity-card,
.csl-v72-activities__grid.csl-v107-poster-activities--2 > .csl-v72-activity-card {
    grid-column: span 3 !important;
}

.csl-v72-activities__grid.csl-v107-poster-activities--1 > .csl-v72-activity-card {
    grid-column: span 6 !important;
}

/* ========================================================================== */
/* V107 · saisons, archives papier et suivi des renouvellements                */
/* ========================================================================== */

.csl-manager-v105 .csl-v105-season-card small {
	display: block;
	margin-top: 9px;
	color: rgba(255,255,255,.72);
	font-size: 11px;
	line-height: 1.45;
}
.csl-manager-v105 .csl-v105-season-card > a {
	display: inline-flex;
	margin-top: 10px;
	color: #fff !important;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none;
}
.csl-v107-season-switcher {
	display: grid;
	grid-template-columns: minmax(180px,.72fr) minmax(390px,1.5fr) auto;
	align-items: end;
	gap: 14px;
	margin: 0 0 18px;
	padding: 16px 18px;
	border: 1px solid rgba(38,51,65,.11);
	border-radius: 18px;
	background: linear-gradient(135deg,#fff 0%,#f5f7f9 100%);
	box-shadow: 0 12px 34px rgba(38,51,65,.07);
}
.csl-v107-season-switcher > div span,
.csl-v107-season-switcher label span {
	display: block;
	margin-bottom: 5px;
	color: #71808d;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.csl-v107-season-switcher > div strong {
	display: block;
	color: #263341;
	font-size: 20px;
}
.csl-v107-season-switcher form {
	display: grid;
	grid-template-columns: minmax(180px,1fr) auto;
	align-items: end;
	gap: 10px;
}
.csl-v107-season-switcher select,
.csl-v107-season-tool input,
.csl-v107-season-tool select,
.csl-v107-archive-tool input,
.csl-v107-archive-tool select,
.csl-v107-archive-tool textarea,
.csl-v107-member-panel select {
	width: 100%;
	min-height: 44px;
	padding: 10px 12px;
	border: 1px solid #d7dde2;
	border-radius: 11px;
	background: #fff;
	color: #263341;
	font: inherit;
}
.csl-v107-season-switcher > a {
	align-self: center;
	color: #b31420;
	font-size: 12px;
	font-weight: 900;
	text-decoration: none;
}
.csl-v107-record-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 7px;
}
.csl-v107-record-badge {
	display: inline-flex;
	align-items: center;
	min-height: 23px;
	padding: 4px 8px;
	border-radius: 999px;
	background: #eef1f4;
	color: #42515f;
	font-size: 9px;
	font-style: normal;
	font-weight: 900;
	letter-spacing: .03em;
	line-height: 1.2;
	text-transform: uppercase;
}
.csl-v107-record-badge.is-new { background:#e9f4ff; color:#135f98; }
.csl-v107-record-badge.is-renewed { background:#e7f7ef; color:#176a47; }
.csl-v107-record-badge.is-progress { background:#fff3d9; color:#8a5d00; }
.csl-v107-record-badge.is-not-renewed { background:#fff0e8; color:#9a4a1b; }
.csl-v107-record-badge.is-review { background:#ffe8eb; color:#a21f30; }
.csl-v107-record-badge.is-cancelled { background:#f0f1f2; color:#697581; }
.csl-v107-record-badge.is-source { background:#f1eefb; color:#5f4a98; }
.csl-v107-record-badge.is-stop { background:#263341; color:#fff; }
.csl-reg-record-row--source-paper_archive td { background-color: rgba(247,244,235,.58); }

.csl-v107-season-tool .csl-reg-shell,
.csl-v107-archive-tool .csl-reg-shell {
	max-width: 1240px;
	padding-top: 28px;
	padding-bottom: 48px;
}
.csl-v107-season-status-grid {
	display: grid;
	grid-template-columns: repeat(2,minmax(0,1fr));
	gap: 14px;
	margin: 18px 0;
}
.csl-v107-season-status-grid article {
	padding: 20px;
	border: 1px solid #dfe4e8;
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(38,51,65,.06);
}
.csl-v107-season-status-grid article.is-public {
	border-color: rgba(227,6,19,.22);
	background: linear-gradient(135deg,#fff 0%,#fff3f4 100%);
}
.csl-v107-season-status-grid span,
.csl-v107-season-status-grid small {
	display: block;
	color: #74818d;
}
.csl-v107-season-status-grid span { font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.csl-v107-season-status-grid strong { display:block; margin:6px 0; color:#263341; font-size:28px; }
.csl-v107-season-status-grid small { font-size:12px; line-height:1.5; }
.csl-v107-season-actions {
	display: grid;
	grid-template-columns: minmax(260px,.75fr) minmax(420px,1.25fr);
	gap: 14px;
	margin-bottom: 18px;
	padding: 18px;
	border-radius: 18px;
	background: #263341;
}
.csl-v107-season-actions form { display:flex; align-items:end; gap:10px; }
.csl-v107-season-actions form:first-child .csl-reg-button { width:100%; }
.csl-v107-season-actions label { flex:1; color:#fff; }
.csl-v107-season-actions label span { display:block; margin-bottom:5px; color:#fff; font-size:11px; font-weight:800; }
.csl-v107-season-settings,
.csl-v107-archive-form,
.csl-v107-member-panel,
.csl-v107-archive-history {
	border: 1px solid #dfe4e8;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 16px 42px rgba(38,51,65,.07);
}
.csl-v107-season-settings { padding:22px; }
.csl-v107-season-settings__head {
	display:flex;
	align-items:end;
	justify-content:space-between;
	gap:20px;
	margin-bottom:18px;
}
.csl-v107-season-settings__head h2 { margin:3px 0 4px; color:#263341; }
.csl-v107-season-settings__head p { margin:0; color:#6c7884; }
.csl-v107-season-settings__head > label { width:min(330px,100%); }
.csl-v107-season-settings label > span,
.csl-v107-archive-form label > span,
.csl-v107-member-link-form label > span {
	display:block;
	margin-bottom:5px;
	color:#53616d;
	font-size:11px;
	font-weight:850;
}
.csl-v107-season-activities {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
}
.csl-v107-season-activity {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px;
	padding:16px;
	border:1px solid #e1e5e8;
	border-radius:15px;
	background:#f8f9fa;
}
.csl-v107-season-activity__toggle {
	grid-column:1 / -1;
	display:flex !important;
	align-items:center;
	gap:10px;
	padding-bottom:10px;
	border-bottom:1px solid #e0e5e8;
}
.csl-v107-season-activity__toggle input { width:20px !important; min-height:20px !important; }
.csl-v107-season-activity__toggle span { margin:0 !important; }
.csl-v107-season-activity__toggle strong,
.csl-v107-season-activity__toggle small { display:block; }
.csl-v107-season-activity__toggle strong { color:#263341; font-size:14px; }
.csl-v107-season-activity__toggle small { color:#73808b; font-size:10px; }
.csl-v107-price-grid {
	display:grid;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:10px;
	margin-top:16px;
}
.csl-v107-season-settings__submit {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	margin-top:18px;
	padding-top:18px;
	border-top:1px solid #e1e5e8;
}
.csl-v107-season-settings__submit p { margin:0; color:#6f7b86; font-size:12px; }

.csl-v107-archive-history { margin:16px 0; padding:16px; }
.csl-v107-archive-history > span { display:block; margin-bottom:9px; color:#6e7b87; font-size:11px; font-weight:900; text-transform:uppercase; }
.csl-v107-archive-history > div,
.csl-v107-member-history { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:8px; }
.csl-v107-archive-history a,
.csl-v107-member-history a {
	display:block;
	padding:11px 12px;
	border:1px solid #dde3e7;
	border-radius:12px;
	background:#f8f9fa;
	color:#263341;
	text-decoration:none;
}
.csl-v107-archive-history a strong,
.csl-v107-archive-history a small,
.csl-v107-member-history a strong,
.csl-v107-member-history a span,
.csl-v107-member-history a small { display:block; }
.csl-v107-archive-history a small,
.csl-v107-member-history a span,
.csl-v107-member-history a small { margin-top:3px; color:#6c7884; font-size:10px; line-height:1.4; }
.csl-v107-member-history a.is-current { border-color:#e30613; background:#fff3f4; }
.csl-v107-archive-form > section { padding:20px 22px; border-bottom:1px solid #e2e6e9; }
.csl-v107-form-heading { display:flex; align-items:center; gap:11px; margin-bottom:15px; }
.csl-v107-form-heading > span {
	display:grid;
	place-items:center;
	width:34px;
	height:34px;
	border-radius:11px;
	background:#263341;
	color:#fff;
	font-weight:900;
}
.csl-v107-form-heading strong,
.csl-v107-form-heading small { display:block; }
.csl-v107-form-heading strong { color:#263341; font-size:17px; }
.csl-v107-form-heading small { margin-top:2px; color:#72808b; font-size:11px; }
.csl-v107-archive-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.csl-v107-archive-member { grid-column:span 1; }
.csl-v107-archive-activities { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-bottom:14px; }
.csl-v107-archive-activities label {
	display:flex;
	align-items:center;
	gap:8px;
	min-height:48px;
	padding:10px;
	border:1px solid #dde3e7;
	border-radius:12px;
	background:#f8f9fa;
}
.csl-v107-archive-activities input { width:18px !important; min-height:18px !important; }
.csl-v107-archive-activities label span { margin:0; color:#263341; font-size:11px; }
.csl-v107-stop-contact {
	display:flex !important;
	align-items:flex-start;
	gap:10px;
	padding:11px 12px;
	border:1px solid #dce2e6;
	border-radius:12px;
	background:#f8f9fa;
}
.csl-v107-stop-contact input { width:19px !important; min-height:19px !important; margin-top:2px; }
.csl-v107-stop-contact > span { margin:0 !important; }
.csl-v107-stop-contact strong,
.csl-v107-stop-contact small { display:block; }
.csl-v107-stop-contact strong { color:#263341; }
.csl-v107-stop-contact small { margin-top:3px; color:#75818c; font-size:10px; line-height:1.4; }
.csl-v107-archive-form textarea { min-height:100px; resize:vertical; }
.csl-v107-archive-submit {
	display:flex;
	justify-content:flex-end;
	gap:9px;
	padding:18px 22px;
}

.csl-v107-member-panel { margin-bottom:16px; padding:18px; }
.csl-v107-member-panel__heading {
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:16px;
	margin-bottom:13px;
}
.csl-v107-member-panel__heading h2 { margin:3px 0; color:#263341; font-size:20px; }
.csl-v107-member-panel__heading p { margin:0; color:#6f7b86; font-size:12px; }
.csl-v107-member-link-form {
	display:grid;
	grid-template-columns:minmax(260px,1fr) minmax(220px,.7fr) auto;
	align-items:end;
	gap:10px;
	margin-top:12px;
	padding-top:12px;
	border-top:1px solid #e2e6e9;
}
.csl-v107-contact-history { margin:12px 0 0; color:#64717c; font-size:11px; }

@media (max-width: 1050px) {
	.csl-v107-season-switcher { grid-template-columns:1fr 1.4fr; }
	.csl-v107-season-switcher > a { grid-column:1 / -1; }
	.csl-v107-season-activities { grid-template-columns:1fr; }
	.csl-v107-price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.csl-v107-archive-activities { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.csl-v107-member-link-form { grid-template-columns:1fr 1fr; }
	.csl-v107-member-link-form .csl-reg-button { grid-column:1 / -1; }
}

@media (max-width: 760px) {
	.csl-v107-season-switcher { display:block; padding:13px; border-radius:14px; }
	.csl-v107-season-switcher > div { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
	.csl-v107-season-switcher > div span { margin:0; }
	.csl-v107-season-switcher > div strong { font-size:16px; }
	.csl-v107-season-switcher form { grid-template-columns:1fr; }
	.csl-v107-season-switcher > a { display:inline-flex; margin-top:10px; }
	.csl-v107-season-status-grid,
	.csl-v107-season-actions,
	.csl-v107-season-activities,
	.csl-v107-price-grid,
	.csl-v107-archive-grid,
	.csl-v107-member-link-form { grid-template-columns:1fr; }
	.csl-v107-season-actions form { display:grid; grid-template-columns:1fr; }
	.csl-v107-season-settings { padding:14px; }
	.csl-v107-season-settings__head,
	.csl-v107-season-settings__submit,
	.csl-v107-member-panel__heading { display:block; }
	.csl-v107-season-settings__head > label { width:100%; margin-top:12px; }
	.csl-v107-season-settings__submit .csl-reg-button { width:100%; margin-top:10px; }
	.csl-v107-season-activity { grid-template-columns:1fr; padding:12px; }
	.csl-v107-season-activity__toggle { grid-column:auto; }
	.csl-v107-archive-form > section { padding:16px 14px; }
	.csl-v107-archive-activities { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.csl-v107-archive-submit { display:grid; grid-template-columns:1fr; padding:14px; }
	.csl-v107-archive-submit .csl-reg-button { width:100%; }
	.csl-v107-member-panel { padding:14px; }
	.csl-v107-member-panel__heading .csl-v107-record-badge { margin-top:9px; }
	.csl-v107-member-link-form .csl-reg-button { grid-column:auto; width:100%; }
}

/* Version 1.106 : communication ciblée depuis les dossiers filtrés. */
.csl-manager-v105 .csl-v106-record-toolbar.csl-v105-listcount {
    min-height: 48px;
    padding: 7px 8px 7px 11px;
    border: 1px solid #dce4eb;
    border-radius: 12px;
    background: #f7f9fb;
}

.csl-v106-record-toolbar__summary {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.csl-manager-v105 .csl-v106-record-toolbar__summary > strong {
    font-size: 12px !important;
}

.csl-v106-record-toolbar__summary > span {
    color: #687587 !important;
    font-size: 9px;
    line-height: 1.35;
}

.csl-v106-record-toolbar__actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 8px;
}

.csl-manager-v105 .csl-v106-filter-mail {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 7px 9px 7px 11px;
    border: 1px solid transparent;
    border-radius: 9px;
    color: #fff !important;
    background: linear-gradient(105deg, #e94753, #b82039);
    box-shadow: 0 5px 13px rgba(184, 32, 57, .18);
    font-size: 10px !important;
    font-weight: 850;
    line-height: 1;
    text-decoration: none !important;
    transition: transform .15s ease, box-shadow .15s ease;
    -webkit-text-fill-color: #fff !important;
}

.csl-manager-v105 a.csl-v106-filter-mail:hover,
.csl-manager-v105 a.csl-v106-filter-mail:focus-visible {
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 8px 17px rgba(184, 32, 57, .24);
    -webkit-text-fill-color: #fff !important;
}

.csl-manager-v105 .csl-v105-listcount .csl-v106-filter-mail > strong {
    display: grid;
    min-width: 22px;
    height: 22px;
    place-items: center;
    padding: 0 5px;
    border-radius: 999px;
    color: #fff !important;
    background: rgba(255, 255, 255, .2);
    font-size: 9px !important;
    -webkit-text-fill-color: #fff !important;
}

.csl-manager-v105 .csl-v106-filter-mail.is-disabled {
    color: #738092 !important;
    background: #e7ebef;
    box-shadow: none;
    -webkit-text-fill-color: #738092 !important;
}

.csl-manager-v105 .csl-v106-attendance-link {
    white-space: nowrap;
}

.csl-v106-audience-card {
    margin: 0 0 18px;
    padding: 16px;
    border: 1px solid #d9e3eb;
    border-radius: 15px;
    background: linear-gradient(135deg, #f7fafc, #f2f6f9);
}

.csl-v106-audience-card__heading {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 13px;
}

.csl-v106-audience-card__heading > span {
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    place-items: center;
    border-radius: 11px;
    color: #fff !important;
    background: linear-gradient(135deg, #2d4358, #49687e);
    font-size: 19px;
    -webkit-text-fill-color: #fff !important;
}

.csl-v106-audience-card__heading > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.csl-v106-audience-card__heading strong {
    color: #253448 !important;
    font-size: 14px;
}

.csl-v106-audience-card__heading small {
    color: #697789 !important;
    font-size: 10px;
}

.csl-v106-audience-card__stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 11px;
}

.csl-v106-audience-card__stats > div {
    display: flex;
    min-width: 0;
    min-height: 62px;
    flex-direction: column;
    justify-content: center;
    padding: 9px 11px;
    border: 1px solid #e0e7ed;
    border-radius: 11px;
    background: #fff;
}

.csl-v106-audience-card__stats strong {
    color: #bd293f !important;
    font-size: 23px !important;
    line-height: 1;
}

.csl-v106-audience-card__stats span {
    margin-top: 4px;
    color: #667487 !important;
    font-size: 9px;
    font-weight: 750;
}

.csl-v106-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.csl-v106-filter-chips > span {
    display: inline-flex;
    min-height: 25px;
    align-items: center;
    padding: 5px 9px;
    border: 1px solid #d8e1e8;
    border-radius: 999px;
    color: #40566d !important;
    background: #fff;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.2;
}

.csl-v106-audience-card__note {
    margin: 10px 0 0 !important;
    color: #6b7888 !important;
    font-size: 9px !important;
    line-height: 1.45;
}

.csl-v106-communication-tool .csl-v69-compose form > .csl-reg-button {
    min-height: 43px;
}

.csl-v106-communication-tool .csl-v69-compose form > .csl-reg-button:disabled {
    cursor: not-allowed;
    opacity: .48;
}

@media (max-width: 680px) {
    .csl-manager-v105 .csl-v106-record-toolbar.csl-v105-listcount {
        gap: 8px;
        padding: 9px;
    }

    .csl-v106-record-toolbar__actions {
        display: grid;
        width: 100%;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .csl-manager-v105 .csl-v106-filter-mail,
    .csl-manager-v105 .csl-v106-attendance-link {
        width: 100%;
        min-height: 38px;
        justify-content: center;
    }

    .csl-manager-v105 .csl-v106-attendance-link {
        display: inline-flex;
        align-items: center;
        padding: 7px 9px;
        border: 1px solid #d8e1e8;
        border-radius: 9px;
        background: #fff;
        text-align: center;
    }

    .csl-v106-audience-card {
        padding: 12px;
        border-radius: 13px;
    }

    .csl-v106-audience-card__stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px;
    }

    .csl-v106-audience-card__stats > div {
        min-height: 57px;
        padding: 8px;
    }

    .csl-v106-audience-card__stats strong {
        font-size: 20px !important;
    }
}

@media (max-width: 420px) {
    .csl-v106-record-toolbar__actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .csl-v106-audience-card__heading small {
        font-size: 9px;
    }

    .csl-v106-audience-card__stats span {
        font-size: 8px;
    }
}

body.csl-registration-page .sidebar,
body.csl-registration-page #secondary,
body.csl-registration-page .widget-area,
body.csl-registration-page .entry-title,
body.csl-registration-page .entry-meta,
body.csl-registration-page .post-edit-link {
    display: none !important;
}

body.csl-registration-page .content-left-wrap,
body.csl-registration-page .content-area,
body.csl-registration-page #primary,
body.csl-registration-page .site-content,
body.csl-registration-page .container,
body.csl-registration-page article,
body.csl-registration-page .entry-content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    float: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.csl-registration-page .site-content {
    padding-top: 0 !important;
}

.csl-registration,
.csl-registration * {
    box-sizing: border-box;
}

.csl-registration {
    width: 100%;
    min-width: 0;
    overflow: hidden;
    color: var(--cslreg-ink);
    background: #fff;
    font-family: inherit;
}

.csl-registration [hidden],
.csl-registration .is-hidden {
    display: none !important;
}

.csl-registration a {
    color: inherit;
    text-decoration: none;
}

.csl-registration button,
.csl-registration input,
.csl-registration select,
.csl-registration textarea {
    font: inherit;
}

.csl-registration h1,
.csl-registration h2,
.csl-registration h3,
.csl-registration p,
.csl-registration ul {
    margin-top: 0;
}

.csl-registration h1,
.csl-registration h2,
.csl-registration h3 {
    color: var(--cslreg-ink);
    letter-spacing: -.045em;
    line-height: 1.08;
}

.csl-registration p,
.csl-registration small {
    color: var(--cslreg-muted);
}

.csl-reg-shell {
    width: min(1180px, calc(100% - 48px));
    margin-inline: auto;
}

.csl-reg-kicker {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 16px;
    color: var(--cslreg-red);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .13em;
    line-height: 1.3;
    text-transform: uppercase;
}

.csl-reg-kicker::before {
    width: 28px;
    height: 2px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: currentColor;
    content: "";
}

.csl-reg-button {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    padding: 13px 20px;
    border: 1px solid transparent;
    border-radius: 999px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.2;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}

.csl-reg-button:hover {
    transform: translateY(-2px);
}

.csl-reg-button--primary {
    color: #fff !important;
    background: linear-gradient(135deg, var(--cslreg-blue), var(--cslreg-red));
    box-shadow: 0 13px 26px rgba(101, 143, 170, .23);
}

.csl-reg-button--primary:hover {
    color: #fff !important;
    box-shadow: 0 17px 32px rgba(101, 143, 170, .32);
}

.csl-reg-button--light {
    color: var(--cslreg-ink) !important;
    border-color: var(--cslreg-line);
    background: #fff;
}

.csl-reg-button--dark {
    color: #fff !important;
    background: var(--cslreg-ink);
}

.csl-reg-hero {
    position: relative;
    isolation: isolate;
    min-height: 510px;
    display: grid;
    align-items: center;
    overflow: hidden;
    padding: 72px 0 84px;
    background: radial-gradient(circle at 10% 15%, rgba(213, 31, 53, .1), transparent 25%), linear-gradient(135deg, #fff 0%, #fbf9f5 52%, #eaf2f5 100%);
}

.csl-reg-hero::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    background-image: radial-gradient(rgba(23, 35, 51, .08) 1px, transparent 1px);
    background-size: 27px 27px;
    content: "";
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, .55), transparent 84%);
    pointer-events: none;
}

.csl-reg-orb {
    position: absolute;
    z-index: -1;
    border: 1px solid rgba(101, 143, 170, .22);
    border-radius: 50%;
    pointer-events: none;
}

.csl-reg-orb--one {
    width: 330px;
    height: 330px;
    top: -170px;
    right: 13%;
}

.csl-reg-orb--two {
    width: 210px;
    height: 210px;
    bottom: -110px;
    left: 8%;
}

.csl-reg-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(290px, .9fr);
    gap: 80px;
    align-items: center;
}

.csl-reg-hero h1 {
    max-width: 700px;
    margin: 0;
    font-size: clamp(48px, 6vw, 82px);
    font-weight: 850;
}

.csl-reg-hero h1 span {
    color: var(--cslreg-blue-dark);
}

.csl-reg-hero__lead {
    max-width: 650px;
    margin: 26px 0 0;
    font-size: clamp(17px, 2vw, 20px);
    line-height: 1.7;
}

.csl-reg-hero__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 32px;
}

.csl-reg-hero__badges span {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 7px 12px;
    border: 1px solid rgba(79, 104, 123, .15);
    border-radius: 999px;
    color: var(--cslreg-ink-soft);
    background: rgba(255, 255, 255, .67);
    font-size: 12px;
    font-weight: 750;
}

.csl-reg-hero-card {
    position: relative;
    width: min(365px, 100%);
    min-height: 300px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    margin-inline: auto;
    padding: 28px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 34px;
    background: radial-gradient(circle at 92% 8%, rgba(101, 143, 170, .18), transparent 28%), linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(235, 243, 247, .84));
    box-shadow: var(--cslreg-shadow);
}

.csl-reg-hero-card::after {
    position: absolute;
    width: 210px;
    height: 210px;
    right: -80px;
    bottom: -90px;
    border: 1px solid rgba(213, 31, 53, .25);
    border-radius: 50%;
    content: "";
}

.csl-reg-hero-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: var(--cslreg-blue-dark);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
}

.csl-reg-hero-card__dot {
    width: 10px;
    height: 10px;
    display: block;
    border-radius: 50%;
    background: var(--cslreg-red);
    box-shadow: 0 0 0 6px rgba(213, 31, 53, .1);
}

.csl-reg-hero-card strong {
    position: relative;
    z-index: 1;
    margin-top: 34px;
    color: var(--cslreg-ink);
    font-size: 42px;
    letter-spacing: -.06em;
    line-height: .98;
}

.csl-reg-hero-card p {
    position: relative;
    z-index: 1;
    max-width: 230px;
    margin: 17px 0 0;
    line-height: 1.55;
}

.csl-reg-hero-card__mark {
    position: absolute;
    right: 27px;
    bottom: 24px;
    width: 70px;
    height: 70px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(213, 31, 53, .23);
    border-radius: 50%;
    color: var(--cslreg-red);
    font-size: 31px;
    font-weight: 900;
}

.csl-reg-form-section {
    position: relative;
    z-index: 2;
    margin-top: -38px;
    padding-bottom: 85px;
}

.csl-reg-form {
    display: grid;
    gap: 22px;
}

.csl-reg-form-intro {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 30px;
    padding: 27px 30px;
    border: 1px solid rgba(255, 255, 255, .9);
    border-radius: 22px;
    background: rgba(255, 255, 255, .92);
    box-shadow: 0 12px 30px rgba(38, 62, 81, .07);
}

.csl-reg-form-intro h2 {
    margin: 0;
    font-size: 29px;
}

.csl-reg-form-intro .csl-reg-kicker,
.csl-reg-form-block__heading .csl-reg-kicker {
    margin-bottom: 8px;
}

.csl-reg-form-intro p {
    max-width: 420px;
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    text-align: right;
}

.csl-reg-form-block {
    padding: 32px;
    border: 1px solid var(--cslreg-line);
    border-radius: var(--cslreg-radius);
    background: #fff;
    box-shadow: var(--cslreg-shadow);
}

/* V1.34 : les étapes du formulaire deviennent des volets compacts. Le
 * résumé reste toujours cliquable afin de permettre une réouverture manuelle. */
.csl-reg-collapsible > .csl-reg-form-block__summary {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.csl-reg-collapsible > .csl-reg-form-block__summary::-webkit-details-marker {
    display: none;
}

.csl-reg-collapsible > .csl-reg-form-block__summary::marker {
    content: "";
}

.csl-reg-collapsible > .csl-reg-form-block__summary .csl-reg-form-block__heading {
    flex: 1 1 auto;
    min-width: 0;
    margin-bottom: 0;
}

.csl-reg-collapsible[open] > .csl-reg-form-block__summary {
    margin-bottom: 28px;
}

.csl-reg-collapsible:not([open]) {
    padding-top: 21px;
    padding-bottom: 21px;
}

.csl-reg-form-block__toggle {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    place-items: center;
    margin-top: 4px;
    border: 1px solid rgba(101, 143, 170, .28);
    border-radius: 11px;
    color: var(--cslreg-blue-dark);
    background: #f4f9fb;
    font-size: 20px;
    font-weight: 900;
    line-height: 1;
    transition: transform .2s ease, background .2s ease, color .2s ease;
}

.csl-reg-collapsible[open] > .csl-reg-form-block__summary .csl-reg-form-block__toggle {
    transform: rotate(180deg);
    color: #fff;
    background: var(--cslreg-blue);
}

.csl-reg-collapsible > .csl-reg-form-block__summary:hover .csl-reg-form-block__toggle,
.csl-reg-collapsible > .csl-reg-form-block__summary:focus-visible .csl-reg-form-block__toggle {
    color: #fff;
    background: var(--cslreg-blue-dark);
}

.csl-reg-collapsible > .csl-reg-form-block__summary:focus-visible {
    outline: 3px solid rgba(101, 143, 170, .24);
    outline-offset: 4px;
    border-radius: 10px;
}

.csl-reg-form-block__heading {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 28px;
}

.csl-reg-form-block__heading h2 {
    margin: 0;
    font-size: clamp(25px, 3vw, 35px);
}

.csl-reg-step-number {
    width: 43px;
    height: 43px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 14px;
    color: #fff;
    background: linear-gradient(145deg, var(--cslreg-blue), var(--cslreg-red));
    font-size: 13px;
    font-weight: 900;
}

.csl-reg-fields {
    display: grid;
    gap: 18px;
}

.csl-reg-fields > *,
.csl-reg-inline-fields > *,
.csl-reg-payment-entry > * {
    min-width: 0;
}

.csl-reg-fields--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.csl-reg-fields--three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.csl-reg-fields label,
.csl-reg-file-field {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    overflow-wrap: anywhere;
}

.csl-reg-fields label > span,
.csl-reg-file-field > span {
    color: var(--cslreg-ink-soft);
    font-size: 13px;
    font-weight: 800;
}

.csl-reg-fields label > small,
.csl-reg-file-field small {
    color: var(--cslreg-muted);
    font-size: 11px;
    line-height: 1.45;
}

.csl-registration input[type="text"],
.csl-registration input[type="email"],
.csl-registration input[type="tel"],
.csl-registration input[type="date"],
.csl-registration input[type="search"],
.csl-registration input[type="file"],
.csl-registration select,
.csl-registration textarea {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    border: 1px solid rgba(23, 35, 51, .16);
    border-radius: 12px;
    color: var(--cslreg-ink);
    background: #fff;
    font-size: 14px;
    line-height: 1.4;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.csl-registration input[type="text"],
.csl-registration input[type="email"],
.csl-registration input[type="tel"],
.csl-registration input[type="date"],
.csl-registration input[type="search"],
.csl-registration select {
    min-height: 49px;
    padding: 12px 14px;
}

/* Safari/iPad conserve parfois une largeur intrinsèque plus grande pour les
 * champs date. Ces contraintes les alignent sur les autres champs de la
 * grille, sans supprimer le sélecteur de date natif au toucher. */
.csl-registration input[type="date"] {
    display: block;
    inline-size: 100%;
    max-inline-size: 100%;
    min-inline-size: 0;
    -webkit-appearance: none;
    appearance: none;
}

.csl-registration input[type="date"]::-webkit-date-and-time-value {
    min-width: 0;
    text-align: left;
}

.csl-registration input[type="file"] {
    min-height: 48px;
    padding: 10px;
    cursor: pointer;
    font-size: 12px;
}

.csl-registration textarea {
    min-height: 92px;
    padding: 12px 14px;
    resize: vertical;
}

.csl-registration input:focus,
.csl-registration select:focus,
.csl-registration textarea:focus {
    border-color: var(--cslreg-blue);
    box-shadow: 0 0 0 4px rgba(101, 143, 170, .13);
}

.csl-reg-radio-grid {
    display: grid;
    gap: 14px;
    margin-bottom: 23px;
}

.csl-reg-radio-grid--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.csl-reg-choice,
.csl-reg-activity-choice {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--cslreg-line);
    border-radius: 16px;
    cursor: pointer;
    background: #fff;
    transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
}

.csl-reg-choice:hover,
.csl-reg-activity-choice:hover {
    transform: translateY(-2px);
    border-color: rgba(101, 143, 170, .55);
    box-shadow: 0 10px 22px rgba(38, 62, 81, .08);
}

.csl-reg-choice:has(input:checked),
.csl-reg-activity-choice:has(input:checked) {
    border-color: var(--cslreg-blue);
    background: #f1f7fa;
    box-shadow: 0 8px 20px rgba(101, 143, 170, .13);
}

.csl-reg-choice input,
.csl-reg-activity-choice input,
.csl-reg-check input {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    accent-color: var(--cslreg-red);
}

.csl-reg-choice span,
.csl-reg-activity-choice span {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.csl-reg-choice strong,
.csl-reg-activity-choice strong {
    color: var(--cslreg-ink);
    font-size: 14px;
}

.csl-reg-choice small,
.csl-reg-activity-choice small {
    color: var(--cslreg-muted);
    font-size: 11px;
    line-height: 1.35;
}

.csl-reg-conditional {
    margin: 21px 0;
    padding: 20px;
    border: 1px solid rgba(101, 143, 170, .2);
    border-radius: 18px;
    background: #f5f9fb;
}

.csl-reg-conditional__title,
.csl-reg-subheading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 15px;
}

.csl-reg-conditional__title > span,
.csl-reg-subheading > span {
    color: var(--cslreg-ink-soft);
    font-size: 13px;
    font-weight: 850;
}

.csl-reg-conditional__title small,
.csl-reg-subheading small {
    color: var(--cslreg-muted);
    font-size: 11px;
    line-height: 1.4;
    text-align: right;
}

.csl-reg-subheading {
    margin-top: 25px;
}

.csl-reg-activity-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 11px;
}

.csl-reg-activity-choice {
    min-height: 110px;
    align-items: flex-start;
    padding: 13px;
}

.csl-reg-activity-choice--sage:before,
.csl-reg-activity-choice--blue:before,
.csl-reg-activity-choice--lilac:before,
.csl-reg-activity-choice--coral:before,
.csl-reg-activity-choice--teal:before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    border-radius: 16px 16px 0 0;
    content: "";
}

.csl-reg-activity-choice--sage:before { background: #9baa8d; }
.csl-reg-activity-choice--blue:before { background: #668fac; }
.csl-reg-activity-choice--lilac:before { background: #9a8bb8; }
.csl-reg-activity-choice--coral:before { background: #e87962; }
.csl-reg-activity-choice--teal:before { background: #4e9d9b; }

.csl-reg-activity-choice--full {
    cursor: not-allowed;
    opacity: .62;
    background: #f7f8f9;
}

.csl-reg-activity-choice--full:hover {
    transform: none;
    border-color: var(--cslreg-line);
    box-shadow: none;
}

.csl-reg-activity-choice--full input {
    cursor: not-allowed;
}

.csl-reg-full-overlay {
    position: absolute !important;
    inset: 12px !important;
    z-index: 2;
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex-direction: column !important;
    gap: 4px !important;
    min-width: 0 !important;
    border: 1px solid rgba(166, 25, 43, .28);
    border-radius: 12px;
    color: #8d1729;
    background: rgba(255, 244, 246, .92);
    box-shadow: 0 6px 15px rgba(84, 16, 29, .08);
    pointer-events: none;
    text-align: center;
}

.csl-reg-full-overlay strong {
    color: #8d1729 !important;
    font-size: 11px !important;
    letter-spacing: .12em;
}

.csl-reg-full-overlay__icon {
    display: grid !important;
    width: 24px;
    height: 24px;
    min-width: 24px !important;
    place-items: center;
    border: 2px solid #a6192b;
    border-radius: 50%;
    color: #a6192b;
    font-size: 15px;
    line-height: 1;
}

.csl-reg-activity-choice--age-incompatible {
    cursor: not-allowed;
    opacity: .52;
    background: #f7f8f9;
}

.csl-reg-activity-choice--age-incompatible:hover {
    transform: none;
    border-color: var(--cslreg-line);
    box-shadow: none;
}

.csl-reg-activity-capacity {
    color: var(--cslreg-blue-dark);
    font-style: normal;
    font-weight: 850;
}

.csl-reg-activity-choice--full .csl-reg-activity-capacity {
    color: #a6192b;
}

.csl-reg-activity-rule {
    margin-top: 13px;
    padding: 11px 14px;
    border-left: 3px solid var(--cslreg-blue);
    border-radius: 8px;
    color: var(--cslreg-muted);
    background: #f5f9fb;
    font-size: 12px;
    line-height: 1.5;
}

.csl-reg-pricing-fields {
    align-items: start;
    margin-top: 25px;
}

.csl-reg-payment-methods {
    grid-column: 1 / -1;
}

.csl-reg-payment-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.csl-reg-payment-choice {
    min-height: 62px;
    padding: 12px;
}

.csl-reg-payment-choice:has(input:checked) {
    border-color: var(--cslreg-blue);
    background: #f1f7fa;
}

.csl-reg-cheque-field {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 13px 0 0;
    padding: 13px 15px;
}

.csl-reg-cheque-field > span {
    display: block;
    color: var(--cslreg-ink-soft);
    font-size: 12px;
    font-weight: 850;
}

.csl-reg-cheque-field select {
    min-width: 140px;
}

.csl-reg-cheque-field small {
    color: var(--cslreg-muted);
    font-size: 11px;
    line-height: 1.4;
}

.csl-reg-validation-notice {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: 20px;
    padding: 18px 20px;
    border: 2px solid #c13a4c;
    border-radius: 15px;
    color: #6f1727;
    background: #fff3f5;
    box-shadow: 0 8px 20px rgba(166, 25, 43, .10);
}

.csl-reg-validation-notice strong {
    color: #89192c;
    font-size: 15px;
    line-height: 1.3;
}

.csl-reg-validation-notice span {
    font-size: 12px;
    line-height: 1.55;
}

.csl-reg-validation-notice--success {
    margin: 20px 0;
    border-color: #c58a28;
    color: #6f4b12;
    background: #fff9e9;
}

.csl-reg-validation-notice--success strong {
    color: #8c5f1c;
}

.csl-reg-trial-note {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-top: 15px;
    padding: 14px 17px;
    border-left: 4px solid var(--cslreg-red);
    border-radius: 10px;
    background: #fff3f4;
}

.csl-reg-trial-note strong {
    color: var(--cslreg-red);
    font-size: 13px;
}

.csl-reg-trial-note span {
    color: var(--cslreg-ink-soft);
    font-size: 12px;
    line-height: 1.5;
}

.csl-reg-documents-block {
    background: linear-gradient(140deg, #fff, #f8fbfc);
}

.csl-reg-documents-intro {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 25px;
    margin-bottom: 22px;
}

.csl-reg-documents-intro > p {
    max-width: 420px;
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
}

.csl-reg-doc-links {
    min-width: 280px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 14px 16px;
    border: 1px solid rgba(101, 143, 170, .17);
    border-radius: 15px;
    background: #fff;
}

.csl-reg-doc-links > span {
    margin-bottom: 2px;
    color: var(--cslreg-blue-dark);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.csl-reg-doc-links > div {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.csl-reg-doc-links a {
    color: var(--cslreg-blue-dark);
    font-size: 12px;
    font-weight: 750;
}

.csl-reg-doc-links a:hover {
    color: var(--cslreg-red);
}

.csl-reg-doc-links b {
    color: var(--cslreg-red);
}

.csl-reg-document-picker {
    margin: 0 0 24px;
    padding: 18px;
    border: 1px solid rgba(101, 143, 170, .2);
    border-radius: 18px;
    background: rgba(241, 248, 251, .72);
}

.csl-reg-document-picker__intro {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 15px;
}

.csl-reg-document-picker__intro strong {
    color: var(--cslreg-blue-dark);
    font-size: 15px;
}

.csl-reg-document-picker__intro span,
.csl-reg-document-choice > p {
    color: var(--cslreg-ink-soft);
    font-size: 12px;
    line-height: 1.5;
}

.csl-reg-document-choice-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.csl-reg-document-choice {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 14px;
    padding: 16px;
    border: 1px solid rgba(23, 35, 51, .12);
    border-radius: 15px;
    background: #fff;
}

.csl-reg-document-choice--health {
    border-top: 3px solid var(--cslreg-blue);
}

.csl-reg-document-choice--image {
    border-top: 3px solid var(--cslreg-red);
}

.csl-reg-document-choice--other {
    justify-content: space-between;
    border-top: 3px solid #e0a22f;
}

.csl-reg-document-choice__heading {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.csl-reg-document-choice__heading > span:last-child,
.csl-reg-document-choice__toggle > span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.csl-reg-document-choice__heading strong,
.csl-reg-document-choice__toggle strong {
    color: var(--cslreg-ink);
    font-size: 14px;
}

.csl-reg-document-choice__heading small,
.csl-reg-document-choice__toggle small {
    color: var(--cslreg-muted);
    font-size: 11px;
    line-height: 1.4;
}

.csl-reg-document-choice__number {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 10px;
    color: #fff;
    background: var(--cslreg-blue-dark);
    font-size: 10px;
    font-weight: 900;
}

.csl-reg-document-select,
.csl-reg-document-mode {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 7px;
}

.csl-reg-document-select > span,
.csl-reg-document-mode > span {
    color: var(--cslreg-ink-soft);
    font-size: 11px;
    font-weight: 850;
}

.csl-reg-document-select > small,
.csl-reg-document-choice--other > p {
    margin: 0;
    color: var(--cslreg-muted);
    font-size: 11px;
    line-height: 1.45;
}

.csl-reg-document-mode__options {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.csl-reg-document-mode-choice {
    align-items: flex-start;
    padding: 10px 11px;
    border-radius: 11px;
}

.csl-reg-document-mode-choice strong {
    font-size: 12px;
}

.csl-reg-document-mode-choice small {
    font-size: 10px;
}

.csl-reg-document-choice__toggle {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
}

.csl-reg-document-choice__toggle input {
    width: 19px;
    height: 19px;
    flex: 0 0 auto;
    margin-top: 1px;
    accent-color: var(--cslreg-red);
}

.csl-reg-file-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.csl-reg-model-download-wrap {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 0 0 18px;
    padding: 13px 15px;
    border: 1px solid rgba(101, 143, 170, .25);
    border-radius: 13px;
    background: #f1f8fb;
}

.csl-reg-model-download {
    color: var(--cslreg-blue-dark) !important;
    font-size: 13px;
    font-weight: 850;
}

.csl-reg-model-download:hover {
    color: var(--cslreg-red) !important;
    text-decoration: underline;
}

.csl-reg-model-download-wrap small {
    color: var(--cslreg-ink-soft);
    font-size: 11px;
    line-height: 1.45;
}

.csl-reg-file-field {
    min-height: 180px;
    justify-content: flex-start;
    padding: 18px;
    border: 1px solid rgba(23, 35, 51, .12);
    border-radius: 17px;
    background: rgba(255, 255, 255, .82);
}

.csl-reg-file-field > span {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.csl-reg-file-field > span strong {
    color: var(--cslreg-ink);
    font-size: 14px;
}

.csl-reg-file-field > span small {
    font-weight: 500;
}

.csl-reg-file-field.is-required {
    border-color: rgba(213, 31, 53, .35);
}

.csl-reg-file-hint.is-selected {
    color: #2c7c65;
    font-weight: 750;
}

.csl-reg-file-field.is-uploading {
    border-color: rgba(101, 143, 170, .55);
    background: #f5f9fb;
}

.csl-registration [hidden] {
    display: none !important;
}

.csl-reg-auto-document-message {
    display: block;
    margin-top: 4px;
    padding: 10px 12px;
    border: 1px solid rgba(101, 143, 170, .18);
    border-radius: 10px;
    color: var(--cslreg-blue-dark);
    background: #f1f8fb;
    font-size: 12px;
    line-height: 1.5;
}

.csl-reg-inline-documents {
    display: flex;
    flex-direction: column;
    gap: 18px;
    margin: 0 0 22px;
}

.csl-reg-inline-documents__intro {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 16px 18px;
    border-left: 4px solid var(--cslreg-blue);
    border-radius: 12px;
    background: #edf6fa;
}

.csl-reg-inline-documents__intro strong {
    color: var(--cslreg-blue-dark);
    font-size: 14px;
}

.csl-reg-inline-documents__intro span,
.csl-reg-inline-section-title small,
.csl-reg-inline-panel__heading span {
    color: var(--cslreg-ink-soft);
    font-size: 12px;
    line-height: 1.5;
}

.csl-reg-inline-documents__intro em {
    display: block;
    margin-top: 5px;
    color: var(--cslreg-blue-dark);
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
    line-height: 1.45;
}

.csl-reg-inline-section-title {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 3px 0 9px;
}

.csl-reg-inline-section-title > span {
    color: var(--cslreg-ink);
    font-size: 13px;
    font-weight: 850;
}

.csl-reg-inline-panel {
    display: flex;
    flex-direction: column;
    gap: 17px;
    padding: 20px;
    border: 1px solid rgba(101, 143, 170, .22);
    border-radius: 18px;
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 10px 30px rgba(23, 35, 51, .05);
}

.csl-reg-inline-panel[hidden] {
    display: none;
}

.csl-reg-inline-panel__heading {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.csl-reg-inline-panel__heading strong {
    color: var(--cslreg-blue-dark);
    font-size: 16px;
}

.csl-reg-inline-fields {
    display: grid;
    gap: 14px;
}

.csl-reg-inline-fields--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.csl-reg-inline-fields--three {
    grid-template-columns: 1.25fr .8fr;
}

.csl-reg-inline-fields label,
.csl-reg-inline-fields > div {
    display: flex;
    flex-direction: column;
    gap: 6px;
    min-width: 0;
    overflow-wrap: anywhere;
}

.csl-reg-inline-fields label > span,
.csl-reg-inline-fields > div > span,
.csl-reg-inline-signature > span {
    color: var(--cslreg-ink-soft);
    font-size: 11px;
    font-weight: 800;
}

.csl-reg-inline-fields input[type="text"],
.csl-reg-inline-fields input[type="number"],
.csl-reg-inline-fields input[type="date"] {
    width: 100%;
    min-height: 43px;
    padding: 10px 12px;
    border: 1px solid rgba(23, 35, 51, .16);
    border-radius: 10px;
    background: #fff;
    color: var(--cslreg-ink);
    font-size: 13px;
}

.csl-reg-inline-fields input[readonly] {
    background: #f5f8fa;
    color: var(--cslreg-ink-soft);
}

.csl-reg-inline-radio {
    display: flex;
    align-items: center;
    gap: 15px;
    min-height: 43px;
}

.csl-reg-inline-radio label {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 7px;
    color: var(--cslreg-ink);
    font-size: 13px;
}

.csl-reg-inline-questions {
    display: flex;
    flex-direction: column;
    gap: 1px;
    overflow: hidden;
    border: 1px solid rgba(23, 35, 51, .13);
    border-radius: 12px;
    background: #fff;
}

.csl-reg-inline-question {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 58px 58px;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(23, 35, 51, .08);
    background: #fff;
}

.csl-reg-inline-question:last-child {
    border-bottom: 0;
}

.csl-reg-inline-question > span {
    min-width: 0;
    color: var(--cslreg-ink);
    font-size: 12px;
    line-height: 1.42;
    overflow-wrap: anywhere;
}

.csl-reg-inline-question > label {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 5px;
    color: var(--cslreg-blue-dark);
    font-size: 11px;
    font-weight: 800;
}

.csl-reg-inline-question > label input {
    accent-color: var(--cslreg-red);
}

.csl-reg-inline-preview {
    border-top: 1px solid rgba(23, 35, 51, .1);
    padding-top: 13px;
}

.csl-reg-inline-preview summary {
    color: var(--cslreg-blue-dark);
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
}

.csl-reg-inline-preview object {
    display: block;
    width: 100%;
    height: min(68vh, 620px);
    margin-top: 12px;
    border: 1px solid rgba(23, 35, 51, .12);
    border-radius: 10px;
    background: #f3f6f8;
}

.csl-reg-inline-confirm {
    margin: 0;
    padding: 12px 14px;
    border: 1px solid rgba(101, 143, 170, .18);
    border-radius: 11px;
    background: #f7fafb;
}

.csl-reg-inline-signature {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.csl-reg-inline-signature > span {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.csl-reg-inline-signature > span small {
    color: var(--cslreg-ink-soft);
    font-size: 11px;
    font-weight: 500;
}

.csl-reg-inline-signature canvas {
    display: block;
    width: 100%;
    max-width: 520px;
    height: 150px;
    border: 1px dashed rgba(23, 35, 51, .3);
    border-radius: 11px;
    background: #fff;
    touch-action: none;
}

.csl-reg-file-field--inline-hidden > input[type="file"] {
    display: none;
}

.csl-reg-doc-links p {
    margin: 0;
    color: var(--cslreg-ink-soft);
    font-size: 12px;
    line-height: 1.5;
}

.csl-reg-file-remove {
    align-self: flex-start;
    padding: 0;
    border: 0;
    color: #a6192b;
    background: transparent;
    cursor: pointer;
    font-size: 11px;
    font-weight: 850;
}

.csl-reg-file-remove:hover {
    text-decoration: underline;
}

.csl-reg-form-block--consent {
    background: #f9fbfc;
}

.csl-reg-check {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 11px;
    margin: 14px 0;
    color: var(--cslreg-ink-soft);
    font-size: 13px;
    line-height: 1.55;
}

.csl-reg-check > span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.csl-reg-check--manager-rgpd {
    margin: 18px 0 22px;
    padding: 14px 16px;
    border: 1px solid rgba(101, 143, 170, .25);
    border-radius: 13px;
    background: #f1f8fb;
}

.csl-reg-check--manager-rgpd span {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.csl-reg-check--manager-rgpd strong {
    color: var(--cslreg-blue-dark);
    font-size: 13px;
}

.csl-reg-check--manager-rgpd small {
    color: var(--cslreg-ink-soft);
    font-size: 11px;
    line-height: 1.45;
}

.csl-reg-check a {
    color: var(--cslreg-blue-dark);
    font-weight: 750;
    text-decoration: underline;
}

.csl-reg-check--large {
    padding: 16px;
    border: 1px solid rgba(101, 143, 170, .22);
    border-radius: 14px;
    background: #fff;
}

.csl-reg-submit-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin-top: 25px;
    padding-top: 22px;
    border-top: 1px solid var(--cslreg-line);
}

.csl-reg-submit-row p {
    max-width: 480px;
    margin: 0;
    font-size: 12px;
    line-height: 1.5;
}

.csl-reg-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
}

.csl-reg-notice {
    margin-bottom: 20px;
    padding: 15px 18px;
    border: 1px solid transparent;
    border-radius: 14px;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;
}

.csl-reg-notice--error {
    border-color: rgba(213, 31, 53, .25);
    color: #a6192b;
    background: #fff0f2;
}

.csl-reg-notice--warning {
    border-color: rgba(190, 129, 33, .25);
    color: #805315;
    background: #fff8e9;
}

.csl-reg-notice--success {
    border-color: rgba(45, 125, 101, .25);
    color: #256c58;
    background: #edf9f4;
}

.csl-registration--success {
    min-height: 680px;
    display: grid;
    place-items: center;
    padding: 70px 24px;
    background: linear-gradient(135deg, #fff 0%, #f5f9fb 100%);
}

.csl-registration--closed {
    min-height: 680px;
    display: grid;
    place-items: center;
    padding: 70px 24px;
    background: linear-gradient(135deg, #fff 0%, #f5f9fb 100%);
}

.csl-reg-success-card,
.csl-reg-login-card {
    width: min(620px, 100%);
    padding: 45px;
    border: 1px solid var(--cslreg-line);
    border-radius: 30px;
    background: #fff;
    box-shadow: var(--cslreg-shadow);
    text-align: center;
}

.csl-reg-closed-card {
    margin-inline: auto;
}

.csl-reg-success-card h1,
.csl-reg-login-card h1 {
    margin: 0;
    font-size: clamp(31px, 4vw, 48px);
}

.csl-reg-success-card > p,
.csl-reg-login-card > p {
    margin: 20px auto 0;
    line-height: 1.7;
}

.csl-reg-success-icon {
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    margin: 0 auto 24px;
    border-radius: 50%;
    color: #fff;
    background: linear-gradient(145deg, var(--cslreg-blue), var(--cslreg-red));
    box-shadow: 0 14px 25px rgba(101, 143, 170, .23);
    font-size: 37px;
    font-weight: 900;
}

.csl-reg-reference {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin: 27px auto 22px;
    padding: 16px;
    border-radius: 16px;
    background: #f4f8fa;
}

.csl-reg-reference small {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.csl-reg-reference strong {
    color: var(--cslreg-blue-dark);
    font-size: 25px;
    letter-spacing: .06em;
}

.csl-reg-success-card__small {
    font-size: 13px;
}

.csl-reg-success-card .csl-reg-button {
    margin-top: 25px;
}

.csl-reg-opening-date {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 22px auto 0;
    padding: 14px 17px;
    border: 1px solid rgba(101, 143, 170, .22);
    border-radius: 15px;
    color: var(--cslreg-blue-dark);
    background: #f4f8fa;
    font-size: 13px;
    line-height: 1.45;
}

.csl-reg-opening-date span {
    color: var(--cslreg-muted);
    font-size: 11px;
}

.csl-registration--manager-login {
    min-height: 700px;
    display: grid;
    place-items: center;
    padding: 65px 24px;
    background: radial-gradient(circle at 15% 15%, rgba(213, 31, 53, .08), transparent 25%), linear-gradient(135deg, #fff 0%, #f1f7fa 100%);
}

.csl-reg-login-mark {
    width: 76px;
    height: 76px;
    display: grid;
    place-items: center;
    margin: 0 auto 22px;
    border: 1px solid rgba(101, 143, 170, .25);
    border-radius: 25px;
    color: var(--cslreg-blue-dark);
    background: #eef5f8;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: .08em;
}

.csl-reg-login-card form {
    display: grid;
    gap: 14px;
    margin-top: 27px;
    text-align: left;
}

.csl-reg-login-card form label {
    display: block;
    margin-bottom: 7px;
    color: var(--cslreg-ink-soft);
    font-size: 13px;
    font-weight: 800;
}

.csl-reg-login-card form input[type="text"],
.csl-reg-login-card form input[type="password"] {
    width: 100%;
    min-height: 49px;
    padding: 12px 14px;
    border: 1px solid var(--cslreg-line);
    border-radius: 12px;
}

.csl-reg-login-card form .login-remember {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
}

.csl-reg-login-card form .login-remember label {
    margin: 0;
    font-weight: 500;
}

.csl-reg-login-card form input[type="submit"] {
    min-height: 50px;
    margin-top: 6px;
    border: 0;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, var(--cslreg-blue), var(--cslreg-red));
    cursor: pointer;
    font-weight: 800;
}

.csl-reg-manager {
    min-height: 700px;
    padding: 54px 0 85px;
    background: linear-gradient(180deg, #f7fafb 0%, #fff 58%);
}

.csl-reg-manager-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 35px;
    margin-bottom: 30px;
}

.csl-reg-manager-head h1 {
    margin: 0;
    font-size: clamp(36px, 5vw, 63px);
}

.csl-reg-manager-head p {
    margin: 12px 0 0;
    font-size: 14px;
}

.csl-reg-manager-head__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 9px;
}

.csl-reg-logout,
.csl-reg-back {
    color: var(--cslreg-blue-dark) !important;
    font-size: 12px;
    font-weight: 800;
}

.csl-reg-logout:hover,
.csl-reg-back:hover {
    color: var(--cslreg-red) !important;
}

.csl-reg-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
    margin-bottom: 22px;
}

.csl-reg-stat-grid > div {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 20px;
    border: 1px solid var(--cslreg-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 25px rgba(38, 62, 81, .06);
}

.csl-reg-stat-grid span {
    color: var(--cslreg-muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.csl-reg-stat-grid strong {
    color: var(--cslreg-ink);
    font-size: 35px;
    letter-spacing: -.06em;
}

.csl-reg-stat-grid small {
    font-size: 11px;
}

.csl-reg-capacity-panel {
    margin-bottom: 22px;
    padding: 23px;
    border: 1px solid rgba(101, 143, 170, .2);
    border-radius: 22px;
    background: linear-gradient(135deg, #f8fbfc 0%, #fff 100%);
    box-shadow: 0 10px 25px rgba(38, 62, 81, .05);
}

.csl-reg-capacity-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 22px;
}

.csl-reg-capacity-head h2 {
    margin: 4px 0 0;
    color: var(--cslreg-ink);
    font-size: clamp(23px, 3vw, 31px);
    letter-spacing: -.04em;
}

.csl-reg-capacity-head p {
    max-width: 650px;
    margin: 8px 0 0;
    color: var(--cslreg-ink-soft);
    font-size: 12px;
    line-height: 1.55;
}

.csl-reg-capacity-control {
    display: flex;
    align-items: flex-end;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 10px;
}

.csl-reg-capacity-control form {
    margin: 0;
}

.csl-reg-open-status {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 6px 11px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.csl-reg-open-status--open {
    color: #256c58;
    background: #eaf8f2;
}

.csl-reg-open-status--closed {
    color: #a6192b;
    background: #fff0f2;
}

.csl-reg-opening-date-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
    min-width: 210px;
}

.csl-reg-opening-date-field span {
    color: var(--cslreg-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.csl-reg-opening-date-field input {
    min-height: 38px;
    padding: 7px 10px;
    border: 1px solid var(--cslreg-line);
    border-radius: 10px;
    color: var(--cslreg-ink);
    background: #fff;
    font: inherit;
    font-size: 12px;
}

.csl-reg-capacity-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-top: 21px;
}

.csl-reg-capacity-card {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
    overflow: hidden;
    padding: 17px 15px 14px;
    border: 1px solid var(--cslreg-line);
    border-radius: 15px;
    background: #fff;
}

.csl-reg-capacity-card:before {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    height: 4px;
    content: "";
}

.csl-reg-capacity-card--sage:before { background: #9baa8d; }
.csl-reg-capacity-card--blue:before { background: #668fac; }
.csl-reg-capacity-card--lilac:before { background: #9a8bb8; }
.csl-reg-capacity-card--coral:before { background: #e87962; }
.csl-reg-capacity-card--teal:before { background: #4e9d9b; }

.csl-reg-capacity-card strong {
    color: var(--cslreg-ink);
    font-size: 12px;
    line-height: 1.25;
}

.csl-reg-capacity-card span {
    color: var(--cslreg-blue-dark);
    font-size: 24px;
    font-weight: 850;
    letter-spacing: -.05em;
}

.csl-reg-capacity-card small {
    color: var(--cslreg-muted);
    font-size: 10px;
}

.csl-reg-capacity-card label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    margin-top: 5px;
}

.csl-reg-capacity-card label span {
    color: var(--cslreg-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.csl-reg-capacity-card label input {
    width: 64px;
    min-height: 32px;
    padding: 5px 7px;
    border: 1px solid var(--cslreg-line);
    border-radius: 8px;
    color: var(--cslreg-ink);
    background: #fff;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}

.csl-reg-capacity-limits-submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 15px;
}

.csl-reg-capacity-limits-submit p {
    margin: 0;
    color: var(--cslreg-muted);
    font-size: 11px;
    line-height: 1.45;
}

.csl-reg-capacity-help {
    margin: 14px 0 0;
    color: var(--cslreg-muted);
    font-size: 11px;
    line-height: 1.5;
}

.csl-reg-filter-bar {
    display: flex;
    align-items: end;
    gap: 11px;
    margin-bottom: 22px;
    padding: 17px;
    border: 1px solid var(--cslreg-line);
    border-radius: 20px;
    background: #fff;
}

.csl-reg-filter-bar label {
    min-width: 0;
    flex: 1 1 180px;
}

.csl-reg-filter-bar label span {
    display: block;
    margin-bottom: 6px;
    color: var(--cslreg-muted);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.csl-reg-filter-bar .csl-reg-button {
    min-height: 49px;
    flex: 0 0 auto;
}

.csl-reg-filter-reset {
    flex: 0 0 auto;
    padding: 0 5px 16px;
    color: var(--cslreg-muted) !important;
    font-size: 11px;
    font-weight: 750;
}

.csl-reg-list-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 12px;
    color: var(--cslreg-ink-soft);
    font-size: 13px;
}

.csl-reg-export {
    color: var(--cslreg-blue-dark) !important;
    font-size: 12px;
    font-weight: 850;
}

.csl-reg-export:hover {
    color: var(--cslreg-red) !important;
}

.csl-reg-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--cslreg-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: var(--cslreg-shadow);
}

.csl-reg-table {
    width: 100%;
    min-width: 990px;
    border-collapse: collapse;
    font-size: 12px;
}

.csl-reg-table th {
    padding: 15px 13px;
    border-bottom: 1px solid var(--cslreg-line);
    color: var(--cslreg-muted);
    background: #f8fafb;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .07em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.csl-reg-table td {
    max-width: 190px;
    padding: 16px 13px;
    border-bottom: 1px solid rgba(23, 35, 51, .07);
    color: var(--cslreg-ink-soft);
    vertical-align: middle;
}

.csl-reg-table tbody tr:last-child td {
    border-bottom: 0;
}

.csl-reg-table td strong,
.csl-reg-table td small {
    display: block;
}

.csl-reg-table td small {
    margin-top: 5px;
    color: var(--cslreg-muted);
    font-size: 10px;
}

.csl-reg-reference-link {
    color: var(--cslreg-blue-dark) !important;
    font-weight: 850;
}

.csl-reg-reference-link:hover {
    color: var(--cslreg-red) !important;
}

.csl-reg-doc-count,
.csl-reg-status {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 850;
    white-space: nowrap;
}

.csl-reg-doc-count {
    color: #8c5f1c;
    background: #fff5df;
}

.csl-reg-doc-count.is-complete {
    color: #256c58;
    background: #eaf8f2;
}

.csl-reg-status--a_traiter { color: #47677d; background: #eaf3f7; }
.csl-reg-status--incomplet { color: #8c5f1c; background: #fff5df; }
.csl-reg-status--en_cours { color: #5e5297; background: #f0edfc; }
.csl-reg-status--validee { color: #256c58; background: #eaf8f2; }
.csl-reg-status--annulee { color: #9b2736; background: #fff0f2; }

.csl-reg-validation-informed {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    margin-top: 6px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 850;
    white-space: nowrap;
}

.csl-reg-validation-informed--done {
    color: #256c58;
    background: #eaf8f2;
}

.csl-reg-validation-informed--pending {
    color: #9b2736;
    background: #fff0f2;
}

.csl-reg-manager-controls--validated {
    border-color: rgba(37, 108, 88, .30);
    background: #f2fbf6;
}

.csl-reg-validation-locked {
    display: flex;
    min-height: 58px;
    padding: 11px 13px;
    border: 1px solid rgba(37, 108, 88, .22);
    border-radius: 12px;
    background: #eaf8f2;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
}

.csl-reg-validation-locked > span,
.csl-reg-validation-informed-field small {
    color: var(--cslreg-muted);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .02em;
}

.csl-reg-validation-locked > strong {
    color: #256c58;
    font-size: 16px;
}

.csl-reg-validation-locked > small {
    color: #477568;
    font-size: 10px;
    line-height: 1.4;
}

.csl-reg-validation-informed-field {
    display: flex !important;
    min-height: 58px;
    margin: 0 !important;
    padding: 11px 13px;
    border: 1px solid rgba(37, 108, 88, .22);
    border-radius: 12px;
    background: #fff;
    align-items: flex-start;
    flex-direction: row !important;
    gap: 10px !important;
}

.csl-reg-validation-informed-field > input[type="checkbox"] {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    margin-top: 1px;
    accent-color: #256c58;
}

.csl-reg-validation-informed-field > span {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.csl-reg-validation-informed-field > span > strong {
    color: #256c58;
    font-size: 13px;
}

.csl-reg-validation-informed-field small {
    font-weight: 600;
    line-height: 1.4;
}

.csl-reg-payment-status {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 850;
    white-space: nowrap;
}

.csl-reg-payment-status.is-paid {
    color: #256c58;
    background: #eaf8f2;
}

.csl-reg-payment-status.is-partial {
    color: #8c5f1c;
    background: #fff5df;
}

.csl-reg-payment-status.is-unpaid {
    color: #8c5f1c;
    background: #fff5df;
}

.csl-reg-table__actions {
    min-width: 125px;
    text-align: right !important;
}

.csl-reg-table__actions a {
    display: inline-block;
    margin-left: 8px;
    color: var(--cslreg-blue-dark) !important;
    font-size: 11px;
    font-weight: 800;
}

.csl-reg-table__actions a:hover {
    color: var(--cslreg-red) !important;
}

.csl-reg-table__actions .csl-reg-delete-link {
    color: #a6192b !important;
}

.csl-reg-empty {
    padding: 75px 24px;
    border: 1px solid var(--cslreg-line);
    border-radius: 22px;
    background: #fff;
    text-align: center;
}

.csl-reg-empty > div {
    color: var(--cslreg-red);
    font-size: 35px;
}

.csl-reg-empty h2 {
    margin: 12px 0 0;
    font-size: 28px;
}

.csl-reg-empty p {
    margin: 11px 0 0;
}

.csl-registration--editor .csl-reg-manager-head {
    align-items: flex-start;
}

.csl-reg-manager-head .csl-reg-back {
    display: block;
    margin-bottom: 20px;
}

.csl-reg-editor-section {
    padding-bottom: 75px;
}

.csl-reg-manager-form {
    max-width: 1180px;
    margin-inline: auto;
}

.csl-reg-manager-controls,
.csl-reg-existing-documents {
    background: #f8fbfc;
}

.csl-reg-payment-box {
    display: grid;
    gap: 20px;
    margin-top: 25px;
    padding: 20px;
    border: 1px solid rgba(101, 143, 170, .22);
    border-radius: 17px;
    background: #fff;
}

.csl-reg-payment-box h3 {
    margin: 4px 0 0;
    color: var(--cslreg-ink);
    font-size: 21px;
    letter-spacing: -.03em;
}

.csl-reg-payment-box p {
    margin: 7px 0 0;
    color: var(--cslreg-muted);
    font-size: 11px;
}

.csl-reg-payment-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.csl-reg-payment-summary > div {
    display: flex;
    min-height: 58px;
    padding: 11px 13px;
    border: 1px solid var(--cslreg-line);
    border-radius: 12px;
    background: #f8fbfc;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
}

.csl-reg-payment-summary > div > span {
    color: var(--cslreg-muted);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.csl-reg-payment-summary strong {
    color: var(--cslreg-ink);
    font-size: 16px;
}

.csl-reg-payment-summary strong.is-paid { color: #256c58; }
.csl-reg-payment-summary strong.is-partial { color: #8c5f1c; }
.csl-reg-payment-summary strong.is-unpaid { color: #9b2736; }

.csl-reg-payment-summary > label {
    display: flex;
    min-height: 58px;
    padding: 11px 13px;
    border: 1px solid var(--cslreg-line);
    border-radius: 12px;
    background: #f8fbfc;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
}

.csl-reg-payment-summary > label > span {
    color: var(--cslreg-muted);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.csl-reg-payment-summary > label input {
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--cslreg-ink);
    font-size: 16px;
    font-weight: 800;
}

.csl-reg-payment-entry-list {
    display: grid;
    gap: 10px;
}

.csl-reg-payment-empty {
    padding: 17px;
    border: 1px dashed rgba(101, 143, 170, .35);
    border-radius: 13px;
    color: var(--cslreg-muted);
    background: #f8fbfc;
    font-size: 13px;
    text-align: center;
}

.csl-reg-payment-entry {
    display: grid;
    grid-template-columns: 1fr 1fr 1.15fr 1.25fr auto;
    align-items: end;
    gap: 10px;
    padding: 13px;
    border: 1px solid rgba(101, 143, 170, .22);
    border-radius: 13px;
    background: #fff;
}

.csl-reg-payment-entry label {
    display: grid;
    min-width: 0;
    gap: 6px;
}

.csl-reg-payment-entry input,
.csl-reg-payment-entry select {
    min-width: 0;
    max-width: 100%;
}

.csl-reg-payment-entry label > span {
    color: var(--cslreg-muted);
    font-size: 10px;
    font-weight: 800;
}

.csl-reg-payment-entry-remove {
    min-height: 42px;
    padding: 0 11px;
    border: 1px solid rgba(166, 25, 43, .25);
    border-radius: 10px;
    background: #fff7f8;
    color: #a6192b;
    cursor: pointer;
    font-size: 11px;
    font-weight: 800;
}

.csl-reg-payment-entry-remove:hover {
    background: #fff0f2;
}

.csl-reg-payment-entry__cheque-number {
    grid-column: 1 / span 2;
}

.csl-reg-payment-entry__cheque-cashed {
    grid-column: 3 / span 2;
}

.csl-reg-add-payment {
    justify-self: start;
}

.csl-reg-payment-ledger-help {
    margin-bottom: 0 !important;
}

.csl-reg-payment-check {
    display: flex !important;
    justify-content: center;
    min-height: 46px;
    margin: 0 !important;
    padding: 11px 12px;
    border: 1px solid rgba(37, 108, 88, .18);
    border-radius: 11px;
    background: #f4fbf7;
    flex-direction: row !important;
}

.csl-reg-payment-check span {
    color: #256c58 !important;
    font-weight: 850 !important;
}

.csl-reg-existing-files {
    display: grid;
    gap: 10px;
}

.csl-reg-existing-file {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 14px 16px;
    border: 1px solid var(--cslreg-line);
    border-radius: 15px;
    background: #fff;
}

.csl-reg-existing-file > div {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.csl-reg-existing-file p {
    min-width: 0;
    margin: 0;
}

.csl-reg-existing-file p strong,
.csl-reg-existing-file p small {
    display: block;
}

.csl-reg-existing-file p strong {
    color: var(--cslreg-ink-soft);
    font-size: 13px;
}

.csl-reg-existing-file p small {
    overflow: hidden;
    margin-top: 4px;
    color: var(--cslreg-muted);
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.csl-reg-file-icon {
    width: 38px;
    height: 38px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 11px;
    color: var(--cslreg-red);
    background: #fff0f2;
    font-size: 9px;
    font-weight: 900;
}

.csl-reg-existing-file a {
    margin-left: 10px;
    color: var(--cslreg-blue-dark) !important;
    font-size: 11px;
    font-weight: 850;
    white-space: nowrap;
}

.csl-reg-existing-file a:hover {
    color: var(--cslreg-red) !important;
}

.csl-reg-existing-file .csl-reg-delete-link {
    color: #a6192b !important;
}

.csl-reg-no-files {
    padding: 22px;
    border: 1px dashed rgba(101, 143, 170, .35);
    border-radius: 15px;
    color: var(--cslreg-muted);
    font-size: 13px;
    text-align: center;
}

.csl-reg-editor-help {
    margin: 18px 0 0;
    font-size: 12px;
    line-height: 1.55;
}

.csl-reg-editor-submit {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.csl-reg-reveal {
    opacity: 0;
    transform: translateY(16px);
    transition: opacity .55s ease, transform .55s ease;
}

.csl-reg-reveal.is-visible {
    opacity: 1;
    transform: none;
}

@media (max-width: 1050px) {
    .csl-reg-hero__grid {
        gap: 45px;
    }

    .csl-reg-activity-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .csl-reg-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csl-reg-payment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csl-reg-document-choice-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csl-reg-document-choice--other {
        grid-column: 1 / -1;
    }

    .csl-reg-payment-entry {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        align-items: stretch;
    }

    .csl-reg-payment-entry__cheque-number,
    .csl-reg-payment-entry__cheque-cashed {
        grid-column: auto;
    }

    .csl-reg-payment-entry-remove {
        grid-column: 1 / -1;
        justify-self: start;
    }
}

@media (max-width: 780px) {
    .csl-reg-shell {
        width: min(100% - 30px, 650px);
    }

    .csl-reg-hero {
        min-height: 0;
        padding: 55px 0 70px;
    }

    .csl-reg-hero__grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .csl-reg-hero-card {
        min-height: 250px;
    }

    .csl-reg-form-section {
        margin-top: -28px;
    }

    .csl-reg-form-intro,
    .csl-reg-documents-intro,
    .csl-reg-manager-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .csl-reg-form-intro p {
        max-width: none;
        text-align: left;
    }

    .csl-reg-documents-intro > p {
        max-width: none;
    }

    .csl-reg-doc-links {
        width: 100%;
        min-width: 0;
    }

    .csl-reg-file-grid,
    .csl-reg-document-choice-grid,
    .csl-reg-fields--three,
    .csl-reg-inline-fields--two,
    .csl-reg-inline-fields--three {
        grid-template-columns: 1fr;
    }

    .csl-reg-document-choice--other {
        grid-column: auto;
    }

    .csl-reg-inline-panel {
        padding: 16px;
    }

    .csl-reg-inline-question {
        grid-template-columns: minmax(0, 1fr) 48px 48px;
        gap: 4px;
        padding: 9px 8px;
    }

    .csl-reg-inline-question > span {
        font-size: 11px;
    }

    .csl-reg-inline-preview object {
        height: 500px;
    }

    .csl-reg-manager-head__actions {
        justify-content: flex-start;
    }

    .csl-reg-payment-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csl-reg-payment-summary {
        grid-template-columns: 1fr;
    }

    .csl-reg-payment-entry {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csl-reg-payment-entry__cheque-number,
    .csl-reg-payment-entry__cheque-cashed {
        grid-column: auto;
    }

    .csl-reg-payment-entry-remove {
        justify-self: start;
    }

    .csl-reg-cheque-field {
        align-items: flex-start;
        flex-direction: column;
    }

    .csl-reg-filter-bar {
        align-items: stretch;
        flex-direction: column;
    }

    .csl-reg-filter-bar label {
        flex: auto;
    }

    .csl-reg-filter-reset {
        padding: 5px 0 0;
    }
}

@media (max-width: 560px) {
    .csl-reg-shell {
        width: calc(100% - 24px);
    }

    .csl-reg-hero {
        padding: 42px 0 60px;
    }

    .csl-reg-hero h1 {
        font-size: clamp(42px, 13vw, 62px);
    }

    .csl-reg-hero__lead {
        font-size: 16px;
    }

    .csl-reg-hero__badges {
        gap: 7px;
    }

    .csl-reg-hero__badges span {
        font-size: 10px;
    }

    .csl-reg-form-section {
        padding-bottom: 50px;
    }

    .csl-reg-payment-grid {
        grid-template-columns: 1fr;
    }

    .csl-reg-payment-entry {
        grid-template-columns: 1fr;
    }

    .csl-reg-add-payment {
        width: 100%;
    }

    .csl-reg-capacity-limits-submit {
        align-items: stretch;
        flex-direction: column;
    }

    .csl-reg-capacity-limits-submit .csl-reg-button {
        width: 100%;
    }

    .csl-reg-form-block,
    .csl-reg-form-intro {
        padding: 22px 17px;
        border-radius: 20px;
    }

    .csl-reg-collapsible:not([open]) {
        padding-top: 15px;
        padding-bottom: 15px;
    }

    .csl-reg-collapsible[open] > .csl-reg-form-block__summary {
        margin-bottom: 21px;
    }

    .csl-reg-form-block__toggle {
        width: 30px;
        height: 30px;
        border-radius: 10px;
        font-size: 18px;
    }

    .csl-reg-form-block__heading {
        gap: 11px;
        margin-bottom: 21px;
    }

    .csl-reg-step-number {
        width: 35px;
        height: 35px;
        border-radius: 11px;
        font-size: 11px;
    }

    .csl-reg-radio-grid--two,
    .csl-reg-fields--two,
    .csl-reg-activity-grid {
        grid-template-columns: 1fr;
    }

    .csl-reg-activity-choice {
        min-height: 0;
    }

    .csl-reg-conditional__title,
    .csl-reg-subheading,
    .csl-reg-submit-row,
    .csl-reg-existing-file {
        align-items: flex-start;
        flex-direction: column;
    }

    .csl-reg-conditional__title small,
    .csl-reg-subheading small {
        text-align: left;
    }

    .csl-reg-submit-row {
        gap: 15px;
    }

    .csl-reg-submit-row .csl-reg-button {
        width: 100%;
    }

    .csl-reg-success-card,
    .csl-reg-login-card {
        padding: 31px 20px;
        border-radius: 22px;
    }

    .csl-reg-stat-grid {
        gap: 9px;
    }

    .csl-reg-stat-grid > div {
        padding: 15px;
    }

    .csl-reg-stat-grid strong {
        font-size: 28px;
    }

    .csl-reg-list-toolbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .csl-reg-editor-submit {
        flex-direction: column-reverse;
    }

    .csl-reg-editor-submit .csl-reg-button {
        width: 100%;
    }
}

/* === CSL v99 : composition uniforme de la zone « Nos activités » === */
.csl-v72-activities__grid {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: repeat(5, 45px) !important;
    grid-auto-rows: 45px !important;
    grid-auto-flow: row !important;
    gap: 5px !important;
    width: 100% !important;
    min-width: 0 !important;
}

.csl-v72-activity-card,
.csl-v72-activity-card--wide {
    grid-column: 1 !important;
    grid-row: auto !important;
    grid-template-columns: 40px minmax(0, 1fr) !important;
    gap: 11px !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 45px !important;
    min-height: 45px !important;
    padding: 5px 14px !important;
    border-radius: 18px !important;
    background: linear-gradient(90deg, #ffffff 0%, #fbfcff 100%) !important;
}

.csl-v72-activity-card__mark {
    width: 35px !important;
    height: 35px !important;
    border-radius: 12px !important;
    font-size: 18px !important;
}

.csl-v72-activity-card__content {
    min-width: 0 !important;
    overflow: visible !important;
}

.csl-v72-activity-card__title {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.csl-v72-activity-card__title strong {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    overflow: visible !important;
    color: #182234 !important;
    font-size: 17px !important;
    line-height: 1.05 !important;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

.csl-v72-activity-card__title em {
    flex: 0 0 auto !important;
    padding: 5px 10px !important;
    border: 1px solid #e3e8ef !important;
    border-radius: 999px !important;
    background: #f1f4f8 !important;
    color: #27364b !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.csl-v72-activity-card__content > span {
    display: block !important;
    margin-top: 4px !important;
    overflow: hidden !important;
    color: #697487 !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.csl-v72-activity-card > em {
    display: none !important;
}

@media print {
    body.csl-registration-manager-poster .csl-v72-activities__grid {
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: repeat(5, 12mm) !important;
        grid-auto-rows: 12mm !important;
        grid-auto-flow: row !important;
        gap: 1.25mm !important;
        width: 100% !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card,
    body.csl-registration-manager-poster .csl-v72-activity-card--wide {
        grid-column: 1 !important;
        width: 100% !important;
        height: 12mm !important;
        min-height: 12mm !important;
        grid-template-columns: 10.6mm minmax(0, 1fr) !important;
        gap: 2.9mm !important;
        padding: 1.3mm 3.7mm !important;
        border-radius: 4.8mm !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card__mark {
        width: 9.3mm !important;
        height: 9.3mm !important;
        border-radius: 3.2mm !important;
        font-size: 4.8mm !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card__title {
        gap: 2.1mm !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card__title strong {
        font-size: 4.2mm !important;
        line-height: 1.02 !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card__title em {
        padding: 1.3mm 2.6mm !important;
        font-size: 2.6mm !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card__content > span {
        margin-top: 1.1mm !important;
        font-size: 2.9mm !important;
        line-height: 1 !important;
    }
}

/* === CSL v100 : grille en deux colonnes et saison mieux centrée === */
.csl-v72-season {
    width: 158px !important;
    height: 88px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    padding: 10px 12px !important;
    text-align: center !important;
}

.csl-v72-season span {
    display: block !important;
    margin: 0 0 5px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: .20em !important;
    text-indent: .20em !important;
}

.csl-v72-season strong {
    display: block !important;
    margin: 0 !important;
    font-size: 22px !important;
    line-height: 1.05 !important;
    letter-spacing: -.035em !important;
    white-space: nowrap !important;
    font-variant-numeric: tabular-nums !important;
}

.csl-v72-season em {
    display: block !important;
    margin: 6px 0 0 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.csl-v72-activities__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(3, 75px) !important;
    grid-auto-rows: 75px !important;
    grid-auto-flow: row !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
}

.csl-v72-activity-card,
.csl-v72-activity-card--wide {
    grid-column: auto !important;
    grid-row: auto !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 10px !important;
    min-width: 0 !important;
    width: 100% !important;
    height: 75px !important;
    min-height: 75px !important;
    padding: 10px 12px !important;
    border-radius: 20px !important;
    background: linear-gradient(90deg, #ffffff 0%, #fbfcff 100%) !important;
}

.csl-v72-activity-card--centered {
    grid-column: 1 / -1 !important;
    width: calc(50% - 5px) !important;
    justify-self: center !important;
}

.csl-v72-activity-card__mark {
    width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
    font-size: 21px !important;
}

.csl-v72-activity-card__content {
    min-width: 0 !important;
    overflow: visible !important;
}

.csl-v72-activity-card__title {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    min-width: 0 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.csl-v72-activity-card__title strong {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    color: #182234 !important;
    font-size: 15px !important;
    line-height: 1.05 !important;
    letter-spacing: -.015em !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.csl-v72-activity-card__title em {
    flex: 0 0 auto !important;
    padding: 5px 8px !important;
    border: 1px solid #e3e8ef !important;
    border-radius: 999px !important;
    background: #f1f4f8 !important;
    color: #27364b !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.csl-v72-activity-card__content > span {
    display: block !important;
    margin-top: 5px !important;
    overflow: hidden !important;
    color: #697487 !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

@media print {
    body.csl-registration-manager-poster .csl-v72-activities__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(3, 11.8mm) !important;
        grid-auto-rows: 11.8mm !important;
        grid-auto-flow: row !important;
        gap: 1.2mm !important;
        width: 100% !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card,
    body.csl-registration-manager-poster .csl-v72-activity-card--wide {
        grid-column: auto !important;
        width: 100% !important;
        height: 11.8mm !important;
        min-height: 11.8mm !important;
        grid-template-columns: 10.6mm minmax(0, 1fr) !important;
        gap: 2.9mm !important;
        padding: 1.3mm 3.7mm !important;
        border-radius: 4.8mm !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card--centered {
        grid-column: 1 / -1 !important;
        width: calc(50% - .6mm) !important;
        justify-self: center !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card__mark {
        width: 9.3mm !important;
        height: 9.3mm !important;
        border-radius: 3.2mm !important;
        font-size: 4.8mm !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card__title {
        gap: 1.6mm !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card__title strong {
        font-size: 3.7mm !important;
        line-height: 1.02 !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card__title em {
        padding: 1.05mm 2mm !important;
        font-size: 2.35mm !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card__content > span {
        margin-top: 1.1mm !important;
        font-size: 2.55mm !important;
        line-height: 1 !important;
    }

    body.csl-registration-manager-poster .csl-v72-season {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0 !important;
    }
}

@media (max-width: 1050px) {
    .csl-reg-capacity-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .csl-reg-capacity-head {
        flex-direction: column;
    }

    .csl-reg-capacity-control {
        align-items: flex-start;
        width: 100%;
    }

    .csl-reg-capacity-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .csl-reg-capacity-panel {
        padding: 19px 16px;
        border-radius: 20px;
    }

    .csl-reg-capacity-grid {
        grid-template-columns: 1fr;
    }

    .csl-reg-capacity-control .csl-reg-button {
        width: 100%;
    }
}

/* Gestion des inscriptions : espace de travail élargi et lecture mobile. */
.csl-registration--manager .csl-reg-shell {
    width: min(1680px, calc(100% - 40px));
}

.csl-registration--manager .csl-reg-table-wrap {
    max-width: 100%;
}

.csl-registration--manager .csl-reg-table {
    min-width: 0;
}

@media (max-width: 780px) and (min-width: 561px) {
    .csl-registration--manager .csl-reg-shell {
        width: calc(100% - 32px);
    }
}

@media (max-width: 640px) {
    .csl-registration--manager .csl-reg-table-wrap {
        overflow: visible;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .csl-registration--manager .csl-reg-table,
    .csl-registration--manager .csl-reg-table tbody {
        display: block;
        width: 100%;
    }

    .csl-registration--manager .csl-reg-table thead {
        display: none;
    }

    .csl-registration--manager .csl-reg-table tbody {
        display: grid;
        gap: 14px;
    }

    .csl-registration--manager .csl-reg-table tr {
        display: block;
        overflow: hidden;
        border: 1px solid var(--cslreg-line);
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 10px 25px rgba(38, 62, 81, .07);
    }

    .csl-registration--manager .csl-reg-table td {
        display: grid;
        grid-template-columns: minmax(76px, 7.25rem) minmax(0, 1fr);
        column-gap: 12px;
        align-items: start;
        width: 100%;
        max-width: none;
        box-sizing: border-box;
        padding: 11px 14px;
        border-bottom: 0;
        overflow-wrap: anywhere;
    }

    .csl-registration--manager .csl-reg-table td:first-child {
        padding-top: 17px;
    }

    .csl-registration--manager .csl-reg-table td:not(.csl-reg-table__actions)::before {
        content: attr(data-label);
        grid-column: 1;
        color: var(--cslreg-muted);
        font-size: 9px;
        font-weight: 850;
        letter-spacing: .06em;
        line-height: 1.35;
        text-transform: uppercase;
    }

    .csl-registration--manager .csl-reg-table td:not(.csl-reg-table__actions) > * {
        grid-column: 2;
        min-width: 0;
    }

    .csl-registration--manager .csl-reg-table td.csl-reg-table__actions {
        display: block;
        margin-top: 5px;
        padding: 14px;
        border-top: 1px solid rgba(23, 35, 51, .08);
        text-align: left !important;
    }

    .csl-registration--manager .csl-reg-table td.csl-reg-table__actions::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 9px;
        color: var(--cslreg-muted);
        font-size: 9px;
        font-weight: 850;
        letter-spacing: .06em;
        line-height: 1.35;
        text-transform: uppercase;
    }

    .csl-registration--manager .csl-reg-table__actions a {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 40px;
        margin: 0;
        padding: 8px 9px;
        border: 1px solid rgba(101, 143, 170, .25);
        border-radius: 10px;
        background: #f7fafb;
        font-size: 11px;
        line-height: 1.2;
        text-align: center;
    }

    .csl-registration--manager .csl-reg-table__actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .csl-registration--manager .csl-reg-table__actions::before {
        grid-column: 1 / -1;
    }

    .csl-registration--manager .csl-reg-table__actions a:last-child {
        grid-column: 1 / -1;
    }
}

/* -------------------------------------------------------------------------
 * Attendance spaces
 * ------------------------------------------------------------------------- */
.csl-attendance {
    --csl-attendance-ink: #263341;
    --csl-attendance-muted: #6d7883;
    --csl-attendance-line: #e1e7eb;
    --csl-attendance-red: #e30613;
    --csl-attendance-blue: #263341;
    color: var(--csl-attendance-ink);
    background: #f2f4f5;
    min-height: 100vh;
    padding: 34px 16px 70px;
    font-family: inherit;
}

.csl-attendance * { box-sizing: border-box; }
.csl-attendance-shell { width: min(1180px, 100%); margin: 0 auto; }
.csl-attendance-hero {
    position: relative;
    overflow: hidden;
    padding: 30px 34px 32px;
    border-radius: 22px;
    background: linear-gradient(135deg, #263341 0%, #334756 100%);
    color: #fff;
    box-shadow: 0 16px 38px rgba(38, 51, 65, .16);
}
.csl-attendance-hero::after { content: ""; position: absolute; width: 220px; height: 220px; right: -80px; top: -105px; border-radius: 50%; background: rgba(227, 6, 19, .16); }
.csl-attendance-hero__brand { position: relative; z-index: 1; display: inline-flex; padding: 7px 10px; margin-bottom: 23px; border-radius: 11px; background: #fff; }
.csl-attendance-hero__brand img { display: block; width: 145px; height: auto; max-height: 50px; object-fit: contain; }
.csl-attendance-eyebrow { display: block; margin-bottom: 7px; color: #b9c4cb; font-size: 11px; font-weight: 800; letter-spacing: .13em; line-height: 1.3; text-transform: uppercase; }
.csl-attendance-hero h1 { position: relative; z-index: 1; margin: 0 0 10px; color: #fff; font-size: clamp(28px, 4vw, 42px); line-height: 1.1; }
.csl-attendance-hero p { position: relative; z-index: 1; max-width: 700px; margin: 0; color: #d9e0e4; font-size: 15px; line-height: 1.65; }
.csl-attendance-link { color: #aebbc3; font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.csl-attendance-hero > .csl-attendance-link { position: relative; z-index: 1; display: inline-block; margin-top: 18px; }
.csl-attendance-hero__links { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 16px; margin-top: 20px; }
.csl-attendance-notice { margin: 18px 0; padding: 13px 16px; border-radius: 12px; font-size: 14px; line-height: 1.5; }
.csl-attendance-notice--success { border: 1px solid #a7d8bd; background: #eefaf2; color: #146235; }
.csl-attendance-notice--error { border: 1px solid #f0b1b6; background: #fff3f4; color: #9c1b25; }
.csl-attendance-datebar, .csl-attendance-manager-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; margin: 22px 0; padding: 16px; border: 1px solid var(--csl-attendance-line); border-radius: 16px; background: #fff; }
.csl-attendance-datebar form, .csl-attendance-manager-filters form { display: flex; align-items: end; flex: 1 1 550px; flex-wrap: wrap; gap: 10px; margin: 0; }
.csl-attendance label { display: flex; flex-direction: column; gap: 6px; color: var(--csl-attendance-muted); font-size: 12px; font-weight: 700; }
.csl-attendance label input, .csl-attendance label select { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #d6dfe4; border-radius: 9px; background: #fff; color: var(--csl-attendance-ink); font: inherit; font-weight: 500; }
.csl-attendance-datebar label { flex: 1 1 210px; }
.csl-attendance-manager-filters label { flex: 1 1 150px; }
.csl-attendance-button { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 9px 15px; border: 0; border-radius: 9px; cursor: pointer; font: inherit; font-size: 13px; font-weight: 800; line-height: 1.2; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.csl-attendance-button:hover { transform: translateY(-1px); box-shadow: 0 5px 13px rgba(38, 51, 65, .13); }
.csl-attendance-button--primary { background: var(--csl-attendance-red); color: #fff; }
.csl-attendance-button--light { border: 1px solid #d6dfe4; background: #fff; color: var(--csl-attendance-ink); }
.csl-attendance-day, .csl-attendance-upcoming, .csl-attendance-extra, .csl-attendance-manager-list, .csl-attendance-manager-detail, .csl-attendance-accounts { margin-top: 22px; padding: 24px; border: 1px solid var(--csl-attendance-line); border-radius: 18px; background: #fff; box-shadow: 0 8px 24px rgba(38, 51, 65, .05); }
.csl-attendance-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.csl-attendance-section-heading h2 { margin: 0; color: var(--csl-attendance-ink); font-size: 24px; line-height: 1.2; }
.csl-attendance-section-heading small, .csl-attendance-section-note { max-width: 450px; color: var(--csl-attendance-muted); font-size: 12px; line-height: 1.5; text-align: right; }
.csl-attendance-date-state, .csl-attendance-session-state { display: inline-flex; align-items: center; padding: 7px 10px; border-radius: 99px; font-size: 11px; font-weight: 800; white-space: nowrap; }
.csl-attendance-date-state.is-today, .csl-attendance-session-state.is-today { background: #fff0f1; color: #b31420; }
.csl-attendance-date-state.is-past, .csl-attendance-session-state.is-past { background: #eef1f3; color: #68747d; }
.csl-attendance-date-state.is-future, .csl-attendance-session-state.is-future { background: #edf6fb; color: #236582; }
.csl-attendance-no-session { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 10px 0; padding: 15px 17px; border: 1px dashed #cbd5da; border-radius: 12px; color: var(--csl-attendance-muted); }
.csl-attendance-no-session strong { color: var(--csl-attendance-ink); }
.csl-attendance-roster { margin-top: 17px; overflow: hidden; border: 1px solid var(--csl-attendance-line); border-radius: 15px; background: #fff; }
.csl-attendance-roster__head { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 19px 20px; background: #fafbfc; border-bottom: 1px solid var(--csl-attendance-line); }
.csl-attendance-roster__head h3 { margin: 0; font-size: 20px; }
.csl-attendance-roster__head p { margin: 5px 0 0; color: var(--csl-attendance-muted); font-size: 13px; }
.csl-attendance-counter { min-width: 130px; padding-left: 18px; border-left: 1px solid var(--csl-attendance-line); text-align: right; }
.csl-attendance-counter strong { display: block; color: var(--csl-attendance-red); font-size: 25px; line-height: 1; }
.csl-attendance-counter span, .csl-attendance-counter small { display: block; color: var(--csl-attendance-muted); font-size: 11px; }
.csl-attendance-counter small { margin-top: 5px; }
.csl-attendance-locked { margin: 15px 18px 0; padding: 11px 13px; border-radius: 10px; background: #f2f4f5; color: #68747d; font-size: 12px; line-height: 1.45; }
.csl-attendance-locked span { margin-right: 7px; color: var(--csl-attendance-red); font-size: 16px; }
.csl-attendance-empty { margin: 0; padding: 18px; color: var(--csl-attendance-muted); font-size: 14px; overflow-wrap:anywhere; word-break:break-word; }
.csl-attendance-form { margin: 0; padding: 0 18px 18px; }
.csl-attendance-table { width: 100%; margin: 14px 0 0; border-collapse: collapse; }
.csl-attendance-table th { padding: 9px 10px; border-bottom: 1px solid var(--csl-attendance-line); color: var(--csl-attendance-muted); font-size: 10px; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.csl-attendance-table td { padding: 13px 10px; border-bottom: 1px solid #edf0f2; vertical-align: middle; }
.csl-attendance-table td:first-child { width: 38%; }
.csl-attendance-table td strong, .csl-attendance-table td small { display: block; }
.csl-attendance-table td small { margin-top: 4px; color: var(--csl-attendance-muted); font-size: 11px; }
.csl-attendance-statuses { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.csl-attendance-statuses label { display: inline-flex; flex-direction: row; align-items: center; gap: 5px; min-height: 30px; padding: 6px 9px; border: 1px solid #dce4e8; border-radius: 7px; background: #fff; color: var(--csl-attendance-ink); font-size: 11px; cursor: pointer; }
.csl-attendance-statuses label:has(input:checked) { border-color: #eaa3a8; background: #fff5f5; color: #9c1b25; }
.csl-attendance-statuses input { margin: 0; accent-color: var(--csl-attendance-red); }
.csl-attendance-table__manual { background: #fffaf6; }
.csl-attendance-manual-label { color: #9a6a35; font-size: 11px; }
.csl-attendance-statuses button, .csl-attendance-inline-delete button { padding: 5px 8px; border: 1px solid #e5b5b8; border-radius: 7px; background: #fff; color: #a5232c; cursor: pointer; font: inherit; font-size: 11px; font-weight: 700; }
.csl-attendance-hidden-form { display: none; }
.csl-attendance-form__footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 15px; color: var(--csl-attendance-muted); font-size: 12px; }
.csl-attendance-manual-form { display: grid; grid-template-columns: minmax(170px, .9fr) minmax(170px, 1fr) auto; align-items: end; gap: 10px; margin: 0 18px 18px; padding: 15px; border: 1px dashed #e5c8a7; border-radius: 11px; background: #fffbf5; }
.csl-attendance-manual-form__label { grid-column: 1 / -1; color: #875a2d; font-size: 12px; font-weight: 800; }
.csl-attendance-manual-form input { width: 100%; }
.csl-attendance-upcoming-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)); gap: 10px; }
.csl-attendance-upcoming-card { display: flex; flex-direction: column; gap: 5px; padding: 14px; border: 1px solid var(--csl-attendance-line); border-radius: 12px; background: #fbfcfd; color: var(--csl-attendance-ink); text-decoration: none; }
.csl-attendance-upcoming-card:hover { border-color: #e7a3a7; box-shadow: 0 5px 12px rgba(38, 51, 65, .08); }
.csl-attendance-upcoming-card strong { color: var(--csl-attendance-red); font-size: 14px; }
.csl-attendance-upcoming-card span { font-size: 13px; font-weight: 800; }
.csl-attendance-upcoming-card small { color: var(--csl-attendance-muted); font-size: 11px; }
.csl-attendance-extra-form { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); align-items: end; gap: 11px; }
.csl-attendance-extra-form__wide { grid-column: span 2; }
.csl-attendance-extra-form button { align-self: end; }
.csl-attendance-session-table-wrap { overflow-x: auto; }
.csl-attendance-session-table { width: 100%; min-width: 800px; border-collapse: collapse; }
.csl-attendance-session-table th { padding: 11px 10px; background: #f7f9fa; color: var(--csl-attendance-muted); font-size: 10px; letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.csl-attendance-session-table td { padding: 13px 10px; border-top: 1px solid #edf0f2; vertical-align: middle; font-size: 13px; }
.csl-attendance-session-table td strong, .csl-attendance-session-table td small { display: block; }
.csl-attendance-session-table td small { margin-top: 4px; color: var(--csl-attendance-muted); font-size: 11px; }
.csl-attendance-session-table tr.is-selected { background: #fff7f7; }
.csl-attendance-badge { display: inline-block; margin-left: 7px; padding: 3px 6px; border-radius: 5px; background: #fff0e2; color: #955e20; font-size: 10px; font-weight: 800; }
.csl-attendance-account-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.csl-attendance-account { display: flex; flex-direction: column; gap: 7px; padding: 16px; border: 1px solid var(--csl-attendance-line); border-radius: 12px; background: #fbfcfd; }
.csl-attendance-account strong { font-size: 17px; }
.csl-attendance-account span, .csl-attendance-account a, .csl-attendance-account small { color: var(--csl-attendance-muted); font-size: 12px; line-height: 1.45; overflow-wrap: anywhere; }
.csl-attendance-account a { color: #8f2630; font-weight: 700; }
.csl-attendance-account form { margin: 4px 0 0; }
.csl-attendance-account .csl-attendance-button { width: 100%; min-height: 36px; font-size: 11px; }
.csl-attendance-password-notice { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 18px 0; padding: 15px 17px; border: 1px solid #b7d6e3; border-radius: 12px; background: #eff9fc; color: #22566b; font-size: 13px; }
.csl-attendance-password-notice span, .csl-attendance-password-notice small { color: #547989; }
.csl-attendance-password-notice code { padding: 3px 7px; border-radius: 5px; background: #fff; color: #263341; font-weight: 800; }
.csl-attendance-password-panel { margin: 18px 0; border: 1px solid var(--csl-attendance-line); border-radius: 16px; background: #fff; box-shadow: 0 8px 22px rgba(38, 51, 65, .05); }
.csl-attendance-password-summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 17px 22px; color: var(--csl-attendance-ink); cursor: pointer; list-style: none; }
.csl-attendance-password-summary::-webkit-details-marker { display: none; }
.csl-attendance-password-summary::marker { display: none; }
.csl-attendance-password-summary__title { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.csl-attendance-password-summary__title .csl-attendance-eyebrow { margin: 0; }
.csl-attendance-password-summary__title strong { font-size: 18px; line-height: 1.25; }
.csl-attendance-password-summary__hint { margin-left: auto; color: var(--csl-attendance-muted); font-size: 12px; }
.csl-attendance-password-summary__chevron { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1px solid #d6dfe4; border-radius: 50%; color: var(--csl-attendance-red); font-size: 18px; line-height: 1; transform: rotate(0deg); transition: transform .15s ease, background .15s ease; }
.csl-attendance-password-panel[open] .csl-attendance-password-summary { border-bottom: 1px solid var(--csl-attendance-line); }
.csl-attendance-password-panel[open] .csl-attendance-password-summary__chevron { background: #fff5f5; transform: rotate(180deg); }
.csl-attendance-password-content { padding: 18px 22px 22px; }
.csl-attendance-password-intro { margin: 0 0 16px; color: var(--csl-attendance-muted); font-size: 13px; line-height: 1.5; }
.csl-attendance-password-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(180px, auto); align-items: end; gap: 12px; }
.csl-attendance-password-form label, .csl-attendance-manager-password-form label { display: flex; flex-direction: column; gap: 6px; color: var(--csl-attendance-ink); font-size: 12px; font-weight: 800; }
.csl-attendance-password-form label small, .csl-attendance-manager-password-form small { color: var(--csl-attendance-muted); font-size: 11px; font-weight: 400; line-height: 1.4; }
.csl-attendance-password-form input, .csl-attendance-manager-password-form input { width: 100%; }
.csl-attendance-password-form button { width: 100%; min-height: 42px; white-space: nowrap; }
.csl-attendance-manager-password-form { display: flex; flex-direction: column; gap: 8px; }
.csl-attendance-manager-password-form .csl-attendance-button { margin-top: 2px; }
.csl-attendance-login-card { width: min(520px, 100%); margin: 45px auto 0; padding: 28px; border: 1px solid var(--csl-attendance-line); border-radius: 20px; background: #fff; box-shadow: 0 12px 32px rgba(38, 51, 65, .08); }
.csl-attendance-login-card h1 { margin: 0 0 10px; color: var(--csl-attendance-ink); font-size: 28px; }
.csl-attendance-login-card p { margin: 0 0 22px; color: var(--csl-attendance-muted); line-height: 1.6; }
.csl-attendance-login-card .login-username, .csl-attendance-login-card .login-password { margin: 0 0 14px; }
.csl-attendance-login-card .login-remember { flex-direction: row; align-items: center; margin: 0 0 15px; }
.csl-attendance-login-card .login-remember input { width: auto; min-height: auto; }
.csl-attendance-login-card .login-submit input { width: 100%; min-height: 43px; border: 0; border-radius: 9px; background: var(--csl-attendance-red); color: #fff; cursor: pointer; font-weight: 800; }

@media (max-width: 980px) and (min-width: 761px) {
    .csl-attendance-password-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .csl-attendance-password-form button { grid-column: 1 / -1; width: auto; justify-self: start; }
}

@media (max-width: 760px) {
    .csl-attendance { padding: 16px 10px 45px; }
    .csl-attendance-hero, .csl-attendance-day, .csl-attendance-upcoming, .csl-attendance-extra, .csl-attendance-manager-list, .csl-attendance-manager-detail, .csl-attendance-accounts { padding: 18px 14px; border-radius: 15px; }
    .csl-attendance-section-heading, .csl-attendance-roster__head, .csl-attendance-form__footer { align-items: flex-start; flex-direction: column; }
    .csl-attendance-section-heading small, .csl-attendance-section-note { max-width: none; text-align: left; }
    .csl-attendance-roster__head { gap: 13px; }
    .csl-attendance-counter { width: 100%; padding: 10px 0 0; border-top: 1px solid var(--csl-attendance-line); border-left: 0; text-align: left; }
    .csl-attendance-counter strong, .csl-attendance-counter span, .csl-attendance-counter small { display: inline-block; margin-right: 6px; }
    .csl-attendance-table th:nth-child(2), .csl-attendance-table td:nth-child(2) { min-width: 235px; }
    .csl-attendance-table { min-width: 580px; }
    .csl-attendance-roster { overflow-x: auto; }
    .csl-attendance-roster__head, .csl-attendance-locked, .csl-attendance-empty, .csl-attendance-form, .csl-attendance-manual-form { min-width: 580px; }
    .csl-attendance-manual-form { grid-template-columns: 1fr 1fr auto; }
    .csl-attendance-extra-form { grid-template-columns: 1fr 1fr; }
    .csl-attendance-extra-form__wide { grid-column: 1 / -1; }
    .csl-attendance-extra-form button { width: 100%; }
    .csl-attendance-password-summary { align-items: flex-start; padding: 16px 14px; }
    .csl-attendance-password-summary__hint { display: none; }
    .csl-attendance-password-summary__chevron { flex: 0 0 auto; }
    .csl-attendance-password-content { padding: 16px 14px 18px; }
    .csl-attendance-password-form { grid-template-columns: 1fr; }
    .csl-attendance-datebar, .csl-attendance-manager-filters { overflow: hidden; }
    .csl-attendance-datebar form, .csl-attendance-manager-filters form { display: grid; grid-template-columns: 1fr; width: 100%; min-width: 0; flex: 1 1 100%; }
    .csl-attendance-datebar label, .csl-attendance-manager-filters label { flex: 1 1 100%; width: 100%; min-width: 0; }
    .csl-attendance-datebar label input, .csl-attendance-datebar label select, .csl-attendance-manager-filters label input, .csl-attendance-manager-filters label select { max-width: 100%; }
    .csl-attendance-manual-form, .csl-attendance-extra-form { grid-template-columns: 1fr; min-width: 0; }
    .csl-attendance-extra-form__wide { grid-column: auto; }
    .csl-attendance-manual-form > *, .csl-attendance-extra-form > * { min-width: 0; width: 100%; }
    .csl-attendance-manual-form button, .csl-attendance-extra-form button { width: 100%; }
    body.csl-attendance-manager-page,
    body.csl-attendance-person-page { overflow-x: hidden !important; }
    .csl-attendance-shell,
    .csl-attendance,
    .csl-attendance-day,
    .csl-attendance-upcoming,
    .csl-attendance-extra,
    .csl-attendance-manager-list,
    .csl-attendance-manager-detail,
    .csl-attendance-accounts,
    .csl-attendance-account,
    .csl-attendance-password-panel,
    .csl-attendance-login-card,
    .csl-attendance-datebar,
    .csl-attendance-manager-filters { width: 100%; max-width: 100%; min-width: 0; overflow-x: hidden; }
    .csl-attendance p,
    .csl-attendance small,
    .csl-attendance span,
    .csl-attendance strong,
    .csl-attendance a,
    .csl-attendance h1,
    .csl-attendance h2,
    .csl-attendance h3 { overflow-wrap: anywhere; }
    .csl-attendance input:not([type="checkbox"]):not([type="radio"]),
    .csl-attendance select,
    .csl-attendance textarea,
    .csl-attendance button { display: block; width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
    .csl-attendance-hero__links { flex-direction: column; align-items: flex-start; gap: 10px; }
    .csl-attendance-account-grid,
    .csl-attendance-password-form { grid-template-columns: 1fr !important; }
    .csl-attendance-session-table-wrap,
    .csl-attendance-roster { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .csl-attendance-session-table-wrap > *,
    .csl-attendance-roster > * { min-width: 0; }

    .csl-attendance-empty, .csl-attendance-roster__head, .csl-attendance-locked, .csl-attendance-form, .csl-attendance-manual-form { min-width: 0 !important; width: 100% !important; }
    .csl-attendance-session-admin, .csl-attendance-manager-list, .csl-attendance-manager-detail { overflow-x: hidden; }
    .csl-attendance-manager-session-form, .csl-attendance-manager-session-form__wide, .csl-attendance-manager-session-form label { min-width: 0 !important; max-width: 100% !important; }
    .csl-attendance-manager-session-form input, .csl-attendance-manager-session-form select, .csl-attendance-manager-session-form textarea { display:block; width:100% !important; max-width:100% !important; min-width:0 !important; -webkit-appearance:none; appearance:none; }
    .csl-attendance-manager-session-form > .csl-attendance-button { width:100% !important; max-width:100% !important; }

}

/* V1.27 : utiliser toute la largeur utile sur la gestion, sans modifier les
 * fiches verticales prévues pour les petits écrans. */
body.csl-registration-page #content,
body.csl-registration-page .neve-main,
body.csl-registration-page .nv-single-page-wrap,
body.csl-registration-page .nv-content-wrap {
    width: 100% !important;
    max-width: none !important;
    padding-inline: 0 !important;
}

.csl-reg-payment-later-note {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-top: 12px;
    padding: 11px 13px;
    border: 1px solid rgba(101, 143, 170, .24);
    border-radius: 12px;
    color: var(--cslreg-ink-soft);
    background: #f4f9fb;
    font-size: 12px;
    line-height: 1.45;
}

.csl-reg-payment-later-note strong {
    flex: 0 0 auto;
    color: var(--cslreg-blue-dark);
}

.csl-registration--manager .csl-reg-shell,
.csl-registration--manager .csl-reg-manager-form {
    width: calc(100% - 24px);
    max-width: none;
}

.csl-registration--manager .csl-reg-table-wrap,
.csl-registration--manager .csl-reg-table {
    width: 100%;
}

.csl-registration--manager .csl-reg-table {
    min-width: 0;
}

.csl-registration--manager .csl-reg-table td {
    max-width: none;
}

.csl-registration--manager .csl-reg-table__actions {
    min-width: 170px;
}

@media (max-width: 780px) and (min-width: 641px) {
    .csl-registration--manager .csl-reg-shell,
    .csl-registration--manager .csl-reg-manager-form {
        width: calc(100% - 24px);
    }
}

@media (max-width: 640px) {
    .csl-registration--manager .csl-reg-shell,
    .csl-registration--manager .csl-reg-manager-form {
        width: calc(100% - 24px);
    }

    .csl-reg-payment-later-note {
        align-items: flex-start;
        flex-direction: column;
        gap: 3px;
    }
}

/* V1.28 : le thème pouvait encore enfermer l’espace de gestion dans son
 * conteneur central. Sur tablette et ordinateur, le module sort donc de ce
 * conteneur et utilise réellement toute la largeur de la fenêtre. Le mode
 * fiches de l’iPhone reste inchangé. */
@media (min-width: 641px) {
    body.csl-registration-page {
        overflow-x: hidden;
    }

    body.csl-registration-page .csl-registration--manager {
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
    }

    .csl-registration--manager .csl-reg-shell,
    .csl-registration--manager .csl-reg-manager-form {
        width: calc(100% - 16px) !important;
        max-width: none !important;
    }

    .csl-registration--manager .csl-reg-table-wrap,
    .csl-registration--manager .csl-reg-table {
        width: 100% !important;
    }
}

/* V1.30 : actions de gestion transformées en vrais boutons visuels,
 * tout en conservant les liens et les fonctions existantes. */
.csl-registration--manager .csl-reg-table th.csl-reg-table__actions {
    text-align: center !important;
}

.csl-registration--manager .csl-reg-table td.csl-reg-table__actions {
    min-width: 330px;
    padding: 10px 12px !important;
    vertical-align: middle;
    text-align: left !important;
}

.csl-registration--manager .csl-reg-table td.csl-reg-table__actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(126px, 1fr));
    gap: 7px;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 34px;
    margin: 0 !important;
    padding: 7px 9px;
    border: 1px solid transparent;
    border-radius: 9px;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 1.15;
    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;
    box-shadow: 0 2px 5px rgba(23, 35, 51, .12);
    transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 19px;
    height: 19px;
    flex: 0 0 19px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .2);
    color: #fff;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button:hover,
.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button:focus-visible {
    color: #fff !important;
    filter: brightness(.94);
    transform: translateY(-1px);
    box-shadow: 0 4px 9px rgba(23, 35, 51, .2);
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button:focus-visible {
    outline: 3px solid rgba(38, 102, 143, .28);
    outline-offset: 2px;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--edit {
    border-color: #285c7d;
    background: #347da7;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--edit::before {
    content: "✎";
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--pdf {
    border-color: #245391;
    background: #2e6fb5;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--pdf::before {
    content: "▣";
    font-size: 11px;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--invoice {
    border-color: #276a4c;
    background: #3b936d;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--invoice::before {
    content: "€";
    font-size: 11px;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--attestation {
    border-color: #a95f18;
    background: #d5852a;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--attestation::before {
    content: "✓";
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--delete {
    border-color: #8e1425;
    background: #b72d3f;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--delete::before {
    content: "×";
    font-size: 16px;
}

@media (max-width: 640px) {
    .csl-registration--manager .csl-reg-table td.csl-reg-table__actions {
        min-width: 0;
    }

    .csl-registration--manager .csl-reg-table__actions .csl-reg-action-button {
        min-height: 42px;
        padding: 9px 8px;
        font-size: 11px !important;
    }

    .csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--delete {
        grid-column: 1 / -1;
    }
}

/* V1.31 : colonne Actions compacte, boutons empilés verticalement et
 * alignés à droite pour laisser davantage de place aux informations. */
.csl-registration--manager .csl-reg-table th.csl-reg-table__actions {
    text-align: right !important;
}

.csl-registration--manager .csl-reg-table td.csl-reg-table__actions {
    display: table-cell !important;
    width: 170px;
    min-width: 170px;
    padding: 10px 12px !important;
    text-align: right !important;
    vertical-align: top;
}

.csl-registration--manager .csl-reg-table td.csl-reg-table__actions,
.csl-registration--manager .csl-reg-table td.csl-reg-table__actions .csl-reg-actions-stack {
    box-sizing: border-box;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-actions-stack {
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: flex-end;
    gap: 6px;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button {
    width: 145px;
    max-width: 100%;
    min-height: 33px;
    padding: 6px 8px;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--delete {
    margin-top: 2px !important;
}

@media (max-width: 640px) {
    .csl-registration--manager .csl-reg-table td.csl-reg-table__actions {
        display: flex !important;
        width: auto;
        min-width: 0;
        flex-direction: column;
        align-items: stretch;
        padding: 14px !important;
        text-align: right !important;
    }

    .csl-registration--manager .csl-reg-table td.csl-reg-table__actions::before {
        display: block;
        width: 100%;
        margin-bottom: 9px;
        text-align: left;
    }

    .csl-registration--manager .csl-reg-table__actions .csl-reg-actions-stack {
        align-items: flex-end;
    }

    .csl-registration--manager .csl-reg-table__actions .csl-reg-action-button {
        width: 150px;
        min-height: 40px;
        padding: 8px 8px;
    }
}

/* E-mail de masse : seules les adresses des dossiers actuellement affichés
 * sont préparées dans le champ CCI du logiciel de messagerie. */
.csl-reg-list-toolbar__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 13px;
}

.csl-reg-email-button {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 8px 11px;
    border: 1px solid #285c7d;
    border-radius: 8px;
    color: #fff !important;
    background: #347da7;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.2;
    text-decoration: none !important;
    box-shadow: 0 2px 5px rgba(23, 35, 51, .12);
}

.csl-reg-email-button:hover,
.csl-reg-email-button:focus-visible {
    color: #fff !important;
    background: #285c7d;
}

.csl-reg-email-button small {
    font-size: 10px;
    font-weight: 700;
    opacity: .85;
}

.csl-reg-email-button.is-disabled {
    border-color: #b7c1c8;
    color: #7a858c !important;
    background: #edf1f3;
    cursor: not-allowed;
    box-shadow: none;
}

@media (max-width: 640px) {
    .csl-reg-list-toolbar__actions {
        width: 100%;
        align-items: flex-start;
        justify-content: flex-start;
    }
}

/* V1.32 : un seul bouton d’actions par ligne, avec les cinq choix révélés
 * uniquement lorsque le dossier concerné est ouvert. */
.csl-registration--manager .csl-reg-table th.csl-reg-table__actions {
    width: 132px;
    min-width: 132px;
    text-align: right !important;
}

.csl-registration--manager .csl-reg-table td.csl-reg-table__actions {
    width: 132px;
    min-width: 132px;
    padding: 10px 12px !important;
    overflow: visible;
    text-align: right !important;
    vertical-align: top;
}

.csl-reg-action-menu {
    position: relative;
    width: 116px;
    margin-left: auto;
    overflow: visible;
}

.csl-reg-actions-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 35px;
    padding: 7px 10px;
    border: 1px solid #285c7d;
    border-radius: 9px;
    color: #fff;
    background: #347da7;
    cursor: pointer;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.2;
    list-style: none;
    text-align: left;
    box-shadow: 0 2px 5px rgba(23, 35, 51, .12);
    transition: background .15s ease, box-shadow .15s ease, transform .15s ease;
}

.csl-reg-actions-toggle::-webkit-details-marker {
    display: none;
}

.csl-reg-actions-toggle::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 19px;
    height: 19px;
    margin-right: 6px;
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, .2);
    content: "⋯";
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
}

.csl-reg-actions-toggle__chevron {
    margin-left: 5px;
    font-size: 14px;
    line-height: 1;
    transition: transform .15s ease;
}

.csl-reg-action-menu[open] .csl-reg-actions-toggle,
.csl-reg-actions-toggle:hover,
.csl-reg-actions-toggle:focus-visible {
    color: #fff;
    background: #285c7d;
    box-shadow: 0 4px 9px rgba(23, 35, 51, .2);
}

.csl-reg-action-menu[open] .csl-reg-actions-toggle__chevron {
    transform: rotate(180deg);
}

.csl-reg-actions-toggle:focus-visible {
    outline: 3px solid rgba(38, 102, 143, .28);
    outline-offset: 2px;
}

.csl-reg-action-menu__panel {
    margin-top: 7px;
    padding: 8px;
    border: 1px solid rgba(101, 143, 170, .25);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 24px rgba(23, 35, 51, .16);
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-menu__panel .csl-reg-actions-stack {
    display: flex;
    width: 100%;
    align-items: stretch;
    flex-direction: column;
    gap: 5px;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-menu__panel .csl-reg-action-button {
    display: inline-flex !important;
    width: 100%;
    max-width: none;
    min-height: 32px;
    padding: 6px 7px;
    font-size: 10px !important;
}

@media (max-width: 640px) {
    .csl-registration--manager .csl-reg-table td.csl-reg-table__actions {
        width: auto;
        min-width: 0;
    }

    .csl-reg-action-menu {
        width: 100%;
        margin-left: 0;
    }

    .csl-reg-actions-toggle {
        min-height: 42px;
        padding: 9px 11px;
    }

    .csl-registration--manager .csl-reg-table__actions .csl-reg-action-menu__panel .csl-reg-action-button {
        min-height: 40px;
        padding: 8px;
        font-size: 11px !important;
    }
}

/* V1.32 : parcours de saisie commun à la page publique et à l’espace
 * gestionnaire, afin que chaque étape soit identifiable avant de commencer. */
.csl-reg-process {
    display: grid;
    grid-template-columns: minmax(210px, .8fr) minmax(0, 2.2fr);
    gap: 18px;
    align-items: stretch;
    padding: 18px 20px;
    border: 1px solid rgba(101, 143, 170, .22);
    border-radius: 20px;
    background: linear-gradient(135deg, #f8fbfc, #fff);
}

.csl-reg-process__intro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    padding-right: 13px;
    border-right: 1px solid var(--cslreg-line);
}

.csl-reg-process__intro .csl-reg-kicker {
    margin-bottom: 3px;
    font-size: 10px;
}

.csl-reg-process__intro strong {
    color: var(--cslreg-ink);
    font-size: 15px;
    line-height: 1.25;
}

.csl-reg-process__intro small {
    font-size: 11px;
    line-height: 1.45;
}

.csl-reg-process ol {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    align-items: stretch;
    margin: 0;
    padding: 0;
    list-style: none;
}

.csl-reg-process--manager ol {
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.csl-reg-process li {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 8px;
    border: 1px solid rgba(101, 143, 170, .18);
    border-radius: 12px;
    background: #fff;
}

.csl-reg-process__number {
    display: grid;
    width: 25px;
    height: 25px;
    flex: 0 0 25px;
    place-items: center;
    border-radius: 8px;
    color: #fff;
    background: linear-gradient(145deg, var(--cslreg-blue), var(--cslreg-red));
    font-size: 9px;
    font-weight: 900;
}

.csl-reg-process li > span:last-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 2px;
}

.csl-reg-process li strong {
    color: var(--cslreg-ink-soft);
    font-size: 10px;
    line-height: 1.2;
}

.csl-reg-process li small {
    overflow-wrap: anywhere;
    color: var(--cslreg-muted);
    font-size: 9px;
    line-height: 1.25;
}

.csl-reg-editor-submit {
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 16px 18px;
    border: 1px solid rgba(101, 143, 170, .2);
    border-radius: 16px;
    background: #f8fbfc;
}

.csl-reg-editor-submit__note {
    display: flex;
    max-width: 520px;
    align-items: center;
    flex-direction: row;
    gap: 10px;
}

.csl-reg-editor-submit__step-number {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border-radius: 10px;
    color: #fff !important;
    background: linear-gradient(145deg, var(--cslreg-blue), var(--cslreg-red));
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

.csl-reg-editor-submit__note > span:last-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}

.csl-reg-editor-submit__note strong {
    color: var(--cslreg-blue-dark);
    font-size: 12px;
}

.csl-reg-editor-submit__note small {
    color: var(--cslreg-muted);
    font-size: 11px;
    line-height: 1.45;
}

.csl-reg-editor-submit__buttons {
    display: flex;
    align-items: center;
    gap: 10px;
}

@media (max-width: 1050px) {
    .csl-reg-process {
        grid-template-columns: 1fr;
    }

    .csl-reg-process__intro {
        padding-right: 0;
        padding-bottom: 12px;
        border-right: 0;
        border-bottom: 1px solid var(--cslreg-line);
    }

    .csl-reg-process ol,
    .csl-reg-process--manager ol {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .csl-reg-process {
        padding: 15px;
        border-radius: 17px;
    }

    .csl-reg-process ol,
    .csl-reg-process--manager ol {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csl-reg-process li {
        align-items: flex-start;
        padding: 8px 7px;
    }

    .csl-reg-editor-submit {
        align-items: stretch;
        flex-direction: column;
    }

    .csl-reg-editor-submit__note,
    .csl-reg-editor-submit__buttons {
        width: 100%;
        max-width: none;
    }

    .csl-reg-editor-submit__buttons {
        align-items: stretch;
        flex-direction: column-reverse;
    }

    .csl-reg-editor-submit__buttons .csl-reg-button {
        width: 100%;
    }
}

/* V1.35 : repères visuels et ergonomie finale de la gestion. */
.csl-reg-collapsible > .csl-reg-form-block__summary {
    align-items: center;
}

.csl-reg-form-block__toggle {
    display: grid;
    width: 50px;
    height: 50px;
    margin-top: 0;
    padding: 0 0 3px;
    border-radius: 15px;
    place-items: center;
    font-size: 31px;
    line-height: 1;
}

.csl-reg-collapsible.is-complete:not([open]) {
    border-color: rgba(37, 108, 88, .34);
    background: linear-gradient(135deg, #f0faf5 0%, #fff 100%);
    box-shadow: 0 12px 27px rgba(37, 108, 88, .09);
}

.csl-reg-collapsible.is-complete:not([open]) .csl-reg-form-block__toggle {
    border-color: rgba(37, 108, 88, .28);
    color: #256c58;
    background: #eaf8f2;
}

.csl-reg-collapsible.is-complete:not([open]) .csl-reg-step-number {
    background: linear-gradient(145deg, #4e9d7b, #256c58);
}

.csl-registration--manager .csl-reg-manager-head__actions {
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.csl-registration--manager .csl-reg-manager-head__actions .csl-reg-button,
.csl-registration--manager .csl-reg-manager-head__actions .csl-reg-logout {
    min-height: 42px;
}

.csl-registration--manager .csl-reg-manager-head__actions .csl-reg-button {
    padding: 10px 15px;
    font-size: 12px;
}

.csl-registration--manager .csl-reg-manager-head__actions .csl-reg-logout {
    display: inline-flex;
    align-items: center;
    padding: 0 13px;
    border: 1px solid var(--cslreg-line);
    border-radius: 999px;
    background: #f8fafb;
}

.csl-registration--manager .csl-reg-capacity-control form {
    display: flex;
    align-items: flex-end;
    flex-direction: column;
    gap: 9px;
}

.csl-registration--manager .csl-reg-list-toolbar__actions {
    gap: 8px;
}

.csl-registration--manager .csl-reg-list-toolbar__actions .csl-reg-export {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    padding: 8px 12px;
    border: 1px solid var(--cslreg-line);
    border-radius: 999px;
    background: #fff;
}

.csl-registration--manager .csl-reg-list-toolbar__actions .csl-reg-email-button {
    min-height: 38px;
    padding: 8px 12px;
    border-radius: 999px;
}

.csl-registration--manager .csl-reg-list-toolbar__actions .csl-reg-logout {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    padding: 8px 12px;
    border: 1px solid var(--cslreg-line);
    border-radius: 999px;
    background: #fff;
}

/* Le tableau privilégie désormais la lecture rapide : une ligne = un statut. */
.csl-registration--manager .csl-reg-table th {
    padding: 10px 10px;
}

.csl-registration--manager .csl-reg-table td {
    padding: 9px 10px;
    line-height: 1.25;
}

.csl-registration--manager .csl-reg-table td small {
    display: none;
}

.csl-registration--manager .csl-reg-table tbody tr.csl-reg-record-row--payment-unpaid td {
    background: #fffdf7;
}

.csl-registration--manager .csl-reg-table tbody tr.csl-reg-record-row--payment-partial td {
    background: #fffaf0;
}

.csl-registration--manager .csl-reg-table tbody tr.csl-reg-record-row--payment-complete td {
    background: #f7fcf9;
}

.csl-registration--manager .csl-reg-table tbody tr.csl-reg-record-row--payment-bureau td,
.csl-registration--manager .csl-reg-table tbody tr.csl-reg-record-row--payment-zero td {
    background: #f7fafc;
}

.csl-registration--manager .csl-reg-table tbody tr.csl-reg-record-row--cheque-pending td {
    background: #fff5e8;
}

.csl-registration--manager .csl-reg-table tbody tr.csl-reg-record-row--cheque-pending td:first-child {
    box-shadow: inset 4px 0 0 #d5852a;
}

.csl-registration--manager .csl-reg-payment-status {
    justify-content: center;
    text-align: center;
}

/* Le menu d’actions reste compact mais son bouton est centré dans sa cellule. */
.csl-registration--manager .csl-reg-table th.csl-reg-table__actions,
.csl-registration--manager .csl-reg-table td.csl-reg-table__actions {
    text-align: center !important;
}

.csl-registration--manager .csl-reg-action-menu {
    margin-right: auto;
    margin-left: auto;
}

.csl-registration--manager .csl-reg-actions-toggle {
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-align: center;
}

.csl-registration--manager .csl-reg-actions-toggle::before {
    width: 22px;
    height: 22px;
    margin-right: 0;
    font-size: 17px;
}

.csl-registration--manager .csl-reg-actions-toggle__chevron {
    display: grid;
    width: 24px;
    height: 24px;
    margin-left: 0;
    place-items: center;
    font-size: 22px;
    line-height: 1;
}

@media (max-width: 780px) {
    .csl-registration--manager .csl-reg-capacity-control form {
        width: 100%;
        align-items: flex-start;
    }
}

@media (max-width: 640px) {
    .csl-reg-form-block__toggle {
        width: 46px;
        height: 46px;
        border-radius: 14px;
        font-size: 29px;
    }

    .csl-registration--manager .csl-reg-table td.csl-reg-table__actions {
        align-items: center;
        text-align: center !important;
    }

    .csl-registration--manager .csl-reg-table td.csl-reg-table__actions::before {
        text-align: center;
    }

    .csl-registration--manager .csl-reg-action-menu {
        width: min(180px, 100%);
        margin-inline: auto;
    }

    .csl-registration--manager .csl-reg-table td {
        padding: 8px 12px;
    }

    .csl-registration--manager .csl-reg-manager-head__actions {
        justify-content: flex-start;
    }
}

/* V1.36 : tableau de pilotage compact pour l’ouverture et les capacités. */
.csl-registration--manager .csl-reg-capacity-panel {
    padding: 20px 22px 17px;
    border-radius: 20px;
}

.csl-registration--manager .csl-reg-capacity-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(390px, .85fr);
    align-items: center;
    gap: 20px;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(101, 143, 170, .16);
}

.csl-registration--manager .csl-reg-capacity-head > div:first-child {
    min-width: 0;
}

.csl-registration--manager .csl-reg-capacity-head h2 {
    margin-top: 2px;
    font-size: clamp(22px, 2.6vw, 30px);
}

.csl-registration--manager .csl-reg-capacity-head p {
    max-width: 720px;
    margin-top: 7px;
    font-size: 11px;
    line-height: 1.45;
}

.csl-registration--manager .csl-reg-capacity-control {
    display: flex;
    min-width: 0;
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
    padding: 12px 13px;
    border: 1px solid rgba(101, 143, 170, .19);
    border-radius: 15px;
    background: rgba(255, 255, 255, .82);
}

.csl-registration--manager .csl-reg-capacity-control__status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.csl-registration--manager .csl-reg-capacity-control__status small {
    color: var(--cslreg-muted);
    font-size: 10px;
    line-height: 1.3;
    text-align: right;
}

.csl-registration--manager .csl-reg-capacity-control .csl-reg-open-status {
    min-height: 25px;
    padding: 5px 9px;
    font-size: 9px;
    white-space: nowrap;
}

.csl-registration--manager .csl-reg-capacity-control form {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 9px;
    flex-direction: initial;
}

.csl-registration--manager .csl-reg-capacity-control .csl-reg-opening-date-field {
    min-width: 0;
    gap: 4px;
}

.csl-registration--manager .csl-reg-capacity-control .csl-reg-opening-date-field span {
    font-size: 9px;
}

.csl-registration--manager .csl-reg-capacity-control .csl-reg-opening-date-field input {
    min-height: 37px;
    border-radius: 9px;
    font-size: 12px;
}

.csl-registration--manager .csl-reg-capacity-control .csl-reg-button {
    min-height: 37px;
    padding: 9px 13px;
    font-size: 11px;
    white-space: nowrap;
}

.csl-reg-capacity-section-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 14px;
}

.csl-reg-capacity-section-bar > strong {
    color: var(--cslreg-ink);
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.csl-reg-capacity-section-bar > span {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 5px;
    color: var(--cslreg-muted);
    font-size: 10px;
    font-weight: 700;
}

.csl-reg-capacity-legend-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-left: 7px;
    border-radius: 50%;
}

.csl-reg-capacity-legend-dot:first-child {
    margin-left: 0;
}

.csl-reg-capacity-legend-dot--available { background: #31966e; }
.csl-reg-capacity-legend-dot--limited { background: #d59b2d; }
.csl-reg-capacity-legend-dot--full { background: #c83b4e; }

.csl-registration--manager .csl-reg-capacity-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
}

.csl-registration--manager .csl-reg-capacity-card {
    min-height: 143px;
    gap: 6px;
    padding: 13px 12px 10px;
    border-radius: 14px;
    background: #fff;
}

.csl-registration--manager .csl-reg-capacity-card--availability-available {
    --csl-capacity-color: #31966e;
    --csl-capacity-ink: #256c58;
    --csl-capacity-soft: #eaf8f2;
    background: #fbfefc;
}

.csl-registration--manager .csl-reg-capacity-card--availability-limited {
    --csl-capacity-color: #d59b2d;
    --csl-capacity-ink: #956a18;
    --csl-capacity-soft: #fff5df;
    background: #fffdf8;
}

.csl-registration--manager .csl-reg-capacity-card--availability-full {
    --csl-capacity-color: #c83b4e;
    --csl-capacity-ink: #a6192b;
    --csl-capacity-soft: #fff0f2;
    background: #fffafb;
}

.csl-registration--manager .csl-reg-capacity-card--availability-available::before,
.csl-registration--manager .csl-reg-capacity-card--availability-limited::before,
.csl-registration--manager .csl-reg-capacity-card--availability-full::before {
    height: 3px;
    background: var(--csl-capacity-color);
}

.csl-registration--manager .csl-reg-capacity-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 7px;
    min-width: 0;
}

.csl-registration--manager .csl-reg-capacity-card__head > strong {
    min-width: 0;
    color: var(--cslreg-ink);
    font-size: 11px;
    line-height: 1.2;
}

.csl-registration--manager .csl-reg-capacity-card__state {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 4px;
    padding: 4px 6px;
    border-radius: 999px;
    color: var(--csl-capacity-ink);
    background: var(--csl-capacity-soft);
    font-size: 8px;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
}

.csl-registration--manager .csl-reg-capacity-card__state i {
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: var(--csl-capacity-color);
}

.csl-registration--manager .csl-reg-capacity-card__metric {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-top: 4px;
}

.csl-registration--manager .csl-reg-capacity-card__count {
    color: var(--csl-capacity-ink) !important;
    font-size: 24px !important;
    font-weight: 850;
    letter-spacing: -.06em;
    line-height: 1;
}

.csl-registration--manager .csl-reg-capacity-card__metric small {
    color: var(--cslreg-muted);
    font-size: 9px;
    line-height: 1.15;
}

.csl-registration--manager .csl-reg-capacity-card__progress {
    height: 5px;
    margin: 5px 0 1px;
    overflow: hidden;
    border-radius: 999px;
    background: #edf1f2;
}

.csl-registration--manager .csl-reg-capacity-card__progress > span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--csl-capacity-color);
}

.csl-registration--manager .csl-reg-capacity-card__meta {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 7px;
    margin-top: auto;
}

.csl-registration--manager .csl-reg-capacity-card__meta > small {
    color: var(--csl-capacity-ink);
    font-size: 9px;
    font-weight: 800;
    line-height: 1.2;
}

.csl-registration--manager .csl-reg-capacity-card__meta label {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    margin: 0;
}

.csl-registration--manager .csl-reg-capacity-card__meta label span {
    color: var(--cslreg-muted);
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.csl-registration--manager .csl-reg-capacity-card__meta label input {
    width: 47px;
    min-height: 28px;
    padding: 4px 5px;
    border-radius: 7px;
    color: var(--cslreg-ink);
    font-size: 11px;
}

.csl-registration--manager .csl-reg-capacity-limits-submit {
    margin-top: 11px;
}

.csl-registration--manager .csl-reg-capacity-limits-submit p,
.csl-registration--manager .csl-reg-capacity-help {
    font-size: 10px;
}

.csl-registration--manager .csl-reg-list-toolbar__actions .csl-reg-export {
    min-height: 38px;
    align-items: center;
    padding: 8px 12px;
    border: 1px solid var(--cslreg-ink);
    border-radius: 999px;
    color: #fff !important;
    background: var(--cslreg-ink) !important;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.2;
}

.csl-registration--manager .csl-reg-list-toolbar__actions .csl-reg-export:hover,
.csl-registration--manager .csl-reg-list-toolbar__actions .csl-reg-export:focus-visible {
    color: #fff !important;
    background: var(--cslreg-ink-soft) !important;
}

/* Le thème Neve affichait son propre titre au-dessus du titre du module,
 * avec un encart blanc arrondi visible sur le côté de l’écran. */
body.csl-registration-page .nv-page-title-wrap,
body.csl-registration-page .page-header {
    display: none !important;
}

body.csl-registration-page #content,
body.csl-registration-page .site-content,
body.csl-registration-page .neve-main,
body.csl-registration-page .nv-single-page-wrap,
body.csl-registration-page .nv-content-wrap,
body.csl-registration-page .container,
body.csl-registration-page article,
body.csl-registration-page .entry-content {
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

@media (max-width: 960px) {
    .csl-registration--manager .csl-reg-capacity-head {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .csl-registration--manager .csl-reg-capacity-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .csl-registration--manager .csl-reg-capacity-section-bar {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .csl-registration--manager .csl-reg-capacity-section-bar > span {
        justify-content: flex-start;
    }

    .csl-registration--manager .csl-reg-capacity-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .csl-registration--manager .csl-reg-capacity-panel {
        padding: 18px 15px 15px;
    }

    .csl-registration--manager .csl-reg-capacity-control__status {
        align-items: flex-start;
        flex-direction: column;
        gap: 6px;
    }

    .csl-registration--manager .csl-reg-capacity-control__status small {
        text-align: left;
    }

    .csl-registration--manager .csl-reg-capacity-control form {
        grid-template-columns: 1fr;
    }

    .csl-registration--manager .csl-reg-capacity-control .csl-reg-button {
        width: 100%;
    }

    .csl-registration--manager .csl-reg-capacity-grid {
        grid-template-columns: 1fr;
    }
}

/* V1.37 : les champs conditionnels doivent réellement être complétés avant
 * qu’un volet ne puisse être considéré comme terminé. */
.csl-reg-payment-summary strong.is-scheduled,
.csl-reg-payment-status.is-scheduled {
    color: #256c58;
    background: #eaf8f2;
}

.csl-reg-payment-summary strong.is-scheduled {
    display: inline-block;
    width: fit-content;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 12px;
}

/* Le suivi financier reste neutre tant que le montant n’est pas réellement
 * réglé ou qu’un échéancier de chèques complet n’est pas saisi. */
.csl-registration--manager .csl-reg-manager-controls:not(.is-complete) {
    border-color: rgba(213, 159, 47, .25);
    background: linear-gradient(135deg, #fffdf8 0%, #f8fbfc 100%);
}

/* V1.37 : suppression robuste des conteneurs arrondis injectés par le thème
 * au-dessus des pages publiques et sécurisées du module. */
body.csl-registration-page,
body.csl-registration-page #page,
body.csl-registration-page .site,
body.csl-registration-page .site-main,
body.csl-registration-page #content,
body.csl-registration-page #content > .container,
body.csl-registration-page #content > .container > .row,
body.csl-registration-page .container,
body.csl-registration-page .content-wrap,
body.csl-registration-page .content-area,
body.csl-registration-page #primary,
body.csl-registration-page .nv-single-page-wrap,
body.csl-registration-page .nv-content-wrap,
body.csl-registration-page .entry-content-wrap,
body.csl-registration-page article,
body.csl-registration-page .entry-content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.csl-registration-page .site-header,
body.csl-registration-page .nv-page-title-wrap,
body.csl-registration-page .page-header,
body.csl-registration-page .page-header .entry-title {
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.csl-registration-page .csl-registration {
    position: relative;
    z-index: 1;
    overflow: visible;
    border-radius: 0 !important;
}

body.csl-registration-page .csl-registration--manager {
    min-height: 100vh;
}

/* V1.37 : tableau de pilotage plus compact, avec une hiérarchie visuelle
 * claire entre l’ouverture et les cinq cartes de capacité. */
.csl-registration--manager .csl-reg-capacity-panel {
    margin-bottom: 16px;
    padding: 14px 16px 12px;
    border-radius: 16px;
}

.csl-registration--manager .csl-reg-capacity-head {
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .75fr);
    gap: 14px;
    padding-bottom: 11px;
}

.csl-registration--manager .csl-reg-capacity-head h2 {
    margin-top: 1px;
    font-size: clamp(20px, 2.1vw, 25px);
}

.csl-registration--manager .csl-reg-capacity-head p {
    max-width: 660px;
    margin-top: 5px;
    font-size: 10px;
    line-height: 1.35;
}

.csl-registration--manager .csl-reg-capacity-control {
    gap: 7px;
    padding: 9px 10px;
    border-radius: 12px;
}

.csl-registration--manager .csl-reg-capacity-control__status {
    gap: 7px;
}

.csl-registration--manager .csl-reg-capacity-control__status small {
    font-size: 9px;
}

.csl-registration--manager .csl-reg-capacity-control form {
    gap: 7px;
}

.csl-registration--manager .csl-reg-capacity-control .csl-reg-opening-date-field {
    gap: 3px;
}

.csl-registration--manager .csl-reg-capacity-control .csl-reg-opening-date-field span {
    font-size: 8px;
}

.csl-registration--manager .csl-reg-capacity-control .csl-reg-opening-date-field input,
.csl-registration--manager .csl-reg-capacity-control .csl-reg-button {
    min-height: 33px;
}

.csl-registration--manager .csl-reg-capacity-control .csl-reg-opening-date-field input {
    padding: 5px 8px;
    font-size: 11px;
}

.csl-registration--manager .csl-reg-capacity-control .csl-reg-button {
    padding: 7px 10px;
    font-size: 10px;
}

.csl-registration--manager .csl-reg-capacity-section-bar {
    margin-top: 9px;
}

.csl-registration--manager .csl-reg-capacity-section-bar > strong {
    font-size: 10px;
}

.csl-registration--manager .csl-reg-capacity-section-bar > span {
    font-size: 9px;
}

.csl-registration--manager .csl-reg-capacity-grid {
    gap: 6px;
    margin-top: 7px;
}

.csl-registration--manager .csl-reg-capacity-card {
    min-height: 111px;
    gap: 4px;
    padding: 10px 10px 8px;
    border-radius: 11px;
}

.csl-registration--manager .csl-reg-capacity-card--availability-available,
.csl-registration--manager .csl-reg-capacity-card--availability-limited,
.csl-registration--manager .csl-reg-capacity-card--availability-full {
    border-color: #dfe6e8;
    border-left: 3px solid var(--csl-capacity-color);
}

.csl-registration--manager .csl-reg-capacity-card__head > strong {
    font-size: 10px;
}

.csl-registration--manager .csl-reg-capacity-card__state {
    gap: 3px;
    padding: 3px 5px;
    font-size: 7px;
}

.csl-registration--manager .csl-reg-capacity-card__metric {
    gap: 4px;
    margin-top: 2px;
}

.csl-registration--manager .csl-reg-capacity-card__count {
    font-size: 20px !important;
}

.csl-registration--manager .csl-reg-capacity-card__metric small,
.csl-registration--manager .csl-reg-capacity-card__meta > small {
    font-size: 8px;
}

.csl-registration--manager .csl-reg-capacity-card__progress {
    height: 4px;
    margin: 3px 0 0;
}

.csl-registration--manager .csl-reg-capacity-card__meta {
    gap: 5px;
}

.csl-registration--manager .csl-reg-capacity-card__meta label span {
    font-size: 7px;
}

.csl-registration--manager .csl-reg-capacity-card__meta label input {
    width: 40px;
    min-height: 24px;
    padding: 3px 4px;
    font-size: 10px;
}

.csl-registration--manager .csl-reg-capacity-limits-submit {
    margin-top: 8px;
}

.csl-registration--manager .csl-reg-capacity-limits-submit p,
.csl-registration--manager .csl-reg-capacity-help {
    font-size: 9px;
}

@media (max-width: 960px) {
    .csl-registration--manager .csl-reg-capacity-head {
        grid-template-columns: 1fr;
        gap: 10px;
    }
}

@media (max-width: 560px) {
    .csl-registration--manager .csl-reg-capacity-panel {
        padding: 13px 12px 11px;
        border-radius: 14px;
    }

    .csl-registration--manager .csl-reg-capacity-card {
        min-height: 105px;
    }
}

/* V1.38 : indicateurs de gestion compacts et immédiatement lisibles. */
.csl-registration--manager .csl-reg-stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin-bottom: 14px;
}

.csl-registration--manager .csl-reg-stat-grid > .csl-reg-stat-card {
    --csl-stat-color: var(--cslreg-blue-dark);
    --csl-stat-border: #cbdde6;
    --csl-stat-background: #f4f9fb;
    position: relative;
    display: grid;
    min-width: 0;
    min-height: 78px;
    grid-template-areas:
        "label value"
        "hint value";
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 2px 8px;
    overflow: hidden;
    padding: 11px 13px 10px 16px;
    border: 1px solid var(--csl-stat-border);
    border-radius: 13px;
    background: var(--csl-stat-background);
    box-shadow: 0 6px 16px rgba(38, 62, 81, .05);
}

.csl-registration--manager .csl-reg-stat-grid > .csl-reg-stat-card::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--csl-stat-color);
    content: "";
}

.csl-registration--manager .csl-reg-stat-card--total {
    --csl-stat-color: #4f809b !important;
    --csl-stat-border: #cbdde6 !important;
    --csl-stat-background: #f3f8fb !important;
}

.csl-registration--manager .csl-reg-stat-card--pending {
    --csl-stat-color: #b77b18 !important;
    --csl-stat-border: #efd9a6 !important;
    --csl-stat-background: #fff9eb !important;
}

.csl-registration--manager .csl-reg-stat-card--incomplete {
    --csl-stat-color: #c05a43 !important;
    --csl-stat-border: #efc9bf !important;
    --csl-stat-background: #fff4f0 !important;
}

.csl-registration--manager .csl-reg-stat-card--validated {
    --csl-stat-color: #348663 !important;
    --csl-stat-border: #c5e1d1 !important;
    --csl-stat-background: #f1faf4 !important;
}

.csl-registration--manager .csl-reg-stat-card__label {
    grid-area: label;
    min-width: 0;
    margin: 0;
    overflow: hidden;
    color: var(--csl-stat-color) !important;
    font-size: 10px !important;
    font-weight: 850 !important;
    letter-spacing: .07em;
    line-height: 1.15;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.csl-registration--manager .csl-reg-stat-card__value {
    grid-area: value;
    align-self: center;
    margin: 0;
    color: var(--csl-stat-color) !important;
    font-size: 30px !important;
    font-weight: 850;
    letter-spacing: -.07em;
    line-height: .95;
    text-align: right;
}

.csl-registration--manager .csl-reg-stat-card__hint {
    grid-area: hint;
    min-width: 0;
    margin: 0;
    color: var(--cslreg-muted) !important;
    font-size: 9px !important;
    line-height: 1.2;
}

@media (max-width: 1050px) {
    .csl-registration--manager .csl-reg-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .csl-registration--manager .csl-reg-stat-grid {
        gap: 7px;
        margin-bottom: 11px;
    }

    .csl-registration--manager .csl-reg-stat-grid > .csl-reg-stat-card {
        min-height: 68px;
        gap: 1px 6px;
        padding: 9px 10px 8px 13px;
        border-radius: 11px;
    }

    .csl-registration--manager .csl-reg-stat-card__label {
        font-size: 8px !important;
        letter-spacing: .05em;
    }

    .csl-registration--manager .csl-reg-stat-card__value {
        font-size: 25px !important;
    }

    .csl-registration--manager .csl-reg-stat-card__hint {
        font-size: 8px !important;
    }
}

/* V1.39 : parcours manuel des volets. Le volet actif reste ouvert tant que
 * l’utilisateur ne choisit pas une autre étape ; une étape complète devient
 * immédiatement verte lorsqu’elle se replie. */
.csl-reg-collapsible.is-complete:not([open]) {
    border-color: #58ad86;
    background: linear-gradient(135deg, #eaf8f2 0%, #ffffff 100%);
    box-shadow: 0 12px 28px rgba(37, 108, 88, .12);
}

.csl-reg-collapsible.is-complete:not([open]) .csl-reg-form-block__heading h2 {
    color: #256c58;
}

.csl-reg-collapsible.is-complete:not([open]) .csl-reg-form-block__heading::after {
    display: inline-flex;
    align-items: center;
    align-self: center;
    min-height: 24px;
    margin-left: 8px;
    padding: 3px 9px;
    border-radius: 999px;
    color: #256c58;
    background: #d9f1e5;
    content: "✓ Rempli";
    font-size: 10px;
    font-weight: 850;
    white-space: nowrap;
}

/* Suivi interne : le volet est volontairement persistant et porte une
 * signalisation financière forte, visible avant même de lire le détail. */
.csl-registration--manager .csl-reg-manager-controls {
    position: relative;
    border-width: 2px 2px 2px 9px;
    overflow: hidden;
    box-shadow: 0 15px 34px rgba(34, 52, 66, .11);
}

.csl-registration--manager .csl-reg-manager-controls.is-payment-paid {
    border-color: #37a875;
    background: linear-gradient(135deg, #e8f8ef 0%, #ffffff 75%);
    box-shadow: 0 16px 36px rgba(36, 137, 91, .16);
}

.csl-registration--manager .csl-reg-manager-controls.is-payment-scheduled {
    border-color: #e18a2f;
    background: linear-gradient(135deg, #fff1dc 0%, #ffffff 76%);
    box-shadow: 0 16px 36px rgba(193, 112, 24, .18);
}

.csl-registration--manager .csl-reg-manager-controls.is-payment-partial {
    border-color: #d09b31;
    background: linear-gradient(135deg, #fff8df 0%, #ffffff 76%);
    box-shadow: 0 16px 36px rgba(180, 125, 26, .15);
}

.csl-registration--manager .csl-reg-manager-controls.is-payment-unpaid {
    border-color: #d0525e;
    background: linear-gradient(135deg, #fff0f2 0%, #ffffff 76%);
    box-shadow: 0 16px 36px rgba(176, 44, 59, .16);
}

.csl-registration--manager .csl-reg-manager-controls.is-payment-paid .csl-reg-step-number,
.csl-registration--manager .csl-reg-manager-controls.is-payment-paid .csl-reg-form-block__toggle {
    color: #fff;
    background: #2d9368;
}

.csl-registration--manager .csl-reg-manager-controls.is-payment-scheduled .csl-reg-step-number,
.csl-registration--manager .csl-reg-manager-controls.is-payment-scheduled .csl-reg-form-block__toggle {
    color: #fff;
    background: #d1781f;
}

.csl-registration--manager .csl-reg-manager-controls.is-payment-partial .csl-reg-step-number,
.csl-registration--manager .csl-reg-manager-controls.is-payment-partial .csl-reg-form-block__toggle {
    color: #fff;
    background: #b97913;
}

.csl-registration--manager .csl-reg-manager-controls.is-payment-unpaid .csl-reg-step-number,
.csl-registration--manager .csl-reg-manager-controls.is-payment-unpaid .csl-reg-form-block__toggle {
    color: #fff;
    background: #bd3f4c;
}

.csl-registration--manager .csl-reg-manager-controls.is-payment-paid .csl-reg-payment-box {
    border-color: rgba(45, 147, 104, .35);
}

.csl-registration--manager .csl-reg-manager-controls.is-payment-scheduled .csl-reg-payment-box {
    border-color: rgba(209, 120, 31, .45);
}

.csl-registration--manager .csl-reg-manager-controls.is-payment-partial .csl-reg-payment-box {
    border-color: rgba(185, 121, 19, .38);
}

.csl-registration--manager .csl-reg-manager-controls.is-payment-unpaid .csl-reg-payment-box {
    border-color: rgba(189, 63, 76, .38);
}

.csl-registration--manager .csl-reg-payment-summary strong.is-scheduled,
.csl-registration--manager .csl-reg-payment-status.is-scheduled {
    color: #9a540d;
    background: #ffe3ba;
}

.csl-registration--manager .csl-reg-payment-summary strong.is-partial,
.csl-registration--manager .csl-reg-payment-status.is-partial {
    color: #8c5f1c;
    background: #fff1c7;
}

.csl-registration--manager .csl-reg-payment-summary strong.is-unpaid,
.csl-registration--manager .csl-reg-payment-status.is-unpaid {
    color: #9b2736;
    background: #ffe1e6;
}

@media (max-width: 620px) {
    .csl-reg-collapsible.is-complete:not([open]) .csl-reg-form-block__heading::after {
        margin-left: 5px;
        padding-inline: 7px;
        font-size: 9px;
    }

    .csl-registration--manager .csl-reg-manager-controls {
        border-left-width: 7px;
    }
}

/* V1.41 : le titre du thème ne doit plus réserver une grande zone au-dessus
 * du tableau de gestion. Le module est recentré dans la fenêtre afin que les
 * bordures arrondies et le fond de ses panneaux commencent au bon endroit,
 * même lorsque Neve l'insère dans un conteneur central. */
body.csl-registration-page .nv-page-title-wrap,
body.csl-registration-page .page-header,
body.csl-registration-page .page-title-wrap,
body.csl-registration-page .page-titlebar,
body.csl-registration-page .entry-header,
body.csl-registration-page header.entry-header {
    display: none !important;
    width: 0 !important;
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.csl-registration-page {
    overflow-x: hidden !important;
}

body.csl-registration-page .csl-registration--manager {
    position: relative;
    left: 50% !important;
    right: auto !important;
    display: block;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin: 0 0 0 -50vw !important;
    padding-top: 10px !important;
    padding-bottom: 34px !important;
    transform: none !important;
}

body.csl-registration-page .csl-registration--manager > .csl-reg-shell {
    width: min(1680px, calc(100vw - 32px)) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.csl-registration--manager .csl-reg-stat-grid {
    gap: 7px;
    margin-bottom: 10px;
}

.csl-registration--manager .csl-reg-stat-grid > .csl-reg-stat-card {
    min-height: 64px;
    padding: 8px 11px 8px 14px;
    border-radius: 11px;
}

.csl-registration--manager .csl-reg-stat-card__value {
    font-size: 26px !important;
}

.csl-registration--manager .csl-reg-capacity-panel {
    width: 100%;
    margin: 0 0 12px !important;
    padding: 11px 13px 10px !important;
    border-radius: 14px !important;
}

.csl-registration--manager .csl-reg-capacity-head {
    gap: 10px;
    padding-bottom: 9px;
}

.csl-registration--manager .csl-reg-capacity-head h2 {
    font-size: clamp(19px, 2vw, 23px);
}

.csl-registration--manager .csl-reg-capacity-head p {
    margin-top: 4px;
    font-size: 9px;
    line-height: 1.3;
}

@media (max-width: 960px) {
    body.csl-registration-page .csl-registration--manager > .csl-reg-shell {
        width: calc(100vw - 28px) !important;
    }
}

@media (max-width: 560px) {
    body.csl-registration-page .csl-registration--manager {
        padding-top: 6px !important;
        padding-bottom: 24px !important;
    }

    body.csl-registration-page .csl-registration--manager > .csl-reg-shell {
        width: calc(100vw - 24px) !important;
    }

    .csl-registration--manager .csl-reg-stat-grid > .csl-reg-stat-card {
        min-height: 62px;
        padding: 8px 9px 7px 12px;
    }
}

/* V1.42 : page principale de gestion compacte et correctement alignée dans
 * les enveloppes du thème. Le titre reste utile comme repère, mais la ligne
 * d'identité de l'association et le grand bandeau ne sont plus nécessaires. */
body.csl-registration-manager-dashboard .csl-reg-manager-head,
body.csl-registration-manager-dashboard .csl-reg-kicker {
    display: none !important;
}

body.csl-registration-manager-dashboard .csl-reg-dashboard-title {
    display: block;
    margin: 0 0 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.csl-registration-manager-dashboard .csl-reg-dashboard-title h1 {
    margin: 0 !important;
    color: var(--cslreg-ink) !important;
    font-size: clamp(21px, 2.4vw, 29px) !important;
    font-weight: 850;
    letter-spacing: -.045em;
    line-height: 1.05;
}

/* Certains habillages du thème ajoutent une enveloppe qui n'est pas ciblée
 * par son nom. :has() permet de neutraliser seulement les ancêtres contenant
 * le module, sans aplatir les cartes internes de l'extension. */
body.csl-registration-page :where(#page, .site, .site-content, .site-main,
    #content, #main, main#main, .content-wrap, .content-area, #primary,
    .container, .row, article, .entry-content-wrap, .entry-content,
    .nv-single-page-wrap, .nv-content-wrap):has(.csl-registration) {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.csl-registration-page,
body.csl-registration-page #page,
body.csl-registration-page .site,
body.csl-registration-page .site-main,
body.csl-registration-page #content {
    overflow-x: hidden !important;
    border-radius: 0 !important;
}

/* Le décalage négatif de la version précédente dépendait du conteneur du
 * thème et produisait le fond blanc décalé sur certains écrans. */
body.csl-registration-page .csl-registration--manager {
    position: relative;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 2px 0 12px !important;
    transform: none !important;
    border-radius: 0 !important;
}

body.csl-registration-page .csl-registration--manager > .csl-reg-shell {
    width: min(1680px, calc(100% - 32px)) !important;
    max-width: none !important;
    margin: 0 auto !important;
}

body.csl-registration-manager-dashboard .csl-registration--manager .csl-reg-stat-grid {
    margin-top: 0 !important;
    margin-bottom: 8px !important;
}

@media (max-width: 960px) {
    body.csl-registration-page .csl-registration--manager > .csl-reg-shell {
        width: calc(100% - 28px) !important;
    }
}

@media (max-width: 560px) {
    body.csl-registration-page .csl-registration--manager {
        padding: 1px 0 8px !important;
    }

    body.csl-registration-page .csl-registration--manager > .csl-reg-shell {
        width: calc(100% - 20px) !important;
    }

    body.csl-registration-manager-dashboard .csl-reg-dashboard-title {
        margin-bottom: 6px !important;
    }

    body.csl-registration-manager-dashboard .csl-reg-dashboard-title h1 {
        font-size: 21px !important;
    }
}

/* V1.43 : le tableau de bord doit utiliser la largeur réelle de l’iPad et ne
 * doit pas laisser le thème afficher son grand en-tête de page. Cette couche
 * finale est limitée au tableau de bord : l’éditeur interne et le formulaire
 * public gardent leurs propres marges et leur hiérarchie. */
body.csl-registration-manager-dashboard {
    overflow-x: hidden !important;
}

body.csl-registration-manager-dashboard :where(
    #page,
    .site,
    .site-content,
    .site-main,
    #content,
    #main,
    main#main,
    .content-wrap,
    .content-area,
    #primary,
    .nv-single-page-wrap,
    .nv-content-wrap,
    .entry-content-wrap,
    .entry-content,
    article
):has(.csl-registration--manager) {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.csl-registration-manager-dashboard :where(
    .container,
    .row
):has(.csl-registration--manager) {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Repli de compatibilité pour les enveloppes classiques du thème lorsque
 * :has() n’est pas disponible ou lorsque le thème change légèrement son DOM. */
body.csl-registration-manager-dashboard #page,
body.csl-registration-manager-dashboard .site,
body.csl-registration-manager-dashboard .site-content,
body.csl-registration-manager-dashboard .site-main,
body.csl-registration-manager-dashboard #content,
body.csl-registration-manager-dashboard #main,
body.csl-registration-manager-dashboard main#main,
body.csl-registration-manager-dashboard .content-wrap,
body.csl-registration-manager-dashboard .content-area,
body.csl-registration-manager-dashboard #primary,
body.csl-registration-manager-dashboard .nv-single-page-wrap,
body.csl-registration-manager-dashboard .nv-content-wrap,
body.csl-registration-manager-dashboard .entry-content-wrap,
body.csl-registration-manager-dashboard .entry-content,
body.csl-registration-manager-dashboard article {
    min-width: 0 !important;
    border-radius: 0 !important;
}

/* Le grand titre généré par le thème et ses variantes ne doivent pas
 * apparaître au-dessus du tableau de bord. */
body.csl-registration-manager-dashboard :where(
    .nv-page-title-wrap,
    .nv-page-title,
    .page-header,
    .page-title-wrap,
    .page-titlebar,
    .page-title-section,
    .page-heading,
    .page-hero,
    .page-banner,
    .csl-page-header,
    .csl-page-hero,
    .site-page-header,
    .entry-header,
    header.entry-header,
    .entry-title,
    h1.entry-title,
    .wp-block-post-title,
    .post-title
) {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Si le thème rend son bandeau comme un frère direct du contenu, le retirer
 * ici évite qu’une version de classe différente ne réintroduise la ligne
 * rouge de l’association. */
body.csl-registration-manager-dashboard .site-main > *:has(+ .csl-registration--manager),
body.csl-registration-manager-dashboard #content > *:has(+ .csl-registration--manager),
body.csl-registration-manager-dashboard article > *:has(+ .csl-registration--manager) {
    display: none !important;
}

body.csl-registration-manager-dashboard .csl-registration--manager {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    display: block !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 4px !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.csl-registration-manager-dashboard .csl-registration--manager > .csl-reg-shell {
    width: min(1680px, calc(100vw - 24px)) !important;
    max-width: none !important;
    margin: 0 auto !important;
}

body.csl-registration-manager-dashboard .csl-reg-dashboard-title {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

body.csl-registration-manager-dashboard .csl-reg-dashboard-title h1 {
    margin: 0 !important;
    color: var(--cslreg-ink) !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    letter-spacing: -.025em !important;
    line-height: 1.1 !important;
}

body.csl-registration-manager-dashboard .csl-registration--manager > .csl-reg-shell > .csl-reg-stat-grid {
    margin-top: 0 !important;
}

@media (max-width: 560px) {
    body.csl-registration-manager-dashboard .csl-registration--manager {
        padding-bottom: 2px !important;
    }

    body.csl-registration-manager-dashboard .csl-registration--manager > .csl-reg-shell {
        width: calc(100vw - 16px) !important;
    }

    body.csl-registration-manager-dashboard .csl-reg-dashboard-title h1 {
        font-size: 16px !important;
    }
}

/* V1.44 : réalignement définitif du tableau de bord dans le DOM du thème.
 * Les anciennes couches utilisaient 100vw depuis l'intérieur d'un conteneur
 * central ; Safari/iPad pouvait alors conserver un décalage et afficher son
 * panneau blanc arrondi à côté du module. On conserve la largeur du parent,
 * puis on élargit uniquement les enveloppes qui contiennent réellement la
 * gestion des inscriptions. */
body.csl-registration-manager-dashboard :where(
    #page,
    .site,
    .site-content,
    .site-main,
    #content,
    #main,
    main#main,
    .content-wrap,
    .content-area,
    #primary,
    .nv-single-page-wrap,
    .nv-content-wrap,
    .entry-content-wrap,
    .entry-content,
    article
):has(.csl-registration--manager),
body.csl-registration-manager-dashboard :where(
    .container,
    .row
):has(.csl-registration--manager) {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    inset: auto !important;
}

body.csl-registration-manager-dashboard :where(
    .site-content,
    .site-main,
    #content,
    #main,
    main#main,
    .content-wrap,
    .content-area,
    #primary,
    .nv-single-page-wrap,
    .nv-content-wrap,
    .entry-content-wrap,
    .entry-content,
    article,
    .row
):has(.csl-registration--manager) {
    display: block !important;
}

/* Repli pour les thèmes qui n'exposent pas :has() dans leur moteur CSS. */
body.csl-registration-manager-dashboard #content > .container,
body.csl-registration-manager-dashboard .site-content > .container,
body.csl-registration-manager-dashboard .site-main > .container,
body.csl-registration-manager-dashboard #content > .container > .row,
body.csl-registration-manager-dashboard .site-content > .container > .row,
body.csl-registration-manager-dashboard .site-main > .container > .row,
body.csl-registration-manager-dashboard .nv-single-page-wrap,
body.csl-registration-manager-dashboard .nv-content-wrap,
body.csl-registration-manager-dashboard .entry-content-wrap,
body.csl-registration-manager-dashboard article {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

body.csl-registration-manager-dashboard {
    margin: 0 !important;
    overflow-x: hidden !important;
}

body.csl-registration-manager-dashboard #page,
body.csl-registration-manager-dashboard .site,
body.csl-registration-manager-dashboard .site-content,
body.csl-registration-manager-dashboard .site-main,
body.csl-registration-manager-dashboard #content {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-inline: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.csl-registration-manager-dashboard .csl-registration--manager {
    position: static !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

body.csl-registration-manager-dashboard .csl-registration--manager > .csl-reg-shell {
    box-sizing: border-box !important;
    width: min(1680px, calc(100% - 32px)) !important;
    max-width: none !important;
    margin: 0 auto !important;
}

body.csl-registration-manager-dashboard :where(
    .nv-page-title-wrap,
    .nv-page-title,
    .page-header,
    .page-title-wrap,
    .page-titlebar,
    .page-title-section,
    .page-heading,
    .page-hero,
    .page-banner,
    .csl-page-header,
    .csl-page-hero,
    .site-page-header,
    .entry-header,
    header.entry-header,
    .entry-title,
    h1.entry-title,
    .wp-block-post-title,
    .post-title,
    [class*="page-title"],
    [class*="page-header"]
) {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.csl-registration-manager-dashboard .csl-reg-dashboard-title {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 4px !important;
    padding: 0 !important;
}

body.csl-registration-manager-dashboard .csl-reg-dashboard-title h1 {
    margin: 0 !important;
    font-size: 18px !important;
    line-height: 1.1 !important;
}

@media (max-width: 560px) {
    body.csl-registration-manager-dashboard .csl-registration--manager > .csl-reg-shell {
        width: calc(100% - 16px) !important;
    }
}

/* V1.46 : correction ciblée de la largeur sur iPad.
 *
 * Les couches précédentes tentaient parfois de sortir du conteneur du thème
 * avec 100vw. Depuis un conteneur interne, Safari peut alors conserver un
 * décalage horizontal et laisser apparaître une grande marge ou un panneau
 * blanc arrondi à côté du module. Ici, seuls les ancêtres qui contiennent le
 * tableau de bord sont aplatis : chacun reprend la largeur réelle de son
 * parent, sans déplacement négatif ni largeur de fenêtre forcée. */
body.csl-registration-manager-dashboard {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding-inline: 0 !important;
    overflow-x: hidden !important;
}

body.csl-registration-manager-dashboard :where(*):has(.csl-registration--manager) {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
    inset: auto !important;
}

/* Repli pour les thèmes/navigateurs qui n'appliquent pas :has(). */
body.csl-registration-manager-dashboard #page,
body.csl-registration-manager-dashboard .site,
body.csl-registration-manager-dashboard .site-content,
body.csl-registration-manager-dashboard .site-main,
body.csl-registration-manager-dashboard #content,
body.csl-registration-manager-dashboard #main,
body.csl-registration-manager-dashboard main#main,
body.csl-registration-manager-dashboard .content-wrap,
body.csl-registration-manager-dashboard .content-area,
body.csl-registration-manager-dashboard #primary,
body.csl-registration-manager-dashboard .site-content .container,
body.csl-registration-manager-dashboard .site-main .container,
body.csl-registration-manager-dashboard .nv-single-page-wrap,
body.csl-registration-manager-dashboard .nv-content-wrap,
body.csl-registration-manager-dashboard .entry-content-wrap,
body.csl-registration-manager-dashboard .entry-content,
body.csl-registration-manager-dashboard article {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

body.csl-registration-manager-dashboard #content > .container > .row,
body.csl-registration-manager-dashboard .site-content > .container > .row,
body.csl-registration-manager-dashboard .site-main > .container > .row,
body.csl-registration-manager-dashboard .site-content .container > .row,
body.csl-registration-manager-dashboard .site-main .container > .row {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.csl-registration-manager-dashboard .csl-registration--manager {
    position: static !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    transform: none !important;
}

body.csl-registration-manager-dashboard .csl-registration--manager > .csl-reg-shell {
    box-sizing: border-box !important;
    width: min(1680px, calc(100% - 24px)) !important;
    max-width: none !important;
    margin: 0 auto !important;
}

@media (max-width: 560px) {
    body.csl-registration-manager-dashboard .csl-registration--manager > .csl-reg-shell {
        width: calc(100% - 16px) !important;
    }
}

/* V1.47 : supprimer la barre/espace vertical résiduel entre le menu du site
 * et le tableau de bord interne. Cette correction ne s'applique qu'aux
 * enveloppes qui contiennent réellement la gestion des inscriptions. */
body.csl-registration-manager-dashboard :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-registration--manager) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    row-gap: 0 !important;
}

/* Repli pour les thèmes/navigateurs qui n'appliquent pas :has(). */
body.csl-registration-manager-dashboard #page,
body.csl-registration-manager-dashboard .site,
body.csl-registration-manager-dashboard .site-content,
body.csl-registration-manager-dashboard .site-main,
body.csl-registration-manager-dashboard #content,
body.csl-registration-manager-dashboard #main,
body.csl-registration-manager-dashboard main#main,
body.csl-registration-manager-dashboard .content-wrap,
body.csl-registration-manager-dashboard .content-area,
body.csl-registration-manager-dashboard #primary,
body.csl-registration-manager-dashboard .site-content .container,
body.csl-registration-manager-dashboard .site-main .container,
body.csl-registration-manager-dashboard .nv-single-page-wrap,
body.csl-registration-manager-dashboard .nv-content-wrap,
body.csl-registration-manager-dashboard .entry-content-wrap,
body.csl-registration-manager-dashboard .entry-content,
body.csl-registration-manager-dashboard article {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
}

/* Certains thèmes dessinent cet espace avec un pseudo-élément de l'enveloppe
 * de contenu. Il est sans utilité sur ce tableau de bord. */
body.csl-registration-manager-dashboard :where(
    .site-content,
    .site-main,
    #content,
    #main,
    main#main,
    .content-wrap,
    .content-area,
    #primary,
    .nv-single-page-wrap,
    .nv-content-wrap,
    .entry-content-wrap,
    .entry-content,
    article
):has(.csl-registration--manager)::before,
body.csl-registration-manager-dashboard :where(
    .site-content,
    .site-main,
    #content,
    #main,
    main#main,
    .content-wrap,
    .content-area,
    #primary,
    .nv-single-page-wrap,
    .nv-content-wrap,
    .entry-content-wrap,
    .entry-content,
    article
):has(.csl-registration--manager)::after {
    display: none !important;
    content: none !important;
}

/* Le menu reste inchangé ; seule son éventuelle marge basse est neutralisée
 * sur la page interne pour que le contenu commence immédiatement dessous. */
body.csl-registration-manager-dashboard .site-header,
body.csl-registration-manager-dashboard header.site-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* V1.48 : certains thèmes conservent l’espace supérieur dans une enveloppe
 * dont la classe change selon le modèle de page. On neutralise donc les
 * espacements verticaux de tous les ancêtres réels du module, uniquement sur
 * le tableau de bord interne. Le menu n’est pas un ancêtre du module et reste
 * donc inchangé. */
body.csl-registration-manager-dashboard :where(*):has(.csl-registration--manager) {
    box-sizing: border-box !important;
    margin-block-start: 0 !important;
    margin-block-end: 0 !important;
    padding-block-start: 0 !important;
    padding-block-end: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    row-gap: 0 !important;
    column-gap: 0 !important;
}

body.csl-registration-manager-dashboard :where(*):has(.csl-registration--manager)::before,
body.csl-registration-manager-dashboard :where(*):has(.csl-registration--manager)::after {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    content: none !important;
}

/* V1.49 : l’éditeur d’un dossier doit utiliser la même largeur utile que le
 * tableau de bord. Jusqu’ici les corrections V1.43 à V1.48 ne s’appliquaient
 * qu’à body.csl-registration-manager-dashboard ; l’ouverture d’un dossier
 * restait donc enfermée dans le conteneur central du thème sur iPad. */
body.csl-registration-manager-editor {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

body.csl-registration-manager-editor :where(*):has(.csl-registration--editor) {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    inset: auto !important;
    row-gap: 0 !important;
    column-gap: 0 !important;
}

/* Repli pour les thèmes/navigateurs qui n’appliquent pas :has(). */
body.csl-registration-manager-editor #page,
body.csl-registration-manager-editor .site,
body.csl-registration-manager-editor .site-content,
body.csl-registration-manager-editor .site-main,
body.csl-registration-manager-editor #content,
body.csl-registration-manager-editor #main,
body.csl-registration-manager-editor main#main,
body.csl-registration-manager-editor .content-wrap,
body.csl-registration-manager-editor .content-area,
body.csl-registration-manager-editor #primary,
body.csl-registration-manager-editor .site-content .container,
body.csl-registration-manager-editor .site-main .container,
body.csl-registration-manager-editor .nv-single-page-wrap,
body.csl-registration-manager-editor .nv-content-wrap,
body.csl-registration-manager-editor .entry-content-wrap,
body.csl-registration-manager-editor .entry-content,
body.csl-registration-manager-editor article {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

body.csl-registration-manager-editor #content > .container > .row,
body.csl-registration-manager-editor .site-content > .container > .row,
body.csl-registration-manager-editor .site-main > .container > .row,
body.csl-registration-manager-editor .site-content .container > .row,
body.csl-registration-manager-editor .site-main .container > .row {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

/* Le bandeau de titre du thème ne doit pas ajouter un second titre ou un
 * grand espace au-dessus de l’éditeur. Le bandeau interne du dossier, lui,
 * n’utilise aucune de ces classes et reste affiché. */
body.csl-registration-manager-editor :where(
    .nv-page-title-wrap,
    .nv-page-title,
    .page-header,
    .page-title-wrap,
    .page-titlebar,
    .page-title-section,
    .page-heading,
    .page-hero,
    .page-banner,
    .csl-page-header,
    .csl-page-hero,
    .site-page-header,
    .entry-header,
    header.entry-header,
    .entry-title,
    h1.entry-title,
    .wp-block-post-title,
    .post-title,
    [class*="page-title"],
    [class*="page-header"]
) {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.csl-registration-manager-editor .csl-registration--manager.csl-registration--editor {
    position: static !important;
    display: block !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 0 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

body.csl-registration-manager-editor .csl-registration--manager.csl-registration--editor > .csl-reg-shell {
    box-sizing: border-box !important;
    width: min(1680px, calc(100% - 24px)) !important;
    max-width: none !important;
    margin: 0 auto !important;
}

body.csl-registration-manager-editor .csl-registration--manager.csl-registration--editor .csl-reg-manager-form {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
}

@media (max-width: 560px) {
    body.csl-registration-manager-editor .csl-registration--manager.csl-registration--editor > .csl-reg-shell {
        width: calc(100% - 16px) !important;
    }
}

/* V1.61 : un dossier seulement validé verrouille l’identité ; après
 * « Informé », les blocs du dossier deviennent consultatifs hors du suivi
 * interne. Le verrouillage est aussi appliqué côté serveur. */
.csl-reg-locked-fields {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    opacity: .78;
}

.csl-reg-locked-fields--identity {
    display: block;
}

.csl-reg-locked-fields[disabled] input,
.csl-reg-locked-fields[disabled] select,
.csl-reg-locked-fields[disabled] textarea,
.csl-reg-locked-fields[disabled] button {
    cursor: not-allowed;
}

.csl-reg-existing-files.is-locked .csl-reg-existing-file__locked {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    border-radius: 999px;
    color: #477568;
    background: #eaf8f2;
    font-size: 10px;
    font-weight: 850;
}

.csl-reg-validation-informed-field.is-locked {
    border-color: rgba(37, 108, 88, .34);
    background: #eaf8f2;
}

.csl-reg-validation-informed-field.is-locked > span > strong {
    color: #256c58;
}

.csl-reg-payment-ledger-editable-note {
    display: block;
    margin-top: 9px;
    color: #256c58;
    font-size: 12px;
    font-weight: 700;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--confirmation {
    border-color: #7b3e9e;
    background: #9d55bf;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--confirmation::before {
    content: "✉";
    font-size: 11px;
}

.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--confirmation.is-complete {
    border-color: #2c765d;
    background: #4a9a78;
    cursor: default;
}

.csl-reg-confirmation-modal[hidden] {
    display: none !important;
}

.csl-reg-confirmation-modal {
    position: fixed;
    z-index: 100000;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 22px;
}

.csl-reg-confirmation-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(17, 29, 42, .62);
    backdrop-filter: blur(4px);
}

.csl-reg-confirmation-modal__dialog {
    position: relative;
    display: grid;
    width: min(720px, 100%);
    max-height: min(900px, calc(100vh - 44px));
    overflow: auto;
    padding: 24px;
    border: 1px solid rgba(101, 143, 170, .3);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 26px 70px rgba(17, 29, 42, .3);
}

.csl-reg-confirmation-modal__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.csl-reg-confirmation-modal__head h2 {
    margin: 4px 0 0;
    color: var(--cslreg-ink);
    font-size: clamp(23px, 4vw, 32px);
}

.csl-reg-confirmation-modal__head p {
    max-width: 600px;
    margin: 8px 0 0;
    color: var(--cslreg-muted);
    font-size: 13px;
    line-height: 1.55;
}

.csl-reg-confirmation-modal__close {
    display: inline-grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: var(--cslreg-ink);
    cursor: pointer;
    font-size: 25px;
    line-height: 1;
}

.csl-reg-confirmation-form {
    display: grid;
    gap: 14px;
}

.csl-reg-confirmation-form > label {
    display: grid;
    gap: 6px;
}

.csl-reg-confirmation-form > label > span {
    color: var(--cslreg-ink);
    font-size: 12px;
    font-weight: 850;
}

.csl-reg-confirmation-form > label > input,
.csl-reg-confirmation-form > label > textarea {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid rgba(101, 143, 170, .32);
    border-radius: 11px;
    color: var(--cslreg-ink);
    background: #fff;
    font: inherit;
}

.csl-reg-confirmation-form > label > input {
    min-height: 44px;
    padding: 9px 12px;
}

.csl-reg-confirmation-form > label > textarea {
    min-height: 245px;
    padding: 12px;
    resize: vertical;
    line-height: 1.55;
}

.csl-reg-confirmation-form > label > input[readonly] {
    color: #477568;
    background: #f0faf5;
}

.csl-reg-confirmation-form > label > small,
.csl-reg-confirmation-attachments small {
    color: var(--cslreg-muted);
    font-size: 10px;
    line-height: 1.45;
}

.csl-reg-confirmation-attachments {
    padding: 14px 16px;
    border: 1px solid rgba(157, 85, 191, .24);
    border-radius: 14px;
    background: #fbf7fd;
}

.csl-reg-confirmation-attachments strong {
    color: #71318e;
    font-size: 12px;
}

.csl-reg-confirmation-attachments ul {
    margin: 8px 0 8px 18px;
    padding: 0;
    color: var(--cslreg-ink);
    font-size: 12px;
    line-height: 1.55;
}

.csl-reg-confirmation-form__actions {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    padding-top: 3px;
}

body.csl-confirmation-modal-open {
    overflow: hidden;
}

@media (max-width: 640px) {
    .csl-reg-confirmation-modal {
        align-items: end;
        padding: 8px;
    }

    .csl-reg-confirmation-modal__dialog {
        max-height: calc(100vh - 16px);
        padding: 18px;
        border-radius: 18px;
    }

    .csl-reg-confirmation-form__actions {
        flex-direction: column-reverse;
    }

    .csl-reg-confirmation-form__actions .csl-reg-button {
        width: 100%;
    }
}

/* V1.68 : les pages de pointage utilisent leur propre bannière CSL.
 * L’en-tête injecté par le thème (ligne + titre de page) et les espacements
 * de ses conteneurs ne doivent donc pas réserver une seconde zone au-dessus
 * du module, que la page soit celle du gestionnaire ou celle d’un intervenant. */
body.csl-attendance-manager-page,
body.csl-attendance-person-page {
    overflow-x: hidden !important;
}

body.csl-attendance-manager-page :where(
    .nv-page-title-wrap,
    .nv-page-title,
    .page-header,
    .page-title-wrap,
    .page-titlebar,
    .page-title-section,
    .page-heading,
    .page-hero,
    .page-banner,
    .csl-page-header,
    .csl-page-hero,
    .site-page-header,
    .entry-header,
    header.entry-header,
    .entry-title,
    h1.entry-title,
    .wp-block-post-title,
    .post-title,
    [class*="page-title"],
    [class*="page-header"]
),
body.csl-attendance-person-page :where(
    .nv-page-title-wrap,
    .nv-page-title,
    .page-header,
    .page-title-wrap,
    .page-titlebar,
    .page-title-section,
    .page-heading,
    .page-hero,
    .page-banner,
    .csl-page-header,
    .csl-page-hero,
    .site-page-header,
    .entry-header,
    header.entry-header,
    .entry-title,
    h1.entry-title,
    .wp-block-post-title,
    .post-title,
    [class*="page-title"],
    [class*="page-header"]
) {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

body.csl-attendance-manager-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--manager),
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) {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    row-gap: 0 !important;
}

body.csl-attendance-manager-page :where(
    .site-content,
    .site-main,
    #content,
    #main,
    main#main,
    .content-wrap,
    .content-area,
    #primary,
    .nv-single-page-wrap,
    .nv-content-wrap,
    .entry-content-wrap,
    .entry-content,
    article
):has(.csl-attendance--manager)::before,
body.csl-attendance-manager-page :where(
    .site-content,
    .site-main,
    #content,
    #main,
    main#main,
    .content-wrap,
    .content-area,
    #primary,
    .nv-single-page-wrap,
    .nv-content-wrap,
    .entry-content-wrap,
    .entry-content,
    article
):has(.csl-attendance--manager)::after,
body.csl-attendance-person-page :where(
    .site-content,
    .site-main,
    #content,
    #main,
    main#main,
    .content-wrap,
    .content-area,
    #primary,
    .nv-single-page-wrap,
    .nv-content-wrap,
    .entry-content-wrap,
    .entry-content,
    article
):has(.csl-attendance--instructor)::before,
body.csl-attendance-person-page :where(
    .site-content,
    .site-main,
    #content,
    #main,
    main#main,
    .content-wrap,
    .content-area,
    #primary,
    .nv-single-page-wrap,
    .nv-content-wrap,
    .entry-content-wrap,
    .entry-content,
    article
):has(.csl-attendance--instructor)::after {
    display: none !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    content: none !important;
}

/* Repli pour les conteneurs classiques lorsque :has() n’est pas disponible. */
body.csl-attendance-manager-page #page,
body.csl-attendance-manager-page .site,
body.csl-attendance-manager-page .site-content,
body.csl-attendance-manager-page .site-main,
body.csl-attendance-manager-page #content,
body.csl-attendance-manager-page #main,
body.csl-attendance-manager-page main#main,
body.csl-attendance-manager-page .content-wrap,
body.csl-attendance-manager-page .content-area,
body.csl-attendance-manager-page #primary,
body.csl-attendance-manager-page .nv-single-page-wrap,
body.csl-attendance-manager-page .nv-content-wrap,
body.csl-attendance-manager-page .entry-content-wrap,
body.csl-attendance-manager-page .entry-content,
body.csl-attendance-manager-page article,
body.csl-attendance-person-page #page,
body.csl-attendance-person-page .site,
body.csl-attendance-person-page .site-content,
body.csl-attendance-person-page .site-main,
body.csl-attendance-person-page #content,
body.csl-attendance-person-page #main,
body.csl-attendance-person-page main#main,
body.csl-attendance-person-page .content-wrap,
body.csl-attendance-person-page .content-area,
body.csl-attendance-person-page #primary,
body.csl-attendance-person-page .nv-single-page-wrap,
body.csl-attendance-person-page .nv-content-wrap,
body.csl-attendance-person-page .entry-content-wrap,
body.csl-attendance-person-page .entry-content,
body.csl-attendance-person-page article {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    border-top: 0 !important;
    border-bottom: 0 !important;
}

body.csl-attendance-manager-page .csl-attendance--manager,
body.csl-attendance-person-page .csl-attendance--instructor {
    min-height: 0 !important;
    padding-top: 8px !important;
}

body.csl-attendance-manager-page .site-header,
body.csl-attendance-manager-page header.site-header,
body.csl-attendance-person-page .site-header,
body.csl-attendance-person-page header.site-header {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* CSL v69 dashboard */
.csl-manager-v69{background:#f5f6f8;padding:26px 0 55px}.csl-v69-topbar,.csl-v69-section{background:#fff;border:1px solid #e5e7eb;border-radius:24px;box-shadow:0 10px 30px rgba(0,0,0,.045)}.csl-v69-topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 28px;margin-bottom:14px}.csl-v69-topbar h1{margin:3px 0;font-size:34px}.csl-v69-topbar p{margin:0;color:#6b7280}.csl-v69-topbar__actions{display:flex;gap:10px;align-items:center}.csl-v69-quicknav{display:flex;flex-wrap:wrap;gap:7px;padding:9px;background:#1b1d22;border-radius:16px;margin-bottom:16px;position:sticky;top:10px;z-index:10}.csl-v69-quicknav a{color:#fff;text-decoration:none;font-weight:800;font-size:13px;padding:9px 12px;border-radius:10px}.csl-v69-quicknav a:hover{background:#34373e}.csl-v69-section{padding:25px;margin-bottom:17px;scroll-margin-top:85px}.csl-v69-section__head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:18px}.csl-v69-section__head h2{margin:3px 0;font-size:25px}.csl-v69-section__head p{margin:4px 0;color:#6b7280}.csl-v69-eyebrow{color:#c51f26;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.csl-v69-com-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.csl-v69-com-card{display:flex;gap:16px;padding:23px;border-radius:20px;color:#fff;text-decoration:none;min-height:155px}.csl-v69-com-card--mail{background:linear-gradient(135deg,#1d2430,#465164)}.csl-v69-com-card--poster{background:linear-gradient(135deg,#aa151b,#e33138)}.csl-v69-com-icon{display:grid;place-items:center;width:50px;height:50px;flex:0 0 50px;border-radius:14px;background:rgba(255,255,255,.15);font-size:24px}.csl-v69-com-card strong{font-size:20px}.csl-v69-com-card p{color:rgba(255,255,255,.82);line-height:1.45}.csl-v69-listcount{display:flex;justify-content:space-between;gap:12px;margin:15px 0}.csl-v69-section .csl-reg-capacity-panel{margin:0;padding:0;border:0;box-shadow:none;background:transparent}
.csl-v69-tool{background:#f5f6f8;padding:28px 0 55px}.csl-v69-toolhero{margin:18px 0}.csl-v69-toolhero h1{font-size:38px;margin:3px 0}.csl-v69-compose{background:#fff;border:1px solid #e5e7eb;border-radius:24px;padding:26px;max-width:900px}.csl-v69-compose__meta{display:flex;gap:9px;align-items:baseline;background:#f3f4f6;padding:15px;border-radius:14px;margin-bottom:18px}.csl-v69-compose__meta strong{font-size:30px}.csl-v69-compose label{display:block;margin-bottom:17px}.csl-v69-compose label span{display:block;font-weight:800;margin-bottom:6px}.csl-v69-compose input,.csl-v69-compose textarea{width:100%;box-sizing:border-box;border:1px solid #cfd4dc;border-radius:12px;padding:12px;font:inherit}.csl-v69-warning{background:#fff5d7;border:1px solid #eed17c;padding:14px;border-radius:13px;margin-bottom:16px;display:flex;flex-direction:column}
.csl-v69-poster-shell{max-width:1000px}.csl-v69-poster-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.csl-v69-poster-controls>div{display:flex;gap:9px}.csl-v69-poster{width:794px;min-height:1123px;margin:auto;background:#f6f1e8;color:#171717;box-shadow:0 20px 55px rgba(0,0,0,.16);overflow:hidden;font-family:Arial,sans-serif}.csl-v69-poster header{height:180px;background:#d3222a;color:#fff;display:flex;justify-content:space-between;align-items:center;padding:30px 55px;box-sizing:border-box}.csl-v69-poster header img{width:120px;height:120px;object-fit:contain}.csl-v69-poster header div{text-align:right}.csl-v69-poster header span{font-weight:800}.csl-v69-poster header strong{display:block;font-size:29px;line-height:1;margin-top:7px}.csl-v69-poster-title{padding:46px 58px 25px}.csl-v69-poster-title>span{font-size:13px;color:#c91f26;font-weight:900;letter-spacing:.13em}.csl-v69-poster-title h1{font-size:58px;line-height:.94;letter-spacing:-.04em;margin:12px 0 18px}.csl-v69-poster-title p{font-size:21px}.csl-v69-poster-activities{margin:12px 54px;background:#191b20;color:#fff;border-radius:25px;padding:28px}.csl-v69-poster-activities h2{font-size:14px;letter-spacing:.16em;color:#ef5b60}.csl-v69-poster-activities>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}.csl-v69-poster-activities strong{font-size:21px;padding:13px;border-left:4px solid #d3222a;background:rgba(255,255,255,.06);border-radius:7px}.csl-v69-poster-bottom{display:grid;grid-template-columns:1fr 220px;gap:30px;align-items:center;padding:35px 58px}.csl-v69-poster-bottom h3{font-size:22px;margin:0}.csl-v69-poster-bottom p{font-size:17px;line-height:1.45}.csl-v69-poster-bottom b{background:#d3222a;color:#fff;padding:10px 15px;border-radius:99px}.csl-v69-poster-qr{text-align:center}.csl-v69-poster-qr img{width:190px;height:190px;background:#fff;padding:6px;box-sizing:border-box}.csl-v69-poster-qr strong,.csl-v69-poster-qr span{display:block}.csl-v69-poster-qr strong{font-size:17px;margin-top:5px}.csl-v69-poster footer{background:#d3222a;color:#fff;display:flex;justify-content:space-between;padding:22px 58px;align-items:center}.csl-v69-poster footer strong{font-size:25px}.csl-v69-poster footer span{font-size:11px;font-weight:900;letter-spacing:.1em}.csl-v69-poster-tip{text-align:center;color:#6b7280;font-size:13px}
@media(max-width:820px){.csl-v69-topbar,.csl-v69-section__head,.csl-v69-poster-controls{flex-direction:column;align-items:stretch}.csl-v69-com-grid{grid-template-columns:1fr}.csl-v69-quicknav{position:static}.csl-v69-poster{transform:scale(.43);transform-origin:top left;margin-bottom:-635px}.csl-v69-poster-shell{overflow:hidden}}
@media print{body *{visibility:hidden!important}.csl-v69-poster,.csl-v69-poster *{visibility:visible!important}.csl-v69-poster{position:absolute;left:0;top:0;width:210mm;min-height:297mm;box-shadow:none;transform:none!important}.csl-v69-poster-controls,.csl-v69-poster-tip{display:none!important}@page{size:A4;margin:0}}


/* === CSL v72 : affiche A4 pleine page, colorée et lisible === */
.csl-v72-tool{background:#f1f3f6;padding:26px 0 56px}
.csl-v72-poster-shell{max-width:1120px}
.csl-v72-poster-controls{margin-bottom:18px}
.csl-v72-poster-controls>div{display:flex;gap:9px;align-items:center}
.csl-v72-poster-controls .csl-v72-poster-mail{color:#fff!important;border-color:#1c2a3d;background:#1c2a3d;box-shadow:0 12px 24px rgba(28,42,61,.2)}
.csl-v72-poster-controls .csl-v72-poster-mail:hover,.csl-v72-poster-controls .csl-v72-poster-mail:focus-visible{color:#fff!important;border-color:#30445f;background:#30445f;box-shadow:0 15px 28px rgba(28,42,61,.28)}
body.csl-registration-page .csl-v72-poster{width:794px!important;max-width:none!important;min-width:0!important;margin:0 auto!important;padding:0!important}
.csl-v72-poster{position:relative;width:794px;height:1123px;box-sizing:border-box;margin:0 auto;display:flex;flex-direction:column;overflow:hidden;border-radius:34px;background:#f8fafc;color:#182234;box-shadow:0 24px 60px rgba(21,31,49,.2);font-family:Arial,Helvetica,sans-serif;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.csl-v72-poster__blob{position:absolute;z-index:0;border-radius:999px;pointer-events:none}
.csl-v72-poster__blob--coral{width:480px;height:480px;right:-210px;top:120px;background:radial-gradient(circle at 40% 40%,rgba(255,103,91,.28),rgba(255,103,91,0) 70%)}
.csl-v72-poster__blob--blue{width:580px;height:580px;left:-300px;bottom:-230px;background:radial-gradient(circle at 55% 40%,rgba(91,157,255,.24),rgba(91,157,255,0) 70%)}
.csl-v72-poster>header,.csl-v72-poster>section,.csl-v72-poster>footer{position:relative;z-index:1;box-sizing:border-box}
.csl-v72-poster__header{height:142px;flex:0 0 142px;display:flex;justify-content:space-between;align-items:center;padding:24px 38px 18px;background:#fff}
.csl-v72-brand{display:flex;align-items:center;gap:16px;min-width:0}
.csl-v72-brand__logo{width:248px;height:84px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:6px 10px;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(30,42,61,.1);overflow:hidden}
.csl-v72-brand__logo img{display:block;width:100%;height:auto;max-height:70px;object-fit:contain}
.csl-v72-brand__strap{font-size:16px;line-height:1.06;color:#687386;letter-spacing:.01em}
.csl-v72-brand__strap span,.csl-v72-brand__strap strong{display:block}
.csl-v72-brand__strap strong{font-size:20px;color:#182234;margin-top:3px}
.csl-v72-season{width:142px;height:82px;box-sizing:border-box;padding:12px 15px;border-radius:24px;background:linear-gradient(135deg,#d51e2a,#ff725f);color:#fff;text-align:center;box-shadow:0 14px 28px rgba(213,30,42,.25)}
.csl-v72-season span{display:block;font-size:12px;font-weight:900;letter-spacing:.16em}
.csl-v72-season strong{display:block;font-size:25px;line-height:1;margin-top:5px}
.csl-v72-season em{display:block;font-style:normal;font-size:11px;font-weight:800;margin-top:7px;opacity:.9}
.csl-v72-hero{height:278px;flex:0 0 278px;display:grid;grid-template-columns:1.32fr .68fr;gap:18px;padding:0 36px 24px;background:#fff}
.csl-v72-hero__main{position:relative;overflow:hidden;padding:27px 30px 24px;border-radius:32px;background:linear-gradient(135deg,#151e2d,#2b3546);color:#fff;box-shadow:0 16px 34px rgba(21,31,49,.2)}
.csl-v72-hero__main:after{content:"";position:absolute;width:190px;height:190px;right:-64px;bottom:-88px;border:26px solid rgba(255,111,95,.8);border-radius:999px}
.csl-v72-kicker{position:relative;z-index:1;display:inline-block;margin-bottom:12px;color:#ffb6a8;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.csl-v72-hero__main h1{position:relative;z-index:1;margin:0 0 13px;font-size:49px;line-height:.87;letter-spacing:-.05em}
.csl-v72-hero__main h1 span{color:#ff7668}
.csl-v72-hero__main p{position:relative;z-index:1;max-width:465px;margin:0;color:#eef2f7;font-size:15px;line-height:1.25}
.csl-v72-hero__callout{position:relative;overflow:hidden;padding:27px 24px;border-radius:32px;background:linear-gradient(145deg,#ff725f,#d51e2a);color:#fff;box-shadow:0 16px 34px rgba(213,30,42,.22)}
.csl-v72-hero__callout:after{content:"";position:absolute;width:145px;height:145px;right:-55px;top:-48px;border-radius:999px;background:rgba(255,255,255,.16)}
.csl-v72-hero__callout span,.csl-v72-hero__callout strong,.csl-v72-hero__callout em{position:relative;z-index:1;display:block}
.csl-v72-hero__callout span{font-size:11px;font-weight:900;letter-spacing:.14em}
.csl-v72-hero__callout strong{margin-top:18px;font-size:36px;line-height:.91;letter-spacing:-.04em}
.csl-v72-hero__callout em{margin-top:19px;font-style:normal;font-size:15px;line-height:1.25;font-weight:800;color:#fff2ef}
.csl-v72-activities{height:340px;flex:0 0 340px;padding:0 36px 24px;background:#fff}
.csl-v72-section-title{height:58px;display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:0 0 12px}
.csl-v72-section-title span{display:block;color:#d51e2a;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.csl-v72-section-title h2{margin:5px 0 0;font-size:29px;line-height:1.02;letter-spacing:-.035em}
.csl-v72-section-title small{padding-bottom:3px;color:#6b7687;font-size:12px;font-weight:800;white-space:nowrap}
.csl-v72-activities__grid{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:75px;gap:10px}
.csl-v72-activity-card{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;min-width:0;padding:10px 14px;border:1px solid rgba(24,34,52,.08);border-radius:22px;background:#fff;box-shadow:0 9px 20px rgba(30,42,61,.075)}
.csl-v72-activity-card--wide{grid-column:1 / -1}
.csl-v72-activity-card__mark{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:16px;color:#fff;font-size:23px;font-weight:900;box-shadow:inset 0 1px 0 rgba(255,255,255,.4)}
.csl-v72-activity-card__content{min-width:0}
.csl-v72-activity-card__content strong{display:block;overflow:hidden;color:#182234;font-size:19px;line-height:1.03;text-overflow:ellipsis;white-space:nowrap}
.csl-v72-activity-card__content span{display:block;margin-top:6px;overflow:hidden;color:#697487;font-size:13px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}
.csl-v72-activity-card em{font-style:normal;color:#182234;background:#f1f4f8;border-radius:999px;padding:8px 10px;font-size:11px;font-weight:900;white-space:nowrap}
.csl-v72-activity-card__title{display:flex;align-items:center;gap:8px;min-width:0}
.csl-v72-activity-card__title strong{min-width:0;flex:0 1 auto}
.csl-v72-activity-card__title em{flex:0 0 auto}
.csl-v72-activity-card--sage .csl-v72-activity-card__mark{background:linear-gradient(135deg,#c39c57,#dfbe7a)}
.csl-v72-activity-card--blue .csl-v72-activity-card__mark{background:linear-gradient(135deg,#4a94ff,#78c4ff)}
.csl-v72-activity-card--lilac .csl-v72-activity-card__mark{background:linear-gradient(135deg,#8a6df4,#c096ff)}
.csl-v72-activity-card--coral .csl-v72-activity-card__mark{background:linear-gradient(135deg,#ff6756,#ff9f70)}
.csl-v72-activity-card--teal .csl-v72-activity-card__mark{background:linear-gradient(135deg,#18ad99,#55d4be)}
.csl-v72-bottom{height:285px;flex:0 0 285px;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:0 36px 23px;background:#fff}
.csl-v72-place-card,.csl-v72-qr-card{height:239px;box-sizing:border-box;border-radius:30px;box-shadow:0 12px 28px rgba(30,42,61,.1)}
.csl-v72-place-card{padding:17px 20px;background:#edf4ff;border:1px solid rgba(80,145,235,.12)}
.csl-v72-card-label{display:inline-flex;padding:7px 10px;border-radius:999px;background:#fff0eb;color:#d51e2a;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.csl-v72-place-card h3{margin:10px 0 7px;color:#182234;font-size:24px;line-height:1.01;letter-spacing:-.035em}
.csl-v72-place-card p{margin:0;color:#4f5d73;font-size:14px;line-height:1.25}
.csl-v72-place-card p strong{color:#182234}
.csl-v72-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}
.csl-v72-tags span{padding:6px 8px;border-radius:999px;background:#fff;color:#40506a;font-size:9px;font-weight:900}
.csl-v72-qr-card{display:grid;grid-template-columns:1fr 145px;gap:12px;align-items:center;padding:20px 19px;background:linear-gradient(135deg,#fff4ef,#fff);border:1px solid rgba(213,30,42,.1)}
.csl-v72-qr-card__copy .csl-v72-card-label{margin-bottom:13px}
.csl-v72-qr-card__copy strong{display:block;color:#d51e2a;font-size:25px;line-height:.98;letter-spacing:-.04em}
.csl-v72-qr-card__copy>span:not(.csl-v72-card-label){display:block;margin-top:12px;color:#657184;font-size:13px;line-height:1.25}
.csl-v72-qr-card__copy b{display:inline-block;margin-top:12px;padding:8px 10px;border-radius:10px;background:#182234;color:#fff;font-size:14px}
.csl-v72-qr-card img{display:block;width:145px;height:145px;box-sizing:border-box;padding:7px;border-radius:18px;background:#fff;box-shadow:0 8px 19px rgba(30,42,61,.12);image-rendering:auto}
.csl-v72-footer{height:78px;flex:0 0 78px;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:0 38px;background:linear-gradient(135deg,#d51e2a,#f25d58);color:#fff}
.csl-v72-footer span{display:inline-flex;padding:10px 13px;border-radius:999px;background:rgba(255,255,255,.16);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.csl-v72-footer strong{font-size:23px;letter-spacing:-.03em}
.csl-v72-poster-tip{text-align:center}
@media(max-width:820px){
  .csl-v72-tool{padding-top:18px}
  .csl-v72-poster-shell{width:100%;overflow:hidden}
  .csl-v72-poster{transform:scale(.43);transform-origin:top center;margin-left:calc((100% - 341px)/2);margin-right:0;margin-bottom:-641px;border-radius:25px}
  .csl-v72-poster-controls{align-items:stretch}
  .csl-v72-poster-controls>div{flex-wrap:wrap}
}
/* Impression : la page courante reste un filet de sécurité. Le bouton ouvre
 * aussi une fenêtre ne contenant que l’affiche afin qu’iOS ne puisse pas
 * imprimer le thème WordPress sur une page séparée. */
@media print{
  @page{size:A4 portrait;margin:0}
  html,body{width:210mm!important;height:297mm!important;min-height:0!important;max-height:297mm!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#fff!important}
  body.csl-registration-manager-poster *{visibility:hidden!important}
  body.csl-registration-manager-poster .csl-v72-poster-shell{position:absolute!important;left:0!important;top:0!important;width:210mm!important;height:296mm!important;max-width:none!important;margin:0!important;padding:0!important;overflow:hidden!important;visibility:hidden!important}
  body.csl-registration-manager-poster .csl-v72-poster,body.csl-registration-manager-poster .csl-v72-poster *{visibility:visible!important}
  body.csl-registration-manager-poster .csl-v72-poster{position:absolute!important;left:0!important;top:0!important;width:210mm!important;height:296mm!important;min-height:0!important;max-height:296mm!important;margin:0!important;transform:scale(.985)!important;transform-origin:top center!important;box-shadow:none!important;border-radius:0!important;overflow:hidden!important;page-break-before:avoid!important;page-break-after:avoid!important;page-break-inside:avoid!important;break-before:avoid-page!important;break-after:avoid-page!important;break-inside:avoid!important}
  body.csl-registration-manager-poster .csl-v69-poster-controls,body.csl-registration-manager-poster .csl-v69-poster-tip,body.csl-registration-manager-poster .csl-v72-poster-tip{display:none!important}
  body.csl-registration-manager-poster .csl-v72-poster__header{height:37.4mm;flex-basis:37.4mm;padding:6.35mm 10.05mm 4.76mm}
  body.csl-registration-manager-poster .csl-v72-hero{height:73.35mm;flex-basis:73.35mm;padding:0 9.52mm 6.35mm;gap:4.76mm}
  body.csl-registration-manager-poster .csl-v72-activities{height:89.65mm;flex-basis:89.65mm;padding:0 9.52mm 6.35mm}
  body.csl-registration-manager-poster .csl-v72-bottom{height:75.1mm;flex-basis:75.1mm;padding:0 9.52mm 6.09mm;gap:4.23mm}
  body.csl-registration-manager-poster .csl-v72-footer{height:20.3mm;flex-basis:20.3mm;padding:0 10.05mm}
  body.csl-registration-manager-poster .csl-v72-place-card,body.csl-registration-manager-poster .csl-v72-qr-card{height:63.24mm}
  body.csl-registration-manager-poster .csl-v72-qr-card img{width:38.47mm;height:38.47mm}
  body.csl-registration-manager-poster .csl-v72-qr-card{grid-template-columns:1fr 38.47mm}
  body.csl-registration-manager-poster .csl-v72-activities__grid{grid-auto-rows:19.84mm}
}

/* === CSL v95 : finition de l’affiche, impression et envoi du PDF === */
.csl-v72-poster{border:1px solid rgba(24,34,52,.06);background:#f8fafc}
.csl-v72-poster__header{padding:22px 36px 16px}
.csl-v72-brand__logo{width:228px;height:82px;border:1px solid rgba(24,34,52,.06);box-shadow:0 8px 22px rgba(30,42,61,.08)}
.csl-v72-brand__strap{font-size:15px;color:#738096}
.csl-v72-brand__strap strong{font-size:19px}
.csl-v72-hero__main{background:linear-gradient(135deg,#101c2f,#304159);box-shadow:0 14px 30px rgba(21,31,49,.17)}
.csl-v72-hero__main h1{font-size:46px;line-height:.9;margin-bottom:14px}
.csl-v72-hero__main p{font-size:14px;line-height:1.3}
.csl-v72-hero__callout{background:linear-gradient(145deg,#ff7b68,#d51e2a);box-shadow:0 14px 30px rgba(213,30,42,.2)}
.csl-v72-hero__callout strong{font-size:34px}
.csl-v72-activity-card{border-color:rgba(24,34,52,.09);box-shadow:0 8px 18px rgba(30,42,61,.06)}
.csl-v72-activity-card__content strong{font-size:18px}
.csl-v72-activity-card__content span{font-size:12px}
.csl-v72-activities__grid{grid-template-rows:repeat(3,75px);grid-auto-flow:row}
.csl-v72-place-card{background:linear-gradient(135deg,#edf5ff,#f9fcff);border-color:rgba(80,145,235,.16)}
.csl-v72-qr-card{background:linear-gradient(135deg,#fff0eb,#fff);border-color:rgba(213,30,42,.13)}
.csl-v72-footer{background:linear-gradient(135deg,#c91827,#f2675e)}
.csl-poster-print-choice{display:flex;flex-direction:column;gap:4px;min-width:160px;color:#263241;font-size:11px;font-weight:800}
.csl-poster-print-choice span{font-size:11px;font-weight:800}
.csl-poster-print-choice select{height:42px;padding:0 12px;border:1px solid #cfd6df;border-radius:10px;background:#fff;color:#263241;font:inherit;font-size:13px}
.csl-poster-email-modal[hidden]{display:none!important}
.csl-poster-email-modal{position:fixed;z-index:100000;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(10,18,30,.62)}
.csl-poster-email-dialog{position:relative;width:min(520px,100%);box-sizing:border-box;padding:30px;border-radius:24px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.28);color:#182234}
.csl-poster-email-dialog h2{margin:7px 0 8px;font-size:28px;line-height:1.05}
.csl-poster-email-dialog p{margin:0 0 22px;color:#697487;line-height:1.5}
.csl-poster-email-close{position:absolute;top:12px;right:14px;width:36px;height:36px;border:0;border-radius:50%;background:#f1f4f8;color:#39475b;font-size:25px;line-height:1;cursor:pointer}
.csl-poster-email-form label{display:block;margin:0 0 20px}
.csl-poster-email-form label span{display:block;margin-bottom:7px;color:#263241;font-size:13px;font-weight:800}
.csl-poster-email-form input[type=email]{width:100%;box-sizing:border-box;height:48px;padding:0 13px;border:1px solid #cfd6df;border-radius:11px;background:#fff;color:#182234;font:inherit}
.csl-poster-email-form__actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}
body.csl-poster-email-modal-open{overflow:hidden!important}
@media(max-width:820px){
  .csl-v72-poster-controls>div{width:100%;align-items:stretch}
  .csl-poster-print-choice{flex:1 1 100%;min-width:0}
  .csl-poster-print-choice select{width:100%}
  .csl-v72-poster-controls>div>.csl-reg-button{flex:1 1 calc(50% - 5px);min-width:0}
  .csl-poster-email-dialog{padding:26px 20px}
}

/* CSL v95 : contraste renforcé de la carte « Créer l’affiche ».
 * Certaines règles du thème recolorent les strong/b dans les cartes rouges ;
 * le texte doit rester blanc pour conserver un contraste lisible. */
.csl-v69-com-card--poster,
.csl-v69-com-card--poster strong,
.csl-v69-com-card--poster p,
.csl-v69-com-card--poster b,
.csl-v69-com-card--poster .csl-v69-com-icon{color:#fff!important;-webkit-text-fill-color:#fff!important}
.csl-v69-com-card--poster strong,.csl-v69-com-card--poster b{ text-shadow:0 1px 2px rgba(92,0,0,.28)!important}

/* Sauvegarde complète du module CSL */
.csl-v69-backup-section{background:linear-gradient(135deg,#fff,#f4f8ff);border-color:#dce7f5}.csl-v69-backup-section .csl-v69-section__head{align-items:center}.csl-manager-backup-button{white-space:nowrap}.csl-v69-backup-card{display:flex;align-items:flex-start;gap:18px;padding:22px;border:1px solid #dce7f5;border-radius:20px;background:#f8fbff}.csl-v69-backup-icon{display:grid;place-items:center;flex:0 0 52px;width:52px;height:52px;border-radius:16px;background:linear-gradient(135deg,#1c2a3d,#476486);color:#fff;font-size:29px;font-weight:900}.csl-v69-backup-card strong{display:block;color:#1c2a3d;font-size:20px}.csl-v69-backup-card p{margin:7px 0;color:#56657a;line-height:1.5}.csl-v69-backup-card small{display:block;margin-top:13px;color:#68778b;line-height:1.45}.csl-v69-backup-tags{display:flex;flex-wrap:wrap;gap:7px}.csl-v69-backup-tags span{display:inline-flex;padding:7px 10px;border-radius:999px;background:#e7f0ff;color:#294664;font-size:11px;font-weight:900}.csl-v69-topbar__actions .csl-manager-backup-button{color:#fff!important}
@media(max-width:820px){.csl-v69-backup-section .csl-v69-section__head,.csl-v85-full-backup-section .csl-v69-section__head{align-items:stretch}.csl-manager-backup-button,.csl-manager-full-backup-button{white-space:normal}.csl-v69-backup-card{align-items:flex-start}}
.csl-v85-full-backup-section{background:linear-gradient(135deg,#fff,#f4f8ff);border-color:#dce7f5}.csl-v85-full-backup-section .csl-v69-section__head{align-items:center}.csl-manager-full-backup-button{white-space:nowrap}.csl-v69-topbar__actions .csl-manager-full-backup-button{color:#fff!important}

/* V1.92 : le thème Horizon utilise .csl-site-header. Les versions
 * précédentes ne le ciblaient pas, ce qui laissait son position:sticky actif
 * sur iPhone. Le tableau de bord reçoit aussi une vraie composition mobile :
 * aucune action ne peut sortir de la largeur de l’écran. */
body.csl-mobile-layout .csl-site-header,
body.csl-mobile-layout header.csl-site-header {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    margin-top: 0 !important;
}

body.csl-registration-manager-dashboard,
body.csl-registration-manager-dashboard #contenu,
body.csl-registration-manager-dashboard .csl-site-main,
body.csl-registration-manager-dashboard .csl-manager-v69,
body.csl-registration-manager-dashboard .csl-manager-v69 > .csl-reg-shell,
body.csl-registration-manager-dashboard .csl-v69-topbar,
body.csl-registration-manager-dashboard .csl-v69-topbar__actions,
body.csl-registration-manager-dashboard .csl-v69-quicknav,
body.csl-registration-manager-dashboard .csl-v69-section {
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

body.csl-registration-manager-dashboard #contenu,
body.csl-registration-manager-dashboard .csl-site-main {
    width: 100% !important;
    overflow-x: hidden !important;
}

@media (max-width: 820px) {
    body.csl-registration-manager-dashboard .csl-v69-topbar {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    body.csl-registration-manager-dashboard .csl-v69-topbar > div:first-child {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.csl-registration-manager-dashboard .csl-v69-topbar__actions {
        max-width: 100% !important;
        flex-wrap: wrap !important;
    }

    body.csl-registration-manager-dashboard .csl-v69-topbar__actions > a {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere;
    }

    body.csl-registration-manager-dashboard .csl-v69-quicknav {
        position: static !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.csl-registration-manager-dashboard .csl-v69-quicknav a {
        min-width: 0 !important;
        overflow-wrap: anywhere;
        text-align: center;
    }
}

@media (max-width: 560px) {
    body.csl-registration-manager-dashboard .csl-manager-v69 > .csl-reg-shell {
        width: calc(100% - 16px) !important;
        max-width: none !important;
    }

    body.csl-registration-manager-dashboard .csl-v69-topbar {
        width: 100% !important;
        gap: 14px !important;
        padding: 18px 14px !important;
        border-radius: 20px !important;
    }

    body.csl-registration-manager-dashboard .csl-v69-topbar h1 {
        max-width: 100% !important;
        font-size: clamp(27px, 8vw, 34px) !important;
        line-height: 1.05 !important;
        overflow-wrap: anywhere;
    }

    body.csl-registration-manager-dashboard .csl-v69-topbar p {
        max-width: 100% !important;
        font-size: 14px !important;
        line-height: 1.55 !important;
        overflow-wrap: anywhere;
    }

    body.csl-registration-manager-dashboard .csl-v69-topbar__actions {
        display: grid !important;
        width: 100% !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
    }

    body.csl-registration-manager-dashboard .csl-v69-topbar__actions > a {
        display: flex !important;
        width: 100% !important;
        min-height: 46px !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
        padding: 10px 12px !important;
        overflow-wrap: anywhere;
        text-align: center !important;
        white-space: normal !important;
    }

    body.csl-registration-manager-dashboard .csl-v69-quicknav {
        width: 100% !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 4px !important;
        padding: 6px !important;
        border-radius: 14px !important;
    }

    body.csl-registration-manager-dashboard .csl-v69-quicknav a {
        display: flex !important;
        min-height: 42px !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 8px 5px !important;
        font-size: 12px !important;
        line-height: 1.15 !important;
        white-space: normal !important;
    }

    body.csl-registration-manager-dashboard .csl-v69-quicknav a:last-child {
        grid-column: 1 / -1;
    }

    body.csl-registration-manager-dashboard .csl-v69-section {
        width: 100% !important;
        padding: 17px 13px !important;
        border-radius: 18px !important;
    }

    body.csl-registration-manager-dashboard .csl-v69-section__head,
    body.csl-registration-manager-dashboard .csl-v69-listcount {
        min-width: 0 !important;
        max-width: 100% !important;
    }

    body.csl-registration-manager-dashboard .csl-v69-section__head > *,
    body.csl-registration-manager-dashboard .csl-v69-listcount > * {
        min-width: 0 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere;
    }
}

/* === CSL v101 : mosaïque colorée et lisible pour « Nos activités » === */
.csl-v72-activities {
    background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%) !important;
}

.csl-v72-section-title {
    height: 64px !important;
    margin-bottom: 10px !important;
    align-items: center !important;
}

.csl-v72-section-title small {
    padding: 8px 11px !important;
    border-radius: 999px !important;
    background: #eef3fb !important;
    color: #52637a !important;
    font-size: 11px !important;
}

.csl-v72-activities__grid {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(2, 91px) !important;
    grid-auto-rows: 91px !important;
    grid-auto-flow: row !important;
    gap: 10px !important;
    align-content: start !important;
}

.csl-v72-activity-card,
.csl-v72-activity-card--wide {
    position: relative !important;
    grid-column: span 2 !important;
    grid-row: auto !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    width: auto !important;
    height: 91px !important;
    min-height: 91px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    padding: 11px 12px !important;
    border: 1px solid rgba(24, 34, 52, .09) !important;
    border-top: 4px solid var(--csl-activity-line, #658faa) !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, var(--csl-activity-bg, #f7fbff), #ffffff) !important;
    box-shadow: 0 9px 19px rgba(30, 42, 61, .07) !important;
}

.csl-v72-activity-card:nth-child(n + 4),
.csl-v72-activity-card--wide:nth-child(n + 4) {
    grid-column: span 3 !important;
}

.csl-v72-activity-card::after {
    position: absolute;
    right: -34px;
    bottom: -46px;
    width: 106px;
    height: 106px;
    border-radius: 50%;
    background: var(--csl-activity-line, #658faa);
    content: "";
    opacity: .11;
    pointer-events: none;
}

.csl-v72-activity-card--sage {
    --csl-activity-bg: #fffaf0;
    --csl-activity-line: #c39c57;
}

.csl-v72-activity-card--blue {
    --csl-activity-bg: #f1f7ff;
    --csl-activity-line: #4a94ff;
}

.csl-v72-activity-card--lilac {
    --csl-activity-bg: #f6f1ff;
    --csl-activity-line: #8a6df4;
}

.csl-v72-activity-card--coral {
    --csl-activity-bg: #fff3ef;
    --csl-activity-line: #ff6756;
}

.csl-v72-activity-card--teal {
    --csl-activity-bg: #eefbf8;
    --csl-activity-line: #18ad99;
}

.csl-v72-activity-card__mark {
    position: relative !important;
    z-index: 1 !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 15px !important;
    font-size: 21px !important;
}

.csl-v72-activity-card__content {
    position: relative !important;
    z-index: 1 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    align-items: center !important;
    min-width: 0 !important;
    gap: 4px 6px !important;
}

.csl-v72-activity-card__title {
    display: contents !important;
}

.csl-v72-activity-card__title strong {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    color: #182234 !important;
    font-size: 15.5px !important;
    line-height: 1.05 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.csl-v72-activity-card__title em {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    padding: 5px 7px !important;
    border: 1px solid rgba(24, 34, 52, .09) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .8) !important;
    color: #33445b !important;
    font-size: 8.6px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.csl-v72-activity-card__content > span {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: #657184 !important;
    font-size: 8.7px !important;
    line-height: 1 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.csl-v72-activity-card:nth-child(n + 4) .csl-v72-activity-card__title strong {
    font-size: 17px !important;
}

.csl-v72-activity-card:nth-child(n + 4) .csl-v72-activity-card__content > span {
    font-size: 10.5px !important;
}

.csl-v72-activity-card:nth-child(n + 4) .csl-v72-activity-card__title em {
    font-size: 9.3px !important;
}

@media print {
    body.csl-registration-manager-poster .csl-v72-section-title {
        height: 16.8mm !important;
        margin-bottom: 2.2mm !important;
    }

    body.csl-registration-manager-poster .csl-v72-activities__grid {
        grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
        grid-template-rows: repeat(2, 29.2mm) !important;
        grid-auto-rows: 29.2mm !important;
        gap: 2.6mm !important;
        align-content: start !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card,
    body.csl-registration-manager-poster .csl-v72-activity-card--wide {
        grid-column: span 2 !important;
        height: 29.2mm !important;
        min-height: 29.2mm !important;
        grid-template-columns: 11.6mm minmax(0, 1fr) !important;
        gap: 2.6mm !important;
        padding: 2.8mm 3mm !important;
        border-top-width: 1mm !important;
        border-radius: 5mm !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card:nth-child(n + 4),
    body.csl-registration-manager-poster .csl-v72-activity-card--wide:nth-child(n + 4) {
        grid-column: span 3 !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card__mark {
        width: 11.6mm !important;
        height: 11.6mm !important;
        border-radius: 4mm !important;
        font-size: 5.5mm !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card__content {
        gap: 1.1mm 1.4mm !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card__title strong {
        font-size: 3.55mm !important;
        line-height: 1.02 !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card__title em {
        padding: 1.05mm 1.35mm !important;
        font-size: 2.15mm !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card__content > span {
        font-size: 2.15mm !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card:nth-child(n + 4) .csl-v72-activity-card__title strong {
        font-size: 4mm !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card:nth-child(n + 4) .csl-v72-activity-card__content > span {
        font-size: 2.45mm !important;
    }

    body.csl-registration-manager-poster .csl-v72-activity-card:nth-child(n + 4) .csl-v72-activity-card__title em {
        font-size: 2.35mm !important;
    }
}

/* === CSL v101 : contraste blanc sur les surfaces sombres du module === */
.csl-registration .csl-v69-quicknav,
.csl-registration .csl-v69-quicknav *,
.csl-registration .csl-v69-com-card--mail,
.csl-registration .csl-v69-com-card--mail *,
.csl-registration .csl-v69-com-card--poster,
.csl-registration .csl-v69-com-card--poster *,
.csl-registration .csl-v69-poster-activities,
.csl-registration .csl-v69-poster-activities *,
.csl-registration .csl-v72-hero__main,
.csl-registration .csl-v72-hero__main *,
.csl-registration .csl-v72-hero__callout,
.csl-registration .csl-v72-hero__callout *,
.csl-registration .csl-v72-footer,
.csl-registration .csl-v72-footer *,
.csl-registration .csl-reg-button--dark,
.csl-registration .csl-reg-button--dark *,
.csl-registration .csl-reg-actions-toggle,
.csl-registration .csl-reg-actions-toggle *,
.csl-registration .csl-reg-email-button:not(.is-disabled),
.csl-registration .csl-reg-email-button:not(.is-disabled) *,
.csl-registration .csl-reg-action-button:not(.is-disabled),
.csl-registration .csl-reg-action-button:not(.is-disabled) *,
.csl-registration .csl-reg-list-toolbar__actions .csl-reg-export,
.csl-registration .csl-reg-list-toolbar__actions .csl-reg-export *,
.csl-registration .csl-v69-backup-icon,
.csl-registration .csl-v69-backup-icon *,
.csl-registration .csl-reg-confirmation-modal__close,
.csl-registration .csl-reg-confirmation-modal__close * {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* === CSL v104 : surface de capture haute définition du PDF === */
.csl-v72-poster.csl-poster-capture-mode {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 794px !important;
    min-width: 794px !important;
    max-width: 794px !important;
    height: 1123px !important;
    min-height: 1123px !important;
    max-height: 1123px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: hidden !important;
    background: #f8fafc !important;
}

.csl-v72-qr-card__copy .csl-v72-card-label {
    padding-right: 8px !important;
    padding-left: 8px !important;
    font-size: 9px !important;
    letter-spacing: .11em !important;
    white-space: nowrap !important;
}

.csl-attendance-hero,
.csl-attendance-hero h1,
.csl-attendance-hero p,
.csl-attendance-hero a,
.csl-attendance-hero strong,
.csl-attendance-hero .csl-attendance-eyebrow,
.csl-attendance-hero .csl-attendance-link {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* === CSL v102 : la carte Théâtre occupe toute sa demi-ligne ===
 * Une ancienne règle de centrage lui appliquait encore 50 % de la largeur de
 * sa propre colonne. Cette priorité finale protège aussi l’aperçu si une page
 * conservée en cache contient momentanément l’ancienne classe. */
.csl-v72-activities__grid > .csl-v72-activity-card--centered {
    grid-column: span 3 !important;
    width: 100% !important;
    justify-self: stretch !important;
}

@media print {
    body.csl-registration-manager-poster .csl-v72-activities__grid > .csl-v72-activity-card--centered {
        grid-column: span 3 !important;
        width: 100% !important;
        justify-self: stretch !important;
    }
}

/* ==========================================================================
 * CSL v105 — espace de gestion unifié
 * Navigation, densité et responsive ont été repris comme un seul système.
 * Les règles sont volontairement placées en dernière priorité afin de
 * neutraliser les ajustements historiques sans modifier le formulaire public.
 * ========================================================================== */
.csl-manager-v105 {
    --csl105-ink: #1e2938;
    --csl105-soft: #667386;
    --csl105-line: #dfe5eb;
    --csl105-surface: #ffffff;
    --csl105-canvas: #eef2f5;
    --csl105-dark: #182231;
    --csl105-dark-2: #283647;
    --csl105-red: #dc2632;
    --csl105-red-dark: #b71622;
    --csl105-blue: #426b86;
    --csl105-radius: 19px;
    color: var(--csl105-ink);
}

.csl-manager-v105,
.csl-manager-v105 * {
    box-sizing: border-box;
}

/* Tableau de bord --------------------------------------------------------- */
.csl-manager-v105.csl-manager-v69 {
    width: 100% !important;
    min-height: 760px;
    padding: 20px 0 48px !important;
    overflow: visible !important;
    background:
        radial-gradient(circle at 88% 3%, rgba(220, 38, 50, .07), transparent 24%),
        linear-gradient(180deg, #f4f6f8 0%, var(--csl105-canvas) 100%) !important;
}

.csl-manager-v105.csl-manager-v69 > .csl-v105-shell {
    width: min(1580px, calc(100% - 32px)) !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.csl-v105-layout {
    display: grid;
    grid-template-columns: 256px minmax(0, 1fr);
    align-items: start;
    gap: 18px;
    min-width: 0;
}

.csl-v105-workspace {
    min-width: 0;
}

.csl-v105-sidebar {
    position: sticky;
    top: 18px;
    display: flex;
    min-width: 0;
    max-height: calc(100vh - 36px);
    flex-direction: column;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 17px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 22px;
    background:
        radial-gradient(circle at 115% -5%, rgba(220, 38, 50, .32), transparent 38%),
        linear-gradient(165deg, #17202d 0%, #253243 100%);
    box-shadow: 0 18px 44px rgba(19, 30, 43, .2);
}

.csl-v105-brand {
    display: flex;
    align-items: center;
    gap: 11px;
    color: #fff !important;
    text-decoration: none !important;
}

.csl-v105-brand__mark {
    display: grid;
    width: 47px;
    height: 47px;
    flex: 0 0 47px;
    place-items: center;
    overflow: hidden;
    padding: 5px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
}

.csl-v105-brand__mark img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.csl-v105-brand > span:last-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 1px;
}

.csl-v105-brand small {
    color: #aeb9c6 !important;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.csl-v105-brand strong {
    color: #fff !important;
    font-size: 17px;
    letter-spacing: -.02em;
}

.csl-v105-season-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 17px 0 16px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 14px;
    background: rgba(255, 255, 255, .055);
}

.csl-v105-season-card > span {
    color: #d9e0e8 !important;
    font-size: 11px;
    font-weight: 800;
}

.csl-v105-season-card > strong,
.csl-v105-topbar__status strong {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #fff !important;
    font-size: 10px;
    font-weight: 850;
}

.csl-v105-season-card i,
.csl-v105-topbar__status i {
    display: inline-block;
    width: 8px;
    height: 8px;
    flex: 0 0 8px;
    border-radius: 50%;
    background: #f0b24a;
    box-shadow: 0 0 0 4px rgba(240, 178, 74, .13);
}

.csl-v105-season-card .is-open i,
.csl-v105-topbar__status .is-open i {
    background: #5fd39a;
    box-shadow: 0 0 0 4px rgba(95, 211, 154, .14);
}

.csl-v105-season-card .is-closed i,
.csl-v105-topbar__status .is-closed i {
    background: #ff7c85;
    box-shadow: 0 0 0 4px rgba(255, 124, 133, .14);
}

.csl-v105-nav,
.csl-v105-sidebar__actions {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.csl-v105-nav__label {
    margin: 0 8px 5px;
    color: #8290a2 !important;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.csl-v105-nav a,
.csl-v105-sidebar__actions a,
.csl-v105-sidebar__logout {
    display: flex;
    min-width: 0;
    min-height: 39px;
    align-items: center;
    gap: 9px;
    padding: 8px 9px;
    border-radius: 10px;
    color: #d9e1ea !important;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.25;
    text-decoration: none !important;
    transition: background .15s ease, color .15s ease, transform .15s ease;
}

.csl-v105-nav a > span,
.csl-v105-sidebar__actions a > span,
.csl-v105-sidebar__logout > span {
    display: grid;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    place-items: center;
    border-radius: 7px;
    color: #dbe3ec !important;
    background: rgba(255, 255, 255, .08);
    font-size: 13px;
}

.csl-v105-nav a strong {
    min-width: 0;
    color: inherit !important;
    font-size: inherit;
    font-weight: 800;
}

.csl-v105-nav a:hover,
.csl-v105-nav a:focus-visible,
.csl-v105-nav a.is-active,
.csl-v105-sidebar__actions a:hover,
.csl-v105-sidebar__actions a:focus-visible {
    color: #fff !important;
    background: rgba(255, 255, 255, .1);
}

.csl-v105-nav a.is-active {
    background: linear-gradient(100deg, rgba(220, 38, 50, .92), rgba(190, 24, 35, .78));
    box-shadow: 0 8px 17px rgba(157, 15, 26, .24);
}

.csl-v105-nav a.is-active > span {
    color: #fff !important;
    background: rgba(255, 255, 255, .16);
}

.csl-v105-sidebar__actions {
    margin-top: 17px;
    padding-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, .1);
}

.csl-v105-sidebar__actions .csl-v105-sidebar__primary {
    color: #fff !important;
    background: rgba(255, 255, 255, .1);
}

.csl-v105-sidebar__logout {
    margin-top: auto;
    padding-top: 17px;
    color: #aeb9c6 !important;
}

.csl-v105-topbar.csl-v69-topbar {
    position: relative;
    display: grid !important;
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center !important;
    gap: 18px !important;
    overflow: hidden;
    margin: 0 0 13px !important;
    padding: 22px 24px !important;
    border: 0 !important;
    border-radius: var(--csl105-radius) !important;
    background:
        radial-gradient(circle at 93% -30%, rgba(220, 38, 50, .62), transparent 37%),
        linear-gradient(128deg, #1a2533 0%, #2d3c4e 100%) !important;
    box-shadow: 0 14px 32px rgba(26, 37, 51, .16) !important;
}

.csl-v105-topbar::after {
    position: absolute;
    right: 13%;
    bottom: -62px;
    width: 160px;
    height: 160px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.csl-v105-topbar__copy,
.csl-v105-topbar__status,
.csl-v105-topbar__actions {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.csl-v105-topbar .csl-reg-kicker {
    color: #ffb8be !important;
    -webkit-text-fill-color: #ffb8be !important;
}

.csl-v105-topbar h1 {
    margin: 3px 0 4px !important;
    color: #fff !important;
    font-size: clamp(29px, 3.1vw, 39px) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em;
    -webkit-text-fill-color: #fff !important;
}

.csl-v105-topbar p {
    max-width: 680px;
    margin: 0 !important;
    color: #cdd6df !important;
    font-size: 13px !important;
    line-height: 1.45;
    -webkit-text-fill-color: #cdd6df !important;
}

.csl-v105-topbar__status {
    display: flex;
    min-width: 138px;
    flex-direction: column;
    align-items: flex-end;
    gap: 7px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 12px;
    background: rgba(255, 255, 255, .07);
}

.csl-v105-topbar__status > span {
    color: #fff !important;
    font-size: 12px;
    font-weight: 850;
    -webkit-text-fill-color: #fff !important;
}

.csl-v105-topbar__actions {
    display: none;
}

.csl-v105-mobile-nav {
    display: none !important;
}

.csl-manager-v105 .csl-v105-section.csl-v69-section {
    width: 100%;
    min-width: 0;
    margin: 0 0 13px !important;
    padding: 19px 20px !important;
    border: 1px solid var(--csl105-line) !important;
    border-radius: var(--csl105-radius) !important;
    background: var(--csl105-surface) !important;
    box-shadow: 0 7px 21px rgba(30, 43, 57, .045) !important;
    scroll-margin-top: 78px;
}

.csl-manager-v105 .csl-v105-section__head.csl-v69-section__head {
    display: flex !important;
    min-width: 0;
    align-items: center !important;
    justify-content: space-between;
    gap: 15px !important;
    margin: 0 0 15px !important;
}

.csl-v105-section__title {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 11px;
}

.csl-v105-section__title > div {
    min-width: 0;
}

.csl-v105-section__icon {
    display: grid;
    width: 39px;
    height: 39px;
    flex: 0 0 39px;
    place-items: center;
    border: 1px solid #dbe4eb;
    border-radius: 12px;
    color: #36536b !important;
    background: #f0f5f8;
    font-size: 18px;
    font-weight: 850;
}

.csl-manager-v105 .csl-v105-section__head h2 {
    margin: 2px 0 0 !important;
    color: var(--csl105-ink) !important;
    font-size: clamp(20px, 2vw, 25px) !important;
    line-height: 1.08;
    letter-spacing: -.035em;
}

.csl-manager-v105 .csl-v105-section__head p {
    margin: 4px 0 0 !important;
    color: var(--csl105-soft) !important;
    font-size: 11px !important;
    line-height: 1.4;
}

.csl-manager-v105 .csl-v69-eyebrow {
    color: var(--csl105-red-dark) !important;
    font-size: 9px !important;
    font-weight: 900;
    letter-spacing: .13em;
}

.csl-v105-text-link,
.csl-v105-listcount a {
    color: #3d5f78 !important;
    font-size: 11px;
    font-weight: 850;
    text-decoration: none !important;
}

.csl-v105-text-link:hover,
.csl-v105-listcount a:hover {
    color: var(--csl105-red-dark) !important;
}

/* Indicateurs cliquables */
.csl-manager-v105 .csl-v105-stat-grid.csl-reg-stat-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 9px !important;
    margin: 0 !important;
}

.csl-manager-v105 .csl-v105-stat-grid > .csl-reg-stat-card {
    min-height: 84px !important;
    grid-template-areas:
        "label value"
        "hint value" !important;
    padding: 12px 13px 11px 16px !important;
    color: var(--csl105-ink) !important;
    text-decoration: none !important;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.csl-manager-v105 .csl-v105-stat-grid > .csl-reg-stat-card:hover,
.csl-manager-v105 .csl-v105-stat-grid > .csl-reg-stat-card:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 10px 22px rgba(30, 43, 57, .1) !important;
}

.csl-v105-stat-grid .csl-reg-stat-card em {
    position: absolute;
    right: 11px;
    bottom: 7px;
    color: var(--csl-stat-color) !important;
    font-size: 8px;
    font-style: normal;
    font-weight: 850;
    opacity: .65;
}

/* Filtres */
.csl-v105-filter-panel {
    margin: 0 0 13px;
    overflow: hidden;
    border: 1px solid #dce4eb;
    border-radius: 14px;
    background: #f7f9fb;
}

.csl-v105-filter-panel > summary {
    display: flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 9px 12px;
    color: var(--csl105-ink);
    cursor: pointer;
    list-style: none;
}

.csl-v105-filter-panel > summary::-webkit-details-marker,
.csl-v105-filter-panel > summary::marker {
    display: none;
}

.csl-v105-filter-panel__title {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 9px;
}

.csl-v105-filter-panel__title > span:first-child {
    display: grid;
    width: 29px;
    height: 29px;
    flex: 0 0 29px;
    place-items: center;
    border-radius: 9px;
    color: #36536b;
    background: #e9f0f5;
    font-size: 17px;
}

.csl-v105-filter-panel__title > span:last-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.csl-v105-filter-panel__title strong {
    color: var(--csl105-ink) !important;
    font-size: 12px;
}

.csl-v105-filter-panel__title small {
    color: var(--csl105-soft) !important;
    font-size: 9px;
}

.csl-v105-filter-panel__toggle {
    display: grid;
    width: 27px;
    height: 27px;
    flex: 0 0 27px;
    place-items: center;
    border: 1px solid #d6dfe7;
    border-radius: 50%;
    color: var(--csl105-red-dark);
    background: #fff;
    transition: transform .15s ease;
}

.csl-v105-filter-panel[open] .csl-v105-filter-panel__toggle {
    transform: rotate(180deg);
}

.csl-manager-v105 .csl-v105-filter-panel .csl-reg-filter-bar {
    display: grid !important;
    grid-template-columns: minmax(190px, 1.45fr) minmax(105px, .72fr) minmax(125px, .9fr) minmax(120px, .86fr) minmax(145px, 1.08fr) auto;
    align-items: end !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 12px !important;
    border: 0 !important;
    border-top: 1px solid #dce4eb !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
}

.csl-manager-v105 .csl-v105-filter-panel .csl-reg-filter-bar label {
    min-width: 0;
    margin: 0 !important;
}

.csl-manager-v105 .csl-v105-filter-panel .csl-reg-filter-bar label > span {
    margin-bottom: 4px;
    color: #637083 !important;
    font-size: 9px !important;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.csl-manager-v105 .csl-v105-filter-panel input,
.csl-manager-v105 .csl-v105-filter-panel select {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 39px !important;
    padding: 7px 9px !important;
    border: 1px solid #ccd6df !important;
    border-radius: 9px !important;
    color: var(--csl105-ink) !important;
    background: #fff !important;
    font-size: 11px !important;
}

.csl-v105-filter-actions {
    display: flex;
    align-items: center;
    gap: 7px;
}

.csl-manager-v105 .csl-v105-filter-actions .csl-reg-button {
    min-height: 39px !important;
    padding: 8px 12px !important;
    font-size: 10px !important;
    white-space: nowrap;
}

.csl-manager-v105 .csl-reg-filter-reset {
    color: #657285 !important;
    font-size: 9px !important;
    font-weight: 800;
    text-decoration: underline !important;
    text-underline-offset: 2px;
}

.csl-manager-v105 .csl-v105-listcount.csl-v69-listcount {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 10px !important;
    color: var(--csl105-soft);
    font-size: 11px;
}

.csl-manager-v105 .csl-v105-listcount strong {
    color: var(--csl105-ink) !important;
    font-size: 11px;
}

/* Tableau des dossiers */
.csl-manager-v105 .csl-v105-section--records .csl-reg-table-wrap {
    width: 100% !important;
    min-width: 0 !important;
    overflow: auto !important;
    border: 1px solid #dfe5eb !important;
    border-radius: 13px !important;
    background: #fff;
    box-shadow: none !important;
    -webkit-overflow-scrolling: touch;
}

.csl-manager-v105 .csl-v105-section--records .csl-reg-table {
    width: 100% !important;
    min-width: 1040px !important;
    table-layout: auto;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    font-size: 11px !important;
}

.csl-manager-v105 .csl-v105-section--records .csl-reg-table thead th {
    position: sticky;
    z-index: 2;
    top: 0;
    padding: 9px 9px !important;
    border: 0 !important;
    border-bottom: 1px solid #dfe5eb !important;
    color: #687587 !important;
    background: #f5f7f9 !important;
    font-size: 8px !important;
    font-weight: 900 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.csl-manager-v105 .csl-v105-section--records .csl-reg-table td {
    padding: 10px 9px !important;
    border: 0 !important;
    border-bottom: 1px solid #edf0f3 !important;
    color: #354255 !important;
    background: #fff;
    font-size: 10px !important;
    line-height: 1.35 !important;
    vertical-align: middle;
}

.csl-manager-v105 .csl-v105-section--records .csl-reg-table tbody tr:nth-child(even) td {
    background: #fbfcfd;
}

.csl-manager-v105 .csl-v105-section--records .csl-reg-table tbody tr:hover td {
    background: #f7fafc;
}

.csl-manager-v105 .csl-v105-section--records .csl-reg-reference-link {
    color: #274e68 !important;
    font-size: 10px !important;
    font-weight: 900;
    white-space: nowrap;
}

.csl-manager-v105 .csl-v105-section--records .csl-reg-status,
.csl-manager-v105 .csl-v105-section--records .csl-reg-validation-informed,
.csl-manager-v105 .csl-v105-section--records .csl-reg-payment-status,
.csl-manager-v105 .csl-v105-section--records .csl-reg-doc-count {
    font-size: 8px !important;
    white-space: nowrap;
}

.csl-manager-v105 .csl-v105-section--records .csl-reg-actions-toggle {
    min-width: 78px !important;
    min-height: 32px !important;
    padding: 6px 9px !important;
    border-radius: 8px !important;
    font-size: 9px !important;
}

.csl-manager-v105 .csl-v105-section--records .csl-reg-action-menu__panel {
    z-index: 20;
}

/* Capacités */
.csl-manager-v105 .csl-v105-section--capacity .csl-reg-capacity-panel {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.csl-manager-v105 .csl-v105-section--capacity .csl-reg-capacity-head {
    grid-template-columns: minmax(0, 1fr) minmax(330px, .78fr) !important;
    gap: 14px !important;
    padding: 0 0 13px !important;
}

.csl-manager-v105 .csl-v105-section--capacity .csl-reg-capacity-head h2 {
    font-size: 19px !important;
}

.csl-manager-v105 .csl-v105-section--capacity .csl-reg-capacity-head p {
    font-size: 10px !important;
}

.csl-manager-v105 .csl-v105-section--capacity .csl-reg-capacity-control {
    padding: 10px !important;
    border-radius: 12px !important;
    background: #f7f9fb !important;
}

.csl-manager-v105 .csl-v105-section--capacity .csl-reg-capacity-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 9px !important;
}

.csl-manager-v105 .csl-v105-section--capacity .csl-reg-capacity-card {
    min-height: 128px !important;
    padding: 11px 10px 9px !important;
    border-radius: 12px !important;
}

.csl-manager-v105 .csl-v105-section--capacity .csl-reg-capacity-card__count {
    font-size: 22px !important;
}

/* Communication */
.csl-manager-v105 .csl-v105-section--communication .csl-v69-com-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.csl-manager-v105 .csl-v105-section--communication .csl-v69-com-card {
    min-height: 126px !important;
    align-items: flex-start;
    gap: 12px !important;
    padding: 17px !important;
    border-radius: 15px !important;
    box-shadow: 0 8px 18px rgba(27, 38, 52, .11);
}

.csl-manager-v105 .csl-v105-section--communication .csl-v69-com-icon {
    width: 42px !important;
    height: 42px !important;
    flex-basis: 42px !important;
    border-radius: 12px !important;
    font-size: 19px !important;
}

.csl-manager-v105 .csl-v105-section--communication .csl-v69-com-card strong {
    display: block;
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1.2;
    -webkit-text-fill-color: #fff !important;
}

.csl-manager-v105 .csl-v105-section--communication .csl-v69-com-card p {
    margin: 6px 0 9px !important;
    color: rgba(255, 255, 255, .8) !important;
    font-size: 10px !important;
    line-height: 1.4;
    -webkit-text-fill-color: rgba(255, 255, 255, .8) !important;
}

.csl-manager-v105 .csl-v105-section--communication .csl-v69-com-card b {
    color: #fff !important;
    font-size: 10px !important;
    -webkit-text-fill-color: #fff !important;
}

/* Éditeur de dossier ------------------------------------------------------ */
.csl-v105-editor {
    min-height: 760px;
    padding: 20px 0 52px !important;
    background: var(--csl105-canvas) !important;
}

.csl-v105-editor .csl-reg-manager-head {
    width: min(1440px, calc(100% - 32px)) !important;
    max-width: none !important;
    min-width: 0 !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 0 auto 13px !important;
    padding: 19px 21px !important;
    border-radius: var(--csl105-radius) !important;
    background:
        radial-gradient(circle at 92% -40%, rgba(220, 38, 50, .55), transparent 36%),
        linear-gradient(128deg, #1a2533, #2d3c4e) !important;
    box-shadow: 0 14px 32px rgba(26, 37, 51, .15);
}

.csl-v105-editor .csl-reg-manager-head h1 {
    margin: 3px 0 0 !important;
    color: #fff !important;
    font-size: clamp(25px, 3vw, 34px) !important;
    line-height: 1.06 !important;
    -webkit-text-fill-color: #fff !important;
}

.csl-v105-editor .csl-reg-manager-head .csl-reg-kicker {
    color: #ffb8be !important;
    -webkit-text-fill-color: #ffb8be !important;
}

.csl-v105-editor .csl-reg-manager-head .csl-reg-back,
.csl-v105-editor .csl-reg-manager-head .csl-reg-logout {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

.csl-v105-editor .csl-reg-manager-head__actions {
    gap: 6px !important;
}

.csl-v105-editor .csl-reg-manager-head__actions .csl-reg-button,
.csl-v105-editor .csl-reg-manager-head__actions .csl-reg-logout {
    min-height: 36px !important;
    padding: 7px 10px !important;
    border-color: rgba(255, 255, 255, .25) !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .09) !important;
    font-size: 9px !important;
    -webkit-text-fill-color: #fff !important;
}

.csl-v105-editor .csl-reg-editor-section,
.csl-v105-editor .csl-reg-manager-form {
    width: min(1440px, calc(100% - 32px)) !important;
    max-width: none !important;
    min-width: 0 !important;
    margin-right: auto !important;
    margin-left: auto !important;
}

.csl-v105-editor .csl-reg-process--manager {
    position: sticky;
    z-index: 12;
    top: 8px;
    margin-bottom: 11px !important;
    box-shadow: 0 8px 22px rgba(30, 43, 57, .09);
}

.csl-v105-editor .csl-reg-form-block {
    margin-bottom: 11px !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 18px rgba(30, 43, 57, .04) !important;
}

.csl-v105-editor .csl-reg-form-block__summary {
    min-height: 67px !important;
    padding: 13px 16px !important;
}

.csl-v105-editor .csl-reg-form-block__heading h2 {
    font-size: 19px !important;
}

.csl-v105-editor .csl-reg-step-number {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
    border-radius: 10px !important;
    font-size: 10px !important;
}

.csl-v105-editor .csl-reg-editor-submit {
    border-radius: 16px !important;
    box-shadow: 0 8px 22px rgba(30, 43, 57, .07) !important;
}

/* Outils communication et affiche --------------------------------------- */
.csl-v69-tool {
    min-height: 720px;
    padding: 22px 0 52px !important;
    background: var(--csl105-canvas) !important;
}

.csl-v69-tool > .csl-reg-shell {
    width: min(1120px, calc(100% - 32px)) !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

.csl-v69-tool .csl-reg-back {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    margin: 0 0 10px;
    color: #43556b !important;
    font-size: 11px;
    text-decoration: none !important;
}

.csl-v69-tool .csl-v69-toolhero {
    margin: 0 0 13px !important;
    padding: 22px 24px;
    border-radius: var(--csl105-radius);
    background:
        radial-gradient(circle at 93% -25%, rgba(220, 38, 50, .56), transparent 36%),
        linear-gradient(128deg, #1a2533, #2d3c4e);
    box-shadow: 0 13px 30px rgba(26, 37, 51, .15);
}

.csl-v69-tool .csl-v69-toolhero .csl-reg-kicker {
    color: #ffb8be !important;
    -webkit-text-fill-color: #ffb8be !important;
}

.csl-v69-tool .csl-v69-toolhero h1 {
    margin: 3px 0 5px !important;
    color: #fff !important;
    font-size: clamp(28px, 4vw, 39px) !important;
    line-height: 1.04;
    -webkit-text-fill-color: #fff !important;
}

.csl-v69-tool .csl-v69-toolhero p {
    margin: 0 !important;
    color: #cdd6df !important;
    font-size: 13px;
    -webkit-text-fill-color: #cdd6df !important;
}

.csl-v69-tool .csl-v69-compose {
    width: 100%;
    max-width: none !important;
    padding: 20px !important;
    border-radius: var(--csl105-radius) !important;
    box-shadow: 0 7px 21px rgba(30, 43, 57, .05) !important;
}

.csl-v69-tool .csl-v69-compose__meta {
    margin-bottom: 13px !important;
    padding: 11px 13px !important;
    border-radius: 11px !important;
}

.csl-v69-tool .csl-v69-compose__meta strong {
    font-size: 25px !important;
}

.csl-v69-tool .csl-v69-compose textarea {
    min-height: 260px;
}

.csl-v72-tool > .csl-v72-poster-shell {
    width: min(1060px, calc(100% - 32px)) !important;
}

.csl-v72-tool .csl-v72-poster-controls {
    position: sticky;
    z-index: 15;
    top: 8px;
    gap: 12px;
    margin: 0 0 14px !important;
    padding: 12px 14px;
    border: 1px solid var(--csl105-line);
    border-radius: 14px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 8px 23px rgba(30, 43, 57, .1);
    backdrop-filter: blur(10px);
}

/* Connexion */
.csl-registration--manager-login.csl-manager-v105 {
    min-height: 720px;
    padding: 50px 16px !important;
    background:
        radial-gradient(circle at 17% 14%, rgba(220, 38, 50, .1), transparent 25%),
        linear-gradient(145deg, #eef2f5, #f8fafb) !important;
}

.csl-registration--manager-login.csl-manager-v105 .csl-reg-login-card {
    width: min(470px, 100%);
    padding: 28px;
    border: 1px solid var(--csl105-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(30, 43, 57, .11);
}

.csl-registration--manager-login.csl-manager-v105 .csl-reg-login-mark {
    color: #fff;
    border: 0;
    background: linear-gradient(135deg, var(--csl105-dark), #3b536b);
}

/* Présences et séances : même densité visuelle que le tableau de bord. */
.csl-attendance--manager {
    padding: 22px 16px 52px !important;
    background: var(--csl105-canvas) !important;
}

.csl-attendance--manager .csl-attendance-shell {
    width: min(1360px, 100%) !important;
}

.csl-attendance--manager .csl-attendance-hero {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px 16px;
    padding: 19px 22px !important;
    border-radius: var(--csl105-radius) !important;
    background:
        radial-gradient(circle at 93% -25%, rgba(220, 38, 50, .58), transparent 36%),
        linear-gradient(128deg, #1a2533, #2d3c4e) !important;
}

.csl-attendance--manager .csl-attendance-hero__brand {
    grid-row: 1 / span 3;
    margin: 0 !important;
    padding: 5px 7px !important;
}

.csl-attendance--manager .csl-attendance-hero__brand img {
    width: 95px !important;
    max-height: 38px !important;
}

.csl-attendance--manager .csl-attendance-eyebrow {
    grid-column: 2;
    margin: 0 !important;
    color: #ffb8be !important;
    -webkit-text-fill-color: #ffb8be !important;
}

.csl-attendance--manager .csl-attendance-hero h1 {
    grid-column: 2;
    margin: 0 !important;
    font-size: clamp(27px, 3.4vw, 37px) !important;
}

.csl-attendance--manager .csl-attendance-hero p {
    grid-column: 2;
    max-width: 760px;
    font-size: 12px !important;
    line-height: 1.45 !important;
}

.csl-attendance--manager .csl-attendance-hero__links {
    grid-column: 3;
    grid-row: 1 / span 3;
    align-items: flex-end;
    flex-direction: column;
    justify-content: center;
    gap: 8px !important;
    margin: 0 !important;
}

.csl-attendance--manager .csl-attendance-manager-filters,
.csl-attendance--manager .csl-attendance-manager-list,
.csl-attendance--manager .csl-attendance-manager-detail,
.csl-attendance--manager .csl-attendance-accounts {
    margin-top: 13px !important;
    padding: 18px !important;
    border-radius: var(--csl105-radius) !important;
    box-shadow: 0 7px 21px rgba(30, 43, 57, .045) !important;
}

.csl-attendance--manager .csl-attendance-manager-filters {
    padding: 12px !important;
}

.csl-attendance--manager .csl-attendance-section-heading {
    margin-bottom: 13px !important;
}

.csl-attendance--manager .csl-attendance-section-heading h2 {
    font-size: 21px !important;
}

/* Tablette --------------------------------------------------------------- */
@media (max-width: 1179px) {
    .csl-manager-v105.csl-manager-v69 {
        padding-top: 14px !important;
    }

    .csl-manager-v105.csl-manager-v69 > .csl-v105-shell {
        width: min(1180px, calc(100% - 24px)) !important;
    }

    .csl-v105-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .csl-v105-sidebar {
        display: none !important;
    }

    .csl-v105-topbar.csl-v69-topbar {
        grid-template-columns: minmax(0, 1fr) auto !important;
    }

    .csl-v105-topbar__actions {
        display: grid !important;
        grid-column: 1 / -1;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 7px;
    }

    .csl-v105-topbar__actions .csl-reg-button {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 38px !important;
        padding: 8px 10px !important;
        border-color: rgba(255, 255, 255, .22) !important;
        color: #fff !important;
        background: rgba(255, 255, 255, .09) !important;
        font-size: 10px !important;
        -webkit-text-fill-color: #fff !important;
    }

    .csl-v105-topbar__actions .csl-reg-button--primary {
        border-color: transparent !important;
        background: linear-gradient(100deg, var(--csl105-red), var(--csl105-red-dark)) !important;
    }

    .csl-v105-mobile-nav.csl-v69-quicknav {
        position: sticky !important;
        z-index: 30 !important;
        top: 7px !important;
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        gap: 4px !important;
        margin: 0 0 13px !important;
        padding: 5px !important;
        border: 1px solid rgba(255, 255, 255, .08);
        border-radius: 13px !important;
        background: rgba(24, 34, 49, .96) !important;
        box-shadow: 0 9px 24px rgba(24, 34, 49, .16);
        backdrop-filter: blur(10px);
    }

    .csl-v105-mobile-nav a {
        display: flex !important;
        min-width: 0 !important;
        min-height: 38px !important;
        align-items: center;
        justify-content: center;
        gap: 5px;
        padding: 7px 5px !important;
        border-radius: 9px !important;
        color: #dce3eb !important;
        font-size: 9px !important;
        line-height: 1.1;
        text-align: center;
        white-space: normal !important;
        -webkit-text-fill-color: #dce3eb !important;
    }

    .csl-v105-mobile-nav a > span {
        color: inherit !important;
        -webkit-text-fill-color: inherit !important;
    }

    .csl-v105-mobile-nav a.is-active {
        color: #fff !important;
        background: var(--csl105-red) !important;
        -webkit-text-fill-color: #fff !important;
    }

    .csl-manager-v105 .csl-v105-filter-panel .csl-reg-filter-bar {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .csl-v105-filter-search {
        grid-column: span 2;
    }

    .csl-v105-filter-actions {
        justify-content: flex-end;
    }

    .csl-manager-v105 .csl-v105-section--capacity .csl-reg-capacity-head {
        grid-template-columns: 1fr !important;
    }

    .csl-v105-editor .csl-reg-manager-head,
    .csl-v105-editor .csl-reg-editor-section,
    .csl-v105-editor .csl-reg-manager-form {
        width: calc(100% - 24px) !important;
    }
}

@media (max-width: 900px) {
    .csl-manager-v105 .csl-v105-stat-grid.csl-reg-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .csl-manager-v105 .csl-v105-section--capacity .csl-reg-capacity-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .csl-v105-editor .csl-reg-manager-head {
        align-items: stretch !important;
        flex-direction: column !important;
    }

    .csl-v105-editor .csl-reg-manager-head__actions {
        justify-content: flex-start !important;
    }

    .csl-attendance--manager .csl-attendance-hero {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .csl-attendance--manager .csl-attendance-hero__links {
        grid-column: 1 / -1;
        grid-row: auto;
        align-items: flex-start;
        flex-direction: row;
        justify-content: flex-start;
        margin-top: 5px !important;
    }
}

/* Téléphone -------------------------------------------------------------- */
@media (max-width: 680px) {
    .csl-manager-v105.csl-manager-v69 {
        padding: 8px 0 34px !important;
    }

    .csl-manager-v105.csl-manager-v69 > .csl-v105-shell {
        width: calc(100% - 12px) !important;
    }

    .csl-v105-topbar.csl-v69-topbar {
        grid-template-columns: minmax(0, 1fr) auto !important;
        gap: 12px 8px !important;
        padding: 16px 14px !important;
        border-radius: 17px !important;
    }

    .csl-v105-topbar h1 {
        font-size: clamp(26px, 8vw, 31px) !important;
    }

    .csl-v105-topbar p {
        font-size: 11px !important;
        line-height: 1.38;
    }

    .csl-v105-topbar__status {
        min-width: 91px;
        gap: 5px;
        padding: 8px;
    }

    .csl-v105-topbar__status > span {
        font-size: 9px;
    }

    .csl-v105-topbar__status strong {
        font-size: 8px;
    }

    .csl-v105-topbar__actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csl-v105-topbar__actions .csl-v105-topbar__logout {
        border-color: rgba(255, 255, 255, .32) !important;
    }

    .csl-v105-mobile-nav.csl-v69-quicknav {
        display: flex !important;
        grid-template-columns: none !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 5px !important;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .csl-v105-mobile-nav a,
    body.csl-registration-manager-dashboard .csl-v105-mobile-nav a:last-child {
        min-width: 84px !important;
        flex: 0 0 auto !important;
        grid-column: auto !important;
        scroll-snap-align: start;
    }

    .csl-manager-v105 .csl-v105-section.csl-v69-section {
        margin-bottom: 9px !important;
        padding: 14px 12px !important;
        border-radius: 15px !important;
        scroll-margin-top: 66px;
    }

    .csl-manager-v105 .csl-v105-section__head.csl-v69-section__head {
        align-items: stretch !important;
        flex-direction: column !important;
        gap: 10px !important;
        margin-bottom: 11px !important;
    }

    .csl-manager-v105 .csl-v105-section__head > .csl-reg-button,
    .csl-manager-v105 .csl-v105-section__head > .csl-v105-text-link {
        width: 100%;
        min-height: 37px;
        align-items: center;
        justify-content: center;
        padding: 8px 10px;
        border: 1px solid #dce4eb;
        border-radius: 9px;
        text-align: center;
    }

    .csl-v105-section__title {
        align-items: flex-start;
        gap: 9px;
    }

    .csl-v105-section__icon {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
        border-radius: 10px;
        font-size: 15px;
    }

    .csl-manager-v105 .csl-v105-section__head h2 {
        font-size: 20px !important;
    }

    .csl-manager-v105 .csl-v105-stat-grid.csl-reg-stat-grid {
        gap: 6px !important;
    }

    .csl-manager-v105 .csl-v105-stat-grid > .csl-reg-stat-card {
        min-height: 69px !important;
        padding: 9px 9px 8px 12px !important;
        border-radius: 10px !important;
    }

    .csl-v105-stat-grid .csl-reg-stat-card em {
        display: none;
    }

    .csl-manager-v105 .csl-v105-stat-grid .csl-reg-stat-card__value {
        font-size: 25px !important;
    }

    .csl-v105-filter-panel {
        margin-bottom: 10px;
        border-radius: 12px;
    }

    .csl-manager-v105 .csl-v105-filter-panel .csl-reg-filter-bar {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
        padding: 10px !important;
    }

    .csl-v105-filter-search {
        grid-column: auto;
    }

    .csl-v105-filter-actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .csl-manager-v105 .csl-v105-filter-actions .csl-reg-button {
        width: 100%;
    }

    .csl-manager-v105 .csl-v105-listcount.csl-v69-listcount {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    /* Chaque ligne du tableau devient une fiche compacte et lisible. */
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table-wrap {
        overflow: visible !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table,
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table tbody {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table thead {
        display: none !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table tbody {
        display: grid !important;
        gap: 8px;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table tr {
        display: block !important;
        overflow: visible !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 1px solid #dfe5eb !important;
        border-radius: 12px !important;
        background: #fff !important;
        box-shadow: 0 5px 14px rgba(30, 43, 57, .045) !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td,
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:first-child,
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table tbody tr:nth-child(even) td {
        display: grid !important;
        width: 100% !important;
        min-width: 0 !important;
        grid-template-columns: 84px minmax(0, 1fr) !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 7px 9px !important;
        border: 0 !important;
        border-bottom: 1px solid #eef1f4 !important;
        background: #fff !important;
        text-align: left !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:first-child {
        padding-top: 9px !important;
        border-radius: 12px 12px 0 0;
        background: #f6f8fa !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:not(.csl-reg-table__actions)::before,
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td.csl-reg-table__actions::before {
        position: static !important;
        display: block !important;
        width: auto !important;
        margin: 0 !important;
        color: #7a8797 !important;
        content: attr(data-label) !important;
        font-size: 7px !important;
        font-weight: 900 !important;
        letter-spacing: .07em !important;
        line-height: 1.2 !important;
        text-transform: uppercase !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td > * {
        min-width: 0 !important;
        max-width: 100% !important;
        justify-self: start !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td.csl-reg-table__actions {
        grid-template-columns: 84px minmax(0, 1fr) !important;
        padding: 8px 9px !important;
        border-bottom: 0 !important;
        border-radius: 0 0 12px 12px;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-action-menu {
        width: 100% !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-actions-toggle {
        width: 100% !important;
        justify-content: center !important;
    }

    .csl-manager-v105 .csl-v105-section--capacity .csl-reg-capacity-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }

    .csl-manager-v105 .csl-v105-section--capacity .csl-reg-capacity-card {
        min-height: 116px !important;
    }

    .csl-manager-v105 .csl-v105-section--capacity .csl-reg-capacity-control form {
        grid-template-columns: 1fr !important;
    }

    .csl-manager-v105 .csl-v105-section--communication .csl-v69-com-grid {
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 7px;
    }

    .csl-manager-v105 .csl-v105-section--communication .csl-v69-com-card {
        min-height: 112px !important;
        padding: 14px !important;
    }

    .csl-v105-editor {
        padding: 8px 0 36px !important;
    }

    .csl-v105-editor .csl-reg-manager-head,
    .csl-v105-editor .csl-reg-editor-section,
    .csl-v105-editor .csl-reg-manager-form {
        width: calc(100% - 12px) !important;
    }

    .csl-v105-editor .csl-reg-manager-head {
        gap: 12px !important;
        padding: 15px 13px !important;
        border-radius: 16px !important;
    }

    .csl-v105-editor .csl-reg-manager-head h1 {
        font-size: 25px !important;
    }

    .csl-v105-editor .csl-reg-manager-head__actions {
        display: grid !important;
        width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .csl-v105-editor .csl-reg-manager-head__actions .csl-reg-button,
    .csl-v105-editor .csl-reg-manager-head__actions .csl-reg-logout {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .csl-v105-editor .csl-reg-process--manager {
        top: 5px;
    }

    .csl-v105-editor .csl-reg-form-block__summary {
        min-height: 58px !important;
        padding: 11px 10px !important;
    }

    .csl-v105-editor .csl-reg-form-block__heading h2 {
        font-size: 16px !important;
    }

    .csl-v69-tool {
        padding: 9px 0 38px !important;
    }

    .csl-v69-tool > .csl-reg-shell,
    .csl-v72-tool > .csl-v72-poster-shell {
        width: calc(100% - 12px) !important;
    }

    .csl-v69-tool .csl-v69-toolhero {
        padding: 17px 14px;
        border-radius: 16px;
    }

    .csl-v69-tool .csl-v69-compose {
        padding: 14px !important;
        border-radius: 15px !important;
    }

    .csl-v72-tool .csl-v72-poster-controls {
        position: static;
        padding: 10px;
    }

    .csl-attendance--manager {
        padding: 8px 6px 36px !important;
    }

    .csl-attendance--manager .csl-attendance-hero {
        display: flex;
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
        padding: 15px 13px !important;
        border-radius: 16px !important;
    }

    .csl-attendance--manager .csl-attendance-hero__brand {
        display: none;
    }

    .csl-attendance--manager .csl-attendance-hero h1 {
        font-size: 26px !important;
    }

    .csl-attendance--manager .csl-attendance-hero__links {
        display: flex;
        align-items: flex-start;
        flex-direction: row;
        flex-wrap: wrap;
    }

    .csl-attendance--manager .csl-attendance-manager-filters,
    .csl-attendance--manager .csl-attendance-manager-list,
    .csl-attendance--manager .csl-attendance-manager-detail,
    .csl-attendance--manager .csl-attendance-accounts {
        margin-top: 8px !important;
        padding: 13px 11px !important;
        border-radius: 14px !important;
    }
}

@media (max-width: 420px) {
    .csl-v105-topbar.csl-v69-topbar {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    .csl-v105-topbar__status {
        width: 100%;
        min-width: 0;
        align-items: center;
        flex-direction: row;
        justify-content: space-between;
    }

    .csl-manager-v105 .csl-v105-section--capacity .csl-reg-capacity-grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* Protection finale du contraste sur les nouvelles surfaces sombres. */
.csl-v105-sidebar,
.csl-v105-sidebar *,
.csl-v105-topbar,
.csl-v105-topbar *,
.csl-v105-mobile-nav,
.csl-v105-mobile-nav *,
.csl-v69-tool .csl-v69-toolhero,
.csl-v69-tool .csl-v69-toolhero *,
.csl-v105-editor .csl-reg-manager-head,
.csl-v105-editor .csl-reg-manager-head *,
.csl-attendance--manager .csl-attendance-hero,
.csl-attendance--manager .csl-attendance-hero * {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
}

/* Ajustements issus du contrôle visuel v105. */
@media (min-width: 681px) and (max-width: 900px) {
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table {
        min-width: 748px !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(4),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(4),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(8),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(8) {
        display: none !important;
    }
}

@media (max-width: 680px) {
    body.csl-registration-manager-dashboard .csl-v105-mobile-nav.csl-v69-quicknav {
        display: flex !important;
        flex-wrap: nowrap !important;
        grid-template-columns: none !important;
        justify-content: flex-start !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
    }

    body.csl-registration-manager-dashboard .csl-v105-mobile-nav.csl-v69-quicknav a,
    body.csl-registration-manager-dashboard .csl-v105-mobile-nav.csl-v69-quicknav a:last-child {
        width: auto !important;
        min-width: 88px !important;
        max-width: none !important;
        flex: 0 0 auto !important;
        grid-column: auto !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td.csl-reg-table__actions::before {
        grid-column: 1 !important;
        grid-row: 1 !important;
        align-self: center !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td.csl-reg-table__actions .csl-reg-action-menu {
        width: 100% !important;
        grid-column: 2 !important;
        grid-row: 1 !important;
        justify-self: stretch !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td.csl-reg-table__actions .csl-reg-actions-toggle,
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td.csl-reg-table__actions .csl-reg-actions-toggle span {
        white-space: nowrap !important;
    }

    .csl-v105-editor .csl-reg-process--manager {
        position: relative !important;
        top: auto !important;
        padding: 11px !important;
    }

    .csl-v105-editor .csl-reg-process--manager .csl-reg-process__intro {
        margin: 0 0 8px !important;
        padding: 0 0 8px !important;
    }

    .csl-v105-editor .csl-reg-process--manager .csl-reg-process__intro strong {
        font-size: 14px !important;
        line-height: 1.2 !important;
    }

    .csl-v105-editor .csl-reg-process--manager .csl-reg-process__intro small {
        display: none !important;
    }

    .csl-v105-editor .csl-reg-process--manager ol {
        display: flex !important;
        grid-template-columns: none !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        padding: 0 0 3px !important;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
    }

    .csl-v105-editor .csl-reg-process--manager li {
        min-width: 142px !important;
        min-height: 50px !important;
        flex: 0 0 142px !important;
        gap: 7px !important;
        padding: 7px !important;
        scroll-snap-align: start;
    }

    .csl-v105-editor .csl-reg-process--manager li strong {
        font-size: 9px !important;
    }

    .csl-v105-editor .csl-reg-process--manager li small {
        font-size: 7px !important;
    }

    .csl-attendance--manager .csl-attendance-session-table-wrap {
        overflow: visible !important;
    }

    .csl-attendance--manager .csl-attendance-session-table,
    .csl-attendance--manager .csl-attendance-session-table tbody {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .csl-attendance--manager .csl-attendance-session-table thead {
        display: none !important;
    }

    .csl-attendance--manager .csl-attendance-session-table tbody {
        display: grid !important;
        gap: 8px;
    }

    .csl-attendance--manager .csl-attendance-session-table tr {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow: hidden;
        border: 1px solid #dfe5eb;
        border-radius: 11px;
        background: #fff;
    }

    .csl-attendance--manager .csl-attendance-session-table td {
        display: flex !important;
        min-width: 0 !important;
        flex-direction: column;
        align-items: flex-start;
        gap: 3px;
        padding: 8px 9px !important;
        border: 0 !important;
        border-bottom: 1px solid #edf0f3 !important;
        color: #344154;
        font-size: 11px !important;
    }

    .csl-attendance--manager .csl-attendance-session-table td:nth-last-child(-n + 2) {
        border-bottom: 0 !important;
    }

    .csl-attendance--manager .csl-attendance-session-table td::before {
        color: #7b8797;
        font-size: 7px;
        font-weight: 900;
        letter-spacing: .08em;
        text-transform: uppercase;
    }

    .csl-attendance--manager .csl-attendance-session-table td:nth-child(1)::before { content: "Date"; }
    .csl-attendance--manager .csl-attendance-session-table td:nth-child(2)::before { content: "Cours"; }
    .csl-attendance--manager .csl-attendance-session-table td:nth-child(3)::before { content: "Intervenant"; }
    .csl-attendance--manager .csl-attendance-session-table td:nth-child(4)::before { content: "État"; }
    .csl-attendance--manager .csl-attendance-session-table td:nth-child(5)::before { content: "Présences"; }
    .csl-attendance--manager .csl-attendance-session-table td:nth-child(6)::before { content: "Détail"; }

    .csl-attendance--manager .csl-attendance-session-table td:nth-child(6) .csl-attendance-button {
        width: 100%;
        min-height: 34px;
        padding: 6px 8px;
        font-size: 9px;
    }
}

/* === V110 · Double ouverture des inscriptions === */
.csl-v110-season-settings__head{display:block!important}
.csl-v110-opening-panel{margin:0 0 28px;padding:22px;border:1px solid rgba(23,32,42,.09);border-radius:24px;background:linear-gradient(135deg,#fff 0%,#fff7f5 100%);box-shadow:0 14px 34px rgba(25,33,43,.07)}
.csl-v110-opening-panel__head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}
.csl-v110-opening-panel__head h3{margin:4px 0 5px;font-size:clamp(21px,2.3vw,29px);line-height:1.12;color:#263341}
.csl-v110-opening-panel__head p{margin:0;max-width:700px;color:#64717d;line-height:1.5}
.csl-v110-opening-panel__badge{display:inline-flex;align-items:center;white-space:nowrap;padding:8px 12px;border-radius:999px;background:#fff0ef;color:#bd2830;font-size:12px;font-weight:800;border:1px solid #ffd7d4}
.csl-v110-opening-grid{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:14px;align-items:stretch}
.csl-v110-opening-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 13px;align-items:start;padding:17px;border:1px solid #e3e7ea;border-radius:18px;background:#fff;box-shadow:0 7px 20px rgba(25,33,43,.04)}
.csl-v110-opening-card--priority{border-color:#ffd8d5;background:linear-gradient(180deg,#fff 0%,#fff9f8 100%)}
.csl-v110-opening-card__number{position:relative;display:block!important;flex:0 0 36px;min-width:36px;width:36px;height:36px;padding:0!important;margin:0!important;border-radius:50%;background:#263341!important;color:transparent!important;text-align:center;line-height:36px!important;font-size:0!important;font-weight:900!important;text-indent:0!important;overflow:hidden;vertical-align:top}.csl-v110-opening-card__number::before{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block;color:#fff!important;font-size:15px!important;line-height:1!important;font-weight:900!important;text-indent:0!important}.csl-v110-opening-card--priority .csl-v110-opening-card__number::before{content:"1"}.csl-v110-opening-card--public .csl-v110-opening-card__number::before{content:"2"}
.csl-v110-opening-card--priority .csl-v110-opening-card__number{background:#e30613}
.csl-v110-opening-card__copy strong{display:block;margin-top:1px;color:#263341;font-size:15px}
.csl-v110-opening-card__copy small{display:block;margin-top:4px;color:#6b7782;line-height:1.4}
.csl-v110-opening-card input[type=date]{grid-column:1/-1;width:100%;box-sizing:border-box;min-height:46px;margin-top:4px;padding:10px 12px;border:1px solid #ccd3d9;border-radius:12px;background:#fafbfc;color:#263341;font:inherit;font-weight:700}
.csl-v110-opening-arrow{display:grid;place-items:center;padding:0 2px;color:#99a3ac;font-size:26px;font-weight:900}
.csl-v110-opening-rules{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.csl-v110-opening-rules span{padding:7px 10px;border-radius:999px;background:#f1f3f5;color:#53606c;font-size:12px;font-weight:750}
.csl-v110-capacity-dates{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}
.csl-v110-capacity-dates span{display:inline-flex;align-items:center;gap:6px;padding:7px 9px;border-radius:10px;background:#f5f6f7;color:#56616d;font-size:12px;font-weight:700}
.csl-v110-capacity-dates b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#263341;color:#fff;font-size:10px}
.csl-reg-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px}
@media(max-width:780px){.csl-v110-opening-panel{padding:16px;border-radius:19px}.csl-v110-opening-panel__head{display:block}.csl-v110-opening-panel__badge{margin-top:10px}.csl-v110-opening-grid{grid-template-columns:1fr}.csl-v110-opening-arrow{transform:rotate(90deg);min-height:24px}.csl-v110-opening-rules{display:grid}.csl-v110-opening-rules span{text-align:center}}

/* === V111 · Comptes adhérents dans CSL Gestion ========================== */
.csl-v111-accounts-tool,.csl-v111-account-editor{background:#f3f5f7;min-height:100vh;padding:26px 0 60px}
.csl-v111-accounts-hero,.csl-v111-account-editor-hero{display:flex;align-items:center;justify-content:space-between;gap:22px}
.csl-v111-accounts-hero>div,.csl-v111-account-editor-hero>div{min-width:0}
.csl-v111-account-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0}
.csl-v111-account-stats article{background:#fff;border:1px solid #e2e7eb;border-radius:18px;padding:18px 20px;box-shadow:0 7px 22px rgba(38,51,65,.06)}
.csl-v111-account-stats span{display:block;color:#75808b;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.csl-v111-account-stats strong{display:block;color:#263341;font-size:31px;line-height:1;margin:11px 0 8px}
.csl-v111-account-stats small{color:#7d8791;font-size:12px}
.csl-v111-account-list-card,.csl-v111-account-card{background:#fff;border:1px solid #dfe5e9;border-radius:20px;box-shadow:0 10px 28px rgba(38,51,65,.07);overflow:hidden}
.csl-v111-account-list-head,.csl-v111-account-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px;border-bottom:1px solid #edf0f2}
.csl-v111-account-list-head h2,.csl-v111-account-card__head h2{margin:4px 0 0;color:#263341;font-size:22px}
.csl-v111-account-list-head>span,.csl-v111-account-card__head>strong{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:32px;padding:0 11px;border-radius:999px;background:#f0f2f4;color:#52606d;font-weight:800;font-size:12px}
.csl-v111-account-card__head>div>span{color:#a50e19;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}
.csl-v111-account-card__head p{margin:7px 0 0;color:#707c87;font-size:13px;line-height:1.5}
.csl-v111-account-filters{display:grid;grid-template-columns:minmax(220px,1.5fr) minmax(190px,.8fr) auto auto;gap:12px;align-items:end;padding:18px 24px;background:#fafbfc;border-bottom:1px solid #edf0f2}
.csl-v111-account-filters label,.csl-v111-account-form label{display:flex;flex-direction:column;gap:7px;color:#52606d;font-size:12px;font-weight:800}
.csl-v111-account-filters input,.csl-v111-account-filters select,.csl-v111-account-form input,.csl-v111-dossier-search input{width:100%;box-sizing:border-box;border:1px solid #ccd4da;border-radius:10px;background:#fff;color:#263341;padding:11px 12px;font:inherit;min-height:43px}
.csl-v111-account-filters input:focus,.csl-v111-account-filters select:focus,.csl-v111-account-form input:focus,.csl-v111-dossier-search input:focus{outline:none;border-color:#b31420;box-shadow:0 0 0 3px rgba(227,6,19,.08)}
.csl-v111-account-table-wrap{overflow-x:auto}
.csl-v111-account-table{width:100%;border-collapse:collapse;min-width:820px}
.csl-v111-account-table th{padding:12px 18px;background:#fff;color:#7b858f;font-size:11px;text-transform:uppercase;letter-spacing:.06em;text-align:left;border-bottom:1px solid #e8ecef}
.csl-v111-account-table td{padding:15px 18px;color:#3d4853;border-bottom:1px solid #edf0f2;vertical-align:middle;font-size:13px}
.csl-v111-account-table tbody tr:hover{background:#fcfcfd}
.csl-v111-account-table td>strong{color:#263341;font-size:14px}
.csl-v111-account-table td>small{display:block;margin-top:4px;color:#8b949d;font-size:11px}
.csl-v111-account-table td>a:not(.csl-reg-button){color:#a50e19;text-decoration:none;font-weight:700}
.csl-v111-account-actions{text-align:right}
.csl-v111-account-badge{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:900;white-space:nowrap}
.csl-v111-account-badge.is-verified{background:#e9f7ef;color:#177545}
.csl-v111-account-badge.is-pending{background:#fff4dd;color:#986200}
.csl-v111-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:34px 18px;color:#7c8791}
.csl-v111-empty strong{color:#3a4651;font-size:15px;margin-bottom:5px}
.csl-v111-account-pagination{display:flex;gap:7px;justify-content:center;padding:18px}
.csl-v111-account-pagination a{display:flex;align-items:center;justify-content:center;width:35px;height:35px;border:1px solid #dce2e6;border-radius:9px;background:#fff;color:#58646f;text-decoration:none;font-weight:800}
.csl-v111-account-pagination a.is-current{background:#263341;border-color:#263341;color:#fff}
.csl-v111-account-editor-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:18px;margin-top:22px;align-items:start}
.csl-v111-account-form{display:flex;flex-direction:column;gap:16px;padding:22px 24px}
.csl-v111-account-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.csl-v111-account-form label small{font-weight:500;color:#8a949d;line-height:1.45}
.csl-v111-account-form input[readonly]{background:#f4f6f7;color:#78838c}
.csl-v111-account-check{flex-direction:row!important;align-items:flex-start!important;padding:13px 14px;background:#f7f9fa;border:1px solid #e2e7ea;border-radius:12px}
.csl-v111-account-check input{width:auto!important;min-height:0!important;margin-top:3px}
.csl-v111-account-check span{display:flex;flex-direction:column;gap:3px}
.csl-v111-danger-zone{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 24px 22px;padding:14px 15px;border:1px solid #f0c9cc;background:#fff7f7;border-radius:12px}
.csl-v111-danger-zone div{display:flex;flex-direction:column;gap:3px}.csl-v111-danger-zone strong{color:#9e1420;font-size:13px}.csl-v111-danger-zone span{color:#8a696c;font-size:11px}
.csl-v111-danger-zone button{border:0;background:transparent;color:#b31420;font-weight:900;font-size:12px;cursor:pointer;padding:8px}
.csl-v111-linked-list{display:flex;flex-direction:column}
.csl-v111-linked-list article,.csl-v111-dossier-results article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 22px;border-bottom:1px solid #edf0f2}
.csl-v111-linked-list article:last-child,.csl-v111-dossier-results article:last-child{border-bottom:0}
.csl-v111-linked-list article>div:first-child,.csl-v111-dossier-results article>div:first-child{min-width:0;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px 9px}
.csl-v111-linked-list strong,.csl-v111-dossier-results strong{color:#263341;font-size:14px}
.csl-v111-linked-list small,.csl-v111-dossier-results small{grid-column:2;color:#7d8791;font-size:11px;overflow-wrap:anywhere}
.csl-v111-season-pill{grid-row:1/3;align-self:center;padding:7px 9px;border-radius:9px;background:#f0f2f4;color:#52606d;font-size:10px;font-weight:900;white-space:nowrap}
.csl-v111-linked-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}
.csl-v111-linked-actions>a{color:#354553;font-size:11px;font-weight:800;text-decoration:none;background:#f2f4f5;padding:8px 10px;border-radius:8px}
.csl-v111-linked-actions button{border:0;background:transparent;color:#b31420;font-size:11px;font-weight:900;cursor:pointer;padding:8px}
.csl-v111-link-search-card{margin-top:18px}
.csl-v111-dossier-search{display:grid;grid-template-columns:1fr auto;gap:12px;padding:18px 22px;background:#fafbfc;border-bottom:1px solid #edf0f2}
.csl-v111-dossier-results article.is-linked{background:#fbfdfb}
.csl-v111-dossier-results em{grid-column:2;color:#a06d00;font-style:normal;font-size:10px;font-weight:800}
.csl-v111-dossier-results article.is-linked em{color:#177545}
.csl-v111-linked-ok{display:inline-flex;padding:7px 10px;border-radius:999px;background:#e9f7ef;color:#177545;font-size:11px;font-weight:900;white-space:nowrap}

@media (max-width:900px){
 .csl-v111-account-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
 .csl-v111-account-editor-grid{grid-template-columns:1fr}
 .csl-v111-account-filters{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
 .csl-v111-accounts-tool,.csl-v111-account-editor{padding-top:14px}
 .csl-v111-accounts-hero,.csl-v111-account-editor-hero{align-items:flex-start;flex-direction:column}
 .csl-v111-accounts-hero .csl-reg-button{width:100%;box-sizing:border-box;text-align:center}
 .csl-v111-account-stats{gap:9px;margin:15px 0}.csl-v111-account-stats article{padding:14px;border-radius:14px}.csl-v111-account-stats strong{font-size:25px}
 .csl-v111-account-list-head,.csl-v111-account-card__head{padding:17px 16px}
 .csl-v111-account-filters{grid-template-columns:1fr;padding:14px 16px}
 .csl-v111-account-table{min-width:0}.csl-v111-account-table thead{display:none}.csl-v111-account-table,.csl-v111-account-table tbody,.csl-v111-account-table tr,.csl-v111-account-table td{display:block;width:100%;box-sizing:border-box}.csl-v111-account-table tr{padding:13px 15px;border-bottom:1px solid #e8ecef}.csl-v111-account-table td{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border:0;text-align:right}.csl-v111-account-table td:before{content:attr(data-label);color:#8b949c;font-size:10px;font-weight:900;text-transform:uppercase;text-align:left}.csl-v111-account-table td:first-child{display:block;text-align:left;padding-bottom:10px}.csl-v111-account-table td:first-child:before{display:none}.csl-v111-account-actions a{width:100%;text-align:center;box-sizing:border-box;margin-top:4px}
 .csl-v111-account-form{padding:17px 16px}.csl-v111-account-form-grid{grid-template-columns:1fr}.csl-v111-danger-zone{margin:0 16px 17px;align-items:flex-start;flex-direction:column}
 .csl-v111-linked-list article,.csl-v111-dossier-results article{align-items:flex-start;flex-direction:column;padding:14px 16px}.csl-v111-linked-actions{width:100%;justify-content:space-between}.csl-v111-dossier-results article>div:last-child{width:100%}.csl-v111-dossier-results form .csl-reg-button{width:100%}
 .csl-v111-dossier-search{grid-template-columns:1fr;padding:14px 16px}
}

/* === V112 · Alertes de demandes de facture / attestation =============== */
.csl-v112-request-alert{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px;padding:15px 17px;border:1px solid #f0c7ca;border-radius:16px;background:linear-gradient(135deg,#fff8f8,#fff1f2);box-shadow:0 8px 22px rgba(163,29,40,.06)}
.csl-v112-request-alert>div{display:flex;align-items:center;gap:12px;min-width:0}.csl-v112-request-alert>div>span{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:12px;background:#c31521;color:#fff;font-weight:950;font-size:18px}.csl-v112-request-alert p{display:grid;gap:2px;margin:0}.csl-v112-request-alert strong{color:#7e1520;font-size:14px}.csl-v112-request-alert small{color:#86666a;font-size:11px}.csl-v112-request-alert>a{flex-shrink:0;padding:9px 12px;border-radius:10px;background:#fff;color:#9f1520;text-decoration:none;font-size:11px;font-weight:900;border:1px solid #efc9cc}
.csl-v112-request-nav{position:relative}.csl-v112-request-nav b,.csl-v105-mobile-nav a>b{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;margin-left:auto;padding:0 6px;border-radius:999px;background:#c31521;color:#fff;font-size:9px;font-weight:950}
.csl-v112-request-section{border-color:#efd6d8!important;background:linear-gradient(180deg,#fff,#fffafa)!important}.csl-v112-request-count{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:#fff0f1;color:#a51521;font-size:11px;font-weight:900;white-space:nowrap}.csl-v112-request-list{display:grid;gap:10px}.csl-v112-request-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 15px;border:1px solid #e5e8eb;border-radius:15px;background:#fff}.csl-v112-request-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:13px;background:#fff0f1;color:#bb1722;font-size:17px;font-weight:950}.csl-v112-request-copy{display:grid;gap:3px;min-width:0}.csl-v112-request-copy>span{color:#a3131e;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.csl-v112-request-copy>strong{color:#263341;font-size:14px}.csl-v112-request-copy>small{color:#7b8791;font-size:11px;overflow-wrap:anywhere}.csl-v112-request-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.csl-v112-request-actions .csl-reg-button{min-height:36px;padding:8px 10px;font-size:10px}.csl-v112-request-actions form{margin:0}.csl-v112-request-actions form button{min-height:36px;padding:8px 10px;border:0;border-radius:9px;background:#e9f5ee;color:#25704b;font-size:10px;font-weight:900;cursor:pointer}
@media(max-width:760px){.csl-v112-request-alert{align-items:flex-start;flex-direction:column}.csl-v112-request-alert>a{width:100%;box-sizing:border-box;text-align:center}.csl-v112-request-card{grid-template-columns:auto minmax(0,1fr)}.csl-v112-request-actions{grid-column:1/-1;width:100%;justify-content:stretch}.csl-v112-request-actions .csl-reg-button,.csl-v112-request-actions form,.csl-v112-request-actions form button{width:100%;box-sizing:border-box;text-align:center}.csl-v112-request-count{align-self:flex-start}}

/* V113 — Import historique Excel / CSV */
.csl-v113-import-panel{margin:22px 0 26px;padding:22px;border:1px solid rgba(15,23,42,.1);border-radius:24px;background:linear-gradient(145deg,#fff 0%,#f7f8fb 100%);box-shadow:0 14px 38px rgba(15,23,42,.06)}
.csl-v113-import-head,.csl-v113-import-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.csl-v113-import-head h2{margin:4px 0 6px;font-size:clamp(1.35rem,2.2vw,1.8rem)}.csl-v113-import-head p{margin:0;max-width:760px;color:#667085}.csl-v113-import-badge{flex:0 0 auto;padding:8px 12px;border-radius:999px;background:#111827;color:#fff;font-size:.78rem;font-weight:800;letter-spacing:.04em}.csl-v113-import-form{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(300px,1.45fr) auto;gap:14px;align-items:end;margin-top:20px}.csl-v113-import-form label{display:flex;flex-direction:column;gap:7px}.csl-v113-import-form label>span{font-weight:800}.csl-v113-import-form select,.csl-v113-import-form input[type=file]{width:100%;min-height:48px;border:1px solid #d8dde6;border-radius:14px;background:#fff;padding:10px 12px}.csl-v113-import-form small{color:#7b8494;line-height:1.35}.csl-v113-import-preview-head{margin-top:20px;padding:14px 16px;border-radius:16px;background:#fff}.csl-v113-import-preview-head div{display:flex;flex-direction:column;gap:3px}.csl-v113-import-preview-head span{color:#697386}.csl-v113-import-preview-head a{font-weight:750;text-decoration:none}.csl-v113-import-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.csl-v113-import-stats article{padding:15px;border-radius:18px;background:#fff;border:1px solid #e6e9ef}.csl-v113-import-stats article span{display:block;color:#7a8494;font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.csl-v113-import-stats article strong{display:block;margin-top:5px;font-size:1.65rem}.csl-v113-import-stats .is-ready{background:#effaf4;border-color:#ccebd9}.csl-v113-import-stats .is-warning{background:#fff8eb;border-color:#f5dfb5}.csl-v113-import-rules,.csl-v113-import-activities,.csl-v113-import-problems,.csl-v113-priority-summary{margin-top:14px;padding:16px 18px;border-radius:18px;background:#fff;border:1px solid #e8ebf0}.csl-v113-import-rules ul{margin:9px 0 0 19px;padding:0}.csl-v113-import-rules li{margin:6px 0;line-height:1.45}.csl-v113-import-activities>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.csl-v113-import-activities span{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border-radius:999px;background:#f3f5f8;font-weight:700}.csl-v113-import-activities b{display:grid;place-items:center;min-width:23px;height:23px;border-radius:999px;background:#111827;color:#fff;font-size:.74rem}.csl-v113-import-table-wrap{overflow:auto;margin-top:10px}.csl-v113-import-problems table{width:100%;border-collapse:collapse;min-width:540px}.csl-v113-import-problems th,.csl-v113-import-problems td{padding:9px 10px;text-align:left;border-bottom:1px solid #edf0f4;font-size:.88rem}.csl-v113-priority-summary{display:grid;grid-template-columns:auto 1fr;gap:3px 15px;align-items:center;background:#f0f7ff;border-color:#d7e8fb}.csl-v113-priority-summary>span{grid-row:1/3;align-self:stretch;display:grid;place-items:center;padding:8px 12px;border-radius:13px;background:#111827;color:#fff;font-weight:800;font-size:.78rem}.csl-v113-priority-summary strong{font-size:1.06rem}.csl-v113-priority-summary small{color:#64748b}.csl-v113-import-confirm{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.csl-v113-import-result{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:16px;padding:13px 15px;border-radius:15px;background:#effaf4;border:1px solid #ccebd9}.csl-v113-import-result .is-error{color:#b42318;font-weight:800}
@media(max-width:900px){.csl-v113-import-form{grid-template-columns:1fr}.csl-v113-import-form .csl-reg-button{width:100%}.csl-v113-import-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.csl-v113-import-panel{padding:16px;border-radius:19px}.csl-v113-import-head,.csl-v113-import-preview-head{flex-direction:column}.csl-v113-import-stats{grid-template-columns:1fr 1fr}.csl-v113-priority-summary{grid-template-columns:1fr}.csl-v113-priority-summary>span{grid-row:auto}.csl-v113-import-confirm{flex-direction:column}.csl-v113-import-confirm .csl-reg-button{width:100%}}

/* === V114 · Envoi interne des documents + registre des factures ========== */
.csl-v114-mail-tool,.csl-v114-invoices-tool{padding:22px 0 44px;background:#f5f6f8;min-height:72vh}
.csl-v114-mail-shell,.csl-v114-invoices-shell{max-width:1320px}
.csl-v114-mail-hero,.csl-v114-invoices-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:24px 26px;margin-bottom:18px;border:1px solid #e3e6e9;border-radius:22px;background:#fff;box-shadow:0 12px 32px rgba(25,34,43,.05)}
.csl-v114-mail-hero h1,.csl-v114-invoices-hero h1{margin:5px 0 4px;color:#24313d;font-size:clamp(1.65rem,3vw,2.25rem)}
.csl-v114-mail-hero p,.csl-v114-invoices-hero p{margin:0;color:#74808a;line-height:1.5}.csl-v114-mail-hero .csl-reg-back,.csl-v114-invoices-hero .csl-reg-back{display:inline-flex;margin-bottom:12px;color:#7a858e;text-decoration:none;font-weight:800;font-size:12px}
.csl-v114-mail-hero__icon{display:grid;place-items:center;width:58px;height:58px;flex:0 0 58px;border-radius:18px;background:#202d39;color:#fff;font-size:25px;font-weight:950}
.csl-v114-mail-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:18px;align-items:start}.csl-v114-preview-column{display:grid;gap:18px}
.csl-v114-mail-card{overflow:hidden;border:1px solid #e2e6e9;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(24,34,43,.045)}
.csl-v114-mail-card__head{display:flex;align-items:center;gap:12px;padding:17px 20px;border-bottom:1px solid #edf0f2;background:#fbfcfc}.csl-v114-mail-card__head>span{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#273541;color:#fff;font-weight:950;font-size:12px}.csl-v114-mail-card__head>div{display:flex;flex-direction:column;gap:2px}.csl-v114-mail-card__head strong{color:#26333e;font-size:14px}.csl-v114-mail-card__head small{color:#818b94;font-size:11px;line-height:1.35}
.csl-v114-mail-form{display:flex;flex-direction:column;gap:15px;padding:20px}.csl-v114-mail-form>label{display:flex;flex-direction:column;gap:7px;color:#56636e;font-size:12px;font-weight:850}.csl-v114-mail-form input,.csl-v114-mail-form textarea{width:100%;box-sizing:border-box;border:1px solid #ccd4da;border-radius:12px;background:#fff;padding:11px 12px;color:#283642;font:inherit}.csl-v114-mail-form input[readonly]{background:#f4f6f7;color:#6f7a84}.csl-v114-mail-form textarea{min-height:230px;resize:vertical;line-height:1.55}.csl-v114-mail-form input:focus,.csl-v114-mail-form textarea:focus{outline:none;border-color:#b91520;box-shadow:0 0 0 3px rgba(185,21,32,.08)}.csl-v114-mail-form label small{color:#89939c;font-size:10px;font-weight:500;line-height:1.4}
.csl-v114-attachment-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid #dfe4e8;border-radius:14px;background:#f8fafb}.csl-v114-attachment-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#fff0f1;color:#ad1520;font-weight:950;font-size:11px}.csl-v114-attachment-card>div{display:flex;flex-direction:column;gap:3px;min-width:0}.csl-v114-attachment-card strong{overflow:hidden;text-overflow:ellipsis;color:#2d3944;font-size:12px}.csl-v114-attachment-card small{color:#7d8891;font-size:10px;line-height:1.35}.csl-v114-attachment-card>a{color:#a3151f;text-decoration:none;font-size:10px;font-weight:900;white-space:nowrap}.csl-v114-send-button{width:100%;justify-content:center;min-height:48px;margin-top:2px}
.csl-v114-message-preview__mail{padding:20px;color:#34424d;font-size:13px;line-height:1.6}.csl-v114-message-preview__mail>p{margin:0 0 7px;padding-bottom:7px;border-bottom:1px solid #edf0f2}.csl-v114-message-preview__mail>div#csl-v114-preview-message{padding:14px 0;min-height:120px}.csl-v114-preview-attachment{padding:10px 12px!important;min-height:0!important;border:1px solid #e3e7ea;border-radius:10px;background:#f8f9fa;color:#65717a;font-size:11px;font-weight:800}
.csl-v114-pdf-preview iframe{display:block;width:100%;height:650px;border:0;background:#e9ecef}.csl-v114-invoice-sent-ref{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 18px;padding:14px 16px;border:1px solid #cde8d8;border-radius:14px;background:#effaf4;color:#286d49}.csl-v114-invoice-sent-ref a{color:#286d49;font-weight:900;text-decoration:none;font-size:11px}
.csl-v114-invoices-total{display:flex;align-items:baseline;gap:6px;padding:10px 14px;border-radius:14px;background:#263541;color:#fff}.csl-v114-invoices-total strong{font-size:25px}.csl-v114-invoices-total span{font-size:11px;font-weight:800}.csl-v114-invoice-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;margin-bottom:18px;padding:15px;border:1px solid #e2e6e9;border-radius:17px;background:#fff}.csl-v114-invoice-search input{width:100%;box-sizing:border-box;border:1px solid #ccd4da;border-radius:10px;padding:10px 12px;font:inherit}
.csl-v114-invoice-groups{display:grid;gap:13px}.csl-v114-invoice-group{overflow:hidden;border:1px solid #e0e5e8;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(26,35,43,.035)}.csl-v114-invoice-group>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;list-style:none}.csl-v114-invoice-group>summary::-webkit-details-marker{display:none}.csl-v114-invoice-group>summary>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}.csl-v114-invoice-group>summary strong{color:#26343f;font-size:15px}.csl-v114-invoice-group>summary small{color:#7d8892;font-size:11px}.csl-v114-invoice-group>summary>span{color:#66727c;font-size:11px;font-weight:850;white-space:nowrap}.csl-v114-adult-badge{display:inline-flex;padding:6px 8px;border-radius:999px;background:#f0f2f4;color:#66717b;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
.csl-v114-invoice-list{border-top:1px solid #edf0f2}.csl-v114-invoice-list article{display:grid;grid-template-columns:minmax(155px,.65fr) minmax(180px,1fr) minmax(190px,1fr) auto;gap:16px;align-items:center;padding:14px 17px;border-bottom:1px solid #edf0f2}.csl-v114-invoice-list article:last-child{border-bottom:0}.csl-v114-invoice-list article>div:not(.csl-v114-invoice-actions){display:flex;flex-direction:column;gap:3px;min-width:0}.csl-v114-invoice-list article span{color:#8a949d;font-size:9px;font-weight:900;text-transform:uppercase}.csl-v114-invoice-list article strong{color:#2e3a45;font-size:12px}.csl-v114-invoice-list article small{color:#7c8790;font-size:10px;line-height:1.35}.csl-v114-invoice-number strong{color:#9f1520!important;font-size:13px!important}.csl-v114-invoice-actions{display:flex;justify-content:flex-end;gap:7px;flex-wrap:wrap}.csl-v114-invoice-actions .csl-reg-button{padding:8px 10px;min-height:35px;font-size:9px}
@media(max-width:980px){.csl-v114-mail-grid{grid-template-columns:1fr}.csl-v114-pdf-preview iframe{height:560px}.csl-v114-invoice-list article{grid-template-columns:1fr 1fr}.csl-v114-invoice-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:640px){.csl-v114-mail-tool,.csl-v114-invoices-tool{padding-top:12px}.csl-v114-mail-hero,.csl-v114-invoices-hero{padding:18px;align-items:flex-start}.csl-v114-mail-hero__icon{width:46px;height:46px;flex-basis:46px;border-radius:14px}.csl-v114-mail-form{padding:15px}.csl-v114-attachment-card{grid-template-columns:auto minmax(0,1fr)}.csl-v114-attachment-card>a{grid-column:1/-1;text-align:center;padding:8px;border-radius:9px;background:#fff}.csl-v114-pdf-preview iframe{height:430px}.csl-v114-invoice-sent-ref{align-items:flex-start;flex-direction:column}.csl-v114-invoice-search{grid-template-columns:1fr}.csl-v114-invoice-search .csl-reg-button{width:100%;box-sizing:border-box;text-align:center}.csl-v114-invoice-group>summary{align-items:flex-start;flex-direction:column}.csl-v114-invoice-list article{grid-template-columns:1fr}.csl-v114-invoice-actions{grid-column:auto;display:grid;grid-template-columns:1fr}.csl-v114-invoice-actions .csl-reg-button{text-align:center}}


/* V1.115 — tableau des dossiers optimisé pour iPad portrait et paysage.
 * Sur tablette, on conserve les informations de pilotage essentielles sans
 * imposer de défilement horizontal. Les détails secondaires restent dans le dossier. */
@media (min-width: 681px) and (max-width: 1179px) {
    .csl-manager-v105 .csl-v105-section--records {
        padding-right: 10px !important;
        padding-left: 10px !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table-wrap {
        overflow: visible !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table {
        width: 100% !important;
        min-width: 0 !important;
        table-layout: fixed !important;
        font-size: 9px !important;
    }

    /* Formule et date de réception sont accessibles dans la fiche et prennent
       beaucoup de largeur pour peu de valeur de pilotage sur tablette. */
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(4),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(4),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(8),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(8) {
        display: none !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th,
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td {
        min-width: 0 !important;
        max-width: none !important;
        padding: 6px 5px !important;
        font-size: 9px !important;
        line-height: 1.18 !important;
        overflow-wrap: anywhere;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table thead th {
        padding-top: 7px !important;
        padding-bottom: 7px !important;
        font-size: 7px !important;
        letter-spacing: .055em !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(1),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(1) { width: 15%; }
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(2),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(2) { width: 22%; }
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(3),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(3) { width: 18%; }
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(5),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(5) { width: 13%; }
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(6),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(6) { width: 8%; }
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(7),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(7) { width: 15%; }
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(9),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(9) { width: 9%; }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-reference-link {
        font-size: 8px !important;
        letter-spacing: -.015em;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(2) > strong {
        display: inline;
        font-size: 9px !important;
        line-height: 1.15;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-v107-record-badges {
        display: inline-flex !important;
        align-items: center;
        flex-wrap: wrap;
        gap: 2px !important;
        margin: 0 0 0 4px !important;
        vertical-align: middle;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-v107-record-badge {
        min-height: 16px !important;
        padding: 2px 4px !important;
        font-size: 6px !important;
        letter-spacing: .015em !important;
    }

    /* Le badge de provenance est utile dans la fiche, mais secondaire dans la
       liste tablette. Le masquer gagne une ligne entière sur de nombreux dossiers. */
    .csl-manager-v105 .csl-v105-section--records .csl-v107-record-badge.is-source {
        display: none !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-status,
    .csl-manager-v105 .csl-v105-section--records .csl-reg-validation-informed,
    .csl-manager-v105 .csl-v105-section--records .csl-reg-payment-status,
    .csl-manager-v105 .csl-v105-section--records .csl-reg-doc-count {
        min-height: 18px !important;
        padding: 3px 5px !important;
        font-size: 7px !important;
        line-height: 1 !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-validation-informed {
        margin: 0 0 0 3px !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-actions-toggle {
        width: 100% !important;
        min-width: 0 !important;
        min-height: 27px !important;
        gap: 3px !important;
        padding: 4px 5px !important;
        font-size: 7px !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-actions-toggle::before {
        width: 17px !important;
        height: 17px !important;
        font-size: 13px !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-actions-toggle__chevron {
        width: 15px !important;
        height: 15px !important;
        font-size: 15px !important;
    }

    .csl-manager-v105 .csl-v105-section--records .csl-reg-action-menu {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* En portrait étroit, la colonne Pièces passe elle aussi dans la fiche afin
 * de garder de vraies colonnes lisibles sans aucun débordement horizontal. */
@media (min-width: 681px) and (max-width: 820px) {
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(6),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(6) {
        display: none !important;
    }
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(1),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(1) { width: 17%; }
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(2),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(2) { width: 24%; }
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(3),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(3) { width: 20%; }
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(5),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(5) { width: 14%; }
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(7),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(7) { width: 16%; }
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table th:nth-child(9),
    .csl-manager-v105 .csl-v105-section--records .csl-reg-table td:nth-child(9) { width: 9%; }
}


/* V117 · Communication de rentrée avec aperçu + affiche jointe */
.csl-v117-rentree-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px}.csl-v117-rentree-summary>div{padding:14px 15px;border:1px solid #e2e7eb;border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(38,51,65,.05)}.csl-v117-rentree-summary span,.csl-v117-rentree-summary small{display:block}.csl-v117-rentree-summary span{font-size:10px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:#86919b}.csl-v117-rentree-summary strong{display:block;margin:5px 0 3px;font-size:17px;line-height:1.2;color:#263341}.csl-v117-rentree-summary small{font-size:11px;line-height:1.35;color:#7b8792}.csl-v117-compose-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(360px,1.12fr);gap:18px;align-items:start}.csl-v117-editor,.csl-v117-mail-preview,.csl-v117-poster-preview{min-width:0}.csl-v117-previews{display:grid;gap:14px;position:sticky;top:18px}.csl-v117-mail-preview,.csl-v117-poster-preview{overflow:hidden;border:1px solid #dde3e8;border-radius:15px;background:#fff;box-shadow:0 8px 26px rgba(38,51,65,.07)}.csl-v117-preview-head{display:flex;gap:10px;align-items:center;padding:13px 15px;border-bottom:1px solid #e6ebee;background:#f8fafb}.csl-v117-preview-head>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#263341;color:#fff;font-weight:800}.csl-v117-preview-head strong,.csl-v117-preview-head small{display:block}.csl-v117-preview-head strong{font-size:13px;color:#263341}.csl-v117-preview-head small{margin-top:2px;font-size:10px;color:#82909b}.csl-v117-mail-preview__window{padding:17px 18px;font-size:12px;line-height:1.6;color:#394550;max-height:430px;overflow:auto}.csl-v117-mail-preview__window>p{margin:0 0 9px}.csl-v117-mail-preview__window #csl-v117-preview-body{padding-top:10px;border-top:1px solid #eef1f3;font-size:13px;line-height:1.65}.csl-v117-attachment-chip{display:inline-block;margin-top:15px;padding:7px 10px;border-radius:999px;background:#fff0f1;color:#a81723;font-size:11px;font-weight:800}.csl-v117-poster-preview iframe{display:block;width:100%;height:510px;border:0;background:#eef1f3}@media(max-width:980px){.csl-v117-rentree-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.csl-v117-compose-grid{grid-template-columns:1fr}.csl-v117-previews{position:static;grid-template-columns:1fr 1fr}.csl-v117-poster-preview iframe{height:430px}}@media(max-width:680px){.csl-v117-rentree-summary,.csl-v117-previews{grid-template-columns:1fr}.csl-v117-poster-preview iframe{height:480px}}

/* V119 — Vue globale des présences */
.csl-attendance-overview{margin-top:22px;background:#fff;border:1px solid rgba(21,32,45,.1);border-radius:22px;padding:20px;box-shadow:0 12px 32px rgba(21,32,45,.06)}
.csl-attendance-overview .csl-attendance-section-heading p{margin:6px 0 0;max-width:780px;color:#657080;font-size:13px;line-height:1.45}
.csl-attendance-overview-legend{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.csl-attendance-overview-legend span{display:inline-flex;align-items:center;min-height:28px;padding:4px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}
.csl-attendance-overview-legend .is-present{background:#eaf8ef;color:#167a40}.csl-attendance-overview-legend .is-absent{background:#fff0f0;color:#b32828}.csl-attendance-overview-legend .is-unmarked{background:#f2f4f7;color:#667080}.csl-attendance-overview-legend .is-future{background:#eef4ff;color:#315da8}
.csl-attendance-matrix-wrap{overflow:auto;-webkit-overflow-scrolling:touch;border:1px solid rgba(21,32,45,.09);border-radius:16px;max-height:68vh;background:#fff}
.csl-attendance-matrix{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12px}.csl-attendance-matrix th,.csl-attendance-matrix td{border-right:1px solid #edf0f3;border-bottom:1px solid #edf0f3;padding:8px 7px;text-align:center;vertical-align:middle;min-width:48px;height:48px}.csl-attendance-matrix thead th{position:sticky;top:0;z-index:4;background:#f8f9fb;color:#263241}.csl-attendance-matrix thead th b{display:block;font-size:12px}.csl-attendance-matrix thead th small{display:block;max-width:74px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:700;color:#7a8490;margin-top:2px}
.csl-attendance-matrix .csl-attendance-matrix-person{position:sticky;left:0;z-index:3;min-width:190px;max-width:220px;text-align:left;background:#fff}.csl-attendance-matrix thead .csl-attendance-matrix-person{z-index:6;background:#f8f9fb}.csl-attendance-matrix .csl-attendance-matrix-person strong{display:block;font-size:12px;color:#202b38}.csl-attendance-matrix .csl-attendance-matrix-person small{display:block;margin-top:3px;color:#7a8490;font-size:10px;font-weight:600;white-space:normal}
.csl-attendance-matrix .csl-attendance-matrix-summary{position:sticky;left:190px;z-index:2;min-width:155px;max-width:180px;text-align:left;background:#fcfcfd}.csl-attendance-matrix thead .csl-attendance-matrix-summary{z-index:5;background:#f8f9fb}.csl-attendance-matrix-summary strong{display:block;font-size:11px}.csl-attendance-matrix-summary small{display:block;font-size:9px;color:#77818d;margin-top:3px;line-height:1.25}
.csl-attendance-matrix td.is-present{background:#eaf8ef;color:#15763e;font-weight:900}.csl-attendance-matrix td.is-absent{background:#fff0f0;color:#b32828;font-weight:900}.csl-attendance-matrix td.is-unmarked{background:#f5f6f8;color:#7d8793;font-weight:900}.csl-attendance-matrix td.is-future{background:#f3f7ff;color:#466ca8;font-weight:900}.csl-attendance-matrix td.is-na{color:#c2c7ce;background:#fbfbfc}
@media(max-width:820px){.csl-attendance-overview{padding:14px;border-radius:18px}.csl-attendance-overview .csl-attendance-section-heading{align-items:flex-start;gap:10px}.csl-attendance-overview-legend{justify-content:flex-start}.csl-attendance-matrix .csl-attendance-matrix-person{min-width:145px;max-width:145px}.csl-attendance-matrix .csl-attendance-matrix-summary{left:145px;min-width:125px;max-width:125px}.csl-attendance-matrix th,.csl-attendance-matrix td{padding:6px 5px;min-width:43px}.csl-attendance-matrix thead th small{max-width:54px}}
.csl-attendance-filter-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.csl-attendance-filter-shortcuts .csl-attendance-button{min-height:34px;padding:7px 11px;font-size:11px}


/* V120 — Vue d'ensemble : statut Informé + menu Actions réellement lisible. */
.csl-attendance-overview-legend .is-informed{background:#e9f8ef;color:#177641}
.csl-attendance-overview-legend .is-to-inform{background:#fff4dd;color:#9a6200}
.csl-attendance-matrix .csl-attendance-matrix-info{position:sticky;left:345px;z-index:2;min-width:105px;max-width:115px;background:#fff;text-align:center}
.csl-attendance-matrix thead .csl-attendance-matrix-info{z-index:5;background:#f8f9fb;color:#687587;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.csl-attendance-info-badge{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:900;line-height:1.1;white-space:nowrap}
.csl-attendance-info-badge.is-informed{background:#e9f8ef;color:#177641;border:1px solid #ccebd8}
.csl-attendance-info-badge.is-to-inform{background:#fff4dd;color:#966000;border:1px solid #f2d9a5}

/* Le bouton reste compact dans la ligne, mais son panneau devient un vrai menu
 * lisible et assez large pour « Préparer le mail », « Dossier PDF », etc. */
.csl-manager-v105 .csl-v105-section--records .csl-reg-record-row.is-actions-open td.csl-reg-table__actions{position:relative;z-index:70!important;overflow:visible!important}
.csl-manager-v105 .csl-v105-section--records .csl-reg-action-menu[open]{z-index:75}
.csl-manager-v105 .csl-v105-section--records .csl-reg-action-menu__panel{width:210px!important;min-width:210px!important;padding:10px!important;border:1px solid #d9e0e6!important;border-radius:13px!important;background:#fff!important;box-shadow:0 16px 36px rgba(22,34,48,.22)!important}
.csl-manager-v105 .csl-v105-section--records .csl-reg-action-menu__panel .csl-reg-actions-stack{gap:7px!important}
.csl-manager-v105 .csl-v105-section--records .csl-reg-action-menu__panel .csl-reg-action-button{min-height:38px!important;padding:8px 10px!important;border-radius:9px!important;font-size:11px!important;font-weight:850!important;line-height:1.2!important;white-space:normal!important;text-align:left!important;justify-content:flex-start!important;-webkit-text-size-adjust:100%}
.csl-manager-v105 .csl-v105-section--records .csl-reg-action-menu__panel .csl-reg-action-button::before{width:20px!important;height:20px!important;flex:0 0 20px!important;font-size:12px!important}

@media (min-width:681px) and (max-width:1179px){
  .csl-attendance-matrix .csl-attendance-matrix-info{left:270px;min-width:92px;max-width:100px}
  .csl-attendance-info-badge{padding:4px 6px;font-size:8px}
  .csl-manager-v105 .csl-v105-section--records .csl-reg-action-menu__panel{position:absolute!important;top:calc(100% + 6px)!important;right:0!important;left:auto!important;width:205px!important;min-width:205px!important;margin:0!important}
  .csl-manager-v105 .csl-v105-section--records .csl-reg-action-menu__panel .csl-reg-action-button{font-size:11px!important;min-height:39px!important}
}
@media (max-width:680px){
  .csl-attendance-matrix .csl-attendance-matrix-info{left:270px;min-width:90px;max-width:98px}
  .csl-manager-v105 .csl-v105-section--records .csl-reg-action-menu__panel{position:static!important;width:100%!important;min-width:0!important;margin-top:8px!important}
  .csl-manager-v105 .csl-v105-section--records .csl-reg-action-menu__panel .csl-reg-action-button{font-size:12px!important;min-height:42px!important}
}


/* V122 — abonnement calendrier dynamique des intervenants */
.csl-attendance-calendar-subscription{margin:14px 0 18px;padding:18px 20px;border:1px solid rgba(15,23,42,.09);border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,250,252,.95));box-shadow:0 10px 26px rgba(15,23,42,.06)}
.csl-attendance-calendar-live{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#ecfdf3;color:#16794b;font-weight:800;font-size:12px;white-space:nowrap}
.csl-attendance-calendar-intro{margin:4px 0 12px;color:#475569;line-height:1.55;font-size:14px;max-width:900px}
.csl-attendance-calendar-summary{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:0 0 14px;padding:10px 12px;border-radius:14px;background:rgba(15,23,42,.035)}
.csl-attendance-calendar-summary strong{font-size:14px;color:#0f172a}.csl-attendance-calendar-summary span{font-size:12px;color:#64748b;font-weight:700}
.csl-attendance-calendar-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.csl-attendance-calendar-help{margin-top:12px;border-top:1px solid rgba(15,23,42,.07);padding-top:10px}.csl-attendance-calendar-help summary{cursor:pointer;font-weight:800;color:#334155}.csl-attendance-calendar-help p{margin:8px 0;color:#64748b;font-size:13px}.csl-attendance-calendar-help input{width:100%;box-sizing:border-box;border:1px solid #dbe3ee;border-radius:10px;padding:9px 10px;background:white;color:#475569;font-size:12px}.csl-attendance-calendar-note{display:block;margin-top:10px;color:#64748b;line-height:1.45}
@media(max-width:700px){.csl-attendance-calendar-subscription{padding:15px;border-radius:16px}.csl-attendance-calendar-actions .csl-attendance-button{flex:1 1 100%;justify-content:center}.csl-attendance-calendar-live{font-size:11px}}

/* V123 — calendrier intervenant lisible + informations personnelles privées */
.csl-attendance-calendar-actions a.csl-attendance-calendar-subscribe,
.csl-attendance-calendar-actions a.csl-attendance-calendar-subscribe:link,
.csl-attendance-calendar-actions a.csl-attendance-calendar-subscribe:visited,
.csl-attendance-calendar-actions a.csl-attendance-calendar-subscribe:hover,
.csl-attendance-calendar-actions a.csl-attendance-calendar-subscribe:focus{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  min-width:230px;
  background:var(--csl-attendance-red)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
  opacity:1!important;
  visibility:visible!important;
}
.csl-attendance-calendar-subscribe > span{
  display:inline-block!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  opacity:1!important;
  visibility:visible!important;
  font-weight:900!important;
}
.csl-attendance-calendar-subscribe__icon{
  width:22px;
  height:22px;
  flex:0 0 22px;
  border:2px solid rgba(255,255,255,.92);
  border-radius:6px;
  font-size:0!important;
  position:relative;
  box-sizing:border-box;
}
.csl-attendance-calendar-subscribe__icon:before,
.csl-attendance-calendar-subscribe__icon:after{
  content:"";
  position:absolute;
  left:3px;
  right:3px;
  background:#fff;
  border-radius:2px;
}
.csl-attendance-calendar-subscribe__icon:before{top:5px;height:2px}
.csl-attendance-calendar-subscribe__icon:after{top:10px;height:6px;opacity:.92}

.csl-attendance-personal-panel{
  margin:0 0 18px;
  border:1px solid rgba(15,23,42,.09);
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 26px rgba(15,23,42,.055);
  overflow:hidden;
}
.csl-attendance-personal-panel > summary{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:16px 20px;
  cursor:pointer;
  user-select:none;
}
.csl-attendance-personal-panel > summary::-webkit-details-marker{display:none}
.csl-attendance-personal-panel > summary > span:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}
.csl-attendance-personal-panel > summary small{font-size:10px;letter-spacing:.14em;font-weight:900;color:#64748b}
.csl-attendance-personal-panel > summary strong{font-size:18px;line-height:1.2;color:#0f172a}
.csl-attendance-personal-panel__pill{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:11px;font-weight:900}
.csl-attendance-personal-panel__body{padding:0 20px 20px;border-top:1px solid rgba(15,23,42,.07)}
.csl-attendance-personal-panel__body > p{margin:14px 0;color:#64748b;font-size:13px;line-height:1.55}
.csl-attendance-personal-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.csl-attendance-personal-form label{display:flex;flex-direction:column;gap:6px;min-width:0;font-weight:800;color:#334155;font-size:12px}
.csl-attendance-personal-form input,
.csl-attendance-personal-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid #d6dfe4;
  border-radius:11px;
  background:#fff;
  color:#0f172a;
  font:inherit;
  font-size:14px;
  line-height:1.35;
  padding:10px 12px;
  outline:none;
}
.csl-attendance-personal-form input:focus,
.csl-attendance-personal-form textarea:focus{border-color:#94a3b8;box-shadow:0 0 0 3px rgba(148,163,184,.16)}
.csl-attendance-personal-form textarea{resize:vertical;min-height:120px}
.csl-attendance-personal-form label small{font-weight:500;color:#64748b;line-height:1.4}
.csl-attendance-personal-form__notes{grid-column:1/-1}
.csl-attendance-personal-form__footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:2px}
.csl-attendance-personal-form__footer > span{font-size:11px;color:#64748b}
.csl-attendance-personal-form__footer .csl-attendance-button--primary{color:#fff!important;-webkit-text-fill-color:#fff!important}

@media(max-width:700px){
  .csl-attendance-calendar-actions a.csl-attendance-calendar-subscribe{min-width:0;width:100%}
  .csl-attendance-personal-panel{border-radius:16px}
  .csl-attendance-personal-panel > summary{padding:14px 15px}
  .csl-attendance-personal-panel > summary strong{font-size:16px}
  .csl-attendance-personal-panel__body{padding:0 15px 15px}
  .csl-attendance-personal-form{grid-template-columns:1fr}
  .csl-attendance-personal-form__notes,.csl-attendance-personal-form__footer{grid-column:1}
  .csl-attendance-personal-form__footer{align-items:stretch;flex-direction:column}
  .csl-attendance-personal-form__footer .csl-attendance-button{width:100%}
}

/* === V124 · suppression sécurisée des factures envoyées ================== */
.csl-v124-invoice-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.csl-v124-invoice-tabs a{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid #dfe4e8;border-radius:999px;background:#fff;color:#55616b;text-decoration:none;font-size:11px;font-weight:900}.csl-v124-invoice-tabs a strong{display:grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:999px;background:#edf0f2;color:#53606a;font-size:10px}.csl-v124-invoice-tabs a.is-active{border-color:#273640;background:#273640;color:#fff}.csl-v124-invoice-tabs a.is-active strong{background:#fff;color:#273640}.csl-v124-invoice-legal-note{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;padding:12px 14px;border:1px solid #ecd8a8;border-radius:14px;background:#fff9ea;color:#6c5b2c;font-size:11px;line-height:1.45}.csl-v124-invoice-legal-note strong{white-space:nowrap}.csl-v124-invoice-manage-form{display:inline-flex;margin:0}.csl-v124-invoice-manage-form .csl-reg-button{border:0;cursor:pointer}.csl-v124-invoice-delete{background:#fff1f2!important;color:#a51622!important;border:1px solid #f0c9cd!important}.csl-v124-invoice-delete:hover{background:#a51622!important;color:#fff!important}.csl-v124-invoice-restore{background:#eef9f2!important;color:#27734a!important;border:1px solid #c8e8d4!important}.csl-v124-invoice-restore:hover{background:#27734a!important;color:#fff!important}.csl-v114-invoice-list article.is-deleted{background:#fbfbfb;opacity:.82}.csl-v114-invoice-list article.is-deleted .csl-v114-invoice-number strong{text-decoration:line-through;text-decoration-thickness:1px}.csl-v114-invoice-actions form{margin:0}
@media(max-width:640px){.csl-v124-invoice-tabs{display:grid;grid-template-columns:1fr 1fr}.csl-v124-invoice-tabs a{justify-content:center}.csl-v124-invoice-legal-note{flex-direction:column}.csl-v124-invoice-manage-form,.csl-v124-invoice-manage-form .csl-reg-button{width:100%}.csl-v124-invoice-manage-form .csl-reg-button{text-align:center}}

/* === V125 · purge définitive / remise à zéro des factures de test ======= */
.csl-v125-invoice-reset-zone{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,1.2fr);gap:18px;margin:0 0 16px;padding:18px;border:1px solid #f0c8cc;border-radius:18px;background:linear-gradient(135deg,#fffafa 0%,#fff 60%);box-shadow:0 10px 30px rgba(62,34,37,.05)}
.csl-v125-reset-copy h2{margin:5px 0 8px;font-size:20px;line-height:1.1;color:#272f35}.csl-v125-reset-copy p{margin:0;color:#68737b;font-size:12px;line-height:1.55}.csl-v125-reset-actions{display:grid;gap:10px}.csl-v125-purge-form,.csl-v125-reset-form{display:grid;gap:8px;padding:12px;border:1px solid #e9edef;border-radius:14px;background:#fff}.csl-v125-purge-form label,.csl-v125-reset-form label{display:grid;gap:5px;color:#59656d;font-size:10px;font-weight:700}.csl-v125-purge-form input,.csl-v125-reset-form input{width:100%;min-height:39px;padding:8px 10px;border:1px solid #d9e0e4;border-radius:10px;background:#fff;color:#20272c;font-size:12px;font-weight:800;letter-spacing:.02em}.csl-v125-purge-button,.csl-v125-reset-button{width:100%;border:0!important;cursor:pointer;text-align:center}.csl-v125-purge-button{background:#fff0f1!important;color:#a51622!important;border:1px solid #efc5ca!important}.csl-v125-purge-button:hover{background:#a51622!important;color:#fff!important}.csl-v125-reset-button{background:#98121f!important;color:#fff!important}.csl-v125-reset-button:hover{background:#78101a!important}.csl-v125-purge-button:disabled,.csl-v125-reset-button:disabled,.csl-v125-reset-form input:disabled{opacity:.45;cursor:not-allowed}.csl-v125-reset-form small{display:block;color:#69757d;font-size:10px;line-height:1.35}.csl-v125-reset-form small.csl-v125-reset-blocked{color:#a51622;font-weight:800}
@media(max-width:820px){.csl-v125-invoice-reset-zone{grid-template-columns:1fr}.csl-v125-reset-actions{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.csl-v125-reset-actions{grid-template-columns:1fr}.csl-v125-invoice-reset-zone{padding:14px;border-radius:16px}}

/* V126 — accès express aux contacts d'urgence le jour de la séance. */
.csl-attendance-emergency {
    margin: 14px 18px 0;
    overflow: hidden;
    border: 1px solid #efc3c6;
    border-radius: 13px;
    background: #fff8f8;
}
.csl-attendance-emergency__summary {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 54px;
    padding: 11px 13px;
    color: #6f151c;
    cursor: pointer;
    list-style: none;
    user-select: none;
}
.csl-attendance-emergency__summary::-webkit-details-marker { display: none; }
.csl-attendance-emergency__summary::marker { display: none; }
.csl-attendance-emergency__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: #b31420;
    color: #fff;
    font-size: 18px;
    line-height: 1;
}
.csl-attendance-emergency__title { display: flex; flex: 1 1 auto; flex-direction: column; min-width: 0; }
.csl-attendance-emergency__title strong { color: #7c1720; font-size: 14px; line-height: 1.2; }
.csl-attendance-emergency__title small { margin-top: 3px; color: #8f5559; font-size: 10px; line-height: 1.35; }
.csl-attendance-emergency__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    border-radius: 99px;
    background: #fff;
    color: #9c1b25;
    font-size: 12px;
    font-weight: 900;
    box-shadow: inset 0 0 0 1px #edc8cb;
}
.csl-attendance-emergency__chevron { color: #9c1b25; font-size: 18px; transition: transform .15s ease; }
.csl-attendance-emergency[open] .csl-attendance-emergency__summary { border-bottom: 1px solid #f0d4d6; background: #fff3f4; }
.csl-attendance-emergency[open] .csl-attendance-emergency__chevron { transform: rotate(180deg); }
.csl-attendance-emergency__body { padding: 13px; }
.csl-attendance-emergency__notice {
    margin-bottom: 11px;
    padding: 10px 11px;
    border-radius: 9px;
    background: #fff;
    color: #7a5558;
    font-size: 10px;
    line-height: 1.45;
}
.csl-attendance-emergency__notice strong { color: #7c1720; }
.csl-attendance-emergency__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.csl-attendance-emergency-card {
    overflow: hidden;
    border: 1px solid #ead9da;
    border-radius: 11px;
    background: #fff;
}
.csl-attendance-emergency-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 9px;
    padding: 11px;
    border-bottom: 1px solid #f0e6e7;
}
.csl-attendance-emergency-card__head > div { min-width: 0; }
.csl-attendance-emergency-card__head strong { display: block; color: #27333d; font-size: 13px; line-height: 1.25; }
.csl-attendance-emergency-card__head small { display: block; margin-top: 3px; color: #7c8991; font-size: 9px; overflow-wrap: anywhere; }
.csl-attendance-emergency-card__status { flex: 0 0 auto; padding: 4px 7px; border-radius: 99px; font-size: 9px; font-weight: 900; white-space: nowrap; }
.csl-attendance-emergency-card__status.is-present { background: #e7f7ed; color: #19713d; }
.csl-attendance-emergency-card__status.is-unmarked { background: #fff4df; color: #936013; }
.csl-attendance-emergency-card__contacts { padding: 4px 10px 9px; }
.csl-attendance-emergency-contact {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    padding: 8px 0;
    border-top: 1px solid #f2ecec;
}
.csl-attendance-emergency-contact:first-child { border-top: 0; }
.csl-attendance-emergency-contact > div { min-width: 0; }
.csl-attendance-emergency-contact small,
.csl-attendance-emergency-contact strong,
.csl-attendance-emergency-contact span { display: block; }
.csl-attendance-emergency-contact small { color: #9b5c61; font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.csl-attendance-emergency-contact strong { margin-top: 2px; color: #27333d; font-size: 12px; }
.csl-attendance-emergency-contact span { margin-top: 2px; color: #5f6d75; font-size: 11px; font-weight: 700; }
.csl-attendance-emergency-contact__call,
.csl-attendance a.csl-attendance-emergency-contact__call,
.csl-attendance a.csl-attendance-emergency-contact__call:visited {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    min-width: 74px;
    min-height: 34px;
    padding: 7px 10px;
    border-radius: 9px;
    background: #b31420 !important;
    color: #fff !important;
    font-size: 10px;
    font-weight: 900;
    text-decoration: none !important;
}
.csl-attendance-emergency-card__missing { padding: 11px; background: #fffaf0; }
.csl-attendance-emergency-card__missing strong,
.csl-attendance-emergency-card__missing span { display: block; }
.csl-attendance-emergency-card__missing strong { color: #8a5a12; font-size: 11px; }
.csl-attendance-emergency-card__missing span { margin-top: 3px; color: #8e7a5c; font-size: 9px; line-height: 1.4; }

@media (max-width: 900px) {
    .csl-attendance-emergency__grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
    .csl-attendance-emergency { width: calc(100vw - 76px); min-width: 300px; margin: 12px 12px 0; }
    .csl-attendance-emergency__summary { padding: 10px; }
    .csl-attendance-emergency__title small { display: none; }
    .csl-attendance-emergency__body { padding: 10px; }
    .csl-attendance-emergency-card__head { align-items: center; }
    .csl-attendance-emergency-contact { align-items: center; }
    .csl-attendance-emergency-contact__call,
    .csl-attendance a.csl-attendance-emergency-contact__call,
    .csl-attendance a.csl-attendance-emergency-contact__call:visited { min-width: 82px; min-height: 38px; }
}


/* V128 — réservation de place sur dossier interne incomplet */
.csl-reg-capacity-reservation{display:flex!important;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid rgba(21,128,61,.22);border-radius:14px;background:rgba(240,253,244,.92);min-height:0!important}
.csl-reg-capacity-reservation input{flex:0 0 auto;margin-top:3px;width:18px;height:18px}
.csl-reg-capacity-reservation span{display:grid;gap:3px;line-height:1.25}
.csl-reg-capacity-reservation strong{font-size:13px;color:#166534}
.csl-reg-capacity-reservation small{font-size:11px;color:#475569;line-height:1.35}
.csl-reg-capacity-reserved-badge{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:3px 7px;border-radius:999px;background:#dcfce7;color:#166534;font-size:10px;font-weight:800;white-space:nowrap}

/* === V129 · Urgences, contacts multiples, exceptions d'âge, alertes ===== */
.csl-reg-emergency-list{display:grid;gap:10px;margin:8px 0 10px}.csl-reg-emergency-row{display:grid;grid-template-columns:1.15fr .85fr 1fr auto;gap:10px;align-items:end;padding:12px;border:1px solid #e4e8ef;border-radius:16px;background:#fff}.csl-reg-emergency-row label{margin:0}.csl-reg-emergency-remove{min-height:42px;padding:0 12px;border:1px solid #ffd0d0;border-radius:12px;background:#fff7f7;color:#a51d2a;font-weight:800;cursor:pointer}.csl-reg-add-emergency{margin-top:2px}
.csl-reg-activity-choice--age-incompatible:not(.csl-reg-activity-choice--full){outline:2px solid #f0b53b;outline-offset:1px}.csl-reg-age-warning{font-style:normal;font-weight:800;color:#8b5a00}.csl-reg-age-exception-box{margin:14px 0;padding:16px;border:1px solid #f0cf85;border-radius:18px;background:#fff9e9}.csl-reg-age-exception-box>div:first-child{display:grid;gap:4px}.csl-reg-age-exception-box strong{color:#6d4800}.csl-reg-age-exception-box span{line-height:1.45}.csl-reg-age-exception-list{display:grid;gap:8px;margin-top:12px}.csl-reg-age-exception-list label{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:#fff;border:1px solid #eed69d}.csl-reg-age-exception-list input{margin-top:3px}.csl-reg-age-manager-review{display:grid;gap:12px;margin:14px 0;padding:16px;border-radius:18px;border:1px solid #efbf5d;background:#fff8e7}.csl-reg-age-manager-review.is-approved{border-color:#9bd3aa;background:#f2fbf4}.csl-reg-age-manager-review>div{display:grid;gap:4px}.csl-reg-age-manager-review>label{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:14px;background:#fff}.csl-reg-age-manager-review label span{display:grid;gap:3px}.csl-reg-age-manager-review small{font-weight:500;color:#5d6573}
.csl-v129-manager-alert{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:12px 0;padding:14px 16px;border-radius:16px;border:1px solid #d9e6ff;background:#f5f8ff}.csl-v129-manager-alert.is-age{border-color:#f1cf83;background:#fff9ea}.csl-v129-manager-alert>div{display:flex;align-items:center;gap:12px}.csl-v129-manager-alert>div>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#17233b;color:#fff;font-weight:900}.csl-v129-manager-alert p{display:grid;gap:2px;margin:0}.csl-v129-manager-alert small{color:#667085}.csl-v129-manager-alert>a{font-weight:850;text-decoration:none;white-space:nowrap}.csl-v129-alert-list{display:grid;gap:10px}.csl-v129-alert-list article{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid #e3e7ee;border-radius:16px;background:#fff}.csl-v129-alert-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#17233b;color:#fff;font-weight:900}.csl-v129-alert-section.is-age .csl-v129-alert-icon{background:#b97800}.csl-v129-alert-copy{display:grid;gap:3px;min-width:0}.csl-v129-alert-copy span,.csl-v129-alert-copy small{color:#667085}.csl-v129-alert-actions{display:flex;gap:8px;align-items:center}.csl-v129-alert-actions form{margin:0}.csl-v129-alert-actions form button{min-height:40px;padding:0 12px;border:1px solid #d8dde6;border-radius:11px;background:#fff;color:#17233b!important;      }
.csl-v129-emergency-nav{background:rgba(206,35,44,.08)!important}.csl-v129-emergency-tool .csl-reg-shell{max-width:1240px}.csl-v129-emergency-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:14px 0;padding:24px;border-radius:24px;background:linear-gradient(135deg,#211e2b,#391d27);color:#fff}.csl-v129-emergency-hero h1{margin:4px 0 6px;font-size:clamp(30px,4vw,48px);color:#fff}.csl-v129-emergency-hero p{max-width:760px;margin:0;color:rgba(255,255,255,.8);line-height:1.5}.csl-v129-emergency-count{display:grid;place-items:center;min-width:130px;padding:16px;border-radius:18px;background:rgba(255,255,255,.1);text-align:center}.csl-v129-emergency-count strong{font-size:34px}.csl-v129-emergency-count span{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.csl-v129-emergency-datebar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:16px 0;padding:14px;border:1px solid #e1e5ec;border-radius:18px;background:#fff}.csl-v129-emergency-datebar form{display:flex;justify-content:center;align-items:end;gap:10px;margin:0}.csl-v129-emergency-datebar label{display:grid;gap:5px}.csl-v129-emergency-datebar label span{font-size:12px;font-weight:800;color:#5f6877}.csl-v129-emergency-datebar input{min-height:42px;border:1px solid #ccd3dd;border-radius:11px;padding:0 10px}.csl-v129-emergency-datebar>div{display:flex;gap:10px}.csl-v129-emergency-datebar a{font-weight:800;text-decoration:none}.csl-v129-emergency-datebar a.is-current{padding:8px 10px;border-radius:10px;background:#f5e7e9;color:#a91525}.csl-v129-emergency-sessions{display:grid;gap:16px}.csl-v129-emergency-session{overflow:hidden;border:1px solid #e0e4eb;border-radius:22px;background:#f7f8fa}.csl-v129-emergency-session>header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;background:#fff;border-bottom:1px solid #e4e7ec}.csl-v129-emergency-session header div{display:grid;gap:3px}.csl-v129-emergency-session header span{font-size:12px;font-weight:850;color:#a51d2a}.csl-v129-emergency-session h2{margin:0;font-size:22px}.csl-v129-emergency-session>header>strong{padding:7px 10px;border-radius:999px;background:#f1f3f6;font-size:12px}.csl-v129-emergency-people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px}.csl-v129-emergency-person{display:grid;gap:12px;padding:14px;border:1px solid #e1e5eb;border-radius:16px;background:#fff}.csl-v129-emergency-person.is-absent{opacity:.62}.csl-v129-emergency-person__head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.csl-v129-emergency-person__head>div{display:grid;gap:2px}.csl-v129-emergency-person__head small{color:#737b89}.csl-v129-emergency-person__head>span{padding:6px 9px;border-radius:999px;background:#f0f2f5;font-size:11px;font-weight:850;white-space:nowrap}.csl-v129-emergency-person.is-present .csl-v129-emergency-person__head>span{background:#e7f7eb;color:#17672b}.csl-v129-emergency-person.is-absent .csl-v129-emergency-person__head>span{background:#f5f5f5;color:#717171}.csl-v129-emergency-contacts{display:grid;gap:8px}.csl-v129-emergency-contacts>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:10px;border-radius:12px;background:#f7f8fa}.csl-v129-emergency-contacts span{display:grid;gap:1px}.csl-v129-emergency-contacts small{color:#6f7784}.csl-v129-emergency-contacts b{font-size:14px}.csl-v129-emergency-contacts a{padding:8px 10px;border-radius:10px;background:#c8202d;color:#fff!important;text-decoration:none!important;font-weight:900}.csl-v129-emergency-open{justify-self:start;font-size:12px;font-weight:850}.csl-v129-emergency-missing{padding:10px;border-radius:12px;background:#fff3f3;color:#9f1a27;font-weight:750}.csl-v129-emergency-empty{display:flex;align-items:center;gap:14px;padding:22px;border:1px dashed #cfd5df;border-radius:18px;background:#fff}.csl-v129-emergency-empty>span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#e9f7ed;color:#16682b;font-weight:900}.csl-v129-emergency-empty p{margin:3px 0 0;color:#6e7683}.csl-v129-emergency-privacy{margin:16px 0;padding:12px 14px;border-radius:14px;background:#fff5f5;color:#7c2931}
@media(max-width:900px){.csl-reg-emergency-row{grid-template-columns:1fr 1fr}.csl-reg-emergency-row label:nth-child(3){grid-column:1/-1}.csl-reg-emergency-remove{justify-self:start}.csl-v129-emergency-datebar{grid-template-columns:1fr}.csl-v129-emergency-datebar form{justify-content:flex-start}.csl-v129-emergency-datebar>div{justify-content:space-between}.csl-v129-emergency-people{grid-template-columns:1fr}.csl-v129-manager-alert{align-items:flex-start}.csl-v129-alert-list article{grid-template-columns:auto 1fr}.csl-v129-alert-actions{grid-column:1/-1;padding-left:52px;flex-wrap:wrap}}
@media(max-width:600px){.csl-reg-emergency-row{grid-template-columns:1fr}.csl-reg-emergency-row label:nth-child(3){grid-column:auto}.csl-v129-emergency-hero{align-items:flex-start;flex-direction:column}.csl-v129-emergency-count{min-width:0;width:100%;grid-template-columns:auto 1fr;justify-items:start}.csl-v129-emergency-datebar form{display:grid;grid-template-columns:1fr auto}.csl-v129-emergency-datebar label{min-width:0}.csl-v129-emergency-datebar input{width:100%}.csl-v129-emergency-contacts>div{grid-template-columns:1fr auto}.csl-v129-emergency-contacts b{grid-column:1/2}.csl-v129-emergency-contacts a{grid-column:2/3;grid-row:1/3}.csl-v129-manager-alert{display:grid}.csl-v129-manager-alert>a{justify-self:start}.csl-v129-alert-list article{grid-template-columns:1fr}.csl-v129-alert-icon{display:none}.csl-v129-alert-actions{grid-column:auto;padding-left:0}}

/* === V130 : gestion libre des séances depuis Présences et séances === */
.csl-attendance-session-admin{margin:18px 0;padding:20px;border:1px solid rgba(15,23,42,.10);border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.06)}
.csl-attendance-manager-session-form{display:grid;grid-template-columns:1.35fr 1fr .8fr .8fr;gap:12px;align-items:end}
.csl-attendance-manager-session-form label{display:flex;flex-direction:column;gap:6px;min-width:0}
.csl-attendance-manager-session-form label>span{font-size:12px;font-weight:800;color:#334155}
.csl-attendance-manager-session-form input,.csl-attendance-manager-session-form select{width:100%;min-height:42px;border:1px solid #cbd5e1;border-radius:11px;background:#fff;padding:8px 10px;font:inherit;color:#0f172a;box-sizing:border-box}
.csl-attendance-manager-session-form__wide{grid-column:span 2}
.csl-attendance-manager-session-form>.csl-attendance-button{min-height:42px;white-space:nowrap}
.csl-attendance-session-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.csl-attendance-session-actions form{margin:0}
.csl-attendance-button--danger{background:#fff1f2!important;border-color:#fecdd3!important;color:#be123c!important}
.csl-attendance-button--danger:hover{background:#ffe4e6!important;color:#9f1239!important}
.csl-attendance-manager-list--cancelled{margin-top:18px;border:1px dashed #cbd5e1;border-radius:18px;padding:16px;background:#f8fafc}
.csl-attendance-manager-list--cancelled .csl-attendance-session-table tbody tr{opacity:.82}
@media(max-width:1024px){.csl-attendance-manager-session-form{grid-template-columns:1fr 1fr}.csl-attendance-manager-session-form__wide{grid-column:span 1}.csl-attendance-session-actions{justify-content:flex-start}}
@media(max-width:640px){.csl-attendance-session-admin{padding:14px}.csl-attendance-manager-session-form{grid-template-columns:1fr}.csl-attendance-manager-session-form__wide{grid-column:auto}}


/* === V132 : interface intervenant ultra-mobile ========================== */
@media (max-width: 760px) {
  body.csl-attendance-person-page { overflow-x: hidden !important; }
  body.csl-attendance-person-page .csl-attendance-shell { width: 100%; max-width: 100%; }
  body.csl-attendance-person-page .csl-attendance-hero { padding: 18px 18px 20px; border-radius: 18px; }
  body.csl-attendance-person-page .csl-attendance-hero__brand img { width: 118px; max-height: 42px; }
  body.csl-attendance-person-page .csl-attendance-hero h1 { font-size: 22px; }
  body.csl-attendance-person-page .csl-attendance-hero p { font-size: 14px; line-height: 1.5; }
  body.csl-attendance-person-page .csl-attendance-day,
  body.csl-attendance-person-page .csl-attendance-upcoming,
  body.csl-attendance-person-page .csl-attendance-extra,
  body.csl-attendance-person-page .csl-attendance-password-panel,
  body.csl-attendance-person-page .csl-attendance-calendar-subscription,
  body.csl-attendance-person-page .csl-attendance-personal-panel { margin-top: 16px; padding-left: 16px; padding-right: 16px; border-radius: 16px; }
  body.csl-attendance-person-page .csl-attendance-section-heading { flex-direction: column; align-items: flex-start; gap: 10px; margin-bottom: 14px; }
  body.csl-attendance-person-page .csl-attendance-section-heading h2 { font-size: 18px; }
  body.csl-attendance-person-page .csl-attendance-section-note { text-align: left; }
  body.csl-attendance-person-page .csl-attendance-date-state { align-self: flex-start; }

  body.csl-attendance-person-page .csl-attendance-roster { margin-top: 14px; border-radius: 14px; }
  body.csl-attendance-person-page .csl-attendance-roster__head { flex-direction: column; align-items: flex-start; gap: 12px; padding: 16px; }
  body.csl-attendance-person-page .csl-attendance-roster__head h3 { font-size: 17px; }
  body.csl-attendance-person-page .csl-attendance-roster__head p { font-size: 12px; }
  body.csl-attendance-person-page .csl-attendance-counter {
    display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 12px; row-gap: 2px;
    align-items: center; width: 100%; min-width: 0; padding: 12px 0 0; border-left: 0; border-top: 1px solid var(--csl-attendance-line); text-align: left;
  }
  body.csl-attendance-person-page .csl-attendance-counter strong { grid-row: 1 / span 2; font-size: 34px; }
  body.csl-attendance-person-page .csl-attendance-counter span,
  body.csl-attendance-person-page .csl-attendance-counter small { font-size: 12px; }
  body.csl-attendance-person-page .csl-attendance-locked { margin: 12px 14px 0; font-size: 12px; }
  body.csl-attendance-person-page .csl-attendance-empty { padding: 14px; font-size: 13px; }
  body.csl-attendance-person-page .csl-attendance-form { padding: 0 12px 12px; }

  body.csl-attendance-person-page .csl-attendance-table,
  body.csl-attendance-person-page .csl-attendance-table thead,
  body.csl-attendance-person-page .csl-attendance-table tbody,
  body.csl-attendance-person-page .csl-attendance-table tr,
  body.csl-attendance-person-page .csl-attendance-table td { display: block; width: 100%; }
  body.csl-attendance-person-page .csl-attendance-table { margin-top: 12px; }
  body.csl-attendance-person-page .csl-attendance-table thead { display: none; }
  body.csl-attendance-person-page .csl-attendance-table tbody { display: grid; gap: 10px; }
  body.csl-attendance-person-page .csl-attendance-table tr { padding: 12px; border: 1px solid #e7ecef; border-radius: 14px; background: #fff; }
  body.csl-attendance-person-page .csl-attendance-table td { padding: 0; border: 0; }
  body.csl-attendance-person-page .csl-attendance-table td + td { margin-top: 10px; }
  body.csl-attendance-person-page .csl-attendance-table td:first-child { width: 100%; }
  body.csl-attendance-person-page .csl-attendance-table td strong { font-size: 15px; line-height: 1.25; }
  body.csl-attendance-person-page .csl-attendance-table td small { margin-top: 3px; font-size: 12px; }
  body.csl-attendance-person-page .csl-attendance-statuses { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; width: 100%; }
  body.csl-attendance-person-page .csl-attendance-statuses label {
    min-height: 54px; width: 100%; padding: 9px 8px; border-radius: 11px; gap: 6px; align-items: center; justify-content: center;
    text-align: center; font-size: 11px; line-height: 1.15;
  }
  body.csl-attendance-person-page .csl-attendance-statuses label span { display: block; text-align: center; overflow-wrap: anywhere; }
  body.csl-attendance-person-page .csl-attendance-statuses button,
  body.csl-attendance-person-page .csl-attendance-inline-delete button { width: 100%; min-height: 42px; }
  body.csl-attendance-person-page .csl-attendance-form__footer { flex-direction: column; align-items: stretch; gap: 10px; }
  body.csl-attendance-person-page .csl-attendance-form__footer .csl-attendance-button { width: 100%; }

  body.csl-attendance-person-page .csl-attendance-manual-form { grid-template-columns: 1fr; gap: 10px; margin: 0 12px 12px; padding: 14px; }
  body.csl-attendance-person-page .csl-attendance-manual-form__label { font-size: 11px; }
  body.csl-attendance-person-page .csl-attendance-manual-form .csl-attendance-button { width: 100%; }

  body.csl-attendance-person-page .csl-attendance-password-summary,
  body.csl-attendance-person-page .csl-attendance-personal-panel summary { padding-left: 16px; padding-right: 16px; }
  body.csl-attendance-person-page .csl-attendance-password-content,
  body.csl-attendance-person-page .csl-attendance-personal-panel__body { padding: 16px; }
  body.csl-attendance-person-page .csl-attendance-password-form,
  body.csl-attendance-person-page .csl-attendance-personal-form { grid-template-columns: 1fr !important; }

  body.csl-attendance-person-page .csl-attendance-calendar-actions { flex-direction: column; align-items: stretch; }
  body.csl-attendance-person-page .csl-attendance-calendar-actions .csl-attendance-button { width: 100%; }
}


/* === V132.2 : pointage intervenant ultra compact mobile ================= */
@media (max-width: 760px) {
  body.csl-attendance-person-page .csl-attendance-table tbody { gap: 8px; }
  body.csl-attendance-person-page .csl-attendance-table tr { padding: 10px; border-radius: 12px; }
  body.csl-attendance-person-page .csl-attendance-table td + td { margin-top: 8px; }
  body.csl-attendance-person-page .csl-attendance-table td strong { font-size: 14px; }
  body.csl-attendance-person-page .csl-attendance-table td small { font-size: 11px; line-height: 1.35; }
  body.csl-attendance-person-page .csl-attendance-statuses {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    min-width: 0;
  }
  body.csl-attendance-person-page .csl-attendance-statuses label,
  body.csl-attendance-person-page .csl-attendance-statuses button {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 8px 10px !important;
    border-radius: 12px !important;
    box-sizing: border-box;
  }
  body.csl-attendance-person-page .csl-attendance-statuses label {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    text-align: center;
    font-size: 11px !important;
  }
  body.csl-attendance-person-page .csl-attendance-statuses label:nth-child(3) { grid-column: 1 / -1; }
  body.csl-attendance-person-page .csl-attendance-statuses button { grid-column: 1 / -1; font-size: 11px !important; }
  body.csl-attendance-person-page .csl-attendance-statuses input { flex: 0 0 auto; }
  body.csl-attendance-person-page .csl-attendance-statuses label span {
    display: inline-block !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere;
    line-height: 1.15;
    font-weight: 700;
  }
  body.csl-attendance-person-page .csl-attendance-locked { padding: 10px 12px; }
}


/* === V132.3 : refonte mobile pointage intervenant ====================== */
@media (max-width: 760px) {
  body.csl-attendance-person-page .csl-attendance-table tbody { gap: 10px !important; }
  body.csl-attendance-person-page .csl-attendance-table tr {
    padding: 12px !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }
  body.csl-attendance-person-page .csl-attendance-table td + td { margin-top: 10px !important; }
  body.csl-attendance-person-page .csl-attendance-table td strong {
    font-size: 14px !important;
    line-height: 1.2 !important;
  }
  body.csl-attendance-person-page .csl-attendance-table td small {
    font-size: 11px !important;
    line-height: 1.35 !important;
    word-break: break-word;
  }

  body.csl-attendance-person-page .csl-attendance-statuses {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  body.csl-attendance-person-page .csl-attendance-statuses label,
  body.csl-attendance-person-page .csl-attendance-statuses button {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 42px !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
    padding: 10px 12px !important;
  }
  body.csl-attendance-person-page .csl-attendance-statuses label {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 10px !important;
    text-align: left !important;
    font-size: 13px !important;
  }
  body.csl-attendance-person-page .csl-attendance-statuses label input {
    flex: 0 0 auto !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
  }
  body.csl-attendance-person-page .csl-attendance-statuses label span {
    display: inline !important;
    flex: 1 1 auto !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: left !important;
  }
  body.csl-attendance-person-page .csl-attendance-statuses button {
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
  }

  body.csl-attendance-person-page .csl-attendance-form {
    padding: 0 12px 12px !important;
  }
  body.csl-attendance-person-page .csl-attendance-locked {
    margin: 12px 12px 0 !important;
    padding: 10px 12px !important;
    font-size: 12px !important;
  }
}


/* === V132.4 : suppression débordement résiduel mobile ================== */
@media (max-width: 760px) {
  body.csl-attendance-person-page .csl-attendance-roster,
  body.csl-attendance-person-page .csl-attendance-form,
  body.csl-attendance-person-page .csl-attendance-table,
  body.csl-attendance-person-page .csl-attendance-table tbody,
  body.csl-attendance-person-page .csl-attendance-table tr,
  body.csl-attendance-person-page .csl-attendance-table td,
  body.csl-attendance-person-page .csl-attendance-statuses,
  body.csl-attendance-person-page .csl-attendance-statuses label,
  body.csl-attendance-person-page .csl-attendance-statuses button {
    box-sizing: border-box !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  body.csl-attendance-person-page .csl-attendance-table {
    min-width: 0 !important;
    width: 100% !important;
    table-layout: fixed !important;
  }
  body.csl-attendance-person-page .csl-attendance-form,
  body.csl-attendance-person-page .csl-attendance-roster,
  body.csl-attendance-person-page .csl-attendance-table tr {
    overflow: hidden !important;
  }
}


/* === V132.5 : espace intervenant simple + switch compact =============== */
.csl-attendance-hero--instructor{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px;background:#263341;box-shadow:none}
.csl-attendance-hero--instructor::after{display:none}
.csl-attendance-hero--instructor .csl-attendance-eyebrow{margin:0;color:#fff;font-size:12px}
.csl-attendance-hero--instructor .csl-attendance-link{position:relative;z-index:1;color:#fff;font-size:12px}
.csl-attendance-instructor-greeting{padding:18px 2px 4px}
.csl-attendance-instructor-greeting h1{margin:0;color:#263341;font-size:clamp(25px,4vw,34px);line-height:1.15}

.csl-attendance-quick-status{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.csl-attendance-switch{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;cursor:pointer;color:#64717d!important;font-size:12px!important;font-weight:800!important}
.csl-attendance-switch>input{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
.csl-attendance-switch__track{position:relative;display:inline-block;width:46px;height:26px;border-radius:999px;background:#d7dde2;transition:background .16s ease;flex:0 0 46px}
.csl-attendance-switch__track>span{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(15,23,42,.22);transition:transform .16s ease}
.csl-attendance-switch input:checked + .csl-attendance-switch__track{background:#2f8f57}
.csl-attendance-switch input:checked + .csl-attendance-switch__track>span{transform:translateX(20px)}
.csl-attendance-switch__text .is-on{display:none;color:#176a39}
.csl-attendance-switch input:checked ~ .csl-attendance-switch__text .is-off{display:none}
.csl-attendance-switch input:checked ~ .csl-attendance-switch__text .is-on{display:inline}
.csl-attendance-readonly-status{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:#eef1f3;color:#66727d;font-size:11px;font-weight:800;white-space:nowrap}
.csl-attendance-readonly-status.is-present{background:#e8f7ed;color:#176a39}
.csl-attendance-readonly-status.is-absent{background:#fff0f1;color:#aa2630}
.csl-attendance-quick-remove{border:0;background:transparent;color:#a5232c;font:inherit;font-size:10px;font-weight:800;text-decoration:underline;cursor:pointer}

.csl-attendance-calendar-subscription{margin-top:18px;border:1px solid var(--csl-attendance-line);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 8px 22px rgba(38,51,65,.05)}
.csl-attendance-calendar-summary-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;cursor:pointer;list-style:none}
.csl-attendance-calendar-summary-toggle::-webkit-details-marker{display:none}
.csl-attendance-calendar-summary-toggle::marker{display:none}
.csl-attendance-calendar-summary-toggle>span:first-child{display:grid;gap:2px}
.csl-attendance-calendar-summary-toggle small{color:#97a2ac;font-size:9px;font-weight:900;letter-spacing:.12em}
.csl-attendance-calendar-summary-toggle strong{color:#263341;font-size:15px}
.csl-attendance-calendar-body{padding:0 18px 18px;border-top:1px solid var(--csl-attendance-line)}
.csl-attendance-calendar-body .csl-attendance-calendar-intro{margin-top:15px}

@media(max-width:760px){
 body.csl-attendance-person-page .csl-attendance{padding:10px 8px 38px}
 body.csl-attendance-person-page .csl-attendance-hero--instructor{padding:12px 14px;border-radius:14px}
 body.csl-attendance-person-page .csl-attendance-instructor-greeting{padding:14px 4px 0}
 body.csl-attendance-person-page .csl-attendance-instructor-greeting h1{font-size:23px}
 body.csl-attendance-person-page .csl-attendance-password-panel{margin-top:12px}
 body.csl-attendance-person-page .csl-attendance-calendar-subscription{margin-top:12px}
 body.csl-attendance-person-page .csl-attendance-calendar-summary-toggle{padding:13px 14px}
 body.csl-attendance-person-page .csl-attendance-calendar-body{padding:0 14px 14px}

 body.csl-attendance-person-page .csl-attendance-table,
 body.csl-attendance-person-page .csl-attendance-table tbody,
 body.csl-attendance-person-page .csl-attendance-table tr,
 body.csl-attendance-person-page .csl-attendance-table td{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important}
 body.csl-attendance-person-page .csl-attendance-table tbody{display:grid!important;gap:5px!important}
 body.csl-attendance-person-page .csl-attendance-table tr{
   display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important;gap:10px!important;
   padding:9px 10px!important;border:1px solid #e2e8ec!important;border-radius:11px!important;background:#fff!important;
 }
 body.csl-attendance-person-page .csl-attendance-table td{padding:0!important;margin:0!important;border:0!important}
 body.csl-attendance-person-page .csl-attendance-table td:first-child{width:auto!important;min-width:0!important}
 body.csl-attendance-person-page .csl-attendance-table td:first-child strong{font-size:14px!important;line-height:1.2!important;white-space:normal!important}
 body.csl-attendance-person-page .csl-attendance-table td:first-child small{display:none!important}
 body.csl-attendance-person-page .csl-attendance-table td:nth-child(2){width:auto!important;justify-self:end!important}
 body.csl-attendance-person-page .csl-attendance-quick-status{justify-content:flex-end!important;width:auto!important}
 body.csl-attendance-person-page .csl-attendance-switch{width:auto!important;min-height:0!important;padding:0!important;border:0!important;background:transparent!important}
 body.csl-attendance-person-page .csl-attendance-switch__text{min-width:47px;text-align:left}
 body.csl-attendance-person-page .csl-attendance-form{padding:0 10px 10px!important}
 body.csl-attendance-person-page .csl-attendance-roster__head{padding:13px 14px}
 body.csl-attendance-person-page .csl-attendance-locked{margin:9px 10px 0!important;padding:9px 10px!important}
 body.csl-attendance-person-page .csl-attendance-form__footer{margin-top:10px}
}


/* === V132.6 : navigation intervenant + planning compact ================ */
.csl-attendance-instructor-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0 4px}
.csl-attendance-tool-card,.csl-attendance-calendar-subscription.csl-attendance-tool-card{margin:0;border:1px solid var(--csl-attendance-line);border-radius:14px;background:#fff;box-shadow:none;overflow:hidden;min-width:0}
.csl-attendance-tool-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 14px;cursor:pointer;list-style:none;min-height:58px}
.csl-attendance-tool-summary::-webkit-details-marker{display:none}.csl-attendance-tool-summary::marker{display:none}
.csl-attendance-tool-summary>span:first-child{display:grid;gap:2px;min-width:0}.csl-attendance-tool-summary small{font-size:9px;font-weight:900;letter-spacing:.08em;color:#a1aab3}.csl-attendance-tool-summary strong{font-size:14px;color:#263341;white-space:nowrap}
.csl-attendance-tool-chevron{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f1f3f5;color:#65717c;font-size:14px;transition:transform .15s ease}
.csl-attendance-tool-card[open]{grid-column:1/-1}.csl-attendance-tool-card[open] .csl-attendance-tool-chevron{transform:rotate(180deg)}
.csl-attendance-tool-body,.csl-attendance-calendar-body{grid-column:1/-1;padding:14px;border-top:1px solid var(--csl-attendance-line);background:#fbfcfd}
.csl-attendance-tool-date-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:end}.csl-attendance-tool-date-form label{min-width:0}.csl-attendance-tool-date-form .csl-attendance-button{white-space:nowrap}
.csl-attendance-tool-add-form{grid-template-columns:repeat(2,minmax(0,1fr))}.csl-attendance-tool-add-form .csl-attendance-extra-form__wide{grid-column:1/-1}.csl-attendance-tool-add-form button{grid-column:1/-1;width:100%}
.csl-attendance-upcoming--compact{padding:18px}.csl-attendance-upcoming--compact .csl-attendance-section-heading{margin-bottom:12px}.csl-attendance-upcoming--compact .csl-attendance-upcoming-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.csl-attendance-upcoming--compact .csl-attendance-upcoming-card{padding:11px 12px;min-width:0}.csl-attendance-upcoming--compact .csl-attendance-upcoming-card strong{font-size:12px}.csl-attendance-upcoming--compact .csl-attendance-upcoming-card span{font-size:12px}.csl-attendance-upcoming--compact .csl-attendance-upcoming-card small{font-size:10px}
.csl-attendance-day--compact{padding:18px}.csl-attendance-day--compact>.csl-attendance-section-heading{margin-bottom:10px}

@media(max-width:760px){
 body.csl-attendance-person-page .csl-attendance{padding-top:0!important}
 body.csl-attendance-person-page .csl-attendance-shell{margin-top:0!important}
 body.csl-attendance-person-page .csl-attendance-hero--instructor{margin-top:0!important;border-radius:0 0 14px 14px;padding:10px 14px!important}
 body.csl-attendance-person-page .csl-attendance-instructor-greeting{padding:12px 4px 2px!important}
 body.csl-attendance-person-page .csl-attendance-instructor-greeting h1{font-size:21px!important}
 body.csl-attendance-person-page .csl-attendance-instructor-tools{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:10px 0 4px}
 body.csl-attendance-person-page .csl-attendance-tool-summary{padding:10px 9px;min-height:54px;gap:5px}
 body.csl-attendance-person-page .csl-attendance-tool-summary small{font-size:8px}
 body.csl-attendance-person-page .csl-attendance-tool-summary strong{font-size:12px}
 body.csl-attendance-person-page .csl-attendance-tool-chevron{width:20px;height:20px;font-size:12px}
 body.csl-attendance-person-page .csl-attendance-tool-card[open]{grid-column:1/-1}
 body.csl-attendance-person-page .csl-attendance-tool-card[open] .csl-attendance-tool-summary{min-height:46px}
 body.csl-attendance-person-page .csl-attendance-tool-body,body.csl-attendance-person-page .csl-attendance-calendar-body{padding:12px}
 body.csl-attendance-person-page .csl-attendance-tool-date-form{grid-template-columns:1fr;gap:8px}
 body.csl-attendance-person-page .csl-attendance-tool-date-form .csl-attendance-button{width:100%!important}
 body.csl-attendance-person-page .csl-attendance-tool-add-form{grid-template-columns:1fr!important;gap:8px}
 body.csl-attendance-person-page .csl-attendance-tool-add-form .csl-attendance-extra-form__wide,body.csl-attendance-person-page .csl-attendance-tool-add-form button{grid-column:auto}
 body.csl-attendance-person-page .csl-attendance-day--compact,body.csl-attendance-person-page .csl-attendance-upcoming--compact{margin-top:14px;padding:14px 12px;border-radius:15px}
 body.csl-attendance-person-page .csl-attendance-day--compact>.csl-attendance-section-heading h2,body.csl-attendance-person-page .csl-attendance-upcoming--compact>.csl-attendance-section-heading h2{font-size:17px!important}
 body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-upcoming-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-upcoming-card{padding:10px;border-radius:10px;gap:3px}
 body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-upcoming-card strong{font-size:11px}
 body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-upcoming-card span{font-size:11px}
 body.csl-attendance-person-page .csl-attendance-upcoming--compact .csl-attendance-upcoming-card small{font-size:9px}
 body.csl-attendance-person-page .csl-attendance-calendar-intro{font-size:12px;line-height:1.45}
 body.csl-attendance-person-page .csl-attendance-calendar-summary{font-size:11px}
 body.csl-attendance-person-page .csl-attendance-personal-panel,body.csl-attendance-person-page .csl-attendance-password-panel{margin-top:14px}
}

/* === V132.7 · Bandeau outils intervenant ================================ */
.csl-attendance-action-hub{position:relative;margin:12px 0 16px;z-index:12}
.csl-attendance-action-bar{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;padding:7px;border:1px solid #dfe5e9;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(38,51,65,.07)}
.csl-attendance-action-tab{appearance:none;-webkit-appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:58px;padding:7px 4px;border:0;border-radius:12px;background:#f4f6f8;color:#334155;font:inherit;font-size:10px;font-weight:850;line-height:1.05;cursor:pointer;transition:transform .12s ease,background .12s ease,color .12s ease,box-shadow .12s ease}
.csl-attendance-action-tab .csl-attendance-action-icon{display:grid;place-items:center;width:25px;height:25px;border-radius:9px;background:rgba(255,255,255,.72);font-size:15px;line-height:1;font-weight:900}
.csl-attendance-action-tab.is-calendar{background:#edf7fb;color:#17627f}.csl-attendance-action-tab.is-date{background:#fff0f1;color:#aa1722}.csl-attendance-action-tab.is-add{background:#eef9f1;color:#1f6d39}.csl-attendance-action-tab.is-private{background:#f4effb;color:#6b46a3}.csl-attendance-action-tab.is-security{background:#edf0f3;color:#263341}
.csl-attendance-action-tab.is-active{color:#fff;box-shadow:0 6px 15px rgba(38,51,65,.15);transform:translateY(-1px)}
.csl-attendance-action-tab.is-calendar.is-active{background:#227697}.csl-attendance-action-tab.is-date.is-active{background:#cf2631}.csl-attendance-action-tab.is-add.is-active{background:#2e7d4a}.csl-attendance-action-tab.is-private.is-active{background:#7651aa}.csl-attendance-action-tab.is-security.is-active{background:#263341}
.csl-attendance-action-tab.is-active .csl-attendance-action-icon{background:rgba(255,255,255,.18);color:#fff}
.csl-attendance-action-panels{position:relative}
.csl-attendance-action-panel{margin-top:8px;padding:14px;border:1px solid #dfe5e9;border-radius:16px;background:#fff;box-shadow:0 12px 28px rgba(38,51,65,.11);overflow:hidden}
.csl-attendance-action-panel[hidden]{display:none!important}
.csl-attendance-action-panel.is-calendar{border-top:4px solid #227697}.csl-attendance-action-panel.is-date{border-top:4px solid #cf2631}.csl-attendance-action-panel.is-add{border-top:4px solid #2e7d4a}.csl-attendance-action-panel.is-private{border-top:4px solid #7651aa}.csl-attendance-action-panel.is-security{border-top:4px solid #263341}
.csl-attendance-action-panel__title{display:grid;gap:2px;margin:0 0 12px}.csl-attendance-action-panel__title strong{font-size:16px;color:#263341}.csl-attendance-action-panel__title small{font-size:11px;color:#6d7883}
.csl-attendance-action-panel .csl-attendance-calendar-subscription,.csl-attendance-action-panel .csl-attendance-personal-panel,.csl-attendance-action-panel .csl-attendance-password-panel{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:transparent!important}
.csl-attendance-action-panel .csl-attendance-calendar-summary-toggle,.csl-attendance-action-panel .csl-attendance-personal-panel>summary,.csl-attendance-action-panel .csl-attendance-password-summary{display:none!important}
.csl-attendance-action-panel .csl-attendance-calendar-body,.csl-attendance-action-panel .csl-attendance-personal-panel__body,.csl-attendance-action-panel .csl-attendance-password-content{padding:0!important;border:0!important;background:transparent!important}
.csl-attendance-action-panel .csl-attendance-personal-panel__body>p,.csl-attendance-action-panel .csl-attendance-password-intro{margin-top:0}

@media(max-width:760px){
 body.csl-attendance-person-page .csl-attendance-action-hub{margin:9px 0 13px}
 body.csl-attendance-person-page .csl-attendance-action-bar{gap:4px;padding:5px;border-radius:14px}
 body.csl-attendance-person-page .csl-attendance-action-tab{min-height:52px;padding:6px 2px;border-radius:10px;font-size:9px;letter-spacing:-.01em}
 body.csl-attendance-person-page .csl-attendance-action-tab .csl-attendance-action-icon{width:22px;height:22px;border-radius:7px;font-size:13px}
 body.csl-attendance-person-page .csl-attendance-action-panel{margin-top:6px;padding:12px;border-radius:14px}
 body.csl-attendance-person-page .csl-attendance-action-panel .csl-attendance-tool-date-form{grid-template-columns:1fr!important}
 body.csl-attendance-person-page .csl-attendance-action-panel .csl-attendance-tool-add-form{grid-template-columns:1fr!important}
 body.csl-attendance-person-page .csl-attendance-action-panel .csl-attendance-button{width:100%!important}
 body.csl-attendance-person-page .csl-attendance-action-panel .csl-attendance-personal-form{grid-template-columns:1fr!important}
}


/* === V132.8 · Urgences depuis l'en-tête intervenant ===================== */
.csl-attendance-instructor-greeting{display:flex;align-items:center;justify-content:space-between;gap:12px}
.csl-attendance-urgent-button{appearance:none;-webkit-appearance:none;flex:0 0 auto;min-height:40px;padding:9px 15px;border:0;border-radius:12px;background:#d70c1b!important;color:#fff!important;font:inherit;font-size:12px;font-weight:900;line-height:1;cursor:pointer;box-shadow:0 6px 14px rgba(190,20,32,.18)}
.csl-attendance-urgent-button[aria-expanded="true"]{background:#9f101b!important}
.csl-attendance-day-emergency{margin:8px 0 13px;padding:14px;border:1px solid #f0c5c9;border-radius:16px;background:#fff8f8;box-shadow:0 10px 26px rgba(117,20,29,.08)}
.csl-attendance-day-emergency[hidden]{display:none!important}
.csl-attendance-day-emergency__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.csl-attendance-day-emergency__head>div{display:grid;gap:2px}.csl-attendance-day-emergency__head .csl-attendance-eyebrow{margin:0;color:#b31420}.csl-attendance-day-emergency__head strong{font-size:16px;color:#263341}.csl-attendance-day-emergency__close{display:grid;place-items:center;width:34px;height:34px;border:1px solid #efc8cb;border-radius:10px;background:#fff;color:#a51622;font-size:21px;line-height:1;cursor:pointer}
.csl-attendance-day-emergency__sessions{display:grid;gap:10px}.csl-attendance-day-emergency__session{overflow:hidden;border:1px solid #ecdadd;border-radius:13px;background:#fff}.csl-attendance-day-emergency__session-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-bottom:1px solid #f1e7e8;background:#fffafa}.csl-attendance-day-emergency__session-title strong{font-size:14px;color:#263341}.csl-attendance-day-emergency__session-title span{font-size:11px;color:#6b7782;white-space:nowrap}
.csl-attendance-day-emergency__people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px}.csl-attendance-day-emergency__person{min-width:0;padding:10px;border:1px solid #eef0f2;border-radius:11px;background:#fff}.csl-attendance-day-emergency__person-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.csl-attendance-day-emergency__person-head strong{min-width:0;font-size:13px;line-height:1.2;color:#27333d;overflow-wrap:anywhere}.csl-attendance-day-emergency__person-head span{flex:0 0 auto;padding:4px 6px;border-radius:999px;background:#f1f3f5;color:#66717a;font-size:9px;font-weight:900}.csl-attendance-day-emergency__person.is-present .csl-attendance-day-emergency__person-head span{background:#e7f7ed;color:#19713d}.csl-attendance-day-emergency__person.is-absent .csl-attendance-day-emergency__person-head span{background:#f1f1f1;color:#7c7c7c}.csl-attendance-day-emergency__person.is-unmarked .csl-attendance-day-emergency__person-head span{background:#fff4df;color:#936013}
.csl-attendance-day-emergency__contacts{display:grid}.csl-attendance-day-emergency__contacts>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;border-top:1px solid #f2eeee}.csl-attendance-day-emergency__contacts>div:first-child{border-top:0}.csl-attendance-day-emergency__contacts span{min-width:0}.csl-attendance-day-emergency__contacts small,.csl-attendance-day-emergency__contacts strong,.csl-attendance-day-emergency__contacts em{display:block}.csl-attendance-day-emergency__contacts small{font-size:8px;font-weight:850;color:#9b5c61;text-transform:uppercase}.csl-attendance-day-emergency__contacts strong{margin-top:1px;font-size:11px;color:#27333d}.csl-attendance-day-emergency__contacts em{margin-top:1px;font-size:10px;font-style:normal;color:#65717b}.csl-attendance-day-emergency__contacts a{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 10px;border-radius:9px;background:#b31420!important;color:#fff!important;text-decoration:none!important;font-size:10px;font-weight:900}.csl-attendance-day-emergency__empty,.csl-attendance-day-emergency__missing{margin:0;padding:10px;color:#7b6b6d;font-size:11px;line-height:1.4}
@media(max-width:760px){body.csl-attendance-person-page .csl-attendance-instructor-greeting{padding-right:2px!important}body.csl-attendance-person-page .csl-attendance-instructor-greeting h1{min-width:0;font-size:20px!important}body.csl-attendance-person-page .csl-attendance-urgent-button{min-height:38px;padding:9px 13px;border-radius:11px;font-size:11px}body.csl-attendance-person-page .csl-attendance-day-emergency{margin:7px 0 11px;padding:10px;border-radius:14px}body.csl-attendance-person-page .csl-attendance-day-emergency__people{grid-template-columns:1fr;padding:7px}body.csl-attendance-person-page .csl-attendance-day-emergency__session-title{padding:9px 10px}body.csl-attendance-person-page .csl-attendance-day-emergency__person{padding:9px}body.csl-attendance-person-page .csl-attendance-day-emergency__contacts a{min-width:72px}}


/* === V132.9 · Ajustements en-tête, urgences et onglets intervenant ===== */
.csl-attendance-instructor-greeting{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:100%;
  min-width:0;
}
.csl-attendance-instructor-greeting h1{
  flex:1 1 auto!important;
  min-width:0!important;
  margin:0!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
.csl-attendance-urgent-button{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  max-width:max-content!important;
  min-width:0!important;
  white-space:nowrap!important;
}
.csl-attendance-day-emergency__close{
  display:grid!important;
  flex:0 0 34px!important;
  width:34px!important;
  max-width:34px!important;
  min-width:34px!important;
  height:34px!important;
  padding:0!important;
}
.csl-attendance-day-emergency__people{gap:12px!important;}
.csl-attendance-day-emergency__person{
  position:relative;
  padding:12px!important;
  border:1px solid #e1e5e9!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 3px 10px rgba(38,51,65,.05);
}
.csl-attendance-day-emergency__person + .csl-attendance-day-emergency__person{
  margin-top:2px;
}
.csl-attendance-day-emergency__person::before{
  content:"";
  position:absolute;
  left:0;
  top:12px;
  bottom:12px;
  width:3px;
  border-radius:3px;
  background:#e7eaee;
}
.csl-attendance-day-emergency__person.is-present::before{background:#42a765;}
.csl-attendance-day-emergency__person.is-absent::before{background:#aab1b7;}
.csl-attendance-day-emergency__person.is-unmarked::before{background:#e2a53b;}
.csl-attendance-day-emergency__person-head,
.csl-attendance-day-emergency__contacts{margin-left:5px;}

/* Les contenus internes des onglets sont pilotés par le bandeau, pas par leurs details historiques. */
.csl-attendance-action-panel details.csl-attendance-calendar-subscription,
.csl-attendance-action-panel details.csl-attendance-personal-panel,
.csl-attendance-action-panel details.csl-attendance-password-panel{
  display:block!important;
}

@media(max-width:760px){
  body.csl-attendance-person-page .csl-attendance-instructor-greeting{
    gap:8px!important;
    padding-right:0!important;
  }
  body.csl-attendance-person-page .csl-attendance-instructor-greeting h1{
    flex:1 1 auto!important;
    min-width:0!important;
    font-size:20px!important;
    line-height:1.15!important;
    white-space:normal!important;
  }
  body.csl-attendance-person-page .csl-attendance-urgent-button{
    display:inline-flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    max-width:max-content!important;
    min-width:0!important;
    min-height:36px!important;
    padding:9px 11px!important;
    border-radius:10px!important;
    font-size:11px!important;
    white-space:nowrap!important;
  }
  body.csl-attendance-person-page .csl-attendance-day-emergency__close{
    display:grid!important;
    width:32px!important;
    max-width:32px!important;
    min-width:32px!important;
    height:32px!important;
    flex-basis:32px!important;
  }
  body.csl-attendance-person-page .csl-attendance-day-emergency__people{
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:8px!important;
  }
  body.csl-attendance-person-page .csl-attendance-day-emergency__person{
    padding:12px 11px!important;
    border-radius:12px!important;
  }
  body.csl-attendance-person-page .csl-attendance-day-emergency__contacts>div{
    padding:9px 0!important;
  }
}


/* === V132.10 : contenu direct Privé / Sécurité ========================= */
.csl-attendance-private-content,.csl-attendance-security-content{display:block!important;width:100%;min-width:0}
.csl-attendance-action-panel .csl-attendance-personal-form--embedded,.csl-attendance-action-panel .csl-attendance-password-form--embedded{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;width:100%!important;min-width:0!important;margin:0!important}
.csl-attendance-action-panel .csl-attendance-personal-form--embedded label,.csl-attendance-action-panel .csl-attendance-password-form--embedded label{display:flex!important;flex-direction:column!important;gap:6px!important;width:100%!important;min-width:0!important}
.csl-attendance-action-panel .csl-attendance-personal-form--embedded input,.csl-attendance-action-panel .csl-attendance-personal-form--embedded textarea,.csl-attendance-action-panel .csl-attendance-password-form--embedded input{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
.csl-attendance-action-panel .csl-attendance-personal-form__footer{display:block!important;margin-top:2px!important}
.csl-attendance-action-panel .csl-attendance-personal-form__footer .csl-attendance-button,.csl-attendance-action-panel .csl-attendance-password-form--embedded .csl-attendance-button{width:100%!important}
@media(max-width:760px){body.csl-attendance-person-page .csl-attendance-action-bar:has(.csl-attendance-action-tab:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))!important}body.csl-attendance-person-page .csl-attendance-action-panel.is-private,body.csl-attendance-person-page .csl-attendance-action-panel.is-security{padding:14px!important}}


/* === V132.11 : Privé / Sécurité toujours présents ===================== */
.csl-attendance-private-manager-note{margin:0;padding:13px 14px;border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;color:#475569;font-size:13px;line-height:1.5}
.csl-attendance-manager-password-form--embedded{display:grid;gap:10px}
.csl-attendance-manager-password-form--embedded label{display:grid;gap:6px}
.csl-attendance-manager-password-form--embedded input{width:100%;box-sizing:border-box}
@media(max-width:760px){.csl-attendance-manager-password-form--embedded .csl-attendance-button{width:100%!important}}


/* === V132.12 : coordonnées intervenant visibles en gestion ============== */
.csl-attendance-manager-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 12px}
.csl-attendance-manager-contact-card{display:grid;gap:5px;min-width:0;padding:12px 13px;border:1px solid #e3e8ee;border-radius:13px;background:#fff}
.csl-attendance-manager-contact-card span{color:#64748b;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}
.csl-attendance-manager-contact-card strong{color:#1f2937;font-size:14px;overflow-wrap:anywhere}
.csl-attendance-manager-contact-card a{justify-self:start;padding:7px 10px;border-radius:9px;background:#263341;color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:850}
@media(max-width:760px){.csl-attendance-manager-contact-grid{grid-template-columns:1fr}.csl-attendance-manager-contact-card{padding:11px 12px}}


/* === V132.13 : bloc date affichée plus compact ========================= */
.csl-attendance-day--compact{padding:14px!important}
.csl-attendance-day--compact>.csl-attendance-section-heading{margin-bottom:8px!important;gap:8px!important}
.csl-attendance-day--compact>.csl-attendance-section-heading .csl-attendance-eyebrow{font-size:10px!important;letter-spacing:.16em!important}
.csl-attendance-day--compact>.csl-attendance-section-heading h2{font-size:18px!important;line-height:1.15!important;margin-top:4px!important}
.csl-attendance-day--compact .csl-attendance-date-state{padding:5px 9px!important;font-size:10px!important}
.csl-attendance-day--compact .csl-attendance-roster{margin-top:10px!important;border-radius:12px!important}
.csl-attendance-day--compact .csl-attendance-roster__head{padding:12px 14px!important;gap:10px!important}
.csl-attendance-day--compact .csl-attendance-roster__head h3{font-size:16px!important}
.csl-attendance-day--compact .csl-attendance-roster__head p{font-size:12px!important;margin-top:3px!important}
.csl-attendance-day--compact .csl-attendance-counter{padding-top:8px!important}
.csl-attendance-day--compact .csl-attendance-counter strong{font-size:28px!important}
.csl-attendance-day--compact .csl-attendance-counter span,.csl-attendance-day--compact .csl-attendance-counter small{font-size:11px!important}
.csl-attendance-day--compact .csl-attendance-locked{margin:10px 12px 0!important;padding:10px 12px!important;font-size:12px!important}

@media(max-width:760px){
  body.csl-attendance-person-page .csl-attendance-day--compact{padding:12px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact>.csl-attendance-section-heading{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:8px 10px!important;margin-bottom:8px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact>.csl-attendance-section-heading h2{font-size:16px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-date-state{justify-self:end!important;align-self:start!important}
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-roster{margin-top:8px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-roster__head{padding:10px 12px!important;gap:8px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-roster__head h3{font-size:15px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-roster__head p{font-size:11px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-counter{padding-top:7px!important;column-gap:10px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-counter strong{font-size:24px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-counter span,
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-counter small{font-size:11px!important;line-height:1.25!important}
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-locked{margin:8px 10px 0!important;padding:8px 10px!important;font-size:11px!important}
}


/* === V132.14 : section date affichée ultra compacte ==================== */
.csl-attendance-day--compact{padding:12px!important}
.csl-attendance-day--compact>.csl-attendance-section-heading{margin-bottom:6px!important;gap:6px!important;align-items:center!important}
.csl-attendance-day--compact>.csl-attendance-section-heading .csl-attendance-eyebrow{font-size:10px!important;letter-spacing:.14em!important;margin-bottom:2px!important}
.csl-attendance-day--compact>.csl-attendance-section-heading h2{font-size:17px!important;line-height:1.1!important;margin:0!important}
.csl-attendance-day--compact .csl-attendance-date-state{padding:4px 8px!important;font-size:10px!important}
.csl-attendance-day--compact .csl-attendance-roster{margin-top:8px!important;border-radius:12px!important}
.csl-attendance-day--compact .csl-attendance-roster__head{padding:10px 12px!important;gap:8px!important;background:#fcfcfd!important}
.csl-attendance-day--compact .csl-attendance-roster__head h3{font-size:15px!important;margin:0!important}
.csl-attendance-day--compact .csl-attendance-roster__head p{font-size:11px!important;margin:2px 0 0!important}
.csl-attendance-day--compact .csl-attendance-counter{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:6px 8px!important;min-width:0!important;padding-top:7px!important}
.csl-attendance-day--compact .csl-attendance-counter strong{display:inline-block!important;font-size:22px!important;line-height:1!important;margin:0!important}
.csl-attendance-day--compact .csl-attendance-counter span,
.csl-attendance-day--compact .csl-attendance-counter small{display:inline-block!important;font-size:11px!important;margin:0!important}
.csl-attendance-day--compact .csl-attendance-locked{margin:8px 10px 0!important;padding:8px 10px!important;font-size:11px!important;border-radius:12px!important}

@media(max-width:760px){
  body.csl-attendance-person-page .csl-attendance-day--compact{padding:10px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact>.csl-attendance-section-heading{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:space-between!important;gap:6px 8px!important;margin-bottom:6px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact>.csl-attendance-section-heading h2{font-size:15px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-roster__head{padding:9px 10px!important;gap:7px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-counter{padding-top:6px!important;gap:4px 8px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-counter strong{font-size:20px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-counter span,
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-counter small{font-size:10px!important}
}


/* === V132.15 : tête de séance ultra compacte ========================== */
.csl-attendance-section-heading--minimal{margin-bottom:4px!important}
.csl-attendance-roster--minimal{margin-top:6px!important}
.csl-attendance-roster__head--minimal{padding:8px 12px!important;border-bottom:1px solid #e7ebf1!important;background:#fcfcfd!important}
.csl-attendance-roster__head--minimal p{margin:0!important;font-size:13px!important;font-weight:700!important;line-height:1.25!important;color:#334155!important}
.csl-attendance-roster--minimal .csl-attendance-form{padding-top:6px!important}
@media(max-width:760px){
  body.csl-attendance-person-page .csl-attendance-section-heading--minimal .csl-attendance-eyebrow{font-size:10px!important;letter-spacing:.14em!important}
  body.csl-attendance-person-page .csl-attendance-section-heading--minimal h2{font-size:15px!important;line-height:1.1!important}
  body.csl-attendance-person-page .csl-attendance-roster__head--minimal{padding:7px 10px!important}
  body.csl-attendance-person-page .csl-attendance-roster__head--minimal p{font-size:12px!important}
}


/* === V132.16 : en-tête séance simplifiée + largeur mobile maximisée ==== */
.csl-attendance-section-heading--line{display:flex;align-items:baseline;justify-content:flex-start;flex-wrap:wrap;gap:4px 10px;margin-bottom:6px}
.csl-attendance-section-heading--line h2{margin:0;font-size:18px;line-height:1.12}
.csl-attendance-section-heading--line .csl-attendance-section-time{margin:0;font-size:16px;font-weight:700;line-height:1.12;color:#586676;white-space:nowrap}
.csl-attendance-roster--minimal>.csl-attendance-roster__head--minimal{display:none!important}

@media(max-width:760px){
  body.csl-attendance-person-page .csl-attendance{padding:0 0 24px!important}
  body.csl-attendance-person-page .csl-attendance--instructor{padding-top:0!important}
  body.csl-attendance-person-page .csl-attendance-shell{width:100%!important;max-width:100%!important;margin:0!important;padding:0 2px!important}
  body.csl-attendance-person-page .csl-attendance-hero--instructor{margin-top:0!important}
  body.csl-attendance-person-page .csl-attendance-instructor-greeting{padding:10px 2px 0!important}
  body.csl-attendance-person-page .csl-attendance-action-hub{margin:8px 0 12px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact,
  body.csl-attendance-person-page .csl-attendance-upcoming--compact{margin-top:12px!important;padding:12px 10px!important;border-radius:14px!important}
  body.csl-attendance-person-page .csl-attendance-section-heading--line{align-items:center!important;gap:4px 8px!important;margin-bottom:6px!important}
  body.csl-attendance-person-page .csl-attendance-section-heading--line h2{font-size:15px!important;line-height:1.1!important}
  body.csl-attendance-person-page .csl-attendance-section-heading--line .csl-attendance-section-time{font-size:14px!important;line-height:1.1!important}
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-roster--minimal{margin-top:0!important;border-radius:12px!important}
  body.csl-attendance-person-page .csl-attendance-day--compact .csl-attendance-roster--minimal .csl-attendance-form{padding-top:0!important}
}


/* === V132.17 : suppression de l'espace vide au-dessus du bandeau noir intervenant === */
body.csl-attendance-person-page .csl-attendance-shell{padding-top:0!important}
body.csl-attendance-person-page .csl-attendance-shell > .csl-attendance-hero--instructor:first-child{margin-top:-18px!important}
@media(max-width:760px){
  body.csl-attendance-person-page .csl-attendance-shell > .csl-attendance-hero--instructor:first-child{margin-top:-22px!important}
  body.csl-attendance-person-page .csl-attendance-shell{padding-top:0!important}
}


/* === V132.18 : affiche de saison enrichie (date d'ouverture + forum des associations) === */
.csl-v72-header-aside{display:flex;flex-direction:column;align-items:flex-end;gap:10px;min-width:176px}
.csl-v72-opening{min-width:176px;box-sizing:border-box;padding:10px 14px;border-radius:18px;background:#edf4ff;color:#182234;text-align:right;box-shadow:0 10px 24px rgba(49,93,160,.12)}
.csl-v72-opening span{display:block;color:#315d9f;font-size:10px;font-weight:900;letter-spacing:.15em}
.csl-v72-opening strong{display:block;margin-top:5px;font-size:19px;line-height:1.05;letter-spacing:-.03em}
.csl-v72-hero__main{display:flex;flex-direction:column;justify-content:space-between}
.csl-v72-hero__forum{position:relative;z-index:1;max-width:470px;margin-top:14px;padding:12px 15px;border-radius:18px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.15);box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.csl-v72-hero__forum span{display:block;color:#ffb6a8;font-size:10px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.csl-v72-hero__forum strong{display:block;margin-top:7px;color:#fff;font-size:17px;line-height:1.18;letter-spacing:-.025em}
.csl-v72-hero__forum em{display:block;margin-top:8px;font-style:normal;color:#fff2ef;font-size:14px;line-height:1.2;font-weight:800}
.csl-v72-hero__forum small{display:block;margin-top:7px;color:#ffffff;font-size:13px;line-height:1.22;font-weight:700;opacity:.96}
@media print{
  body.csl-registration-manager-poster .csl-v72-header-aside{min-width:46.6mm;gap:2.64mm}
  body.csl-registration-manager-poster .csl-v72-opening{min-width:46.6mm;padding:2.64mm 3.7mm;border-radius:4.76mm}
  body.csl-registration-manager-poster .csl-v72-opening span{font-size:2.65mm}
  body.csl-registration-manager-poster .csl-v72-opening strong{margin-top:1.32mm;font-size:5.2mm}
  body.csl-registration-manager-poster .csl-v72-hero__forum{max-width:124.4mm;margin-top:3.7mm;padding:3.17mm 3.97mm;border-radius:4.76mm}
  body.csl-registration-manager-poster .csl-v72-hero__forum span{font-size:2.43mm}
  body.csl-registration-manager-poster .csl-v72-hero__forum strong{margin-top:1.59mm;font-size:4.23mm;line-height:1.18}
  body.csl-registration-manager-poster .csl-v72-hero__forum em{margin-top:1.85mm;font-size:3.44mm;line-height:1.18}
  body.csl-registration-manager-poster .csl-v72-hero__forum small{margin-top:1.59mm;font-size:3.1mm;line-height:1.2}
}


/* === V132.21 : affiche communication clarifiée === */
.csl-v72-hero__callout--forum strong{margin-top:16px;font-size:33px;line-height:.95}
.csl-v72-hero__callout--forum em{margin-top:14px;font-style:normal;font-size:18px;line-height:1.16;font-weight:900;color:#fff}
.csl-v72-hero__callout--forum small{display:block;margin-top:8px;font-size:14px;line-height:1.18;font-weight:800;color:#fff2ef}
.csl-v72-hero__callout--forum b{display:inline-block;margin-top:16px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.18);color:#fff;font-size:12px;line-height:1.2;font-weight:900}
@media print{
  body.csl-registration-manager-poster .csl-v72-hero__callout--forum strong{margin-top:4.23mm;font-size:8.73mm;line-height:.95}
  body.csl-registration-manager-poster .csl-v72-hero__callout--forum em{margin-top:3.7mm;font-size:4.5mm;line-height:1.14}
  body.csl-registration-manager-poster .csl-v72-hero__callout--forum small{margin-top:2.1mm;font-size:3.5mm;line-height:1.16}
  body.csl-registration-manager-poster .csl-v72-hero__callout--forum b{margin-top:4.23mm;padding:2.64mm 3.17mm;border-radius:3.7mm;font-size:2.8mm;line-height:1.18}
}


/* === V132.22 : nouvelle affiche de saison, composition éditoriale A4 ===
 * Le visuel est un SVG autonome : l'aperçu, le PDF haute définition et la
 * pièce jointe utilisent exactement la même composition, y compris sur iPad. */
.csl-v72-poster.csl-v13222-poster{
  display:block!important;
  padding:0!important;
  border:0!important;
  background:#f8f3ec!important;
  color:#172235!important;
}
.csl-v13222-poster-art{
  display:block;
  width:100%;
  height:100%;
  overflow:hidden;
  background:#f8f3ec;
}
.csl-v72-poster.csl-v13222-poster.csl-poster-capture-mode{
  display:block!important;
  background:#f8f3ec!important;
}
@media print{
  body.csl-registration-manager-poster .csl-v72-poster.csl-v13222-poster{
    display:block!important;
    padding:0!important;
    border:0!important;
    background:#f8f3ec!important;
  }
  body.csl-registration-manager-poster .csl-v13222-poster-art{
    display:block!important;
    width:100%!important;
    height:100%!important;
  }
}

/* CSL V2.0.1 — mode sombre automatique */
@media (prefers-color-scheme: dark) {
  body.csl-registration-manager-area{--cslreg-ink:#f2f5f9;--cslreg-ink-soft:#c6d0db;--cslreg-muted:#a4afbc;--cslreg-cream:#111820;--cslreg-line:rgba(255,255,255,.11);--cslreg-shadow:0 22px 62px rgba(0,0,0,.32)}
  body.csl-registration-manager-area .csl-v107-season-switcher,body.csl-registration-manager-area .csl-v69-section,body.csl-registration-manager-area .csl-v69-tool,body.csl-registration-manager-area .csl-v107-season-tool,body.csl-registration-manager-area .csl-v107-archive-tool,body.csl-registration-manager-area .csl-v107-member-panel,body.csl-registration-manager-area .csl-v112-request-alert,body.csl-registration-manager-area .csl-v129-manager-alert{background:#151d26!important;border-color:#303a46!important;color:#eef2f6!important;box-shadow:0 14px 38px rgba(0,0,0,.20)!important}
  body.csl-registration-manager-area input,body.csl-registration-manager-area select,body.csl-registration-manager-area textarea{background:#0f161e!important;color:#f2f5f9!important;border-color:#394552!important}
  body.csl-registration-manager-area .csl-v107-season-switcher > div strong{color:#f2f5f9}body.csl-registration-manager-area .csl-v107-season-switcher > div span,body.csl-registration-manager-area .csl-v107-season-switcher label span{color:#a4afbc}
  body.csl-registration-manager-area .csl-v107-record-badge{background:#27313c;color:#d4dbe4}
}

/* === V2.0.89 : affiches forum des associations A3 === */
.csl-v2089-com-card--forum{background:linear-gradient(135deg,#18273c 0%,#1f3d65 54%,#d91e31 120%);color:#fff}
.csl-v2089-com-card--forum p,.csl-v2089-com-card--forum b,.csl-v2089-com-card--forum strong{color:#fff!important}
.csl-v2089-com-card--forum .csl-v69-com-icon{background:rgba(255,255,255,.16);color:#fff}

.csl-v2089-forum-tool-shell{padding-bottom:34px}
.csl-v2089-forum-shell{display:flex;flex-direction:column;gap:24px}
.csl-v2089-forum-shell--single{gap:18px}
.csl-v2089-tool-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;border-radius:28px;background:linear-gradient(135deg,#122034 0%,#29466e 52%,#dd1f32 115%);color:#fff;box-shadow:0 24px 56px rgba(10,23,43,.18)}
.csl-v2089-tool-head--single{align-items:center}
.csl-v2089-tool-head h1{margin:6px 0 8px;font-size:32px;line-height:1.02;color:#fff}
.csl-v2089-tool-head p{margin:0;max-width:860px;color:rgba(255,255,255,.9);font-size:15px;line-height:1.55}
.csl-v2089-tool-head .csl-reg-kicker{color:#ffcec7}
.csl-v2089-tool-head .csl-reg-back{flex:0 0 auto;background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.16);color:#fff}
.csl-v2089-forum-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.csl-v2089-forum-choice{position:relative;padding:26px;border-radius:28px;background:#fff;border:1px solid rgba(34,51,84,.08);box-shadow:0 18px 40px rgba(16,33,58,.08)}
.csl-v2089-forum-choice--portrait{background:linear-gradient(180deg,#fff 0%,#fff8f3 100%)}
.csl-v2089-forum-choice--landscape{background:linear-gradient(180deg,#fff 0%,#f4f8ff 100%)}
.csl-v2089-forum-choice__tag{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;background:#172235;color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.csl-v2089-forum-choice h2{margin:16px 0 10px;font-size:28px;line-height:1.02;color:#152133}
.csl-v2089-forum-choice p{margin:0 0 14px;color:#596777;line-height:1.6}
.csl-v2089-forum-choice ul{margin:0 0 18px 18px;padding:0;color:#23334b;line-height:1.8}

.csl-v2089-forum-poster{position:relative;overflow:hidden;margin:0 auto;background:#fff;color:#172235;box-shadow:0 28px 70px rgba(12,25,45,.16)}
.csl-v2089-forum-poster--portrait{width:min(100%,297mm);min-height:420mm;border-radius:22px;padding:22mm 18mm 18mm;display:flex;flex-direction:column;gap:14mm}
.csl-v2089-forum-poster--landscape{width:min(100%,420mm);min-height:297mm;border-radius:22px;padding:16mm 17mm 14mm;display:flex;flex-direction:column;gap:11mm}
.csl-v2089-forum-poster__bg{position:absolute;border-radius:999px;filter:blur(0);pointer-events:none}
.csl-v2089-forum-poster__bg--one{top:-38mm;right:-16mm;width:120mm;height:120mm;background:radial-gradient(circle at center,rgba(255,116,100,.40),rgba(255,116,100,0))}
.csl-v2089-forum-poster__bg--two{left:-25mm;top:105mm;width:88mm;height:88mm;background:radial-gradient(circle at center,rgba(92,173,255,.28),rgba(92,173,255,0))}
.csl-v2089-forum-poster__bg--three{top:-28mm;left:-18mm;width:120mm;height:120mm;background:radial-gradient(circle at center,rgba(92,173,255,.33),rgba(92,173,255,0))}
.csl-v2089-forum-poster__bg--four{bottom:-24mm;right:-18mm;width:130mm;height:130mm;background:radial-gradient(circle at center,rgba(225,43,60,.30),rgba(225,43,60,0))}

.csl-v2089-forum-hero,.csl-v2089-forum-content,.csl-v2089-forum-footer,.csl-v2089-landscape-topline,.csl-v2089-landscape-grid,.csl-v2089-landscape-footer{position:relative;z-index:1}
.csl-v2089-forum-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:14mm;padding:15mm;border-radius:18mm;background:linear-gradient(135deg,#122034 0%,#26456d 60%,#dc2434 120%);color:#fff}
.csl-v2089-forum-pill{display:inline-flex;align-items:center;padding:3.6mm 6mm;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:3.4mm;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.csl-v2089-forum-hero h2{margin:6mm 0 4mm;font-size:16.5mm;line-height:.94;letter-spacing:-.08mm;color:#fff}
.csl-v2089-forum-hero p{margin:0;max-width:100mm;color:rgba(255,255,255,.88);font-size:4.6mm;line-height:1.5}
.csl-v2089-forum-meta{margin-top:6mm;padding:5mm 6mm;border-radius:8mm;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.15);display:flex;flex-direction:column;gap:2mm}
.csl-v2089-forum-meta strong{font-size:5mm;color:#fff}
.csl-v2089-forum-meta span{font-size:4mm;color:#fff2ef}
.csl-v2089-forum-quicklist{display:flex;flex-wrap:wrap;gap:3mm;margin-top:6mm}
.csl-v2089-forum-quicklist span,.csl-v2089-landscape-chips span{display:inline-flex;align-items:center;justify-content:center;padding:3mm 4.5mm;border-radius:999px;background:#fff;color:#172235;font-size:3.6mm;font-weight:800;box-shadow:0 10px 20px rgba(18,32,52,.12)}
.csl-v2089-forum-hero__brand{display:flex;flex-direction:column;justify-content:space-between;gap:6mm}
.csl-v2089-forum-logo-card{padding:9mm;border-radius:14mm;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;min-height:44mm}
.csl-v2089-forum-logo-card img{width:100%;max-width:72mm;height:auto;display:block}
.csl-v2089-forum-brand-copy strong{display:block;font-size:10mm;line-height:.95;color:#fff;letter-spacing:-.08mm}
.csl-v2089-forum-brand-copy small{display:block;margin-top:3mm;font-size:4mm;font-weight:700;color:#ffd9d1;letter-spacing:.07em;text-transform:uppercase}

.csl-v2089-forum-content{display:grid;grid-template-columns:1.2fr .8fr;gap:10mm}
.csl-v2089-forum-section-title span,.csl-v2089-forum-side-card span,.csl-v2089-landscape-topline,.csl-v2089-landscape-footer span,.csl-v2089-landscape-cta span,.csl-v2089-forum-footer span{font-size:3.2mm;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#d91e31}
.csl-v2089-forum-section-title h3{margin:4mm 0 0;font-size:10.5mm;line-height:1;color:#172235;letter-spacing:-.05mm}
.csl-v2089-forum-activity-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5mm;margin-top:7mm}
.csl-v2089-forum-activity{padding:5.5mm;border-radius:8mm;background:linear-gradient(180deg,var(--from) 0%,var(--to) 100%);border:1px solid rgba(23,34,53,.08);box-shadow:0 8px 18px rgba(21,33,51,.06)}
.csl-v2089-forum-activity strong{display:block;font-size:5.1mm;line-height:1.08;color:#172235}
.csl-v2089-forum-activity span{display:block;margin-top:2.4mm;font-size:3.75mm;line-height:1.4;color:#334457}
.csl-v2089-forum-activity small{display:inline-flex;margin-top:3.2mm;padding:2mm 3mm;border-radius:999px;background:rgba(255,255,255,.78);color:var(--accent);font-size:3mm;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.csl-v2089-forum-side{display:flex;flex-direction:column;gap:5mm}
.csl-v2089-forum-side-card{padding:6mm;border-radius:8mm;background:#f8fbff;border:1px solid #dde8f2;box-shadow:0 8px 18px rgba(21,33,51,.04)}
.csl-v2089-forum-side-card strong{display:block;margin-top:2.4mm;font-size:6mm;line-height:1.02;color:#172235}
.csl-v2089-forum-side-card p,.csl-v2089-forum-side-card small{display:block;margin:2.2mm 0 0;font-size:3.6mm;line-height:1.55;color:#566474}
.csl-v2089-forum-side-card--qr{background:linear-gradient(180deg,#fff4f1 0%,#fff 100%);border-color:#f0d0cb;text-align:center}
.csl-v2089-forum-side-card--qr img{display:block;width:49mm;max-width:100%;height:auto;margin:4mm auto 2mm;padding:2.8mm;border-radius:5mm;background:#fff;box-shadow:0 10px 24px rgba(16,28,49,.10)}
.csl-v2089-forum-prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4mm;list-style:none;margin:4mm 0 0;padding:0}
.csl-v2089-forum-prices li{padding:3.2mm 2.2mm;border-radius:4mm;background:#fff;border:1px solid #e3ebf2;text-align:center}
.csl-v2089-forum-prices b{display:block;font-size:4.4mm;color:#172235}
.csl-v2089-forum-prices span{display:block;margin-top:1.2mm;font-size:2.8mm;color:#657385;letter-spacing:.02em;text-transform:none}
.csl-v2089-forum-footer{margin-top:auto;padding:5.2mm 6mm;border-radius:8mm;background:#172235;color:#fff;display:flex;align-items:end;justify-content:space-between;gap:6mm}
.csl-v2089-forum-footer strong{display:block;margin-top:2mm;font-size:5.2mm;line-height:1.18;color:#fff}
.csl-v2089-forum-footer em{font-style:normal;font-size:8.5mm;font-weight:900;color:#ffcec7;letter-spacing:-.06mm;white-space:nowrap}

.csl-v2089-landscape-topline{align-self:flex-start;padding:3.2mm 5mm;border-radius:999px;background:#172235;color:#fff}
.csl-v2089-landscape-grid{display:grid;grid-template-columns:1.18fr .56fr;gap:10mm;align-items:stretch;flex:1}
.csl-v2089-landscape-main{display:grid;grid-template-columns:.82fr 1fr;gap:9mm;padding:10mm;border-radius:14mm;background:linear-gradient(135deg,#122034 0%,#27476f 58%,#dc2434 120%);color:#fff;min-height:0}
.csl-v2089-landscape-logo-wrap{display:flex;align-items:center;justify-content:center;border-radius:12mm;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.14);padding:7mm}
.csl-v2089-landscape-logo-wrap img{width:100%;max-width:105mm;height:auto;display:block}
.csl-v2089-landscape-copy{display:flex;flex-direction:column;justify-content:center}
.csl-v2089-landscape-copy h2{margin:5mm 0 3mm;font-size:16mm;line-height:.94;letter-spacing:-.08mm;color:#fff}
.csl-v2089-landscape-copy p{margin:0;color:#ffd9d1;font-size:5.6mm;font-weight:700}
.csl-v2089-landscape-chips{display:flex;flex-wrap:wrap;gap:2.8mm;margin-top:6mm}
.csl-v2089-landscape-hook{display:block;margin-top:8mm;font-size:10.6mm;line-height:1.02;color:#fff}
.csl-v2089-landscape-cta{padding:10mm;border-radius:14mm;background:linear-gradient(180deg,#fff4f1 0%,#fff 100%);border:1px solid #f1d0ca;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 16px 34px rgba(19,36,63,.08)}
.csl-v2089-landscape-qr-wrap{margin:5mm 0 4mm;padding:5mm;border-radius:8mm;background:#fff;box-shadow:0 14px 28px rgba(16,28,49,.10)}
.csl-v2089-landscape-qr-wrap img{display:block;width:74mm;max-width:100%;height:auto}
.csl-v2089-landscape-cta strong{font-size:9mm;line-height:1;color:#172235}
.csl-v2089-landscape-cta small{margin-top:2mm;font-size:4.2mm;color:#657385;line-height:1.45}
.csl-v2089-landscape-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5mm}
.csl-v2089-landscape-footer>div{padding:5mm 5.4mm;border-radius:7mm;background:#fff;border:1px solid #e3ebf2;box-shadow:0 10px 22px rgba(19,36,63,.05)}
.csl-v2089-landscape-footer strong{display:block;margin-top:2mm;font-size:4.5mm;line-height:1.32;color:#172235}

@media (max-width: 1024px){
  .csl-v2089-forum-picker{grid-template-columns:1fr}
  .csl-v2089-tool-head,.csl-v2089-tool-head--single{flex-direction:column;align-items:flex-start}
}
@media (max-width: 860px){
  .csl-v2089-forum-poster--portrait,.csl-v2089-forum-poster--landscape{width:100%;min-height:auto;padding:26px;border-radius:24px}
  .csl-v2089-forum-hero,.csl-v2089-forum-content,.csl-v2089-landscape-grid,.csl-v2089-landscape-main,.csl-v2089-landscape-footer{grid-template-columns:1fr}
  .csl-v2089-forum-activity-grid,.csl-v2089-forum-prices{grid-template-columns:1fr}
  .csl-v2089-forum-footer{flex-direction:column;align-items:flex-start}
  .csl-v2089-forum-footer em{white-space:normal}
}
@media print{
  .csl-v2089-tool-head,.csl-registration-manager-forum-poster .site-header,.csl-registration-manager-forum-poster .site-footer,.csl-registration-manager-forum-poster .csl-manager-topbar,.csl-registration-manager-forum-poster .csl-manager-drawer-toggle,.csl-registration-manager-forum-poster .csl-manager-v2-drawer,.csl-registration-manager-forum-poster .csl-page-hero,.csl-registration-manager-forum-poster .entry-header,.csl-registration-manager-forum-poster .csl-v105-topbar{display:none!important}
  .csl-registration-manager-forum-poster main,.csl-registration-manager-forum-poster .csl-v2089-forum-tool-shell,.csl-registration-manager-forum-poster .csl-v2089-forum-shell,.csl-registration-manager-forum-poster .csl-reg-shell{padding:0!important;margin:0!important;max-width:none!important;width:100%!important;box-shadow:none!important;background:#fff!important}
  .csl-registration-manager-forum-poster .csl-v2089-forum-poster{box-shadow:none!important;border-radius:0!important;max-width:none!important;width:auto!important;margin:0!important}
  .csl-registration-manager-forum-poster .csl-v2089-forum-poster--portrait{min-height:420mm!important;padding:22mm 18mm 18mm!important}
  .csl-registration-manager-forum-poster .csl-v2089-forum-poster--landscape{min-height:297mm!important;padding:16mm 17mm 14mm!important}
}

/* === V2.0.90 : personnalisation des affiches forum === */
.csl-v2090-forum-settings-wrap{display:flex;flex-direction:column;gap:22px}
.csl-v2090-forum-settings-card{padding:24px;border-radius:28px;background:#fff;border:1px solid rgba(21,33,51,.08);box-shadow:0 18px 42px rgba(16,33,58,.08)}
.csl-v2090-forum-settings-head h2{margin:8px 0 8px;font-size:28px;line-height:1.05;color:#142133}
.csl-v2090-forum-settings-head p{margin:0;color:#5a6979;line-height:1.6;max-width:900px}
.csl-v2090-forum-settings-form{margin-top:18px}
.csl-v2090-forum-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.csl-v2090-forum-grid label{display:flex;flex-direction:column;gap:8px;font-weight:700;color:#172235}
.csl-v2090-forum-grid label span{font-size:13px;letter-spacing:.01em}
.csl-v2090-forum-grid input[type="text"],.csl-v2090-forum-grid textarea{width:100%;border-radius:16px;border:1px solid #d5deea;background:#fbfdff;padding:14px 15px;font:inherit;color:#172235;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.csl-v2090-forum-grid textarea{resize:vertical;min-height:96px}
.csl-v2090-forum-grid__wide{grid-column:1 / -1}
.csl-v2090-forum-check{grid-column:1 / -1;display:flex!important;flex-direction:row!important;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;background:#f7f9fc;border:1px solid #d8e0ea}
.csl-v2090-forum-check input{width:18px;height:18px;flex:0 0 auto}
.csl-v2090-forum-settings-actions{display:flex;justify-content:flex-start;margin-top:16px}
.csl-v2090-forum-reset-form{margin-top:10px}
body.admin-bar .csl-v2090-forum-settings-card{scroll-margin-top:42px}
@media (max-width: 860px){
  .csl-v2090-forum-grid{grid-template-columns:1fr}
}


/* === V2.0.91 : carte Communications envoyées harmonisée === */
.csl-manager-v105 .csl-v105-section--communication .csl-v69-com-card > div{
    flex:1 1 auto;
    min-width:0;
}
.csl-manager-v105 .csl-v105-section--communication .csl-v69-com-card b{
    display:inline-flex;
    align-items:center;
    gap:5px;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    font-size:11px!important;
    font-weight:900!important;
    line-height:1.2;
}
.csl-manager-v105 .csl-v105-section--communication .csl-v69-com-card{
    transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.csl-manager-v105 .csl-v105-section--communication .csl-v69-com-card:hover,
.csl-manager-v105 .csl-v105-section--communication .csl-v69-com-card:focus-visible{
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(20,32,50,.17)!important;
    filter:saturate(1.04);
}
.csl-manager-v105 .csl-v105-section--communication .csl-v2082-com-card--history{
    background:linear-gradient(135deg,#0d4f55 0%,#0f7774 54%,#18a387 100%)!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}
.csl-manager-v105 .csl-v105-section--communication .csl-v2082-com-card--history strong,
.csl-manager-v105 .csl-v105-section--communication .csl-v2082-com-card--history p,
.csl-manager-v105 .csl-v105-section--communication .csl-v2082-com-card--history b{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
}
.csl-manager-v105 .csl-v105-section--communication .csl-v2082-com-card--history p{
    color:rgba(255,255,255,.82)!important;
    -webkit-text-fill-color:rgba(255,255,255,.82)!important;
}
.csl-manager-v105 .csl-v105-section--communication .csl-v2082-com-card--history .csl-v69-com-icon{
    background:rgba(255,255,255,.15)!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.13);
}
@media (prefers-color-scheme:dark){
    .csl-manager-v105 .csl-v105-section--communication .csl-v2082-com-card--history{
        background:linear-gradient(135deg,#0b3f48 0%,#0d625f 54%,#12846f 100%)!important;
        box-shadow:0 10px 24px rgba(0,0,0,.24)!important;
    }
}

/* === V2.0.92 : affiches forum plus fun et dynamiques === */
.csl-v2089-forum-poster,
.csl-v2089-forum-hero,
.csl-v2089-landscape-main,
.csl-v2089-forum-side-card,
.csl-v2089-landscape-cta,
.csl-v2089-landscape-footer>div,
.csl-v2089-forum-activity,
.csl-v2089-forum-footer{
  -webkit-print-color-adjust:exact;
  print-color-adjust:exact;
}
.csl-v2089-forum-poster{
  background:linear-gradient(180deg,#fff7fb 0%,#ffffff 38%,#f4f7ff 100%);
  border:1px solid rgba(23,34,53,.06);
}
.csl-v2089-forum-poster::before,
.csl-v2089-forum-poster::after{
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:999px;
  z-index:0;
}
.csl-v2089-forum-poster::before{
  top:-18mm;
  left:-12mm;
  width:82mm;
  height:82mm;
  background:radial-gradient(circle at center,rgba(255,89,120,.16),rgba(255,89,120,0) 72%);
}
.csl-v2089-forum-poster::after{
  right:-16mm;
  bottom:-20mm;
  width:108mm;
  height:108mm;
  background:radial-gradient(circle at center,rgba(84,169,255,.16),rgba(84,169,255,0) 72%);
}
.csl-v2089-forum-poster--portrait{
  gap:12mm;
}
.csl-v2089-forum-poster--landscape{
  gap:9mm;
}

.csl-v2089-forum-hero{
  overflow:hidden;
  gap:12mm;
  padding:14mm;
  border-radius:20mm;
  background:linear-gradient(135deg,#101d34 0%,#23416e 34%,#5d41db 64%,#ff4054 100%);
  box-shadow:0 22px 46px rgba(17,34,60,.18);
}
.csl-v2089-forum-hero::before,
.csl-v2089-landscape-main::before{
  content:"";
  position:absolute;
  inset:auto auto -18mm -14mm;
  width:80mm;
  height:80mm;
  border-radius:999px;
  background:radial-gradient(circle at center,rgba(255,255,255,.18),rgba(255,255,255,0) 70%);
  pointer-events:none;
}
.csl-v2089-forum-hero::after,
.csl-v2089-landscape-main::after{
  content:"";
  position:absolute;
  top:-16mm;
  right:-10mm;
  width:72mm;
  height:72mm;
  border-radius:999px;
  background:radial-gradient(circle at center,rgba(255,212,89,.22),rgba(255,212,89,0) 72%);
  pointer-events:none;
}
.csl-v2089-forum-pill{
  background:#fff;
  border-color:rgba(255,255,255,.24);
  color:#d61f39;
  box-shadow:0 10px 20px rgba(9,20,37,.18);
}
.csl-v2089-forum-hero h2{
  margin:5mm 0 4.4mm;
  font-size:17.2mm;
  letter-spacing:-.16mm;
  text-shadow:0 3px 14px rgba(0,0,0,.14);
}
.csl-v2089-forum-hero p{
  max-width:104mm;
  font-size:4.75mm;
  color:rgba(255,255,255,.95);
}
.csl-v2089-forum-meta{
  margin-top:5.3mm;
  border-radius:9mm;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}
.csl-v2089-forum-meta strong{font-size:5.2mm}
.csl-v2089-forum-meta span{color:rgba(255,244,242,.96)}
.csl-v2089-forum-quicklist{gap:3.5mm;margin-top:5.5mm}
.csl-v2089-forum-quicklist span,
.csl-v2089-landscape-chips span{
  border:none;
  color:#142133;
  font-weight:900;
  box-shadow:0 12px 22px rgba(16,30,51,.13);
}
.csl-v2089-forum-quicklist span:nth-child(1),
.csl-v2089-landscape-chips span:nth-child(1){background:#fff0ae}
.csl-v2089-forum-quicklist span:nth-child(2),
.csl-v2089-landscape-chips span:nth-child(2){background:#d8f6ff}
.csl-v2089-forum-quicklist span:nth-child(3),
.csl-v2089-landscape-chips span:nth-child(3){background:#ffe0e5}
.csl-v2089-landscape-chips span:nth-child(4){background:#e5ddff}
.csl-v2089-forum-hero__brand{position:relative;z-index:1}
.csl-v2089-forum-logo-card{
  min-height:48mm;
  padding:10mm;
  border-radius:16mm;
  background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.82) 100%);
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 18px 30px rgba(7,19,35,.16);
  transform:rotate(-2deg);
}
.csl-v2089-forum-logo-card img,
.csl-v2089-landscape-logo-wrap img{filter:drop-shadow(0 8px 18px rgba(14,25,41,.12))}
.csl-v2089-forum-brand-copy{
  padding:6mm 6.5mm 0;
}
.csl-v2089-forum-brand-copy strong{
  font-size:10.4mm;
  letter-spacing:-.14mm;
}
.csl-v2089-forum-brand-copy small{
  color:#fff6b8;
  font-size:3.8mm;
  letter-spacing:.11em;
}

.csl-v2089-forum-content{
  grid-template-columns:1.26fr .74fr;
  align-items:start;
}
.csl-v2089-forum-section-title h3{
  font-size:11.4mm;
}
.csl-v2089-forum-activity-grid{
  gap:5.8mm;
}
.csl-v2089-forum-activity{
  position:relative;
  overflow:hidden;
  min-height:34mm;
  padding:6mm;
  border:none;
  border-radius:10mm;
  box-shadow:0 14px 26px rgba(21,33,51,.09);
}
.csl-v2089-forum-activity::before{
  content:"";
  position:absolute;
  right:-6mm;
  top:-6mm;
  width:22mm;
  height:22mm;
  border-radius:999px;
  background:rgba(255,255,255,.34);
}
.csl-v2089-forum-activity::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2.2mm;
  background:var(--accent);
}
.csl-v2089-forum-activity:nth-child(odd){transform:rotate(-1deg)}
.csl-v2089-forum-activity:nth-child(even){transform:rotate(1deg)}
.csl-v2089-forum-activity strong{
  position:relative;
  z-index:1;
  font-size:5.45mm;
  line-height:1.05;
}
.csl-v2089-forum-activity span{
  position:relative;
  z-index:1;
  margin-top:2.6mm;
  font-weight:700;
  color:#2a3950;
}
.csl-v2089-forum-activity small{
  position:relative;
  z-index:1;
  margin-top:3.4mm;
  background:rgba(255,255,255,.88);
  box-shadow:0 6px 14px rgba(20,32,50,.08);
}

.csl-v2089-forum-side{gap:5.6mm}
.csl-v2089-forum-side-card{
  border:none;
  border-radius:10mm;
  background:#fff;
  box-shadow:0 14px 26px rgba(18,32,53,.08);
}
.csl-v2089-forum-side-card--qr{
  background:linear-gradient(160deg,#0f1d34 0%,#23416e 38%,#e03145 100%);
  text-align:center;
  color:#fff;
}
.csl-v2089-forum-side-card--qr span,
.csl-v2089-forum-side-card--qr strong,
.csl-v2089-forum-side-card--qr small{
  color:#fff!important;
}
.csl-v2089-forum-side-card--qr img{
  width:52mm;
  padding:3mm;
  border-radius:6mm;
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 14px 30px rgba(7,18,34,.2);
}
.csl-v2089-forum-side-card strong{font-size:6.2mm}
.csl-v2089-forum-prices{
  gap:2.8mm;
}
.csl-v2089-forum-prices li{
  border:none;
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
  box-shadow:inset 0 0 0 1px #e3ebf2,0 8px 18px rgba(19,36,63,.05);
}
.csl-v2089-forum-prices b{font-size:4.8mm}
.csl-v2089-forum-footer{
  position:relative;
  overflow:hidden;
  border-radius:10mm;
  background:linear-gradient(135deg,#172235 0%,#263f69 60%,#d91e31 135%);
  box-shadow:0 18px 32px rgba(16,29,49,.12);
}
.csl-v2089-forum-footer::before{
  content:"";
  position:absolute;
  left:6mm;
  top:4.5mm;
  width:16mm;
  height:1.5mm;
  border-radius:999px;
  background:#fff1a6;
}
.csl-v2089-forum-footer span{color:#ffd9d1}
.csl-v2089-forum-footer strong{font-size:5.45mm}
.csl-v2089-forum-footer em{color:#fff3b8}

.csl-v2089-landscape-topline{
  background:linear-gradient(135deg,#172235 0%,#29466e 100%);
  box-shadow:0 12px 24px rgba(17,31,52,.11);
}
.csl-v2089-landscape-grid{
  grid-template-columns:1.2fr .62fr;
  gap:9mm;
}
.csl-v2089-landscape-main{
  position:relative;
  overflow:hidden;
  grid-template-columns:.78fr 1fr;
  padding:11mm;
  border:none;
  border-radius:16mm;
  background:linear-gradient(135deg,#101d34 0%,#24416d 35%,#5c42dd 68%,#ff4054 100%);
  box-shadow:0 22px 46px rgba(16,30,51,.16);
}
.csl-v2089-landscape-logo-wrap{
  border:none;
  border-radius:14mm;
  background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.84) 100%);
  box-shadow:0 18px 32px rgba(10,20,36,.14);
  transform:rotate(-2deg);
}
.csl-v2089-landscape-copy h2{
  font-size:16.8mm;
  letter-spacing:-.16mm;
}
.csl-v2089-landscape-copy p{
  color:#ffe3dc;
  font-size:5.9mm;
}
.csl-v2089-landscape-hook{
  margin-top:7mm;
  font-size:11.4mm;
  line-height:1.04;
  color:#fff3b8;
}
.csl-v2089-landscape-cta{
  border:none;
  border-radius:16mm;
  background:linear-gradient(180deg,#fff6ef 0%,#ffffff 100%);
  box-shadow:0 18px 34px rgba(19,36,63,.1);
}
.csl-v2089-landscape-cta::before{
  content:"SCANNEZ-MOI";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:3.5mm;
  padding:2.4mm 4.2mm;
  border-radius:999px;
  background:#172235;
  color:#fff;
  font-size:3.1mm;
  font-weight:900;
  letter-spacing:.14em;
}
.csl-v2089-landscape-qr-wrap{
  padding:5.6mm;
  border-radius:9mm;
  box-shadow:0 16px 28px rgba(16,28,49,.12);
}
.csl-v2089-landscape-qr-wrap img{width:78mm}
.csl-v2089-landscape-cta strong{font-size:9.6mm}
.csl-v2089-landscape-cta small{font-size:4.3mm}
.csl-v2089-landscape-footer{
  gap:4.6mm;
}
.csl-v2089-landscape-footer>div{
  position:relative;
  overflow:hidden;
  border:none;
  border-radius:8mm;
  box-shadow:0 14px 24px rgba(19,36,63,.06);
}
.csl-v2089-landscape-footer>div::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  width:100%;
  height:1.8mm;
  background:linear-gradient(90deg,#ff4154 0%,#ffd15f 52%,#52d5ff 100%);
}
.csl-v2089-landscape-footer strong{font-size:4.6mm}

@media (max-width: 860px){
  .csl-v2089-forum-activity:nth-child(odd),
  .csl-v2089-forum-activity:nth-child(even),
  .csl-v2089-forum-logo-card,
  .csl-v2089-landscape-logo-wrap{transform:none}
  .csl-v2089-forum-hero,
  .csl-v2089-landscape-main{padding:26px;border-radius:24px}
}

/* === V2.0.93 : trois choix d'affiches forum === */
.csl-v2093-forum-picker{grid-template-columns:repeat(3,minmax(0,1fr))}
.csl-v2093-forum-choice{overflow:hidden}
.csl-v2093-forum-choice::before{
  content:"";
  position:absolute;
  right:-40px;
  top:-40px;
  width:130px;
  height:130px;
  border-radius:999px;
  opacity:.22;
  pointer-events:none;
}
.csl-v2093-forum-choice--fun{background:linear-gradient(180deg,#fff 0%,#fff7f8 52%,#fffaf2 100%)}
.csl-v2093-forum-choice--fun::before{background:radial-gradient(circle at center,#ff5574 0%,rgba(255,85,116,0) 70%)}
.csl-v2093-forum-choice--premium{background:linear-gradient(180deg,#fffdfa 0%,#f8f5ef 100%)}
.csl-v2093-forum-choice--premium::before{background:radial-gradient(circle at center,#b99847 0%,rgba(185,152,71,0) 70%)}
.csl-v2093-forum-choice--sport{background:linear-gradient(180deg,#f8fbff 0%,#f3f7ff 50%,#eef5ff 100%)}
.csl-v2093-forum-choice--sport::before{background:radial-gradient(circle at center,#2962ff 0%,rgba(41,98,255,0) 70%)}
.csl-v2093-forum-choice__actions{display:flex;flex-wrap:wrap;gap:10px}
.csl-v2093-forum-choice__actions .csl-reg-button{flex:1 1 220px;justify-content:center}

.csl-v2089-forum-poster.csl-v2093-style--premium{
  background:linear-gradient(180deg,#fffdfa 0%,#fbf8f1 50%,#f6f1e6 100%);
}
.csl-v2089-forum-poster.csl-v2093-style--premium::before{background:radial-gradient(circle at center,rgba(194,156,83,.15),rgba(194,156,83,0) 72%)}
.csl-v2089-forum-poster.csl-v2093-style--premium::after{background:radial-gradient(circle at center,rgba(55,89,139,.14),rgba(55,89,139,0) 72%)}
.csl-v2089-forum-poster.csl-v2093-style--premium .csl-v2089-forum-hero,
.csl-v2089-forum-poster.csl-v2093-style--premium .csl-v2089-landscape-main{
  background:linear-gradient(135deg,#1b2434 0%,#30415f 44%,#6b5631 100%);
}
.csl-v2089-forum-poster.csl-v2093-style--premium .csl-v2089-forum-pill{color:#7c5a23}
.csl-v2089-forum-poster.csl-v2093-style--premium .csl-v2089-forum-quicklist span,
.csl-v2089-forum-poster.csl-v2093-style--premium .csl-v2089-landscape-chips span{background:#f6ebc8;color:#3c2f1d}
.csl-v2089-forum-poster.csl-v2093-style--premium .csl-v2089-forum-side-card--qr{
  background:linear-gradient(160deg,#1b2434 0%,#4b658c 38%,#9a6b27 100%);
}
.csl-v2089-forum-poster.csl-v2093-style--premium .csl-v2089-forum-footer,
.csl-v2089-forum-poster.csl-v2093-style--premium .csl-v2089-landscape-topline{background:linear-gradient(135deg,#1d2432 0%,#3f587e 50%,#8f6729 100%)}
.csl-v2089-forum-poster.csl-v2093-style--premium .csl-v2089-forum-activity,
.csl-v2089-forum-poster.csl-v2093-style--premium .csl-v2089-landscape-footer>div{
  box-shadow:0 14px 26px rgba(63,52,30,.10);
}

.csl-v2089-forum-poster.csl-v2093-style--sport{
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 32%,#eff5ff 100%);
}
.csl-v2089-forum-poster.csl-v2093-style--sport::before{background:radial-gradient(circle at center,rgba(255,73,96,.17),rgba(255,73,96,0) 72%)}
.csl-v2089-forum-poster.csl-v2093-style--sport::after{background:radial-gradient(circle at center,rgba(57,164,255,.18),rgba(57,164,255,0) 72%)}
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-hero,
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-landscape-main{
  background:linear-gradient(125deg,#0f1d34 0%,#154e91 32%,#2277d9 60%,#ff314e 100%);
}
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-hero,
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-landscape-main{transform:skewY(-1.2deg)}
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-hero > *,
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-landscape-main > *{transform:skewY(1.2deg)}
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-pill{color:#ff2947}
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-quicklist span:nth-child(1),
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-landscape-chips span:nth-child(1){background:#dff6ff}
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-quicklist span:nth-child(2),
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-landscape-chips span:nth-child(2){background:#fff3a8}
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-quicklist span:nth-child(3),
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-landscape-chips span:nth-child(3),
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-landscape-chips span:nth-child(4){background:#ffd7de}
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-side-card--qr{
  background:linear-gradient(160deg,#0f1d34 0%,#14569f 38%,#ff314e 100%);
}
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-footer,
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-landscape-topline{background:linear-gradient(135deg,#10203a 0%,#165ea9 48%,#ff314e 100%)}
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-activity{border-left:3px solid rgba(17,31,52,.14)}
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-landscape-footer>div::before{background:linear-gradient(90deg,#2277d9 0%,#5de1ff 35%,#ff314e 100%)}

@media (max-width: 1100px){
  .csl-v2093-forum-picker{grid-template-columns:1fr}
}
@media (max-width: 860px){
  .csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-hero,
  .csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-landscape-main,
  .csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-hero > *,
  .csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-landscape-main > *{transform:none}
}


/* === V2.0.95 : contraste renforcé sur les affiches forum === */
.csl-v2089-forum-hero h2,
.csl-v2089-forum-hero p,
.csl-v2089-forum-meta strong,
.csl-v2089-forum-meta span,
.csl-v2089-forum-brand-copy strong,
.csl-v2089-forum-brand-copy small,
.csl-v2089-forum-side-card--qr span,
.csl-v2089-forum-side-card--qr strong,
.csl-v2089-forum-side-card--qr small,
.csl-v2089-forum-footer span,
.csl-v2089-forum-footer strong,
.csl-v2089-forum-footer em,
.csl-v2089-landscape-main .csl-v2089-forum-pill,
.csl-v2089-landscape-copy h2,
.csl-v2089-landscape-copy p,
.csl-v2089-landscape-hook,
.csl-v2089-landscape-topline,
.csl-v2089-landscape-topline strong,
.csl-v2089-landscape-topline span{
  color:#fff !important;
  text-shadow:0 2px 8px rgba(6,12,22,.22);
}

.csl-v2089-forum-hero p,
.csl-v2089-landscape-copy p{
  color:rgba(255,255,255,.96) !important;
}

.csl-v2089-forum-meta span,
.csl-v2089-forum-brand-copy small,
.csl-v2089-forum-footer span{
  color:rgba(255,245,232,.97) !important;
}

.csl-v2089-landscape-hook,
.csl-v2089-forum-footer em{
  color:#fff3b8 !important;
}

.csl-v2089-forum-meta{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.22);
}

.csl-v2089-forum-side-card--qr,
.csl-v2089-forum-footer,
.csl-v2089-landscape-topline{
  position:relative;
}
.csl-v2089-forum-side-card--qr::before,
.csl-v2089-forum-footer::after,
.csl-v2089-landscape-topline::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.05) 0%,rgba(255,255,255,0) 36%,rgba(0,0,0,.10) 100%);
  pointer-events:none;
}
.csl-v2089-forum-side-card--qr > *,
.csl-v2089-forum-footer > *,
.csl-v2089-landscape-topline > *{
  position:relative;
  z-index:1;
}

.csl-v2089-forum-pill{
  color:#be1932;
  font-weight:900;
}
.csl-v2089-landscape-main .csl-v2089-forum-pill{
  background:rgba(255,255,255,.18);
  border-color:rgba(255,255,255,.24);
}

.csl-v2089-forum-poster.csl-v2093-style--premium .csl-v2089-forum-pill{
  color:#fff7df !important;
  background:rgba(255,255,255,.14);
}
.csl-v2089-forum-poster.csl-v2093-style--premium .csl-v2089-forum-brand-copy small,
.csl-v2089-forum-poster.csl-v2093-style--premium .csl-v2089-forum-footer span,
.csl-v2089-forum-poster.csl-v2093-style--premium .csl-v2089-landscape-copy p{
  color:#fff1cf !important;
}
.csl-v2089-forum-poster.csl-v2093-style--premium .csl-v2089-landscape-hook,
.csl-v2089-forum-poster.csl-v2093-style--premium .csl-v2089-forum-footer em{
  color:#ffe4a1 !important;
}

.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-pill{
  color:#ffffff !important;
  background:rgba(255,255,255,.17);
}
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-meta span,
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-brand-copy small,
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-footer span,
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-landscape-copy p{
  color:#eef7ff !important;
}
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-landscape-hook,
.csl-v2089-forum-poster.csl-v2093-style--sport .csl-v2089-forum-footer em{
  color:#fff0a9 !important;
}

@media print{
  .csl-v2089-forum-hero h2,
  .csl-v2089-forum-hero p,
  .csl-v2089-forum-meta strong,
  .csl-v2089-forum-meta span,
  .csl-v2089-forum-brand-copy strong,
  .csl-v2089-forum-brand-copy small,
  .csl-v2089-forum-side-card--qr span,
  .csl-v2089-forum-side-card--qr strong,
  .csl-v2089-forum-side-card--qr small,
  .csl-v2089-forum-footer span,
  .csl-v2089-forum-footer strong,
  .csl-v2089-forum-footer em,
  .csl-v2089-landscape-copy h2,
  .csl-v2089-landscape-copy p,
  .csl-v2089-landscape-hook,
  .csl-v2089-landscape-topline,
  .csl-v2089-landscape-topline strong,
  .csl-v2089-landscape-topline span{
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }
}

/* === V2.0.96 : affiche A3 paysage logo simple === */
.csl-v2096-forum-choice--logo{
  position:relative;
  overflow:hidden;
  padding:26px;
  border-radius:28px;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border:1px solid rgba(20,33,51,.08);
  box-shadow:0 18px 40px rgba(16,33,58,.08);
}
.csl-v2096-forum-choice--logo::before{
  content:"";
  position:absolute;
  right:-40px;
  top:-40px;
  width:130px;
  height:130px;
  border-radius:999px;
  background:radial-gradient(circle at center,rgba(35,77,146,.18),rgba(35,77,146,0) 70%);
  pointer-events:none;
}

.csl-v2096-logo-poster{
  position:relative;
  overflow:hidden;
  width:min(100%,420mm);
  min-height:297mm;
  margin:0 auto;
  border-radius:24px;
  padding:16mm 18mm;
  background:linear-gradient(135deg,#ffffff 0%,#f7fbff 42%,#eef4ff 100%);
  border:1px solid rgba(21,33,51,.06);
  box-shadow:0 28px 70px rgba(12,25,45,.16);
  display:flex;
  align-items:center;
  justify-content:center;
}
.csl-v2096-logo-poster__halo{
  position:absolute;
  border-radius:999px;
  pointer-events:none;
}
.csl-v2096-logo-poster__halo--one{
  left:-18mm;
  top:-22mm;
  width:110mm;
  height:110mm;
  background:radial-gradient(circle at center,rgba(78,146,255,.18),rgba(78,146,255,0) 72%);
}
.csl-v2096-logo-poster__halo--two{
  right:-20mm;
  bottom:-24mm;
  width:130mm;
  height:130mm;
  background:radial-gradient(circle at center,rgba(221,31,50,.14),rgba(221,31,50,0) 72%);
}
.csl-v2096-logo-poster__inner{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:14mm;
  width:100%;
  text-align:center;
}
.csl-v2096-logo-poster__logo-wrap{
  width:100%;
  max-width:210mm;
  padding:10mm 14mm;
  border-radius:22mm;
  background:rgba(255,255,255,.92);
  box-shadow:0 22px 46px rgba(16,30,51,.10);
}
.csl-v2096-logo-poster__logo-wrap img{
  width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 12px 22px rgba(14,25,41,.12));
}
.csl-v2096-logo-poster h2{
  margin:0;
  font-size:22mm;
  line-height:1;
  letter-spacing:-.24mm;
  color:#172235;
}
@media (max-width: 860px){
  .csl-v2096-logo-poster{width:100%;min-height:auto;padding:28px;border-radius:24px}
  .csl-v2096-logo-poster__inner{gap:28px}
  .csl-v2096-logo-poster h2{font-size:48px}
}
@media print{
  .csl-registration-manager-forum-poster .csl-v2096-logo-poster{
    box-shadow:none!important;
    border-radius:0!important;
    width:auto!important;
    min-height:297mm!important;
    margin:0!important;
    padding:16mm 18mm!important;
  }
}


/* === V2.0.98 : impression A3 dans une fenêtre dédiée === */
@media print{
  .csl-v2089-forum-poster,.csl-v2096-logo-poster{box-sizing:border-box!important;margin:0!important;border-radius:0!important;box-shadow:none!important;-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}

/* === V2.0.99 : anti-troncature pour captures A3 === */
.csl-v2089-forum-hero > *,
.csl-v2089-landscape-main > *,
.csl-v2089-forum-hero__brand,
.csl-v2089-forum-hero__copy,
.csl-v2089-forum-logo-card,
.csl-v2089-landscape-logo-wrap,
.csl-v2089-landscape-copy,
.csl-v2089-landscape-cta{min-width:0;box-sizing:border-box}
.csl-v2089-forum-logo-card img,
.csl-v2089-landscape-logo-wrap img{
  display:block;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  object-fit:contain!important;
}
.csl-v2099-capture-poster{
  overflow:visible!important;
  max-height:none!important;
  height:auto!important;
  box-sizing:border-box!important;
}
.csl-v2099-capture-poster.csl-v2089-forum-poster--portrait{width:297mm!important;min-height:420mm!important;max-width:none!important}
.csl-v2099-capture-poster.csl-v2089-forum-poster--landscape,
.csl-v2099-capture-poster.csl-v2096-logo-poster{width:420mm!important;min-height:297mm!important;max-width:none!important}

/* Capture A3 indépendante de la largeur de l'iPad/iPhone. */
.csl-v2099-capture-poster .csl-v2089-forum-hero{display:grid!important;grid-template-columns:1.2fr .8fr!important;gap:12mm!important;padding:14mm!important;border-radius:20mm!important}
.csl-v2099-capture-poster .csl-v2089-forum-content{display:grid!important;grid-template-columns:1.26fr .74fr!important;gap:10mm!important}
.csl-v2099-capture-poster .csl-v2089-forum-activity-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5.8mm!important}
.csl-v2099-capture-poster .csl-v2089-forum-prices{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}
.csl-v2099-capture-poster .csl-v2089-forum-footer{display:flex!important;flex-direction:row!important;align-items:end!important}
.csl-v2099-capture-poster .csl-v2089-landscape-grid{display:grid!important;grid-template-columns:1.2fr .62fr!important;gap:9mm!important}
.csl-v2099-capture-poster .csl-v2089-landscape-main{display:grid!important;grid-template-columns:.78fr 1fr!important;gap:9mm!important;padding:11mm!important;border-radius:16mm!important}
.csl-v2099-capture-poster .csl-v2089-landscape-footer{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important}


/* === V2.0.100 : affiche logo simple A3 paysage, logo géant === */
.csl-v2096-logo-poster{
  padding:10mm 12mm;
}
.csl-v2096-logo-poster__inner{
  gap:7mm;
}
.csl-v2096-logo-poster__logo-wrap{
  width:min(100%, 336mm);
  max-width:336mm;
  padding:6mm 8mm;
  border-radius:18mm;
  box-shadow:0 18px 38px rgba(16,30,51,.08);
}
.csl-v2096-logo-poster__logo-wrap img{
  width:100%;
  max-height:205mm;
  object-fit:contain;
}
.csl-v2096-logo-poster h2{
  font-size:15.5mm;
  line-height:.96;
  letter-spacing:-.18mm;
}
@media (max-width: 860px){
  .csl-v2096-logo-poster{padding:22px;}
  .csl-v2096-logo-poster__inner{gap:18px}
  .csl-v2096-logo-poster__logo-wrap{width:100%;max-width:none;padding:14px 16px;border-radius:20px}
  .csl-v2096-logo-poster__logo-wrap img{max-height:none}
  .csl-v2096-logo-poster h2{font-size:38px}
}
@media print{
  .csl-registration-manager-forum-poster .csl-v2096-logo-poster{
    padding:10mm 12mm!important;
  }
  .csl-registration-manager-forum-poster .csl-v2096-logo-poster__logo-wrap{
    width:336mm!important;
    max-width:336mm!important;
    padding:6mm 8mm!important;
  }
  .csl-registration-manager-forum-poster .csl-v2096-logo-poster__logo-wrap img{
    max-height:205mm!important;
  }
  .csl-registration-manager-forum-poster .csl-v2096-logo-poster h2{
    font-size:15.5mm!important;
  }
}

/* === V2.1.0 : repère libre dans la vue générale des dossiers === */
.csl-v210-marker-panel{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);
  gap:18px;
  align-items:center;
  margin:14px 0 16px;
  padding:18px 20px;
  border:1px solid #dce4ee;
  border-radius:22px;
  background:linear-gradient(135deg,#f8fbff 0%,#fff 62%,#fff8f6 100%);
  box-shadow:0 10px 24px rgba(20,35,58,.06);
}
.csl-v210-marker-panel__copy h3{margin:4px 0 5px;font-size:20px;line-height:1.1;color:#172235}
.csl-v210-marker-panel__copy p{margin:0;max-width:760px;color:#5b6878;font-size:13px;line-height:1.55}
.csl-v210-marker-panel__form{display:flex;flex-direction:column;gap:10px}
.csl-v210-marker-panel__form>label{display:flex;flex-direction:column;gap:6px}
.csl-v210-marker-panel__form>label>span{font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#687587}
.csl-v210-marker-panel__form input[type="text"]{width:100%;min-height:44px;padding:10px 12px;border:1px solid #cfd9e5;border-radius:13px;background:#fff;color:#172235;font:inherit;font-weight:750}
.csl-v210-marker-panel__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px}
.csl-v210-marker-count{margin-right:auto;display:inline-flex;align-items:center;gap:5px;color:#607083;font-size:12px;font-weight:800}
.csl-v210-marker-count strong{display:inline-flex;min-width:28px;height:28px;padding:0 8px;align-items:center;justify-content:center;border-radius:999px;background:#172235;color:#fff;font-size:12px}
.csl-v210-marker-notice{margin:-7px 0 12px;padding:10px 13px;border-radius:13px;background:#eaf8f1;color:#1d6547;font-size:12px;font-weight:800}
.csl-v210-marker-col{width:90px;text-align:center!important}
.csl-v210-marker-table thead .csl-v210-marker-col{max-width:120px;font-size:10px;line-height:1.15;white-space:normal}
.csl-v210-marker-check{display:inline-flex;align-items:center;justify-content:center;width:42px;height:34px;margin:auto;cursor:pointer}
.csl-v210-marker-check input{position:absolute;opacity:0;pointer-events:none}
.csl-v210-marker-check>span{position:relative;display:block;width:26px;height:26px;border-radius:8px;border:2px solid #aebac9;background:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);transition:all .15s ease}
.csl-v210-marker-check input:checked+span{border-color:#d61f35;background:linear-gradient(135deg,#d7192d 0%,#f25360 100%);box-shadow:0 6px 13px rgba(215,25,45,.22)}
.csl-v210-marker-check input:checked+span::after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:16px;font-weight:950;line-height:1}
.csl-v210-marker-check input:focus-visible+span{outline:3px solid rgba(45,116,218,.22);outline-offset:2px}
.csl-v210-marker-check input:disabled+span{opacity:.55;cursor:wait}
.csl-v210-marker-row--checked>td{background-image:linear-gradient(rgba(255,244,246,.64),rgba(255,244,246,.64))}
.csl-v210-marker-row--checked>td:first-child{box-shadow:inset 4px 0 0 #d7192d}
@media(max-width:900px){
  .csl-v210-marker-panel{grid-template-columns:1fr;align-items:stretch}
  .csl-v210-marker-panel__actions{justify-content:flex-start}
  .csl-v210-marker-count{margin-right:0}
}
@media(max-width:720px){
  .csl-v210-marker-panel{padding:15px;border-radius:18px}
  .csl-v210-marker-panel__actions .csl-reg-button{flex:1 1 150px}
  .csl-v210-marker-col{width:auto;text-align:left!important}
  .csl-v210-marker-check{margin-left:0}
}
@media(prefers-color-scheme:dark){
  .csl-v210-marker-panel{border-color:#334153;background:linear-gradient(135deg,#172130 0%,#1b2737 70%,#2b2027 100%);box-shadow:0 12px 28px rgba(0,0,0,.22)}
  .csl-v210-marker-panel__copy h3{color:#f5f7fa}
  .csl-v210-marker-panel__copy p,.csl-v210-marker-count{color:#bac4d1}
  .csl-v210-marker-panel__form>label>span{color:#b8c2cf}
  .csl-v210-marker-panel__form input[type="text"]{border-color:#435269;background:#111a26;color:#fff}
  .csl-v210-marker-count strong{background:#f3f5f8;color:#172235}
  .csl-v210-marker-notice{background:#173326;color:#bdebd2}
  .csl-v210-marker-check>span{background:#111a26;border-color:#68778a}
  .csl-v210-marker-row--checked>td{background-image:linear-gradient(rgba(107,26,38,.18),rgba(107,26,38,.18))}
}

/* === V2.1.1 : action Informé + message individuel === */
.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--confirmation{
    border-color:#27715a;
    background:#3b9673;
}
.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--confirmation::before{
    content:"✓";
    font-size:11px;
}
.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--confirmation.is-complete{
    border-color:#27654f;
    background:#43856a;
}
.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--mail{
    border-color:#74359a;
    background:linear-gradient(135deg,#8d43b1 0%,#a932b5 100%);
}
.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--mail::before{
    content:"✉";
    font-size:11px;
}

/* === V2.1.2 : page Paiements === */
.csl-v212-payments-page{padding-bottom:48px}
.csl-v212-payments-shell{display:flex;flex-direction:column;gap:20px}
.csl-v212-payments-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;padding:26px;border-radius:30px;background:linear-gradient(135deg,#111f34 0%,#1d4266 58%,#167b6f 120%);color:#fff;box-shadow:0 24px 58px rgba(13,29,49,.16)}
.csl-v212-payments-hero h1{margin:7px 0 8px;color:#fff;font-size:38px;line-height:1}
.csl-v212-payments-hero p{margin:0;max-width:720px;color:rgba(255,255,255,.86);font-size:15px;line-height:1.55}
.csl-v212-payments-hero .csl-reg-kicker{color:#a7f2dc}
.csl-v212-payments-hero .csl-reg-back{color:#fff;background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.16)}
.csl-v212-payments-stats{display:grid;grid-template-columns:repeat(3,minmax(96px,1fr));gap:10px}
.csl-v212-payments-stats span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:78px;padding:12px 14px;border-radius:20px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.13);color:#fff;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.csl-v212-payments-stats b{font-size:25px;line-height:1.1;color:#fff}
.csl-v212-payments-stats .is-paid{background:rgba(38,196,132,.18)}
.csl-v212-payments-stats .is-informed{background:rgba(80,157,255,.18)}
.csl-v212-payments-notice{padding:14px 18px;border-radius:18px;font-weight:800;border:1px solid transparent}
.csl-v212-payments-notice.is-success{background:#e9fbf3;border-color:#b6ead2;color:#176346}
.csl-v212-payments-notice.is-error{background:#fff0f1;border-color:#f2c6cb;color:#a71d2b}
.csl-v212-payments-search{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;padding:14px;border-radius:22px;background:#fff;border:1px solid #e3e9ef;box-shadow:0 12px 30px rgba(17,31,52,.05)}
.csl-v212-payments-search label{min-width:0}
.csl-v212-payments-search input[type="search"]{width:100%;min-height:48px;border:1px solid #d9e1e9;border-radius:16px;background:#f9fbfd;padding:0 16px;font-size:16px;color:#172235}
.csl-v212-payments-list{display:flex;flex-direction:column;gap:10px}
.csl-v212-payments-empty{padding:36px;text-align:center;border-radius:24px;background:#fff;border:1px solid #e3e9ef;color:#647184}
.csl-v212-payment-card{overflow:hidden;border:1px solid #e2e8ef;border-radius:24px;background:#fff;box-shadow:0 10px 26px rgba(17,31,52,.045)}
.csl-v212-payment-card[open]{box-shadow:0 18px 42px rgba(17,31,52,.09);border-color:#cfd9e4}
.csl-v212-payment-card>summary{display:grid;grid-template-columns:minmax(230px,1.2fr) minmax(180px,.8fr) auto 28px;gap:20px;align-items:center;padding:17px 20px;cursor:pointer;list-style:none}
.csl-v212-payment-card>summary::-webkit-details-marker{display:none}
.csl-v212-payment-person{display:flex;align-items:center;gap:12px;min-width:0}
.csl-v212-payment-person>div{min-width:0}
.csl-v212-payment-person strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#172235;font-size:17px}
.csl-v212-payment-person small{display:block;margin-top:3px;color:#7c8896;font-size:11px;font-weight:800;letter-spacing:.04em}
.csl-v212-payment-dot{width:16px;height:16px;flex:0 0 16px;border-radius:999px;background:#d63c4d;box-shadow:0 0 0 6px #fff0f2}
.csl-v212-payment-card.is-partial .csl-v212-payment-dot{background:#e59a1d;box-shadow:0 0 0 6px #fff7e7}
.csl-v212-payment-card.is-scheduled .csl-v212-payment-dot{background:#3a7bc7;box-shadow:0 0 0 6px #edf5ff}
.csl-v212-payment-card.is-complete .csl-v212-payment-dot,.csl-v212-payment-card.is-bureau .csl-v212-payment-dot,.csl-v212-payment-card.is-zero .csl-v212-payment-dot{background:#1b9a66;box-shadow:0 0 0 6px #e8f8f1}
.csl-v212-payment-money{min-width:0}
.csl-v212-payment-money>div:first-child{display:flex;align-items:baseline;gap:4px}
.csl-v212-payment-money b{font-size:17px;color:#172235}
.csl-v212-payment-money span,.csl-v212-payment-money small{color:#7b8795;font-size:12px}
.csl-v212-payment-progress{height:7px;margin:7px 0 5px;border-radius:999px;background:#edf1f5;overflow:hidden}
.csl-v212-payment-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#db3d4d 0%,#e2a024 46%,#1b9a66 100%)}
.csl-v212-payment-mail{display:inline-flex;align-items:center;gap:8px;justify-content:center;padding:9px 12px;border-radius:999px;font-size:12px;white-space:nowrap}
.csl-v212-payment-mail.is-pending{background:#f1f4f7;color:#677585}
.csl-v212-payment-mail.is-sent{background:#e8f8f1;color:#166d4c}
.csl-v212-payment-mail span{display:grid;place-items:center;width:21px;height:21px;border-radius:999px;background:rgba(255,255,255,.74);font-weight:900}
.csl-v212-payment-open{font-size:20px;color:#718090;transition:transform .18s ease}
.csl-v212-payment-card[open] .csl-v212-payment-open{transform:rotate(180deg)}
.csl-v212-payment-panel{padding:0 20px 20px;border-top:1px solid #eef1f4;background:linear-gradient(180deg,#fbfcfe 0%,#fff 100%)}
.csl-v212-payment-meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;padding:14px 0;color:#6f7b89;font-size:12px}
.csl-v212-payment-meta span{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border-radius:999px;background:#f1f5f8}
.csl-v212-payment-meta a{margin-left:auto;color:#176f9b;font-weight:800;text-decoration:none}
.csl-v212-payment-history{margin-bottom:16px;padding:14px 16px;border-radius:18px;background:#f6f9fb;border:1px solid #e3e9ef}
.csl-v212-payment-history h3{margin:0 0 10px;font-size:14px;color:#24344b}
.csl-v212-payment-history-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #e5ebf0}
.csl-v212-payment-history-row:first-of-type{border-top:0}
.csl-v212-payment-history-row>div{min-width:0}
.csl-v212-payment-history-row strong{display:block;color:#172235;font-size:13px}
.csl-v212-payment-history-row small{display:block;margin-top:3px;color:#738091;font-size:11px;line-height:1.4}
.csl-v212-payment-remove{border:0;background:#fff0f1;color:#b12431;border-radius:12px;padding:8px 10px;font-size:11px;font-weight:900;cursor:pointer}
.csl-v212-cheque-match{display:inline-flex;margin-top:6px;padding:5px 8px;border-radius:999px;font-size:10px;font-style:normal;font-weight:900}
.csl-v212-cheque-match.is-match{background:#e3f7ee;color:#17714e}
.csl-v212-cheque-match.is-mismatch{background:#fff0e7;color:#a64b15}
.csl-v212-cheque-match.is-unknown{background:#eef2f6;color:#697686}
.csl-v212-payment-actions-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:16px;align-items:start}
.csl-v212-payment-add,.csl-v212-payment-finalize{padding:18px;border-radius:20px;background:#fff;border:1px solid #dfe6ed;box-shadow:0 10px 24px rgba(17,31,52,.04)}
.csl-v212-payment-add-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}
.csl-v212-payment-add-head h3,.csl-v212-payment-finalize h3{margin:4px 0 0;color:#172235;font-size:20px}
.csl-v212-payment-remaining{display:inline-flex;padding:7px 10px;border-radius:999px;background:#f0f5f8;color:#506174;font-size:11px;font-weight:900}
.csl-v212-payment-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.csl-v212-payment-fields label,.csl-v212-cheque-row label{display:flex;flex-direction:column;gap:6px;color:#34445a;font-size:11px;font-weight:900}
.csl-v212-payment-fields input,.csl-v212-payment-fields select,.csl-v212-cheque-row input{width:100%;min-height:44px;border:1px solid #d4dde6;border-radius:13px;background:#fbfdff;padding:0 12px;color:#172235;font:inherit;font-size:14px}
.csl-v212-euro-field{position:relative}
.csl-v212-euro-field input{padding-right:30px}
.csl-v212-euro-field b{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#627083}
.csl-v212-cheque-fields{margin:12px 0;padding:14px;border-radius:18px;background:#fff9ec;border:1px solid #f1dfb5}
.csl-v212-cheque-row{display:grid;grid-template-columns:1fr 1.25fr;gap:10px}
.csl-v212-cheque-count{display:flex;align-items:flex-start;gap:10px;margin-top:10px;padding:10px 12px;border-radius:14px;background:#fff}
.csl-v212-cheque-count input{margin-top:2px;width:18px;height:18px}
.csl-v212-cheque-count strong,.csl-v212-cheque-count small{display:block}
.csl-v212-cheque-count small{margin-top:2px;color:#7f704e;font-size:10px;line-height:1.4}
.csl-v212-cheque-identity{margin-top:8px;min-height:0;font-size:11px;font-weight:900}
.csl-v212-cheque-identity.is-match{color:#19704f}
.csl-v212-cheque-identity.is-mismatch{color:#ac5118}
.csl-v212-payment-finalize p{color:#667484;font-size:13px;line-height:1.5}
.csl-v212-informed-button{width:100%;border:0;border-radius:16px;padding:14px 16px;background:linear-gradient(135deg,#12855a 0%,#19a66e 100%);color:#fff;font-weight:900;font-size:14px;cursor:pointer;box-shadow:0 10px 20px rgba(25,142,96,.18)}
.csl-v212-final-state{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:16px}
.csl-v212-final-state strong{font-size:14px}
.csl-v212-final-state span{font-size:11px;line-height:1.45}
.csl-v212-final-state.is-done{background:#e7f8f0;color:#176949}
.csl-v212-final-state.is-wait{background:#f1f4f7;color:#607083}

@media (max-width:1100px){
  .csl-v212-payments-hero{grid-template-columns:1fr}
  .csl-v212-payments-stats{max-width:430px}
  .csl-v212-payment-card>summary{grid-template-columns:minmax(200px,1fr) minmax(170px,.7fr) auto 24px;gap:14px}
  .csl-v212-payment-actions-grid{grid-template-columns:1fr}
  .csl-v212-payment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .csl-v212-payments-page{padding-bottom:24px}
  .csl-v212-payments-hero{padding:20px;border-radius:24px}
  .csl-v212-payments-hero h1{font-size:32px}
  .csl-v212-payments-stats{grid-template-columns:repeat(3,1fr);width:100%;gap:7px}
  .csl-v212-payments-stats span{min-height:66px;padding:9px 6px;font-size:9px}
  .csl-v212-payments-stats b{font-size:20px}
  .csl-v212-payments-search{grid-template-columns:1fr 1fr;padding:10px}
  .csl-v212-payments-search label{grid-column:1/-1}
  .csl-v212-payment-card{border-radius:20px}
  .csl-v212-payment-card>summary{grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:15px}
  .csl-v212-payment-person{grid-column:1}
  .csl-v212-payment-money{grid-column:1}
  .csl-v212-payment-mail{grid-column:2;grid-row:1/3;align-self:center}
  .csl-v212-payment-open{display:none}
  .csl-v212-payment-panel{padding:0 14px 14px}
  .csl-v212-payment-meta a{width:100%;margin-left:0}
  .csl-v212-payment-fields,.csl-v212-cheque-row{grid-template-columns:1fr}
  .csl-v212-payment-add,.csl-v212-payment-finalize{padding:15px}
}
@media (prefers-color-scheme:dark){
  .csl-v212-payments-search,.csl-v212-payment-card,.csl-v212-payment-add,.csl-v212-payment-finalize{background:#17202c;border-color:#2d3947;color:#edf3f8}
  .csl-v212-payments-search input[type="search"],.csl-v212-payment-fields input,.csl-v212-payment-fields select,.csl-v212-cheque-row input{background:#111923;border-color:#344252;color:#f5f8fb}
  .csl-v212-payment-person strong,.csl-v212-payment-money b,.csl-v212-payment-add-head h3,.csl-v212-payment-finalize h3,.csl-v212-payment-history-row strong{color:#f5f8fb}
  .csl-v212-payment-person small,.csl-v212-payment-money span,.csl-v212-payment-money small,.csl-v212-payment-meta,.csl-v212-payment-history-row small{color:#aeb9c5}
  .csl-v212-payment-panel{background:linear-gradient(180deg,#141c26 0%,#17202c 100%);border-color:#2a3542}
  .csl-v212-payment-meta span,.csl-v212-payment-remaining{background:#222d39;color:#c5cfda}
  .csl-v212-payment-history{background:#121a24;border-color:#2b3744}
  .csl-v212-payment-history-row{border-color:#2b3744}
  .csl-v212-payment-progress{background:#2b3541}
  .csl-v212-cheque-fields{background:#2a2518;border-color:#4b4125}
  .csl-v212-payment-mail.is-pending,.csl-v212-final-state.is-wait{background:#252f3a;color:#b9c5d0}
  .csl-v212-payment-mail.is-sent,.csl-v212-final-state.is-done{background:#153a2c;color:#9fe1c2}
  .csl-v212-payments-empty{background:#17202c;border-color:#2d3947;color:#aeb9c5}
}

/* === V2.1.3 : annulation individuelle et groupée avec mail obligatoire === */
.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--cancel{
  border-color:#9a2634;
  background:linear-gradient(135deg,#c53a4c 0%,#a9192d 100%);
}
.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--cancel::before{content:"×";font-size:15px}
.csl-registration--manager .csl-reg-table__actions .csl-reg-action-button--cancel.is-complete{opacity:.72}
.csl-v213-cancel-group-link{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border-radius:13px;background:#fff0f1;border:1px solid #efc8cd;color:#a51f31!important;font-size:12px;font-weight:900;text-decoration:none!important;white-space:nowrap}
.csl-v213-cancel-group-link>span:first-child{display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:8px;background:#b8273b;color:#fff;font-size:16px}
.csl-v213-cancel-tool{padding-bottom:48px}
.csl-v213-cancel-shell{display:flex;flex-direction:column;gap:20px}
.csl-v213-cancel-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:start;padding:26px;border-radius:30px;background:linear-gradient(135deg,#182437 0%,#6d2636 58%,#c13243 120%);color:#fff;box-shadow:0 24px 58px rgba(13,29,49,.16)}
.csl-v213-cancel-head .csl-reg-back{color:#fff;background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.15)}
.csl-v213-cancel-head .csl-reg-kicker{color:#ffd3d9}
.csl-v213-cancel-head h1{margin:6px 0 8px;font-size:38px;line-height:1;color:#fff}
.csl-v213-cancel-head p{margin:0;max-width:820px;color:rgba(255,255,255,.9);line-height:1.55}
.csl-v213-cancel-activity-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;padding:18px;border-radius:22px;background:#fff;border:1px solid #e3e8ed;box-shadow:0 12px 30px rgba(17,31,52,.06)}
.csl-v213-cancel-activity-picker label,.csl-v213-cancel-compose label{display:flex;flex-direction:column;gap:7px;color:#263547;font-weight:800}
.csl-v213-cancel-activity-picker select,.csl-v213-cancel-compose input,.csl-v213-cancel-compose textarea{width:100%;border:1px solid #d6dee7;border-radius:15px;background:#fbfcfe;color:#1d2b3c;padding:13px 14px;font:inherit}
.csl-v213-cancel-form{display:flex;flex-direction:column;gap:18px}
.csl-v213-cancel-card{padding:22px;border-radius:26px;background:#fff;border:1px solid #e3e8ed;box-shadow:0 14px 36px rgba(17,31,52,.06)}
.csl-v213-cancel-card__head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:14px}
.csl-v213-cancel-card__head h2,.csl-v213-cancel-compose h2{margin:5px 0 0;color:#182538;font-size:27px;line-height:1.05}
.csl-v213-cancel-card__head>strong{display:flex;align-items:center;justify-content:center;min-width:48px;height:48px;border-radius:16px;background:#fff0f1;color:#b02135;font-size:21px}
.csl-v213-cancel-list{display:flex;flex-direction:column;gap:8px}
.csl-v213-cancel-row{display:grid;grid-template-columns:30px minmax(0,1fr) minmax(170px,.75fr);gap:12px;align-items:center;padding:13px 14px;border:1px solid #e4e9ee;border-radius:17px;background:#fbfcfd;cursor:pointer}
.csl-v213-cancel-row:hover{border-color:#d4adb3;background:#fff9f9}
.csl-v213-cancel-row input{position:absolute;opacity:0;pointer-events:none}
.csl-v213-cancel-check{display:flex;width:25px;height:25px;border-radius:8px;border:2px solid #8f9bad;background:#fff;align-items:center;justify-content:center}
.csl-v213-cancel-row input:checked+.csl-v213-cancel-check{background:#bd263a;border-color:#bd263a}
.csl-v213-cancel-row input:checked+.csl-v213-cancel-check::after{content:"✓";color:#fff;font-weight:900}
.csl-v213-cancel-person{display:flex;flex-direction:column;gap:3px;min-width:0}
.csl-v213-cancel-person strong{color:#1c2a3b;font-size:15px}
.csl-v213-cancel-person small,.csl-v213-cancel-email{color:#687686;font-size:12px;line-height:1.35}
.csl-v213-cancel-email{text-align:right;overflow-wrap:anywhere}
.csl-v213-cancel-row.has-no-email{opacity:.58;cursor:not-allowed;background:#f4f5f6}
.csl-v213-cancel-compose>p{margin:7px 0 15px;color:#667486;line-height:1.5}
.csl-v213-cancel-compose code{display:inline-block;padding:2px 5px;border-radius:6px;background:#f1f3f6;color:#7b2c38;font-size:11px}
.csl-v213-cancel-compose{display:flex;flex-direction:column;gap:14px}
.csl-v213-cancel-compose textarea{min-height:260px;resize:vertical;line-height:1.55}
.csl-v213-cancel-warning{display:flex;gap:10px;padding:13px 15px;border-radius:15px;background:#fff7e8;border:1px solid #f1d59f;color:#654916;font-size:13px;line-height:1.45}
.csl-v213-cancel-warning strong{white-space:nowrap}
.csl-v213-cancel-submit{display:flex;align-items:center;justify-content:center;min-height:52px;border:0;border-radius:16px;background:linear-gradient(135deg,#c73549 0%,#a7192d 100%);color:#fff;font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 12px 24px rgba(155,28,47,.18)}
.csl-v213-cancel-notice{display:flex;flex-direction:column;gap:3px;padding:15px 18px;border-radius:18px;border:1px solid transparent}
.csl-v213-cancel-notice.is-success{background:#eaf9f1;border-color:#bfe7d2;color:#196346}
.csl-v213-cancel-notice.is-error{background:#fff0f1;border-color:#efc5ca;color:#a31f30}
@media(max-width:860px){
 .csl-v213-cancel-head{grid-template-columns:1fr}.csl-v213-cancel-head h1{font-size:31px}
 .csl-v213-cancel-activity-picker{grid-template-columns:1fr}
 .csl-v213-cancel-row{grid-template-columns:30px minmax(0,1fr)}
 .csl-v213-cancel-email{grid-column:2;text-align:left}
}
@media(prefers-color-scheme:dark){
 .csl-v213-cancel-group-link{background:#321a20;border-color:#63313b;color:#ffbdc6!important}
 .csl-v213-cancel-activity-picker,.csl-v213-cancel-card{background:#151f2c;border-color:#344153;box-shadow:0 12px 30px rgba(0,0,0,.2)}
 .csl-v213-cancel-activity-picker label,.csl-v213-cancel-compose label,.csl-v213-cancel-card__head h2,.csl-v213-cancel-compose h2,.csl-v213-cancel-person strong{color:#f3f6f9}
 .csl-v213-cancel-activity-picker select,.csl-v213-cancel-compose input,.csl-v213-cancel-compose textarea{background:#101925;border-color:#425168;color:#fff}
 .csl-v213-cancel-row{background:#111a26;border-color:#354255}.csl-v213-cancel-row:hover{background:#21191d;border-color:#75404a}
 .csl-v213-cancel-check{background:#101925;border-color:#6a788a}.csl-v213-cancel-person small,.csl-v213-cancel-email,.csl-v213-cancel-compose>p{color:#b9c3cf}
 .csl-v213-cancel-compose code{background:#24303f;color:#ffc3cb}.csl-v213-cancel-warning{background:#352b17;border-color:#66532b;color:#f3d79d}
 .csl-v213-cancel-row.has-no-email{background:#1a2028}.csl-v213-cancel-card__head>strong{background:#321a20;color:#ffb7c0}
}
.csl-v213-cancel-scope-warning{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border-radius:17px;background:#fff7e8;border:1px solid #efd39d;color:#69501d;font-size:13px;line-height:1.5}
.csl-v213-cancel-row.has-multiple-activities{border-color:#e0b160;background:#fffbf3}
.csl-v213-cancel-person strong em{display:inline-flex;margin-left:8px;padding:3px 7px;border-radius:999px;background:#f3c76f;color:#5e4314;font-size:9px;font-style:normal;font-weight:900;text-transform:uppercase;letter-spacing:.05em;vertical-align:middle}
@media(prefers-color-scheme:dark){.csl-v213-cancel-scope-warning{background:#352b17;border-color:#66532b;color:#f1d69a}.csl-v213-cancel-row.has-multiple-activities{background:#2b2418;border-color:#765f31}.csl-v213-cancel-person strong em{background:#745c29;color:#ffe6a9}}

/* === V2.1.4 : paiements par 1/2/3 chèques + alertes d'encaissement === */
.csl-v212-payment-card.is-complete_pending .csl-v212-payment-dot{background:#1b9a66;box-shadow:0 0 0 6px #e8f8f1}
.csl-v214-cheque-plan{margin:12px 0;padding:16px;border-radius:20px;background:linear-gradient(180deg,#fff9e9 0%,#fffdf7 100%);border:1px solid #ead9a9}
.csl-v214-cheque-plan-head{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:18px;align-items:start;margin-bottom:14px}
.csl-v214-cheque-plan-head h4{margin:4px 0 6px;color:#2c3441;font-size:18px}
.csl-v214-cheque-plan-head p{margin:0;color:#746847;font-size:11px;line-height:1.55}
.csl-v214-cheque-plan-head>label{display:flex;flex-direction:column;gap:6px;color:#50472f;font-size:11px;font-weight:900}
.csl-v214-cheque-plan-head select{min-height:44px;border:1px solid #d8c58b;border-radius:13px;background:#fff;padding:0 12px;color:#2d3440;font:inherit;font-size:14px}
.csl-v214-cheque-installments{display:flex;flex-direction:column;gap:10px}
.csl-v214-cheque-installment{padding:14px;border-radius:17px;background:#fff;border:1px solid #eadfbd;box-shadow:0 8px 18px rgba(66,54,22,.045)}
.csl-v214-cheque-installment-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.csl-v214-cheque-installment-title span{font-size:14px;font-weight:900;color:#2d3440}
.csl-v214-cheque-installment-title strong{padding:5px 8px;border-radius:999px;background:#f7edcf;color:#7b621d;font-size:10px}
.csl-v214-cheque-installment-grid{display:grid;grid-template-columns:.75fr 1fr 1fr 1.25fr;gap:9px}
.csl-v214-cheque-installment-grid label{display:flex;flex-direction:column;gap:6px;color:#4b5360;font-size:10px;font-weight:900}
.csl-v214-cheque-installment-grid input{width:100%;min-height:42px;border:1px solid #d9d3c3;border-radius:12px;background:#fffdf8;padding:0 11px;color:#172235;font:inherit;font-size:13px}
.csl-v214-cheque-cash-state{display:inline-flex;margin-top:6px;padding:5px 8px;border-radius:999px;font-size:10px;font-style:normal;font-weight:900}
.csl-v214-cheque-cash-state.is-pending{background:#fff4d7;color:#8c6815}
.csl-v214-cheque-cash-state.is-cashed{background:#e4f8ef;color:#19704f}
.csl-v214-payment-history-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.csl-v214-cheque-cash-button{border:0;border-radius:12px;padding:8px 10px;background:#e5f7ef;color:#176b4a;font-size:11px;font-weight:900;cursor:pointer}

.csl-v214-cheque-nav b{background:#df8a17!important;color:#fff!important}
.csl-v214-cheque-alert-section{border-color:#ead5a8!important;background:linear-gradient(180deg,#fffdf8 0%,#fff 100%)!important}
.csl-v214-cheque-alert-list{display:flex;flex-direction:column;gap:9px}
.csl-v214-cheque-alert-list article{display:grid;grid-template-columns:190px minmax(0,1fr) auto;gap:16px;align-items:center;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid #e5e9ee;box-shadow:0 8px 22px rgba(17,31,52,.05)}
.csl-v214-cheque-alert-list article.is-late{border-color:#efc1c6;background:#fff8f8}
.csl-v214-cheque-alert-list article.is-today{border-color:#efcf92;background:#fffaf0}
.csl-v214-cheque-alert-list article.is-soon{border-color:#cfe0f3;background:#f9fcff}
.csl-v214-cheque-alert-date{display:flex;flex-direction:column;gap:4px}
.csl-v214-cheque-alert-date span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#86642c}
.csl-v214-cheque-alert-list article.is-late .csl-v214-cheque-alert-date span{color:#b42d3a}
.csl-v214-cheque-alert-date strong{font-size:15px;color:#172235}
.csl-v214-cheque-alert-person{min-width:0}
.csl-v214-cheque-alert-person strong{display:block;color:#172235;font-size:15px}
.csl-v214-cheque-alert-person span{display:inline-block;margin-top:3px;color:#718092;font-size:10px;font-weight:800}
.csl-v214-cheque-alert-person small{display:block;margin-top:5px;color:#687687;font-size:11px;line-height:1.4}
.csl-v214-cheque-alert-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.csl-v214-cheque-alert-actions form{margin:0}
.csl-v214-cheque-alert-actions button{min-height:40px;border:0;border-radius:13px;padding:0 13px;background:#188d61;color:#fff;font-size:11px;font-weight:900;cursor:pointer}

@media (max-width:1100px){
  .csl-v214-cheque-installment-grid{grid-template-columns:1fr 1fr}
  .csl-v214-cheque-alert-list article{grid-template-columns:150px minmax(0,1fr)}
  .csl-v214-cheque-alert-actions{grid-column:1/-1;justify-content:flex-start}
}
@media (max-width:760px){
  .csl-v214-cheque-plan-head{grid-template-columns:1fr}
  .csl-v214-cheque-installment-grid{grid-template-columns:1fr}
  .csl-v214-cheque-alert-list article{grid-template-columns:1fr;gap:9px}
  .csl-v214-cheque-alert-actions{grid-column:auto}
  .csl-v214-payment-history-actions{justify-content:flex-start;width:100%}
  .csl-v212-payment-history-row{align-items:flex-start;flex-direction:column}
}
@media (prefers-color-scheme:dark){
  .csl-v214-cheque-plan{background:linear-gradient(180deg,#2b2516 0%,#251f14 100%);border-color:#514324}
  .csl-v214-cheque-plan-head h4,.csl-v214-cheque-installment-title span{color:#f5f2e8}
  .csl-v214-cheque-plan-head p{color:#c7b98f}
  .csl-v214-cheque-plan-head>label{color:#d2c29a}
  .csl-v214-cheque-plan-head select,.csl-v214-cheque-installment-grid input{background:#161b22;border-color:#4a4330;color:#f5f8fb}
  .csl-v214-cheque-installment{background:#1c211f;border-color:#413b29;box-shadow:none}
  .csl-v214-cheque-installment-title strong{background:#3b321c;color:#f0d27f}
  .csl-v214-cheque-installment-grid label{color:#c6c0ae}
  .csl-v214-cheque-alert-section{background:linear-gradient(180deg,#191d22 0%,#161b21 100%)!important;border-color:#403929!important}
  .csl-v214-cheque-alert-list article,.csl-v214-cheque-alert-list article.is-late,.csl-v214-cheque-alert-list article.is-today,.csl-v214-cheque-alert-list article.is-soon{background:#17202a;border-color:#303b47}
  .csl-v214-cheque-alert-date strong,.csl-v214-cheque-alert-person strong{color:#f5f8fb}
  .csl-v214-cheque-alert-person span,.csl-v214-cheque-alert-person small{color:#aeb9c5}
  .csl-v214-cheque-alert-date span{color:#e0b65f}
  .csl-v214-cheque-alert-list article.is-late .csl-v214-cheque-alert-date span{color:#ff9ba5}
}

/* === V2.1.5 : paiement unifié dossier / page Paiements === */
.csl-v215-payment-unified-note{
  display:flex;flex-direction:column;gap:5px;margin-top:18px;padding:15px 17px;border-radius:18px;
  background:linear-gradient(135deg,#eef6ff 0%,#f7fbff 100%);border:1px solid #d3e3f4;color:#24384e;
}
.csl-v215-payment-unified-note strong{font-size:14px;color:#16283c}
.csl-v215-payment-unified-note span{font-size:12px;line-height:1.5;color:#5c6e81}
.csl-v215-dossier-payments{
  margin-top:22px;padding:22px;border-radius:28px;background:#f7f9fc;border:1px solid rgba(21,33,51,.08);
  box-shadow:0 18px 42px rgba(16,33,58,.07);scroll-margin-top:90px;
}
.csl-v215-dossier-payments__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}
.csl-v215-dossier-payments__head h2{margin:5px 0 5px;font-size:28px;line-height:1;color:#172235}
.csl-v215-dossier-payments__head p{margin:0;max-width:760px;color:#5c6b7b;line-height:1.5}
.csl-v215-dossier-payment-totals{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.csl-v215-dossier-payment-totals>span{min-width:112px;padding:10px 12px;border-radius:15px;background:#fff;border:1px solid #dfe6ef;text-align:center}
.csl-v215-dossier-payment-totals small{display:block;color:#708093;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.csl-v215-dossier-payment-totals strong{display:block;margin-top:3px;color:#172235;font-size:15px}
.csl-v215-dossier-payment-totals .is-complete{background:#eaf9f1;border-color:#bfe8d0}
.csl-v215-dossier-payment-totals .is-complete strong{color:#187047}
.csl-v215-dossier-payment-totals .is-open{background:#fff7ed;border-color:#f0d4aa}
.csl-v215-dossier-payment-totals .is-open strong{color:#9b5c08}
.csl-v215-dossier-payment-panel{border-radius:22px;background:#fff;border:1px solid #e2e8f0;overflow:hidden}
.csl-v215-payment-empty{display:flex;flex-direction:column;gap:4px;padding:16px 18px;margin-bottom:12px;border-radius:16px;background:#f7f9fc;color:#5f6e7e}
.csl-v215-payment-empty strong{color:#26384c}
@media(max-width:900px){
  .csl-v215-dossier-payments__head{flex-direction:column;align-items:stretch}
  .csl-v215-dossier-payment-totals{justify-content:flex-start}
  .csl-v215-dossier-payment-totals>span{flex:1 1 120px}
}
@media(max-width:600px){
  .csl-v215-dossier-payments{padding:14px;border-radius:22px}
  .csl-v215-dossier-payments__head h2{font-size:24px}
  .csl-v215-dossier-payment-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .csl-v215-dossier-payment-totals>span{min-width:0;padding:9px 6px}
  .csl-v215-dossier-payment-totals strong{font-size:12px}
}
@media(prefers-color-scheme:dark){
  .csl-v215-payment-unified-note{background:linear-gradient(135deg,#182433 0%,#202f42 100%);border-color:#344960;color:#d9e5f1}
  .csl-v215-payment-unified-note strong{color:#fff}.csl-v215-payment-unified-note span{color:#b5c4d4}
  .csl-v215-dossier-payments{background:#111923;border-color:#2b394a;box-shadow:0 18px 42px rgba(0,0,0,.22)}
  .csl-v215-dossier-payments__head h2{color:#fff}.csl-v215-dossier-payments__head p{color:#b7c3d0}
  .csl-v215-dossier-payment-totals>span{background:#182331;border-color:#314154}.csl-v215-dossier-payment-totals small{color:#9dafc2}.csl-v215-dossier-payment-totals strong{color:#fff}
  .csl-v215-dossier-payment-totals .is-complete{background:#123326;border-color:#245c42}.csl-v215-dossier-payment-totals .is-complete strong{color:#7fe2ad}
  .csl-v215-dossier-payment-totals .is-open{background:#352816;border-color:#66502e}.csl-v215-dossier-payment-totals .is-open strong{color:#f6c46e}
  .csl-v215-dossier-payment-panel{background:#151f2b;border-color:#2f3e50}
  .csl-v215-payment-empty{background:#1b2735;color:#b8c5d2}.csl-v215-payment-empty strong{color:#fff}
}


/* === V2.1.6 : édition dossier — documents avant suivi interne === */
.csl-v216-internal-followup{
  background:linear-gradient(180deg,#ffffff 0%,#fbfcfe 100%);
}
.csl-v216-internal-followup__fields{
  align-items:start;
}
.csl-v216-internal-note{
  grid-column:1 / -1;
}
.csl-v216-internal-note textarea{
  min-height:96px;
}
@media (prefers-color-scheme:dark){
  .csl-v216-internal-followup{
    background:linear-gradient(180deg,#151b24 0%,#111821 100%);
  }
}

/* === V2.1.7 : alertes d'annulation adhérent + paiements annulés === */
.csl-v217-cancel-nav b{margin-left:auto;min-width:24px;padding:3px 7px;border-radius:999px;text-align:center;background:#a92d3e;color:#fff;font-size:11px}
.csl-v217-manager-cancel-count{padding:7px 10px;border-radius:999px;background:#f4e8ea;color:#8c2e3c;font-size:12px;font-weight:800}
.csl-v217-manager-cancel-alerts__list{display:grid;gap:11px}
.csl-v217-manager-cancel-alert{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px;border:1px solid #e2e8ed;border-radius:17px;background:#fff}
.csl-v217-manager-cancel-alert.is-request{border-left:4px solid #b73346}
.csl-v217-manager-cancel-alert.is-cancelled{border-left:4px solid #3b9460}
.csl-v217-manager-cancel-alert__icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#f3f6f8;color:#536675;font-size:19px;font-weight:900}
.csl-v217-manager-cancel-alert__copy>span{display:block;color:#84909a;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.csl-v217-manager-cancel-alert__copy>strong{display:block;margin-top:2px;color:#1d2c39;font-size:16px}
.csl-v217-manager-cancel-alert__copy>small{display:block;margin-top:2px;color:#667784;font-size:12px}
.csl-v217-manager-cancel-alert__copy>p{margin:7px 0 0;padding:8px 10px;border-radius:10px;background:#f8fafb;color:#4e6070;font-size:12px;line-height:1.45}
.csl-v217-manager-cancel-alert__copy>em{display:block;margin-top:7px;color:#965723;font-size:12px;font-style:normal;font-weight:800}
.csl-v217-manager-cancel-alert__actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.csl-v217-manager-cancel-alert__actions form{margin:0}
.csl-v217-manager-cancel-alert__actions form button{border:1px solid #dce3e8;border-radius:11px;padding:9px 11px;background:#f7f9fa;color:#455966;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.csl-v217-cancelled-payment__warning{display:flex;flex-direction:column;gap:3px;margin:0 0 14px;padding:12px 14px;border:1px solid #ecd3ab;border-radius:14px;background:#fff8ec;color:#80511f}
.csl-v217-cancelled-payment__warning span{font-size:12px;line-height:1.45}
.csl-v217-cancelled-payment__history{display:grid;gap:8px;padding:14px;border:1px solid #e2e8ed;border-radius:16px;background:#f8fafb}
.csl-v217-cancelled-payment__history h3{margin:0 0 3px;color:#334655;font-size:14px}
.csl-v217-cancelled-payment__history>div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #e7ebef}
.csl-v217-cancelled-payment__history>div strong{color:#263947;font-size:13px}
.csl-v217-cancelled-payment__history>div span{color:#72818c;font-size:12px}
@media(max-width:760px){.csl-v217-manager-cancel-alert{grid-template-columns:38px minmax(0,1fr)}.csl-v217-manager-cancel-alert__icon{width:38px;height:38px}.csl-v217-manager-cancel-alert__actions{grid-column:1/-1;justify-content:stretch}.csl-v217-manager-cancel-alert__actions>a,.csl-v217-manager-cancel-alert__actions form,.csl-v217-manager-cancel-alert__actions form button{width:100%}.csl-v217-cancelled-payment__history>div{flex-direction:column;gap:3px}}
@media(prefers-color-scheme:dark){
 body.csl-registration-manager-area .csl-v217-manager-cancel-alert,body.csl-registration-manager-area .csl-v217-manager-cancel-alert{border-color:rgba(174,195,214,.14);background:#101d27}
 body.csl-registration-manager-area .csl-v217-manager-cancel-alert__copy>strong,body.csl-registration-manager-area .csl-v217-manager-cancel-alert__copy>strong{color:#edf3f7}
 body.csl-registration-manager-area .csl-v217-manager-cancel-alert__copy>small,body.csl-registration-manager-area .csl-v217-manager-cancel-alert__copy>small{color:#9eacb7}
 body.csl-registration-manager-area .csl-v217-manager-cancel-alert__copy>p,body.csl-registration-manager-area .csl-v217-manager-cancel-alert__copy>p{background:#0b151e;color:#bdc8d0}
 body.csl-registration-manager-area .csl-v217-manager-cancel-alert__icon,body.csl-registration-manager-area .csl-v217-manager-cancel-alert__icon{background:#192a36;color:#dce5eb}
 body.csl-registration-manager-area .csl-v217-cancelled-payment__history,body.csl-registration-manager-area .csl-v217-cancelled-payment__history{border-color:rgba(174,195,214,.14);background:#0c1720}
 body.csl-registration-manager-area .csl-v217-cancelled-payment__history h3,body.csl-registration-manager-area .csl-v217-cancelled-payment__history h3,body.csl-registration-manager-area .csl-v217-cancelled-payment__history>div strong,body.csl-registration-manager-area .csl-v217-cancelled-payment__history>div strong{color:#e8eff4}
}

/* === V2.1.9 : dossiers épurés + garde-fou d'annulation === */
.csl-v219-records>.csl-v105-section__head{margin-bottom:10px}
.csl-v219-filter-panel{margin-bottom:10px}
.csl-v219-followup{display:flex;flex-direction:column;gap:12px;padding:0 14px 14px;border-top:1px solid #e6ebf0}
.csl-v219-selection-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 2px 2px}
.csl-v219-selection-summary>div{display:flex;min-width:0;flex-direction:column;gap:3px}
.csl-v219-selection-summary>div>strong{color:#182638;font-size:15px;line-height:1.2}
.csl-v219-selection-summary>div>small{color:#6a7787;font-size:11px;line-height:1.4}
.csl-v219-export{flex:0 0 auto;min-height:38px!important;padding:8px 12px!important;font-size:11px!important}
.csl-v219-marker-panel{margin:0;box-shadow:none}
.csl-v219-followup .csl-v210-marker-notice{margin:0}
.csl-v219-core-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:9px;margin:10px 0 14px}
.csl-manager-v105 .csl-v219-core-actions .csl-v106-filter-mail,
.csl-manager-v105 .csl-v219-core-actions .csl-v106-attendance-link,
.csl-manager-v105 .csl-v219-core-actions .csl-v213-cancel-group-link{width:100%;min-height:44px;box-sizing:border-box;justify-content:center;border-radius:13px;font-size:11px!important;font-weight:900;white-space:nowrap;text-align:center}
.csl-manager-v105 .csl-v219-core-actions .csl-v106-filter-mail{padding:8px 12px}
.csl-manager-v105 .csl-v219-core-actions .csl-v106-filter-mail strong{display:inline-flex;min-width:22px;height:22px;padding:0 6px;align-items:center;justify-content:center;border-radius:999px;background:rgba(255,255,255,.18);font-size:10px}
.csl-manager-v105 .csl-v219-core-actions .csl-v106-filter-mail.is-disabled{opacity:.48;cursor:not-allowed;box-shadow:none}
.csl-manager-v105 .csl-v219-core-actions .csl-v106-attendance-link{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;text-decoration:none!important}
.csl-manager-v105 .csl-v219-core-actions .csl-v106-attendance-link>span:first-child{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:8px;background:rgba(24,49,76,.08)}
.csl-manager-v105 .csl-v219-core-actions .csl-v219-cancel-link{background:#fff;border-color:#e6c8cd;color:#9f2031!important;box-shadow:none}
.csl-manager-v105 .csl-v219-core-actions .csl-v219-cancel-link>span:first-child{width:23px;height:23px;background:#fff0f2;color:#a61e32;font-size:12px}
.csl-manager-v105 .csl-v219-core-actions .csl-v219-cancel-link:hover,.csl-manager-v105 .csl-v219-core-actions .csl-v219-cancel-link:focus-visible{background:#fff5f6;border-color:#d99ca6}

.csl-v219-cancel-guard{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,.7fr) auto;gap:12px;align-items:end;padding:16px;border:1px solid #e8bec5;border-radius:18px;background:linear-gradient(135deg,#fff8f9 0%,#fff 70%)}
.csl-v219-cancel-guard__head{grid-column:1/-1;display:flex;align-items:center;gap:11px;padding-bottom:11px;border-bottom:1px solid #f0d9dd}
.csl-v219-cancel-guard__head>span{display:flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:12px;background:#ae2337;color:#fff;font-size:16px}
.csl-v219-cancel-guard__head>div{display:flex;flex-direction:column;gap:2px}
.csl-v219-cancel-guard__head strong{color:#8f1d2e;font-size:15px}
.csl-v219-cancel-guard__head small{color:#7b6670;font-size:11px;line-height:1.35}
.csl-v219-cancel-ack{display:flex!important;min-height:48px;flex-direction:row!important;align-items:center;gap:10px!important;padding:11px 12px;border:1px solid #ead9dc;border-radius:14px;background:#fff;cursor:pointer}
.csl-v219-cancel-ack input{width:21px!important;height:21px!important;flex:0 0 21px;accent-color:#ad2035}
.csl-v219-cancel-ack span{color:#394657;font-size:12px;font-weight:800;line-height:1.35}
.csl-v219-cancel-phrase{gap:5px!important}
.csl-v219-cancel-phrase>span{color:#6e4d55;font-size:11px;font-weight:800}
.csl-v219-cancel-phrase input{text-transform:uppercase;font-weight:900;letter-spacing:.08em}
.csl-v219-cancel-selected{display:flex;min-width:108px;min-height:48px;flex-direction:column;align-items:center;justify-content:center;padding:7px 11px;border-radius:14px;background:#f7e7ea;color:#8e1d2e}
.csl-v219-cancel-selected strong{font-size:20px;line-height:1}
.csl-v219-cancel-selected span{margin-top:3px;font-size:9px;font-weight:850;white-space:nowrap}
.csl-v213-cancel-submit:disabled{background:#aeb5be!important;color:#eef1f4!important;box-shadow:none!important;cursor:not-allowed!important;opacity:.72}
.csl-v213-cancel-submit:not(:disabled){animation:csl219ReadyPulse 1.6s ease-in-out 1}
@keyframes csl219ReadyPulse{0%,100%{transform:scale(1)}45%{transform:scale(1.012)}}

@media(max-width:860px){
  .csl-v219-core-actions{grid-template-columns:1fr 1fr}
  .csl-v219-core-actions .csl-v219-cancel-link{grid-column:1/-1}
  .csl-v219-cancel-guard{grid-template-columns:1fr 1fr}
  .csl-v219-cancel-selected{grid-column:1/-1;flex-direction:row;gap:7px;min-height:40px}
  .csl-v219-cancel-selected span{margin:0}
}
@media(max-width:620px){
  .csl-v219-selection-summary{align-items:stretch;flex-direction:column}
  .csl-v219-export{width:100%}
  .csl-v219-core-actions{grid-template-columns:1fr}
  .csl-v219-core-actions .csl-v219-cancel-link{grid-column:auto}
  .csl-v219-cancel-guard{grid-template-columns:1fr}
  .csl-v219-cancel-selected{grid-column:auto}
}
@media(prefers-color-scheme:dark){
  .csl-v219-followup{border-color:#334153}
  .csl-v219-selection-summary>div>strong{color:#f3f6fa}
  .csl-v219-selection-summary>div>small{color:#aeb9c6}
  .csl-manager-v105 .csl-v219-core-actions .csl-v219-cancel-link{background:#1b2029;border-color:#60343c;color:#ffb8c2!important}
  .csl-manager-v105 .csl-v219-core-actions .csl-v219-cancel-link>span:first-child{background:#351b21;color:#ffc4cc}
  .csl-v219-cancel-guard{background:linear-gradient(135deg,#2d191e 0%,#151f2c 72%);border-color:#67333d}
  .csl-v219-cancel-guard__head{border-color:#58303a}
  .csl-v219-cancel-guard__head strong{color:#ffc0c9}
  .csl-v219-cancel-guard__head small{color:#c8abb1}
  .csl-v219-cancel-ack{background:#111a26;border-color:#49323a}
  .csl-v219-cancel-ack span{color:#e7edf3}
  .csl-v219-cancel-phrase>span{color:#d2b5bb}
  .csl-v219-cancel-selected{background:#3a2027;color:#ffc1cb}
}

/* === V2.1.10 : centre Communication, affiches & PDF === */
.csl-v2110-communication-shell{max-width:1180px}
.csl-v2110-communication-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin:18px 0 24px;padding:28px 30px;border:1px solid rgba(21,37,58,.10);border-radius:26px;background:linear-gradient(135deg,#fff 0%,#f7f9fc 100%);box-shadow:0 18px 44px rgba(25,42,66,.07)}
.csl-v2110-communication-hero h1{margin:5px 0 8px;font-size:clamp(30px,4vw,48px);line-height:1;color:#142238;letter-spacing:-.03em}
.csl-v2110-communication-hero p{max-width:720px;margin:0;color:#647083;font-size:16px;line-height:1.55}
.csl-v2110-communication-season{display:flex;flex-direction:column;min-width:150px;padding:15px 18px;border-radius:18px;background:#142238;color:#fff;text-align:center}
.csl-v2110-communication-season small{font-size:11px;text-transform:uppercase;letter-spacing:.12em;opacity:.7}.csl-v2110-communication-season strong{font-size:20px;margin-top:4px}
.csl-v2110-communication-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.csl-v2110-communication-card{display:flex;gap:18px;min-height:205px;padding:24px;border:1px solid rgba(25,43,67,.10);border-radius:24px;background:#fff;color:#18263a;text-decoration:none!important;box-shadow:0 12px 30px rgba(26,42,63,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.csl-v2110-communication-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(26,42,63,.10);border-color:rgba(25,43,67,.18)}
.csl-v2110-communication-card__icon{display:grid;place-items:center;flex:0 0 58px;height:58px;border-radius:18px;background:#edf2f7;font-size:24px;font-weight:900}
.csl-v2110-communication-card.is-mail .csl-v2110-communication-card__icon{background:#f4eafb;color:#8a2fc4}.csl-v2110-communication-card.is-poster .csl-v2110-communication-card__icon{background:#e8f0ff;color:#245fc1}.csl-v2110-communication-card.is-forum .csl-v2110-communication-card__icon{background:#fff0e8;color:#c3511f}.csl-v2110-communication-card.is-history .csl-v2110-communication-card__icon{background:#e8f7f0;color:#168553}
.csl-v2110-communication-card small{display:block;margin-bottom:5px;color:#8a95a4;text-transform:uppercase;letter-spacing:.09em;font-size:10px;font-weight:800}.csl-v2110-communication-card h2{margin:0 0 8px;font-size:21px;line-height:1.15;color:#17263b}.csl-v2110-communication-card p{margin:0 0 15px;color:#697587;line-height:1.5}.csl-v2110-communication-card strong{display:block;margin-top:auto;color:#17263b}.csl-v2110-communication-card>div{display:flex;flex:1;flex-direction:column}
.csl-v2110-communication-tip{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:18px;padding:18px 20px;border:1px solid rgba(25,43,67,.10);border-radius:20px;background:#f8fafc}.csl-v2110-communication-tip>div{display:flex;align-items:flex-start;gap:13px}.csl-v2110-communication-tip>div>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:#142238;color:#fff}.csl-v2110-communication-tip strong{display:block;color:#17263b}.csl-v2110-communication-tip p{margin:3px 0 0;color:#687487;line-height:1.45}
@media (max-width:760px){.csl-v2110-communication-hero{align-items:flex-start;flex-direction:column;padding:22px}.csl-v2110-communication-season{min-width:0;width:100%;box-sizing:border-box}.csl-v2110-communication-grid{grid-template-columns:1fr}.csl-v2110-communication-card{min-height:0;padding:20px}.csl-v2110-communication-tip{align-items:stretch;flex-direction:column}}
@media (prefers-color-scheme:dark){.csl-v2110-communication-hero{border-color:rgba(255,255,255,.09);background:linear-gradient(135deg,#172337,#101b2b 100%);box-shadow:none}.csl-v2110-communication-hero h1{color:#f5f7fb}.csl-v2110-communication-hero p{color:#aab5c4}.csl-v2110-communication-season{background:#070e18}.csl-v2110-communication-card{border-color:rgba(255,255,255,.08);background:#111d2d;color:#f0f4f9;box-shadow:none}.csl-v2110-communication-card h2,.csl-v2110-communication-card strong{color:#f4f7fb}.csl-v2110-communication-card p{color:#aab5c2}.csl-v2110-communication-card small{color:#8795a8}.csl-v2110-communication-tip{border-color:rgba(255,255,255,.08);background:#101b2a}.csl-v2110-communication-tip strong{color:#f4f7fb}.csl-v2110-communication-tip p{color:#aab5c2}}


/* === V2.1.11 : recherche dossiers plus claire + présences à droite === */
.csl-v2111-filter-panel{border-radius:18px;background:linear-gradient(180deg,#f8fafc 0%,#f4f7fa 100%);border-color:#d8e1e9;box-shadow:0 8px 24px rgba(23,38,56,.045)}
.csl-v2111-filter-panel>summary{min-height:58px;padding:11px 14px}
.csl-v2111-filter-panel .csl-v105-filter-panel__title>span:first-child{width:34px;height:34px;flex-basis:34px;border-radius:11px;background:#e4edf4;color:#244d6c}
.csl-v2111-filter-panel .csl-v105-filter-panel__title strong{font-size:13px!important}
.csl-v2111-filter-panel .csl-v105-filter-panel__title small{margin-top:2px;font-size:9.5px!important}
.csl-manager-v105 .csl-v2111-filter-panel .csl-v2111-filter-form{display:block!important;padding:14px!important;background:#fff!important}
.csl-v2111-quick-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:2px 0 14px}
.csl-manager-v105 .csl-v2111-filter-panel .csl-v2111-search-field{display:block!important}
.csl-manager-v105 .csl-v2111-filter-panel .csl-v2111-search-field>span:first-child{display:block;margin-bottom:6px;color:#425268!important;font-size:10px!important;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.csl-v2111-search-control{display:grid!important;grid-template-columns:34px minmax(0,1fr);align-items:center;min-height:48px;border:1.5px solid #bdcbd8;border-radius:13px;background:#fff;box-shadow:0 3px 12px rgba(22,42,62,.04);overflow:hidden}
.csl-v2111-search-control>span{display:grid;place-items:center;color:#31566f;font-size:19px}
.csl-manager-v105 .csl-v2111-filter-panel .csl-v2111-search-control input{min-height:46px!important;padding:8px 12px 8px 0!important;border:0!important;border-radius:0!important;background:transparent!important;font-size:13px!important;box-shadow:none!important;outline:0!important}
.csl-v2111-search-control:focus-within{border-color:#245f85;box-shadow:0 0 0 3px rgba(36,95,133,.10)}
.csl-manager-v105 .csl-v2111-filter-panel .csl-v2111-search-field>small{display:block;margin:5px 2px 0;color:#7a8796;font-size:9px;line-height:1.35}
.csl-manager-v105 .csl-v2111-filter-panel .csl-v2111-search-button{min-height:48px!important;padding:9px 20px!important;border-radius:13px!important;font-size:11px!important;white-space:nowrap}
.csl-v2111-filter-divider{display:flex;align-items:center;gap:8px;margin:0 -14px 12px;padding:10px 14px 0;border-top:1px solid #edf1f4}
.csl-v2111-filter-divider span{color:#4c5c6f;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.csl-v2111-filter-divider small{padding:3px 7px;border-radius:999px;background:#eef3f7;color:#6d7b8a;font-size:8px;font-weight:800}
.csl-v2111-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.csl-manager-v105 .csl-v2111-filter-panel .csl-v2111-filter-grid label{min-width:0;margin:0!important}
.csl-manager-v105 .csl-v2111-filter-panel .csl-v2111-filter-grid label>span{display:block;margin-bottom:4px;color:#637083!important;font-size:9px!important;font-weight:850;letter-spacing:.04em;text-transform:uppercase}
.csl-manager-v105 .csl-v2111-filter-panel .csl-v2111-filter-grid select{min-height:40px!important;border-radius:10px!important;background:#fbfcfd!important}
.csl-v2111-filter-actions{justify-content:flex-end!important;margin-top:12px;padding-top:11px;border-top:1px solid #edf1f4}
.csl-manager-v105 .csl-v2111-filter-actions .csl-reg-button{min-height:40px!important;border-radius:11px!important}
.csl-manager-v105 .csl-v2111-filter-actions .csl-reg-filter-reset{display:inline-flex;align-items:center;min-height:40px;padding:0 8px;color:#697789!important}

.csl-v219-core-actions.csl-v2111-core-actions{display:flex;grid-template-columns:none;align-items:center;gap:9px}
.csl-manager-v105 .csl-v2111-core-actions .csl-v106-filter-mail,
.csl-manager-v105 .csl-v2111-core-actions .csl-v213-cancel-group-link,
.csl-manager-v105 .csl-v2111-core-actions .csl-v106-attendance-link{width:auto;min-width:0;flex:0 0 auto;padding-left:14px;padding-right:14px}
.csl-manager-v105 .csl-v2111-core-actions .csl-v106-attendance-link{margin-left:auto;min-width:190px}

@media (max-width:1100px){
  .csl-v2111-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .csl-manager-v105 .csl-v2111-core-actions .csl-v106-attendance-link{min-width:175px}
}
@media (max-width:720px){
  .csl-v2111-quick-search{grid-template-columns:1fr}
  .csl-manager-v105 .csl-v2111-filter-panel .csl-v2111-search-button{width:100%}
  .csl-v2111-filter-grid{grid-template-columns:1fr 1fr}
  .csl-v219-core-actions.csl-v2111-core-actions{display:grid;grid-template-columns:1fr 1fr}
  .csl-manager-v105 .csl-v2111-core-actions .csl-v106-filter-mail,
  .csl-manager-v105 .csl-v2111-core-actions .csl-v213-cancel-group-link,
  .csl-manager-v105 .csl-v2111-core-actions .csl-v106-attendance-link{width:100%;justify-content:center}
  .csl-manager-v105 .csl-v2111-core-actions .csl-v106-attendance-link{grid-column:1/-1;margin-left:0;min-width:0}
}
@media (max-width:480px){
  .csl-v2111-filter-grid{grid-template-columns:1fr}
  .csl-v2111-filter-actions{display:grid!important;grid-template-columns:1fr!important;gap:7px!important}
  .csl-manager-v105 .csl-v2111-filter-actions .csl-reg-filter-reset{justify-content:center}
  .csl-v219-core-actions.csl-v2111-core-actions{grid-template-columns:1fr}
  .csl-manager-v105 .csl-v2111-core-actions .csl-v106-attendance-link{grid-column:auto}
}
@media (prefers-color-scheme:dark){
  .csl-v2111-filter-panel{background:linear-gradient(180deg,#172231 0%,#131d29 100%);border-color:#334252;box-shadow:none}
  .csl-v2111-filter-panel .csl-v105-filter-panel__title>span:first-child{background:#22384a;color:#b8ddf6}
  .csl-manager-v105 .csl-v2111-filter-panel .csl-v2111-filter-form{background:#111a25!important}
  .csl-manager-v105 .csl-v2111-filter-panel .csl-v2111-search-field>span:first-child{color:#d7e1ec!important}
  .csl-v2111-search-control{background:#151f2b;border-color:#405164;box-shadow:none}
  .csl-v2111-search-control>span{color:#a9cce3}
  .csl-manager-v105 .csl-v2111-filter-panel .csl-v2111-search-control input{color:#f2f6fa!important;background:transparent!important}
  .csl-manager-v105 .csl-v2111-filter-panel .csl-v2111-search-control input::placeholder{color:#7f8d9d!important}
  .csl-manager-v105 .csl-v2111-filter-panel .csl-v2111-search-field>small{color:#8997a7}
  .csl-v2111-filter-divider,.csl-v2111-filter-actions{border-color:#293645}
  .csl-v2111-filter-divider span{color:#c8d3df}
  .csl-v2111-filter-divider small{background:#202c3a;color:#9facbb}
  .csl-manager-v105 .csl-v2111-filter-panel .csl-v2111-filter-grid select{background:#151f2b!important;border-color:#405164!important;color:#edf3f8!important}
}

/* === V2.1.13 : décision instantanée sur les exceptions d'âge === */
.csl-reg-age-manager-review__heading{display:grid;gap:4px}
.csl-reg-age-manager-review__save{font-size:12px;font-weight:750;color:#677386}
.csl-reg-age-manager-review__choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.csl-reg-age-manager-decision{display:flex!important;align-items:flex-start!important;gap:10px!important;padding:13px 14px!important;border:1px solid #d9e0e7!important;border-radius:14px!important;background:#fff!important;cursor:pointer}
.csl-reg-age-manager-decision input{margin-top:3px;flex:0 0 auto}
.csl-reg-age-manager-decision>span{display:grid;gap:3px}
.csl-reg-age-manager-decision strong{color:#1b2836}
.csl-reg-age-manager-decision small{color:#667383}
.csl-reg-age-manager-decision.is-approve:has(input:checked){border-color:#69b78a!important;background:#f0faf4!important}
.csl-reg-age-manager-decision.is-reject:has(input:checked){border-color:#d96a77!important;background:#fff2f4!important}
.csl-reg-age-manager-review__mail{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid #e2a0a8;border-radius:14px;background:#fff5f6}
.csl-reg-age-manager-review__mail[hidden]{display:none!important}
.csl-reg-age-manager-review__mail>div{display:grid;gap:3px}
.csl-reg-age-manager-review__mail strong{color:#912f3d}
.csl-reg-age-manager-review__mail span{color:#6e4c52}
.csl-reg-age-manager-review.is-saving{opacity:.78;pointer-events:none}
@media(max-width:700px){.csl-reg-age-manager-review__choices{grid-template-columns:1fr}.csl-reg-age-manager-review__mail{align-items:stretch;flex-direction:column}.csl-reg-age-manager-review__mail .csl-reg-button{width:100%;justify-content:center}}
.csl-reg-age-rejected-badge{display:inline-flex;align-items:center;margin-top:5px;padding:4px 8px;border:1px solid #e4a2aa;border-radius:999px;background:#fff3f5;color:#a33140;font-size:11px;font-weight:850;line-height:1.1}
@media(prefers-color-scheme:dark){body.csl-registration-manager-area .csl-reg-age-rejected-badge{border-color:#7e3b47!important;background:#2d171d!important;color:#ff9eaa!important;-webkit-text-fill-color:#ff9eaa!important}}

/* === V2.1.14 : centre de sécurité === */
.csl-v214-security-shell{display:grid;gap:22px}.csl-v214-security-head{align-items:center}.csl-v214-security-state{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid #b8dcc8;border-radius:999px;background:#f2fbf6;color:#176a44;font-weight:900;white-space:nowrap}.csl-v214-security-state i{width:9px;height:9px;border-radius:50%;background:#21a66d;box-shadow:0 0 0 5px rgba(33,166,109,.12)}.csl-v214-security-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.csl-v214-security-grid article{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:start;padding:20px;border:1px solid #dfe5eb;border-radius:22px;background:linear-gradient(145deg,#fff,#f8fafc);box-shadow:0 10px 28px rgba(17,31,45,.06)}.csl-v214-security-grid article>div{display:grid;gap:6px}.csl-v214-security-grid article strong{font-size:17px;color:#192638}.csl-v214-security-grid article p{margin:0;color:#657487;line-height:1.5}.csl-v214-security-grid article small{color:#8190a1}.csl-v214-security-grid article>b{padding:5px 9px;border-radius:999px;background:#e8f7ef;color:#157149;font-size:12px}.csl-v214-security-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#eef4f9;color:#1c5d86;font-size:21px;font-weight:900}.csl-v214-security-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.csl-v214-security-summary>div{display:grid;gap:7px;padding:18px;border:1px solid #e0e6ec;border-radius:18px;background:#fff}.csl-v214-security-summary small{color:#718093;font-weight:800}.csl-v214-security-summary strong{font-size:29px;line-height:1;color:#182537}.csl-v214-security-journal{display:grid;gap:16px;padding:22px;border:1px solid #dfe6ed;border-radius:24px;background:#fff}.csl-v214-security-journal__head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.csl-v214-security-journal__head>div{display:grid;gap:4px}.csl-v214-security-journal__head h2{margin:0}.csl-v214-security-journal__head p{margin:0;color:#718093}.csl-v214-security-events{display:grid;gap:9px}.csl-v214-security-events article{display:grid;gap:7px;padding:15px 17px;border:1px solid #e0e7ee;border-left:4px solid #8da0b3;border-radius:16px;background:#fbfcfd}.csl-v214-security-events article.is-warning{border-left-color:#e3a321;background:#fffaf0}.csl-v214-security-events article.is-critical{border-left-color:#dc3349;background:#fff5f6}.csl-v214-security-events article.is-info{border-left-color:#36a26f}.csl-v214-security-event__top{display:flex;align-items:center;justify-content:space-between;gap:12px}.csl-v214-security-event__top span{font-weight:900;color:#1a2839}.csl-v214-security-event__top time{font-size:12px;color:#7d8b9b}.csl-v214-security-events article p{margin:0;color:#536477}.csl-v214-security-event__meta{display:flex;flex-wrap:wrap;gap:6px}.csl-v214-security-event__meta span{padding:4px 8px;border-radius:999px;background:#eef3f7;color:#667789;font-size:11px;font-weight:800}.csl-v214-security-empty{display:flex;align-items:center;gap:14px;padding:22px;border:1px dashed #cbd8e2;border-radius:18px;background:#f8fbfd}.csl-v214-security-empty>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e5f7ed;color:#168557;font-weight:1000}.csl-v214-security-empty strong{color:#1a2839}.csl-v214-security-empty p{margin:3px 0 0;color:#718093}@media(max-width:980px){.csl-v214-security-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.csl-v214-security-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.csl-v214-security-grid,.csl-v214-security-summary{grid-template-columns:1fr}.csl-v214-security-grid article{grid-template-columns:auto minmax(0,1fr)}.csl-v214-security-grid article>b{grid-column:2;justify-self:start}.csl-v214-security-journal__head{align-items:stretch;flex-direction:column}.csl-v214-security-event__top{align-items:flex-start;flex-direction:column;gap:3px}}
@media(prefers-color-scheme:dark){body.csl-registration-manager-area .csl-v214-security-state,body.csl-registration-manager-dashboard .csl-v214-security-state{border-color:#315f4b;background:#11281f;color:#9de3bd}.csl-v214-security-grid article{border-color:#2a3b4b;background:linear-gradient(145deg,#111d28,#0d1721);box-shadow:0 12px 30px rgba(0,0,0,.2)}.csl-v214-security-grid article strong,.csl-v214-security-summary strong,.csl-v214-security-journal__head h2,.csl-v214-security-empty strong{color:#f1f6fa;-webkit-text-fill-color:#f1f6fa}.csl-v214-security-grid article p,.csl-v214-security-grid article small,.csl-v214-security-summary small,.csl-v214-security-journal__head p,.csl-v214-security-events article p,.csl-v214-security-empty p{color:#9cafbf;-webkit-text-fill-color:#9cafbf}.csl-v214-security-grid article>b{background:#163427;color:#9fe1bd}.csl-v214-security-icon{background:#172a39;color:#9bcffc}.csl-v214-security-summary>div{border-color:#2a3b4b;background:#101a24}.csl-v214-security-journal{border-color:#2a3b4b;background:#0f1923}.csl-v214-security-events article{border-color:#2c3f50;border-left-color:#738aa0;background:#121f2b}.csl-v214-security-events article.is-warning{border-left-color:#d49a32;background:#261f13}.csl-v214-security-events article.is-critical{border-left-color:#d64b5b;background:#2b171d}.csl-v214-security-events article.is-info{border-left-color:#4ead7d}.csl-v214-security-event__top span{color:#eef5fa;-webkit-text-fill-color:#eef5fa}.csl-v214-security-event__top time{color:#8498aa}.csl-v214-security-event__meta span{background:#1a2936;color:#a9bbca}.csl-v214-security-empty{border-color:#334757;background:#111e29}.csl-v214-security-empty>span{background:#153326;color:#9ee2bd}}


/* === V2.1.16 : explication claire du parcours d'inscription === */
.csl-v2116-registration-clarity{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0 22px;padding:14px;border:1px solid #dfe6eb;border-radius:18px;background:#f8fafb;box-sizing:border-box}
.csl-v2116-registration-clarity>div{min-width:0;padding:12px 13px;border:1px solid #e5eaee;border-radius:14px;background:#fff}
.csl-v2116-registration-clarity b{display:block;margin-bottom:5px;color:#172435;font-size:13px}
.csl-v2116-registration-clarity span{display:block;color:#647481;font-size:12px;line-height:1.48}
.csl-v2116-registration-clarity>p{grid-column:1/-1;margin:0;padding:11px 13px;border-radius:13px;background:#fff3e5;color:#765119;font-size:12px;line-height:1.5}
@media(max-width:760px){.csl-v2116-registration-clarity{grid-template-columns:1fr;padding:11px;gap:8px}.csl-v2116-registration-clarity>p{grid-column:auto}.csl-v2116-registration-clarity>div{padding:11px 12px}}
@media(prefers-color-scheme:dark){.csl-v2116-registration-clarity{border-color:rgba(174,195,214,.15);background:#0d1822}.csl-v2116-registration-clarity>div{border-color:rgba(174,195,214,.13);background:#101f2a}.csl-v2116-registration-clarity b{color:#eef4f8}.csl-v2116-registration-clarity span{color:#a9b6c0}.csl-v2116-registration-clarity>p{background:#2a2116;color:#e8c893}}

/* === V2.1.18 : dossiers annulés et circuit de remboursement === */
.csl-reg-table .csl-reg-record-row--cancelled>td{background:#fff1f2!important;border-top-color:#f1c2c8!important;border-bottom-color:#f1c2c8!important}
.csl-reg-table .csl-reg-record-row--cancelled:hover>td{background:#ffe7ea!important}
.csl-reg-table .csl-reg-record-row--refunded>td{background:#f3faf6!important;border-top-color:#bfdfcc!important;border-bottom-color:#bfdfcc!important}
.csl-v218-refund-badge{display:inline-flex;align-items:center;margin-top:5px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;line-height:1.1}
.csl-v218-refund-badge.is-required{border:1px solid #e4a2aa;background:#fff3f5;color:#a33140}.csl-v218-refund-badge.is-awaiting{border:1px solid #d8b66d;background:#fff9e9;color:#7c5913}.csl-v218-refund-badge.is-refunded{border:1px solid #a9d6bb;background:#eef9f3;color:#176a42}
.csl-v218-refund-action{background:#eef9f3!important;color:#176a42!important;border-color:#b8ddc6!important}
.csl-v218-refund-shell{display:grid;gap:16px;max-width:1080px}.csl-v218-refund-head{display:grid;gap:7px;padding:20px;border:1px solid #dde5eb;border-radius:22px;background:#fff}.csl-v218-refund-head h1{margin:0;color:#1b2938}.csl-v218-refund-head p{margin:0;color:#6c7884}.csl-v218-refund-summary{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px}.csl-v218-refund-summary>div{display:grid;gap:5px;padding:16px;border:1px solid #e0e6eb;border-radius:16px;background:#fff}.csl-v218-refund-summary span{color:#758391;font-size:11px;font-weight:850}.csl-v218-refund-summary strong{color:#253442;font-size:14px;line-height:1.35}.csl-v218-refund-form{display:grid;gap:15px;padding:20px;border:1px solid #dfe6eb;border-radius:20px;background:#fff}.csl-v218-refund-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.csl-v218-refund-grid label{display:grid;gap:5px}.csl-v218-refund-grid label>span{color:#556674;font-size:12px;font-weight:900}.csl-v218-refund-grid input,.csl-v218-refund-grid select{width:100%;height:46px;padding:0 12px;border:1px solid #d5dee5;border-radius:11px;background:#fff;color:#243544;font:inherit;box-sizing:border-box}.csl-v218-refund-ack{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #bcdcc8;border-radius:13px;background:#f1faf5;color:#315c44;line-height:1.45}.csl-v218-refund-ack input{margin-top:3px}.csl-v218-refund-notice,.csl-v218-refund-complete,.csl-v218-refund-awaiting{display:grid;gap:4px;padding:14px 16px;border-radius:15px}.csl-v218-refund-notice.is-success,.csl-v218-refund-complete{border:1px solid #b7ddc5;background:#effaf3;color:#176a42}.csl-v218-refund-notice.is-info,.csl-v218-refund-awaiting{border:1px solid #cedce8;background:#f3f8fb;color:#31536d}.csl-v218-refund-notice.is-error{border:1px solid #edbec5;background:#fff1f3;color:#8d2937}.csl-v218-refund-complete a{justify-self:start;margin-top:7px}.csl-v218-refund-awaiting em{font-style:normal;font-size:12px}.csl-v218-refund-doc-label{display:inline-flex;margin-top:4px;padding:3px 7px;border-radius:999px;background:#eef9f3;color:#176a42;font-size:10px;font-weight:900}.csl-v114-invoice-list article.is-refund{border-left:4px solid #3b9d6b!important}
@media(max-width:760px){.csl-v218-refund-summary,.csl-v218-refund-grid{grid-template-columns:1fr}.csl-v218-refund-form{padding:14px}.csl-reg-table .csl-reg-record-row--cancelled>td{background:#fff4f5!important}.csl-reg-table .csl-reg-record-row--refunded>td{background:#f3faf6!important}}
@media(prefers-color-scheme:dark){body.csl-registration-manager-area .csl-reg-table .csl-reg-record-row--cancelled>td,body.csl-registration-manager-dashboard .csl-reg-table .csl-reg-record-row--cancelled>td{background:#2c171d!important;border-color:#63303a!important;color:#f1dfe2!important}body.csl-registration-manager-area .csl-reg-table .csl-reg-record-row--refunded>td,body.csl-registration-manager-dashboard .csl-reg-table .csl-reg-record-row--refunded>td{background:#12261c!important;border-color:#2f5d45!important}.csl-v218-refund-head,.csl-v218-refund-summary>div,.csl-v218-refund-form{border-color:#2d3f4e;background:#0f1a24}.csl-v218-refund-head h1,.csl-v218-refund-summary strong{color:#edf4f8}.csl-v218-refund-head p,.csl-v218-refund-summary span{color:#9caebc}.csl-v218-refund-grid label>span{color:#c4d0d8}.csl-v218-refund-grid input,.csl-v218-refund-grid select{border-color:#334858;background:#0b151e;color:#eef4f8}.csl-v218-refund-ack{border-color:#2f5b44;background:#13271e;color:#a9d9bc}.csl-v218-refund-notice.is-info,.csl-v218-refund-awaiting{border-color:#325168;background:#122536;color:#acd0e8}.csl-v218-refund-notice.is-success,.csl-v218-refund-complete{border-color:#2f5d45;background:#12281d;color:#9adeb7}.csl-v218-refund-badge.is-required{border-color:#7e3b47;background:#2d171d;color:#ff9eaa}.csl-v218-refund-badge.is-awaiting{border-color:#745e2f;background:#2b2516;color:#edce86}.csl-v218-refund-badge.is-refunded{border-color:#315f49;background:#13281e;color:#9ee0b9}}

/* ---- csl-safety-v2028.css ---- */
/* CSL 2.0.29 — Contacts, photos privées et sécurité de sortie des enfants. */
.csl-reg-safety-person-row{
  display:grid!important;
  grid-template-columns:minmax(130px,1fr) minmax(150px,1fr) minmax(155px,.85fr) minmax(170px,1fr) auto!important;
  gap:12px!important;
  align-items:end!important;
  padding:14px!important;
  margin:10px 0!important;
  border:1px solid rgba(15,52,73,.13)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.74)!important;
}
.csl-reg-safety-person-row label{min-width:0!important;margin:0!important}
.csl-reg-safety-person-row input{width:100%!important;min-width:0!important}
.csl-reg-safety-person-row input[data-csl-ten-digit-phone]{font-variant-numeric:tabular-nums;letter-spacing:.035em}
.csl-reg-safety-person-row .csl-reg-emergency-remove{align-self:end;min-height:46px;padding:0 14px}
.csl-reg-safety-privacy{margin:9px 0 0;color:#5c6977;font-size:.83rem;line-height:1.45}
.csl-reg-pickup-panel{margin-top:22px;padding-top:20px;border-top:1px solid rgba(15,52,73,.14)}
.csl-reg-pickup-panel[hidden]{display:none!important}
.csl-reg-pickup-panel .csl-reg-subheading span:before{content:'✓';display:inline-grid;place-items:center;width:24px;height:24px;margin-right:8px;border-radius:999px;background:#e6f7ee;color:#14774c;font-size:.78em}
@media (max-width:1000px){
  .csl-reg-safety-person-row{grid-template-columns:1fr 1fr!important}
  .csl-reg-safety-person-row .csl-reg-emergency-remove{grid-column:1/-1;justify-self:start}
}
@media (max-width:600px){
  .csl-reg-safety-person-row{grid-template-columns:1fr!important;padding:12px!important;border-radius:15px!important}
  .csl-reg-safety-person-row .csl-reg-emergency-remove{grid-column:auto;width:100%}
  .csl-reg-pickup-panel{margin-top:18px;padding-top:16px}
}
@media (prefers-color-scheme:dark){
  .csl-reg-safety-person-row{background:rgba(17,31,43,.88)!important;border-color:rgba(255,255,255,.12)!important}
  .csl-reg-safety-privacy{color:#aebdca}
  .csl-reg-pickup-panel{border-top-color:rgba(255,255,255,.12)}
  .csl-reg-pickup-panel .csl-reg-subheading span:before{background:rgba(42,176,111,.16);color:#8fe2b7}
}

/* ---- csl-child-departure-v2030.css ---- */
/* CSL 2.0.30 — consigne explicite de sortie des enfants. */
.csl-reg-pickup-restriction{
  display:flex;align-items:flex-start;gap:12px;margin:12px 0 16px;padding:15px 16px;
  border:2px solid #efb2b7;border-radius:16px;background:#fff5f6;color:#172235;cursor:pointer;
  box-shadow:0 8px 22px rgba(166,24,39,.06)
}
.csl-reg-pickup-restriction input{width:22px;height:22px;min-width:22px;margin:2px 0 0;accent-color:#d61f31}
.csl-reg-pickup-restriction>span{display:grid;gap:4px;line-height:1.35}
.csl-reg-pickup-restriction strong{font-size:15px;color:#a71726}
.csl-reg-pickup-restriction small{font-size:12px;color:#5f6977}
.csl-reg-pickup-restriction:has(input:checked){background:#ffedef;border-color:#d61f31;box-shadow:0 0 0 3px rgba(214,31,49,.08)}
.csl-reg-pickup-restriction:has(input:checked) strong:before{content:'⛔ ';}
.csl-reg-subheading--pickup{margin-top:16px}

/* Très visible dans la liste des dossiers sans casser la vue compacte. */
.csl-reg-record-row--pickup-restricted td:first-child{box-shadow:inset 4px 0 0 #d61f31}
.csl-reg-pickup-restriction-badge{
  display:inline-flex;align-items:center;gap:5px;margin-left:7px;padding:4px 8px;border-radius:999px;
  background:#ffe5e8;border:1px solid #ed9aa3;color:#a41624;font-size:10px;font-weight:900;line-height:1;
  text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;white-space:nowrap
}
.csl-reg-pickup-restriction-badge b{font:inherit}

@media (max-width:700px){
  .csl-reg-pickup-restriction{padding:12px 13px;border-radius:14px}
  .csl-reg-pickup-restriction strong{font-size:14px}
  .csl-reg-pickup-restriction small{font-size:11px}
  .csl-manager-v2 .csl-v105-section--records .csl-reg-pickup-restriction-badge{margin-left:4px;padding:3px 5px}
  .csl-manager-v2 .csl-v105-section--records .csl-reg-pickup-restriction-badge b{display:none}
}
@media (prefers-color-scheme:dark){
  .csl-reg-pickup-restriction{background:#321c22;border-color:#91414c;color:#f6f7f9}
  .csl-reg-pickup-restriction strong{color:#ff9ca7}.csl-reg-pickup-restriction small{color:#d8cbd0}
  .csl-reg-pickup-restriction:has(input:checked){background:#451d25;border-color:#ef6372}
  .csl-reg-pickup-restriction-badge{background:#4b1f27;border-color:#8f404b;color:#ffb6be}
}
@media (max-width:700px){
  .csl-manager-v2 .csl-v105-section--records .csl-reg-record-row--pickup-restricted td:nth-child(2){position:relative!important;padding-left:20px!important}
  .csl-manager-v2 .csl-v105-section--records .csl-reg-record-row--pickup-restricted .csl-reg-pickup-restriction-badge{position:absolute;left:0;top:50%;transform:translateY(-50%);margin:0;padding:0;border:0;background:transparent;font-size:12px;line-height:1}
}

/* ---- csl-safety-v2032.css ---- */
/* CSL V2.0.32 — photos privées des personnes autorisées */
.csl-reg-safety-person-row--photo{
  align-items:stretch;
}
.csl-reg-safety-photo{
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:6px 10px;
  align-items:center;
  min-width:0;
  padding:9px;
  border:1px solid rgba(21,64,78,.12);
  border-radius:14px;
  background:rgba(244,249,250,.92);
}
.csl-reg-safety-photo__preview{
  grid-row:1/3;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:2px solid #fff;
  border-radius:50%;
  background:#e7eef1;
  color:#637783;
  font-size:24px;
  box-shadow:0 3px 10px rgba(18,43,57,.10);
}
.csl-reg-safety-photo__preview img{width:100%;height:100%;display:block;object-fit:cover}
.csl-reg-safety-photo__upload{display:block!important;min-width:0;cursor:pointer}
.csl-reg-safety-photo__upload>span{display:block;padding:7px 9px;border-radius:9px;background:#e7f5f2;color:#216b58;font-size:11px;font-weight:900;text-align:center}
.csl-reg-safety-photo__upload input[type=file]{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;padding:0!important;margin:0!important;border:0!important}
.csl-reg-safety-photo__remove{display:flex!important;align-items:center;justify-content:center;gap:5px;color:#a72834!important;font-size:10px!important;font-weight:800!important;text-align:center!important}
.csl-reg-safety-photo__remove input{width:auto!important;margin:0!important}

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}

/* Un dossier déjà informé reste verrouillé, sauf sa sécurité qui doit pouvoir
 * évoluer à tout moment. Les contrôles non sécurité sont désactivés par JS. */
.csl-reg-manager-form--informed [data-csl-informed-lock]{opacity:.82}
.csl-reg-manager-form--informed [data-csl-informed-lock] .csl-reg-pickup-panel,
.csl-reg-manager-form--informed [data-csl-informed-lock] .csl-reg-emergency-list,
.csl-reg-manager-form--informed [data-csl-informed-lock] [data-csl-add-emergency]{opacity:1}

@media (max-width:680px){
  .csl-reg-safety-photo{grid-template-columns:54px minmax(0,1fr);padding:8px}
  .csl-reg-safety-photo__preview{width:50px;height:50px;font-size:21px}
  .csl-reg-safety-photo__upload>span{padding:6px 7px;font-size:10px}
}

@media (prefers-color-scheme:dark){
  .csl-reg-safety-photo{background:#12212c;border-color:rgba(255,255,255,.10)}
  .csl-reg-safety-photo__preview{background:#263947;border-color:#334d5f;color:#cbd9e1}
  .csl-reg-safety-photo__upload>span{background:#173a34;color:#9ce6d0}
  .csl-reg-safety-photo__remove{color:#ff9ca7!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-v2038.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}}
/* V2.0.38 - gestes de recadrage fiables Safari iOS/iPadOS */
.csl-photo-cropper__stage{touch-action:none!important;overscroll-behavior:contain;-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}
.csl-photo-cropper__stage>img{pointer-events:none!important;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d}
.csl-photo-cropper__frame{touch-action:none!important}
