/* ════════════════════════════════════════════════════════════════════════════
   LE STUDIO · V2 côté studio (30/10/2026). Hérite de l'espace client (body.ecx-on) :
   mêmes jetons, même barre, mêmes cartes. Ici seulement ce qui est propre au studio.
   Tailles mesurées (François : « pas de grosses écritures, rester classe »).
   ════════════════════════════════════════════════════════════════════════════ */
.stu-logo{display:grid;place-items:center;padding:9px;background:#161618}
.stu-logo img{width:100%;height:100%;object-fit:contain}
.stu-side .ecx-bas{margin-top:auto}
.stu-side .ecx-inviter{font-size:12.5px;color:var(--ecx-mute)}

.stu .ecx-ph{margin-bottom:22px}
.stu-grille{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:28px;align-items:start}
.stu-sec{margin-bottom:28px}
.stu-sec h2{font-size:14.5px;font-weight:600;margin:0 0 10px;display:flex;align-items:baseline;gap:8px}
.stu-sec h2 small{font-size:12px;font-weight:500;color:var(--ecx-faint);font-variant-numeric:tabular-nums}
.stu-sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.stu-sec-h h2{margin-bottom:10px}

/* une ligne à traiter */
.stu-ligne{display:flex;align-items:center;gap:12px;width:100%;padding:11px 16px;border:0;border-bottom:1px solid var(--ecx-line);background:none;color:var(--text);text-align:left;font:13px var(--font);cursor:pointer;transition:background .15s}
.stu-ligne:last-child{border-bottom:0}
@media (hover:hover) and (pointer:fine){.stu-ligne:hover,.stu-projet:hover,.stu-doc:hover{background:var(--ecx-hover)}}
.stu-ligne>.ecx-i:first-child{width:16px;height:16px;color:var(--ecx-mute)}
.stu-ligne>.ecx-i:last-child{width:13px;height:13px;color:var(--ecx-faint)}
.stu-ligne span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.stu-ligne b{font-weight:550;font-size:13.5px}
.stu-ligne small{font-size:12px;color:var(--ecx-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-signes{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}

/* un projet en ligne */
.stu-projet{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(110px,auto) 90px;align-items:center;gap:14px;width:100%;padding:10px 16px;border:0;border-bottom:1px solid var(--ecx-line);background:none;color:var(--text);text-align:left;font:13px var(--font);cursor:pointer;transition:background .15s}
.stu-projet:not(:has(.stu-rond)){grid-template-columns:minmax(0,1fr) 90px}
.stu-projet:last-child{border-bottom:0}
.stu-p1,.stu-p2{display:flex;flex-direction:column;gap:2px;min-width:0}
.stu-p1 b,.stu-p2 b{font-weight:550;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-p1 small,.stu-p2 small{font-size:12px;color:var(--ecx-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-barre{display:block;height:4px;border-radius:99px;background:var(--ecx-card2);overflow:hidden}
.stu-barre i{display:block;height:100%;background:var(--ecx-ok);transform-origin:left;transition:transform .5s cubic-bezier(0.23,1,0.32,1)}

/* le logo rond des clients */
.stu-rond{width:30px;height:30px;padding:5px;display:grid;place-items:center;font-size:10.5px}
.stu-rond.grand{width:52px;height:52px;padding:8px;font-size:15px}

/* le fil : activité, agenda, messages */
.stu-fil{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--ecx-line);background:var(--ecx-card)}
.stu-fil>div{display:flex;gap:10px;align-items:flex-start}
.stu-fil p{margin:0;font-size:13px;line-height:1.45;flex:1;min-width:0}
.stu-fil p b{font-weight:550}
.stu-fil small{display:block;font-size:11.5px;color:var(--ecx-faint);margin-top:1px}
.stu-point{width:7px;height:7px;border-radius:50%;background:var(--ecx-mute);margin-top:6px;flex:none}
.stu-point.rouge{background:#ff6b5a}.stu-point.studio{background:var(--ecx-live)}
.stu-fil .ecx-av{width:24px;height:24px;font-size:10px}

/* les clients */
.stu-cherche{margin:0 0 16px;max-width:320px}
.stu-clients{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.stu-carte{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;border-radius:14px;border:1px solid var(--ecx-line);background:var(--ecx-card);color:var(--text);text-align:left;font:13px var(--font);cursor:pointer;transition:border-color .2s,transform .2s cubic-bezier(0.23,1,0.32,1)}
@media (hover:hover) and (pointer:fine){.stu-carte:hover,.stu-pcarte:hover{border-color:var(--ecx-line2);transform:translateY(-1px)}}
.stu-carte .stu-rond{margin-bottom:8px}
.stu-carte b{font-size:14px;font-weight:600}
.stu-carte small{font-size:12px;color:var(--ecx-mute)}
.stu-faint{color:var(--ecx-faint)!important}

/* la fiche d'un client */
.stu-tete{display:flex;align-items:center;gap:16px;margin:4px 0 26px;flex-wrap:wrap}
.stu-tete h1{margin:0;font-size:24px;font-weight:650;letter-spacing:-.02em}
.stu-tete p{margin:3px 0 0;font-size:13px;color:var(--ecx-mute)}
.stu-tete>div:nth-child(2){flex:1;min-width:0}
.stu-acts{display:flex;gap:8px;flex-wrap:wrap}
.stu-acts .btn{font-size:12.5px;padding:8px 13px}
.stu-doc{width:100%;border:0;background:none;color:var(--text);text-align:left;font:13px var(--font);cursor:pointer}

/* les projets par étape */
.stu-colonnes{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:12px;align-items:start;overflow-x:auto;padding-bottom:8px}
.stu-col{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:16px;background:rgba(255,255,255,.02);border:1px solid var(--ecx-line);min-height:120px}
.stu-col h2{margin:0 0 4px;font-size:13px;font-weight:600;display:flex;justify-content:space-between}
.stu-col h2 small{color:var(--ecx-faint);font-weight:500}
.stu-pcarte{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;border:1px solid var(--ecx-line);background:var(--ecx-card);color:var(--text);text-align:left;font:13px var(--font);cursor:pointer;transition:border-color .2s,transform .2s cubic-bezier(0.23,1,0.32,1)}
.stu-pcarte b{font-size:13.5px;font-weight:550;line-height:1.3}
.stu-pcarte small{font-size:12px;color:var(--ecx-mute)}
.stu-pc-h{display:flex;align-items:center;gap:8px}
.stu-pc-h .stu-rond{width:22px;height:22px;padding:3px;font-size:9px}
.stu-vide-col{margin:4px 0;font-size:12px;color:var(--ecx-faint)}

@media (max-width:1100px){.stu-grille{grid-template-columns:1fr}}
@media (max-width:760px){.stu-projet{grid-template-columns:auto minmax(0,1fr) 70px}.stu-p2{display:none}}
/* la barre d'onglets du bas de l'ancien portail n'a rien à faire dans le studio */
body.stu-on #mtab{display:none!important}
.stu-outils{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 16px}
.stu-outils .stu-cherche{margin:0}

/* ── accueil visuel : trois chiffres, puis les projets en cartes ── */
.stu-tuiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:980px}
.stu-tuile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:20px 22px;border-radius:18px;border:1px solid var(--ecx-line);background:var(--ecx-card);color:var(--text);text-align:left;font:13px var(--font);cursor:pointer;transition:border-color .2s,background .2s,transform .2s cubic-bezier(0.23,1,0.32,1)}
@media (hover:hover) and (pointer:fine){.stu-tuile:hover{border-color:var(--ecx-line2);transform:translateY(-1px)}.stu-affiche:hover{border-color:var(--ecx-line2);transform:translateY(-2px)}}
.stu-tuile b{font-size:34px;font-weight:600;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1}
.stu-tuile span{font-size:14px;font-weight:550}
.stu-tuile small{font-size:12.5px;color:var(--ecx-mute);margin-top:4px;font-variant-numeric:tabular-nums}
.stu-tuile.on{border-color:rgba(255,255,255,.35);background:#16161a}
.stu-tuile.calme b{color:var(--ecx-faint)}
.stu-deplie{max-width:980px;margin-top:10px;animation:cvEntre .25s cubic-bezier(0.23,1,0.32,1) both}
.stu-sec-projets{margin-top:34px}
.stu-affiches{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.stu-affiche{display:flex;flex-direction:column;padding:0;border-radius:18px;border:1px solid var(--ecx-line);background:var(--ecx-card);color:var(--text);text-align:left;font:13px var(--font);cursor:pointer;overflow:hidden;transition:border-color .2s,transform .2s cubic-bezier(0.23,1,0.32,1)}
.stu-aff-haut{display:grid;place-items:center;height:118px;background:#101013}
.stu-aff-haut .stu-rond.grand{width:64px;height:64px;padding:10px}
.stu-aff-bas{display:flex;flex-direction:column;gap:3px;padding:14px 16px 16px}
.stu-aff-bas small{font-size:11.5px;color:var(--ecx-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-aff-bas b{font-size:14.5px;font-weight:600;line-height:1.3}
.stu-aff-etape{display:flex;justify-content:space-between;gap:8px;margin:6px 0 8px;font-size:12px}
.stu-aff-etape i{font-style:normal;color:var(--text)}
.stu-aff-etape em{font-style:normal;color:var(--ecx-faint);white-space:nowrap}
@media (max-width:700px){.stu-tuiles{grid-template-columns:1fr}}

/* ── documents de production : catalogue et éditeur ── */
.stu-modeles{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.stu-modele{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px;border-radius:14px;border:1px solid var(--ecx-line);background:var(--ecx-card);color:var(--text);text-align:left;font:13px var(--font);cursor:pointer;transition:border-color .2s,transform .2s cubic-bezier(0.23,1,0.32,1)}
.stu-modele b{font-size:13.5px;font-weight:550;line-height:1.35}
.stu-modele small{font-size:12px;color:#ff8a73;font-weight:550}
.stu-modele.bientot{cursor:default;opacity:.55}.stu-modele.bientot small{color:var(--ecx-mute)}
@media (hover:hover) and (pointer:fine){.stu-modele:not(.bientot):hover{border-color:var(--ecx-line2);transform:translateY(-1px)}}
.stu-editeur{position:fixed;inset:0;z-index:9000;background:#0a0a0b;display:flex;flex-direction:column;animation:etFond .2s ease-out}
.stu-editeur header{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--ecx-line);background:#0b0b0d}
.stu-editeur header input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--text);font:600 15px var(--font)}
.stu-editeur header select{background:var(--ecx-card2);border:1px solid var(--ecx-line);border-radius:9px;color:var(--text);font:13px var(--font);padding:7px 10px;max-width:280px}
.stu-etat{font-size:12px;color:var(--ecx-mute);min-width:84px;text-align:right}
.stu-editeur .btn{font-size:12.5px;padding:7px 12px;white-space:nowrap}
.stu-feuille{flex:1;overflow:auto;padding:28px 16px 60px;display:flex;justify-content:center}
.stu-feuille iframe{width:min(820px,100%);min-height:1100px;border:0;background:#fff;border-radius:3px;box-shadow:0 14px 44px rgba(0,0,0,.5)}

/* la recherche ⌘K (style de l'espace client) */
.stu-palette{position:fixed;inset:0;z-index:9500;background:rgba(0,0,0,.55);display:flex;justify-content:center;align-items:flex-start;padding:14vh 16px 0;animation:etFond .15s ease-out}
.stu-pal{width:min(620px,100%);border-radius:18px;background:var(--ecx-card);border:1px solid var(--ecx-line2);box-shadow:0 30px 90px rgba(0,0,0,.6);overflow:hidden;animation:etMonte .22s cubic-bezier(0.23,1,0.32,1)}
.stu-pal input{width:100%;border:0;border-bottom:1px solid var(--ecx-line);background:none;color:var(--text);font:16px var(--font);padding:18px 20px;outline:none}
.stu-pal-l{max-height:52vh;overflow:auto;padding:6px}
.stu-pal-l small.g{display:block;padding:10px 12px 4px;font-size:11.5px;color:var(--ecx-faint)}
.stu-pal-l button{display:flex;align-items:center;gap:12px;width:100%;border:0;background:none;color:var(--text);font:13.5px var(--font);padding:10px 12px;border-radius:12px;cursor:pointer;text-align:left}
.stu-pal-l button span{color:var(--ecx-mute);font-size:12px;margin-left:auto}
.stu-pal-l button.sel,.stu-pal-l button:hover{background:var(--ecx-hover)}
.stu-pal-l .ecx-i{width:16px;height:16px;color:var(--ecx-mute)}
@media (prefers-reduced-motion:reduce){.stu-palette,.stu-pal{animation:none}}
.stu-afaire{margin-top:18px}

/* ════════════════════════════════════════════════════════════════════════════
   STUDIO 31/10 · le cockpit et le CRM. Fond noir, aucun dégradé, aucun halo :
   des surfaces à plat, des filets fins, les chiffres en tabulaire, une seule
   couleur d'accent (le jaune du direct) et le vert pour ce qui est acquis.
   ════════════════════════════════════════════════════════════════════════════ */
.stu-large{max-width:1440px}
.stu-side .ecx-nav h5{padding-top:16px}
.stu-side #stuProjBarre h5{padding-top:20px}
.stu-cmdk{display:flex;align-items:center;gap:10px;width:100%;height:36px;margin:0 0 6px;padding:0 10px;border-radius:9px;border:1px solid var(--ecx-line);background:var(--ecx-card);color:var(--ecx-mute);font:13px var(--font);cursor:pointer;transition:border-color .15s,color .15s}
.stu-cmdk .ecx-i{width:15px;height:15px}
.stu-cmdk span{flex:1;text-align:left}
.stu-cmdk kbd{font:600 10.5px var(--font);color:var(--ecx-faint);border:1px solid var(--ecx-line2);border-radius:5px;padding:1px 5px}
@media (hover:hover) and (pointer:fine){.stu-cmdk:hover{border-color:var(--ecx-line2);color:var(--text)}}

/* le salut */
.stu-salut{margin:6px 0 26px}
.stu-salut small{display:block;font-size:12.5px;color:var(--ecx-faint);font-weight:550;margin-bottom:6px}
.stu-salut h1{font-size:34px;font-weight:650;letter-spacing:-.035em;line-height:1.05;margin:0}
.stu-salut p{margin:10px 0 0;font-size:15px;color:var(--ecx-mute);max-width:70ch}

/* les chiffres */
.stu-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border-radius:18px;overflow:hidden;border:1px solid var(--ecx-line);background:var(--ecx-line);margin-bottom:22px}
.stu-kpis.petits{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.stu-kpi{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:18px 20px 18px;background:var(--ecx-card);border:0;color:var(--text);text-align:left;font:13px var(--font);min-width:0}
button.stu-kpi{cursor:pointer;transition:background .15s}
@media (hover:hover) and (pointer:fine){button.stu-kpi:hover{background:var(--ecx-card2)}}
.stu-kpi>span:first-child{font-size:12.5px;color:var(--ecx-mute);font-weight:520}
.stu-kpi b{font-size:26px;font-weight:620;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.15;margin-top:2px;white-space:nowrap}
.stu-kpis.petits .stu-kpi b{font-size:21px}
.stu-kpi small{font-size:12px;color:var(--ecx-faint);font-variant-numeric:tabular-nums;line-height:1.4}
.stu-kpi em{font-style:normal;color:#ff8a73}
.stu-barres{display:flex;align-items:flex-end;gap:3px;height:30px;margin-top:10px;width:100%;max-width:200px}
.stu-barres i{flex:1;height:100%;border-radius:2px;background:rgba(255,255,255,.14);transform-origin:bottom}
.stu-barres i.on{background:var(--ecx-live)}

/* les panneaux de l'accueil */
.stu-duo{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;margin-bottom:22px}
.stu-pan{border-radius:18px;border:1px solid var(--ecx-line);background:var(--ecx-card);padding:6px 6px 8px;min-width:0}
.stu-pan>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px 8px}
.stu-pan h2{margin:0;font-size:14.5px;font-weight:620;display:flex;align-items:baseline;gap:8px}
.stu-pan h2 small{font-size:12px;color:var(--ecx-faint);font-weight:500}
.stu-mini{border:0;background:none;color:var(--ecx-mute);font:550 12.5px var(--font);padding:5px 8px;border-radius:7px;cursor:pointer;white-space:nowrap}
@media (hover:hover) and (pointer:fine){.stu-mini:hover{color:var(--text);background:var(--ecx-hover)}}
.stu-calme{color:var(--ecx-mute);font-size:13px;line-height:1.5;margin:6px 14px 12px}
.stu-calme.pad{margin:12px 16px}
.stu-plus{font-size:12.5px;color:var(--ecx-faint);margin:6px 14px 8px}
.stu-faire{display:flex;align-items:center;gap:12px;padding:10px 10px;border-radius:11px;transition:background .15s}
@media (hover:hover) and (pointer:fine){.stu-faire:hover{background:var(--ecx-hover)}}
.stu-faire .ecx-tt b{font-size:13.5px;font-weight:560}
.stu-faire .ecx-tt span{font-size:12px}
.stu-pic{width:32px;height:32px;border-radius:9px;background:var(--ecx-card2);display:grid;place-items:center;flex:none}
.stu-pic .ecx-i{width:16px;height:16px;color:var(--ecx-mute)}
.stu-coche{width:20px;height:20px;margin:0 6px;border-radius:50%;border:1.5px solid var(--ecx-line2);background:none;cursor:pointer;flex:none;position:relative;transition:border-color .15s,background .15s,transform .12s}
.stu-coche:active{transform:scale(.92)}
@media (hover:hover) and (pointer:fine){.stu-coche:hover{border-color:var(--ecx-ok)}}
.stu-coche.on{background:var(--ecx-ok);border-color:var(--ecx-ok)}
.stu-coche.on::after{content:"";position:absolute;left:6px;top:2.5px;width:5px;height:9px;border:solid #0b0b0d;border-width:0 2px 2px 0;transform:rotate(45deg)}
.retard{color:#ff8a73!important}

/* l'agenda en bref */
.stu-agl{display:flex;flex-direction:column}
.stu-age{display:flex;align-items:center;gap:12px;padding:8px 10px;border:0;border-radius:11px;background:none;color:var(--text);font:13px var(--font);text-align:left;cursor:pointer}
@media (hover:hover) and (pointer:fine){.stu-age:hover{background:var(--ecx-hover)}}
.stu-jj{width:38px;flex:none;display:flex;flex-direction:column;align-items:center;line-height:1.1}
.stu-jj b{font-size:17px;font-weight:620;font-variant-numeric:tabular-nums}
.stu-jj small{font-size:10.5px;color:var(--ecx-faint);text-transform:uppercase;letter-spacing:.04em}
.stu-ag-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.stu-ag-t b{font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-ag-t small{font-size:12px;color:var(--ecx-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-tag{font-style:normal;font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;background:rgba(255,255,255,.07);color:var(--ecx-mute);white-space:nowrap}
.stu-tag.tournage{background:rgba(255,207,107,.13);color:var(--ecx-live)}
.stu-tag.rdv{background:rgba(120,160,255,.14);color:#9db8ff}
.stu-tag.propose{background:rgba(255,255,255,.06);color:var(--ecx-mute)}
.stu-tag.argent{background:rgba(94,224,143,.1);color:var(--ecx-ok)}

/* projets compacts */
.stu-pl{display:grid;grid-template-columns:auto minmax(0,1fr) 150px;align-items:center;gap:12px;width:100%;padding:8px 10px;border:0;border-radius:11px;background:none;color:var(--text);font:13px var(--font);text-align:left;cursor:pointer}
@media (hover:hover) and (pointer:fine){.stu-pl:hover{background:var(--ecx-hover)}}
.stu-pl-t,.stu-pl-e{display:flex;flex-direction:column;gap:3px;min-width:0}
.stu-pl-t b{font-weight:560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-pl-t small,.stu-pl-e small{font-size:12px;color:var(--ecx-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-barre.mini{width:60px;flex:none}
.stu-lpr-e{display:flex;flex-direction:column;gap:5px;width:170px;flex:none}
.stu-lpr-e small{font-size:12px;color:var(--ecx-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* le flux des clients */
.stu-flux{display:flex;flex-direction:column}
.stu-flux button{display:flex;gap:11px;align-items:flex-start;padding:8px 10px;border:0;border-radius:11px;background:none;color:var(--text);font:13px var(--font);text-align:left;cursor:pointer}
@media (hover:hover) and (pointer:fine){.stu-flux button:hover{background:var(--ecx-hover)}}
.stu-flux .ecx-av{width:26px;height:26px;font-size:10px;margin-top:1px}
.stu-flux p{margin:0;line-height:1.45;color:var(--ecx-mute);min-width:0}
.stu-flux p b{color:var(--text);font-weight:560}
.stu-flux small{display:block;font-size:11.5px;color:var(--ecx-faint)}
.stu-cockpit .ecx-h2{margin-top:6px}
.stu-cockpit #stuUneBloc{margin-bottom:26px}

/* ── les tableaux (sociétés, contacts, affaires en liste) ── */
.stu-table{border-radius:16px;border:1px solid var(--ecx-line);background:var(--ecx-card);overflow:hidden}
.stu-tr{display:grid;align-items:center;gap:14px;width:100%;padding:10px 16px;border:0;border-bottom:1px solid var(--ecx-line);background:none;color:var(--text);font:13px var(--font);text-align:left}
.stu-tr:last-child{border-bottom:0}
button.stu-tr{cursor:pointer;transition:background .12s}
@media (hover:hover) and (pointer:fine){button.stu-tr:hover{background:var(--ecx-hover)}}
.stu-th{background:#0e0e10;padding-top:9px;padding-bottom:9px}
.stu-th>*{font:550 11.5px var(--font);color:var(--ecx-faint);text-align:left;background:none;border:0;padding:0;cursor:default}
.stu-th button{cursor:pointer}.stu-th button:hover{color:var(--text)}.stu-th button.on{color:var(--text)}
.stu-th button.on::after{content:" ↓";color:var(--ecx-faint)}
.stu-tr>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-td1{display:flex;align-items:center;gap:12px;min-width:0}
.stu-td1>span:last-child,.stu-td2{display:flex;flex-direction:column;gap:1px;min-width:0}
.stu-td1 b,.stu-td2 b{font-weight:560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-td2 b{font-weight:500}
.stu-td1 small,.stu-td2 small{font-size:12px;color:var(--ecx-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-td1 .ecx-av{width:30px;height:30px}
.stu-num{font-variant-numeric:tabular-nums}
.stu-num i{font-style:normal}
.stu-t-soc .stu-tr{grid-template-columns:minmax(220px,1.6fr) minmax(140px,1fr) 90px 110px 110px 100px minmax(150px,1fr)}
.stu-t-ct .stu-tr{grid-template-columns:minmax(220px,1.4fr) minmax(150px,1fr) 130px 150px minmax(160px,1fr)}
.stu-t-aff .stu-tr{grid-template-columns:minmax(220px,1.6fr) minmax(150px,1fr) 140px 110px 110px 100px}
.stu-encore{margin:14px auto 0;display:flex}
.stu-aide{font-size:12.5px;color:var(--ecx-faint)}
.stu-select{height:34px;padding:0 10px;border-radius:9px;background:var(--ecx-card2);border:1px solid var(--ecx-line);color:var(--text);font:13px var(--font);color-scheme:dark}
.ecx-filtres.petit button{height:28px;padding:0 11px;font-size:12.5px}

/* les étapes : une pastille par étape, couleurs sobres */
.stu-et{display:inline-flex;font-size:11px;font-weight:600;padding:2px 8px;border-radius:99px;background:rgba(255,255,255,.07);color:var(--ecx-mute);white-space:nowrap}
.stu-et.rdv,.stu-et.conversation{background:rgba(120,160,255,.13);color:#9db8ff}
.stu-et.proposition,.stu-et.negociation,.stu-et.espace{background:rgba(255,207,107,.12);color:var(--ecx-live)}
.stu-et.gagne,.stu-et.client{background:rgba(94,224,143,.11);color:var(--ecx-ok)}
.stu-et.perdu{background:rgba(255,138,115,.1);color:#ff8a73}
.stu-genre{display:inline-flex;font-size:11px;font-weight:600;padding:1px 8px;border-radius:99px;background:rgba(255,255,255,.08);color:var(--ecx-mute);margin-right:8px;vertical-align:1px}
.stu-genre.client{background:rgba(94,224,143,.11);color:var(--ecx-ok)}

/* ── le tableau des affaires ── */
.stu-pipe{display:grid;grid-template-columns:repeat(5,minmax(158px,1fr)) minmax(168px,.95fr);gap:10px;align-items:start;overflow-x:auto;padding-bottom:14px;scroll-snap-type:x proximity}
.stu-pcol{display:flex;flex-direction:column;border-radius:16px;background:#0d0d0f;border:1px solid var(--ecx-line);padding:12px 10px 10px;min-height:260px;scroll-snap-align:start;transition:border-color .15s,background .15s}
.stu-pcol.survol{border-color:rgba(255,207,107,.55);background:#121214}
.stu-pcol h2{display:flex;justify-content:space-between;align-items:baseline;margin:0 4px;font-size:13px;font-weight:620}
.stu-pcol h2 small{font-size:12px;color:var(--ecx-faint);font-weight:500;font-variant-numeric:tabular-nums}
.stu-pcol.gagne h2 span{color:var(--ecx-ok)}.stu-pcol.perdu h2 span{color:#ff8a73}
.stu-pcol-t{margin:2px 4px 10px;font-size:12px;color:var(--ecx-mute);font-variant-numeric:tabular-nums}
.stu-pcol-l{display:flex;flex-direction:column;gap:8px;flex:1}
.stu-pclos{display:flex;flex-direction:column;gap:10px}
.stu-pclos .stu-pcol{min-height:120px}
.stu-pclos .stu-af{padding:9px 11px}.stu-pclos .stu-af>b{font-size:12.5px}.stu-pclos .stu-af header .stu-rond{display:none}
.stu-af{display:flex;flex-direction:column;gap:6px;padding:12px 12px 11px;border-radius:12px;border:1px solid var(--ecx-line);background:var(--ecx-card);cursor:grab;transition:border-color .15s,transform .2s cubic-bezier(0.23,1,0.32,1),opacity .15s;outline:none}
.stu-af:focus-visible{border-color:rgba(255,255,255,.4)}
@media (hover:hover) and (pointer:fine){.stu-af:hover{border-color:var(--ecx-line2);transform:translateY(-1px)}}
.stu-af.glisse{opacity:.4;cursor:grabbing}
.stu-af header{display:flex;align-items:center;gap:8px;min-width:0}
.stu-af header .stu-rond{width:22px;height:22px;padding:3px;font-size:9px}
.stu-af header small{font-size:12px;color:var(--ecx-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-af>b{font-size:13.5px;font-weight:560;line-height:1.35}
.stu-af-b{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.stu-af-m{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums}
.stu-af-b small{font-size:11.5px;color:var(--ecx-faint);white-space:nowrap}
.stu-af-t{display:flex;gap:6px;align-items:flex-start;margin:2px 0 0;padding-top:7px;border-top:1px solid var(--ecx-line);font-size:12px;color:var(--ecx-mute);line-height:1.4}
.stu-af-t .ecx-i{width:13px;height:13px;margin-top:1px}
.stu-pcol .stu-mini{margin-top:8px;align-self:flex-start}

/* ── le panneau de droite (affaire, contact) ── */
.stu-voile{z-index:9100}
.stu-tiroir{z-index:9101;width:min(500px,100vw);gap:16px}
.stu-tiroir .et-pch select{width:100%}
.stu-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.stu-etapes{display:flex;flex-wrap:wrap;gap:4px}
.stu-etapes button{border:1px solid var(--ecx-line);background:none;color:var(--ecx-mute);font:550 12px var(--font);padding:5px 10px;border-radius:99px;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
@media (hover:hover) and (pointer:fine){.stu-etapes button:hover{color:var(--text);border-color:var(--ecx-line2)}}
.stu-etapes button.on{background:var(--text);color:#0b0b0d;border-color:var(--text)}
.stu-etapes button.on.gagne{background:var(--ecx-ok);border-color:var(--ecx-ok)}
.stu-etapes button.on.perdu{background:#ff8a73;border-color:#ff8a73}
.stu-tsec{display:flex;flex-direction:column;gap:6px;padding-top:12px;border-top:1px solid var(--ecx-line)}
.stu-tsec h4{margin:0 0 2px;font-size:12.5px;font-weight:600;color:var(--ecx-mute)}
.stu-tsec h4 small{color:var(--ecx-faint);font-weight:500}
.stu-tsec .stu-ligne{border-radius:10px;border-bottom:0;padding:9px 10px}
.stu-tsec .stu-ligne i.ecd-pastille{font-style:normal}
.stu-note{margin:0;font-size:12px;color:var(--ecx-faint);line-height:1.5}
.stu-ct-h{display:flex;align-items:center;gap:12px}
.ecx-av.grand{width:44px;height:44px;font-size:15px}
.stu-ct-a{display:flex;gap:8px;flex-wrap:wrap}
.stu-ct-a .btn{font-size:12.5px;padding:7px 12px;text-decoration:none}
.stu-ct-a .ecx-i{width:15px;height:15px}

/* ── la fenêtre de création ── */
.stu-fen-fond{z-index:9600;align-items:flex-start;padding-top:12vh}
.stu-fen{padding:22px 22px 18px;width:min(520px,100%)}
.stu-fen h3{margin:0 0 16px;font-size:17px;font-weight:640;letter-spacing:-.01em}
.stu-fen-c{display:flex;flex-direction:column;gap:12px}
.stu-fen .et-pch input,.stu-fen .et-pch select,.stu-fen .et-pch textarea{background:var(--ecx-card2);border:1px solid var(--ecx-line);border-radius:10px;color:var(--text);font:14px/1.45 var(--font);padding:9px 11px;outline:none;color-scheme:dark;width:100%;box-sizing:border-box}
.stu-fen .et-pch input:focus,.stu-fen .et-pch select:focus,.stu-fen .et-pch textarea:focus{border-color:rgba(10,132,255,.6)}
.stu-fen .manque{border-color:#ff8a73!important}
.stu-fen footer{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.stu-tiroir .et-pch input,.stu-tiroir .et-pch select{width:100%;box-sizing:border-box;height:38px}

/* ── la fiche d'une société : le fil ── */
.stu-sec-h .ecx-filtres{margin:0}
.stu-compo{border-radius:14px;border:1px solid var(--ecx-line);background:var(--ecx-card);padding:10px;display:flex;flex-direction:column;gap:8px;margin-bottom:18px;transition:border-color .15s}
.stu-compo:focus-within{border-color:var(--ecx-line2)}
.stu-compo .et-seg{align-self:flex-start}
.stu-compo textarea{border:0;background:none;color:var(--text);font:14px/1.5 var(--font);resize:vertical;outline:none;padding:4px 4px;min-height:44px}
.stu-compo.petit{padding:8px;margin:0}
.stu-compo.petit textarea{font-size:13.5px;min-height:36px}
.stu-compo-b{display:flex;align-items:center;gap:8px}
.stu-compo-b input{background:var(--ecx-card2);border:1px solid var(--ecx-line);border-radius:8px;color:var(--text);font:12.5px var(--font);padding:5px 8px;color-scheme:dark;margin-right:6px}
.stu-compo-b .btn{font-size:12.5px;padding:7px 13px}
.stu-tl{display:flex;flex-direction:column}
.stu-tl-j{margin:16px 0 6px;font-size:12px;font-weight:600;color:var(--ecx-faint)}
.stu-tl-j:first-child{margin-top:0}
.stu-tl-i{position:relative;display:flex;gap:12px;align-items:flex-start;padding:8px 10px 8px 6px;border-radius:10px}
.stu-tl-i>.ecx-i{width:15px;height:15px;margin-top:2px;color:var(--ecx-faint);flex:none}
.stu-tl-i.studio>.ecx-i{color:var(--ecx-live)}
.stu-tl-i.lien{cursor:pointer}
@media (hover:hover) and (pointer:fine){.stu-tl-i.lien:hover{background:var(--ecx-hover)}}
.stu-tl-i p{margin:0;font-size:13.5px;line-height:1.45;color:var(--ecx-mute);min-width:0;flex:1}
.stu-tl-i p b{color:var(--text);font-weight:560}
.stu-tl-x{display:block;color:var(--text);margin-top:3px;white-space:pre-wrap;overflow-wrap:anywhere}
.stu-tl-i small{display:block;font-size:11.5px;color:var(--ecx-faint);margin-top:2px}
.stu-tl.petit .stu-tl-i p{font-size:13px}
.stu-boite{border-radius:14px;border:1px solid var(--ecx-line);background:var(--ecx-card);overflow:hidden;padding:4px}
.stu-boite .stu-ligne{border-radius:10px;border-bottom:0;padding:9px 12px}
.stu-boite .stu-ligne i{font-style:normal}
.stu-boite .stu-ligne.statique{cursor:default}
.stu-boite .stu-ligne .ecx-av{width:28px;height:28px;font-size:10.5px}
.stu-boite .stu-faire{padding:8px 8px}
.stu-infos{padding:6px 4px}
.stu-inf{display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:10px;padding:2px 8px}
.stu-inf span{font-size:12.5px;color:var(--ecx-mute)}
.stu-inf input,.stu-inf select,.stu-inf textarea{width:100%;box-sizing:border-box;border:1px solid transparent;border-radius:8px;background:none;color:var(--text);font:13px var(--font);padding:6px 8px;outline:none;color-scheme:dark;transition:border-color .15s,background .15s;resize:vertical}
.stu-inf input:hover,.stu-inf select:hover,.stu-inf textarea:hover{background:var(--ecx-card2)}
.stu-inf input:focus,.stu-inf select:focus,.stu-inf textarea:focus{border-color:rgba(10,132,255,.6);background:var(--ecx-card2)}
.stu-inf .ok{border-color:rgba(94,224,143,.6)}
.stu-tete .btn .ecx-i{width:15px;height:15px}

/* ── l'agenda ── */
.stu-agj{margin-bottom:22px;max-width:920px}
.stu-agj h2{margin:0 0 8px;font-size:14.5px;font-weight:620;display:flex;align-items:baseline;gap:10px}
.stu-agj h2 small{font-size:12.5px;color:var(--ecx-faint);font-weight:500}
.stu-agj.auj h2{color:var(--ecx-live)}
.stu-agj.retard h2{color:#ff8a73}
.stu-agr{display:flex;align-items:center;gap:12px;padding:4px 8px;border-radius:12px;border:1px solid var(--ecx-line);background:var(--ecx-card);margin-bottom:6px}
.stu-agh{width:52px;flex:none;font-size:12.5px;color:var(--ecx-mute);font-variant-numeric:tabular-nums;text-align:center}
.stu-agr .stu-coche{margin:0 16px}
.stu-agr-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;padding:8px 0;border:0;background:none;color:var(--text);font:13.5px var(--font);text-align:left;cursor:pointer}
.stu-agr-t b{font-weight:560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-agr-t small{font-size:12px;color:var(--ecx-mute)}
.stu-agr .stu-tag{margin-right:6px}

/* ── devis et factures ── */
.stu-ecd{max-width:none}
.stu-vu{display:flex;align-items:center;gap:6px;margin:4px 0 0;font-size:12px;color:var(--ecx-faint)}
.stu-vu .ecx-i{width:14px;height:14px}
.stu-vu.oui{color:var(--ecx-ok)}
.stu-dt{font-size:12px;white-space:nowrap;width:110px;text-align:right}
.ecd-pastille.rouge{color:#ff8a73;background:rgba(255,138,115,.1)}
.stu-ecd .stu-outils{margin-top:8px}
.stu-lpr .ecx-chev,.stu-lpr>.ecx-i:last-child{color:var(--ecx-faint);width:14px;height:14px}

@media (max-width:1180px){.stu-duo{grid-template-columns:1fr}.stu-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:980px){
  .stu-t-soc .stu-tr{grid-template-columns:minmax(0,1.6fr) 110px 100px}.stu-t-soc .stu-tr>:nth-child(2),.stu-t-soc .stu-tr>:nth-child(3),.stu-t-soc .stu-tr>:nth-child(6),.stu-t-soc .stu-tr>:nth-child(7){display:none}
  .stu-t-ct .stu-tr{grid-template-columns:minmax(0,1.4fr) 120px minmax(0,1fr)}.stu-t-ct .stu-tr>:nth-child(2),.stu-t-ct .stu-tr>:nth-child(4){display:none}
  .stu-t-aff .stu-tr{grid-template-columns:minmax(0,1.6fr) 120px 110px}.stu-t-aff .stu-tr>:nth-child(2),.stu-t-aff .stu-tr>:nth-child(5),.stu-t-aff .stu-tr>:nth-child(6){display:none}}
@media (max-width:700px){.stu-kpis{grid-template-columns:1fr}.stu-2{grid-template-columns:1fr}.stu-salut h1{font-size:28px}.stu-pl{grid-template-columns:auto minmax(0,1fr)}.stu-pl-e{display:none}.stu-lpr-e{display:none}.stu-inf{grid-template-columns:1fr;gap:2px}}
@media (prefers-reduced-motion:reduce){.stu-af,.stu-coche,.stu-pcol{transition:none}}

.stu-ligne .ecx-av,.stu-ligne .stu-rond{flex:none!important}
.stu-tiroir .btn{width:auto;flex:none}
.stu-tiroir footer .btn{padding:8px 14px;font-size:13px}
.stu-compo-b .btn{width:auto;flex:none}
.stu-agh .ecx-i{width:15px;height:15px;color:var(--ecx-faint)}
.stu-agr.tournage .stu-agh .ecx-i{color:var(--ecx-live)}.stu-agr.argent .stu-agh .ecx-i{color:var(--ecx-ok)}
.stu-dev2{font-style:normal;font-size:.62em;font-weight:560;color:var(--ecx-mute);letter-spacing:-.01em;margin-left:2px}

/* ════ ACCUEIL « POSTE DE PILOTAGE » (31/10) · la casquette en emblème, des instruments sans cadre, une action, la semaine en frise.
   Pas de dégradé ; l'ambre seulement pour ce qui est vivant (aujourd'hui, le compte à rebours, le mois en cours). ════ */
.stu-marque{display:flex;align-items:center;gap:11px;width:100%;border:0;background:none;color:var(--text);text-align:left;cursor:pointer;padding:4px 6px;border-radius:12px;font:inherit}
.stu-marque.on{background:none}
@media (hover:hover) and (pointer:fine){.stu-marque:hover .stu-soie{transform:rotate(-4deg) translateY(-1px)}}
.stu-soie{width:38px;height:auto;flex:none;color:#f5f5f7;transition:transform .3s cubic-bezier(0.23,1,0.32,1)}
.stu-marque b{display:block;font-size:17px;font-weight:650;letter-spacing:-.03em;line-height:1.1}
.stu-marque div span{display:block;font-size:11.5px;color:var(--ecx-faint);margin-top:1px}

.stu-x{--x-mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,monospace;--x-txt2:rgba(245,245,247,.72);--x-fond:#0c0c0e;max-width:1280px}
.stu-x-mono{font:500 11px/1.3 var(--x-mono);letter-spacing:.13em;text-transform:uppercase;color:rgba(245,245,247,.55)}
.stu-x-tete{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:26px 0 34px;overflow:hidden;isolation:isolate}
.stu-x-soie{position:absolute;z-index:-1;right:-30px;top:-22px;width:min(560px,70%);height:auto;color:#fff;opacity:.05;pointer-events:none;transition:transform .7s cubic-bezier(0.23,1,0.32,1)}
.stu-x-salut h1{font-size:34px;font-weight:620;letter-spacing:-.035em;line-height:1.05;margin:10px 0 0}
.stu-x-phrase{margin:10px 0 0;font-size:16px;color:var(--x-txt2)}
.stu-x-phrase b{color:var(--text);font-weight:600}
.stu-x-compte{display:flex;flex-direction:column;align-items:flex-end;gap:4px;border:0;border-left:1px solid var(--ecx-line);background:none;color:var(--text);padding:2px 0 2px 24px;cursor:pointer;font:inherit;text-align:right}
.stu-x-compte b{font-size:30px;font-weight:520;letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--ecx-live);line-height:1.1}
.stu-x-compte small{font-size:12.5px;color:var(--x-txt2);max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.stu-x-instr{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ecx-line);border-bottom:1px solid var(--ecx-line);margin-bottom:30px}
.stu-x-i{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-width:0;padding:20px 22px;border:0;border-left:1px solid var(--ecx-line);background:none;color:var(--text);text-align:left;font:inherit;cursor:pointer;transition:background .15s}
.stu-x-i:first-child{border-left:0;padding-left:2px}
@media (hover:hover) and (pointer:fine){.stu-x-i:hover{background:rgba(255,255,255,.022)}}
.stu-x-i b{font-size:28px;font-weight:520;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap}
.stu-x-i small{font-size:12.5px;color:var(--x-txt2);font-variant-numeric:tabular-nums;line-height:1.4}
.stu-x-i em{font-style:normal;color:#ff8a73}
.stu-x-pts{display:flex;gap:4px}
.stu-x-pts span{display:grid;gap:3px}
.stu-x-pts i{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.1)}
.stu-x-pts i.on{background:rgba(255,255,255,.6)}
.stu-x-pts i.now{background:var(--ecx-live)}

.stu-x-now{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);border:1px solid var(--ecx-line);border-radius:20px;background:var(--x-fond);overflow:hidden;margin-bottom:34px}
.stu-x-now-a{display:flex;flex-direction:column;gap:8px;padding:26px 28px 28px;border-right:1px solid var(--ecx-line);min-width:0}
.stu-x-now-a h2{margin:8px 0 0;font-size:24px;font-weight:620;letter-spacing:-.025em;line-height:1.2}
.stu-x-now-a p{margin:0;font-size:14.5px;line-height:1.5;color:var(--x-txt2)}
.stu-x-acts{margin-top:auto;padding-top:20px}
.stu-x-pouls{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--ecx-live);margin-right:9px;vertical-align:1px;animation:stuPouls 2.4s ease-in-out infinite}
@keyframes stuPouls{50%{opacity:.35}}
.stu-x-go{display:inline-flex;align-items:center;gap:14px;border:0;border-radius:99px;background:#f5f5f7;color:#0b0b0d;font:600 14px var(--font);padding:6px 6px 6px 20px;cursor:pointer;transition:transform .16s cubic-bezier(0.23,1,0.32,1)}
.stu-x-go span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#0b0b0d;color:#f5f5f7;font-size:13px;transition:transform .2s cubic-bezier(0.23,1,0.32,1)}
.stu-x-go:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.stu-x-go:hover span{transform:translateX(2px)}}
.stu-x-now-b{padding:14px 12px 12px;min-width:0}
.stu-x-now-b>header,.stu-x-sem>header,.stu-x-bloc>header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.stu-x-now-b>header{padding:6px 10px 8px}
.stu-x-l{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:12px;transition:background .15s}
@media (hover:hover) and (pointer:fine){.stu-x-l:hover{background:var(--ecx-hover)}}
.stu-x-n{width:22px;flex:none;text-align:center;font:500 11.5px var(--x-mono);color:rgba(245,245,247,.42)}
.stu-x-l .stu-coche{margin:0 1px}
.stu-x-lt{flex:1;min-width:0;border:0;background:none;color:var(--text);text-align:left;font:13.5px var(--font);cursor:pointer;padding:0}
.stu-x-lt b,.stu-x-lt small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-x-lt b{font-weight:560}
.stu-x-lt small{font-size:12.5px;color:var(--x-txt2);margin-top:2px}

.stu-x-sem{margin-bottom:34px}
.stu-x-sem>header{margin-bottom:12px}
.stu-x-jours{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-top:1px solid var(--ecx-line)}
.stu-x-j{display:flex;flex-direction:column;gap:6px;min-width:0;min-height:128px;padding:12px 10px 14px;border-left:1px solid var(--ecx-line)}
.stu-x-j:first-child{border-left:0;padding-left:2px}
.stu-x-j.we{background:rgba(255,255,255,.014)}
.stu-x-j p{display:flex;align-items:baseline;justify-content:space-between;gap:6px;margin:0 0 6px}
.stu-x-j p b{font-size:20px;font-weight:520;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.stu-x-j.auj p .stu-x-mono,.stu-x-j.auj p b{color:var(--ecx-live)}
.stu-x-ev{display:block;width:100%;border:0;border-left:2px solid rgba(255,255,255,.3);border-radius:3px 8px 8px 3px;background:rgba(255,255,255,.045);color:var(--text);text-align:left;font:12px var(--font);padding:6px 8px;cursor:pointer;transition:background .15s}
@media (hover:hover) and (pointer:fine){.stu-x-ev:hover{background:rgba(255,255,255,.085)}}
.stu-x-ev b,.stu-x-ev small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-x-ev b{font-weight:560}
.stu-x-ev small{font-size:11px;color:var(--x-txt2);margin-top:1px}
.stu-x-ev.tournage{border-left-color:var(--ecx-live)}
.stu-x-ev.rdv{border-left-color:#9db8ff}
.stu-x-ev.argent{border-left-color:var(--ecx-ok)}
.stu-x-ev.propose{border-left-style:dashed}
.stu-x-ev.plus{border-left-color:transparent;background:none;color:var(--x-txt2);padding:2px 8px}

.stu-x .ecx-h2{margin-top:4px}
.stu-x #stuUneBloc{margin-bottom:34px}
.stu-x-duo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}
.stu-x-bloc{border:1px solid var(--ecx-line);border-radius:20px;background:var(--x-fond);padding:10px 8px;min-width:0}
.stu-x-bloc>header{padding:8px 12px 8px}
.stu-x-p{display:grid;grid-template-columns:auto minmax(0,1fr) 150px;align-items:center;gap:12px;width:100%;padding:9px 12px;border:0;border-radius:12px;background:none;color:var(--text);font:13.5px var(--font);text-align:left;cursor:pointer;transition:background .15s}
@media (hover:hover) and (pointer:fine){.stu-x-p:hover{background:var(--ecx-hover)}}
.stu-x-pt,.stu-x-pe{display:flex;flex-direction:column;gap:3px;min-width:0}
.stu-x-pt b,.stu-x-pt small,.stu-x-pe small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-x-pt b{font-weight:560}
.stu-x-pt small,.stu-x-pe small{font-size:12px;color:var(--x-txt2)}
.stu-x-seg{display:flex;gap:3px;margin-top:3px}
.stu-x-seg i{flex:1;height:4px;border-radius:1px;background:rgba(255,255,255,.1)}
.stu-x-seg i.on{background:rgba(255,255,255,.62)}
.stu-x-seg i.cur{background:var(--ecx-live)}
.stu-x .stu-flux p{color:var(--x-txt2)}

.stu-x>*{animation:stuXin .38s cubic-bezier(0.23,1,0.32,1) both}
.stu-x>:nth-child(2){animation-delay:.04s}.stu-x>:nth-child(3){animation-delay:.08s}.stu-x>:nth-child(4){animation-delay:.12s}.stu-x>:nth-child(n+5){animation-delay:.16s}
@keyframes stuXin{from{opacity:0;transform:translateY(6px)}}
@media (max-width:1100px){.stu-x-now,.stu-x-duo{grid-template-columns:1fr}.stu-x-now-a{border-right:0;border-bottom:1px solid var(--ecx-line)}.stu-x-instr{grid-template-columns:repeat(2,minmax(0,1fr))}.stu-x-i:nth-child(3){border-left:0;padding-left:2px}.stu-x-i:nth-child(n+3){border-top:1px solid var(--ecx-line)}}
@media (max-width:700px){.stu-x-tete{flex-direction:column;align-items:flex-start}.stu-x-compte{align-items:flex-start;text-align:left;border-left:0;padding-left:0}.stu-x-salut h1{font-size:28px}.stu-x-instr{grid-template-columns:1fr}.stu-x-i{border-left:0;padding-left:2px}.stu-x-i:nth-child(n+2){border-top:1px solid var(--ecx-line)}.stu-x-jours{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(140px,1fr);overflow-x:auto}.stu-x-p{grid-template-columns:auto minmax(0,1fr)}.stu-x-pe{display:none}}
@media (prefers-reduced-motion:reduce){.stu-x>*{animation:none}.stu-x-pouls{animation:none}.stu-x-soie,.stu-soie{transition:none}}
.stu-x-suite{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;border-top:1px solid var(--ecx-line);padding-top:14px}
.stu-x-suite .stu-x-ev{padding:12px 14px;font-size:13px}
.stu-x-suite .stu-x-ev .stu-x-mono{display:block;margin-bottom:6px;font-size:10.5px}
@media (max-width:900px){.stu-x-suite{grid-template-columns:1fr 1fr}}

/* ── 31/10 soir, passe « visuels » d'après la recherche (Higgsfield, Krea, Linear, Nothing) ── */
/* l'emblème en tuile, comme le glyphe de Higgsfield */
.stu-tsoie{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:#f5f5f7;flex:none}
.stu-tsoie .stu-soie{width:26px;color:#0b0b0d}
/* la zone principale en panneau flottant, séparée de la barre par le fond */
@media (min-width:861px){
  body.stu-on{background:#000}
  body.stu-on .stu-side{border-right:0;background:#000}
  body.stu-on #view{margin:6px 8px 8px calc(var(--ecx-side) + 2px)!important;border:1px solid rgba(255,255,255,.06);border-radius:18px;background:#09090a;min-height:calc(100vh - 66px);padding:0 40px 40px!important}
}
/* vos films : jaquettes 16:9 en rangée */
.stu-x-films{margin-bottom:34px}
.stu-x-films>header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.stu-x-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(250px,calc((100% - 48px)/4));gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin}
.stu-x-film{display:flex;flex-direction:column;gap:9px;min-width:0;border:0;background:none;color:var(--text);text-align:left;font:13.5px var(--font);cursor:pointer;padding:0;scroll-snap-align:start}
.stu-x-jaq{position:relative;display:block;aspect-ratio:16/9;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.07);background:#111113}
.stu-x-img{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .5s cubic-bezier(0.23,1,0.32,1)}
.stu-x-jaq>i{position:absolute;left:10px;bottom:10px;max-width:calc(100% - 20px);padding:4px 8px;border-radius:6px;background:rgba(0,0,0,.72);color:#f5f5f7;font-style:normal;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-x-vide{position:absolute;inset:0;display:grid;place-items:center}
.stu-x-vsoie{position:absolute;width:118%;left:-6%;top:8%;color:#fff;opacity:.06;transition:transform .5s cubic-bezier(0.23,1,0.32,1)}
.stu-x-vide .stu-x-vlogo{position:relative;width:54px;height:54px;border-radius:14px}
@media (hover:hover) and (pointer:fine){.stu-x-film:hover .stu-x-img{transform:scale(1.035)}.stu-x-film:hover .stu-x-vsoie{transform:translateX(-6px) rotate(-2deg)}.stu-x-film:hover .stu-x-jaq{border-color:rgba(255,255,255,.16)}}
.stu-x-film .stu-x-pt{padding:0 2px}
.stu-x-film .stu-x-seg{padding:0 2px;margin-top:0}
/* vos clients : le fil sur deux colonnes */
.stu-x-bloc .stu-flux{display:grid;grid-template-columns:1fr 1fr;column-gap:8px}
@media (max-width:900px){.stu-x-bloc .stu-flux{grid-template-columns:1fr}.stu-x-rail{grid-auto-columns:78%}}
@media (prefers-reduced-motion:reduce){.stu-x-img,.stu-x-vsoie{transition:none}}

/* ── 31/10, accueil allégé (François : « trop chargé, trop d'informations ») : salut, trois chiffres, une action, vos films ── */
.stu-x-instr{grid-template-columns:repeat(3,minmax(0,1fr))}
.stu-x-now{display:block}
.stu-x-now-a{border-right:0;padding:24px 28px 24px}
.stu-x-acts{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.stu-x-acts .stu-mini{margin-left:auto}
.stu-x-ouvre{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ecx-line2);border-radius:99px;background:none;color:var(--x-txt2);font:550 13px var(--font);padding:9px 14px;cursor:pointer;transition:color .15s,border-color .15s}
.stu-x-ouvre span{display:inline-block;transition:transform .2s cubic-bezier(0.23,1,0.32,1)}
.stu-x-ouvre[aria-expanded="true"] span{transform:rotate(180deg)}
@media (hover:hover) and (pointer:fine){.stu-x-ouvre:hover{color:var(--text);border-color:rgba(255,255,255,.26)}}
.stu-x-suite-l{border-top:1px solid var(--ecx-line);padding:8px 14px 12px;display:grid;grid-template-columns:1fr 1fr;column-gap:12px;animation:stuXin .22s cubic-bezier(0.23,1,0.32,1) both}
.stu-x-suite-l[hidden]{display:none}
.stu-x-films{margin-bottom:10px}
@media (min-width:701px) and (max-width:1100px){.stu-x-instr{grid-template-columns:repeat(3,minmax(0,1fr))}.stu-x-i:nth-child(3){border-left:1px solid var(--ecx-line);padding-left:22px}.stu-x-i:nth-child(n+3){border-top:0}}
@media (max-width:800px){.stu-x-suite-l{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.stu-x-suite-l{animation:none}}

/* ════ MESSAGES : une seule boîte (31/10) · liste à gauche, conversation à droite, façon WhatsApp Web / Front ════ */
.stu-m{display:grid;grid-template-columns:340px minmax(0,1fr);height:calc(100vh - 68px);margin:0 -40px -40px;border-radius:18px;overflow:hidden}
.stu-m-cote{display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--ecx-line)}
.stu-m-cote>header{display:flex;align-items:center;justify-content:space-between;padding:20px 18px 12px}
.stu-m-cote h1{margin:0;font-size:22px;font-weight:650;letter-spacing:-.03em}
.stu-m-nv{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--ecx-line2);background:none;color:var(--text);cursor:pointer;transition:background .15s}
.stu-m-nv .ecx-i{width:16px;height:16px}
@media (hover:hover) and (pointer:fine){.stu-m-nv:hover{background:var(--ecx-hover)}}
.stu-m-q{display:flex;align-items:center;gap:8px;margin:0 14px;padding:0 12px;height:38px;border-radius:11px;background:rgba(255,255,255,.055)}
.stu-m-q .ecx-i{width:15px;height:15px;color:var(--ecx-faint)}
.stu-m-q input{flex:1;min-width:0;border:0;background:none;color:var(--text);font:14px var(--font);outline:none}
.stu-m-f{display:flex;gap:6px;padding:12px 14px 10px}
.stu-m-f button{border:0;border-radius:99px;background:rgba(255,255,255,.055);color:rgba(245,245,247,.7);font:550 12.5px var(--font);padding:6px 12px;cursor:pointer;transition:background .15s,color .15s}
.stu-m-f button.on{background:#f5f5f7;color:#0b0b0d}
.stu-m-liste{flex:1;overflow-y:auto;padding:2px 8px 12px;scrollbar-width:thin}
.stu-m-sous{margin:6px 10px 6px;font:500 11px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--ecx-faint)}
.stu-m-it{display:flex;align-items:center;gap:12px;width:100%;padding:10px 10px;border:0;border-radius:12px;background:none;color:var(--text);text-align:left;font:14px var(--font);cursor:pointer;transition:background .12s}
@media (hover:hover) and (pointer:fine){.stu-m-it:hover{background:rgba(255,255,255,.04)}}
.stu-m-it.on{background:rgba(255,255,255,.075)}
.stu-m-avw{position:relative;flex:none}
.stu-m-av{width:44px!important;height:44px!important;border-radius:50%!important;flex:none}
.stu-m-ini{display:grid;place-items:center;color:#fff;font-size:15px;font-weight:600}
.stu-m-cn{position:absolute;right:-1px;bottom:-1px;width:13px;height:13px;border-radius:50%;border:2.5px solid #09090a;background:#f5f5f7}
.stu-m-cn.whatsapp{background:#25D366}.stu-m-cn.instagram{background:#E1306C}.stu-m-cn.facebook{background:#0084FF}
.stu-m-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.stu-m-l1,.stu-m-l2{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.stu-m-l1 b{font-weight:560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-m-l1 time{font-size:12px;color:var(--ecx-faint);white-space:nowrap;flex:none}
.stu-m-l2 small{font-size:13px;color:rgba(245,245,247,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-m-l2 em{flex:none;font-style:normal;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:var(--ecx-live);color:#0b0b0d;font-size:11.5px;font-weight:700;display:grid;place-items:center}
.stu-m-it.nl .stu-m-l1 b{font-weight:680}.stu-m-it.nl .stu-m-l1 time{color:var(--ecx-live)}.stu-m-it.nl .stu-m-l2 small{color:var(--text)}
.stu-m-rien{margin:18px 12px;font-size:13.5px;color:var(--ecx-mute)}

.stu-m-fil{display:flex;flex-direction:column;min-width:0;min-height:0;background:#060607}
.stu-m-accueil,.stu-m-vide{margin:auto;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;max-width:320px;padding:30px}
.stu-m-accueil b,.stu-m-vide b{font-size:17px;font-weight:620}
.stu-m-accueil p,.stu-m-vide p{margin:0;font-size:14px;line-height:1.5;color:var(--ecx-mute)}
.stu-m-bulle{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.06)}
.stu-m-bulle .ecx-i{width:24px;height:24px;color:var(--ecx-mute)}
.stu-m-vide .stu-m-av{width:64px!important;height:64px!important;margin-bottom:6px}
.stu-m-th{display:flex;align-items:center;gap:12px;padding:14px 20px;border-bottom:1px solid var(--ecx-line);background:#09090a}
.stu-m-th>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.stu-m-th b{font-size:15.5px;font-weight:620;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-m-th small{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ecx-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-m-th small .stu-m-cn{position:static;width:8px;height:8px;border:0}
.stu-m-th .stu-m-av{width:38px!important;height:38px!important}
.stu-m-ret{display:none;border:0;background:none;color:var(--text);font-size:26px;line-height:1;padding:0 6px 2px 0;cursor:pointer}
.stu-m-flux{flex:1;overflow-y:auto;padding:18px 28px 12px;display:flex;flex-direction:column;scrollbar-width:thin}
.stu-m-jour{display:flex;justify-content:center;margin:16px 0 10px}
.stu-m-jour span{font-size:12px;font-weight:550;color:var(--ecx-mute);padding:4px 12px;border-radius:99px;background:rgba(255,255,255,.05)}
.stu-m-b{display:flex;flex-direction:column;max-width:min(560px,74%);margin-top:10px}
.stu-m-b.suite{margin-top:3px}
.stu-m-b.moi{align-self:flex-end;align-items:flex-end}
.stu-m-b.eux{align-self:flex-start;align-items:flex-start}
.stu-m-qui{font-size:12px;color:var(--ecx-mute);margin:0 12px 4px}
.stu-m-bul{position:relative;padding:9px 13px 8px;border-radius:18px;background:#1c1c20;color:var(--text);font-size:14.5px;line-height:1.45}
.stu-m-b.moi .stu-m-bul{background:#f5f5f7;color:#0b0b0d}
.stu-m-b.eux:not(.suite) .stu-m-bul{border-top-left-radius:6px}
.stu-m-b.moi:not(.suite) .stu-m-bul{border-top-right-radius:6px}
.stu-m-bul p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.stu-m-bul time{display:block;text-align:right;font-size:10.5px;margin-top:3px;opacity:.5}
.stu-m-proj{display:block;font-size:11px;font-weight:600;opacity:.6;margin-bottom:3px}
.stu-m-img{display:block;margin:-3px -7px 6px;border-radius:13px;overflow:hidden}
.stu-m-img img{display:block;max-width:300px;max-height:300px;object-fit:cover}
.stu-m-fic{display:flex;align-items:center;gap:8px;margin-bottom:4px;color:inherit;text-decoration:none;font-weight:560}
.stu-m-fic .ecx-i{width:18px;height:18px}
.stu-m-comp{display:flex;align-items:flex-end;gap:10px;margin:8px 20px 18px;padding:6px 6px 6px 18px;border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.06)}
.stu-m-comp textarea{flex:1;min-width:0;border:0;background:none;color:var(--text);font:15px/1.4 var(--font);resize:none;outline:none;padding:8px 0;max-height:160px}
.stu-m-env{display:grid;place-items:center;width:36px;height:36px;flex:none;border:0;border-radius:50%;background:#f5f5f7;color:#0b0b0d;font-size:17px;font-weight:700;cursor:pointer;transition:opacity .15s,transform .12s}
.stu-m-env:disabled{opacity:.25;cursor:default}
.stu-m-env:not(:disabled):active{transform:scale(.94)}
.stu-m-ailleurs{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:8px 20px 18px;padding:12px 16px;border-radius:14px;background:rgba(255,255,255,.05);font-size:13.5px;color:var(--ecx-mute)}
.stu-m-ailleurs a{color:var(--text);font-weight:600;text-decoration:none;white-space:nowrap}
@media (max-width:860px){
  .stu-m{grid-template-columns:1fr;margin:0 -16px;height:calc(100dvh - 120px);border-radius:0}
  .stu-m-fil{display:none}.stu-m.fil-ouvert .stu-m-fil{display:flex}.stu-m.fil-ouvert .stu-m-cote{display:none}
  .stu-m-ret{display:block}.stu-m-flux{padding:14px 14px 10px}.stu-m-b{max-width:84%}.stu-m-comp,.stu-m-ailleurs{margin:8px 10px 12px}
}
/* messages · agents, équipe, propositions des agents */
.stu-m-f{overflow-x:auto;scrollbar-width:none}
.stu-m-f button{white-space:nowrap;flex:none}
.stu-m-ag{display:grid;place-items:center;background:#1c1c20;border:1px solid rgba(255,255,255,.1)}
.stu-m-ag .ecx-i{width:20px;height:20px;color:#f5f5f7}
.stu-m-ag:not(.eq){box-shadow:inset 0 0 0 1.5px rgba(255,207,107,.55)}
.stu-m-th .stu-m-ag .ecx-i{width:17px;height:17px}
.stu-m-vide .stu-m-ag .ecx-i{width:26px;height:26px}
.stu-m-acts{display:flex;flex-direction:column;gap:8px;margin-top:8px;width:min(460px,100%)}
.stu-m-act{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.1);background:#111113}
.stu-m-act-k{font:500 10.5px var(--x-mono,ui-monospace,Menlo,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--ecx-live)}
.stu-m-act b{font-size:14px;font-weight:600}
.stu-m-act small{font-size:12.5px;color:var(--ecx-mute)}
.stu-m-act p{margin:2px 0 0;font-size:13.5px;line-height:1.5;color:rgba(245,245,247,.78);white-space:pre-wrap}
.stu-m-act div{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.stu-mini.plein{background:#f5f5f7;color:#0b0b0d}
@media (hover:hover) and (pointer:fine){.stu-mini.plein:hover{background:#fff;color:#0b0b0d}}
.stu-m-ecrit{display:flex;gap:4px;padding:13px 14px}
.stu-m-ecrit i{width:7px;height:7px;border-radius:50%;background:rgba(245,245,247,.55);animation:stuEcrit 1.2s ease-in-out infinite}
.stu-m-ecrit i:nth-child(2){animation-delay:.15s}.stu-m-ecrit i:nth-child(3){animation-delay:.3s}
@keyframes stuEcrit{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media (prefers-reduced-motion:reduce){.stu-m-ecrit i{animation:none}}

/* ════ LE RAIL (31/10) · le menu du Studio devient une colonne fine : une icône, un mot, comme Slack ou Linear ════ */
.stu-court{display:none}
@media (min-width:861px){
  body.stu-on{--ecx-side:84px}
  body.stu-on .stu-side{padding:14px 8px 12px;align-items:center;overflow-x:hidden}
  .stu-side .ecx-client{padding:2px 0 12px;justify-content:center}
  .stu-side .ecx-client>div:not(.ecx-logo){display:none}
  .stu-side .ecx-logo{width:40px;height:40px}
  .stu-side .stu-cmdk{width:44px;height:44px;padding:0;justify-content:center;border-radius:12px;margin:0 0 10px}
  .stu-side .stu-cmdk>span,.stu-side .stu-cmdk kbd{display:none}
  .stu-side .stu-cmdk .ecx-i{width:18px;height:18px}
  .stu-side .ecx-nav{width:100%;align-items:center;gap:2px}
  .stu-side .ecx-nav h5{display:block;width:28px;height:1px;padding:0;margin:8px auto;background:var(--ecx-line);font-size:0;overflow:hidden}
  .stu-side .ecx-nav>button{position:relative;flex-direction:column;justify-content:center;gap:4px;width:68px;min-height:56px;padding:6px 2px;border-radius:12px;text-align:center;font-size:10.5px;font-weight:550;color:rgba(245,245,247,.6)}
  .stu-side .ecx-nav>button .ecx-i{width:20px;height:20px;margin:0}
  .stu-side .ecx-nav>button.on{background:rgba(255,255,255,.09);color:#f5f5f7}
  .stu-side .stu-long{display:none}
  .stu-side .stu-court{display:block;line-height:1.1;white-space:nowrap}
  .stu-side .ecx-nav .ecx-nb{position:absolute;top:4px;right:8px;margin:0;min-width:17px;height:17px;padding:0 4px;font-size:10px}
  .stu-side #stuProjBarre{display:none}
  .stu-side .ecx-bas{width:100%;display:flex;justify-content:center}
  .stu-side .ecx-bas .ecx-inviter{font-size:0;width:44px;height:32px;border-radius:10px}
  .stu-side .ecx-bas .ecx-inviter::after{content:"Ancien";font-size:10px;color:var(--ecx-faint)}
}
/* les photos des contacts Unipile, et le bouton pour brancher un compte */
.stu-m-ph{object-fit:cover;background:#1c1c20}
.stu-m-cn.linkedin{background:#0A66C2}.stu-m-cn.telegram{background:#2AABEE}.stu-m-cn.mail{background:#f5f5f7}
.stu-m-brancher{display:flex;align-items:center;gap:12px;width:100%;margin-top:10px;padding:12px 10px;border:1px dashed rgba(255,255,255,.14);border-radius:12px;background:none;color:var(--text);text-align:left;font:13.5px var(--font);cursor:pointer;transition:border-color .15s,background .15s}
.stu-m-brancher .ecx-i{width:18px;height:18px;flex:none;margin:0 13px}
.stu-m-brancher b{display:block;font-weight:580}.stu-m-brancher small{display:block;font-size:12px;color:var(--ecx-mute);margin-top:1px}
@media (hover:hover) and (pointer:fine){.stu-m-brancher:hover{border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.03)}}

/* ════ DEVIS ET FACTURES, version simple (31/10) · un bouton, des onglets qui comptent, une liste ════ */
.stu-fa{max-width:1180px}
.stu-fa-h{display:flex;align-items:center;gap:12px;padding:30px 0 18px}
.stu-fa-h h1{margin:0;font-size:28px;font-weight:650;letter-spacing:-.03em}
.stu-fa-nv{position:relative}
.stu-fa-go{font-size:14px}
.stu-fa-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:300px;padding:6px;border-radius:16px;background:#141416;border:1px solid rgba(255,255,255,.1);box-shadow:0 24px 60px rgba(0,0,0,.55);transform-origin:top right;animation:stuMenu .16s cubic-bezier(0.23,1,0.32,1)}
@keyframes stuMenu{from{opacity:0;transform:scale(.97) translateY(-4px)}}
.stu-fa-menu button{display:flex;align-items:center;gap:12px;width:100%;padding:10px 10px;border:0;border-radius:11px;background:none;color:var(--text);text-align:left;font:14px var(--font);cursor:pointer}
@media (hover:hover) and (pointer:fine){.stu-fa-menu button:hover{background:rgba(255,255,255,.06)}}
.stu-fa-menu .ecx-i{width:18px;height:18px;color:var(--ecx-mute);flex:none;margin:0 2px}
.stu-fa-menu b{display:block;font-weight:600}.stu-fa-menu small{display:block;font-size:12px;color:var(--ecx-mute);margin-top:1px}
.stu-fa-menu hr{border:0;border-top:1px solid var(--ecx-line);margin:6px 4px}
.stu-fa-tabs{display:flex;gap:4px;border-bottom:1px solid var(--ecx-line);overflow-x:auto;scrollbar-width:none}
.stu-fa-tabs button{position:relative;display:flex;align-items:center;gap:8px;border:0;background:none;color:rgba(245,245,247,.6);font:550 14px var(--font);padding:12px 14px 13px;cursor:pointer;white-space:nowrap;transition:color .15s}
.stu-fa-tabs button i{font-style:normal;font-size:11.5px;font-weight:650;min-width:20px;height:20px;padding:0 6px;border-radius:99px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:rgba(245,245,247,.75)}
.stu-fa-tabs button.on{color:#f5f5f7}
.stu-fa-tabs button.on::after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;height:2px;border-radius:2px;background:#f5f5f7}
.stu-fa-tabs button[data-o="traiter"] i{background:var(--ecx-live);color:#0b0b0d}
@media (hover:hover) and (pointer:fine){.stu-fa-tabs button:hover{color:#f5f5f7}}
.stu-fa-res{margin:16px 0 0;font-size:15px;color:rgba(245,245,247,.7)}
.stu-fa-res b{color:#f5f5f7;font-weight:620}
.stu-fa-outils{display:flex;gap:10px;align-items:center;margin:16px 0 14px}
.stu-fa-outils .stu-cherche{flex:1;max-width:420px}
.stu-fa-g{margin:22px 0 8px}
.stu-fa-liste{display:flex;flex-direction:column;border:1px solid var(--ecx-line);border-radius:16px;overflow:hidden;background:#0c0c0e}
.stu-fa-l{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(150px,auto) 70px 130px;align-items:center;gap:16px;width:100%;padding:13px 18px;border:0;border-top:1px solid var(--ecx-line);background:none;color:var(--text);text-align:left;font:14px var(--font);cursor:pointer;transition:background .12s}
.stu-fa-l:first-child{border-top:0}
@media (hover:hover) and (pointer:fine){.stu-fa-l:hover{background:rgba(255,255,255,.035)}}
.stu-fa-logo{width:36px!important;height:36px!important}
.stu-fa-t,.stu-fa-e{display:flex;flex-direction:column;gap:3px;min-width:0}
.stu-fa-t b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-fa-t small{font-size:12.5px;color:rgba(245,245,247,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-fa-e{align-items:flex-start}
.stu-fa-e small{font-size:12px;color:rgba(245,245,247,.55);white-space:nowrap}
.stu-fa-e .ecd-pastille{font-style:normal}
.stu-fa-d{font-size:13px;color:rgba(245,245,247,.55);white-space:nowrap}
.stu-fa-m{text-align:right;font-size:15px;font-weight:620;font-variant-numeric:tabular-nums;white-space:nowrap}
.stu-fa-m small{display:block;font-size:11px;font-weight:500;color:rgba(245,245,247,.45)}
.stu-fa-vide{padding:30px 4px}
@media (max-width:900px){.stu-fa-l{grid-template-columns:auto minmax(0,1fr) auto;gap:12px}.stu-fa-e,.stu-fa-d{display:none}}
@media (prefers-reduced-motion:reduce){.stu-fa-menu{animation:none}}
/* suivi des clients : ce qui demande un geste, puis le fil */
.stu-sv .stu-fa-h{align-items:flex-start}
.stu-sv-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.stu-sv-c{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border-radius:14px;border:1px solid var(--ecx-line);background:#0c0c0e;color:var(--text);text-align:left;font:14px var(--font);cursor:pointer;transition:border-color .15s}
.stu-sv-c .stu-x-mono{color:var(--ecx-live)}
.stu-sv-c b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-sv-c small{font-size:12.5px;color:rgba(245,245,247,.6);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (hover:hover) and (pointer:fine){.stu-sv-c:hover{border-color:rgba(255,255,255,.2)}}
.stu-sv-f{padding:22px 0 0}
.stu-sv-l{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;padding:12px 18px;border:0;border-top:1px solid var(--ecx-line);background:none;color:var(--text);text-align:left;font:14px var(--font);cursor:pointer;transition:background .12s}
.stu-sv-l:first-child{border-top:0}
@media (hover:hover) and (pointer:fine){.stu-sv-l:hover{background:rgba(255,255,255,.035)}}
.stu-sv-l .stu-fa-t b{font-weight:600}
.stu-sv-l .stu-fa-t b span{font-weight:450;color:rgba(245,245,247,.78)}

/* ════ RÉSEAUX (31/10) · le calendrier du mois façon Metricool, les idées, les parues, le panneau d'écriture ════ */
.stu-r{max-width:1320px}
.stu-r-comptes{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 14px}
.stu-r-compte{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.055);font-size:12.5px;color:rgba(245,245,247,.8)}
.stu-r-compte.vide{color:var(--ecx-mute)}
.stu-r-pt{display:inline-block;width:8px;height:8px;border-radius:50%;flex:none}
.stu-r-mois{display:flex;align-items:center;gap:6px;margin:16px 0 12px}
.stu-r-mois b{font-size:17px;font-weight:620;text-transform:capitalize;min-width:150px;text-align:center}
.stu-r-astuce{margin-left:auto;font-size:12.5px;color:var(--ecx-mute)}
.stu-r-grille{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--ecx-line);border-radius:16px;overflow:hidden;background:#0c0c0e}
.stu-r-grille>.stu-x-mono{padding:10px 10px 8px;border-bottom:1px solid var(--ecx-line)}
.stu-r-j{position:relative;display:flex;flex-direction:column;gap:5px;min-height:128px;min-width:0;padding:8px;border-top:1px solid var(--ecx-line);border-left:1px solid var(--ecx-line)}
.stu-r-j:nth-child(7n+8){border-left:0}
.stu-r-j.hors{background:rgba(255,255,255,.012)}.stu-r-j.hors .stu-r-n{opacity:.35}
.stu-r-n{font-size:12.5px;font-weight:600;color:rgba(245,245,247,.7);font-variant-numeric:tabular-nums}
.stu-r-j.auj .stu-r-n{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--ecx-live);color:#0b0b0d}
.stu-r-post{display:flex;flex-direction:column;gap:4px;width:100%;padding:5px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#141416;color:var(--text);text-align:left;font:11.5px var(--font);cursor:pointer;transition:border-color .15s}
.stu-r-post.rouge{border-color:rgba(255,107,90,.5)}
@media (hover:hover) and (pointer:fine){.stu-r-post:hover{border-color:rgba(255,255,255,.22)}}
.stu-r-vig{display:block;aspect-ratio:16/10;border-radius:6px;overflow:hidden;background:#1c1c20}
.stu-r-vig img,.stu-r-vig video,.stu-r-gv img,.stu-r-gv video{width:100%;height:100%;object-fit:cover;display:block}
.stu-r-pt-l{display:flex;align-items:center;justify-content:space-between;gap:6px}
.stu-r-pt-l>span{display:flex;gap:3px}
.stu-r-pt-l small{font-size:10.5px;color:var(--ecx-mute);font-variant-numeric:tabular-nums}
.stu-r-cap{color:rgba(245,245,247,.75);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}
.stu-r-plus{font-size:11px;color:var(--ecx-mute);padding-left:4px}
.stu-r-ajout{position:absolute;top:6px;right:6px;width:22px;height:22px;border:0;border-radius:6px;background:none;color:var(--ecx-mute);font-size:16px;line-height:1;cursor:pointer;opacity:0;transition:opacity .15s,background .15s}
@media (hover:hover) and (pointer:fine){.stu-r-j:hover .stu-r-ajout{opacity:1}.stu-r-ajout:hover{background:rgba(255,255,255,.08);color:var(--text)}}
.stu-r-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px;margin-top:18px}
.stu-r-carte{display:flex;flex-direction:column;gap:10px;padding:0;border:0;background:none;color:var(--text);text-align:left;font:13.5px var(--font);cursor:pointer}
.stu-r-gv{display:grid;place-items:center;aspect-ratio:4/5;border-radius:14px;overflow:hidden;background:#141416;border:1px solid rgba(255,255,255,.07);transition:border-color .15s}
.stu-r-gv.vide,.stu-r-sans{color:var(--ecx-mute);display:grid;place-items:center;gap:6px;text-align:center}
.stu-r-gv .ecx-i,.stu-r-sans .ecx-i{width:26px;height:26px}
@media (hover:hover) and (pointer:fine){.stu-r-carte:hover .stu-r-gv{border-color:rgba(255,255,255,.2)}}
.stu-r-ct{display:flex;flex-direction:column;gap:4px;padding:0 2px}
.stu-r-ct b{font-weight:560;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.stu-r-ct small{font-size:12px;color:var(--ecx-mute)}
.stu-r-ct .ecd-pastille{font-style:normal}
.stu-r-pan{width:min(520px,100vw)!important;display:flex;flex-direction:column}
.stu-r-ph{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--ecx-line)}
.stu-r-ph b{font-size:16px;font-weight:620}
.stu-r-ed{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:14px}
.stu-r-medzone{display:flex;align-items:flex-end;gap:12px}
.stu-r-medzone .stu-r-gv{width:160px;flex:none}
.stu-r-joindre{cursor:pointer}
.stu-r-cpt{margin:-8px 0 0;font-size:12px;color:var(--ecx-mute)}
.stu-r-choix{display:flex;flex-wrap:wrap;gap:8px}
.stu-r-res{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;border:1px solid var(--ecx-line);font-size:13px;cursor:pointer}
.stu-r-res input{accent-color:#f5f5f7}
.stu-r-err{margin:0;padding:10px 12px;border-radius:10px;background:rgba(255,107,90,.1);color:#ff9d8f;font-size:13px}
.stu-r-pied{display:flex;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid var(--ecx-line)}
@media (max-width:900px){.stu-r-grille{grid-template-columns:repeat(7,minmax(90px,1fr));overflow-x:auto}.stu-r-j{min-height:96px}}
.stu-r-post.idee{border-style:dashed;background:transparent;opacity:.78}
.stu-r-leg{display:inline-block;width:14px;height:10px;border-radius:3px;border:1px solid rgba(255,255,255,.3);background:#141416;margin:0 6px -1px 12px}
.stu-r-leg.idee{border-style:dashed;background:transparent}

/* ════ FICHIERS (31/10) · la bibliothèque en vignettes, la sélection, l'envoi ════ */
.stu-fi{max-width:1320px;padding-bottom:90px}
.stu-fi .stu-fa-outils{flex-wrap:wrap}
.stu-fi .stu-m-f{padding:0}
.stu-fi-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px;margin-top:6px}
.stu-fi-c{position:relative;display:flex;flex-direction:column;gap:8px;min-width:0}
.stu-fi-v{position:relative;display:grid;place-items:center;aspect-ratio:16/10;border-radius:12px;border:1px solid rgba(255,255,255,.07);background:#141416 center/cover no-repeat;cursor:pointer;padding:0;color:var(--ecx-mute);transition:border-color .15s,box-shadow .15s}
.stu-fi-v>span{font:600 12px ui-monospace,Menlo,monospace;letter-spacing:.06em}
.stu-fi-v.ok{border-color:transparent}
.stu-fi-lect{position:absolute;left:8px;bottom:8px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;font-style:normal;font-size:9px;display:grid;place-items:center}
.stu-fi-ck{position:absolute;top:8px;left:8px;width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);background:rgba(0,0,0,.35);opacity:0;transition:opacity .15s}
@media (hover:hover) and (pointer:fine){.stu-fi-c:hover .stu-fi-ck{opacity:1}.stu-fi-v:hover{border-color:rgba(255,255,255,.2)}}
.stu-fi-c.sel .stu-fi-v{box-shadow:0 0 0 2px #f5f5f7}
.stu-fi-c.sel .stu-fi-ck{opacity:1;background:#f5f5f7;border-color:#f5f5f7}
.stu-fi-c.sel .stu-fi-ck::after{content:"";position:absolute;left:7px;top:3.5px;width:5px;height:9px;border:solid #0b0b0d;border-width:0 2px 2px 0;transform:rotate(45deg)}
.stu-fi-t{display:flex;flex-direction:column;gap:2px;min-width:0;padding:0 2px}
.stu-fi-t b{font-size:13px;font-weight:560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-fi-t small{font-size:11.5px;color:var(--ecx-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-fi-o{position:absolute;top:8px;right:8px;width:26px;height:26px;border:0;border-radius:8px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;cursor:pointer;opacity:0;transition:opacity .15s}
@media (hover:hover) and (pointer:fine){.stu-fi-c:hover .stu-fi-o{opacity:1}}
.stu-fi-plus{display:block;margin:20px auto 0}
.stu-fi-barre{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:35;display:flex;align-items:center;gap:12px;width:min(640px,calc(100vw - 32px));padding:8px 8px 8px 20px;border-radius:99px;background:#18181b;border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 50px rgba(0,0,0,.6);animation:stuMenu .18s cubic-bezier(0.23,1,0.32,1)}
.stu-fi-barre[hidden]{display:none}
.stu-fi-barre small{font-size:12px;color:var(--ecx-mute)}
.stu-fi-barre .stu-x-go:disabled{opacity:.35}
.stu-fi-e{display:grid;grid-template-columns:minmax(0,1fr) 90px 110px auto auto;align-items:center;gap:16px;padding:13px 18px;border-top:1px solid var(--ecx-line)}
.stu-fi-e:first-child{border-top:0}
.stu-fi-st{display:flex;flex-direction:column;align-items:flex-end}
.stu-fi-st b{font-size:16px;font-weight:620;font-variant-numeric:tabular-nums}.stu-fi-st small{font-size:11px;color:var(--ecx-mute)}
.stu-fi-e .ecd-pastille{font-style:normal}
.stu-fi-fen{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:60;width:min(480px,calc(100vw - 32px));display:flex;flex-direction:column;gap:14px;padding:24px;border-radius:20px;background:#121214;border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 90px rgba(0,0,0,.6)}
.stu-fi-fen h2{margin:0;font-size:19px;font-weight:640;letter-spacing:-.02em}
.stu-fi-pied{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin-top:4px}
.stu-fi-lien input{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--ecx-line);background:#0b0b0d;color:var(--text);font:13px ui-monospace,Menlo,monospace}
@media (max-width:760px){.stu-fi-grille{grid-template-columns:repeat(2,minmax(0,1fr))}.stu-fi-e{grid-template-columns:minmax(0,1fr) auto}.stu-fi-st{display:none}}

/* ════ LISIBILITÉ COMMUNE DU STUDIO (31/10, François : « aucune lisibilité ») · posée en dernier, elle gagne sur tout :
   le gris pâle remonte, plus de texte sous 13 px, les titres de page ont tous la même taille. ════ */
body.stu-on{--ecx-mute:rgba(245,245,247,.74);--ecx-faint:rgba(245,245,247,.6);--x-txt2:rgba(245,245,247,.76)}
body.stu-on #view{font-size:15px}
body.stu-on #view small,body.stu-on #view .stu-m-l2 small,body.stu-on #view .stu-fa-t small{font-size:13px}
body.stu-on #view .stu-x-mono,body.stu-on #view .stu-m-sous{font-size:11.5px;color:rgba(245,245,247,.66)}
body.stu-on #view .ecx-ph h1,body.stu-on #view .stu-fa-h h1,body.stu-on #view .stu-m-cote h1{font-size:28px;font-weight:650;letter-spacing:-.03em}
body.stu-on #view .ecx-ph p,body.stu-on #view .stu-fa-res{font-size:15px;color:rgba(245,245,247,.76)}
body.stu-on #view .stu-fa-l,body.stu-on #view .stu-sv-l,body.stu-on #view .stu-ligne,body.stu-on #view .stu-tr{font-size:15px}
body.stu-on #view .stu-fa-t b,body.stu-on #view .stu-m-l1 b{font-size:15px}
body.stu-on #view .stu-fa-d,body.stu-on #view .stu-m-l1 time{font-size:13px;color:rgba(245,245,247,.62)}
body.stu-on #view .stu-mini{font-size:13.5px;color:rgba(245,245,247,.8)}
body.stu-on #view .ecd-pastille{font-size:12.5px}
body.stu-on .stu-side .ecx-nav>button{font-size:11px;color:rgba(245,245,247,.72)}

/* ════ DEVIS ET FACTURES · modèle Pennylane (31/10) ════ */
.stu-pl2{max-width:1240px}
.stu-pl2-h{display:flex;align-items:center;gap:12px;padding:30px 0 20px}
.stu-pl2-h h1{margin:0}
.stu-pl2-fam{display:flex;gap:4px;border-bottom:1px solid var(--ecx-line);margin-bottom:18px}
.stu-pl2-fam button{position:relative;display:flex;align-items:center;gap:8px;border:0;background:none;color:rgba(245,245,247,.62);font:600 16px var(--font);padding:12px 16px 14px;cursor:pointer}
.stu-pl2-fam button i{font-style:normal;font-size:12px;font-weight:650;min-width:22px;height:22px;padding:0 7px;border-radius:99px;background:rgba(255,255,255,.08);display:grid;place-items:center;color:rgba(245,245,247,.8)}
.stu-pl2-fam button.on{color:#f5f5f7}.stu-pl2-fam button.on::after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;border-radius:2px;background:#f5f5f7}
.stu-pl2-cartes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}
.stu-pl2-c{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:16px 18px;border-radius:14px;border:1px solid var(--ecx-line);background:#0e0e10;color:var(--text);text-align:left;font:inherit;cursor:pointer;transition:border-color .15s,background .15s}
.stu-pl2-c .stu-x-mono{display:flex;align-items:center;gap:8px;width:100%}
.stu-pl2-n{font-style:normal;margin-left:auto;min-width:22px;height:22px;padding:0 7px;border-radius:99px;background:rgba(255,255,255,.08);display:grid;place-items:center;font:650 12px var(--font);letter-spacing:0;color:#f5f5f7}
.stu-pl2-n.rouge{background:rgba(255,107,90,.18);color:#ffb0a5}
.stu-pl2-c b{font-size:22px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}
.stu-pl2-c small{font-size:12.5px;color:rgba(245,245,247,.6);margin-top:-6px}
.stu-pl2-c.on{border-color:#f5f5f7;background:#151517}
@media (hover:hover) and (pointer:fine){.stu-pl2-c:hover{border-color:rgba(255,255,255,.22)}}
.stu-pl2-outils{display:flex;gap:10px;align-items:center;margin-bottom:14px}
.stu-pl2-outils .stu-cherche{flex:1;max-width:460px}
.stu-pl2-t{border:1px solid var(--ecx-line);border-radius:14px;overflow:hidden;background:#0c0c0e}
.stu-pl2-th,.stu-pl2-r{display:grid;grid-template-columns:150px minmax(180px,1.3fr) 150px minmax(0,1.6fr) 130px 130px;align-items:center;gap:14px;padding:0 18px}
.stu-pl2-th{height:42px;border-bottom:1px solid var(--ecx-line);font-size:12.5px;font-weight:600;color:rgba(245,245,247,.62)}
.stu-pl2-r{min-height:56px;width:100%;border:0;border-top:1px solid var(--ecx-line);background:none;color:var(--text);text-align:left;font:14.5px var(--font);cursor:pointer;transition:background .12s}
.stu-pl2-r:first-of-type{border-top:0}
@media (hover:hover) and (pointer:fine){.stu-pl2-r:hover{background:rgba(255,255,255,.04)}}
.stu-pl2-r>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-pl2-r>span:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.stu-pl2-r>span:first-child small{font-size:12px;color:rgba(245,245,247,.58)}
.stu-pl2-cl{display:flex;align-items:center;gap:10px}.stu-pl2-cl b{font-weight:600;overflow:hidden;text-overflow:ellipsis}
.stu-pl2-lg{width:28px!important;height:28px!important;flex:none}
.stu-pl2-num{font-variant-numeric:tabular-nums;color:rgba(245,245,247,.8)}
.stu-pl2-obj{color:rgba(245,245,247,.72)}
.stu-pl2-dt{color:rgba(245,245,247,.75);font-variant-numeric:tabular-nums}.stu-pl2-dt.rouge{color:#ff9d8f}
.stu-pl2-m{font-weight:620;font-variant-numeric:tabular-nums}
.dr{text-align:right;justify-self:end}
/* les statuts : une pastille de texte teintée, jamais une couleur seule */
.stu-st{display:inline-flex;align-items:center;height:24px;padding:0 10px;border-radius:7px;font-style:normal;font-size:12.5px;font-weight:600;white-space:nowrap}
.stu-st.gris{background:rgba(255,255,255,.09);color:rgba(245,245,247,.85)}
.stu-st.bleu{background:rgba(110,150,255,.16);color:#b3c7ff}
.stu-st.vert{background:rgba(94,224,143,.14);color:#8fe8b0}
.stu-st.rouge{background:rgba(255,107,90,.16);color:#ffaa9e}
@media (max-width:1100px){.stu-pl2-th,.stu-pl2-r{grid-template-columns:130px minmax(0,1fr) 120px 120px}.stu-pl2-th>:nth-child(3),.stu-pl2-r>:nth-child(3),.stu-pl2-th>:nth-child(4),.stu-pl2-r>:nth-child(4){display:none}.stu-pl2-cartes{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* la fiche en trois volets */
#view.stu-fiche{padding:0 16px 16px!important}
.stu-fi2-h{display:flex;align-items:center;gap:6px;padding:12px 4px}
.stu-fi2-h .stu-mini:disabled{opacity:.35}
.stu-fi2{display:grid;grid-template-columns:280px minmax(0,1fr) 340px;gap:0;height:calc(100vh - 128px);border:1px solid var(--ecx-line);border-radius:14px;overflow:hidden;background:#0c0c0e}
.stu-fi2-l{overflow-y:auto;border-right:1px solid var(--ecx-line);scrollbar-width:thin}
.stu-fi2-l button{display:flex;justify-content:space-between;gap:10px;width:100%;padding:12px 14px;border:0;border-bottom:1px solid var(--ecx-line);background:none;color:var(--text);text-align:left;font:13.5px var(--font);cursor:pointer}
.stu-fi2-l button>span{display:flex;flex-direction:column;gap:4px;min-width:0}
.stu-fi2-l button>span:last-child{align-items:flex-end;flex:none}
.stu-fi2-l b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stu-fi2-l small{font-size:12px;color:rgba(245,245,247,.58)}
.stu-fi2-l .stu-st{height:20px;font-size:11.5px;padding:0 7px}
.stu-fi2-l button.on{background:rgba(255,255,255,.07);box-shadow:inset 3px 0 0 #f5f5f7}
@media (hover:hover) and (pointer:fine){.stu-fi2-l button:hover{background:rgba(255,255,255,.04)}}
.stu-fi2 .doc-editor{overflow-y:auto;min-width:0;background:#1a1a1d;margin:0!important;height:100%}
.stu-fi2-d{overflow-y:auto;border-left:1px solid var(--ecx-line);padding:22px 20px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.stu-fi2-m{font-size:34px;font-weight:650;letter-spacing:-.03em;font-variant-numeric:tabular-nums;line-height:1.05}
.stu-fi2-tva{margin:-4px 0 0;font-size:13.5px;color:rgba(245,245,247,.65)}
.stu-fi2-dl{display:grid;grid-template-columns:auto 1fr;gap:10px 16px;margin:6px 0 0;width:100%;font-size:14px}
.stu-fi2-dl dt{color:rgba(245,245,247,.6)}.stu-fi2-dl dd{margin:0;text-align:right;font-weight:550}.stu-fi2-dl dd.rouge{color:#ff9d8f}
.stu-fi2-cl{display:inline-flex;align-items:center;gap:8px;border:0;background:none;color:var(--text);font:600 14px var(--font);cursor:pointer;padding:0;text-decoration:underline;text-decoration-color:rgba(255,255,255,.25);text-underline-offset:3px}
.stu-fi2-cl .stu-pl2-lg{width:22px!important;height:22px!important}
.stu-fi2-act{display:flex;flex-direction:column;gap:10px;width:100%;margin-top:8px}
.stu-fi2-p{justify-content:space-between;width:100%}
.stu-fi2-sec{display:flex;flex-wrap:wrap;gap:6px}
.stu-fi2-sec .stu-mini{border:1px solid var(--ecx-line2)!important;background:none!important;color:#f5f5f7!important;padding:7px 12px!important;border-radius:9px!important;font:550 13px var(--font)!important;height:auto!important;width:auto!important}
.stu-fi2-sec .stu-mini.plein{background:#f5f5f7!important;color:#0b0b0d!important}
.stu-fi2-stat{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;font-size:13.5px;color:rgba(245,245,247,.65)}
.stu-fi2-stat select{flex:1;max-width:200px}
.stu-fi2-bloc{width:100%;border-top:1px solid var(--ecx-line);padding-top:14px;margin-top:4px}
.stu-fi2-bloc h3{margin:0 0 8px;font-size:15px;font-weight:620}
.stu-fi2-bloc p{margin:0 0 6px;font-size:13.5px;line-height:1.5;color:rgba(245,245,247,.75)}.stu-fi2-bloc p.rouge{color:#ff9d8f}
.stu-fi2-rap{display:flex;justify-content:space-between}.stu-fi2-rap b{color:#f5f5f7;font-size:16px}
/* en édition, on revient à la mise en page d'origine du formulaire */
#view.stu-fiche.stu-edition .stu-fi2{grid-template-columns:0 minmax(0,1fr) 300px}
#view.stu-fiche.stu-edition .stu-fi2-l{display:none}
@media (max-width:1180px){.stu-fi2{grid-template-columns:minmax(0,1fr) 300px}.stu-fi2-l{display:none}}
@media (max-width:860px){.stu-fi2{grid-template-columns:1fr;height:auto}.stu-fi2 .doc-editor{height:70vh}}
.stu-fi2{grid-template-columns:310px minmax(0,1fr) 340px;height:calc(100vh - 150px)}
.stu-fi2-l small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#view.stu-fiche ~ .foot,body.stu-on .foot{display:none}

/* ════ CRÉER ET MODIFIER, façon Stripe (31/10) · formulaire à gauche, aperçu à droite ════ */
#view.stu-cree{padding:0 16px 16px!important}
.stu-cr-h{display:flex;align-items:center;gap:10px;padding:12px 4px;position:sticky;top:51px;z-index:5;background:#09090a}
.stu-cr-h>b{font-size:17px;font-weight:640;margin-left:6px}
.stu-cr-note{font-size:13px;color:rgba(245,245,247,.55);margin-right:6px}
.stu-cr-save{padding:6px 18px!important}
#view.stu-cree .doc-editor{display:grid!important;grid-template-columns:minmax(420px,520px) minmax(0,1fr);gap:0;height:calc(100vh - 130px);border:1px solid var(--ecx-line);border-radius:14px;overflow:hidden;background:#0c0c0e;margin:0!important}
#view.stu-cree .doc-editor-side{display:block!important;overflow-y:auto;padding:18px 20px 40px;border-right:1px solid var(--ecx-line);width:auto!important;max-width:none!important;position:static!important;height:auto!important;scrollbar-width:thin}
#view.stu-cree .doc-editor-preview{overflow-y:auto;background:#1a1a1d;min-width:0}
#view.stu-cree .doc-editor-form>details{border:0;border-bottom:1px solid var(--ecx-line);border-radius:0;background:none;margin:0;padding:6px 0 16px}
#view.stu-cree .doc-editor-form>details>summary{font-size:16px;padding:12px 0;list-style:none;cursor:pointer}
#view.stu-cree .doc-editor-form>details>summary b{font-weight:640}
#view.stu-cree .stu-cr-av{border-bottom:0}
#view.stu-cree .stu-cr-av>summary{display:flex;flex-direction:column;gap:2px;color:rgba(245,245,247,.8)}
#view.stu-cree .stu-cr-av>summary small{font-size:12.5px;color:rgba(245,245,247,.55);font-weight:400}
#view.stu-cree .stu-cr-avc{display:flex;flex-direction:column;gap:12px;padding-top:8px}
#view.stu-cree .stu-cr-avc details{border:1px solid var(--ecx-line);border-radius:10px;padding:4px 12px}
#view.stu-cree label{font-size:13.5px}
@media (max-width:1000px){#view.stu-cree .doc-editor{grid-template-columns:1fr;height:auto}#view.stu-cree .doc-editor-preview{display:none}}
#view.stu-cree .stu-cr-avc>.df-group{max-width:none!important}
#view.stu-cree .df-row{flex-wrap:wrap}
/* l'aperçu A4 reste visible pendant l'édition dans le Studio (le portail le masque d'ordinaire) */
body.doc-editing.stu-on #view.stu-cree .doc-editor{grid-template-columns:minmax(420px,520px) minmax(0,1fr)!important}
body.doc-editing.stu-on #view.stu-cree .doc-editor-preview{display:block!important}
body.doc-editing.stu-on #view.stu-cree .doc-editor-side{max-width:none!important;margin:0!important;padding:18px 20px 40px!important;overflow-y:auto!important;max-height:none!important;border-right:1px solid var(--ecx-line)!important}
body.stu-on #view.stu-cree{max-width:none!important}
@media (max-width:1000px){body.doc-editing.stu-on #view.stu-cree .doc-editor{grid-template-columns:1fr!important}body.doc-editing.stu-on #view.stu-cree .doc-editor-preview{display:none!important}}

/* ════ MESSAGES · modèle Front / Linear (31/10) : À traiter / Tout, lu plus pâle, « Fait », propositions à valider ════ */
.stu-m-etat{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 14px 10px}
.stu-m-etat .stu-m-f{padding:0}
.stu-m-f button i{font-style:normal;margin-left:4px;font-weight:700}
.stu-m-f button i:empty{display:none}
.stu-m-can{border:0;border-radius:9px;background:rgba(255,255,255,.055);color:rgba(245,245,247,.8);font:550 12.5px var(--font);padding:6px 8px;max-width:150px}
.stu-m-it.lu .stu-m-l1 b{font-weight:500;color:rgba(245,245,247,.72)}
.stu-m-it.lu .stu-m-l2 small{color:rgba(245,245,247,.45)}
.stu-m-it.lu .stu-m-av{opacity:.75}
.stu-m-it.nl::before{content:"";position:absolute;left:3px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--ecx-live)}
.stu-m-it{position:relative}
.stu-m-l2 em.prop{min-width:auto;padding:0 8px;background:rgba(255,207,107,.16);color:var(--ecx-live);font-size:11px}
.stu-m-fait{border:1px solid var(--ecx-line2);border-radius:9px;background:none;color:#f5f5f7;font:600 13px var(--font);padding:7px 12px;cursor:pointer;transition:background .15s}
@media (hover:hover) and (pointer:fine){.stu-m-fait:hover{background:rgba(94,224,143,.12);border-color:rgba(94,224,143,.4)}}
.stu-m-val{font-size:13px!important;padding:5px 5px 5px 14px!important}
.stu-m-val span{width:26px!important;height:26px!important}
.stu-m-act div{align-items:center}
.stu-m-act.ign{opacity:.5}
.stu-m-ia{display:block;margin-top:6px;font-size:12px!important;color:rgba(245,245,247,.5)!important}
.stu-m-edit{width:100%;min-height:150px;margin-top:4px;padding:10px 12px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#0b0b0d;color:var(--text);font:13.5px/1.5 var(--font);resize:vertical}
