/* Présences athlètes — styles limités à #aap-app pour ne pas gêner le thème */
#aap-app {
  --aap-p: #1d4ed8;
  --aap-ink: #0f172a;
  --aap-mut: #64748b;
  --aap-line: #e2e8f0;
  --aap-soft: #f1f5f9;
  --aap-card: #ffffff;
  --aap-yes: #15803d;
  --aap-yes-bg: #dcfce7;
  --aap-yes-line: #86efac;
  --aap-no: #b91c1c;
  --aap-no-bg: #fee2e2;
  --aap-no-line: #fca5a5;
  color: var(--aap-ink);
  font-size: 16px;
  line-height: 1.45;
  max-width: 1120px;
  margin: 0 auto;
  text-align: left;
}
#aap-app *, #aap-app *::before, #aap-app *::after { box-sizing: border-box; }
#aap-app [hidden] { display: none !important; }
#aap-app p { margin: 0 0 10px; }
#aap-app h3, #aap-app h4 { margin: 0; padding: 0; border: 0; text-transform: none; letter-spacing: normal; color: var(--aap-ink); }

/* Remise à plat des boutons et champs (les thèmes WordPress les stylent souvent) */
#aap-app button {
  font: inherit; text-transform: none; letter-spacing: normal; text-shadow: none; box-shadow: none;
  margin: 0; cursor: pointer; line-height: 1.25; width: auto; min-height: 0; text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
#aap-app button:focus-visible, #aap-app input:focus-visible, #aap-app select:focus-visible, #aap-app summary:focus-visible {
  outline: 3px solid #93c5fd; outline-offset: 2px;
}
#aap-app input, #aap-app select {
  font: inherit; color: var(--aap-ink); background: #fff; border: 1px solid #cbd5e1; border-radius: 10px;
  padding: 10px 12px; width: 100%; min-height: 46px; margin: 0; box-shadow: none; max-width: none;
}
#aap-app input[type="checkbox"] { width: 22px; height: 22px; min-height: 0; padding: 0; flex: none; accent-color: var(--aap-p); }
#aap-app input[type="color"] { width: 46px; height: 46px; padding: 3px; flex: none; cursor: pointer; }
#aap-app label { display: block; font-weight: 600; font-size: .93rem; margin: 0 0 12px; color: var(--aap-ink); }
#aap-app label input, #aap-app label select { margin-top: 5px; font-weight: 400; }
#aap-app small { font-weight: 400; color: var(--aap-mut); font-size: .85em; }

/* Boutons génériques */
#aap-app .aap-btn {
  background: var(--aap-p); color: #fff; border: 0; border-radius: 10px; padding: 12px 18px; font-weight: 700; min-height: 46px;
}
#aap-app .aap-btn:hover { filter: brightness(1.08); }
#aap-app .aap-btn:disabled { opacity: .55; cursor: wait; }
#aap-app .aap-btn-ghost {
  background: #fff; color: var(--aap-ink); border: 1px solid #cbd5e1; border-radius: 10px; padding: 9px 14px; font-weight: 600; min-height: 42px;
}
#aap-app .aap-btn-ghost:hover { background: var(--aap-soft); }
#aap-app .aap-link {
  background: none; border: 0; padding: 8px 4px; color: var(--aap-p); font-weight: 600; text-decoration: underline; text-underline-offset: 3px;
}
#aap-app .aap-danger { background: var(--aap-no); }
#aap-app .aap-danger-text { color: var(--aap-no); }
#aap-app .aap-icon {
  background: #fff; border: 1px solid var(--aap-line); border-radius: 10px; width: 44px; height: 44px; font-size: 1.5rem; color: var(--aap-ink);
  display: inline-flex; align-items: center; justify-content: center; padding: 0;
}

/* Onglets */
#aap-app .aap-tabs { display: flex; gap: 4px; background: var(--aap-soft); padding: 4px; border-radius: 14px; margin: 0 0 18px; }
#aap-app .aap-tab {
  flex: 1; background: transparent; border: 0; border-radius: 10px; padding: 12px 10px; font-weight: 700; color: var(--aap-mut); min-height: 46px;
}
#aap-app .aap-tab.on { background: #fff; color: var(--aap-ink); box-shadow: 0 1px 3px rgba(15, 23, 42, .12); }
#aap-app .aap-pills { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 0 0 16px; }
#aap-app .aap-pill {
  background: #fff; border: 1px solid var(--aap-line); border-radius: 999px; padding: 8px 14px; font-weight: 600; color: var(--aap-ink); min-height: 40px;
}
#aap-app .aap-pill.on { background: var(--aap-ink); border-color: var(--aap-ink); color: #fff; }
#aap-app .aap-lockbtn { margin-left: auto; }

