:root{--app:#eef1f7;--side:#f6f7fb;--blanc:#fff;--encre:#1f1b3a;--texte2:#3b3a52;--doux:#676879;--pale:#9699a6;--ligne:#e3e5ee;--survol:#f3f1ff;--gris:#f0f1f6;--doux-bg:#f7f7fb;
 --violet:#6d5efc;--violet-f:#5a4ae8;--indigo:#322b5e;--lav:#9d6bff;--sel:#e7e3ff;--aide:#f6f5ff;--mont-bg:#fff4d6;--mont-fg:#8a6100;--ok-bg:#e8f8ee;--ok-fg:#1d6b38;--ombre:#1f1b3a22}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){--app:#15132a;--side:#1a1831;--blanc:#211e3b;--encre:#eceaff;--texte2:#cfcce8;--doux:#a9a6c6;--pale:#7f7ca0;--ligne:#34305a;--survol:#2a2650;--gris:#2a2748;--doux-bg:#1a1831;
 --violet:#7d70ff;--violet-f:#a99fff;--sel:#332d6b;--aide:#26224a;--mont-bg:#3d3215;--mont-fg:#f3cf73;--ok-bg:#163a26;--ok-fg:#8fe0ae;--ombre:#0008}}
:root[data-theme="dark"]{--app:#15132a;--side:#1a1831;--blanc:#211e3b;--encre:#eceaff;--texte2:#cfcce8;--doux:#a9a6c6;--pale:#7f7ca0;--ligne:#34305a;--survol:#2a2650;--gris:#2a2748;--doux-bg:#1a1831;
 --violet:#7d70ff;--violet-f:#a99fff;--sel:#332d6b;--aide:#26224a;--mont-bg:#3d3215;--mont-fg:#f3cf73;--ok-bg:#163a26;--ok-fg:#8fe0ae;--ombre:#0008}
*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:'Figtree',-apple-system,sans-serif;color:var(--encre);background:var(--app);font-size:14px}
button,input,select,textarea{font:inherit;color:inherit}input,select,textarea{background:var(--blanc)}
.app{display:grid;grid-template-columns:250px 1fr;height:100vh}
aside{background:var(--side);border-right:1px solid var(--ligne);display:flex;flex-direction:column;overflow:auto}
.logo{display:flex;align-items:center;gap:10px;padding:18px 18px 14px;font-weight:800;font-size:16px}
.logo i{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--indigo),#6d5efc);display:grid;place-items:center;color:#fff;font-style:normal;font-size:15px}
.grp{padding:8px 10px}.grp h4{margin:10px 10px 6px;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--pale);font-weight:700}
.nav{display:flex;align-items:center;gap:10px;width:100%;border:0;background:none;padding:8px 10px;border-radius:8px;cursor:pointer;text-align:left;color:var(--encre);white-space:nowrap}
.nav:hover{background:var(--gris)}.nav.on{background:var(--sel);color:var(--violet-f);font-weight:700}
.nav .ic{width:20px;text-align:center}.nav .nb{margin-left:auto;font-size:12px;color:var(--pale);font-weight:600}.nav.on .nb{color:var(--violet-f)}
.nav .pastille{margin-left:auto;background:#6d5efc;color:#fff;border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:700}
.side-bas{margin-top:auto;padding:14px 18px;font-size:12px;color:var(--pale);line-height:1.5;border-top:1px solid var(--ligne)}
main{overflow:auto;background:var(--blanc);border-radius:14px 0 0 0;margin-top:8px;box-shadow:0 0 0 1px var(--ligne)}
.entete{padding:22px 30px 0}
.titre h1{font-size:28px;font-weight:800;margin:0;letter-spacing:-.02em}.sous{color:var(--doux);margin-top:6px}
.vues{display:flex;gap:2px;margin-top:16px;border-bottom:1px solid var(--ligne)}
.vue{border:0;background:none;padding:9px 14px;cursor:pointer;color:var(--doux);font-weight:600;border-bottom:2px solid transparent;margin-bottom:-1px}
.vue.on{color:var(--encre);border-bottom-color:var(--violet)}
.outils{display:flex;align-items:center;gap:6px;padding:12px 30px;flex-wrap:wrap;position:sticky;top:0;background:var(--blanc);z-index:4}
.recherche{display:flex;align-items:center;gap:6px;border:1px solid var(--ligne);border-radius:8px;padding:6px 10px;color:var(--doux)}
.recherche:focus-within{border-color:var(--violet)}.recherche input{border:0;outline:0;width:190px;background:none}
.out{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:7px 10px;border-radius:8px;cursor:pointer;color:var(--encre)}
.out:hover{background:var(--gris)}.out.actif{background:var(--sel);color:var(--violet-f);font-weight:600}
.sep{width:1px;height:22px;background:var(--ligne);margin:0 4px}
.puces{display:flex;gap:6px;flex-wrap:wrap}.puce{background:var(--sel);color:var(--violet-f);border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:600;display:inline-flex;gap:6px;align-items:center}
.puce button{border:0;background:none;cursor:pointer;color:inherit;padding:0}
.compte{margin-left:auto;color:var(--pale);font-size:13px}
.pop{position:absolute;top:44px;left:0;background:var(--blanc);border:1px solid var(--ligne);border-radius:12px;box-shadow:0 12px 40px var(--ombre);padding:14px;width:280px;display:none;z-index:20}
.pop.on{display:block}.pop label{display:block;font-size:12px;color:var(--doux);font-weight:600;margin:10px 0 5px}.pop label:first-child{margin-top:0}
.pop select{width:100%;border:1px solid var(--ligne);border-radius:8px;padding:8px}.pop .case{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--encre);font-weight:500;margin-top:12px}
.zone{padding:0 30px 40px}
table{width:100%;border-collapse:separate;border-spacing:0}
thead th{position:sticky;top:58px;background:var(--blanc);z-index:3;text-align:left;font-size:12.5px;color:var(--doux);font-weight:600;padding:10px 12px;border-bottom:1px solid var(--ligne)}
tbody td{padding:10px 12px;border-bottom:1px solid var(--ligne);vertical-align:middle}
tbody tr{cursor:pointer}tbody tr:hover td{background:var(--survol)}tbody tr.ouvert td{background:var(--sel)}
.mini{width:56px;height:56px;border-radius:8px;object-fit:cover;object-position:top;display:block;background:var(--gris)}
.mini.vide{display:grid;place-items:center;color:var(--pale);font-size:20px}
.qui{font-weight:700}.qd{color:var(--pale);font-size:12.5px;margin-top:2px}
.extrait{color:var(--texte2);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:520px}
.mont{display:inline-block;background:var(--mont-bg);color:var(--mont-fg);border-radius:6px;padding:3px 8px;font-weight:700;font-size:13px;white-space:nowrap}
.tags{display:flex;gap:4px;flex-wrap:wrap}.tag{font-size:11.5px;font-weight:700;border-radius:6px;padding:3px 7px;white-space:nowrap}
.react{color:var(--doux);white-space:nowrap}
.mini-act{display:flex;gap:2px}.mini-act button,.mini-act a{border:0;background:none;width:30px;height:30px;border-radius:7px;cursor:pointer;display:grid;place-items:center;color:var(--doux);text-decoration:none;font-size:15px}
.mini-act button:hover,.mini-act a:hover{background:var(--sel);color:var(--violet-f)}.mini-act .dans{color:var(--ok-fg)}
.galerie{columns:300px;column-gap:16px;padding-top:14px}
.tuile{break-inside:avoid;margin-bottom:16px;border:1px solid var(--ligne);border-radius:12px;overflow:hidden;cursor:pointer;background:var(--blanc)}
.tuile:hover{box-shadow:0 6px 20px var(--ombre)}.tuile img{width:100%;display:block;max-height:380px;object-fit:cover;object-position:top}
.tuile .pied{padding:10px 12px}.tuile .pied .extrait{margin-top:6px;font-size:13px}
.voile{position:fixed;inset:0;background:#1f1b3a55;display:none;z-index:30}.voile.on{display:block}
.panneau{position:fixed;top:0;right:0;height:100vh;width:min(560px,100vw);background:var(--blanc);box-shadow:-10px 0 40px var(--ombre);z-index:31;transform:translateX(100%);transition:transform .22s;display:flex;flex-direction:column}
.panneau.on{transform:none}
.p-tete{display:flex;align-items:center;gap:10px;padding:18px 22px;border-bottom:1px solid var(--ligne)}
.p-tete h2{margin:0;font-size:19px}.p-tete .x{margin-left:auto;border:0;background:var(--gris);width:32px;height:32px;border-radius:8px;cursor:pointer;font-size:16px}
.p-corps{padding:18px 22px;overflow:auto;flex:1}
.p-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px;color:var(--doux)}
.p-texte{white-space:pre-wrap;line-height:1.6;font-size:15px;background:var(--doux-bg);border-radius:12px;padding:14px 16px}
.p-texte .mn{color:var(--violet-f);font-weight:700}
.p-img{margin-top:14px;border:1px solid var(--ligne);border-radius:12px;overflow:hidden}.p-img img{width:100%;display:block;cursor:zoom-in}
.p-img .barre-img{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:var(--doux-bg);font-size:12.5px;color:var(--pale)}
.p-pied{display:flex;gap:8px;padding:14px 22px;border-top:1px solid var(--ligne);flex-wrap:wrap}
.bouton{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--ligne);background:var(--blanc);border-radius:8px;padding:9px 13px;cursor:pointer;font-weight:600;text-decoration:none;color:var(--encre)}
.bouton:hover{background:var(--survol)}.bouton.principal{background:#6d5efc;border-color:#6d5efc;color:#fff}.bouton.principal:hover{background:#5a4ae8}.bouton.ok{background:var(--ok-bg);border-color:transparent;color:var(--ok-fg)}
.bouton:disabled{opacity:.55;cursor:wait}
/* ---------- carrousel ---------- */
.idees{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.idee{border:1px solid var(--ligne);background:var(--blanc);border-radius:999px;padding:4px 10px;font-size:12.5px;cursor:pointer;color:var(--texte2)}
.idee:hover{border-color:var(--violet);color:var(--violet-f)}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.aide{background:var(--aide);border-radius:10px;padding:11px 12px;font-size:13px;color:var(--texte2);line-height:1.5;margin-top:12px}
.etat{margin-top:12px;font-size:13px;color:var(--violet-f);font-weight:600;display:none;align-items:center;gap:8px}.etat.on{display:flex}
.rond{width:14px;height:14px;border-radius:50%;border:2px solid var(--sel);border-top-color:var(--violet);animation:t 0.8s linear infinite}@keyframes t{to{transform:rotate(360deg)}}
.vide{text-align:center;color:var(--pale);padding:70px 10px}
.idee.on{background:var(--sel);border-color:var(--violet);color:var(--violet-f)}
#zoom{position:fixed;inset:0;background:#000d;display:none;align-items:center;justify-content:center;z-index:60;flex-direction:column;gap:14px}
#zoom.on{display:flex}#zoom img{max-width:94vw;max-height:84vh;border-radius:8px}
#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#322b5e;color:#fff;padding:11px 18px;border-radius:10px;font-weight:600;display:none;z-index:70;max-width:calc(100vw - 32px)}
/* ---------- QG : pilotage de l'équipe ---------- */
.bascule{display:flex;margin:0 14px 6px;background:var(--gris);border-radius:9px;padding:3px;flex:none}
.bascule button{flex:1;border:0;background:none;padding:6px 8px;border-radius:7px;cursor:pointer;font-weight:600;font-size:12.5px;color:var(--doux);white-space:nowrap}
.bascule button.on{background:var(--blanc);color:var(--encre);box-shadow:0 1px 3px var(--ombre)}
body.simple .complet{display:none}
#hub .hz{padding:16px 30px 40px}#hub thead th{top:0}
.hub-o{position:static;padding:0 0 14px}.vues-h{display:flex;gap:2px;border:1px solid var(--ligne);border-radius:9px;padding:2px}.vues-h .vue{border:0;margin:0;border-radius:7px;padding:6px 11px}.vues-h .vue.on{background:var(--sel);color:var(--violet-f)}
.sel{border:1px solid var(--ligne);border-radius:8px;padding:7px 9px}
.board{display:flex;gap:12px;overflow-x:auto;padding-bottom:14px;align-items:flex-start}
.col{flex:0 0 268px;background:var(--doux-bg);border-radius:12px;display:flex;flex-direction:column;border:1px solid var(--ligne)}.col.sur{outline:2px dashed var(--violet);outline-offset:2px}
.col-t{color:#fff;font-weight:700;padding:10px 14px;border-radius:11px 11px 0 0;display:flex;align-items:center;gap:6px;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 50%,calc(100% - 12px) 100%,0 100%)}
.col-t .nb{margin-left:auto;margin-right:12px;opacity:.9;font-size:13px}
.col-c{padding:10px;display:flex;flex-direction:column;gap:8px;min-height:120px}
.ct{background:var(--blanc);border:1px solid var(--ligne);border-radius:10px;padding:10px 12px;cursor:pointer}.ct:hover{box-shadow:0 4px 14px var(--ombre)}
.ct .t1{font-weight:700;line-height:1.3}.hk{color:var(--doux);font-size:12.5px;margin-top:4px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ct .bas{display:flex;align-items:center;gap:6px;margin-top:8px;flex-wrap:wrap}
.fmt{font-size:11.5px;font-weight:700;border-radius:6px;padding:2px 7px;background:var(--gris);color:var(--texte2);white-space:nowrap}
.av{width:22px;height:22px;border-radius:50%;color:#fff;font-size:11px;font-weight:800;display:inline-grid;place-items:center;flex:none}
.ech{font-size:12px;font-weight:600;color:var(--doux);white-space:nowrap}.ech.retard{color:#d93a5b}.ech.auj{color:#c77800}
.ajout-col{border:0;background:none;color:var(--doux);padding:8px;border-radius:8px;cursor:pointer;text-align:left;font-weight:600}.ajout-col:hover{background:var(--gris)}
.pill{display:inline-block;color:#fff;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700;white-space:nowrap}
.blocs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:16px;align-items:start}
.bloc{border:1px solid var(--ligne);border-radius:14px;padding:16px;background:var(--blanc)}.bloc h3{margin:0 0 10px;font-size:16px;display:flex;align-items:center;gap:8px}
.bloc h3 .nb{background:var(--sel);color:var(--violet-f);border-radius:999px;padding:1px 9px;font-size:12.5px}
.ligne-c{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--ligne)}.ligne-c:first-child{border-top:0}
.ligne-c .tt{flex:1;min-width:0;cursor:pointer}.ligne-c .tt b{display:block;line-height:1.3}.ligne-c .tt:hover b{color:var(--violet-f)}
.sous-l{color:var(--doux);font-size:12.5px;margin-top:3px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.act2{display:flex;gap:4px;flex:none}
.mini-b{border:1px solid var(--ligne);background:var(--blanc);border-radius:7px;padding:5px 9px;cursor:pointer;font-weight:600;font-size:12.5px;white-space:nowrap;text-decoration:none;color:var(--encre)}.mini-b:hover{background:var(--survol)}.mini-b.ok{background:var(--ok-bg);color:var(--ok-fg);border-color:transparent}
.lien-b{border:0;background:none;color:var(--violet-f);font-weight:700;cursor:pointer;padding:8px 0 0}
.jauge{height:12px;border-radius:6px;background:var(--gris);overflow:hidden;margin:8px 0}.jauge i{display:block;height:100%;background:linear-gradient(90deg,#6d5efc,#9d6bff);border-radius:6px}
.gros{font:800 30px 'Bricolage Grotesque';letter-spacing:-.02em}
.vite{display:flex;gap:8px;margin-bottom:18px;flex-wrap:wrap}.vite input{flex:1;min-width:200px;border:1px solid var(--ligne);border-radius:10px;padding:12px 14px;font-size:15px}.vite input:focus,.form input:focus,.form textarea:focus,.ajout-t:focus{outline:2px solid var(--violet);outline-offset:-1px}
.form label{display:block;font-size:12px;color:var(--doux);font-weight:600;margin:14px 0 5px}.form>label:first-child{margin-top:0}
.form input,.form select,.form textarea{width:100%;border:1px solid var(--ligne);border-radius:8px;padding:9px}.form textarea{resize:vertical;line-height:1.45}
.tache{display:flex;gap:8px;align-items:flex-start;background:var(--blanc);border:1px solid var(--ligne);border-radius:9px;padding:9px 10px}.tache input{margin-top:2px;width:16px;height:16px;accent-color:#6d5efc;flex:none;cursor:pointer}
.tache .tt{flex:1;cursor:pointer;line-height:1.35}.tache.fait .tt{text-decoration:line-through;color:var(--pale)}
.ajout-t{width:100%;border:1px dashed var(--ligne);border-radius:9px;padding:8px 10px;background:var(--blanc)}
.vide-p{color:var(--pale);font-size:13px;padding:8px 2px}
.groupe-e h3{font-size:14px;margin:22px 0 4px;color:var(--texte2)}.groupe-e:first-child h3{margin-top:4px}
.ech-d{font-weight:700;font-size:13px;color:var(--doux);width:44px;flex:none}
.liens-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:12px}.lien-c{border:1px solid var(--ligne);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:6px;background:var(--blanc)}
.lien-c .u{color:var(--pale);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.res-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));gap:14px;align-items:start}
.res-g ol{margin:8px 0;padding-left:20px;line-height:1.45;font-size:13.5px;color:var(--texte2)}
.bouton.sur{background:#c62f4b;border-color:#c62f4b;color:#fff}
@media(max-width:900px){#hub .hz{padding:12px 16px 30px}.col{flex-basis:80vw}.bascule{margin:6px}}
@media(max-width:900px){.app{grid-template-columns:1fr;grid-template-rows:auto 1fr}
 aside{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--ligne)}.logo,.grp h4,.side-bas{display:none}.grp{display:flex;padding:6px}#navcats{display:flex}
 main{margin-top:0;border-radius:0}.entete{padding:16px 16px 0}.outils{padding:10px 16px}.zone{padding:0 16px 30px}.recherche input{width:130px}

 .col-m{display:none}.extrait{max-width:none}}
[hidden]{display:none!important}
/* ---------- Pilotage : connexion, chiffres, compte ---------- */
.atelier{display:grid;grid-template-columns:330px 1fr;gap:24px;align-items:start}
.reglages{border:1px solid var(--ligne);border-radius:12px;padding:16px;position:sticky;top:12px}
.reglages h3{margin:0 0 4px;font-size:16px}.reglages label{display:block;font-size:12px;color:var(--doux);font-weight:600;margin:14px 0 5px}
.reglages input,.reglages select,.reglages textarea{width:100%;border:1px solid var(--ligne);border-radius:8px;padding:9px}
.ecran-co{min-height:100vh;display:grid;place-items:center;padding:16px;background:radial-gradient(circle at 20% 10%,#6d5efc33,transparent 50%),var(--app)}
.carte-co{width:min(400px,100%);background:var(--blanc);border:1px solid var(--ligne);border-radius:18px;padding:28px;box-shadow:0 20px 60px var(--ombre)}
.carte-co .logo{padding:0 0 18px;font-size:19px}.carte-co h2{margin:0 0 6px;font-size:22px}.carte-co p{color:var(--doux);margin:0 0 18px;line-height:1.5}
.carte-co label{display:block;font-size:12.5px;color:var(--doux);font-weight:600;margin:14px 0 6px}
.carte-co input{width:100%;border:1px solid var(--ligne);border-radius:10px;padding:12px 13px;font-size:15px}.carte-co input:focus{outline:2px solid var(--violet);outline-offset:-1px}
.carte-co .bouton{width:100%;justify-content:center;margin-top:18px;padding:12px}.carte-co .lien-b{display:block;margin:14px auto 0;font-size:13px}
.erreur{color:#d93a5b;font-size:13px;margin-top:10px;min-height:18px}
.moi{display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid var(--ligne);margin-top:auto}.moi .av{width:30px;height:30px;font-size:13px}
.moi .qui-m{flex:1;min-width:0;line-height:1.25}.moi .qui-m small{color:var(--pale);display:block}
.moi button{border:0;background:none;cursor:pointer;color:var(--doux);padding:6px;border-radius:7px}.moi button:hover{background:var(--gris)}
.tuiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px;margin-bottom:18px}
.tuile-c{border:1px solid var(--ligne);border-radius:14px;padding:14px 16px;background:var(--blanc)}.tuile-c .lab{color:var(--doux);font-size:12.5px;font-weight:600}
.tuile-c .val{font:800 28px 'Bricolage Grotesque';margin-top:4px;letter-spacing:-.02em}.delta{font-size:12.5px;font-weight:700}.delta.plus{color:var(--ok-fg)}.delta.moins{color:#d93a5b}
.robot{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--doux);margin-right:14px}
.pt-ok{width:8px;height:8px;border-radius:50%;background:#2aa865;display:inline-block}.pt-ko{width:8px;height:8px;border-radius:50%;background:#d93a5b;display:inline-block}
@media(max-width:900px){.atelier{grid-template-columns:1fr}.reglages{position:static}.moi{border:0;margin:0;padding:6px}.moi .qui-m{display:none}}
