/* Actions et Bénévolat : styles
   La police est héritée du thème (Elementor) pour s'intégrer au site. */

.aeb-wrap {
  --aeb-accent: #1d4e89;
  --aeb-ink: #1f2933;
  --aeb-muted: #5f6b7a;
  --aeb-line: #d9dee5;
  --aeb-soft: #f4f6f8;
  --aeb-surface: #ffffff;
  --aeb-ok: #1e7b4f;
  --aeb-ok-bg: #e6f4ec;
  --aeb-no: #a8322f;
  --aeb-no-bg: #fbeaea;
  --aeb-warn: #8a5a00;
  --aeb-radius: 6px;
  color: var(--aeb-ink);
  font-size: 1rem;
  line-height: 1.5;
  max-width: 1100px;
}
.aeb-wrap *, .aeb-wrap *::before, .aeb-wrap *::after { box-sizing: border-box; }
.aeb-wrap h2, .aeb-wrap h3, .aeb-wrap h4 { color: var(--aeb-ink); line-height: 1.25; }
.aeb-wrap a { color: var(--aeb-accent); }
.aeb-wrap :focus-visible { outline: 2px solid var(--aeb-accent); outline-offset: 2px; }
.aeb-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.aeb-muted { color: var(--aeb-muted); font-size: .92em; }
.aeb-warn { color: var(--aeb-warn); font-size: .92em; }
.aeb-nowrap { white-space: nowrap; }
.aeb-strong { font-weight: 600; }
.aeb-h2 { font-size: 1.5rem; margin: .2em 0 .4em; }
.aeb-subtitle { font-size: 1.1rem; margin: 1.8em 0 .6em; }
.aeb-help { color: var(--aeb-muted); margin: .2em 0 1em; }
.aeb-plain { margin: 0 0 1em 1.2em; }
.aeb-names { margin: 0; }

/* ---------- Boutons & liens ---------- */
.aeb-btn {
  display: inline-block; border: 1px solid var(--aeb-accent); background: var(--aeb-accent); color: #fff !important;
  padding: .6em 1.1em; border-radius: var(--aeb-radius); font: inherit; font-weight: 600; line-height: 1.2;
  text-decoration: none !important; cursor: pointer; transition: filter .15s;
}
.aeb-btn:hover { filter: brightness(1.1); }
.aeb-btn-ghost { background: transparent; color: var(--aeb-accent) !important; }
.aeb-btn-ghost:hover { background: var(--aeb-soft); filter: none; }
.aeb-btn-danger { background: var(--aeb-no); border-color: var(--aeb-no); }
.aeb-btn-sm { padding: .35em .7em; font-size: .9em; }
.aeb-link { text-decoration: underline; text-underline-offset: 2px; font-size: .95em; }
.aeb-link-danger, .aeb-row-actions .aeb-link-danger { color: var(--aeb-no) !important; }
.aeb-icon-btn { background: none; border: 0; color: var(--aeb-no); text-decoration: underline; cursor: pointer; font: inherit; font-size: .9em; padding: .3em; }
.aeb-back { display: inline-block; margin-bottom: 1em; text-decoration: none; font-weight: 600; }
.aeb-back::before { content: "‹ "; }
.aeb-inline-links { display: flex; flex-wrap: wrap; gap: .4em 1.2em; margin: .3em 0 1em; }

/* ---------- Messages ---------- */
.aeb-notice { padding: .8em 1em; border-radius: var(--aeb-radius); margin: 0 0 1em; border-left: 4px solid var(--aeb-accent); background: var(--aeb-soft); }
.aeb-notice-success { border-color: var(--aeb-ok); background: var(--aeb-ok-bg); }
.aeb-notice-error { border-color: var(--aeb-no); background: var(--aeb-no-bg); }
.aeb-empty { padding: 2em 1.2em; text-align: center; border: 1px dashed var(--aeb-line); border-radius: var(--aeb-radius); color: var(--aeb-muted); }
.aeb-empty p { margin: 0 0 1em; }
.aeb-empty p:last-child { margin: 0; }