/* Mise en page */
#aap-app .aap-layout { display: block; }
#aap-app .aap-col-cal { margin-bottom: 18px; }
@media (min-width: 860px) {
  #aap-app .aap-layout { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 28px; align-items: start; }
  #aap-app .aap-col-cal { position: sticky; top: 90px; margin-bottom: 0; }
}

/* Calendrier */
#aap-app .aap-cal { background: var(--aap-card); border: 1px solid var(--aap-line); border-radius: 16px; padding: 12px; }
#aap-app .aap-cal-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; }
#aap-app .aap-cal-head strong { font-size: 1.08rem; }
#aap-app .aap-cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
#aap-app .aap-dow { text-align: center; font-size: .75rem; font-weight: 700; color: var(--aap-mut); padding: 4px 0; }
#aap-app .aap-day {
  background: transparent; border: 0; border-radius: 10px; padding: 4px 0 5px; min-height: 48px;
  display: flex; flex-direction: column; align-items: center; gap: 2px; color: var(--aap-ink);
}
#aap-app .aap-day:hover { background: var(--aap-soft); }
#aap-app .aap-dnum { width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; border-radius: 50%; font-size: .95rem; }
#aap-app .aap-day.out { color: #b6c0cc; }
#aap-app .aap-day.past:not(.sel) .aap-dnum { opacity: .65; }
#aap-app .aap-day.has .aap-dnum { font-weight: 800; }
#aap-app .aap-day.today .aap-dnum { box-shadow: inset 0 0 0 2px var(--aap-p); }
#aap-app .aap-day.sel { background: var(--aap-p); color: #fff; }
#aap-app .aap-day.sel .aap-dnum { box-shadow: none; opacity: 1; }
#aap-app .aap-dots { display: flex; gap: 3px; height: 7px; }
#aap-app .aap-dots i { width: 7px; height: 7px; border-radius: 50%; display: block; }
#aap-app .aap-day.sel .aap-dots i { box-shadow: 0 0 0 1.5px #fff; }
#aap-app .aap-cal-foot { text-align: center; margin-top: 4px; }
#aap-app .aap-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 10px 4px 0; font-size: .85rem; color: var(--aap-mut); }
#aap-app .aap-legend i, #aap-app .aap-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; vertical-align: middle; }

/* Jour sélectionné */
#aap-app .aap-h { font-size: 1.25rem; font-weight: 800; margin: 0 0 12px; }
#aap-app .aap-h4 { font-size: 1.02rem; font-weight: 800; margin: 0 0 12px; }
#aap-app .aap-empty { color: var(--aap-mut); margin: 6px 0 14px; }
#aap-app .aap-hint { color: var(--aap-mut); font-size: .9rem; margin: 8px 0 10px; }
#aap-app .aap-muted { color: var(--aap-mut); font-size: .88rem; white-space: nowrap; }
#aap-app .aap-sub { font-weight: 700; font-size: .85rem; text-transform: uppercase; letter-spacing: .04em; color: var(--aap-mut); margin-bottom: 8px; }
#aap-app .aap-up { display: grid; gap: 6px; }
#aap-app .aap-up-item {
  display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--aap-line); border-radius: 12px;
  padding: 10px 12px; text-align: left; color: var(--aap-ink); min-height: 46px;
}
#aap-app .aap-up-item:hover { border-color: #94a3b8; }
#aap-app .aap-up-item i { width: 10px; height: 10px; border-radius: 50%; flex: none; }
#aap-app .aap-up-item span { flex: 1; font-weight: 600; }
#aap-app .aap-up-item small { white-space: nowrap; }

/* Carte de séance */
#aap-app .aap-card {
  background: var(--aap-card); border: 1px solid var(--aap-line); border-radius: 16px; padding: 16px; margin: 0 0 16px;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
