/* ══════════════════════════════════════════════════
   Liste à deux — to-do list de couple
   Tout est scopé sous .lad-ui (application et fenêtres).
══════════════════════════════════════════════════ */

.lad-ui{
  --fond:#faf6f1;
  --carte:#ffffff;
  --encre:#2b2422;
  --texte:#4a403c;
  --doux:#8c807a;
  --ligne:#efe7df;
  --ligne-forte:#d9cec4;
  --accent:#d4605a;
  --accent-fonce:#b94a45;
  --accent-pale:#fbebe8;
  --vert:#4a9a76;
  --or:#d29a1e;
  --or-pale:#fbf0d6;
  --danger:#c0392b;
  --ombre:0 1px 2px rgba(60,40,30,.05),0 6px 20px rgba(60,40,30,.06);
  --rayon:18px;

  font-family:ui-rounded,"SF Pro Rounded",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:16px; line-height:1.45; color:var(--encre);
  -webkit-font-smoothing:antialiased;
  -webkit-tap-highlight-color:transparent;
}
@media (prefers-color-scheme:dark){
  .lad-ui{
    --fond:#1b1715;
    --carte:#262120;
    --encre:#f3ece7;
    --texte:#d9cfc9;
    --doux:#a0948e;
    --ligne:#352e2b;
    --ligne-forte:#4c4340;
    --accent:#e2736c;
    --accent-fonce:#ef8a83;
    --accent-pale:#3a2625;
    --vert:#5cb38c;
    --or:#e6b03a;
    --or-pale:#3b3020;
    --danger:#ef6b5e;
    --ombre:0 1px 2px rgba(0,0,0,.3),0 6px 20px rgba(0,0,0,.25);
  }
}

