/* Weworld v28 : finitions « style Airbnb ».
   Cartes blanches à bordure simple (1 px gris clair, coins arrondis), sans ligne de couleur en haut ni sur le côté ;
   ombre douce seulement au survol ; textes noir doux et gris. */
:root{--ink:#222222;--muted:#717171;--line:#EBEBEB;--line-2:#DDDDDD;--card-r:12px;--card-sh:0 6px 16px rgba(0,0,0,.12)}
.att-map,.att,.att-br,.lab,.offer,.tpl,.tpl-o,.pf,.sugg,.tree-box,.empty,.me-card,.task-box,.top-b,.ln-app,.mj-card,.trio-b,.oi,.hp6,.mb6,.ev6,.mi6,.j-card,.bf-row,.bf-resp,.os-a,.plan,.ln-plan,.uc-card,.uc-b,.adm-box,.adm-kpi,.ln-tl li,.ef-card,.ef-wel,.ef-plan,.ef-resume,.mj,.ln-start{border:1px solid var(--line-2)!important;border-radius:var(--card-r)!important;box-shadow:none!important;background-color:#FFFFFF}
.os-rep{border:1px solid var(--line-2)!important;border-radius:10px!important;background:#F7F7F7!important}
.ln-grid4 div,.ln-links{border:1px solid var(--line-2);border-radius:var(--card-r);background:#FFFFFF}
.lab:hover,.offer:hover,.oi:hover,.hp6:hover,.mb6:hover,.ev6:hover,.mi6:hover,.j-card:hover,.bf-row:hover,.os-a:hover,.top-b:hover,.ln-app:hover,.uc-card:hover,.ef-card:hover,.trio-b:hover,.mj-card:hover{box-shadow:var(--card-sh)!important;transform:none}
.ln-btn.p,.ln-final .ln-btn.p{background:#0B5D49}.ln-btn.p:hover{background:#094C3C}
.ln-final .ln-btn.p{background:#FFFFFF}
.ln-app{padding:1.4rem}.ln-app-n{font-size:.92rem}
.trio-b b,.mj-card b{letter-spacing:.04em}
/* Espace privé : formations, bienvenue, badges */
.ef-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.8rem;margin:0 0 .8rem}.ef-head .h3,.ef-head b{margin:0}
.ef-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(16rem,100%),1fr));gap:1rem}
.ef-card{display:flex;flex-direction:column;overflow:hidden;padding:0!important}
.ef-cover{display:grid;place-items:center;height:7rem;background:linear-gradient(135deg,#E6F4EE,#F7F7F7)}.ef-cover span{font-size:2.2rem}
.ef-b{display:flex;flex:1;flex-direction:column;padding:1rem 1.1rem}.ef-b h3{margin:.15rem 0 .35rem;font:700 1.05rem/1.3 var(--ui);color:var(--ink)}.ef-b > p{margin:0 0 .7rem;color:var(--muted);font-size:.9rem}.ef-b .btn{align-self:flex-start;margin-top:auto}
.ef-meta{margin:0;color:var(--muted);font-size:.82rem}.ef-pre{color:#7A4B00}
.ef-bar{display:block;height:.35rem;margin:.3rem 0;overflow:hidden;border-radius:99px;background:#EBEBEB}.ef-bar i{display:block;height:100%;background:#0B5D49}
.ef-resume{margin:0 0 1.2rem;padding:1rem 1.1rem}.ef-row{display:grid;grid-template-columns:1fr;gap:.15rem;padding:.6rem 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}.ef-row:last-child{border:0}.ef-row span{color:var(--muted);font-size:.86rem}
.ef-plan{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem;margin-top:1.2rem;padding:1rem 1.1rem}.ef-plan p{margin:.2rem 0 0}
.ef-ch{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1rem;margin:.6rem 0 1rem}.ef-ch h2{margin:.2rem 0 .3rem;font:800 1.5rem/1.2 var(--ui)}.ef-ch p{margin:0;color:var(--muted)}
.ef-pct{min-width:10rem}.ef-pct b{font:800 1.3rem var(--ui)}
.ef-cols{display:grid;grid-template-columns:18rem minmax(0,1fr);gap:1.2rem;align-items:start}
.ef-toc{padding:.8rem;border:1px solid var(--line-2);border-radius:12px;background:#FFFFFF}
.ef-mod{margin:.6rem .3rem .3rem;color:var(--muted);font:700 .78rem/1.2 var(--ui);letter-spacing:.04em;text-transform:uppercase}
.ef-l{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .55rem;border:0;border-radius:8px;background:none;color:var(--ink);font:500 .92rem/1.3 var(--ui);text-align:left;cursor:pointer}.ef-l:hover{background:#F7F7F7}.ef-l.on{background:#F0F7F4;font-weight:700}
.ef-l span{display:grid;flex:none;place-items:center;width:1.2rem;height:1.2rem;border:1.5px solid var(--line-2);border-radius:50%;color:#FFFFFF;font-size:.7rem}.ef-l.ok span{border-color:#0B5D49;background:#0B5D49}
.ef-lesson{padding:1.2rem 1.3rem;border:1px solid var(--line-2);border-radius:12px;background:#FFFFFF}.ef-lesson h3{margin:.2rem 0 .8rem;font:800 1.25rem/1.25 var(--ui)}
.ef-video{display:grid;place-items:center;margin:0 0 .9rem;border-radius:12px;background:#222222;color:#FFFFFF;font-size:2rem;aspect-ratio:16/9}
.ef-wel{margin:0 0 1rem;padding:1rem 1.1rem}.ef-wel ol{margin:.5rem 0 0;padding:0;list-style:none}.ef-wel li{display:flex;align-items:center;gap:.6rem;padding:.4rem 0;border-bottom:1px solid var(--line)}.ef-wel li:last-child{border:0}.ef-wel li > span{display:grid;flex:none;place-items:center;width:1.3rem;height:1.3rem;border:1.5px solid var(--line-2);border-radius:50%;color:#FFFFFF;font-size:.72rem}.ef-wel li.ok > span{border-color:#0B5D49;background:#0B5D49}.ef-wel li a{color:var(--ink);text-decoration:none}.ef-wel li.ok a{color:var(--muted);text-decoration:line-through}
.ef-badges{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:0 0 1rem}.ef-badges b{margin-right:.3rem}
.ef-bd{padding:.3rem .65rem;border:1px solid var(--line-2);border-radius:999px;background:#FFFFFF;color:var(--muted);font-size:.84rem;opacity:.55}.ef-bd.on{border-color:#0B5D49;color:#0B5D49;font-weight:700;opacity:1}
@media (max-width:900px){.ef-cols{grid-template-columns:1fr}}
/* Espace privé : mêmes cartes à bordure simple */
.es-card,.es-list,.es-page,.es-pg,.es-tile,.es-chat{border:1px solid var(--line-2)!important;border-radius:var(--card-r)!important;box-shadow:none!important}
.es-card:hover,.es-tile:hover{box-shadow:var(--card-sh)!important}
.f3-tree,.f3-tree ul{margin:0;padding-left:1.1rem;list-style:none}.f3-tree > li{margin:0 0 .8rem;padding:.8rem 1rem;border:1px solid #DDDDDD;border-radius:12px;background:#FFFFFF}
.f3-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.2rem 0}.f3-dimension > .f3-row span{font-weight:800}.f3-c{margin:.2rem 0 .4rem;padding:.4rem .6rem;border:1px solid #EBEBEB;border-radius:8px;background:#F7F7F7}
.fl-srv{margin:0 0 1.2rem}.fl-new{display:flex;gap:.6rem;align-items:flex-start;margin:.4rem 0 .8rem}.fl-new textarea{flex:1;padding:.6rem .75rem;border:1px solid #DDDDDD;border-radius:12px;font:inherit}
body.srv-on .j-compose{display:none}
.cm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(18rem,100%),1fr));gap:.9rem;margin-top:.8rem}
.cm-card{display:flex;align-items:center;gap:.8rem;padding:1rem;border:1px solid #DDDDDD;border-radius:12px;background:#FFFFFF;color:#222222;text-decoration:none}.cm-card:hover{box-shadow:0 6px 16px rgba(0,0,0,.12)}.cm-card small{display:block;color:#717171}
.cm-logo{display:grid;flex:none;place-items:center;width:2.8rem;height:2.8rem;border-radius:10px;color:#FFFFFF;font-weight:800}
.cm-box{margin-top:.8rem;padding:1rem 1.1rem;border:1px solid #DDDDDD;border-radius:12px;background:#FFFFFF}
.cm-new{display:flex;gap:.6rem;align-items:flex-start;margin-bottom:.8rem}.cm-new textarea{flex:1;padding:.6rem .75rem;border:1px solid #DDDDDD;border-radius:12px;font:inherit}
.cm-p{padding:.6rem 0;border-top:1px solid #EBEBEB}.cm-p p{margin:.1rem 0}.cm-p small{color:#717171}
.cm-m{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;padding:.5rem 0;border-bottom:1px solid #EBEBEB}.cm-m span{color:#717171}
.cm-ban{display:flex;flex-direction:column;margin:0 0 1rem;padding:.9rem 1.1rem;border:1px solid #DDDDDD;border-radius:12px;background:#FFFFFF;color:#222222;text-decoration:none}.cm-ban span{color:#717171}