#aap-app .aap-card.is-past { background: #fbfcfd; }
#aap-app .aap-s-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
#aap-app .aap-time { font-size: 1.2rem; font-weight: 800; }
#aap-app .aap-badge { color: #fff; border-radius: 999px; padding: 3px 11px; font-size: .82rem; font-weight: 700; }
#aap-app .aap-s-meta { display: flex; flex-wrap: wrap; gap: 4px 14px; color: #334155; font-size: .92rem; margin-top: 6px; }
#aap-app .aap-note { flex-basis: 100%; background: #fef9c3; border-radius: 8px; padding: 6px 10px; }
#aap-app .aap-counts { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 4px; font-size: .88rem; font-weight: 700; }
#aap-app .aap-counts span { border-radius: 999px; padding: 4px 10px; }
#aap-app .c-yes { background: var(--aap-yes-bg); color: #14532d; }
#aap-app .c-no { background: var(--aap-no-bg); color: #7f1d1d; }
#aap-app .c-none { background: var(--aap-soft); color: #475569; }
#aap-app .aap-search { margin: 4px 0 10px; }

/* Boutons athlètes */
#aap-app .aap-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 8px; }
#aap-app .aap-ath {
  display: flex; align-items: center; gap: 8px; background: #fff; color: var(--aap-ink); border: 1.5px solid var(--aap-line);
  border-radius: 12px; padding: 9px 10px; min-height: 50px; text-align: left; font-weight: 700; width: 100%;
}
#aap-app .aap-ath:hover { border-color: #94a3b8; }
#aap-app .aap-ath-ico {
  flex: none; width: 26px; height: 26px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: .9rem; font-weight: 800; background: var(--aap-soft); color: var(--aap-mut);
}
#aap-app .aap-ath-name { overflow-wrap: anywhere; line-height: 1.2; }
#aap-app .aap-ath.st-present { background: var(--aap-yes-bg); border-color: var(--aap-yes-line); color: #14532d; }
#aap-app .aap-ath.st-present .aap-ath-ico { background: var(--aap-yes); color: #fff; }
#aap-app .aap-ath.st-absent { background: var(--aap-no-bg); border-color: var(--aap-no-line); color: #7f1d1d; }
#aap-app .aap-ath.st-absent .aap-ath-ico { background: var(--aap-no); color: #fff; }
#aap-app .aap-ath.me { border-width: 2px; border-color: #f59e0b; }
#aap-app .aap-ath[aria-disabled="true"] { cursor: not-allowed; opacity: .8; }

#aap-app .aap-names { margin-top: 12px; font-size: .92rem; }
#aap-app .aap-names summary { cursor: pointer; color: var(--aap-p); font-weight: 600; padding: 4px 0; }
#aap-app .aap-names p { margin: 6px 0; }

/* Création du bouton */
#aap-app .aap-new { background: var(--aap-card); border: 1.5px dashed #94a3b8; border-radius: 16px; margin: 8px 0 16px; }
#aap-app .aap-new[open] { border-style: solid; border-color: var(--aap-line); }
#aap-app .aap-new summary {
  cursor: pointer; padding: 16px; font-weight: 800; list-style: none; display: flex; align-items: center; gap: 10px;
}
#aap-app .aap-new summary::-webkit-details-marker { display: none; }
#aap-app .aap-plus {
  width: 30px; height: 30px; border-radius: 50%; background: var(--aap-p); color: #fff; display: inline-flex;
  align-items: center; justify-content: center; font-size: 1.3rem; line-height: 1; flex: none;
}
#aap-app .aap-new .aap-form { padding: 0 16px 16px; }
#aap-app .aap-preview { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: var(--aap-mut); font-size: .92rem; }
#aap-app .aap-preview .aap-ath { width: auto; min-width: 140px; }
#aap-app .aap-warn { background: #fef3c7; color: #78350f; border-radius: 10px; padding: 10px 12px; font-size: .92rem; }

/* Formulaires */
#aap-app .aap-row { display: grid; grid-template-columns: 1fr; gap: 0 12px; }
@media (min-width: 520px) { #aap-app .aap-row { grid-template-columns: 1fr 1fr; } }
#aap-app .aap-check { display: flex; align-items: center; gap: 10px; font-weight: 600; margin: 0 0 10px; cursor: pointer; }
#aap-app .aap-check input { margin: 0; }
#aap-app .aap-fs { border: 1px solid var(--aap-line); border-radius: 12px; padding: 10px 14px 4px; margin: 0 0 14px; }
#aap-app .aap-fs legend { font-weight: 700; font-size: .93rem; padding: 0 6px; }
#aap-app .aap-inline { display: flex; gap: 8px; flex-wrap: wrap; }
#aap-app .aap-inline input { flex: 1 1 200px; width: auto; }
#aap-app .aap-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 12px; }
#aap-app .aap-confirm { background: #fff1f2; border: 1px solid var(--aap-no-line); border-radius: 12px; padding: 12px; margin-top: 12px; }
#aap-app .aap-confirm p { margin: 0; font-weight: 600; }
#aap-app .aap-confirm .aap-actions { margin-top: 8px; }
#aap-app .aap-edit { border-top: 1px solid var(--aap-line); margin-top: 14px; padding-top: 14px; }
#aap-app .aap-add { border-style: dashed; border-color: #94a3b8; }

/* Groupes et athlètes (onglet animateurs) */
#aap-app .aap-grp, #aap-app .aap-arow {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--aap-line);
}
#aap-app .aap-grp input[name="name"] { flex: 1 1 180px; width: auto; }
#aap-app .aap-arow input[name="first_name"] { flex: 1 1 140px; width: auto; }
#aap-app .aap-arow .aap-init { flex: 0 0 64px; width: 64px; text-align: center; }
#aap-app .aap-arow select { flex: 1 1 110px; width: auto; }
#aap-app .aap-arow .aap-btn-ghost { padding: 9px 10px; }
#aap-app .aap-full { flex-basis: 100%; }