html,body.lad-body{margin:0!important;padding:0!important;background:#faf6f1}
@media (prefers-color-scheme:dark){ html,body.lad-body{background:#1b1715} }
html.lad-bloque,html.lad-bloque body{overflow:hidden}

.lad-ui *,.lad-ui *::before,.lad-ui *::after{box-sizing:border-box}
.lad-ui :where(h1,h2,h3,p,ul,li,form,fieldset){margin:0;padding:0;border:0}
.lad-ui :where(ul){list-style:none}
.lad-ui :where(button,input,textarea){font:inherit;color:inherit;letter-spacing:inherit}
.lad-ui :where(button){cursor:pointer;background:none;border:0;padding:0;text-align:inherit}
.lad-ui :where(img){max-width:100%;display:block}
.lad-ui [hidden]{display:none!important}
.lad-ui :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}

.lad-ui img.emoji,.lad-ui img.wp-smiley{
  display:inline-block!important; width:1em!important; height:1em!important;
  max-width:1em!important; margin:0 .05em!important; padding:0!important;
  vertical-align:-.12em!important; border:0!important; box-shadow:none!important; background:none!important;
}

.lad-masque{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ── Conteneur ── */
.lad-app{
  max-width:760px; margin:0 auto; min-height:100vh; min-height:100dvh;
  padding:0 16px calc(48px + env(safe-area-inset-bottom));
  padding-left:max(16px,env(safe-area-inset-left));
  padding-right:max(16px,env(safe-area-inset-right));
}
.lad-chargement{padding:40vh 0 0;text-align:center;color:var(--doux)}

/* ── Avatars ── */
.lad-av{
  --t:32px;
  width:var(--t); height:var(--t); flex:0 0 var(--t);
  border-radius:50%; object-fit:cover; display:inline-flex;
  align-items:center; justify-content:center;
  background:var(--c,var(--accent)); color:#fff;
  font-weight:700; font-size:calc(var(--t) * .42); line-height:1;
  box-shadow:0 0 0 2px var(--carte);
  user-select:none;
}
.lad-av-s{--t:26px}
.lad-av-xs{--t:18px;box-shadow:none}
.lad-av-m{--t:38px}
.lad-av-xl{--t:96px;box-shadow:0 0 0 4px var(--carte),var(--ombre)}
.lad-av-vide{background:var(--carte);color:var(--doux);border:2px dashed var(--ligne-forte);box-shadow:none}
.lad-av-vide svg{width:34%;height:34%}

/* ── Boutons ── */
.lad-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:46px; padding:0 20px; border-radius:999px;
  background:var(--accent); color:#fff; font-weight:650;
  transition:background .15s,transform .1s;
}
.lad-btn:hover{background:var(--accent-fonce)}
.lad-btn:active{transform:scale(.98)}
.lad-btn:disabled{opacity:.55;cursor:default}
.lad-btn-large{width:100%}
.lad-btn-doux{background:var(--accent-pale);color:var(--accent-fonce)}
.lad-btn-doux:hover{background:var(--accent-pale);filter:brightness(.97)}
.lad-btn-danger{background:transparent;color:var(--danger);border:1.5px solid currentColor}
.lad-btn-danger:hover{background:transparent;filter:brightness(.9)}
.lad-btn-danger.lad-confirme{background:var(--danger);color:#fff;border-color:var(--danger)}
.lad-lien{color:var(--doux);font-size:.92rem;text-decoration:underline;text-underline-offset:3px;padding:8px}
.lad-icone{
  width:36px; height:36px; flex:0 0 36px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center; color:var(--doux);
}
.lad-icone:hover{background:var(--ligne);color:var(--encre)}
.lad-icone svg{width:20px;height:20px}

/* ── Champs ── */
.lad-champ{display:block;margin-bottom:14px}
.lad-champ > span{display:block;font-size:.85rem;font-weight:600;color:var(--doux);margin:0 0 6px 4px}
.lad-saisie{
  width:100%; min-height:48px; padding:12px 16px;
  border:1.5px solid var(--ligne-forte); border-radius:14px;
  background:var(--carte); color:var(--encre); font-size:16px;
  transition:border-color .15s,box-shadow .15s;
}
.lad-saisie:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-pale)}
textarea.lad-saisie{resize:vertical;min-height:96px;line-height:1.4}
.lad-erreur{color:var(--danger);font-size:.9rem;margin:-4px 4px 12px;min-height:0}
.lad-erreur:empty{display:none}

/* ── Écran de connexion ── */
.lad-accueil{
  min-height:100vh; min-height:100dvh;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:40px 0;
}
.lad-coeur{
  width:56px; height:56px; border-radius:18px; margin-bottom:18px;
  display:flex; align-items:center; justify-content:center;
  background:var(--accent-pale); color:var(--accent);
}
.lad-coeur svg{width:28px;height:28px}
.lad-grand-titre{font-size:clamp(1.8rem,7vw,2.3rem);font-weight:800;letter-spacing:-.02em;line-height:1.1}
.lad-intro{color:var(--doux);margin:10px 0 32px;max-width:340px}
.lad-form-accueil{width:100%;max-width:340px;text-align:left}

/* Sélecteur de photo */
.lad-photo{
  position:relative; display:block; width:96px; margin:0 auto 22px; cursor:pointer;
}
.lad-photo input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.lad-photo-badge{
  position:absolute; right:-2px; bottom:-2px; width:32px; height:32px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--accent); color:#fff; box-shadow:0 0 0 3px var(--carte);
  pointer-events:none;
}
.lad-photo-badge svg{width:16px;height:16px}
.lad-photo-aide{display:block;text-align:center;font-size:.85rem;color:var(--doux);margin:-12px 0 20px}