/* ---------- Barre d'outils, filtres, onglets ---------- */
.aeb-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8em; margin: 0 0 1.2em; }
.aeb-toolbar .aeb-subtitle { margin: 0; }
.aeb-filters { display: flex; flex-wrap: wrap; gap: .4em; }
.aeb-filter {
  --aeb-type: var(--aeb-accent);
  padding: .35em .85em; border: 1px solid var(--aeb-line); border-radius: 999px; text-decoration: none !important;
  color: var(--aeb-ink) !important; font-size: .92em; background: var(--aeb-surface);
}
.aeb-filter.is-active { border-color: var(--aeb-type); box-shadow: inset 0 0 0 1px var(--aeb-type); font-weight: 600; }
.aeb-tabs { display: flex; flex-wrap: wrap; gap: .2em; border-bottom: 1px solid var(--aeb-line); margin: 0 0 1.4em; }
.aeb-tab { padding: .6em 1em; text-decoration: none !important; color: var(--aeb-muted) !important; border-bottom: 3px solid transparent; margin-bottom: -1px; font-weight: 600; }
.aeb-tab.is-active { color: var(--aeb-ink) !important; border-bottom-color: var(--aeb-accent); }
.aeb-count { display: inline-block; min-width: 1.4em; padding: 0 .4em; border-radius: 999px; background: var(--aeb-no); color: #fff; font-size: .8em; text-align: center; }

/* ---------- Pastilles ---------- */
.aeb-type {
  --aeb-type: var(--aeb-accent);
  display: inline-flex; align-items: center; gap: .4em; font-size: .85em; font-weight: 600; color: var(--aeb-ink);
}
.aeb-type::before { content: ""; width: .7em; height: .7em; border-radius: 2px; background: var(--aeb-type); }
.aeb-chip { display: inline-block; padding: .1em .6em; border-radius: 999px; font-size: .8em; font-weight: 600; background: var(--aeb-soft); color: var(--aeb-muted); }
.aeb-chip-inscrit, .aeb-exp-remboursee { background: var(--aeb-ok-bg); color: var(--aeb-ok); }
.aeb-chip-indisponible, .aeb-chip-annule, .aeb-exp-refusee { background: var(--aeb-no-bg); color: var(--aeb-no); }
.aeb-exp-validee { background: #e8eef8; color: var(--aeb-accent); }
.aeb-exp-soumise { background: #fdf3dc; color: var(--aeb-warn); }
.aeb-card-top { display: flex; flex-wrap: wrap; align-items: center; gap: .5em .8em; }

/* ---------- Cartes d'actions ---------- */
.aeb-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.2em; }
.aeb-card {
  --aeb-type: var(--aeb-accent);
  display: flex; flex-direction: column; gap: .35em; padding: 1.1em 1.2em 1.2em;
  background: var(--aeb-surface); border: 1px solid var(--aeb-line); border-top: 5px solid var(--aeb-type); border-radius: var(--aeb-radius);
}
.aeb-card.is-cancelled { opacity: .7; }
.aeb-card-title { font-size: 1.2rem; margin: .3em 0 0; }
.aeb-card-title a { color: inherit; text-decoration: none; }
.aeb-card-title a:hover { text-decoration: underline; }
.aeb-card p { margin: 0; }
.aeb-card-date { font-weight: 600; }
.aeb-card-place, .aeb-card-deadline { color: var(--aeb-muted); font-size: .92em; }
.aeb-card-summary { margin-top: .3em !important; }
.aeb-card-btn { margin-top: auto; align-self: flex-start; }
.aeb-card .aeb-progress { margin: .5em 0 .8em; }
.aeb-state-cancel { color: var(--aeb-no); font-weight: 600; margin: .5em 0 .8em !important; }

.aeb-progress p { margin: .3em 0 0; font-size: .9em; color: var(--aeb-muted); }
.aeb-progress-bar { height: 8px; background: var(--aeb-soft); border-radius: 999px; overflow: hidden; }
.aeb-progress-bar span { display: block; height: 100%; background: var(--aeb-type, var(--aeb-accent)); border-radius: 999px; }

/* ---------- Fiche action ---------- */
.aeb-event { --aeb-type: var(--aeb-accent); max-width: 780px; }
.aeb-event-head { border-left: 5px solid var(--aeb-type); padding-left: 1em; margin-bottom: 1.2em; }
.aeb-event-title { font-size: clamp(1.5rem, 3vw, 2rem); margin: .25em 0; }
.aeb-event-lead { font-size: 1.1em; color: var(--aeb-muted); margin: 0; }
.aeb-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1px; background: var(--aeb-line); border: 1px solid var(--aeb-line); border-radius: var(--aeb-radius); overflow: hidden; margin: 0 0 1.5em; }
.aeb-facts > div { background: var(--aeb-surface); padding: .8em 1em; }
.aeb-facts dt { font-size: .85em; color: var(--aeb-muted); margin: 0 0 .15em; }
.aeb-facts dd { margin: 0; font-weight: 600; }
.aeb-facts dd .aeb-progress p { font-weight: 400; }
.aeb-section { margin: 0 0 1.6em; }
.aeb-section h3 { font-size: 1.1rem; margin: 0 0 .5em; }
.aeb-prose p { margin: 0 0 .8em; }
.aeb-programme { list-style: none; margin: 0; padding: 0; border-left: 2px solid var(--aeb-type); }
.aeb-programme li { display: flex; gap: 1em; padding: .35em 0 .35em 1em; }
.aeb-prog-time { min-width: 4.5em; font-weight: 700; font-variant-numeric: tabular-nums; }
.aeb-prices { list-style: none; margin: 0 0 .8em; padding: 0; max-width: 420px; }
.aeb-prices li { display: flex; justify-content: space-between; gap: 1em; padding: .35em 0; border-bottom: 1px solid var(--aeb-line); }
.aeb-prices strong { font-variant-numeric: tabular-nums; }

.aeb-response { padding: 1.3em; background: var(--aeb-soft); border-radius: var(--aeb-radius); }
.aeb-summary { background: var(--aeb-surface); border: 1px solid var(--aeb-line); border-radius: var(--aeb-radius); padding: 1em 1.1em; margin: 0 0 1.2em; }
.aeb-summary-inscrit { border-left: 4px solid var(--aeb-ok); }
.aeb-summary-indisponible { border-left: 4px solid var(--aeb-no); }
.aeb-summary-status { font-weight: 700; margin: 0 0 .4em; }
.aeb-summary-details { margin: 0; color: var(--aeb-muted); font-size: .95em; }
.aeb-summary-links { display: flex; flex-wrap: wrap; gap: .5em 1.2em; margin: .8em 0 0; }
.aeb-pay { margin-top: 1em; }

/* ---------- Formulaires ---------- */
.aeb-form input[type=text], .aeb-form input[type=email], .aeb-form input[type=url], .aeb-form input[type=number],
.aeb-form input[type=date], .aeb-form input[type=time], .aeb-form input[type=datetime-local], .aeb-form select, .aeb-form textarea {
  width: 100%; max-width: 100%; padding: .5em .65em; border: 1px solid #b9c1cc; border-radius: 4px; background: #fff; color: var(--aeb-ink); font: inherit; min-height: 2.5em;
}
.aeb-form textarea { min-height: 0; }
.aeb-form input[type=color] { width: 3.2em; height: 2.2em; padding: 2px; border: 1px solid #b9c1cc; border-radius: 4px; }
.aeb-form input[type=file] { font-size: .95em; }
.aeb-input-sm { width: 5.5em !important; min-height: 2em !important; padding: .3em .45em !important; }
.aeb-label { display: block; font-weight: 600; font-size: .92em; margin: 0 0 .3em; }
.aeb-field { display: block; margin: 0 0 1em; }
.aeb-field small { display: block; margin-top: .3em; }
.aeb-field-end { display: flex; align-items: flex-end; }
.aeb-check { display: flex; align-items: flex-start; gap: .5em; margin: 0 0 .7em; cursor: pointer; }
.aeb-check input { margin-top: .25em; flex: none; }
.aeb-checks { display: flex; flex-wrap: wrap; gap: .2em 1.4em; margin: 0 0 1em; }
.aeb-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1.2em; }
.aeb-grid-4 { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.aeb-span-2 { grid-column: 1 / -1; }
.aeb-fieldset { border: 1px solid var(--aeb-line); border-radius: var(--aeb-radius); padding: 1em 1.2em .3em; margin: 0 0 1.2em; background: var(--aeb-surface); }
.aeb-fieldset legend { font-weight: 700; padding: 0 .4em; }
.aeb-panel { border: 1px solid var(--aeb-line); border-radius: var(--aeb-radius); margin: 0 0 1.2em; background: var(--aeb-surface); }
.aeb-panel > summary { cursor: pointer; padding: .8em 1.2em; font-weight: 700; }
.aeb-panel[open] > summary { border-bottom: 1px solid var(--aeb-line); }
.aeb-panel > :not(summary) { margin-left: 1.2em; margin-right: 1.2em; }
.aeb-panel > :not(summary):first-of-type { margin-top: 1em; }
.aeb-panel > form, .aeb-panel > .aeb-grid { padding-bottom: .4em; }
.aeb-panel-danger > summary { color: var(--aeb-no); }
.aeb-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .8em 1.4em; margin: 1em 0 1.2em; }
.aeb-actions-sticky { position: sticky; bottom: 0; background: var(--aeb-surface); padding: .8em 0; border-top: 1px solid var(--aeb-line); z-index: 5; }
.aeb-inline-form { display: flex; gap: .4em; align-items: center; margin: .2em 0; }
.aeb-form-compact .aeb-field { margin-bottom: .7em; }
.aeb-multi { min-width: 280px; max-width: 100%; }

/* Choix disponible / indisponible */
.aeb-choice { border: 0; padding: 0; margin: .6em 0; display: flex; flex-wrap: wrap; gap: .5em; }
.aeb-pill { display: inline-flex; align-items: center; gap: .45em; padding: .45em .9em; border: 1px solid #b9c1cc; border-radius: 999px; background: #fff; cursor: pointer; font-weight: 600; font-size: .95em; }
.aeb-pill input { margin: 0; accent-color: var(--aeb-accent); }
.aeb-pill-yes:has(input:checked) { border-color: var(--aeb-ok); background: var(--aeb-ok-bg); color: var(--aeb-ok); }
.aeb-pill-no:has(input:checked) { border-color: var(--aeb-no); background: var(--aeb-no-bg); color: var(--aeb-no); }
.aeb-pill-skip { font-weight: 400; color: var(--aeb-muted); }
.aeb-pill.is-disabled { opacity: .5; cursor: not-allowed; }

.aeb-slots { display: grid; gap: .7em; margin: 0 0 1em; }
.aeb-slots.is-hidden { display: none; }
.aeb-day { font-size: 1rem; margin: .8em 0 0; }
.aeb-slot { background: var(--aeb-surface); border: 1px solid var(--aeb-line); border-left: 4px solid var(--aeb-line); border-radius: var(--aeb-radius); padding: .8em 1em; }
.aeb-slot.is-dispo { border-left-color: var(--aeb-ok); }
.aeb-slot.is-indispo { border-left-color: var(--aeb-no); }
.aeb-slot.is-full:not(.is-dispo) { background: var(--aeb-soft); }
.aeb-slot-single { background: transparent; border: 0; padding: 0; }
.aeb-slot-head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3em 1em; }
.aeb-slot-when strong { display: block; }
.aeb-slot-when span { display: block; color: var(--aeb-muted); font-size: .92em; }
.aeb-slot-meta { color: var(--aeb-muted); font-size: .9em; font-variant-numeric: tabular-nums; }
.aeb-full { color: var(--aeb-no); font-weight: 700; }
.aeb-slot-names { margin: .5em 0 0; font-size: .88em; color: var(--aeb-muted); }
.aeb-when-dispo, .aeb-when-indispo { display: none; }
.aeb-slot.is-dispo > .aeb-when-dispo, .aeb-slot.is-indispo > .aeb-when-indispo { display: block; }
.aeb-hours.aeb-when-dispo { display: none; gap: 1em; }
.aeb-slot.is-dispo > .aeb-hours { display: flex; flex-wrap: wrap; }
.aeb-hours label { flex: 0 1 160px; }
.aeb-reason { display: grid; gap: .5em; max-width: 420px; }
.aeb-reason label { margin: 0; }
.aeb-global { margin: .5em 0 1.2em; }
.aeb-global-reason { display: none; }
.aeb-global.is-on .aeb-global-reason { display: block; margin-left: 1.6em; }

.aeb-guests { margin: 1em 0; }
.aeb-guest { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .6em; align-items: end; padding: .8em; margin: 0 0 .6em; background: var(--aeb-surface); border: 1px solid var(--aeb-line); border-radius: var(--aeb-radius); }
.aeb-guest label { margin: 0; }

/* Mode de disponibilité (édition) */
.aeb-modes { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .7em; margin: 0 0 1em; }
.aeb-mode { display: flex; gap: .6em; align-items: flex-start; padding: .8em; border: 1px solid var(--aeb-line); border-radius: var(--aeb-radius); cursor: pointer; }
.aeb-mode:has(input:checked) { border-color: var(--aeb-accent); box-shadow: inset 0 0 0 1px var(--aeb-accent); }
.aeb-mode input { margin-top: .25em; }
.aeb-mode small { display: block; color: var(--aeb-muted); }
[data-mode="aucun"] .aeb-only-slots { display: none; }
[data-mode="libre"] .aeb-only-aucun, [data-mode="creneaux"] .aeb-only-aucun { display: none; }
[data-mode="libre"] .aeb-lbl-creneaux, [data-mode="creneaux"] .aeb-lbl-libre, [data-mode="aucun"] .aeb-lbl-creneaux { display: none; }
[data-mode="libre"] .aeb-only-creneaux-g { display: none; }
.aeb-generator { margin-top: 1em; }
.aeb-days { border: 0; padding: 0; margin: 0 0 1em; display: flex; flex-wrap: wrap; gap: .2em 1em; }
.aeb-days legend { width: 100%; }
.aeb-event-form:not(.pay-on) .aeb-if-pay, .aeb-event-form:not(.pay-acompte) .aeb-if-acompte, .aeb-event-form:not(.sumup-manuel) .aeb-if-manuel { display: none; }
.aeb-form-compact:not(.is-refund) .aeb-if-refund { display: none; }

/* ---------- Tableaux ---------- */
.aeb-table-wrap { overflow-x: auto; margin: 0 0 1em; border: 1px solid var(--aeb-line); border-radius: var(--aeb-radius); background: var(--aeb-surface); }
.aeb-table { width: 100%; border-collapse: collapse; font-size: .94em; margin: 0; }
.aeb-table th, .aeb-table td { padding: .6em .75em; border-bottom: 1px solid var(--aeb-line); text-align: left; vertical-align: top; }
.aeb-table thead th { background: var(--aeb-soft); font-weight: 700; white-space: nowrap; }
.aeb-table tbody tr:last-child td { border-bottom: 0; }
.aeb-table .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.aeb-table tr[style] td:first-child { box-shadow: inset 4px 0 0 var(--aeb-type); }
.aeb-td-date { white-space: nowrap; }
.aeb-due { color: var(--aeb-no); font-weight: 700; }
.aeb-row-actions { white-space: nowrap; }
.aeb-row-actions a { margin-right: .8em; font-size: .92em; }
.aeb-table-edit td { padding: .4em; }
.aeb-table-edit input[type=text], .aeb-table-edit input[type=date], .aeb-table-edit input[type=time], .aeb-table-edit select { min-width: 7em; }

.aeb-matrix th { vertical-align: bottom; min-width: 130px; }
.aeb-matrix th span { display: block; font-weight: 400; }
.aeb-matrix .aeb-matrix-day { font-weight: 700; }
.aeb-matrix-count { margin-top: .3em; font-weight: 700 !important; color: var(--aeb-accent); }
.aeb-sticky { position: sticky; left: 0; background: var(--aeb-surface); z-index: 1; min-width: 160px; }
thead .aeb-sticky { background: var(--aeb-soft); }
.aeb-cell span { display: block; font-weight: 600; font-size: .92em; }
.aeb-cell small { display: block; color: var(--aeb-muted); }
.aeb-cell-yes { background: #f3faf6; }
.aeb-cell-yes span { color: var(--aeb-ok); }
.aeb-cell-no { background: #fdf6f6; }
.aeb-cell-no span { color: var(--aeb-no); }
.aeb-cell-none { color: var(--aeb-muted); text-align: center; }
.aeb-cell .aeb-att { margin: .3em 0; min-height: 2em; padding: .2em .3em; font-size: .9em; width: auto; }

/* ---------- Indicateurs ---------- */
.aeb-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .8em; margin: 0 0 1.4em; }
.aeb-kpi { padding: .9em 1em; background: var(--aeb-surface); border: 1px solid var(--aeb-line); border-radius: var(--aeb-radius); }
.aeb-kpi strong { display: block; font-size: 1.5rem; line-height: 1.15; font-variant-numeric: tabular-nums; }
.aeb-kpi strong small { font-size: .6em; color: var(--aeb-muted); }
.aeb-kpi span { color: var(--aeb-muted); font-size: .9em; }

/* ---------- Listes membre ---------- */
.aeb-list { display: grid; gap: .8em; }
.aeb-row { --aeb-type: var(--aeb-accent); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 300px); gap: 1em 1.5em; padding: 1em 1.2em; background: var(--aeb-surface); border: 1px solid var(--aeb-line); border-left: 5px solid var(--aeb-type); border-radius: var(--aeb-radius); }
.aeb-row h4 { margin: .3em 0 .1em; font-size: 1.1rem; }
.aeb-row h4 a { color: inherit; }
.aeb-row p { margin: 0; }
.aeb-row-details { margin-top: .5em !important; font-size: .92em; color: var(--aeb-muted); }
.aeb-row-side .aeb-pay { margin-top: 0; }
.aeb-row-side .aeb-btn { margin-top: .6em; }

/* ---------- Gestion ---------- */
.aeb-manage-head { --aeb-type: var(--aeb-accent); display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1em; border-left: 5px solid var(--aeb-type); padding-left: 1em; margin: 0 0 1.2em; }
.aeb-manage-head p { margin: 0; }
.aeb-expense { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 320px); gap: 1em 1.5em; padding: 1em 1.2em; margin: 0 0 .8em; background: var(--aeb-surface); border: 1px solid var(--aeb-line); border-radius: var(--aeb-radius); }
.aeb-exp-card-soumise { border-left: 5px solid var(--aeb-warn); }
.aeb-exp-card-validee { border-left: 5px solid var(--aeb-accent); }
.aeb-exp-card-remboursee { border-left: 5px solid var(--aeb-ok); }
.aeb-exp-card-refusee { border-left: 5px solid var(--aeb-no); opacity: .8; }
.aeb-expense h4 { margin: .4em 0 .2em; font-size: 1.1rem; display: flex; justify-content: space-between; gap: 1em; }
.aeb-amount { font-variant-numeric: tabular-nums; }
.aeb-expense p { margin: .2em 0; }
.aeb-expense-side { border-left: 1px solid var(--aeb-line); padding-left: 1.2em; }