/* Fenêtre de réponse */
#aap-app .aap-overlay { position: fixed; inset: 0; background: rgba(15, 23, 42, .45); z-index: 99998; }
#aap-app .aap-sheet {
  position: fixed; left: 50%; bottom: 0; transform: translateX(-50%); width: 100%; max-width: 480px; z-index: 99999;
  background: #fff; border-radius: 20px 20px 0 0; padding: 22px 18px calc(18px + env(safe-area-inset-bottom));
  box-shadow: 0 -10px 30px rgba(15, 23, 42, .2); display: flex; flex-direction: column; gap: 8px;
  animation: aap-up .18s ease-out;
}
@media (min-width: 600px) {
  #aap-app .aap-sheet { top: 50%; bottom: auto; transform: translate(-50%, -50%); border-radius: 20px; animation: none; }
}
@keyframes aap-up { from { transform: translate(-50%, 30px); opacity: 0; } to { transform: translate(-50%, 0); opacity: 1; } }
#aap-app .aap-sheet-name { font-size: 1.45rem; font-weight: 800; }
#aap-app .aap-sheet-sub { color: var(--aap-mut); margin-bottom: 8px; }
#aap-app .aap-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 4px; }
#aap-app .aap-choice {
  border-radius: 14px; padding: 18px 10px; font-size: 1.15rem; font-weight: 800; min-height: 64px; border: 2px solid;
}
#aap-app .aap-choice.yes { background: var(--aap-yes-bg); border-color: var(--aap-yes-line); color: #14532d; }
#aap-app .aap-choice.no { background: var(--aap-no-bg); border-color: var(--aap-no-line); color: #7f1d1d; }
#aap-app .aap-choice.yes.on { background: var(--aap-yes); border-color: var(--aap-yes); color: #fff; }
#aap-app .aap-choice.no.on { background: var(--aap-no); border-color: var(--aap-no); color: #fff; }
#aap-app .aap-sheet .aap-link { align-self: center; text-align: center; }
#aap-app .aap-close { margin-top: 4px; }

/* Messages */
#aap-app .aap-offline { background: #fef3c7; color: #78350f; border-radius: 10px; padding: 10px 12px; margin: 0 0 12px; font-weight: 600; }
#aap-app .aap-toast {
  position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); z-index: 100000; opacity: 0; pointer-events: none;
  background: var(--aap-ink); color: #fff; border-radius: 12px; padding: 12px 16px; font-weight: 700; max-width: calc(100% - 32px);
  box-shadow: 0 8px 24px rgba(15, 23, 42, .25); transition: opacity .2s, transform .2s; text-align: center;
}
#aap-app .aap-toast.show { opacity: 1; transform: translate(-50%, 0); }
#aap-app .aap-toast.err { background: var(--aap-no); }
#aap-app .aap-lock { max-width: 520px; }

@media (prefers-reduced-motion: reduce) {
  #aap-app .aap-sheet { animation: none; }
  #aap-app .aap-toast { transition: none; }
}