/* ── En-tête de l'application ── */
.lad-tete{
  position:sticky; top:0; z-index:5;
  display:flex; align-items:center; gap:12px;
  margin:0 -16px; padding:calc(14px + env(safe-area-inset-top)) 16px 12px;
  background:color-mix(in srgb,var(--fond) 88%,transparent);
  -webkit-backdrop-filter:saturate(1.4) blur(14px); backdrop-filter:saturate(1.4) blur(14px);
}
.lad-tete-txt{flex:1;min-width:0}
.lad-titre{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lad-noms{font-size:.85rem;color:var(--doux);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lad-couple{display:flex;align-items:center}
.lad-couple > *{display:flex}
.lad-couple > * + *{margin-left:-10px}
.lad-moi{border-radius:50%}

/* ── Onglets des catégories ── */
.lad-onglets{
  display:flex; gap:8px; overflow-x:auto; scrollbar-width:none;
  margin:4px -16px 18px; padding:4px 16px 6px;
  scroll-padding:0 16px;
}
.lad-onglets::-webkit-scrollbar{display:none}
.lad-onglet{
  flex:0 0 auto; display:inline-flex; align-items:center; gap:7px;
  min-height:40px; padding:0 14px; border-radius:999px;
  background:var(--carte); border:1.5px solid var(--ligne);
  font-weight:600; font-size:.95rem; white-space:nowrap;
  transition:background .15s,color .15s,border-color .15s;
}
.lad-onglet:hover{border-color:var(--ligne-forte)}
.lad-onglet[aria-current="true"]{background:var(--encre);border-color:var(--encre);color:var(--fond)}
.lad-pastille{
  min-width:20px; height:20px; padding:0 6px; border-radius:999px;
  background:var(--accent); color:#fff; font-size:.72rem; font-weight:700;
  display:inline-flex; align-items:center; justify-content:center;
}
.lad-onglet-plus{border-style:dashed;color:var(--doux);padding:0 12px}
.lad-onglet-plus svg{width:16px;height:16px}

/* ── Catégorie ── */
.lad-cat-tete{display:flex;align-items:center;gap:8px;margin:0 0 14px 2px}
.lad-cat-tete h2{flex:1;font-size:1.2rem;font-weight:750;min-width:0;overflow-wrap:anywhere}

.lad-listes{display:grid;gap:14px}
@media (min-width:700px){ .lad-listes{grid-template-columns:1fr 1fr;align-items:start} }

/* ── Carte d'une liste ── */
.lad-liste{
  background:var(--carte); border-radius:var(--rayon); box-shadow:var(--ombre);
  padding:14px 14px 8px;
}
.lad-liste-tete{display:flex;align-items:center;gap:8px;margin:0 0 4px 4px}
.lad-liste-tete h3{flex:1;font-size:1.05rem;font-weight:700;min-width:0;overflow-wrap:anywhere}
.lad-compteur{font-size:.8rem;color:var(--doux);font-variant-numeric:tabular-nums}

.lad-taches li{
  display:flex; align-items:center; gap:10px;
  padding:7px 0 7px 4px; border-top:1px solid var(--ligne);
}
.lad-taches li:first-child{border-top:0}
.lad-tache-txt{
  flex:1; min-width:0; padding:4px 0; overflow-wrap:anywhere; color:var(--encre);
  border-radius:6px;
}
.lad-tache-txt small{display:flex;align-items:center;gap:5px;margin-top:2px;font-size:.78rem;color:var(--doux)}
.lad-coche{
  width:30px; height:30px; flex:0 0 30px; border-radius:50%;
  border:2px solid var(--ligne-forte);
  display:flex; align-items:center; justify-content:center; color:transparent;
  transition:background .15s,border-color .15s,transform .15s;
}
.lad-coche:hover{border-color:var(--vert)}
.lad-coche:active{transform:scale(.9)}
.lad-coche svg{width:16px;height:16px}
.lad-coche[aria-pressed="true"]{background:var(--vert);border-color:var(--vert);color:#fff}
.lad-valide .lad-tache-txt > span{text-decoration:line-through;text-decoration-color:var(--doux);color:var(--doux)}
.lad-valide .lad-av-s{opacity:.55}
.lad-coche[aria-disabled="true"]{cursor:default}
.lad-coche-attente[aria-pressed="true"]{background:var(--or-pale);border-color:var(--or);color:var(--or)}
.lad-attente .lad-tache-txt small{color:var(--or)}

/* XP à gagner et validation */
.lad-diff{
  flex:0 0 auto; padding:3px 8px; border-radius:999px;
  font-size:.74rem; font-weight:800; font-variant-numeric:tabular-nums;
  color:var(--d); background:color-mix(in srgb,var(--d) 15%,transparent);
}
.lad-valider{
  flex:0 0 auto; height:34px; padding:0 14px; border-radius:999px;
  background:var(--vert); color:#fff; font-weight:700; font-size:.86rem;
}
.lad-valider:hover{filter:brightness(1.08)}
.lad-valider:disabled{opacity:.5}
.lad-btn-valider{background:var(--vert)}
.lad-btn-valider:hover{background:var(--vert);filter:brightness(1.08)}
.lad-sous-titre{
  padding:10px 4px 2px; border-top:1px solid var(--ligne);
  font-size:.74rem; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--or);
}

@keyframes ladPop{0%{transform:scale(.6)}60%{transform:scale(1.15)}100%{transform:scale(1)}}
.lad-coche.lad-pop{animation:ladPop .3s ease}

/* Ajout d'une demande */
.lad-ajout{
  display:flex; flex-wrap:wrap; align-items:center; gap:10px;
  margin:4px 0 6px; padding:6px 4px 0; border-top:1px solid var(--ligne);
}
.lad-ajout:first-child{border-top:0}
.lad-ajout-plus{width:26px;flex:0 0 26px;display:flex;justify-content:center;color:var(--accent)}
.lad-ajout-plus svg{width:20px;height:20px}
.lad-ajout input[type="text"]{
  flex:1; min-width:0; min-height:40px; border:0; background:transparent; padding:6px 0; font-size:16px;
}
.lad-ajout input[type="text"]:focus{outline:none}
.lad-ajout input::placeholder{color:var(--doux)}
.lad-ajout button{
  flex:0 0 auto; height:32px; padding:0 14px; border-radius:999px;
  background:var(--accent); color:#fff; font-weight:650; font-size:.88rem;
}
.lad-ajout input:placeholder-shown + button{display:none}
/* Choix de la difficulté : visible dès qu'on commence à écrire. */
.lad-ajout input:placeholder-shown ~ .lad-ajout-options{display:none}
.lad-ajout-options{flex-basis:100%;display:grid;gap:6px;padding:0 0 8px 36px}

.lad-diffs{display:flex;flex-wrap:wrap;gap:6px}
.lad-diffs label{position:relative}
.lad-diffs input{position:absolute;opacity:0;pointer-events:none}
.lad-diffs span{
  display:inline-flex; align-items:center; gap:5px; min-height:32px; padding:0 11px;
  border-radius:999px; border:1.5px solid var(--ligne-forte);
  font-size:.82rem; font-weight:600; color:var(--texte); cursor:pointer;
  transition:border-color .15s,background .15s;
}
.lad-diffs span b{color:var(--d);font-weight:800}
.lad-diffs input:checked + span{border-color:var(--d);background:color-mix(in srgb,var(--d) 14%,transparent);color:var(--encre)}
.lad-diffs input:focus-visible + span{outline:2px solid var(--d);outline-offset:2px}
.lad-diffs input:disabled + span{opacity:.45;cursor:default}
.lad-diffs input:disabled:checked + span{opacity:1}

/* ── Barres d'expérience ── */
.lad-xp{
  display:grid; gap:12px; margin:2px 0 16px; padding:14px;
  background:var(--carte); border-radius:var(--rayon); box-shadow:var(--ombre);
}
.lad-xp-ligne{display:flex;align-items:center;gap:10px}
.lad-xp-corps{flex:1;min-width:0}
.lad-xp-haut{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:6px;font-size:.92rem}
.lad-xp-haut strong{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lad-niveau{
  padding:2px 8px; border-radius:999px; background:var(--or); color:#fff;
  font-size:.72rem; font-weight:800; white-space:nowrap;
}
.lad-xp-chiffres{margin-left:auto;font-size:.78rem;color:var(--doux);font-variant-numeric:tabular-nums;white-space:nowrap}
.lad-xp-chiffres em{font-style:normal;font-weight:700;color:var(--or)}
.lad-barre{display:flex;height:10px;border-radius:999px;background:var(--ligne);overflow:hidden}
.lad-barre-pleine{background:linear-gradient(90deg,var(--accent),var(--or));border-radius:999px}
.lad-barre-attente{background:repeating-linear-gradient(-45deg,var(--or) 0 3px,transparent 3px 7px);opacity:.45}
.lad-a-valider{
  display:flex; align-items:center; gap:10px; width:100%; padding:11px 14px; border-radius:14px;
  background:var(--or-pale); color:var(--encre); font-weight:700;
}
.lad-a-valider span{flex:1}
.lad-a-valider svg{width:20px;height:20px;color:var(--or)}
.lad-a-valider svg:last-child{transform:rotate(-90deg)}

/* Fenêtre « À valider » */
.lad-validations li{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--ligne)}
.lad-validations li:first-child{border-top:0}
.lad-validation-txt{flex:1;min-width:0;overflow-wrap:anywhere}
.lad-validation-txt strong{display:block;font-weight:650}
.lad-validation-txt small{color:var(--doux);font-size:.8rem}

/* Demandes terminées */
.lad-voir-faites{
  display:flex; align-items:center; gap:6px; width:100%;
  padding:8px 4px; font-size:.86rem; font-weight:600; color:var(--doux);
  border-top:1px solid var(--ligne);
}
.lad-voir-faites svg{width:16px;height:16px;transition:transform .2s}
.lad-voir-faites[aria-expanded="true"] svg{transform:rotate(180deg)}

/* ── États vides ── */
.lad-vide{
  text-align:center; padding:40px 20px; border-radius:var(--rayon);
  border:2px dashed var(--ligne-forte); color:var(--doux);
}
.lad-vide h2{color:var(--encre);font-size:1.15rem;font-weight:750;margin-bottom:6px}
.lad-vide p{margin-bottom:18px}
.lad-modeles{display:flex;flex-direction:column;gap:8px;max-width:340px;margin:0 auto 18px}
.lad-modele{
  display:flex; align-items:center; gap:12px; width:100%;
  min-height:52px; padding:0 16px; border-radius:14px;
  background:var(--carte); border:1.5px solid var(--ligne);
  color:var(--encre); font-weight:600; text-align:left;
  transition:border-color .15s;
}
.lad-modele:hover{border-color:var(--accent)}
.lad-modele:disabled{opacity:.5}
.lad-modele-emoji{font-size:1.3rem;line-height:1;width:1.5em;text-align:center}
.lad-modele-nom{flex:1;min-width:0}
.lad-modele svg{width:18px;height:18px;color:var(--accent)}
.lad-nouvelle-liste{
  display:flex; align-items:center; justify-content:center; gap:8px; width:100%;
  margin-top:14px; min-height:52px; border-radius:var(--rayon);
  border:2px dashed var(--ligne-forte); color:var(--doux); font-weight:650;
}
.lad-nouvelle-liste:hover{border-color:var(--accent);color:var(--accent)}
.lad-nouvelle-liste svg{width:18px;height:18px}

/* ── Fenêtres (feuille du bas sur mobile) ── */
.lad-couche{position:relative;z-index:99999}
.lad-voile{
  position:fixed; inset:0; background:rgba(25,18,15,.45);
  display:flex; align-items:flex-end; justify-content:center;
  animation:ladFondu .15s ease;
}
.lad-feuille{
  width:100%; max-width:480px; max-height:92vh; overflow-y:auto;
  background:var(--fond); color:var(--encre);
  border-radius:24px 24px 0 0; padding:8px 20px calc(24px + env(safe-area-inset-bottom));
  box-shadow:0 -10px 40px rgba(0,0,0,.18);
  animation:ladMonte .22s cubic-bezier(.2,.8,.3,1);
}
.lad-feuille::before{
  content:""; display:block; width:40px; height:5px; border-radius:3px;
  background:var(--ligne-forte); margin:0 auto 10px;
}
@media (min-width:640px){
  .lad-voile{align-items:center;padding:20px}
  .lad-feuille{border-radius:24px;padding-bottom:24px}
  .lad-feuille::before{display:none}
}
.lad-feuille-tete{display:flex;align-items:center;gap:8px;margin:4px 0 18px}
.lad-feuille-tete h2{flex:1;font-size:1.2rem;font-weight:750}
.lad-actions{display:flex;flex-direction:column;gap:10px;margin-top:6px}
.lad-info{font-size:.88rem;color:var(--doux);margin:-4px 4px 16px;display:flex;flex-direction:column;gap:6px}
.lad-info span{display:flex;align-items:center;gap:6px}
.lad-separateur{border:0;border-top:1px solid var(--ligne);margin:18px 0}
.lad-details summary{cursor:pointer;font-weight:600;color:var(--texte);padding:6px 4px 14px;list-style:none}
.lad-details summary::-webkit-details-marker{display:none}
.lad-details summary::before{content:"＋ ";color:var(--accent)}
.lad-details[open] summary::before{content:"－ "}

@keyframes ladFondu{from{opacity:0}to{opacity:1}}
@keyframes ladMonte{from{transform:translateY(40px);opacity:.5}to{transform:none;opacity:1}}

/* Choix de l'émoji d'une catégorie */
.lad-emojis{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin:0 0 18px}
.lad-emojis label{position:relative}
.lad-emojis input{position:absolute;opacity:0;pointer-events:none}
.lad-emojis span{
  display:flex; align-items:center; justify-content:center; aspect-ratio:1;
  border-radius:12px; font-size:1.3rem; cursor:pointer; background:var(--carte);
  border:2px solid transparent; transition:border-color .15s,transform .1s;
}
.lad-emojis input:checked + span{border-color:var(--accent);background:var(--accent-pale)}
.lad-emojis input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px}

/* ── Message éphémère ── */
.lad-toast.lad-toast-xp{background:linear-gradient(90deg,var(--accent),var(--or));color:#fff;font-weight:700}
.lad-toast{
  position:fixed; left:50%; bottom:calc(24px + env(safe-area-inset-bottom)); z-index:100000;
  transform:translateX(-50%); max-width:calc(100% - 32px);
  background:var(--encre); color:var(--fond); padding:12px 18px; border-radius:14px;
  font-size:.92rem; box-shadow:0 8px 30px rgba(0,0,0,.2);
  animation:ladMonte .2s ease;
}

@media (prefers-reduced-motion:reduce){
  .lad-ui *,.lad-ui *::before{animation:none!important;transition:none!important}
}

/* ── Installation sur l'écran d'accueil ── */
.lad-installer{
  position:fixed; z-index:9999; left:12px; right:12px; bottom:calc(12px + env(safe-area-inset-bottom));
  max-width:480px; margin:0 auto;
  display:flex; align-items:center; gap:12px; padding:12px 8px 12px 12px;
  background:var(--carte); color:var(--encre); border:1px solid var(--ligne); border-radius:20px;
  box-shadow:0 12px 40px rgba(40,25,20,.22);
  animation:ladMonte .3s cubic-bezier(.2,.8,.3,1);
}
.lad-installer img{width:46px;height:46px;flex:0 0 46px;border-radius:12px}
.lad-installer-txt{flex:1;min-width:0}
.lad-installer-txt strong{display:block;font-size:.95rem;line-height:1.25}
.lad-installer-txt small{display:block;margin-top:2px;font-size:.8rem;line-height:1.3;color:var(--doux)}
.lad-installer .lad-btn{flex:0 0 auto;min-height:38px;padding:0 16px;font-size:.9rem}
body.lad-avec-bandeau .lad-app{padding-bottom:calc(130px + env(safe-area-inset-bottom))}

.lad-etapes{display:grid;gap:16px;margin:0 0 22px;padding:0;list-style:none;counter-reset:etape}
.lad-etapes li{display:flex;align-items:center;gap:12px;counter-increment:etape;line-height:1.4}
.lad-etapes li::before{
  content:counter(etape); flex:0 0 30px; height:30px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:var(--accent-pale); color:var(--accent-fonce); font-weight:800;
}
.lad-etapes svg{width:20px;height:20px;vertical-align:-4px;color:#0a84ff}
.lad-actions .lad-btn svg{flex:0 0 auto}

/* ── Dates limites et répétitions ── */
.lad-meta{display:flex!important;flex-wrap:wrap;gap:4px 10px}
.lad-echeance{font-weight:650}
.lad-echeance.lad-bientot{color:var(--or)}
.lad-echeance.lad-retard{color:var(--danger)}
.lad-pastille-retard{background:var(--danger)}
.lad-groupe-retard h3{color:var(--danger)}

.lad-options{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.lad-option{
  position:relative; display:inline-flex; align-items:center; min-height:32px; padding:0 11px;
  border-radius:999px; border:1.5px dashed var(--ligne-forte);
  font-size:.82rem; font-weight:600; color:var(--doux); cursor:pointer;
}
.lad-option:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.lad-option-actif{border-style:solid;border-color:var(--accent);background:var(--accent-pale);color:var(--encre)}
.lad-option input,.lad-option select{
  position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer;
  font-size:16px; border:0; padding:0; margin:0; -webkit-appearance:none; appearance:none;
}
.lad-ajout .lad-option-effacer{
  width:28px; height:28px; padding:0; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:transparent; color:var(--doux);
}
.lad-ajout .lad-option-effacer:hover{background:var(--ligne);color:var(--encre)}
.lad-ajout .lad-option-effacer svg{width:16px;height:16px}

.lad-deux{display:grid;gap:0 12px}
@media (min-width:400px){ .lad-deux{grid-template-columns:1fr 1fr} }
select.lad-saisie{-webkit-appearance:none;appearance:none;padding-right:36px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238c807a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:18px}
input[type="date"].lad-saisie{min-width:0;-webkit-appearance:none;appearance:none}

/* ── Notifications ── */
.lad-installer-icone{
  width:46px; height:46px; flex:0 0 46px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:var(--or-pale); color:var(--or);
}
.lad-installer-icone svg{width:26px;height:26px}
.lad-notifs{margin-bottom:12px}
.lad-info-notifs{display:block!important;margin:0 4px 12px;line-height:1.45}
.lad-notifs .lad-lien{align-self:center}

/* ── Jeu : séries, titres, boutique, badges, semaine ── */
.lad-serie{
  padding:2px 7px; border-radius:999px; background:#fff1e6; color:#d4581e;
  font-size:.72rem; font-weight:800; white-space:nowrap;
}
@media (prefers-color-scheme:dark){ .lad-serie{background:#3d2618;color:#ff9a5c} }
.lad-titre-niveau{margin-top:4px;font-size:.76rem;font-style:italic;color:var(--doux)}

.lad-jeu{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.lad-jeu-btn{
  position:relative; display:flex; flex-direction:column; align-items:center; gap:1px;
  padding:9px 4px 8px; border-radius:14px; background:var(--fond); border:1.5px solid var(--ligne);
  font-size:.8rem; font-weight:650; color:var(--texte); text-align:center;
  transition:border-color .15s;
}
.lad-jeu-btn:hover{border-color:var(--or)}
.lad-jeu-btn b{font-size:.78rem;color:var(--or);font-variant-numeric:tabular-nums}
.lad-jeu-emoji{font-size:1.25rem;line-height:1.2}
.lad-jeu-btn .lad-pastille{position:absolute;top:-6px;right:-4px}
.lad-a-valider .lad-jeu-emoji{width:20px;text-align:center;font-size:1.1rem}

.lad-sans-anim .lad-voile,.lad-sans-anim .lad-feuille{animation:none}
.lad-feuille-sous{font-size:.8rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--doux);margin:20px 4px 6px}

.lad-solde{
  display:grid; grid-template-columns:1fr auto; align-items:center; gap:2px 12px;
  padding:14px 16px; border-radius:16px; background:var(--or-pale);
}
.lad-solde span{font-weight:650}
.lad-solde strong{font-size:1.4rem;font-weight:800;color:var(--or);font-variant-numeric:tabular-nums}
.lad-solde small{grid-column:1 / -1;font-size:.8rem;color:var(--doux)}

.lad-boutique li{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--ligne)}
.lad-boutique li:first-child{border-top:0}
.lad-reco-emoji{
  width:42px; height:42px; flex:0 0 42px; border-radius:12px; background:var(--carte);
  display:flex; align-items:center; justify-content:center; font-size:1.35rem;
}
.lad-reco-txt{flex:1;min-width:0;overflow-wrap:anywhere}
.lad-reco-txt strong{display:block;font-weight:650;line-height:1.3}
.lad-reco-txt small{font-size:.8rem;color:var(--doux)}
.lad-prix{
  flex:0 0 auto; min-width:78px; height:36px; padding:0 12px; border-radius:999px;
  background:var(--or); color:#fff; font-weight:800; font-size:.86rem; font-variant-numeric:tabular-nums;
}
.lad-prix:disabled{background:var(--ligne);color:var(--doux);cursor:default}
.lad-prix.lad-confirme{background:var(--vert)}
.lad-modele-prix{color:var(--or);font-size:.82rem;white-space:nowrap}
.lad-prix-rapides{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 14px}
.lad-prix-rapides .lad-option{border-style:solid}

.lad-badges{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px}
.lad-badge{
  position:relative; display:flex; flex-direction:column; align-items:center; gap:3px; text-align:center;
  padding:14px 8px 12px; border-radius:16px; background:var(--carte); border:1.5px solid var(--or);
}
.lad-badge strong{font-size:.86rem;font-weight:750;line-height:1.2}
.lad-badge small{font-size:.74rem;color:var(--doux);line-height:1.3}
.lad-badge-emoji{font-size:2rem;line-height:1.1}
.lad-badge-qui{display:flex;gap:3px;margin-top:4px;min-height:18px;font-size:.8rem}
.lad-badge-verrou{border-color:var(--ligne);background:transparent}
.lad-badge-verrou .lad-badge-emoji{filter:grayscale(1);opacity:.35}
.lad-badge-verrou strong{color:var(--doux)}

.lad-podium{display:grid;gap:12px;margin-bottom:8px}
.lad-podium-ligne{display:flex;align-items:center;gap:10px;padding:12px;border-radius:16px;background:var(--carte)}
.lad-podium-tete{box-shadow:0 0 0 2px var(--or)}
.lad-podium-place{width:24px;flex:0 0 24px;text-align:center;font-size:1.2rem}
.lad-podium-corps{flex:1;min-width:0}
.lad-podium-haut{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}
.lad-podium-haut b{color:var(--or);font-variant-numeric:tabular-nums}
.lad-podium-corps small{display:block;margin-top:5px;font-size:.78rem;color:var(--doux)}
.lad-semaine-derniere{display:block!important}

.lad-journal li{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-top:1px solid var(--ligne);font-size:.88rem;line-height:1.4}
.lad-journal li:first-child{border-top:0}
.lad-journal .lad-av{margin-top:2px}
.lad-journal-txt{flex:1;min-width:0;overflow-wrap:anywhere}
.lad-journal em{font-style:normal;font-weight:700;color:var(--vert);white-space:nowrap}
.lad-journal em.lad-negatif{color:var(--or)}
.lad-journal small{flex:0 0 auto;font-size:.74rem;color:var(--doux);white-space:nowrap}
.lad-regles{display:block!important;margin-top:16px}