/* Administration WordPress */
.aeb-admin .aeb-wrap { margin-top: 1em; }
.aeb-admin .aeb-tabs { background: transparent; }
.aeb-settings-tools { margin-top: 0; }

@media (max-width: 720px) {
  .aeb-grid { grid-template-columns: 1fr; }
  .aeb-row, .aeb-expense { grid-template-columns: 1fr; }
  .aeb-expense-side { border-left: 0; padding-left: 0; border-top: 1px solid var(--aeb-line); padding-top: 1em; }
  .aeb-response { padding: 1em; }
  .aeb-tab { padding: .5em .7em; }
}
@media (prefers-reduced-motion: reduce) {
  .aeb-btn { transition: none; }
}

/* ---------- 1.1 : pointage en un clic ---------- */
.aeb-mark { display: flex; flex-wrap: wrap; align-items: center; gap: .3em; margin-top: .35em; transition: box-shadow .2s; border-radius: 6px; }
.aeb-mark.is-saving { opacity: .6; }
.aeb-mark.is-saved { box-shadow: 0 0 0 2px var(--aeb-ok-bg); }
.aeb-mark-btn { display: inline-block; padding: .3em .7em; border: 1px solid #b9c1cc; border-radius: 999px; font-size: .85em; font-weight: 600; text-decoration: none !important; color: var(--aeb-muted) !important; background: #fff; cursor: pointer; line-height: 1.3; }
.aeb-mark-btn:hover { border-color: var(--aeb-ink); }
.aeb-mark-yes.is-active { background: var(--aeb-ok); border-color: var(--aeb-ok); color: #fff !important; }
.aeb-mark-no.is-active { background: var(--aeb-no); border-color: var(--aeb-no); color: #fff !important; }
.aeb-mark-hours { margin: 0; }
.aeb-mark-hours .aeb-input-sm { width: 4.6em !important; }
.aeb-cell .aeb-mark { flex-direction: row; }

/* ---------- 1.1 : objectifs, classement ---------- */
.aeb-goal { display: inline-block; padding: .1em .6em; border-radius: 999px; font-size: .8em; font-weight: 700; white-space: nowrap; }
.aeb-goal-atteint { background: var(--aeb-ok-bg); color: var(--aeb-ok); }
.aeb-goal-en_bonne_voie { background: #e8eef8; color: var(--aeb-accent); }
.aeb-goal-en_retard, .aeb-goal-non_atteint { background: var(--aeb-no-bg); color: var(--aeb-no); }
.aeb-goals { display: grid; gap: .5em; margin: .6em 0; max-width: 560px; }
.aeb-goal-row { display: grid; grid-template-columns: 5.5em minmax(0, 1fr) 7.5em; gap: .8em; align-items: center; font-size: .92em; }
.aeb-goal-lbl { font-weight: 600; }
.aeb-goal-val { text-align: right; font-variant-numeric: tabular-nums; }
.aeb-goal-bar { position: relative; height: 10px; background: var(--aeb-soft); border-radius: 999px; }
.aeb-goal-bar > span { display: block; height: 100%; background: var(--aeb-accent); border-radius: 999px; }
.aeb-goal-bar.is-met > span { background: var(--aeb-ok); }
.aeb-goal-bar i { position: absolute; top: -3px; bottom: -3px; width: 2px; background: var(--aeb-ink); opacity: .55; }
.aeb-mini-bar { display: inline-block; vertical-align: middle; width: 60px; height: 6px; background: var(--aeb-soft); border-radius: 999px; overflow: hidden; }
.aeb-mini-bar span { display: block; height: 100%; background: var(--aeb-accent); }
.aeb-goal-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .8em; margin: 0 0 1.4em; }
.aeb-goal-card { --aeb-type: var(--aeb-accent); padding: .9em 1.1em; background: var(--aeb-surface); border: 1px solid var(--aeb-line); border-top: 4px solid var(--aeb-type); border-radius: var(--aeb-radius); }
.aeb-goal-card p { margin: 0 0 .5em; }
.aeb-goal-card ul { list-style: none; margin: 0; padding: 0; }
.aeb-goal-card li { display: flex; justify-content: space-between; padding: .25em 0; font-weight: 700; }
.aeb-goal-card details { margin-top: .5em; font-size: .9em; }
.aeb-ranking td, .aeb-ranking th { white-space: nowrap; }
.aeb-sort { color: inherit !important; text-decoration: none !important; }
.aeb-sort.is-active, .aeb-sort:hover { text-decoration: underline !important; }
.aeb-sort.is-active::after { content: " ▾"; }
.aeb-pts-plus { color: var(--aeb-ok); font-weight: 700; }
.aeb-pts-minus { color: var(--aeb-no); font-weight: 700; }
.aeb-bareme { margin-top: -.3em; }
.aeb-man-soumise { background: #fdf3dc; color: var(--aeb-warn); }
.aeb-man-validee { background: var(--aeb-ok-bg); color: var(--aeb-ok); }
.aeb-man-refusee { background: var(--aeb-no-bg); color: var(--aeb-no); }
.aeb-manual-decide { flex-wrap: wrap; }
.aeb-manual-decide input[type=text]:not(.aeb-input-sm) { width: 11em; min-height: 2em; padding: .3em .45em; }
.aeb-filters-form:not(.is-perso) .aeb-if-perso { display: none; }
.aeb-wrap .masso-badge { vertical-align: middle; }
.aeb-wrap .masso-prompt { margin-bottom: 1.5em; }
.aeb-ranking td:last-child { white-space: normal; min-width: 150px; }