/* Modes d'emploi */
#aap-app .aap-guides { margin: 0 0 18px; }
#aap-app .aap-guides .aap-guide { margin-bottom: 8px; }
#aap-app .aap-guide { background: var(--aap-card); border: 1px solid var(--aap-line); border-radius: 16px; margin: 0 0 10px; }
#aap-app .aap-guide summary {
  cursor: pointer; padding: 14px 16px; font-weight: 800; list-style: none; display: flex; align-items: center; gap: 10px;
}
#aap-app .aap-guide summary::-webkit-details-marker { display: none; }
#aap-app .aap-guide summary::after { content: '▾'; margin-left: auto; color: var(--aap-mut); }
#aap-app .aap-guide[open] summary::after { content: '▴'; }
#aap-app .aap-guide-ico { font-size: 1.3rem; }
#aap-app .aap-guide-body { padding: 0 16px 16px; }
#aap-app .aap-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
#aap-app .aap-steps li { display: flex; gap: 10px; align-items: flex-start; margin: 0; padding: 0; }
#aap-app .aap-step-ico { flex: none; width: 28px; text-align: center; font-size: 1.1rem; line-height: 1.35; }
#aap-app .aap-steps strong { font-weight: 800; color: var(--aap-ink); }

/* Animateurs d'une séance */
#aap-app .aap-coaches { background: var(--aap-soft); border-radius: 12px; padding: 10px 12px; margin-top: 12px; }
#aap-app .aap-coaches-title { font-weight: 800; font-size: .85rem; text-transform: uppercase; letter-spacing: .04em; color: var(--aap-mut); margin-bottom: 6px; }
#aap-app .aap-chips { display: flex; flex-wrap: wrap; gap: 6px; }
#aap-app .aap-chip {
  display: inline-flex; align-items: center; gap: 6px; margin: 0; border: 1.5px solid #cbd5e1; background: #fff; border-radius: 999px;
  padding: 6px 12px; font-weight: 600; font-size: .92rem; cursor: pointer; min-height: 38px;
}
#aap-app .aap-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
#aap-app .aap-chip.is-on, #aap-app .aap-chip.on { background: #dbeafe; border-color: #93c5fd; color: #1e3a8a; }
#aap-app .aap-chip.is-on::before { content: '✓'; font-weight: 800; }
#aap-app .aap-chip:has(input:focus-visible) { outline: 3px solid #93c5fd; outline-offset: 2px; }
#aap-app .aap-chip.on { padding-right: 4px; cursor: default; }
#aap-app .aap-chip-x {
  background: transparent; border: 0; width: 28px; height: 28px; border-radius: 50%; color: #1e3a8a; padding: 0; font-size: .85rem;
}
#aap-app .aap-chip-x:hover { background: #bfdbfe; }
#aap-app .aap-join { background: #0f766e; }
#aap-app .aap-mt { margin-top: 8px; }
#aap-app .aap-small { font-size: .85rem; margin: 0; }
#aap-app .aap-me { background: var(--aap-card); border: 1px solid var(--aap-line); border-radius: 14px; padding: 12px 14px 2px; margin: 0 0 16px; }
#aap-app .aap-me .aap-inline { margin-top: 5px; }
#aap-app .aap-me .aap-inline input { margin-top: 0; }

#aap-app .aap-chip.abs { background: #f1f5f9; border-color: #cbd5e1; color: #64748b; }
#aap-app .aap-chip.abs .aap-chip-x { color: #64748b; }
#aap-app .aap-me-status { border-top: 1px solid #e2e8f0; margin-top: 10px; padding-top: 8px; }
#aap-app .aap-me-status p { margin: 0; }
#aap-app .aap-ok { color: #14532d; font-weight: 700; }
#aap-app .aap-ko { color: #7f1d1d; font-weight: 700; }
#aap-app .aap-inline .aap-check { flex-basis: 100%; }
#aap-app .aap-inline input[type="checkbox"] { flex: none; width: 22px; }

/* Avatars : symbole + état */
#aap-app .aap-ath-sym {
  position: relative; flex: none; width: 34px; height: 34px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 1.25rem; line-height: 1; background: var(--aap-soft); font-weight: 800; color: var(--aap-mut);
}
#aap-app .aap-ath.st-present .aap-ath-sym { background: #fff; box-shadow: 0 0 0 2px var(--aap-yes); }
#aap-app .aap-ath.st-absent .aap-ath-sym { background: #fff; box-shadow: 0 0 0 2px var(--aap-no); }
#aap-app .aap-ath-st {
  position: absolute; right: -5px; bottom: -4px; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center;
  justify-content: center; font-size: .68rem; font-weight: 900; color: #fff; border: 2px solid #fff;
}
#aap-app .aap-ath.st-present .aap-ath-st { background: var(--aap-yes); }
#aap-app .aap-ath.st-absent .aap-ath-st { background: var(--aap-no); }
#aap-app .aap-sheet-sym { display: inline-flex; width: 44px; height: 44px; border-radius: 50%; background: var(--aap-soft); align-items: center; justify-content: center; margin-right: 10px; vertical-align: middle; font-size: 1.6rem; }

/* Choix du symbole */
#aap-app .aap-sym-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-bottom: 8px; max-height: 330px; overflow-y: auto; padding: 4px 2px; overscroll-behavior: contain; }
#aap-app .aap-sym {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: 2px; margin: 0; padding: 8px 2px; cursor: pointer;
  border: 2px solid var(--aap-line); border-radius: 14px; background: #fff; font-weight: 600;
}
#aap-app .aap-sym input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
#aap-app .aap-sym-emo { font-size: 1.8rem; line-height: 1.1; }
#aap-app .aap-sym-lab { font-size: .78rem; color: var(--aap-mut); }
#aap-app .aap-sym.is-on { border-color: var(--aap-p); background: #eff6ff; }
#aap-app .aap-sym.is-on .aap-sym-lab { color: var(--aap-p); font-weight: 800; }
#aap-app .aap-sym:has(input:focus-visible) { outline: 3px solid #93c5fd; outline-offset: 2px; }
#aap-app .aap-arow .aap-sym-sel { flex: 0 0 120px; width: 120px; }
#aap-app .aap-ath-me { position: absolute; left: -7px; top: -7px; font-size: .8rem; line-height: 1; }
#aap-app .aap-tight { margin-top: 0; }
#aap-app .aap-sym-lab { text-align: center; line-height: 1.15; }
#aap-app .aap-sym-lab { font-size: .68rem; overflow-wrap: normal; hyphens: auto; max-width: 100%; }
@media (min-width: 600px) { #aap-app .aap-sym-grid { grid-template-columns: repeat(auto-fill, minmax(84px, 1fr)); } }
#aap-app .aap-syms { padding-left: 8px; padding-right: 8px; }
#aap-app .aap-sym { padding: 7px 0; }
@media (max-width: 400px) { #aap-app .aap-sym-lab { font-size: .62rem; letter-spacing: -.01em; } #aap-app .aap-sym-grid { gap: 4px; } }

/* Encadré info */
#aap-app .aap-info { border-radius: 16px; padding: 14px 16px; margin: 0 0 16px; border: 2px solid; background: #eff6ff; border-color: #93c5fd; color: #0f172a; }
#aap-app .aap-info.lv-warn { background: #fffbeb; border-color: #fcd34d; }
#aap-app .aap-info.lv-urgent { background: #fef2f2; border-color: #f87171; }
#aap-app .aap-info-edit { background: #fff; border-color: var(--aap-line); }
#aap-app .aap-info-head { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; font-size: 1.05rem; }
#aap-app .aap-info.lv-info .aap-info-head strong { color: #1e40af; }
#aap-app .aap-info.lv-warn .aap-info-head strong { color: #92400e; }
#aap-app .aap-info.lv-urgent .aap-info-head strong { color: #991b1b; }
#aap-app .aap-info-btn { margin-left: auto; padding: 4px; }
#aap-app .aap-info-text { font-size: 1.02rem; line-height: 1.5; overflow-wrap: anywhere; }
#aap-app .aap-info-text a { color: var(--aap-p); text-decoration: underline; }
#aap-app .aap-info-stamp { margin-top: 8px; font-size: .82rem; color: var(--aap-mut); }
#aap-app .aap-info-add { margin: 0 0 12px; }
#aap-app textarea {
  font: inherit; color: var(--aap-ink); background: #fff; border: 1px solid #cbd5e1; border-radius: 10px; padding: 10px 12px;
  width: 100%; margin: 0 0 12px; resize: vertical; min-height: 96px; box-shadow: none;
}
#aap-app .aap-levels { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
#aap-app .aap-level {
  position: relative; display: inline-flex; align-items: center; gap: 4px; margin: 0; padding: 8px 12px; border-radius: 999px;
  border: 2px solid var(--aap-line); background: #fff; cursor: pointer; font-weight: 700; min-height: 40px;
}
#aap-app .aap-level input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
#aap-app .aap-level.lv-info.is-on { border-color: #3b82f6; background: #eff6ff; }
#aap-app .aap-level.lv-warn.is-on { border-color: #f59e0b; background: #fffbeb; }
#aap-app .aap-level.lv-urgent.is-on { border-color: #ef4444; background: #fef2f2; }
#aap-app .aap-level:has(input:focus-visible) { outline: 3px solid #93c5fd; outline-offset: 2px; }
#aap-app .aap-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
