:root{
  --bg:#08071a; --card:rgba(22,18,52,.58); --card2:rgba(255,255,255,.035); --line:rgba(160,140,255,.16); --line2:rgba(160,140,255,.32);
  --violet:#8a6bff; --violet2:#6a4be0; --pink:#f08ad8; --lav:#a99bff; --glow:rgba(138,107,255,.5);
  --text:#f5f3ff; --dim:#a5a2cc; --ok:#3ddc97; --warn:#ffb547; --bad:#ff5c7a; --r:20px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 -apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
a{color:var(--lav)}
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(120% 70% at 50% -10%,#241a5c 0%,#110d33 40%,var(--bg) 75%)}
.bg::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(80% 60% at 50% 0%,#000 30%,transparent 80%)}
.bg i{position:absolute;width:80vmax;height:80vmax;border-radius:50%;background:radial-gradient(closest-side,var(--c),transparent);opacity:.32;animation:float 24s ease-in-out infinite;will-change:transform}
.bg i:nth-child(1){--c:#6a4be0;top:-42vmax;left:-30vmax}
.bg i:nth-child(2){--c:#c24fb0;bottom:-45vmax;right:-35vmax;animation-delay:-8s;opacity:.18}
.bg i:nth-child(3){--c:#3a2a99;top:30%;left:40%;animation-delay:-15s;opacity:.24}
@keyframes float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(4vmax,-3vmax) scale(1.08)}}
@media (prefers-reduced-motion:reduce){.bg i{animation:none}}

/* en-tête */
.top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));
  background:rgba(8,7,26,.62);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-weight:600;font-size:14px;letter-spacing:.32em}
.brand b{font-weight:600;background:linear-gradient(90deg,var(--pink),var(--lav));-webkit-background-clip:text;background-clip:text;color:transparent}
.brand img{width:34px;height:34px;border-radius:50%;box-shadow:0 0 0 2px rgba(169,155,255,.35),0 0 20px var(--glow)}
.who{display:flex;align-items:center;gap:8px;min-width:0}.who .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:30vw;color:var(--dim);font-size:13px}

.wrap{max-width:1080px;margin:0 auto;padding:20px 16px 120px}
.hero{margin:2px 0 12px}
.hero h1{font-size:26px;font-weight:800;letter-spacing:-.02em;margin:0;line-height:1.1}
.hero h1 b{background:linear-gradient(90deg,var(--pink),var(--lav));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{margin:6px 0 0;color:var(--dim)}
.hero.center{text-align:center;margin-top:9vh}.biglogo{width:110px;height:110px;border-radius:50%;box-shadow:0 0 0 3px rgba(169,155,255,.3),0 0 60px var(--glow);margin-bottom:18px}
.back{display:inline-block;margin-bottom:8px;text-decoration:none;color:var(--dim);font-size:14px}

/* cartes */
.card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px;margin:0 0 14px;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 10px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.06)}
.card h2{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;margin:0 0 14px;letter-spacing:-.01em}
.card.glow{border-color:rgba(138,107,255,.55);box-shadow:0 0 0 1px rgba(138,107,255,.25),0 0 44px rgba(138,107,255,.28),inset 0 1px 0 rgba(255,255,255,.08)}
.card.warn{border-color:rgba(255,181,71,.45)}
.card.alert{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text)}.card.alert div{display:flex;flex-direction:column}
.card.login{max-width:440px;margin:0 auto}
.tile{display:inline-grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;background:linear-gradient(145deg,rgba(138,107,255,.38),rgba(106,75,224,.18));border:1px solid rgba(169,155,255,.3);color:#d9d2ff}
.tile .ic{width:18px;height:18px}
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.stats.four{grid-template-columns:repeat(4,1fr)}
.stats>*{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 10px;text-align:center;text-decoration:none;color:var(--text);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.stats b{display:block;font-size:21px;font-weight:800;letter-spacing:-.02em;white-space:nowrap}
.stats span{font-size:11.5px;color:var(--dim);line-height:1.3;display:block;margin-top:2px}
@media (max-width:560px){.stats.four{grid-template-columns:repeat(2,1fr)}}

.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}@media (max-width:560px){.tiles:not(.big){grid-template-columns:1fr 1fr}}
.tiles a{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:16px;background:var(--card2);border:1px solid var(--line);text-decoration:none;color:var(--text);font-size:14px;transition:border-color .15s,transform .15s}
.tiles a:hover{border-color:var(--line2);transform:translateY(-1px)}
.tiles.big{grid-template-columns:1fr}.tiles.big a{flex-direction:row;align-items:center;background:var(--card);padding:16px}.tiles.big a b{flex:1}.tiles.big .dim{font-size:12.5px}

/* boutons */
.btn,.mini{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;cursor:pointer;text-decoration:none;font:600 14px -apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,system-ui,sans-serif;color:#fff;white-space:nowrap;
  background:linear-gradient(135deg,var(--violet),var(--violet2));border-radius:14px;padding:12px 16px;box-shadow:0 6px 24px rgba(138,107,255,.38),inset 0 1px 0 rgba(255,255,255,.22);transition:transform .15s,box-shadow .15s,opacity .15s}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 32px rgba(138,107,255,.6)}
.btn:disabled{opacity:.45;cursor:default;transform:none}
.btn.ghost{background:rgba(255,255,255,.05);border:1px solid var(--line);box-shadow:none;color:var(--text)}
.btn.ok,.mini.ok{background:linear-gradient(135deg,#25c584,#148a5b);box-shadow:0 6px 24px rgba(37,197,132,.3)}
.btn.wide,.mini.wide{width:100%}
.btn.tg{background:linear-gradient(135deg,#2aa3e8,#1b7ec2);box-shadow:0 6px 22px rgba(42,163,232,.3)}
.btn.ds{background:linear-gradient(135deg,#6f7cf7,#4f5bd5);box-shadow:0 6px 22px rgba(88,101,242,.3)}
.mini{padding:8px 12px;font-size:12.5px;border-radius:11px;box-shadow:none;background:rgba(138,107,255,.16);border:1px solid rgba(169,155,255,.3);color:#e4deff}
.mini.xs{padding:4px 8px;font-size:11.5px;border-radius:8px}.mini .ic{width:15px;height:15px}
.mini.danger{background:rgba(255,92,122,.12);border-color:rgba(255,92,122,.4);color:#ffb3c1}
.mini.okb{background:rgba(61,220,151,.14);border-color:rgba(61,220,151,.45);color:#aef3d2}
.busy{opacity:.85;pointer-events:none}
.spin{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;display:inline-block;animation:sp .7s linear infinite;vertical-align:-2px}
@keyframes sp{to{transform:rotate(360deg)}}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.btns.spread>*{flex:1 1 180px}
.actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin:8px 0 14px}
.actions.sticky{position:sticky;bottom:calc(84px + env(safe-area-inset-bottom));z-index:4;padding:10px;border-radius:18px;background:rgba(14,11,40,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line)}
.weeknav{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px}.weeknav .btn{padding:9px 13px;font-size:13px}

.pill{display:inline-block;font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.05);white-space:nowrap}
.pill.admin{background:linear-gradient(135deg,rgba(240,138,216,.25),rgba(138,107,255,.3));border-color:rgba(240,138,216,.45)}.pill.assistante{background:rgba(169,155,255,.18);border-color:rgba(169,155,255,.4)}
.pill.okp{color:var(--ok);border-color:rgba(61,220,151,.4);background:rgba(61,220,151,.08)}.pill.wait{color:var(--warn);border-color:rgba(255,181,71,.4);background:rgba(255,181,71,.06)}.pill.bad{color:#ff9db0;border-color:rgba(255,92,122,.45);background:rgba(255,92,122,.07)}

.toc{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.toc[data-spy]{position:sticky;top:calc(var(--toptop,0px) + 8px);z-index:6;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:4px;padding:5px;border-radius:99px;background:rgba(14,11,40,.78);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--line);box-shadow:0 8px 30px rgba(0,0,0,.35);isolation:isolate}
.toc[data-spy]::-webkit-scrollbar{display:none}
.toc[data-spy] a{position:relative;z-index:1;display:flex;align-items:center;gap:6px;flex:1 0 auto;justify-content:center;border:0;background:none;padding:8px 12px;font-weight:600;color:rgba(255,255,255,.7);transition:color .3s}
.toc[data-spy] a svg{width:16px;height:16px;color:var(--c)}
.toc[data-spy] a.on{background:none;box-shadow:none;color:#fff}
.toc-pill{position:absolute;z-index:0;left:0;top:5px;bottom:5px;width:0;opacity:0;border-radius:99px;background:linear-gradient(135deg,color-mix(in srgb,var(--c,#8a6bff) 45%,transparent),color-mix(in srgb,var(--c,#8a6bff) 22%,transparent));border:1px solid color-mix(in srgb,var(--c,#8a6bff) 60%,transparent);box-shadow:0 0 18px color-mix(in srgb,var(--c,#8a6bff) 40%,transparent);transition:transform .55s cubic-bezier(.65,0,.35,1),width .55s cubic-bezier(.65,0,.35,1),background .4s,border-color .4s,box-shadow .4s}
@media (max-width:899px){.toc[data-spy]{--toptop:58px}.toc[data-spy] a{padding:8px 10px;font-size:12.5px}}
/* Règles et infos en visuel */
.vsec{scroll-margin-top:90px;border-top:3px solid var(--c)}
.vsec-h{display:flex;align-items:center;gap:12px;margin-bottom:14px}.vsec-h h2{margin:0;flex:1}
.vsec-i{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;flex:none;background:color-mix(in srgb,var(--c) 18%,transparent);border:1px solid color-mix(in srgb,var(--c) 45%,transparent);box-shadow:0 0 22px color-mix(in srgb,var(--c) 30%,transparent);color:var(--c)}
.vsec-i svg{width:22px;height:22px}
.vbody p{margin:0 0 10px;line-height:1.55}
.vh{font-size:15px;margin:18px 0 10px;display:flex;align-items:center;gap:8px;color:#fff}.vbody>.vh:first-child{margin-top:0}
.vh .dot{width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 10px var(--c)}
.vsteps{list-style:none;counter-reset:s;padding:0;margin:0 0 10px;display:grid;gap:8px}
.vsteps li{counter-increment:s;position:relative;padding:10px 12px 10px 46px;border-radius:14px;background:var(--card2);border:1px solid var(--line);line-height:1.45}
.vsteps li::before{content:counter(s);position:absolute;left:11px;top:9px;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;font-size:12px;font-weight:700;background:color-mix(in srgb,var(--c) 30%,transparent);color:#fff}
.vwarn{display:flex;gap:12px;padding:12px 14px;border-radius:14px;margin-bottom:12px;background:rgba(255,92,138,.1);border:1px solid rgba(255,92,138,.35)}
.vwarn>svg{width:22px;height:22px;flex:none;color:#ff5c8a;margin-top:2px}.vwarn p:last-child{margin-bottom:0}
.vban{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.vban>span{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:99px;font-size:13px;background:rgba(255,92,138,.1);border:1px solid rgba(255,92,138,.3)}
.vban svg{width:12px;height:12px;color:#ff5c8a;flex:none}
.vlist{margin:0 0 10px;padding-left:20px;line-height:1.55}
.vprice{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-bottom:10px}
.vprice div{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:14px;background:linear-gradient(160deg,rgba(255,209,102,.12),rgba(255,209,102,.03));border:1px solid rgba(255,209,102,.28)}
.vprice span{font-size:13px;color:rgba(255,255,255,.75);line-height:1.35}.vprice b{font-size:16px;line-height:1.3;color:#ffd166;text-shadow:0 0 14px rgba(255,209,102,.4)}
.vmodel{padding:12px 14px;border-radius:16px;margin-bottom:10px;background:color-mix(in srgb,var(--c) 7%,transparent);border:1px solid color-mix(in srgb,var(--c) 30%,transparent)}
.vmodel .vh{margin:0 0 10px}
.vchips{display:flex;flex-wrap:wrap;gap:6px}
.vchip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;font-size:13px;background:var(--card2);border:1px solid var(--line)}
.vchip svg{width:12px;height:12px;flex:none}
.vchip.ok{background:rgba(6,214,160,.1);border-color:rgba(6,214,160,.35)}.vchip.ok svg{color:#06d6a0}
.vchip.no{background:rgba(255,92,138,.08);border-color:rgba(255,92,138,.3);color:rgba(255,255,255,.6);text-decoration:line-through}.vchip.no svg{color:#ff5c8a}
.vnote{padding:10px 12px;border-radius:12px;background:var(--card2);border:1px dashed var(--line2);margin-bottom:10px;font-size:14px}
.vamt{display:grid;gap:6px;margin-bottom:10px}
.vamt div{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;background:var(--card2);border:1px solid var(--line)}
.vamt b{min-width:74px;text-align:center;padding:4px 8px;border-radius:9px;font-size:13px;background:rgba(169,155,255,.15);color:var(--lav)}
.vamt .pos{border-color:rgba(6,214,160,.3)}.vamt .pos b{background:rgba(6,214,160,.15);color:#06d6a0}
.vamt .neg{border-color:rgba(255,92,138,.3)}.vamt .neg b{background:rgba(255,92,138,.15);color:#ff5c8a}
.vamt span{line-height:1.4;font-size:14px}
.toc a{font-size:13px;text-decoration:none;padding:7px 12px;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text)}
.toc a.on{background:linear-gradient(135deg,rgba(138,107,255,.5),rgba(106,75,224,.4));border-color:rgba(169,155,255,.6);box-shadow:0 0 16px rgba(138,107,255,.35)}
.toc a b{margin-left:4px;font-weight:700;color:var(--lav)}.toc a.on b{color:#fff}

/* tableaux */
.tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px}
table.grid{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px}
.grid th,.grid td{padding:9px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.grid tr:first-child th{color:var(--dim);font-weight:600;font-size:11.5px;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}
.grid th:first-child{position:sticky;left:0;background:#15113a;z-index:1;white-space:nowrap}
.grid.inb{min-width:520px}.grid.inb td{min-width:120px}

.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{display:inline-flex;align-items:center;margin:2px 4px 2px 0;padding:4px 10px;border-radius:9px;background:rgba(255,255,255,.06);border:1px solid var(--line);font-size:13px;line-height:1.35;user-select:none;-webkit-user-select:none}
.chip.me{background:linear-gradient(135deg,var(--violet),var(--violet2));border-color:transparent;box-shadow:0 0 14px var(--glow);font-weight:600}
.dim{color:var(--dim)}.hint{color:var(--dim);font-size:12.5px;margin:8px 0}.okmsg{color:var(--ok);font-weight:600}.center{text-align:center}.sm{font-size:12px}

/* planning */
.pgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
@media (max-width:900px){.pgrid{grid-template-columns:minmax(0,1fr)}}
.pday{background:var(--card2);border:1px solid var(--line);border-radius:16px;padding:10px;display:flex;flex-direction:column;gap:8px}
.pday.today{border-color:rgba(169,155,255,.65);box-shadow:0 0 24px rgba(138,107,255,.25)}
.pdh{display:flex;align-items:center;justify-content:space-between;gap:6px;font-weight:700;font-size:13.5px}.pdh em{font-style:normal;font-size:11px;font-weight:600;color:#fff;background:var(--violet);padding:2px 8px;border-radius:99px}
.pcell{border-radius:12px;padding:8px;background:rgba(0,0,0,.18);border:1px solid transparent}
.pcell .sl{display:block;font-size:11px;color:var(--dim);font-weight:600;margin-bottom:4px;white-space:nowrap}
@media (max-width:900px){.pgrid:not(.edit) .pday{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.pgrid:not(.edit) .pdh{grid-column:1/-1}}
.drop{border:1px dashed rgba(169,155,255,.3);transition:background .15s,border-color .15s;cursor:pointer}
.drop .cz{min-height:34px;display:flex;flex-wrap:wrap;gap:4px;align-content:flex-start}
td.drop{border-radius:10px;background:rgba(0,0,0,.14)}
.picking .drop{border-color:rgba(240,138,216,.6);background:rgba(240,138,216,.06)}
.chip.drag{cursor:grab;background:linear-gradient(135deg,rgba(138,107,255,.35),rgba(106,75,224,.25));border-color:rgba(169,155,255,.45);padding:7px 12px;font-weight:600}
.chip.drag.sel{background:linear-gradient(135deg,var(--pink),var(--violet));box-shadow:0 0 18px rgba(240,138,216,.55)}
.chip.in{cursor:pointer;background:rgba(138,107,255,.22);border-color:rgba(169,155,255,.4)}
.chip.in::after{content:"";width:7px;height:7px;margin-left:6px;background:linear-gradient(45deg,transparent 42%,currentColor 42%,currentColor 58%,transparent 58%),linear-gradient(-45deg,transparent 42%,currentColor 42%,currentColor 58%,transparent 58%);opacity:.55}
.sortable-ghost{opacity:.4}
.pool{position:sticky;top:calc(60px + env(safe-area-inset-top));z-index:4}
.poolhead{display:flex;flex-direction:column;gap:2px;margin-bottom:10px}.poolhead .dim{font-size:12.5px}

.list{list-style:none;margin:0;padding:0}.list li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.list li:last-child{border:0}
.list li.hl b{color:var(--lav)}
.big{font-size:22px;font-weight:800;letter-spacing:-.01em}

/* paie */
.pay .row{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px dashed var(--line)}.pay .row:last-child{border:0}
.pay .total{font-size:17px;padding-top:10px}.pay .total b{color:#fff;text-shadow:0 0 16px var(--glow)}.plus{color:var(--ok)}.minus{color:#ff9db0}
.people{display:grid;gap:12px}
.person{padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--card);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.person.off{opacity:.55}
.card .person{background:rgba(0,0,0,.16);backdrop-filter:none;-webkit-backdrop-filter:none}
.pt{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pt .tot{margin-left:auto;font-size:17px}
.pm{font-size:12.5px;color:var(--dim);margin-top:6px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.paycard.paid{border-color:rgba(61,220,151,.35)}
.payform{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:12px}.payform label{margin:0;font-size:11.5px}.payform .wide{grid-column:1/-1}
@media (max-width:560px){.payform{grid-template-columns:repeat(2,1fr)}}
.payit{display:grid;gap:8px;margin-top:10px}
.filebtn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:14px;border:1px dashed var(--line2);color:var(--text);cursor:pointer;font-size:14px;margin:0}
.filebtn.ok{border-color:rgba(61,220,151,.6);color:var(--ok)}.filebtn input{display:none}
.proof{display:flex;align-items:center;gap:10px;margin-top:10px;text-decoration:none;color:var(--text);font-size:13px}.proof img{width:64px;height:64px;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.proof.sm img{width:48px;height:48px}

/* candidats */
.cand .cname{font-size:16px}
.facts{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.facts span{font-size:12.5px;padding:4px 9px;border-radius:9px;background:rgba(255,255,255,.05);border:1px solid var(--line)}
.rp{display:grid;gap:8px;margin-top:10px}.rp div{padding:10px;border-radius:12px;background:rgba(0,0,0,.2);border-left:3px solid var(--violet)}
.rp span{display:block;font-size:11.5px;color:var(--dim)}.rp p{margin:3px 0 0;font-size:13.5px}
.contact{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.contact .btn{flex:1 1 160px;padding:11px 12px}
.pm.note{color:#e4deff}
.cand details{margin-top:10px}.cand summary{cursor:pointer;color:var(--lav);font-size:13px;font-weight:600}
.qa{padding:8px 0;border-bottom:1px dashed var(--line)}.qa span{display:block;font-size:12px;color:var(--dim)}.qa p{margin:2px 0 0;white-space:pre-wrap;word-break:break-word}
.candform{margin-top:10px}.candform .mini{padding:10px 14px;font-size:13.5px}.cand>.btn{margin-top:10px}
form.search{margin-bottom:14px}

/* messagerie */
.threads{display:grid;gap:4px}
.thread{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;text-decoration:none;color:var(--text)}.thread:hover{background:rgba(255,255,255,.04)}
.thread div{display:flex;flex-direction:column;min-width:0;flex:1}.thread .dim{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread em,.snav em,.tabbar em{font-style:normal;font-size:11px;font-weight:700;min-width:20px;height:20px;padding:0 6px;border-radius:99px;display:inline-grid;place-items:center;background:linear-gradient(135deg,var(--pink),var(--violet));color:#fff}
.thread.new b{color:#fff}
.av{width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:700;background:linear-gradient(145deg,rgba(240,138,216,.35),rgba(138,107,255,.35));border:1px solid var(--line2)}
.chatpage .wrap{padding-bottom:110px}
.chatbox{display:flex;flex-direction:column;height:calc(100dvh - 300px);min-height:360px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.msgs{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;-webkit-overflow-scrolling:touch}
.msg{max-width:82%;align-self:flex-start;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:16px 16px 16px 6px;padding:8px 12px}
.msg.mine{align-self:flex-end;background:linear-gradient(135deg,rgba(138,107,255,.55),rgba(106,75,224,.45));border-color:rgba(169,155,255,.4);border-radius:16px 16px 6px 16px}
.msg.paymsg{border-color:rgba(61,220,151,.5);box-shadow:0 0 18px rgba(61,220,151,.15)}
.msg p{margin:0;white-space:pre-wrap;word-break:break-word}.msg img{display:block;max-width:100%;max-height:320px;border-radius:10px;margin-top:6px}
.msg .au{display:block;font-size:11.5px;font-weight:700;color:var(--lav);margin-bottom:2px}.msg time{display:block;font-size:10.5px;color:var(--dim);margin-top:4px;text-align:right}
.composer{display:flex;align-items:flex-end;gap:8px;padding:10px;border-top:1px solid var(--line);background:rgba(8,7,26,.5)}
.composer textarea{flex:1;resize:none;min-height:42px;max-height:140px;border-radius:14px}
.attach,.send{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:12px;cursor:pointer;margin:0}
.attach{border:1px solid var(--line);color:var(--lav)}.attach input{display:none}
.send{border:0;color:#fff;background:linear-gradient(135deg,var(--violet),var(--violet2));box-shadow:0 4px 18px rgba(138,107,255,.45)}

/* formulaires */
input,select,textarea{width:100%;font:15px -apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,system-ui,sans-serif;color:var(--text);background:rgba(0,0,0,.3);border:1px solid var(--line);border-radius:12px;padding:10px 12px;outline:none;-webkit-appearance:none;appearance:none}
select{background-image:linear-gradient(45deg,transparent 50%,var(--dim) 50%),linear-gradient(135deg,var(--dim) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:30px}
input:focus,select:focus,textarea:focus{border-color:var(--violet);box-shadow:0 0 0 3px rgba(138,107,255,.25)}
input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--violet);-webkit-appearance:auto;appearance:auto}
textarea{resize:vertical}.grid.edit input{min-width:110px}
label{display:block;font-size:13px;color:var(--dim);margin:10px 0 6px}
form.inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center}form.inline input,form.inline select{width:auto;flex:1 1 150px}form.inline.sm{margin-top:10px}.w5{max-width:80px}
.seg{display:flex;gap:8px;margin-bottom:6px}.seg label{flex:1;margin:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:11px;border-radius:12px;border:1px solid var(--line);cursor:pointer;color:var(--text)}
.seg label:has(input:checked){border-color:rgba(169,155,255,.7);background:rgba(138,107,255,.18)}

.linkbox{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.linkbox code{flex:1 1 260px;word-break:break-all;background:rgba(0,0,0,.4);border:1px dashed rgba(169,155,255,.5);padding:10px;border-radius:12px;font-size:13px}
.md p{margin:6px 0}.md ul{margin:6px 0;padding-left:20px}.md li{margin:3px 0}.md h3{font-size:15px;font-weight:700;margin:16px 0 6px;color:var(--lav)}
.video{display:block;position:relative;padding-top:56.25%;margin:10px 0;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#000}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.toast{position:fixed;left:50%;bottom:calc(96px + env(safe-area-inset-bottom));transform:translate(-50%,20px);opacity:0;pointer-events:none;z-index:9;padding:10px 16px;border-radius:12px;background:rgba(20,16,50,.95);border:1px solid var(--line2);font-weight:600;font-size:14px;transition:.2s;white-space:nowrap;max-width:calc(100vw - 32px);overflow:hidden;text-overflow:ellipsis}
.toast.on{opacity:1;transform:translate(-50%,0)}
.tiles .stat{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:16px;background:var(--card2);border:1px solid var(--line)}.tiles .stat b{font-size:17px}.tiles .stat .dim{font-size:12px}

/* menu de compte (en haut à droite) */
.acct{position:relative}
.acct-btn{display:flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;border-radius:99px;border:1px solid var(--line2);background:rgba(255,255,255,.05);color:var(--text);cursor:pointer;transition:background .18s}
.acct-btn:hover,.acct-btn[aria-expanded="true"]{background:rgba(169,155,255,.14)}
.acct-av{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--pink),var(--violet) 75%);color:#fff;font-size:12px;font-weight:700;letter-spacing:.02em;box-shadow:0 0 14px var(--glow)}
.acct-chev{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s}
.acct-btn[aria-expanded="true"] .acct-chev{transform:rotate(180deg)}
.acct-menu{position:absolute;top:calc(100% + 10px);right:0;z-index:60;width:min(290px,calc(100vw - 32px));padding:14px;display:flex;flex-direction:column;gap:12px;
  background:linear-gradient(180deg,#1c1642,#0c0a22);border:1px solid var(--line2);border-radius:18px;box-shadow:0 20px 60px rgba(0,0,0,.55),0 0 40px rgba(138,107,255,.18)}
.acct-menu[hidden]{display:none}
.am-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}.am-head b{font-size:15px}
.am-mail{flex-basis:100%;font-size:12px;color:var(--dim);overflow-wrap:anywhere}
.am-sec{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:10px}
.am-lbl{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.am-roles{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.am-roles button,.acct-menu select{padding:8px;border-radius:10px;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--text);font:inherit;font-size:13px;cursor:pointer}
.am-roles button.on{background:linear-gradient(135deg,rgba(240,138,216,.25),rgba(138,107,255,.35));border-color:rgba(240,138,216,.5)}
.acct-menu select{width:100%;margin:0}
.am-link{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border-radius:10px;background:none;border:0;color:var(--text);font:inherit;font-size:14px;text-decoration:none;cursor:pointer;text-align:left}
.am-link:hover{background:rgba(255,255,255,.06)}.am-link .ic{width:18px;height:18px}.am-link.quiet{color:var(--dim)}
.am-sec form{margin:0}
/* bandeau d'aperçu */
.apercu{position:sticky;top:59px;z-index:4;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 12px;padding:8px 16px;font-size:13px;
  background:linear-gradient(90deg,rgba(255,181,71,.18),rgba(240,138,216,.18));border-bottom:1px solid rgba(255,181,71,.4)}
.apercu span{display:flex;align-items:center;gap:6px}.apercu .ic{width:16px;height:16px}
.apercu form{margin:0}.apercu button{padding:5px 12px;border-radius:99px;border:1px solid rgba(255,181,71,.6);background:rgba(255,181,71,.15);color:var(--text);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer}

/* argent (Privé) */
.ptabs{display:flex;gap:6px;overflow-x:auto;margin:0 0 14px;padding-bottom:2px;scrollbar-width:none}.ptabs::-webkit-scrollbar{display:none}
.ptabs a{flex:none;padding:8px 14px;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--dim);text-decoration:none;font-size:13.5px;font-weight:600}
.ptabs a.on{color:var(--text);background:linear-gradient(135deg,rgba(240,138,216,.25),rgba(138,107,255,.35));border-color:rgba(240,138,216,.5)}
.tiles a.stat{text-decoration:none;color:var(--text)}.tiles .stat .up,b.up{color:var(--ok)}.tiles .stat .down,b.down{color:#ff9db0}
.tiles+.card,.tiles+.hint{margin-top:14px}
.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px}
.ptable{border-collapse:collapse;width:100%;font-size:13.5px}.ptable th,.ptable td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.ptable th{font-size:11.5px;color:var(--dim);font-weight:600}.ptable td .dim{display:block;font-size:12px}
.ptable.pay th:not(:first-child),.ptable.pay td:not(:first-child){text-align:center}.ptable .now{background:rgba(169,155,255,.1)}
.ptable.rin input{margin:0;min-width:84px;padding:7px 8px;font-size:13px}.ptable.rin td:first-child input{min-width:110px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}@media (max-width:560px){.grid2{grid-template-columns:1fr}}
.prow{display:flex;gap:6px;align-items:center;margin-bottom:8px}.prow input{margin:0;flex:1;min-width:0}.prow select{margin:0;width:auto}
.chk{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--dim);white-space:nowrap}.chk input{width:auto;margin:0}
.inl{display:inline;margin:0}
.tick{width:30px;height:30px;border-radius:9px;border:1.5px solid var(--line2);background:rgba(255,255,255,.03);display:inline-grid;place-items:center;cursor:pointer;color:#fff;padding:0}
.tick.on{background:linear-gradient(135deg,#25c584,#148a5b);border-color:transparent;box-shadow:0 0 12px rgba(37,197,132,.35)}.tick .ic{width:18px;height:18px;stroke-width:2.4}
.plist{display:flex;flex-direction:column;gap:10px}.prow2{display:flex;align-items:center;gap:12px}.prow2>div{flex:1;min-width:0}.prow2 .dim{display:block;font-size:12.5px}
.pedit{border-bottom:1px solid var(--line);padding:10px 0}.pedit summary{cursor:pointer;list-style:none}.pedit summary::-webkit-details-marker{display:none}.pedit summary .dim{font-size:13px}.pedit form{margin-top:10px}
.mnav{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:6px}.mnav b{font-size:17px;text-transform:capitalize}
.ptable.wrap1 td:first-child{white-space:normal}.ptable.wrap1 td:nth-child(2){text-align:right}

/* ===== v4 : menu latéral façon Obsession ===== */
.side{position:fixed;z-index:30;top:0;bottom:0;left:0;width:264px;display:flex;flex-direction:column;gap:16px;padding:20px 14px 14px;padding-top:max(20px,env(safe-area-inset-top));
  background:linear-gradient(180deg,rgba(20,15,52,.82),rgba(9,8,28,.9));backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border-right:1px solid var(--line);box-shadow:inset -1px 0 0 rgba(255,255,255,.03),20px 0 60px rgba(0,0,0,.25)}
.side .brand{padding:0 6px}
.snav{flex:1;display:flex;flex-direction:column;gap:2px;overflow-y:auto;margin:0 -4px;padding:0 4px;scrollbar-width:none}.snav::-webkit-scrollbar{display:none}
.snav .sg{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);opacity:.8;margin:14px 10px 4px}
.snav a{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:13px;color:var(--dim);text-decoration:none;font-size:14.5px;font-weight:500;transition:background .15s,color .15s}
.snav a:hover{background:rgba(255,255,255,.05);color:var(--text)}
.snav a.on{color:#fff;font-weight:600;background:linear-gradient(135deg,rgba(138,107,255,.42),rgba(106,75,224,.22));box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 0 22px rgba(138,107,255,.28)}
.snav a.on::before{content:"";position:absolute;left:-4px;top:9px;bottom:9px;width:3px;border-radius:3px;background:linear-gradient(var(--pink),var(--violet));box-shadow:0 0 10px var(--pink)}
.snav a.on .ic{color:#e9e3ff}.snav em{margin-left:auto}
.me{display:flex;align-items:center;gap:6px;padding:8px;border-radius:16px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.me-id{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);padding:2px;border-radius:12px}
.me-id>span:last-child{display:flex;flex-direction:column;min-width:0;line-height:1.25}.me-id b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me-id small{font-size:11.5px;color:var(--dim)}
.me form{margin:0}.me-out{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;border:0;background:none;color:var(--dim);cursor:pointer}.me-out:hover{background:rgba(255,92,122,.12);color:#ffb3c1}
a.acct-av{text-decoration:none;flex:none}

/* sélecteur de rôle (Gérant / Manager / Chatter) */
.rs{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:3px;border-radius:14px;background:rgba(0,0,0,.32);border:1px solid var(--line2);box-shadow:inset 0 1px 2px rgba(0,0,0,.4)}
.rs-f{display:contents}
.rs button,.rs-c{position:relative;display:flex;align-items:center;justify-content:center;gap:3px;min-width:0;height:34px;padding:0 6px;border:0;border-radius:11px;background:none;color:var(--dim);font-weight:600;font-size:12.5px;line-height:1;font-family:inherit;cursor:pointer;transition:background .18s,color .18s;white-space:nowrap}
.rs button:hover,.rs-c:hover{color:var(--text)}
.rs .on{color:#fff;background:linear-gradient(135deg,rgba(240,138,216,.4),rgba(138,107,255,.55));box-shadow:0 0 16px rgba(240,138,216,.3),inset 0 1px 0 rgba(255,255,255,.2)}
.rs-c{margin:0}.rs-c span{overflow:hidden;text-overflow:ellipsis}.rs-c svg{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.rs-c select{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;padding:0;border:0;font-size:16px}
.rs .busy{opacity:.7}.rs .spin{width:12px;height:12px}

/* coque : contenu à droite du menu */
body.app .shell{margin-left:264px;min-height:100vh}
body.app .wrap{max-width:1180px;padding:30px 36px 60px}
.top{display:none}.tabbar{display:none}.scrim{display:none}
.apercu{top:0}
.actions.sticky{bottom:16px}
.pool{top:12px}
.toast{bottom:28px}

/* barre de chargement */
#bar{position:fixed;top:0;left:0;height:2.5px;width:0;z-index:99;background:linear-gradient(90deg,var(--pink),var(--violet),var(--lav));box-shadow:0 0 12px var(--pink);opacity:0;pointer-events:none}
#bar.on{opacity:1;width:85%;transition:width 8s cubic-bezier(.1,.7,.2,1)}
#bar.done{opacity:0;width:100%;transition:width .2s,opacity .35s .15s}

/* tableau de bord */
.hero.dash{margin-bottom:12px}.hero.dash h1{font-size:28px}
.eyebrow{display:block;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--lav);margin-bottom:6px;opacity:.9}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.kpi{position:relative;display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:18px;text-decoration:none;color:var(--text);background:var(--card);border:1px solid var(--line);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 10px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06);transition:transform .18s,border-color .18s,box-shadow .18s;overflow:hidden}
.kpi:hover{transform:translateY(-2px);border-color:var(--line2)}
.kpi .k-top{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--dim);font-weight:600}
.kpi b{font-size:28px;font-weight:800;letter-spacing:-.03em;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi .k-sub{font-size:12.5px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi.hot{border-color:rgba(240,138,216,.5);box-shadow:0 0 0 1px rgba(240,138,216,.18),0 0 34px rgba(240,138,216,.2),inset 0 1px 0 rgba(255,255,255,.08)}
.kpi.hot b{background:linear-gradient(90deg,#fff,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.kpi.hot::after{content:"";position:absolute;top:14px;right:14px;width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 4px rgba(240,138,216,.15),0 0 12px var(--pink);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(240,138,216,0),0 0 12px var(--pink)}}
.dgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}.dgrid>.card{margin:0}
.todo{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.todo a{display:flex;align-items:center;gap:12px;padding:10px;border-radius:14px;text-decoration:none;color:var(--text);background:rgba(255,255,255,.03);border:1px solid var(--line);font-size:14px;transition:background .15s}
.todo a:hover{background:rgba(255,255,255,.07)}.todo a>span:not(.tile){flex:1;min-width:0}.todo .chev{width:16px;height:16px;color:var(--dim)}
.todo li.urgent a{border-color:rgba(240,138,216,.45);background:linear-gradient(90deg,rgba(240,138,216,.1),rgba(255,255,255,.02))}
.todo-ok{display:none;margin:4px 0 0}.todo:not(:has(li:not([hidden])))+.todo-ok{display:block}
.shifts{display:flex;flex-direction:column;gap:8px}
.shiftrow{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:rgba(0,0,0,.18);border:1px solid transparent}
.shiftrow .st{flex:none;width:96px;font-size:12.5px;font-weight:600;color:var(--dim)}.shiftrow .chips{flex:1}
.shiftrow.live{border-color:rgba(61,220,151,.45);background:linear-gradient(90deg,rgba(61,220,151,.1),rgba(0,0,0,.12))}.shiftrow.live .st{color:var(--ok)}
.shiftrow em{font-style:normal;font-size:11px;font-weight:700;color:var(--ok);white-space:nowrap}.shiftrow.done{opacity:.55}
.more{display:inline-flex;align-items:center;gap:4px;margin-top:12px;font-size:13.5px;font-weight:600;text-decoration:none}.more .ic{width:15px;height:15px}
.pline{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.pline b{font-size:26px;font-weight:800}
.pbar{height:9px;border-radius:9px;background:rgba(255,255,255,.07);overflow:hidden}.pbar i{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--violet),var(--pink));box-shadow:0 0 12px rgba(240,138,216,.5)}
.nowcard .nowline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 10px}.nowcard .big{font-size:30px}
.card.alert.warn{border-color:rgba(255,181,71,.5)}

@media (max-width:1100px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:899px){
  .side{transform:translateX(-102%);transition:transform .28s cubic-bezier(.2,.8,.2,1);width:min(300px,86vw);box-shadow:30px 0 80px rgba(0,0,0,.6)}
  body.drawer .side{transform:none}
  .scrim{display:block;position:fixed;inset:0;z-index:25;background:rgba(4,3,14,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .25s}
  body.drawer .scrim{opacity:1;pointer-events:auto}
  .side .rs{display:none}
  body.app .shell{margin-left:0}
  body.app .wrap{padding:18px 16px 120px}
  .top{display:flex;position:sticky;top:0;z-index:20;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top));
    background:rgba(8,7,26,.7);backdrop-filter:blur(20px) saturate(1.3);-webkit-backdrop-filter:blur(20px) saturate(1.3);border-bottom:1px solid var(--line)}
  .top .rs{flex:0 1 250px}.top .rs button,.top .rs-c{height:32px;font-size:12px}
  .top:has(.rs) .brand span{display:none}
  .apercu{top:calc(53px + env(safe-area-inset-top))}
  .tabbar{display:flex;position:fixed;left:50%;transform:translateX(-50%);bottom:max(10px,env(safe-area-inset-bottom));z-index:22;gap:2px;padding:6px;width:calc(100vw - 20px);max-width:480px;
    background:rgba(16,12,44,.82);backdrop-filter:blur(22px) saturate(1.4);-webkit-backdrop-filter:blur(22px) saturate(1.4);border:1px solid var(--line2);border-radius:22px;box-shadow:0 12px 40px rgba(0,0,0,.5),0 0 30px rgba(138,107,255,.16)}
  .tabbar a{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 2px;border-radius:16px;text-decoration:none;color:var(--dim);font-size:10.5px;font-weight:600}
  .tabbar a.on{color:#fff;background:linear-gradient(135deg,rgba(138,107,255,.55),rgba(106,75,224,.45));box-shadow:0 0 18px rgba(138,107,255,.4)}
  .tabbar .ic{width:21px;height:21px}.tabbar em{position:absolute;top:2px;right:calc(50% - 22px);min-width:17px;height:17px;font-size:10px;padding:0 4px}
  .actions.sticky{bottom:calc(84px + env(safe-area-inset-bottom))}
  .pool{top:calc(56px + env(safe-area-inset-top))}
  .toast{bottom:calc(96px + env(safe-area-inset-bottom))}
  .dgrid{grid-template-columns:minmax(0,1fr)}
  .hero.dash h1{font-size:29px}
  .kpi{padding:14px}.kpi b{font-size:24px}
}
@media (max-width:380px){.kpi .k-top span:last-child{font-size:11.5px}.top .rs button,.top .rs-c{font-size:11px;padding:0 3px}}
.apercu{flex-wrap:nowrap;justify-content:space-between;padding:7px 14px;font-size:12.5px}.apercu>span>span{min-width:0}.apercu button{flex:none}
.apercu>span>span{display:inline}

/* chatting */
.bars .bar{min-width:0}.bars{display:flex;align-items:flex-end;gap:6px;height:180px;padding-top:8px}
.bar{flex:1;min-width:0;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}
.bar span{font-size:10.5px;color:var(--dim);white-space:nowrap}
.bstack{width:100%;max-width:38px;min-height:2px;display:flex;flex-direction:column;border-radius:8px 8px 3px 3px;overflow:hidden;box-shadow:0 0 14px rgba(138,107,255,.25)}
.bstack i,.legend i{display:block}.bstack .ai,.legend .ai{background:linear-gradient(180deg,var(--pink),#c24fb0)}.bstack .hu,.legend .hu{background:linear-gradient(180deg,var(--lav),var(--violet2))}
.bstack .ai{order:-1}
.legend{display:flex;gap:14px;margin-top:10px;font-size:12px;color:var(--dim)}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px}
.rank{display:flex;flex-direction:column;gap:12px}.rk{display:flex;gap:12px;align-items:flex-start}
.rk-n{width:26px;height:26px;flex:none;display:grid;place-items:center;border-radius:8px;background:rgba(169,155,255,.14);font-weight:800;font-size:13px}
.rk:first-child .rk-n{background:linear-gradient(135deg,var(--pink),var(--violet));box-shadow:0 0 14px rgba(240,138,216,.45)}
.rk-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}.rk-t{display:flex;justify-content:space-between;gap:8px}.rk-t span{font-weight:700}
.sbfill{display:flex;flex-direction:column;gap:2px;margin:0 0 14px}.sbfill form{margin:0}
.contact .btn{flex-direction:column;gap:1px}.contact .btn small{font-weight:500;font-size:11.5px;opacity:.8}.contact .btn .ic{display:none}
.snav a.substy{margin-bottom:8px;color:#fff;background:linear-gradient(135deg,rgba(240,138,216,.3),rgba(138,107,255,.3));border:1px solid rgba(240,138,216,.4)}
.substy-btn{margin-bottom:14px;padding:14px}
/* ---------- v5 : pointage, primes, supervision, règles ---------- */
.clock{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.clock .big{display:block;font-size:22px;font-weight:800;letter-spacing:-.01em}
.clock.on{border-color:rgba(61,220,151,.45);box-shadow:0 0 0 1px rgba(61,220,151,.15),0 0 34px rgba(61,220,151,.14)}
.clockbtn{min-width:170px;justify-content:center;font-size:17px;padding:14px 22px;background:linear-gradient(135deg,#2fd08b,#1aa86e);box-shadow:0 0 26px rgba(61,220,151,.4)}
.clockbtn.off{background:linear-gradient(135deg,#ff6b88,#d93a5c);box-shadow:0 0 26px rgba(255,92,122,.4)}
.tl-axis{position:relative;height:18px;margin:4px 0 6px;font-size:11px;color:var(--dim)}
.tl-axis span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.tl-axis span:first-child{transform:none}.tl-axis span:last-child{transform:translateX(-100%)}
.tl-row{padding:10px 0;border-top:1px solid var(--line)}
.tl-row.solo{border:0;padding:4px 0}
.tl-name{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;font-size:14px}
.tl-name .dim{font-size:12px}
.tl-track{position:relative;height:34px;border-radius:10px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 calc(12.5% - 1px),rgba(255,255,255,.07) calc(12.5% - 1px) 12.5%);overflow:hidden}
.tl-track i{position:absolute;display:block}
.tl-plan{top:3px;bottom:3px;border:1.5px dashed rgba(169,155,255,.7);border-radius:8px;background:rgba(169,155,255,.07)}
.tl-clock{top:9px;bottom:9px;border-radius:6px;background:linear-gradient(90deg,rgba(61,220,151,.55),rgba(61,220,151,.35));box-shadow:0 0 12px rgba(61,220,151,.3)}
.tl-clock.open{background:linear-gradient(90deg,rgba(61,220,151,.6),rgba(61,220,151,.15))}
.tl-clock.auto{background:repeating-linear-gradient(135deg,rgba(255,181,71,.45) 0 6px,rgba(255,181,71,.2) 6px 12px)}
.tl-act{bottom:0;width:3px;margin-left:-1px;border-radius:2px 2px 0 0;background:linear-gradient(180deg,var(--pink),var(--violet))}
.tl-act.out{background:var(--bad)}
.tl-now{top:0;bottom:0;width:2px;background:#fff;box-shadow:0 0 8px #fff;opacity:.8}
.tl-leg i{width:12px;height:10px}.tl-leg .lp{border:1.5px dashed rgba(169,155,255,.8);background:none}.tl-leg .lc{background:rgba(61,220,151,.6)}.tl-leg .la{background:var(--pink);width:4px}.tl-leg .lo{background:var(--bad);width:4px}
.tl-leg{flex-wrap:wrap}
.tl-sum{display:flex;gap:18px;margin:10px 0 4px;color:var(--dim);font-size:14px}.tl-sum b{color:var(--text)}
.flags{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
.fl{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:10px;font-size:13px}
.fl.bad{background:rgba(255,92,122,.09);border:1px solid rgba(255,92,122,.3);color:#ffc2cd}
.fl.warn{background:rgba(255,181,71,.07);border:1px solid rgba(255,181,71,.28);color:#ffd9a0}
.fl form{margin:0;flex:none}
.lname{min-width:90px}
.plist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.plist li{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:10px;background:var(--card2);border:1px solid var(--line)}
.plist li>b{min-width:64px;font-variant-numeric:tabular-nums}
.plist li.plus>b{color:var(--ok)}.plist li.minus>b{color:#ff9db0}
.plist li>span{flex:1;min-width:0;display:flex;flex-direction:column}.plist small{color:var(--dim);font-size:11px}
.plist form{margin:0}
.primecard .pt .tot{font-size:13px;display:flex;gap:8px}
.primeform{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.primeform select,.primeform input{flex:1 1 160px;min-width:0}
.primeform .custom{display:flex;gap:6px;flex:1 1 100%}.primeform .custom[hidden]{display:none}
.primeform .custom select{flex:0 0 64px}
.plus{color:var(--ok)}.minus{color:#ff9db0}
.lb .rk{align-items:center}.lb .md{width:28px;flex:none;text-align:center;font-size:20px}
.lb .rk.me{padding:8px;margin:-8px;border-radius:12px;background:rgba(138,107,255,.12);box-shadow:inset 0 0 0 1px rgba(169,155,255,.35)}
.kpi b small{font-size:.55em;color:var(--dim);font-weight:600}
.stack{display:flex;flex-direction:column;gap:12px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.who{border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin:0}.who legend{font-size:13px;padding:0 4px}
.chipck{display:inline-flex;margin:3px 4px 3px 0;cursor:pointer}.chipck input{position:absolute;opacity:0;pointer-events:none}
.chipck span{padding:6px 11px;border-radius:9px;background:rgba(255,255,255,.06);border:1px solid var(--line);font-size:13px}
.chipck input:checked+span{background:linear-gradient(135deg,rgba(240,138,216,.3),rgba(138,107,255,.35));border-color:rgba(240,138,216,.6)}
.reports{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.reports li{padding:12px;border-radius:14px;background:var(--card2);border:1px solid var(--line)}
.reports li.done{opacity:.6}
.reports .rh{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.reports p{margin:8px 0 0}
.actions.sm{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.actions.sm form{margin:0}
.list.plain li{display:block}
.md h3{margin:18px 0 6px}
@media (max-width:899px){.clockbtn{width:100%}.clock>div{flex:1 1 100%}.row2{grid-template-columns:1fr}}
@media (max-width:599px){.tl-axis span.o{display:none}}
@media (max-width:899px){.clock form{flex:1 1 100%}}
/* v6 : clients, planning en couleurs, classement, tutoriel */
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c);margin:0 5px 0 1px;vertical-align:middle;flex:none}
.mchip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:99px;color:var(--c);border:1px solid color-mix(in srgb,var(--c) 55%,transparent);background:color-mix(in srgb,var(--c) 12%,transparent)}
.ptabs.sm a{padding:6px 12px;font-size:12.5px;display:inline-flex;align-items:center}
.fans{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.fan{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--line)}.fan:last-child{border-bottom:0}
.fan.rel{background:linear-gradient(90deg,rgba(255,92,122,.08),transparent 60%)}
.fan .fb{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.fan .ft{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.fan .ft b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:60%}
.fan .ftot{font-size:15px;white-space:nowrap}.fan .fa{display:flex;gap:6px;flex:none}.fan .fa form{margin:0}
.fan .mini{display:inline-flex;align-items:center;gap:5px}.fan .mini svg{width:14px;height:14px}
@media (max-width:700px){.fan{flex-wrap:wrap}.fan .ftot{display:none}.fan .fa{width:100%;padding-left:34px}.fan .ft b{max-width:100%}}
.chip.pc{flex-direction:column;align-items:flex-start;gap:2px;border-color:color-mix(in srgb,var(--c) 60%,transparent);background:color-mix(in srgb,var(--c) 18%,transparent);border-left:4px solid var(--c)}
.chip.pc b{font-weight:700}.chip.pc small{font-size:11px;color:var(--dim);display:flex;flex-wrap:wrap;gap:2px 6px;align-items:center}
.chip.pc.me{background:color-mix(in srgb,var(--c) 32%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--c) 50%,transparent)}
h3.sub{font-size:14px;margin:18px 0 10px;color:var(--dim);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.plegend{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}
.plegend>div{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:12px;background:var(--card2);border:1px solid var(--line);font-size:13px;flex-wrap:wrap}
.plegend .sw{width:14px;height:14px;border-radius:5px;background:var(--c);box-shadow:0 0 10px var(--c);flex:none}
.needs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.needs>div{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:14px;background:var(--card2);border:1px solid var(--line)}.needs b{font-size:20px}
@media (max-width:700px){.needs{grid-template-columns:1fr}}
.prize{margin:0 0 14px;padding:10px 12px;border-radius:12px;background:linear-gradient(135deg,rgba(255,209,102,.12),rgba(240,138,216,.1));border:1px solid rgba(255,209,102,.35);font-size:13.5px}
h2.sect{display:flex;align-items:center;gap:8px;font-size:15px;margin:6px 0 12px}h2.sect svg{width:18px;height:18px}h2.sect .mini{margin-left:auto}
/* tutoriel : plein écran, sans menu */
body.bare .wrap{max-width:760px;margin:0 auto;padding:28px 16px 120px}
.tour .tourhead{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.tourdots{display:flex;gap:6px}.tourdots>*{flex:1;height:6px;border-radius:99px;background:rgba(255,255,255,.08)}.tourdots a.ok{background:var(--violet)}.tourdots a.on{background:linear-gradient(90deg,var(--pink),var(--violet));box-shadow:0 0 10px var(--glow)}
.tour .lead{font-size:18px}.bul{padding-left:20px;display:flex;flex-direction:column;gap:6px}
.steps4{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}.steps4 li{padding:12px 14px;border-radius:14px;background:var(--card2);border:1px solid var(--line);border-left:4px solid var(--violet)}
.tourgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tourgrid>div{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center;padding:12px;border-radius:14px;background:var(--card2);border:1px solid var(--line)}
.tourgrid .tile{grid-row:span 2}.tourgrid span:not(.tile){font-size:12.5px;color:var(--dim);grid-column:2}
@media (max-width:700px){.tourgrid{grid-template-columns:1fr}}
.clock.demo{display:flex;gap:10px;margin:6px 0 14px}.clock.demo .clockbtn{opacity:1;cursor:default}
.quiz fieldset{border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:0 0 12px;display:flex;flex-direction:column;gap:8px}
.quiz legend{font-weight:700;padding:0 6px}.quiz fieldset.wrong{border-color:rgba(255,92,122,.6);background:rgba(255,92,122,.05)}
.quiz .qopt{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--card2);cursor:pointer}
.quiz .qopt input{accent-color:var(--violet);width:18px;height:18px;flex:none}.quiz .qopt:has(input:checked){border-color:var(--violet);background:rgba(138,107,255,.16)}
.errmsg{color:#ff9db0;font-weight:600;font-size:13px;margin:4px 0 0}
.tour .actions.sticky{justify-content:space-between}.tour .btn[disabled]{opacity:.55;cursor:not-allowed}
.mi{display:inline-flex;align-items:center;white-space:nowrap;margin-right:6px}.chip.pc small .dot{width:7px;height:7px;margin:0 4px 0 0}
.pcell{min-width:0}.chip.pc{max-width:100%;box-sizing:border-box;overflow:hidden}.chip.pc small{min-width:0}.mi{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.pcell .chip.pc{display:flex;width:100%;margin-right:0;padding:5px 7px}

/* v7 : tableau de bord */
.dtop{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:14px;margin-bottom:14px;align-items:stretch}.dtop>.card{margin:0}
.feat{display:flex;flex-direction:column;gap:6px;padding:20px 20px 16px;background:linear-gradient(160deg,rgba(60,40,140,.5),rgba(22,18,52,.6) 55%);border-color:rgba(169,155,255,.28)}
.feat.live{border-color:rgba(61,220,151,.45);box-shadow:0 0 0 1px rgba(61,220,151,.15),0 0 40px rgba(61,220,151,.12),inset 0 1px 0 rgba(255,255,255,.08)}
.feat-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.feat-h .mini{flex:none}
.k-lbl{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--lav)}
.kbig{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:40px;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:6px 0 4px}
.delta{display:inline-flex;align-items:center;gap:3px;font-size:13px;font-weight:700;letter-spacing:0;padding:4px 9px 4px 6px;border-radius:99px}
.delta .ic{width:15px;height:15px;stroke-width:2.4}.delta.up{color:var(--ok);background:rgba(61,220,151,.12)}.delta.down{color:var(--bad);background:rgba(255,92,122,.12)}
.mini.ghost{background:rgba(255,255,255,.05);border:1px solid var(--line);box-shadow:none;color:var(--text)}.mini.ghost .ic{width:14px;height:14px}
.ach{position:relative;height:170px;margin-top:14px}.ach svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.ach-cols{position:absolute;inset:0;display:flex}.ach-c{position:relative;flex:1;outline:0;cursor:default}
.ach-c i{position:absolute;left:50%;bottom:var(--b);width:10px;height:10px;margin:0 0 -5px -5px;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(240,138,216,.55),0 0 14px var(--pink);opacity:0;transition:opacity .15s}
.ach-c::before{content:"";position:absolute;top:0;bottom:0;left:50%;border-left:1px dashed rgba(169,155,255,.35);opacity:0;transition:opacity .15s}
.ach-c.last i{opacity:1}.ach-c:hover i,.ach-c:focus i,.ach-c:hover::before,.ach-c:focus::before{opacity:1}
.ach-c .tip{position:absolute;bottom:calc(var(--b) + 16px);left:50%;transform:translate(-50%,4px);display:flex;flex-direction:column;align-items:center;padding:7px 10px;border-radius:10px;background:rgba(12,10,34,.95);border:1px solid var(--line2);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s,transform .15s;z-index:2}
.ach-c .tip b{font-size:14px}.ach-c .tip small{font-size:11px;color:var(--dim)}.ach-c:hover .tip,.ach-c:focus .tip{opacity:1;transform:translate(-50%,0)}
.ach-c:first-child .tip{left:0;transform:translate(0,4px)}.ach-c:first-child:hover .tip,.ach-c:first-child:focus .tip{transform:none}
.ach-c:last-child .tip{left:auto;right:0;transform:translate(0,4px)}.ach-c:last-child:hover .tip,.ach-c:last-child:focus .tip{transform:none}
.ach-x{display:flex;margin-top:8px}.ach-x span{flex:1;text-align:center;font-size:11.5px;color:var(--dim);text-transform:capitalize}
.dstack{display:flex;flex-direction:column;gap:10px}
.stat{flex:1;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:18px;text-decoration:none;color:var(--text);background:var(--card);border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .15s,border-color .15s;position:relative}
.stat:hover{transform:translateY(-1px);border-color:var(--line2)}.stat .chev{width:16px;height:16px;color:var(--dim);flex:none}
.st-b{flex:1;min-width:0;display:flex;flex-direction:column}.st-l{font-size:12px;font-weight:600;color:var(--dim)}
.stat b{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat b sup{font-size:.55em}
.st-s{font-size:12px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat.hot{border-color:rgba(240,138,216,.5);box-shadow:0 0 0 1px rgba(240,138,216,.15),0 0 26px rgba(240,138,216,.16)}
.stat.hot b{background:linear-gradient(90deg,#fff,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.d3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px;align-items:stretch}.d3>.card{margin:0;display:flex;flex-direction:column}.d3 .more{margin-top:auto;padding-top:12px}
.nowsh{display:flex;align-items:baseline;gap:8px;margin:-4px 0 10px}.nowsh b{font-size:20px}
.onl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.onl li{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:12px;background:rgba(0,0,0,.18)}.onl li b{flex:1;font-size:14px}
.sdot{width:9px;height:9px;border-radius:50%;background:rgba(165,162,204,.45);flex:none}.sdot.on{background:var(--ok);box-shadow:0 0 0 3px rgba(61,220,151,.18),0 0 10px var(--ok)}
.podium{display:flex;flex-direction:column;gap:8px}
.pd{display:grid;grid-template-columns:30px minmax(0,1fr) auto;grid-template-areas:"m n v" "m p v";align-items:center;column-gap:10px;padding:9px 12px;border-radius:14px;background:rgba(0,0,0,.18);border:1px solid transparent}
.pd-m{grid-area:m;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-weight:800;font-size:14px;color:#1a1033}
.pd-m.m1,.p1 .pd-m{background:linear-gradient(135deg,#ffe08a,#f5b83d);box-shadow:0 0 14px rgba(245,184,61,.5)}.pd-m.m2,.p2 .pd-m{background:linear-gradient(135deg,#f1f1f7,#b7b7c9)}.pd-m.m3,.p3 .pd-m{background:linear-gradient(135deg,#f3c39b,#c98450)}
.pd b{grid-area:n;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pd .pill{grid-area:p;justify-self:start;margin-top:2px;font-size:10.5px;padding:1px 7px}
.pd-v{grid-area:v;font-weight:800;font-size:15px}.pd.p1{border-color:rgba(245,184,61,.35);background:linear-gradient(90deg,rgba(245,184,61,.1),rgba(0,0,0,.15))}
.pd.me{box-shadow:inset 0 0 0 1px rgba(169,155,255,.55);background:rgba(138,107,255,.14)}
.mbars{display:flex;flex-direction:column;gap:12px}.mb{display:flex;flex-direction:column;gap:6px}
.mb-t{display:flex;align-items:center;gap:2px;font-size:14px}.mb-t b{flex:1}.mb-t span{font-weight:700}
.mb-bar{height:8px;border-radius:8px;background:rgba(255,255,255,.07);overflow:hidden}.mb-bar i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 55%,transparent),var(--c));box-shadow:0 0 10px color-mix(in srgb,var(--c) 50%,transparent)}
.wl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.wl li{display:flex;align-items:center;gap:12px;padding:10px 2px;border-bottom:1px solid var(--line)}.wl li:last-child{border-bottom:0}
.wl-n{flex:1;min-width:0;display:flex;flex-direction:column}.wl-n b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px}.wl-n .sm{display:flex;align-items:center}
.wl-v{font-size:14.5px;white-space:nowrap}
.ico{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--lav)}.ico .ic{width:16px;height:16px}.ico:hover{border-color:var(--line2);color:#fff}
.feat .nowline{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:2px 0 6px}.feat .nowline .big{font-size:34px;font-weight:800;letter-spacing:-.02em}
.feat-act{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;padding-top:14px}.feat-act form{margin:0}.feat-act .btn{padding:13px 20px}
.feat .chips{margin:2px 0 4px}.feat .hint{margin:8px 0 0}
@media (max-width:1100px){.d3{grid-template-columns:repeat(2,minmax(0,1fr))}.d3>.card:last-child{grid-column:1/-1}}
@media (max-width:899px){.dtop,.d3{grid-template-columns:minmax(0,1fr)}.d3>.card:last-child{grid-column:auto}.kbig{font-size:34px}.ach{height:140px}
  .dstack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.stat{flex-direction:column;align-items:flex-start;gap:8px;padding:14px}.stat .chev{display:none}.stat b{font-size:21px}
  .feat-act>*{flex:1 1 100%}.feat-act .btn{width:100%}}
.shbar{display:flex;align-items:center;gap:10px;margin:2px 0 6px}.shbar .pbar{flex:1}.shbar span{white-space:nowrap}
.dtop.ch{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}.dtop.ch .dstack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.dtop.ch .stat{flex-direction:column;align-items:flex-start;gap:8px;padding:14px}.dtop.ch .stat .chev{position:absolute;top:16px;right:12px}
.st-b{align-self:stretch}@media (max-width:899px){.st-s{white-space:normal}}.dtop.ch .st-s{white-space:normal}
.pday{position:relative}.pday.today .pdh em{position:absolute;top:-10px;left:50%;transform:translateX(-50%);box-shadow:0 0 14px rgba(138,107,255,.6)}.pday.today{margin-top:4px}
.lb .md .pd-m{display:grid;width:28px;height:28px;margin:0 auto;font-size:13px}.lb .md .rk-n{margin:0 auto}
fieldset.who{display:flex;flex-wrap:wrap;gap:6px;align-items:center}fieldset.who legend{width:100%}
@media (max-width:900px){.pgrid.s4:not(.edit) .pday{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:899px){.kpi .k-sub{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}
.tiles.big .tb{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.tiles.big .tb b{flex:none}.tiles.big .chev{width:16px;height:16px;color:var(--dim)}
/* v8 : notifications, aide, Discord */
.nlist{display:flex;flex-direction:column;gap:10px}
.nrow{display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--card2)}
.nrow.on{border-color:rgba(61,220,151,.4)}
.nrow-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.nrow-t .dim{font-size:12.5px;line-height:1.35}
.nrow .btn{padding:9px 16px;font-size:13.5px;flex:none}.nrow .pill{display:inline-flex;align-items:center;gap:4px;flex:none}.nrow .pill .ic{width:12px;height:12px}
.helpbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:-4px 0 14px}.helpbar .btn{padding:10px 16px}
.btn.sos{background:linear-gradient(135deg,#ff5c7a,#d93a5c);box-shadow:0 0 22px rgba(255,92,122,.45);border-color:transparent;color:#fff}
.btn.sos.busy{opacity:.6;pointer-events:none}
.msg.helpmsg{border-color:rgba(255,92,122,.6);box-shadow:0 0 20px rgba(255,92,122,.22);background:rgba(255,92,122,.1)}
.tl-track.sub{height:12px;margin-top:4px;border-radius:6px}
.tl-voice{top:2px;bottom:2px;border-radius:4px;background:rgba(88,101,242,.75)}
.tl-stream{top:2px;bottom:2px;border-radius:4px;background:linear-gradient(90deg,rgba(240,138,216,.85),rgba(169,155,255,.85));box-shadow:0 0 8px rgba(240,138,216,.35)}
.tl-leg .lv{background:rgba(88,101,242,.8)}.tl-leg .ls{background:linear-gradient(90deg,var(--pink),var(--lav))}
@media (max-width:560px){.nrow{flex-wrap:wrap}.nrow .btn{width:100%}}
.helpbar ~ .chatbox{height:calc(100dvh - 360px)}@media (max-width:560px){.helpbar ~ .chatbox{height:calc(100dvh - 400px)}.helpbar .dim{flex-basis:100%}}
/* v9 : planning conseillé, légende, délier */
.unl{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.rec{display:grid;gap:10px}.rec-s{padding:10px;border-radius:12px;background:var(--card2);border:1px solid var(--line)}
.rec-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.chip.rec{flex-direction:column;align-items:flex-start;gap:1px}.chip.rec small{font-size:11px;color:var(--dim)}
.plegend>div{flex-direction:column;align-items:stretch;gap:6px;border-left:4px solid var(--c)}
.plegend>div.me{box-shadow:0 0 14px color-mix(in srgb,var(--c) 45%,transparent)}
.lg-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.lg-h .sw{background:var(--c);box-shadow:0 0 10px var(--c)}
.lg-m{display:flex;flex-wrap:wrap;gap:5px}
.mtag{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;background:color-mix(in srgb,var(--c) 20%,transparent);border:1px solid color-mix(in srgb,var(--c) 55%,transparent)}
.mtag .dot{width:7px;height:7px;background:var(--c);margin:0}
/* boîte de dialogue CVP (remplace confirm / alert du navigateur) */
.dlg{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:16px;background:rgba(6,5,20,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .2s}
.dlg.on{opacity:1}
.dlg-b{width:min(380px,100%);text-align:center;padding:24px 20px 18px;border-radius:22px;background:linear-gradient(160deg,rgba(40,32,90,.92),rgba(14,12,38,.95));border:1px solid rgba(169,155,255,.28);box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 40px var(--glow);transform:translateY(14px) scale(.96);transition:transform .25s cubic-bezier(.2,.9,.3,1.2)}
.dlg.on .dlg-b{transform:none}
.dlg-i{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 30% 30%,var(--pink),var(--violet) 75%);box-shadow:0 0 24px var(--glow)}
.dlg-i svg{width:28px;height:28px;display:block}
.dlg.danger .dlg-i{background:radial-gradient(circle at 30% 30%,#ff8fa8,#e0345a 75%);box-shadow:0 0 24px rgba(255,70,110,.55)}
.dlg-t{display:block;font-size:18px;margin-bottom:6px}.dlg-m{color:var(--dim);margin:0 0 18px;line-height:1.45;white-space:pre-line}
.dlg-a{display:flex;gap:8px}.dlg-a .btn{flex:1;justify-content:center}
.dlg.danger .dlg-a .btn[data-v="1"]{background:linear-gradient(135deg,#ff5a7d,#d02a52);box-shadow:0 0 18px rgba(255,70,110,.45)}
/* équipe : liste et fiche */
.mlist{display:grid;gap:8px}
.mrow{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:var(--card2);border:1px solid var(--line);color:inherit;text-decoration:none;transition:transform .15s,border-color .15s}
.mrow:hover{transform:translateY(-1px);border-color:rgba(169,155,255,.4)}.mrow.off{opacity:.5}
.mr-t{display:flex;flex-direction:column;min-width:0;flex:1}.mr-s{display:flex;flex-wrap:wrap;gap:4px;justify-content:flex-end}
.st{display:inline-flex;align-items:center;gap:3px;font-size:11px;padding:2px 7px;border-radius:99px;background:rgba(255,90,125,.12);color:#ff9db0}
.st.on{background:rgba(70,220,150,.12);color:var(--ok)}.st .ic{width:11px;height:11px}
@media (max-width:640px){.mr-s{display:none}}
.back{display:inline-flex;align-items:center;gap:4px;color:var(--dim);text-decoration:none;font-size:13px;margin-bottom:6px}.back .ic{width:16px;height:16px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;align-items:center}.kv span{color:var(--dim)}
.plist li.struck{opacity:.5;text-decoration:line-through}
.pb{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:13px;margin:6px 0}.pb b{margin-left:3px}
.pm.tts{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tts-h{display:inline-flex;align-items:center;gap:5px;font-weight:600}
.steps{margin:0;padding-left:20px;display:grid;gap:6px}
/* rapports de shift */
.rep{border-left:4px solid rgba(169,155,255,.4)}.rep-live{border-left-color:var(--ok);box-shadow:0 0 22px rgba(70,220,150,.12)}.rep-soon{opacity:.75}
.rep-h{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px}.rep-h b{font-size:16px}
.replist{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.replist li{display:grid;grid-template-columns:minmax(80px,auto) 1fr auto auto;gap:4px 10px;align-items:center;padding:7px 10px;border-radius:10px;background:var(--card2);font-size:13px}
.replist li.bad{background:rgba(255,90,125,.1);border:1px solid rgba(255,90,125,.25)}.replist em{font-style:normal}
@media (max-width:640px){.replist li{grid-template-columns:1fr auto}.replist li>span{grid-column:1/-1}}
.rep-f{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:13px;color:var(--dim)}.rep-f b{color:#fff}
.pbar.big{height:10px;margin:8px 0}
#sup .tl-track.sub{height:22px;margin-top:6px}
/* annonces en grand */
.ann{position:fixed;inset:0;z-index:190;display:grid;place-items:center;padding:16px;background:rgba(6,5,20,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transition:opacity .22s}
.ann.on{opacity:1}
.ann-b{width:min(560px,100%);max-height:88vh;overflow:auto;padding:22px;border-radius:24px;background:linear-gradient(160deg,rgba(46,36,104,.95),rgba(14,12,38,.97));border:1px solid rgba(169,155,255,.32);box-shadow:0 24px 80px rgba(0,0,0,.55),0 0 60px var(--glow);transform:translateY(18px) scale(.97);transition:transform .3s cubic-bezier(.2,.9,.3,1.15)}
.ann.on .ann-b{transform:none}
.ann-h{display:flex;align-items:center;gap:12px;margin-bottom:14px}.ann-h b{display:block;font-size:20px}.ann-m{color:var(--dim);font-size:12px}
.ann-i{width:46px;height:46px;flex:none;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 30% 30%,var(--pink),var(--violet) 75%);box-shadow:0 0 22px var(--glow)}.ann-i svg{width:24px;height:24px}
.ann-c{line-height:1.55;margin-bottom:12px}.ann-f img{width:100%;border-radius:14px;margin-bottom:10px}
.ann .btn.wide{width:100%;justify-content:center;margin-top:4px}

.vocbtn{margin-top:10px;display:inline-flex}

/* suivi du jour (pointage) */
.tb{padding:10px 12px}
.tb-shift{display:flex;align-items:center;justify-content:space-between;margin:12px 2px 4px;font-size:12px;font-weight:700;letter-spacing:.02em;color:rgba(255,255,255,.75)}
.tb-shift em{font-style:normal;font-weight:600;font-size:11px;padding:2px 8px;border-radius:99px;background:var(--card2);border:1px solid var(--line)}
.tb-shift.live em{color:#06d6a0;border-color:rgba(6,214,160,.4)}.tb-shift.done{opacity:.7}
.tb-row{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:10px;padding:6px 8px;border-radius:10px}
.tb-row+.tb-row{border-top:1px solid rgba(255,255,255,.04)}
.tb-row.mel{background:rgba(169,155,255,.07);border:1px solid var(--line)}
.tb-n{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-n em{display:block;font-style:normal;font-size:11px;font-weight:500;color:var(--lav)}
.tb-bar{position:relative;height:10px;border-radius:99px;background:rgba(255,255,255,.05);overflow:hidden}
.tb-bar i{position:absolute;top:0;height:50%;border-radius:2px}.tb-bar i.s{top:50%}.tb-bar i.v{height:100%}
.tb-bar .c,.tb-leg .c{background:#8a6bff}.tb-bar .s,.tb-leg .s{background:#06d6a0}.tb-bar .v,.tb-leg .v{background:#4cc9f0}
.tb-bar .tb-now{top:0;height:100%;width:2px;background:#fff;box-shadow:0 0 6px #fff}
.tb-c{display:flex;gap:4px;justify-content:flex-end;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:99px;white-space:nowrap;background:var(--card2);border:1px solid var(--line)}
.chip svg{width:11px;height:11px}
.chip.ok{color:#06d6a0;background:rgba(6,214,160,.1);border-color:rgba(6,214,160,.35)}
.chip.warn{color:#ffd166;background:rgba(255,209,102,.1);border-color:rgba(255,209,102,.35)}
.chip.bad{color:#ff5c8a;background:rgba(255,92,138,.1);border-color:rgba(255,92,138,.35)}
.chip.info{color:var(--lav)}.chip.mute{color:rgba(255,255,255,.45)}
.tb-leg{display:flex;gap:12px;margin-top:10px;font-size:11px;color:rgba(255,255,255,.55)}.tb-leg i{display:inline-block;width:10px;height:4px;border-radius:2px;margin-right:4px;vertical-align:middle}
.more-d>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;font-weight:600}.more-d>summary::-webkit-details-marker{display:none}
.more-d[open]>summary{margin-bottom:10px}
@media (max-width:600px){.tb-row{grid-template-columns:72px minmax(24px,1fr) auto;gap:8px;padding:6px 4px}.tb-n{font-size:13px}.tb-row.mel{grid-template-columns:72px 1fr}.tb-row.mel .tb-c{grid-column:1/-1;justify-content:flex-start}}

/* compact : site interne */
.card{padding:14px 15px;margin-bottom:10px}
.card h2{font-size:15.5px;margin-bottom:10px}
.hint{font-size:12px;opacity:.75}
.dgrid.one{grid-template-columns:1fr}
.card.sup{padding:6px 8px}.card.sup .tb-row.mel{border:0;background:none}
.tb-c form.inline{margin:0}.tb-c select{padding:2px 6px;font-size:11.5px;height:auto;width:auto}
.kpis{gap:8px;margin-bottom:10px}.kpi{padding:11px 13px;gap:5px;border-radius:14px}.kpi b{font-size:22px}.kpi .k-sub{font-size:11.5px}
@media (max-width:899px){.kpi{padding:10px 11px}.kpi b{font-size:20px}}
.dashpt{padding:10px 12px}.dp-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.dp-h b{display:flex;align-items:center;gap:6px;font-size:14px}.dp-h b svg{width:16px;height:16px}
.dashpt .tb-shift{margin-top:8px}
.d3.two{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:899px){.d3.two{grid-template-columns:1fr}}
.bare-rs{position:fixed;top:max(10px,env(safe-area-inset-top));right:12px;z-index:30}
.dp-h{gap:8px}.dp-h b:first-child{margin-right:auto}
.sl{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:8px;padding:5px 2px;border-top:1px solid rgba(255,255,255,.04)}
.sl-h{font-size:12px;font-weight:700;color:rgba(255,255,255,.7);white-space:nowrap}
.sl.live{background:rgba(6,214,160,.05);border-radius:10px;padding:5px 6px}.sl.live .sl-h{color:#06d6a0}.sl.done{opacity:.75}
.sl-c{display:flex;flex-wrap:wrap;gap:4px}
@media (max-width:600px){.sl{grid-template-columns:78px 1fr}.dp-h{flex-wrap:wrap}}
/* classement par période */
.seg.per{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:4px;padding:4px;border-radius:99px;background:rgba(14,11,40,.6);border:1px solid var(--line);margin-bottom:10px}
.seg.per::-webkit-scrollbar{display:none}
.seg.per a{flex:1 0 auto;text-align:center;text-decoration:none;color:rgba(255,255,255,.7);font-size:12.5px;font-weight:600;padding:7px 11px;border-radius:99px;white-space:nowrap}
.seg.per a.on{color:#fff;background:linear-gradient(135deg,rgba(138,107,255,.55),rgba(106,75,224,.4));box-shadow:0 0 14px rgba(138,107,255,.35)}
.cl{padding:6px 8px}
.cl-r{display:grid;grid-template-columns:30px minmax(80px,1.3fr) 1.2fr .8fr .8fr .9fr .8fr;align-items:center;gap:8px;padding:8px 6px;border-radius:10px;text-decoration:none;color:var(--text);font-size:13.5px}
a.cl-r:hover{background:rgba(255,255,255,.04)}.cl-r+.cl-r{border-top:1px solid rgba(255,255,255,.04)}
.cl-r em{display:block;font-style:normal;font-size:11px;color:var(--dim)}.cl-r>span:nth-child(n+3){text-align:right}
.cl-h{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--dim)}.cl-h a{color:var(--dim);text-decoration:none;text-align:right}.cl-h a.on{color:#fff}
.cl-h>a{display:block}
@media (max-width:700px){.cl-r{grid-template-columns:24px minmax(60px,1fr) 1fr .9fr .9fr;font-size:12.5px;gap:6px}.cl-r>:nth-child(6),.cl-r>:nth-child(7){display:none}}
@media (max-width:700px){.cl-r{grid-template-columns:22px minmax(0,1fr) 84px 46px 52px}.cl-r b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cl-h{font-size:10px}}
@media (max-width:600px){.dp-h .chip{order:3;width:fit-content}.dp-h{row-gap:6px}.dp-h .mini{padding:5px 9px}}

/* présence automatique : 4 lignes empilées (vocal, écran, Substy, chat) */
.pl{position:relative;display:grid;gap:3px;padding:4px 0;min-width:0}
.pl-l{position:relative;height:5px;border-radius:3px;background:rgba(255,255,255,.045);overflow:hidden}
.pl-l i{position:absolute;top:0;bottom:0;border-radius:3px}
.pl-l.v i,.pl-leg .v,.lv .v,.pl-sum .v{background:#4cc9f0}.pl-l.v i{box-shadow:0 0 6px rgba(76,201,240,.55)}
.pl-l.s i,.pl-leg .s,.lv .s,.pl-sum .s{background:#8a6bff}.pl-l.s i{box-shadow:0 0 6px rgba(138,107,255,.6)}
.pl-l.a i,.pl-leg .a,.lv .a,.pl-sum .a{background:#f08ad8}.pl-l.a i{box-shadow:0 0 6px rgba(240,138,216,.5)}
.pl-l.c i,.pl-leg .c,.lv .c,.pl-sum .c{background:#3ddc97}.pl-l.c i{box-shadow:0 0 6px rgba(61,220,151,.5)}
.pl-p{position:absolute;top:1px;bottom:1px;background:rgba(255,255,255,.04);border-left:1px dashed rgba(255,255,255,.2);border-right:1px dashed rgba(255,255,255,.2)}
.pl-now{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 6px #fff;border-radius:1px}
.pl-ax{position:relative;height:14px;font-size:10px;color:rgba(255,255,255,.4)}
.pl-ax span{position:absolute;top:0;transform:translateX(-50%);white-space:nowrap}
.pl-ax span:first-child{transform:none}.pl-ax span:last-child:not(:first-child){transform:translateX(-100%)}
.pl-leg{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:11px;color:rgba(255,255,255,.55)}
.pl-leg i,.pl-sum i{display:inline-block;width:12px;height:5px;border-radius:3px;margin-right:5px;vertical-align:middle}
.pl-leg .p{background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.35);height:8px;width:14px}
.pl-h{display:flex;gap:1px;height:7px}
.pl-h i{flex:1;min-width:0;border-radius:2px;background:rgba(255,255,255,.045);position:relative}
.pl-h i::after{content:'';position:absolute;inset:0;border-radius:2px;opacity:var(--o)}
.pl-h.v i::after{background:#4cc9f0}.pl-h.s i::after{background:#8a6bff}.pl-h.a i::after{background:#f08ad8}.pl-h.c i::after{background:#3ddc97}
.pl-sum{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:12.5px;font-weight:600}
.ol-r{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:10px;padding:5px 6px;border-radius:10px;color:inherit;text-decoration:none}
.ol-r+.ol-r{border-top:1px solid rgba(255,255,255,.04)}
.ol-r.ax,.ol-r.ax+.ol-r{border-top:0}.ol-r.ax{padding-top:0;padding-bottom:0}
.ol-r.solo{grid-template-columns:minmax(0,1fr)}
a.ol-r:hover{background:rgba(255,255,255,.03)}
.ol-r.on{background:rgba(61,220,151,.04)}
.ol-n{display:flex;flex-direction:column;min-width:0;font-size:11.5px;color:var(--dim);line-height:1.35}
.ol-n>b:first-child{font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ol-n em{font-style:normal;font-size:10.5px;color:var(--lav)}
.ol-on{color:#3ddc97;font-weight:600}.ol-bad{color:var(--bad);font-weight:600}
.ol-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.25)}
.ol-dot.on{background:#3ddc97;box-shadow:0 0 8px #3ddc97;animation:oldot 2s ease-in-out infinite}
@keyframes oldot{50%{opacity:.45}}
.ol .tb-c{justify-content:flex-start}.ol-ch{grid-column:2;margin-top:-2px}
a.card.ol{display:block;color:inherit;text-decoration:none}
.lvc{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.lvc.live{border-color:rgba(61,220,151,.35)}
.lvs{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 4px}
.lv{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:99px;border:1px solid var(--line);font-size:12px;color:var(--dim);background:var(--card2)}
.lv i{width:8px;height:8px;border-radius:50%;opacity:.22}
.lv.on{color:var(--text);border-color:var(--line2)}.lv.on i{opacity:1;box-shadow:0 0 6px currentColor}
.lvc-a{display:flex;gap:8px;flex-wrap:wrap}
.fl-p{margin-top:10px}.fl-p>b{font-size:13px}
.pl-demo{display:grid;gap:8px;margin:6px 0 14px}.pl-demo>div{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:10px;font-size:12.5px}
@media (max-width:600px){.ol-r{grid-template-columns:86px minmax(0,1fr);gap:8px;padding:5px 2px}.ol-n>b:first-child{font-size:13px}.pl-demo>div{grid-template-columns:96px 1fr}}
/* rapports sur une période : une ligne par jour, une case par shift */
.rp{padding:10px 12px;overflow-x:auto}
.rp-r{display:grid;grid-template-columns:62px repeat(4,minmax(64px,1fr));gap:4px;align-items:center;min-width:330px}
.rp-r+.rp-r{margin-top:4px}
.rp-h span{font-size:11px;font-weight:700;color:rgba(255,255,255,.6);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp-d{font-size:12px;font-weight:600;color:var(--dim)}
.rp-c{display:flex;flex-direction:column;align-items:flex-start;padding:5px 8px;border-radius:9px;border:1px solid var(--line);background:var(--card2);color:var(--text);text-decoration:none;font-size:12px;line-height:1.25}
.rp-c em{font-style:normal;font-size:10.5px}
.rp-c.ok{border-color:rgba(61,220,151,.35)}.rp-c.ok b{color:#3ddc97}
.rp-c.warn{border-color:rgba(255,181,71,.45);background:rgba(255,181,71,.06)}.rp-c.warn em{color:var(--warn)}
.rp-c.bad{border-color:rgba(255,92,122,.5);background:rgba(255,92,122,.07)}.rp-c.bad em{color:var(--bad)}
.rp-c.mute{opacity:.55}

/* IA : analyses, coaching, infractions, relances, recrutement, rapport du mois */
.fsc{display:inline-grid;place-items:center;min-width:30px;height:22px;padding:0 6px;border-radius:8px;font-size:11.5px;font-weight:800;margin-right:2px;border:1px solid var(--line)}
.fsc.hi{color:#3ddc97;border-color:rgba(61,220,151,.45);background:rgba(61,220,151,.1);box-shadow:0 0 10px rgba(61,220,151,.18)}
.fsc.mid{color:var(--warn);border-color:rgba(255,181,71,.4);background:rgba(255,181,71,.08)}
.fsc.lo{color:var(--dim)}
.relbox{grid-column:1/-1;margin:8px 0 2px;padding:12px 14px;border-radius:14px;background:rgba(138,107,255,.08);border:1px solid rgba(169,155,255,.28)}
.fan:has(.relbox){flex-wrap:wrap}
.ai-wait{display:flex;align-items:center;gap:10px;color:var(--dim);margin:0}
.ai-c{margin:0 0 6px;padding:10px 12px;border-left:3px solid var(--violet);background:rgba(255,255,255,.03);border-radius:0 10px 10px 0;white-space:pre-wrap}
.ains{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}
.ain{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);margin-bottom:12px}
.ains .ain{margin:0}
.ain.err{border-color:rgba(255,92,122,.35)}
.ain-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.ain-h b{font-size:16px;text-transform:capitalize}
.ain p{margin:6px 0}
.ai-l{display:flex;flex-direction:column;gap:4px;margin:8px 0}.ai-l span{display:flex;gap:6px;align-items:flex-start;font-size:13.5px}.ai-l .ic{width:15px;height:15px;flex:none;margin-top:3px;color:var(--ok)}
.ai-g,.ai-f{display:grid;gap:8px;margin:8px 0}
.ai-g>div,.ai-f>div{padding:10px 12px;border-radius:12px;background:rgba(255,181,71,.06);border:1px solid rgba(255,181,71,.25)}
.ai-f>div{background:rgba(255,92,122,.06);border-color:rgba(255,92,122,.3)}.ai-f>.g-faible{background:rgba(255,255,255,.03);border-color:var(--line)}
.ai-g b,.ai-f b{display:block;font-size:13.5px}
.ai-g q,.ai-f q,.afl q{display:block;font-size:13px;color:var(--dim);font-style:italic;margin:3px 0;quotes:"« " " »"}
.ai-g p{font-size:13.5px;margin:2px 0 0}
.ai-m{display:flex;gap:8px;align-items:flex-start;font-size:13.5px;color:#e4deff}.ai-m .ic{width:16px;height:16px;flex:none;margin-top:2px;color:var(--pink)}
.ain details summary{cursor:pointer;color:var(--lav);font-size:13.5px;margin:6px 0}
.afls{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.afl{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:start;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.afl.g-grave{border-color:rgba(255,92,122,.45);background:rgba(255,92,122,.06)}.afl.seen{opacity:.55}
.afl b{font-size:13.5px}.afl .fa{display:flex;gap:6px}
@media (max-width:620px){.afl{grid-template-columns:1fr}.ains{grid-template-columns:1fr}}
.ai-cand{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0;padding:8px 10px;border-radius:12px;background:rgba(138,107,255,.07);border:1px solid var(--line)}
.ai-cand p{margin:0;font-size:13.5px;flex:1 1 220px}.ai-cand .pill{display:inline-flex;align-items:center;gap:4px}.ai-cand .pill .ic{width:13px;height:13px}
.ai-cand details{flex-basis:100%}
.simlink{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;border:1px solid rgba(61,220,151,.4);background:rgba(61,220,151,.07);word-break:break-all}.simlink small{color:var(--dim)}
.sim{display:flex;flex-direction:column;gap:6px;margin:12px 0;max-height:60vh;overflow:auto}
.sim>div{display:flex}.sim span{max-width:82%;padding:9px 13px;border-radius:16px;font-size:14.5px;line-height:1.4;white-space:pre-wrap}
.sim .sm-fan span{background:rgba(255,255,255,.07);border:1px solid var(--line);border-bottom-left-radius:5px}
.sim .sm-chatter{justify-content:flex-end}.sim .sm-chatter span{background:linear-gradient(135deg,var(--violet2),#a54fc0);border-bottom-right-radius:5px;box-shadow:0 4px 18px rgba(138,107,255,.25)}
.sim.sm span{font-size:13px;padding:6px 10px}
.simf{display:flex;gap:8px;align-items:flex-end}.simf textarea{flex:1;margin:0}
.mrep-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.mrep-h h2{margin:0;flex:1}.mrep-h>b{font-size:20px}
.mrep-k{display:flex;flex-wrap:wrap;gap:6px 16px;margin:8px 0 10px;font-size:13px;color:var(--dim)}.mrep-k b{color:var(--text)}
.mrep{border-top:2px solid var(--c)}
.setrows{display:grid;gap:12px}.setrows select,.setrows input[type=number]{width:auto;display:inline-block;margin:0 4px}
.chk{display:flex;gap:10px;align-items:flex-start}.chk input{width:auto;margin-top:4px}
@media (max-width:899px){.dtop.ch{grid-template-columns:minmax(0,1fr)}}
.msg.coachmsg{border-color:rgba(138,107,255,.55);box-shadow:0 0 18px rgba(138,107,255,.2)}
/* info-bulle commune (data-tip) */
.gtip{position:fixed;z-index:9999;pointer-events:none;display:flex;flex-direction:column;gap:2px;max-width:260px;padding:8px 11px;border-radius:12px;background:rgba(18,14,32,.94);border:1px solid rgba(169,155,255,.35);box-shadow:0 10px 30px rgba(0,0,0,.45),0 0 18px rgba(138,107,255,.25);backdrop-filter:blur(10px);font-size:12px;color:var(--dim);opacity:0;transform:translateY(4px);transition:opacity .12s,transform .12s}
.gtip.on{opacity:1;transform:none}.gtip b{color:#fff;font-size:13px}
/* planning v15 : tableau shifts × jours, une couleur par modèle */
.mlegend{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.ptable-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px}
.ptable{width:100%;min-width:760px;border-collapse:separate;border-spacing:4px;table-layout:fixed}
.ptable th{font-size:12px;color:var(--dim);font-weight:600;text-align:left;padding:4px 6px;white-space:nowrap}
.ptable thead th.today{color:#fff;text-shadow:0 0 10px rgba(169,155,255,.8)}
.ptable th.sh{width:74px;color:#fff;font-size:12px;vertical-align:top;padding-top:10px}
.ptable td{vertical-align:top;background:rgba(0,0,0,.16);border-radius:10px;padding:5px;border:1px solid transparent}
.ptable td.today{background:rgba(138,107,255,.1);border-color:rgba(169,155,255,.35)}
.ptable.edit td{padding:4px}
.ptable.edit thead th{white-space:normal}.ptable.edit thead th .mini{display:block;margin-top:3px;padding:1px 8px;font-size:11px}
.pchip{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:4px 7px;margin-bottom:4px;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid var(--line);font-size:12px;cursor:default;transition:background .15s,transform .15s}
.pchip:hover{background:rgba(255,255,255,.1);transform:translateY(-1px)}
.pchip{flex-wrap:wrap}.pchip b{font-weight:600;min-width:0;overflow-wrap:anywhere}
.pchip.me{border-color:rgba(169,155,255,.7);box-shadow:0 0 12px rgba(138,107,255,.35)}
.pdots{display:flex;gap:3px;flex:none}.pdots i{width:9px;height:9px;border-radius:50%;background:var(--c);box-shadow:0 0 6px var(--c)}
.pdots i.none{background:transparent;border:1px dashed rgba(255,255,255,.3);box-shadow:none}
.pempty{color:rgba(255,255,255,.2);font-size:12px}
.stepn{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,#8a6bff,#f08ad8);color:#fff;font-size:12px;font-weight:700;margin-right:6px;box-shadow:0 0 12px rgba(138,107,255,.5)}
/* règles et infos v15 : une pastille emoji par ligne, des tuiles courtes, qui s'animent */
.vem{flex:none;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:10px;font-size:16px;line-height:1;background:color-mix(in srgb,var(--c,#a99bff) 16%,transparent);border:1px solid color-mix(in srgb,var(--c,#a99bff) 30%,transparent)}
.vrows{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin-bottom:12px}
.vrows>div{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:14px;background:var(--card2);border:1px solid var(--line);font-size:14px;line-height:1.4;transition:transform .18s,border-color .18s,box-shadow .18s}
.vrows>div:hover,.vamt>div:hover,.vprice>div:hover,.vban>span:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--c,#a99bff) 55%,transparent);box-shadow:0 8px 22px rgba(0,0,0,.3),0 0 14px color-mix(in srgb,var(--c,#a99bff) 25%,transparent)}
.vban{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}
.vban>span{border-radius:12px;padding:6px 10px 6px 6px;transition:transform .18s,box-shadow .18s}
.vban .vem{width:26px;height:26px;font-size:14px;background:rgba(255,92,138,.12);border-color:rgba(255,92,138,.3)}
.vamt>div{transition:transform .18s,border-color .18s,box-shadow .18s}.vamt>div b{margin-left:auto}
.vamt .vem{width:28px;height:28px;font-size:15px}
.vprice>div{transition:transform .18s,box-shadow .18s}.vprice .vem{margin-bottom:2px;background:rgba(255,209,102,.14);border-color:rgba(255,209,102,.3)}
@media (prefers-reduced-motion:no-preference){.vsec .vrows>div,.vsec .vamt>div,.vsec .vprice>div,.vsec .vban>span,.vsec .vchip{animation:vin .45s cubic-bezier(.2,.8,.2,1) both}
.vsec .vrows>div:nth-child(2),.vsec .vamt>div:nth-child(2),.vsec .vprice>div:nth-child(2),.vsec .vban>span:nth-child(2){animation-delay:.04s}
.vsec .vrows>div:nth-child(3),.vsec .vamt>div:nth-child(3),.vsec .vprice>div:nth-child(3),.vsec .vban>span:nth-child(3){animation-delay:.08s}
.vsec .vrows>div:nth-child(n+4),.vsec .vamt>div:nth-child(n+4),.vsec .vprice>div:nth-child(n+4),.vsec .vban>span:nth-child(n+4){animation-delay:.12s}}
@keyframes vin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.vamt{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
/* Supervision : étapes à gauche, une étape à la fois */
.sp-prog{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-size:13px;color:var(--dim)}
.sp-bar{flex:1;height:8px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.sp-bar i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#8a6bff,#f08ad8);box-shadow:0 0 14px rgba(240,138,216,.6);transition:width .5s cubic-bezier(.2,.8,.2,1)}
.sp-w{display:grid;grid-template-columns:290px minmax(0,1fr);gap:16px;align-items:start}
@media (max-width:899px){.sp-w{grid-template-columns:minmax(0,1fr)}}
.sp-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;position:sticky;top:16px}
.sp-steps button{all:unset;box-sizing:border-box;width:100%;display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:14px;cursor:pointer;border:1px solid transparent;transition:background .18s,border-color .18s,transform .18s}
.sp-steps button:hover{background:rgba(255,255,255,.04);transform:translateX(2px)}
.sp-steps button.on{background:linear-gradient(135deg,rgba(138,107,255,.2),rgba(240,138,216,.08));border-color:rgba(169,155,255,.45);box-shadow:0 0 18px rgba(138,107,255,.2)}
.sp-num{flex:none;position:relative;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:rgba(255,255,255,.06);border:1px solid var(--line);color:#fff;transition:background .25s,border-color .25s}
.sp-num em{font-style:normal}.sp-num svg{position:absolute;inset:0;margin:auto;width:15px;height:15px;opacity:0;transform:scale(.5);transition:opacity .25s,transform .25s}
.sp-steps .warn .sp-num{border-color:rgba(255,209,102,.6)}.sp-steps .bad .sp-num{border-color:rgba(255,92,138,.7);box-shadow:0 0 10px rgba(255,92,138,.35)}
.sp-steps .seen .sp-num{background:#06d6a0;border-color:#06d6a0;box-shadow:0 0 12px rgba(6,214,160,.45)}.sp-steps .seen .sp-num em{opacity:0}.sp-steps .seen .sp-num svg{opacity:1;transform:none;color:#0b1a14}
.sp-t{display:flex;flex-direction:column;min-width:0}.sp-t b{font-size:14px;font-weight:600}.sp-t small{font-size:12px;color:var(--dim)}
.sp-steps .bad .sp-t small{color:#ff5c8a}.sp-steps .warn .sp-t small{color:#ffd166}.sp-steps .seen .sp-t b{color:var(--dim)}
.sp-p{display:none}.sp-p.on{display:block;animation:vin .35s cubic-bezier(.2,.8,.2,1)}
.sp-big{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:4px 0 12px}.sp-big b{font-size:34px;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,#fff,#c9bfff);-webkit-background-clip:text;background-clip:text;color:transparent}
.sp-row{display:flex;justify-content:space-between;gap:12px;padding:9px 12px;margin-bottom:5px;border-radius:12px;background:var(--card2);border:1px solid var(--line);font-size:14px;transition:transform .18s,border-color .18s}
.sp-row:hover{transform:translateX(3px);border-color:rgba(169,155,255,.4)}.sp-row.bad{border-color:rgba(255,92,138,.35)}.sp-row.bad b{color:#ff5c8a}
.sp-ok{padding:12px 14px;border-radius:12px;background:rgba(6,214,160,.08);border:1px solid rgba(6,214,160,.3);color:#b6f5e2}
.sp-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.btn.sm{padding:7px 12px;font-size:13px}
/* graphiques : ils se dessinent à l'arrivée, et chaque morceau réagit au survol */
@media (prefers-reduced-motion:no-preference){
.bstack{transform-origin:bottom;animation:growY .7s cubic-bezier(.2,.8,.2,1) both}
.bar:nth-child(n+5) .bstack{animation-delay:.05s}.bar:nth-child(n+10) .bstack{animation-delay:.1s}.bar:nth-child(n+15) .bstack{animation-delay:.15s}
.pl-l i,.tb-bar i.v{transform-origin:left;animation:growX .6s cubic-bezier(.2,.8,.2,1) both}
.pl-h i{animation:fadeIn .5s ease both}}
@keyframes growY{from{transform:scaleY(0)}to{transform:none}}@keyframes growX{from{transform:scaleX(0)}to{transform:none}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.bar{cursor:default}.bar:hover .bstack{filter:brightness(1.25) drop-shadow(0 0 8px rgba(240,138,216,.55))}
.pl-l i:hover,.pl-h i:hover,.tb-bar i.v:hover{filter:brightness(1.35);outline:1px solid rgba(255,255,255,.5);z-index:2}
@media (prefers-reduced-motion:no-preference){.ach-line{stroke-dasharray:1;stroke-dashoffset:1;animation:drawL 1.1s cubic-bezier(.4,0,.2,1) .1s forwards}.ach-area{animation:fadeIn .9s ease .3s both}}
@keyframes drawL{to{stroke-dashoffset:0}}
/* barre du bas : tout le menu, qui défile au doigt */
@media (max-width:899px){.tabbar{max-width:760px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent)}
.tabbar::-webkit-scrollbar{display:none}.tabbar a{flex:0 0 auto;min-width:72px;white-space:nowrap}}
/* Supervision v16 : superviseurs puis shift par shift, logos de liaison, ligne des ventes */
.ol-g{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 4px 6px;margin-top:6px;border-top:1px solid var(--line)}.ol-g:first-of-type{border-top:0}
.ol-g b{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:#c9bfff}.ol-g.sup b{color:#ffd166}.ol-gs{margin-left:auto;display:flex;gap:6px}
.ol-t{display:flex;align-items:center;gap:6px;min-width:0}
.lk{display:inline-flex;gap:3px}.lg{position:relative;width:17px;height:17px;border-radius:5px;display:grid;place-items:center;background:rgba(255,255,255,.05);color:rgba(255,255,255,.55)}
.lg svg{width:13px;height:13px}.lg::after{content:"";position:absolute;right:-2px;bottom:-2px;width:6px;height:6px;border-radius:50%;border:1.5px solid #120e26}
.lg.ok::after{background:#06d6a0;box-shadow:0 0 6px #06d6a0}.lg.no::after{background:#ff5c8a;box-shadow:0 0 6px #ff5c8a}.lg.no{color:rgba(255,92,138,.8)}
.ol-ms{display:flex;flex-wrap:wrap;gap:3px;margin-top:2px}
.mc{display:inline-flex;align-items:center;gap:4px;padding:1px 6px 1px 4px;border-radius:99px;font-size:10.5px;font-weight:600;background:color-mix(in srgb,var(--c) 16%,transparent);border:1px solid color-mix(in srgb,var(--c) 40%,transparent)}
.mc i{width:6px;height:6px;border-radius:50%;background:var(--c);box-shadow:0 0 5px var(--c)}.mc em{font-style:normal;font-size:9px;opacity:.65;letter-spacing:.03em}
.ol-s{display:flex;gap:4px;flex-wrap:wrap;margin-top:2px}
.sv{font-size:10.5px;font-weight:700;padding:1px 6px;border-radius:6px}.sv.of{background:rgba(76,201,240,.13);color:#7fdcff}.sv.mym{background:rgba(240,138,216,.13);color:#ffa8e6}
.pl-l.m i,.pl-leg .m,.pl-sum .m{background:#ffd166}.pl-l.m i{box-shadow:0 0 6px rgba(255,209,102,.55)}
.pl-l.sl{height:9px;background:rgba(255,255,255,.03);overflow:visible}
.pl-l.sl i.tk{width:4px;margin-left:-2px;border-radius:2px;transform-origin:bottom}.tk.hu,.pl-leg .tk.hu{background:#06d6a0;box-shadow:0 0 6px #06d6a0}.tk.ai,.pl-leg .tk.ai{background:#b388ff;box-shadow:0 0 6px #b388ff}
.pl-leg .tk{display:inline-block;width:4px;height:10px;border-radius:2px}
.pl-l.sl i.tk:hover{transform:scaleY(1.6);outline:none}
/* Erreurs */
.efl{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.fchips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.fchips .sep{width:1px;height:20px;background:var(--line);margin:0 4px}
.fchip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border-radius:99px;font-size:12.5px;font-weight:600;text-decoration:none;color:var(--dim);background:rgba(255,255,255,.04);border:1px solid var(--line);transition:all .18s}
.fchip:hover{color:#fff;border-color:rgba(169,155,255,.5)}.fchip.on{color:#fff;background:linear-gradient(135deg,rgba(138,107,255,.35),rgba(240,138,216,.18));border-color:rgba(169,155,255,.6);box-shadow:0 0 14px rgba(138,107,255,.3)}
.fchip em{font-style:normal;font-size:11px;opacity:.7}
.gd{display:inline-block;width:9px;height:9px;border-radius:50%;flex:none}.gd.grave{background:#ff5c8a;box-shadow:0 0 8px #ff5c8a}.gd.moyenne{background:#ffd166;box-shadow:0 0 8px #ffd166}.gd.faible{background:#8f8aa8}
.ebars{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin-bottom:14px}
.eb{display:grid;grid-template-columns:80px 1fr 26px;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;text-decoration:none;color:#fff;font-size:12.5px;background:rgba(255,255,255,.03);border:1px solid transparent;transition:all .18s}
.eb:hover,.eb.on{border-color:rgba(169,155,255,.5);background:rgba(138,107,255,.1)}.eb span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.eb b{text-align:right}
.eb i{height:6px;border-radius:3px;width:var(--w);background:linear-gradient(90deg,#ff5c8a var(--g),#ffd166 var(--g));box-shadow:0 0 8px rgba(255,92,138,.35);transform-origin:left;animation:growX .6s cubic-bezier(.2,.8,.2,1) both}
.elist{display:flex;flex-direction:column;gap:6px}
.er{border-radius:14px;background:var(--card);border:1px solid var(--line);transition:border-color .18s,transform .18s}.er:hover{border-color:rgba(169,155,255,.45);transform:translateX(2px)}
.er.g-grave{border-left:3px solid #ff5c8a}.er.g-moyenne{border-left:3px solid #ffd166}.er.seen{opacity:.55}
.er summary{list-style:none;display:grid;grid-template-columns:auto minmax(0,190px) minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 14px;cursor:pointer}.er summary::-webkit-details-marker{display:none}
.er-w{display:flex;flex-direction:column;gap:3px;min-width:0}.er-w b{font-size:13.5px}
.er q{font-size:13.5px;color:#e9e4ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;quotes:"« " " »"}
.er[open] q{white-space:normal}.er-t{font-size:11.5px;color:var(--dim);white-space:nowrap}
.er-d{padding:0 14px 12px 35px;font-size:13px;animation:vin .3s ease}.er-d p{margin:0 0 6px}
@media (max-width:640px){.er summary{grid-template-columns:auto 1fr auto}.er q{grid-column:2/-1;grid-row:2}}
/* Statistiques */
.seg.stab{margin-top:-4px}
.slist{display:flex;flex-direction:column;gap:6px}
.sr{border-radius:12px;background:rgba(255,255,255,.025);border:1px solid var(--line);transition:border-color .18s,background .18s}
.sr:hover,.sr[open]{border-color:rgba(169,155,255,.45);background:rgba(138,107,255,.06)}
.sr summary{list-style:none;display:grid;grid-template-columns:22px minmax(0,150px) 1fr auto;align-items:center;gap:10px;padding:9px 12px;cursor:pointer}.sr summary::-webkit-details-marker{display:none}
.sr-n{font-size:11.5px;color:var(--dim);text-align:center}
.sr-w{display:flex;align-items:center;gap:7px;min-width:0}.sr-w b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px}.sr-w em{font-style:normal}
.sr-v{display:flex;gap:6px;justify-content:flex-end}
.sbar{height:6px;border-radius:3px;background:rgba(255,255,255,.05);overflow:hidden}.sbar i{display:block;height:100%;width:var(--w);border-radius:3px;background:linear-gradient(90deg,#8a6bff,#f08ad8);box-shadow:0 0 8px rgba(240,138,216,.4);transform-origin:left;animation:growX .6s cubic-bezier(.2,.8,.2,1) both}
.sr-d{padding:2px 12px 12px 44px;animation:vin .3s ease}
.sr-k{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12.5px;color:var(--dim);margin-bottom:8px}.sr-k b{color:#fff}
.sr-l{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);margin:10px 0 4px}
.sr-ch{display:flex;flex-wrap:wrap;gap:6px}
@media (max-width:640px){.sr summary{grid-template-columns:18px 1fr auto}.sr .sbar{grid-column:2/-1;grid-row:2}.sr-d{padding-left:12px}}
.cl-r .mymv{display:block;font-size:12px;color:#ff9ad5}
/* Paiement : Mélanie */
.sec-t{display:flex;align-items:center;gap:10px;font-size:16px;margin:22px 0 10px}
.mel{background:linear-gradient(135deg,rgba(138,107,255,.16),rgba(240,138,216,.07)),var(--card)}
.mel-h{display:flex;align-items:center;justify-content:space-between;gap:10px}.mel-h h2{margin:0;display:flex;align-items:center;gap:10px}.mel-nav{display:flex;gap:6px}
.mel-k{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}
.mel-k>div{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--line);display:flex;flex-direction:column;gap:4px;min-width:0}
.mel-k span{font-size:12px;color:var(--dim)}.mel-k b{font-size:22px}.mel-k em{font-style:normal;font-size:11.5px;color:var(--dim)}
.mel-k .hot{border-color:rgba(240,138,216,.5);box-shadow:0 0 18px rgba(240,138,216,.18)}.mel-k .hot b{color:#ffb3e6}
.mel-t{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}.mel-t i{font-style:normal;text-align:center;font-size:12px;font-weight:700;padding:6px 0;border-radius:8px;background:rgba(255,255,255,.04);color:var(--dim)}
.mel-t i.past{color:#cfc6ff;background:rgba(138,107,255,.14)}.mel-t i.on{color:#fff;background:linear-gradient(135deg,#8a6bff,#f08ad8);box-shadow:0 0 14px rgba(240,138,216,.45)}
.mel-p{margin-top:8px}
@media (max-width:640px){.mel-k{grid-template-columns:1fr}}
.inb.ro td{vertical-align:middle}.inb.ro td .chip{margin:2px}
/* Équipe : comparatif des accès */
.acl{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:6px}.acl li{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.03)}
.acd summary{cursor:pointer;font-size:13px;color:var(--dim);padding:6px 0}.act td{text-align:center}.act tr.off th{opacity:.55}
.ac{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:12px;font-weight:700}.ac svg{width:13px;height:13px}
.ac.ok{background:rgba(64,214,140,.16);color:#5ef0a6;box-shadow:0 0 8px rgba(64,214,140,.3)}.ac.no{background:rgba(255,92,138,.14);color:#ff7aa0}.ac.na{color:var(--dim)}
/* Candidats compacts */
.cand.cz{padding:0}.cand.cz>*:not(summary){margin-left:16px;margin-right:16px}.cand.cz[open]{padding-bottom:14px}
.cz-s{list-style:none;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) auto auto 16px;align-items:center;gap:10px;padding:12px 16px;cursor:pointer}.cz-s::-webkit-details-marker{display:none}
.cz-s .cname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cz-f{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cz-p{display:flex;gap:4px;flex-wrap:wrap}
.cz-s .chev{transition:transform .2s}.cand.cz[open] .cz-s .chev{transform:rotate(90deg)}
@media (max-width:640px){.cz-s{grid-template-columns:1fr auto 16px}.cz-f{grid-column:1/-1;grid-row:2}.cz-p{grid-column:1/-1;grid-row:3}.cz-s>.dim.sm:not(.cz-f){display:none}}
.er-q{display:flex;flex-direction:column;gap:3px;min-width:0}.er-r{font-size:12px;color:#ffb3c9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.er[open] .er-r{white-space:normal}
@media (max-width:640px){.er-q{grid-column:2/-1;grid-row:2}}

/* Bandeau « plus de crédit » (Substy, MyFeed) : direction seulement, un toucher pour recharger */
.crd{display:flex;align-items:center;gap:12px;margin:0 0 12px;padding:12px 14px;border-radius:14px;background:rgba(255,190,60,.1);border:1px solid rgba(255,190,60,.45);color:inherit;text-decoration:none}
.crd>svg{width:22px;height:22px;flex:none;color:#ffbe3c}
.crd>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.crd small{opacity:.75}
.crd em{font-style:normal;font-weight:700;white-space:nowrap;display:flex;align-items:center;gap:5px;padding:7px 11px;border-radius:10px;background:#ffbe3c;color:#1a1200}
.crd em svg{width:14px;height:14px}
.crd.red{background:rgba(255,45,85,.12);border-color:rgba(255,45,85,.6);box-shadow:0 0 18px rgba(255,45,85,.25)}
.crd.red>svg{color:#ff2d55}.crd.red em{background:#ff2d55;color:#fff}
@media (max-width:560px){.crd{flex-wrap:wrap}.crd em{width:100%;justify-content:center}}

/* SFS : messages et photos à copier pour les partenaires */
.sfs-all{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}
.sfs-all pre,.sfs-tx pre{margin:0;white-space:pre-wrap;font:13px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:10px 12px}
.sfs-all pre{max-height:220px;overflow:auto}
.sfs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.sfs-m{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);min-width:0}
.sfs-pics{display:flex;gap:8px}
.sfs-ph{display:block;border-radius:12px;overflow:hidden;flex:none;width:88px;height:88px;background:rgba(255,255,255,.05)}
.sfs-ph.ban{flex:1;width:auto}
.sfs-ph.av{width:72px;height:72px;border-radius:50%}
.sfs-ph img{width:100%;height:100%;object-fit:cover;display:block}
.sfs-noph{display:flex;align-items:center;gap:6px;opacity:.6}
.sfs-tx{display:flex;flex-direction:column;gap:8px;min-width:0}
.sfs-tx>b small{opacity:.6;font-weight:500}
.sfs-k{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.sfs-k span{display:flex;flex-direction:column;align-items:center;padding:6px 4px;border-radius:9px;background:rgba(255,255,255,.04);font-size:11px;opacity:.85;text-align:center}
.sfs-k b{font-size:15px}
.sfs-bt{display:flex;flex-wrap:wrap;gap:8px}
.sfs-cp{align-self:flex-start}

/* Supervision (vue d'un jour) : une carte par personne, frise en pleine largeur, chiffres lisibles sur téléphone */
.svl .svc{display:flex;flex-direction:column;gap:10px;padding:12px;margin:8px 0;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);color:inherit;text-decoration:none;transition:border-color .2s,background .2s}
.svl .svc.on{border-color:rgba(52,211,153,.45);box-shadow:0 0 16px rgba(52,211,153,.12)}
.svc-h{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}
.svc-h>b{font-size:16px}
.svc-s{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.svc-m{display:flex;flex-wrap:wrap;gap:6px}
.svk{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.sk{display:flex;flex-direction:column;gap:2px;padding:7px 8px;border-radius:10px;background:rgba(255,255,255,.04);min-width:0}
.sk small{font-size:10.5px;opacity:.6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sk b{font-size:15px;line-height:1.2}
.sk em{font-style:normal;font-size:11px;font-weight:700}
.sk em.up{color:#34d399}.sk em.dn{color:#ff5470}
.sk.msg{background:rgba(160,120,255,.09)}
.svc-b{position:relative;padding-top:16px}
.svc-b .pl-ax{top:0}
.svl .ol-g{margin-top:14px}
@media (max-width:560px){.svk{grid-template-columns:repeat(2,minmax(0,1fr))}.svc-s{margin-left:0;width:100%}}
@media (min-width:1100px){.svl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:12px;align-items:start}.svl>:not(.svc){grid-column:1/-1}}
.sfs-pres{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:14px 0}
.sfs-p{display:flex;flex-direction:column;border-radius:18px;overflow:hidden;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);min-width:0}
.sfs-big{aspect-ratio:4/5;background:rgba(255,255,255,.05);overflow:hidden}
.sfs-big img{width:100%;height:100%;object-fit:cover;display:block}
.sfs-big.none{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:.55;aspect-ratio:3/2}
.sfs-pb{display:flex;flex-direction:column;gap:10px;padding:12px 14px 14px}
.sfs-pt{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.sfs-pt b{font-size:17px}
.sfs-pt small{opacity:.6}
.sfs-cap{white-space:pre-wrap;font-size:14px;line-height:1.5;padding:12px 14px;border-radius:14px 14px 14px 4px;background:linear-gradient(160deg,rgba(64,110,180,.35),rgba(40,70,130,.28));border:1px solid rgba(120,160,230,.25)}
.sfs-ed summary{cursor:pointer;font-size:13px;opacity:.75;padding:4px 0}
.sfs-ed form{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.sfs-ed textarea{width:100%;box-sizing:border-box;font:inherit;font-size:14px;line-height:1.45;padding:10px;border-radius:12px;background:rgba(0,0,0,.25);color:inherit;border:1px solid rgba(255,255,255,.12)}
.sfs-ed pre{margin:6px 0 8px}
@media (max-width:520px){.sfs-pres{grid-template-columns:1fr}}

/* Messages : citer, réagir, barre de défilement aux couleurs du site */
.msg{position:relative}
.msg .rq{display:block;margin:2px 0 6px;padding:6px 9px;border-left:3px solid var(--lav);border-radius:8px;background:rgba(0,0,0,.22);font-size:12.5px;color:inherit;text-decoration:none;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.msg .rq b{display:block;font-size:11px;color:var(--lav)}
.msg .rx{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.msg .rx:empty{display:none}
.rxc{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);color:inherit;border-radius:999px;padding:2px 8px;font-size:13px;cursor:pointer;line-height:1.4}
.rxc.me{border-color:rgba(169,155,255,.7);background:rgba(138,107,255,.28)}.rxc b{font-size:11px}
.mact{position:absolute;top:-14px;right:8px;display:none;gap:4px;padding:3px;border-radius:999px;background:#1d1830;border:1px solid rgba(169,155,255,.35);box-shadow:0 4px 14px rgba(0,0,0,.4)}
.msg.mine .mact{right:auto;left:8px}
.msg:hover .mact,.msg.sel .mact{display:flex}
@media (hover:none){.msg:hover .mact{display:none}.msg.sel .mact{display:flex}}
.mact button{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:transparent;color:var(--lav);cursor:pointer}
.mact button:hover{background:rgba(138,107,255,.25)}.mact svg{width:16px;height:16px}
.pick{position:absolute;top:18px;right:8px;z-index:3;display:flex;gap:2px;padding:4px;border-radius:999px;background:#1d1830;border:1px solid rgba(169,155,255,.35);box-shadow:0 6px 20px rgba(0,0,0,.5)}
.msg.mine .pick{right:auto;left:8px}
.pick button{width:34px;height:34px;border:0;border-radius:50%;background:transparent;font-size:19px;cursor:pointer}.pick button:hover{background:rgba(255,255,255,.1)}
.msg.flash{animation:msgflash 1.4s ease}
@keyframes msgflash{0%,60%{box-shadow:0 0 0 2px var(--lav),0 0 24px rgba(138,107,255,.6)}100%{box-shadow:none}}
.replybar{display:flex;align-items:center;gap:10px;margin:0 10px;padding:8px 10px;border-left:3px solid var(--lav);border-radius:10px 10px 0 0;background:rgba(138,107,255,.12);font-size:13px}
.replybar[hidden]{display:none}
.replybar>svg{width:18px;height:18px;color:var(--lav);flex:none}.replybar div{flex:1;min-width:0;display:flex;flex-direction:column}
.replybar b{font-size:11.5px;color:var(--lav)}.replybar span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:.85}
.replybar button{display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:50%;background:rgba(255,255,255,.08);color:inherit;cursor:pointer}.replybar button svg{width:14px;height:14px}
*{scrollbar-width:thin;scrollbar-color:rgba(138,107,255,.55) transparent}
::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,rgba(169,155,255,.75),rgba(106,75,224,.75));border-radius:999px;border:2px solid transparent;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#b9acff,#7a5cf0);background-clip:padding-box;border:2px solid transparent}
.refc{display:flex;gap:14px;align-items:flex-start;border-color:rgba(6,214,160,.35);background:linear-gradient(135deg,rgba(6,214,160,.10),rgba(138,107,255,.08))}
.refc>div{display:flex;flex-direction:column;gap:6px;min-width:0}.refc .refv{color:#06d6a0}.refc .actions{margin-top:4px}
/* paie : primes de la semaine et écarts à trancher */
.pay .row.sub{font-size:13px;color:var(--dim);padding:2px 0 2px 12px}
.warnb{display:flex;gap:8px;align-items:flex-start;margin:10px 0;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,181,71,.4);background:rgba(255,181,71,.08);font-size:13.5px}.warnb .ic{flex:none;color:var(--warn)}
.ecarts{display:grid;gap:6px;margin:6px 0}
.ec{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:12px;background:var(--card2);border:1px solid var(--line);font-size:13px}.ec>span{flex:1;min-width:0}
.ec.pend{border-color:rgba(255,181,71,.5);background:rgba(255,181,71,.07)}
.ec .yn{display:flex;gap:6px;margin:0}.ec .yn .ok{border-color:rgba(61,220,151,.5);color:var(--ok)}
.ec-add summary{cursor:pointer;font-size:13px;color:var(--lav);display:flex;gap:6px;align-items:center;list-style:none}.ec-add summary::-webkit-details-marker{display:none}
.ec-add form{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.ec-add select,.ec-add input{flex:1 1 160px;margin:0}
.push{margin:10px 0;padding:12px 14px;border-radius:16px;border:1px solid var(--line2);background:linear-gradient(135deg,rgba(138,107,255,.16),rgba(240,138,216,.1));font-size:14px}
/* supervision : chaque shift dans son cadre */
.ol-grp{margin:12px 0 4px;padding:4px 10px 8px;border-radius:16px;border:1px solid var(--line2);background:linear-gradient(180deg,rgba(138,107,255,.09),rgba(138,107,255,.02))}
.ol-grp .ol-g{border-top:0;margin-top:0;padding-top:10px}.ol-grp .ol-g b{font-size:14px;letter-spacing:.04em;color:#fff}
.ol-grp.live{border-color:rgba(61,220,151,.55);box-shadow:0 0 0 1px rgba(61,220,151,.2),0 0 22px rgba(61,220,151,.12)}
.ol-grp.live .ol-g b::after{content:"EN COURS";margin-left:8px;font-size:10px;padding:2px 7px;border-radius:99px;background:rgba(61,220,151,.18);color:var(--ok);letter-spacing:.08em}
.sfs-both{width:100%;justify-content:center;margin:8px 0 4px}
.sfs-msg{border-color:var(--line2)}.sfs-msg-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.sfs-msg-h h2{margin:0}
.sfs-msg pre{white-space:pre-wrap;font:14px/1.55 -apple-system,system-ui,sans-serif;background:var(--card2);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin:10px 0 4px;max-height:420px;overflow:auto}
/* candidats : tout le formulaire visible à l'ouverture */
.qa-all{margin:12px 0;padding:12px 14px;border-radius:16px;background:var(--card2);border:1px solid var(--line)}
.qa-all h4{margin:0 0 6px;display:flex;align-items:center;gap:6px;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#c9bfff}
.qa-all .qa{padding:8px 0;border-bottom:1px dashed var(--line)}.qa-all .qa:last-child{border:0}
.qa-all .qa>span{display:block;font-size:12px;color:var(--dim)}.qa-all .qa p{margin:2px 0 0;white-space:pre-wrap}
.btn.off{opacity:.45;pointer-events:none}
/* Fiche membre : tous ses comptes alignés, une ligne chacun */
.acc { padding: 4px 16px; }
.acc-r { display: grid; grid-template-columns: 20px 110px 1fr 8px; align-items: center; gap: 10px; padding: 11px 0; border-bottom: 1px solid var(--line, rgba(255,255,255,.07)); font-size: 14px; }
.acc-r:last-child { border-bottom: 0; }
.acc-r svg { width: 18px; height: 18px; opacity: .55; }
.acc-r span { opacity: .6; }
.acc-r b { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: flex; align-items: center; gap: 6px; min-width: 0; }
.acc-r.no b { font-weight: 500; opacity: .45; }
.acc-r i { width: 8px; height: 8px; border-radius: 50%; background: #2ecc71; box-shadow: 0 0 8px rgba(46,204,113,.6); }
.acc-r.no i { background: #ff2d55; box-shadow: 0 0 8px rgba(255,45,85,.6); }
.acc-r .mini.xs { padding: 2px 6px; min-height: 0; }
.acc-r .mini.xs svg { width: 13px; height: 13px; opacity: .8; }
@media (max-width: 420px) { .acc-r { grid-template-columns: 18px 84px 1fr 8px; gap: 8px; font-size: 13px; } }
/* Supervision : chaque ligne porte son nom à gauche (Charles, 23 oct. 2026) */
.pl-l.c i,.pl-leg .c,.lv .c,.pl-sum .c{background:#c86bff}.pl-l.c i{box-shadow:0 0 6px rgba(200,107,255,.55)}
.pl-l.mo i,.pl-leg .mo,.lv .mo,.pl-sum .mo{background:#ffd166}.pl-l.mo i{box-shadow:0 0 6px rgba(255,209,102,.5)}
.pl-l.m i,.pl-leg .m,.pl-sum .m{background:#ff9f43}.pl-l.m i{box-shadow:0 0 6px rgba(255,159,67,.55)}
.pl-h.c i::after{background:#c86bff}.pl-h.mo i::after{background:#ffd166}.pl-h.m i::after{background:#ff9f43}
.plw{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}
.pl-ks{display:grid;gap:4px;padding-top:20px;font-size:10.5px;line-height:10px;color:rgba(255,255,255,.6);white-space:nowrap}
.pl-ks span{display:flex;align-items:center;gap:5px;height:10px}
.pl-ks span::before{content:'';width:6px;height:6px;border-radius:50%;flex:none;background:#4cc9f0}
.pl-ks .s::before{background:#8a6bff}.pl-ks .a::before{background:#f08ad8}.pl-ks .c::before{background:#c86bff}.pl-ks .mo::before{background:#ffd166}.pl-ks .m::before{background:#ff9f43}
.pl-ks .sl::before{background:linear-gradient(90deg,#06d6a0 50%,#b388ff 50%)}
.plc{position:relative;padding-top:16px;min-width:0}
.plc .pl-ax{position:absolute;top:0;left:0;right:0}
.plw .pl{gap:4px}.plw .pl-l{height:10px}.plw .pl-l.sl{height:10px}
.svc-b{padding-top:0}
/* modèles de la personne : emoji, ses ventes (petit humain) et celles de l'IA */
.mxs{display:flex;flex-wrap:wrap;gap:6px;margin-left:auto}
.mx{display:inline-flex;align-items:center;gap:7px;padding:4px 9px;border-radius:10px;font-size:12px;background:color-mix(in srgb,var(--c) 14%,transparent);border:1px solid color-mix(in srgb,var(--c) 45%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--c) 18%,transparent)}
.mx>b{font-size:13px;font-weight:700}
.mx>em{font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.04em;opacity:.65}
.mx-h,.mx-a{display:inline-flex;align-items:center;gap:3px;font-weight:700;font-size:12px}
.mx-h{color:#06d6a0}.mx-h svg{width:13px;height:13px}
.mx-a{color:#b388ff}
.mx .z{opacity:.4}
@media (max-width:560px){.mxs{margin-left:0;width:100%}}
/* Messages : recherche, filtres, tri */
.msearch{display:flex;align-items:center;gap:10px;padding:10px 14px;margin:0 0 10px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09)}
.msearch:focus-within{border-color:rgba(255,60,90,.55);box-shadow:0 0 14px rgba(255,60,90,.15)}
.msearch svg{width:18px;height:18px;opacity:.55;flex:none}
.msearch input{flex:1;min-width:0;background:none;border:0;outline:0;color:inherit;font:inherit;padding:0}
.mfilters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 12px}
.mfilters .seg em{font-style:normal;font-size:10px;font-weight:700;padding:0 6px;border-radius:99px;background:#ff2d55;color:#fff;margin-left:4px}
.mfilters form{margin-left:auto}
.thread>small{white-space:nowrap;font-size:11px}
.thread small.wait{font-size:10.5px;font-weight:600;color:#ffb347;margin-left:6px}
.thread.hit mark{background:rgba(255,60,90,.3);color:#fff;border-radius:3px;padding:0 2px}
.msg.flash{animation:msgFlash 2.4s ease}
@keyframes msgFlash{0%,40%{box-shadow:0 0 0 2px #ff3c5a,0 0 18px rgba(255,60,90,.5)}100%{box-shadow:none}}
.mfilters .seg.per{margin:0;flex:0 1 auto}
.tourgrid>div{grid-template-columns:auto 1fr;align-items:center}
.tourgrid>div>p{margin:0;display:flex;flex-direction:column;gap:3px;min-width:0}
.tourgrid>div>p span{font-size:12.5px;color:var(--dim)}
.tourgrid .tile{grid-row:auto}
.ec-w{display:block;margin-top:3px;font-size:11.5px;font-weight:600}
.ec-w.ok{color:#3ddc97}.ec-w.no{color:#ff6b81}.ec-w.mid{color:#ffb347}
/* Supervision (23 oct.) : écarts à droite de « depuis », shift en cours bien visible */
.pl-ks .slk::before{background:linear-gradient(90deg,#06d6a0 50%,#b388ff 50%)}
.rflags{display:flex;flex-wrap:wrap;gap:5px}
.rf{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;padding:3px 9px 3px 7px;border-radius:99px;border:1px solid}
.rf .ic{width:12px;height:12px}
.rf.bad{color:#ff6b8b;background:rgba(255,77,109,.12);border-color:rgba(255,77,109,.45);box-shadow:0 0 12px rgba(255,77,109,.18)}
.rf.warn{color:#ffd166;background:rgba(255,209,102,.1);border-color:rgba(255,209,102,.4)}
.svc-h .mxs{flex-basis:100%}
.ol-grp.live{position:relative;border:1.5px solid rgba(61,220,151,.85);background:linear-gradient(180deg,rgba(61,220,151,.12),rgba(61,220,151,.02) 40%);animation:shiftglow 2.6s ease-in-out infinite;scroll-margin-top:80px}
@keyframes shiftglow{0%,100%{box-shadow:0 0 0 1px rgba(61,220,151,.25),0 0 18px rgba(61,220,151,.18)}50%{box-shadow:0 0 0 3px rgba(61,220,151,.18),0 0 38px rgba(61,220,151,.38)}}
.ol-grp.live .ol-g b{font-size:16px}
.ol-grp.live .ol-g b::after{font-size:11px;padding:3px 9px;background:var(--ok);color:#06231a;box-shadow:0 0 14px rgba(61,220,151,.6)}
.goshift{display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;padding:9px 16px;border-radius:99px;font-weight:700;font-size:13.5px;color:#06231a;background:linear-gradient(135deg,#3ddc97,#06d6a0);box-shadow:0 0 22px rgba(61,220,151,.45);text-decoration:none}
.goshift .ic{width:15px;height:15px}.goshift .ol-dot{background:#06231a!important;box-shadow:none}
html{scroll-behavior:auto}
/* logos OF / MYM dessinés */
.plogo{width:20px;height:20px;flex:none;vertical-align:middle;filter:drop-shadow(0 0 6px rgba(0,0,0,.25))}
.plogo.xs{width:14px;height:14px;margin-right:4px;vertical-align:-2px}
h2 .plogo{width:24px;height:24px;margin-right:2px}
.toc[data-spy] a .plogo{width:16px;height:16px}
.sbar.of i{background:linear-gradient(90deg,#00AFF0,#5fd4ff)!important}.sbar.mym i{background:linear-gradient(90deg,#ff3d77,#ff7a45)!important}
.sec.of{border-color:rgba(0,175,240,.35)}.sec.mym{border-color:rgba(255,79,109,.35)}
.card.sec,.card[id],.ol-grp[id]{scroll-margin-top:84px}
.sv.hot{color:#ff9f43;font-size:11.5px}
.sr-w .plogo{margin-right:2px}
.nlg{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.nl{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.nl.of{border-color:rgba(0,175,240,.35);background:rgba(0,175,240,.06)}.nl.mym{border-color:rgba(255,79,109,.35);background:rgba(255,79,109,.06)}
.nl span{margin-left:auto;font-size:12.5px;color:var(--dim)}.nl span b{color:#ff9f43;font-size:15px}
.more-l{margin-top:6px}.more-l>summary{cursor:pointer;list-style:none;display:inline-flex;font-size:12.5px;font-weight:600;color:var(--lav);padding:6px 12px;border-radius:99px;border:1px solid var(--line);background:rgba(255,255,255,.03)}.more-l>summary::-webkit-details-marker{display:none}.more-l[open]>summary{margin-bottom:6px}
.hint.top{margin:-4px 0 10px}
.seg.mf{flex-wrap:wrap}
.mchip .plogo.xs{margin-right:3px}
/* Classement : podium et pénalités possibles */
.podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:10px;align-items:end;margin:4px 0 14px}
.pod{display:flex;flex-direction:column;align-items:center;gap:3px;padding:14px 8px 12px;border-radius:18px;text-decoration:none;color:var(--text);border:1px solid var(--line2);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));text-align:center}
.pod.p1{padding-top:22px;border-color:rgba(255,209,102,.7);background:linear-gradient(180deg,rgba(255,209,102,.2),rgba(255,209,102,.03));box-shadow:0 0 28px rgba(255,209,102,.25)}
.pod.p2{border-color:rgba(200,210,230,.5);background:linear-gradient(180deg,rgba(200,210,230,.14),rgba(200,210,230,.02))}
.pod.p3{border-color:rgba(205,127,50,.55);background:linear-gradient(180deg,rgba(205,127,50,.16),rgba(205,127,50,.02))}
.pod.z{opacity:.55}
.pod-m{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#1a1330;background:#ffd166}.p2 .pod-m{background:#d6dbe6}.p3 .pod-m{background:#d08a4a}
.pod b{font-size:15px}.pod-v{font-size:12.5px;color:var(--dim)}
.pod-b{margin-top:4px;font-weight:800;font-size:15px;color:#3ddc97;text-shadow:0 0 12px rgba(61,220,151,.5)}
.pod small{font-size:11px;color:var(--dim)}
.card.risk{border-color:rgba(255,77,109,.35)}
.rk-l{display:flex;flex-direction:column;gap:6px}.rk-p{display:flex;flex-wrap:wrap;align-items:center;gap:6px;text-decoration:none;color:var(--text);padding:6px 4px}
.rk-p>b{min-width:80px}.rf.sm{font-size:10.5px;padding:1px 6px;margin-left:4px}
/* Paiement : Mélanie motivée, chatters en équation visuelle et plus compacts */
.mel-next{position:relative;display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:4px 10px;margin:4px 0 14px;padding:16px 18px;border-radius:18px;border:1px solid rgba(61,220,151,.55);background:linear-gradient(135deg,rgba(61,220,151,.18),rgba(138,107,255,.12));box-shadow:0 0 30px rgba(61,220,151,.18)}
.mel-next>b{font-size:30px;font-weight:800;color:#3ddc97;text-shadow:0 0 18px rgba(61,220,151,.55)}
.mel-n1{font-size:13px;color:var(--dim)}.mel-n2{font-size:15px}.mel-n2 b{color:#fff}
.mel-next .pbar{grid-column:1/-1;margin:8px 0 2px}.mel-next small{grid-column:1/-1;font-size:11.5px;color:var(--dim)}
.mel-next.max{display:block;text-align:center}.mel-next.max b{font-size:20px}
.pbar.big{height:12px;border-radius:6px}.pbar.big i{background:linear-gradient(90deg,#3ddc97,#8a6bff);box-shadow:0 0 14px rgba(61,220,151,.6);border-radius:6px}
.mel-split{display:flex;gap:4px;margin-top:6px}
.ms{display:flex;align-items:center;gap:2px;min-width:max-content;font-size:12px;font-weight:700;padding:5px 8px;border-radius:9px}
.ms.of{background:rgba(0,175,240,.16);color:#7fdcff;border:1px solid rgba(0,175,240,.4)}.ms.mym{background:rgba(255,79,109,.14);color:#ffa0b4;border:1px solid rgba(255,79,109,.4)}
.ms em{font-style:normal;opacity:.7;margin-left:4px;font-weight:600}
.paycard{padding:12px 14px}.paycard .pt{margin-bottom:6px}.paycard .pm{margin:4px 0}
.pq{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin:6px 0}
.pq>i{font-style:normal;font-weight:800;color:var(--dim);font-size:14px}
.pq-c{display:inline-flex;flex-direction:column;align-items:center;line-height:1.15;padding:5px 10px;border-radius:11px;border:1px solid var(--line2);background:rgba(255,255,255,.04);font-weight:700;font-size:13px}
.pq-c small{font-size:9.5px;font-weight:600;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}
.pq-c.s{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:2px;max-width:100%}.pq-c.s small{width:100%;text-align:center}.pq-c.s i{font-style:normal;margin:0 4px;color:var(--dim)}
.pq-c.r{border-color:rgba(138,107,255,.5);background:rgba(138,107,255,.12)}
.pq-c.b{border-color:rgba(61,220,151,.5);background:rgba(61,220,151,.1);color:#3ddc97}
.pq-c.m{border-color:rgba(255,77,109,.5);background:rgba(255,77,109,.1);color:#ff6b8b}
.pq-c.t{border-color:rgba(255,209,102,.6);background:linear-gradient(135deg,rgba(255,209,102,.2),rgba(255,209,102,.06));color:#ffd166;font-size:15px;box-shadow:0 0 16px rgba(255,209,102,.18)}
.pq .mini{margin-left:auto}
/* Candidatures : boutons-icônes, parrain, formulaire en tuiles */
.contact.ic3{display:flex;gap:10px;flex-wrap:wrap}
.cbt{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:99px;font-weight:700;font-size:13.5px;cursor:pointer;color:#fff;border:1px solid var(--line2);background:rgba(255,255,255,.05);font-family:inherit}
.cbt .ic{width:18px;height:18px}
.cbt.tg{background:linear-gradient(135deg,#2aabee,#229ed9);border-color:transparent;box-shadow:0 0 16px rgba(42,171,238,.35)}
.cbt.ds{background:linear-gradient(135deg,#5865f2,#4752c4);border-color:transparent;box-shadow:0 0 16px rgba(88,101,242,.35)}
.cbt.ia{background:linear-gradient(135deg,rgba(138,107,255,.55),rgba(240,138,216,.45));border-color:transparent;box-shadow:0 0 16px rgba(138,107,255,.35)}
.cbt.off{opacity:.4;cursor:default}.cbt.busy{opacity:.6;pointer-events:none}
.parr{display:flex;align-items:center;gap:10px;margin:10px 0;padding:9px 12px;border-radius:14px;text-decoration:none;color:var(--text);border:1px solid rgba(255,209,102,.45);background:linear-gradient(135deg,rgba(255,209,102,.14),rgba(255,209,102,.03))}
.parr-av{width:34px;height:34px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;color:#1a1330;background:linear-gradient(135deg,#ffd166,#ff9f43)}
.parr small{display:block;font-size:10.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.05em}.parr b{font-size:14.5px}
.parr-b{margin-left:auto;font-size:12px;font-weight:700;color:#ffd166}
.facts span{font-weight:600;background:rgba(138,107,255,.1);border-color:rgba(138,107,255,.3)}
.qa-all{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;padding:12px}
.qa-all h4{grid-column:1/-1}
.qa-all .qa{padding:8px 10px;border:1px solid var(--line)!important;border-radius:12px;background:rgba(255,255,255,.03)}
.qa-all .qa>span{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.qa-all .qa p{font-size:13px;font-weight:600;max-height:7.5em;overflow:auto}
/* Supervision compacte (23 oct. soir) : infos au-dessus des lignes sur moins de hauteur */
.svl .svc{gap:6px;padding:10px 12px}
.svc-h{gap:5px 8px}.svc-h .mxs{flex-basis:auto}
.svc-h>b{font-size:15px}
.rf{font-size:11px;padding:2px 8px 2px 6px}
.mx{padding:2px 8px;font-size:11.5px;gap:5px}
.svk{display:flex;flex-wrap:wrap;gap:5px}
.sk{flex-direction:row;align-items:baseline;gap:6px;padding:3px 9px;border-radius:8px}
.sk small{font-size:10.5px}.sk b{font-size:13px}.sk em{font-size:10.5px}
/* SFS compact (23 oct. soir) : 5 cartes par ligne, deux boutons séparés */
.sfs-pres{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
@media (max-width:1300px){.sfs-pres{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:1050px){.sfs-pres{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:720px){.sfs-pres{grid-template-columns:repeat(2,minmax(0,1fr))}}
.sfs-p{border-radius:14px}
.sfs-big{aspect-ratio:1/1}
.sfs-pb{gap:7px;padding:9px 10px 10px}
.sfs-pt b{font-size:14.5px}.sfs-pt small{font-size:11px}
.sfs-cap{font-size:11.5px;line-height:1.4;padding:8px 9px;max-height:120px;overflow:auto;border-radius:10px 10px 10px 3px}
.sfs-bt2{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.sfs-b{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:8px 6px;border-radius:10px;font:inherit;font-size:12.5px;font-weight:700;color:#fff;cursor:pointer;border:1px solid transparent}
.sfs-b .ic{width:15px;height:15px}
.sfs-b.ph{background:linear-gradient(135deg,rgba(138,107,255,.6),rgba(106,75,224,.5))}.sfs-b.tx{background:linear-gradient(135deg,rgba(64,110,180,.65),rgba(40,70,130,.55))}
.sfs-b:active{transform:scale(.97)}
.sfs-k2{display:flex;flex-wrap:wrap;gap:4px}
.sfs-k2 span{font-size:10.5px;padding:2px 6px;border-radius:6px;background:rgba(255,255,255,.05);color:var(--dim);white-space:nowrap}.sfs-k2 b{color:var(--text);font-size:11.5px}
.sfs-ed summary{font-size:11.5px}
.sfs-b.ok{background:linear-gradient(135deg,#3ddc97,#06d6a0);color:#06231a}

/* ===== Messages : conversations à gauche, mentions (23 oct. 2026) ===== */
.mlay{display:grid;grid-template-columns:290px minmax(0,1fr);gap:14px;align-items:start}
.mside{position:sticky;top:16px;display:flex;flex-direction:column;gap:8px;height:calc(100dvh - 92px);padding:10px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.mfind{display:flex;align-items:center;gap:8px;padding:0 10px;height:38px;border-radius:12px;background:rgba(0,0,0,.25);border:1px solid var(--line)}.mfind .ic{width:15px;height:15px;color:var(--dim)}
.mfind input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--text);font:inherit;font-size:13.5px;padding:0}
.mside .threads{overflow-y:auto;gap:2px;scrollbar-width:thin}
.mside .thread{padding:8px;gap:9px}.mside .thread .av{width:32px;height:32px;font-size:13px}.mside .thread b{font-size:13.5px}.mside .thread .dim{font-size:12px}
.mside .thread small.wait{display:block;margin:2px 0 0}.mside .thread>small{display:none}
.thread.cur{background:linear-gradient(135deg,rgba(138,107,255,.3),rgba(106,75,224,.14));box-shadow:inset 0 0 0 1px rgba(138,107,255,.4)}
.chead{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 10px}.chead b{font-size:22px;font-weight:800}.chead .back{margin:0}
.split .chatbox{height:calc(100dvh - 170px)}
@media (min-width:700px){.split .chead .back{display:none}}
@media (max-width:699px){.mlay{display:block}.mside{display:none}}
.chatbox{position:relative}
.mpop{position:absolute;left:12px;bottom:64px;z-index:5;display:flex;flex-direction:column;gap:2px;min-width:200px;padding:5px;border-radius:14px;background:rgba(20,15,52,.97);border:1px solid var(--line2);box-shadow:0 14px 40px rgba(0,0,0,.5)}
.mpop button{display:flex;align-items:center;gap:9px;padding:7px 10px;border:0;border-radius:10px;background:none;color:var(--text);font:inherit;font-size:14px;text-align:left;cursor:pointer}
.mpop button.on,.mpop button:hover{background:rgba(138,107,255,.3)}.mpop .av{width:24px;height:24px;font-size:11px}
.mention{color:#c9b8ff;font-weight:700;background:rgba(138,107,255,.18);border-radius:6px;padding:0 3px}.mention.me{color:#fff;background:linear-gradient(135deg,rgba(240,138,216,.45),rgba(138,107,255,.45))}

/* ===== petit écran : barre latérale d'icônes à gauche, plus de barre en bas (23 oct. 2026) ===== */
.rail-x{display:none}
@media (max-width:899px){
  .tabbar{display:none!important}
  .side{transform:none;width:60px;padding:12px 7px;padding-top:max(12px,env(safe-area-inset-top));gap:10px;box-shadow:none;transition:width .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s}
  .side .brand{padding:0;justify-content:center}.side .brand span{display:none}
  .rail-x{display:grid;place-items:center;height:40px;border:0;border-radius:12px;background:rgba(255,255,255,.05);color:var(--text);cursor:pointer}.rail-x .ic{width:20px;height:20px}
  .snav .sg{font-size:0;height:1px;margin:7px 8px;background:var(--line)}
  .snav a{justify-content:center;padding:11px 0}.snav a span{display:none}
  .snav em{position:absolute;top:3px;right:2px;min-width:16px;height:16px;font-size:9.5px;padding:0 4px;margin:0}
  .me{padding:4px;justify-content:center}.me-id{flex:none}.me-id>span:last-child,.me form{display:none}
  body.drawer .side{width:min(280px,86vw);padding:16px 12px 12px;box-shadow:30px 0 80px rgba(0,0,0,.6)}
  body.drawer .side .brand{justify-content:flex-start;padding:0 6px}body.drawer .side .brand span{display:inline}
  body.drawer .snav .sg{font-size:10.5px;height:auto;margin:14px 10px 4px;background:none}
  body.drawer .snav a{justify-content:flex-start;padding:10px 12px}body.drawer .snav a span{display:inline}
  body.drawer .snav em{position:static;margin-left:auto}
  body.drawer .me{padding:8px;justify-content:flex-start}body.drawer .me-id{flex:1}body.drawer .me-id>span:last-child{display:flex}body.drawer .me form{display:block}
  body.app .shell{margin-left:60px}
  .top{margin-left:60px}.top .brand{display:none}
  body.app .wrap{padding:16px 12px 40px}
  .chatpage .wrap{padding-bottom:20px}
  .actions.sticky{bottom:14px}.toast{bottom:24px}
}
.mside .thread[hidden]{display:none}

/* ===== Affiliation (23 oct. 2026) ===== */
.aff-hero{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:radial-gradient(120% 140% at 0% 0%,rgba(240,138,216,.22),transparent 60%),radial-gradient(120% 140% at 100% 100%,rgba(138,107,255,.25),transparent 60%),var(--card);border-color:rgba(240,138,216,.35)}
.aff-big{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.aff-big>span:last-child{color:var(--dim);font-weight:600}
.aff-amt{font-size:46px;font-weight:900;letter-spacing:-.03em;background:linear-gradient(90deg,#fff,var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 18px rgba(240,138,216,.45))}
.aff-me{padding:8px 14px;border-radius:99px;background:rgba(61,220,151,.12);border:1px solid rgba(61,220,151,.4);font-size:14px}
.aff-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}
.aff-s{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px;border-radius:18px;background:var(--card);border:1px solid var(--line)}
.aff-s b{font-size:16px}.aff-s .dim{font-size:13px;line-height:1.4}
.aff-n{position:absolute;top:12px;right:14px;font-size:30px;font-weight:900;opacity:.14}
.aff-t{width:100%;min-height:110px;font-size:14px;line-height:1.5;resize:vertical}
.aff-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.aff-b{display:flex;align-items:center;justify-content:center;gap:8px;height:46px;border-radius:14px;border:1px solid var(--line2);background:rgba(255,255,255,.05);color:#fff;font:inherit;font-weight:700;font-size:14px;text-decoration:none;cursor:pointer;transition:transform .15s,filter .15s}
.aff-b:hover{transform:translateY(-1px);filter:brightness(1.12)}.aff-b svg{width:20px;height:20px;flex:none}.aff-b .ic{width:19px;height:19px}
.aff-b.main{background:linear-gradient(135deg,var(--pink),var(--violet));border:0;box-shadow:0 0 22px rgba(240,138,216,.35)}
.aff-b.wa{background:#1fa855;border:0}.aff-b.tg{background:#2a9fd8;border:0}.aff-b.ms{background:linear-gradient(135deg,#0a7cff,#a033ff);border:0}.aff-b.fb{background:#1877f2;border:0}.aff-b.x{background:#000;border-color:#333}.aff-b.mail{background:rgba(255,255,255,.1)}
.aff-link{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:10px 12px;border-radius:12px;background:rgba(0,0,0,.25);border:1px dashed var(--line2)}.aff-link code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:13px}
@media (max-width:700px){.aff-steps{grid-template-columns:1fr}.aff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.aff-amt{font-size:38px}}
.threads{grid-template-columns:minmax(0,1fr)}.thread{min-width:0}
.nl{flex-wrap:wrap;row-gap:2px}.nl>b,.nl span{white-space:nowrap}
.anom{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 14px;padding:9px 14px;border-radius:14px;text-decoration:none;color:var(--text);font-size:13.5px;background:linear-gradient(90deg,rgba(255,179,71,.14),rgba(255,92,122,.08));border:1px solid rgba(255,179,71,.45)}
.anom>.ic{width:18px;height:18px;color:#ffb347}.anom>b{color:#ffb347;white-space:nowrap}
.anom-l{display:flex;flex-wrap:wrap;gap:6px}.anom-l span{padding:2px 9px;border-radius:99px;background:rgba(0,0,0,.25);font-size:12.5px;white-space:nowrap}
.vrows.aff-rules{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:800px){.vrows.aff-rules{grid-template-columns:1fr}}

/* ===== Supervision : argent en avant, ligne compacte (23 oct. 2026) ===== */
.svc-h{flex-wrap:wrap}.svc-h .mxs{flex-basis:100%;margin-left:0}
.svc-m{order:0;margin-left:auto;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:12px;background:linear-gradient(135deg,rgba(61,220,151,.16),rgba(138,107,255,.12));border:1px solid rgba(61,220,151,.4);white-space:nowrap}
.svc-m b{font-size:17px;font-weight:800;color:#5ef0b0;margin-right:6px}.svc-m b:last-child{margin-right:0}.svc-m b.z{color:var(--dim);font-weight:600;font-size:14px}
.svc-h .rflags{flex-basis:100%;order:1}.svc-h .mxs{order:2}
.svk{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.sk{min-width:0;white-space:nowrap}.sk small{overflow:hidden;text-overflow:ellipsis;min-width:0}.sk b{flex:none}.sk em{overflow:hidden;text-overflow:ellipsis}
@media (max-width:820px){.svk{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ol-gm{margin-left:auto;display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:14px;background:linear-gradient(135deg,rgba(61,220,151,.2),rgba(240,138,216,.12));border:1px solid rgba(61,220,151,.5);box-shadow:0 0 22px rgba(61,220,151,.18);white-space:nowrap}
.ol-gm small{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--dim);margin-right:2px}
.ol-grp .ol-gm b{font-size:20px;font-weight:900;color:#fff;letter-spacing:0;text-transform:none;margin-right:6px}.ol-grp .ol-gm b:last-child{margin-right:0}
/* Paiement : la répartition OF / MYM ne dépasse plus de sa case */
.mel-split{flex-wrap:wrap}.ms{min-width:0;flex:1 1 auto!important}
.svk{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.4fr)}@media (max-width:820px){.svk{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mpop[hidden]{display:none}
.dgrid{margin-bottom:16px}.dgrid+.card,.dgrid+section{margin-top:0}
.snav a.substy{margin-bottom:4px}.snav a.substy.mym{margin-bottom:8px;background:linear-gradient(135deg,rgba(255,79,109,.28),rgba(138,107,255,.25));border-color:rgba(255,79,109,.45)}
.snav a.substy.of{background:linear-gradient(135deg,rgba(0,175,240,.25),rgba(138,107,255,.25));border-color:rgba(0,175,240,.45)}
.snav a.substy .plogo{width:20px;height:20px;flex:none}
@media (max-width:899px){.snav a.substy{padding:9px 0}}
.gap-up{display:inline-flex;align-items:center;gap:5px;margin-top:6px;padding:4px 10px;border-radius:99px;font-size:12.5px;background:rgba(61,220,151,.12);border:1px solid rgba(61,220,151,.4);color:#c8ffe6}.gap-up b{color:#5ef0b0}
/* Bonus et pénalités : bandeau du salaire + tuiles à gros montant (23 oct. 2026) */
.vpay{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;margin-bottom:6px;background:linear-gradient(120deg,rgba(6,214,160,.14),rgba(6,214,160,.04));border:1px solid rgba(6,214,160,.4);box-shadow:0 0 22px rgba(6,214,160,.12)}
.vpay>svg{width:24px;height:24px;flex:none;color:#06d6a0}.vpay p{margin:0;font-size:14px;line-height:1.45}.vpay p:first-child{font-weight:700;font-size:15px}.vpay p+p{color:rgba(255,255,255,.7)}
.vpay>b{margin-left:auto;font-size:30px;font-weight:800;color:#06d6a0;text-shadow:0 0 16px rgba(6,214,160,.5);white-space:nowrap}
.vtiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:12px}
.vtiles>div{position:relative;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:var(--card2);border:1px solid var(--line);transition:transform .18s,box-shadow .18s}
.vtiles>div:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.3)}
.vt-h{display:flex;align-items:center;gap:10px}.vt-h b{font-size:19px;font-weight:800;line-height:1.1}
.vtiles>div>span{font-size:13px;line-height:1.4;color:rgba(255,255,255,.72)}
.vtiles.pos>div{border-color:rgba(6,214,160,.28)}.vtiles.pos .vt-h b{color:#06d6a0}.vtiles.pos .vem{background:rgba(6,214,160,.12);border-color:rgba(6,214,160,.3)}
.vtiles.neg>div{border-color:rgba(255,92,138,.28)}.vtiles.neg .vt-h b{color:#ff5c8a;font-size:16px}.vtiles.neg .vem{background:rgba(255,92,138,.12);border-color:rgba(255,92,138,.3)}
.vstep{position:absolute;top:10px;right:10px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font:700 11px/1 inherit;font-style:normal;color:#ff5c8a;background:rgba(255,92,138,.12);border:1px solid rgba(255,92,138,.3)}
.vnote{display:flex;gap:10px;align-items:center}.vnote>svg{width:18px;height:18px;flex:none;color:var(--lav)}
@media (max-width:900px){.vtiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:420px){.vtiles{grid-template-columns:1fr}.vpay>b{font-size:24px}}
/* photos de profil (23 oct. 2026) */
img.av{object-fit:cover;padding:0;background:#1a1530}
.av.xs{width:22px;height:22px;font-size:10px;border-width:1px}
.av.lg{width:52px;height:52px;font-size:18px}
.av.xl{width:96px;height:96px;font-size:34px;box-shadow:0 0 0 3px rgba(138,107,255,.35),0 0 26px rgba(240,138,216,.25)}
.pn{display:inline-flex;align-items:center;gap:7px;color:inherit;text-decoration:none;min-width:0}
a.pn:hover span{text-decoration:underline;text-underline-offset:3px}
.pn.big{font-weight:700;font-size:15px}.pn.big .av{width:28px;height:28px;font-size:12px}
.avup{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.avup>div{flex:1;min-width:220px}.avup p{margin:0 0 10px}
.avup label.btn{cursor:pointer}
.pprof{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.pprof h1{margin:0 0 6px;font-size:26px}
.pp-t{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pp-r{display:flex;gap:8px;align-items:center;margin:12px 0 0}.pp-r svg{width:18px;height:18px;color:#ffd166}
.pd .av,.pod .av{margin:0 auto 4px}.pd .av{width:30px;height:30px;font-size:12px}
.svc-h .pn{font-weight:700}
.cl-r b .av.xs{vertical-align:middle;margin-right:4px}
/* chatters sans shift du jour (23 oct. 2026) */
.offl{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;margin:4px 0 8px}
.offc{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--card2);border:1px solid var(--line);color:inherit;text-decoration:none;transition:transform .18s,border-color .18s}
.offc:hover{transform:translateY(-2px);border-color:var(--line2)}.offc .av{width:34px;height:34px;font-size:13px}
.offc span{display:flex;flex-direction:column;min-width:0}.offc small{color:var(--dim,rgba(255,255,255,.55));font-size:12px}
/* podium du tableau de bord avec la photo (23 oct. 2026) */
.pd{grid-template-columns:30px 32px minmax(0,1fr) auto;grid-template-areas:"m a n v" "m a p v"}
.pd .av{grid-area:a;margin:0;width:32px;height:32px;font-size:12px}
@media (max-width:1100px){.pd{grid-template-columns:30px minmax(0,1fr) auto;grid-template-areas:"m n v" "m p v"}.pd .av{display:none}}
.sfs-msg pre{height:330px;max-height:330px}/* OF et MYM à la même hauteur (23 oct. 2026) */

.inbday{flex-wrap:wrap;margin:6px 0 10px}.inbday button.chg{box-shadow:inset 0 -2px 0 #ffd166}.inbday button.chg::after{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#ffd166;margin-left:6px;vertical-align:middle}
.inbnote{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.inbch{margin-top:12px;display:grid;gap:8px;font-size:14px}.inbch>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.inbday button{flex:1 0 auto;font:inherit;font-size:12.5px;font-weight:600;padding:7px 11px;border-radius:99px;white-space:nowrap;border:0;background:none;color:rgba(255,255,255,.7);cursor:pointer}.inbday button.on{background:linear-gradient(135deg,rgba(138,107,255,.55),rgba(240,138,216,.35));color:#fff}

/* colonne des conversations : même hauteur que la conversation, filtres et tri (23 oct. 2026) */
.mlay{align-items:stretch}.mmain{min-width:0;display:flex;flex-direction:column}
.mside{top:16px;height:calc(100dvh - 152px);align-self:start}
.split .chatbox{height:calc(100dvh - 190px)}
.mtools{display:grid;gap:6px}
.mchips{display:flex;gap:4px;min-width:0;padding:3px;border-radius:99px;background:rgba(14,11,40,.6);border:1px solid var(--line)}
.mchips button{flex:1 1 auto;border:0;background:none;color:rgba(255,255,255,.7);font:inherit;font-size:11.5px;font-weight:600;padding:5px 6px;border-radius:99px;cursor:pointer;white-space:nowrap}
.mchips button.on{color:#fff;background:linear-gradient(135deg,rgba(138,107,255,.55),rgba(106,75,224,.4))}
#msort{width:100%;font-size:12px;padding:6px 8px;border-radius:10px;background:var(--card2);border:1px solid var(--line);color:inherit}
.mside form.mfind{margin:0}

.bars.h24{gap:3px;position:relative;background:repeating-linear-gradient(0deg,transparent 0 44px,rgba(255,255,255,.045) 44px 45px);background-position:0 -18px}
.bars.h24 .bar span{overflow:visible;width:0;display:flex;justify-content:center}
.bars.h24 .bstack{max-width:14px;border-radius:4px 4px 1px 1px;box-shadow:0 0 8px rgba(138,107,255,.2)}
.bars.h24 .bar.nil .bstack{height:3px!important;background:rgba(255,255,255,.07);box-shadow:none;border-radius:2px}
.rs{grid-template-columns:repeat(2,1fr)}
.top .rs{grid-template-columns:repeat(4,auto);flex:0 1 300px}.top .rs button{padding:0 5px}
/* Supervision : non lus par shift et par modèle, écarts à valider (24 oct. 2026) */
.unr{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:800;padding:3px 9px 3px 7px;border-radius:99px;border:1px solid rgba(160,140,255,.35);background:rgba(160,140,255,.1);color:#cfc6ff}
.unr svg{width:13px;height:13px}.unr.mid{border-color:rgba(255,181,71,.5);background:rgba(255,181,71,.12);color:#ffc46b}.unr.hot{border-color:rgba(255,92,122,.55);background:rgba(255,92,122,.14);color:#ff7d96;box-shadow:0 0 10px rgba(255,92,122,.25)}.unr.z{opacity:.55}
.mx-u{display:inline-flex;align-items:center;gap:3px;font-weight:800;font-size:11.5px;color:#ffc46b}.mx-u svg{width:12px;height:12px}.mx .plogo{flex:none}
.pen-b{margin:6px 0 10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,92,122,.3);background:linear-gradient(135deg,rgba(255,92,122,.08),rgba(255,92,122,.02))}
.pen-h{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px;color:#ff8aa0}.pen-h svg{width:16px;height:16px}.pen-h b{color:var(--text)}
.pen{display:grid;grid-template-columns:minmax(90px,auto) minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:7px 0;border-top:1px solid rgba(255,255,255,.05)}
.pen:first-of-type{border-top:0}.pen-t{display:flex;flex-direction:column;gap:2px;font-size:13px;min-width:0}.pen-t small{font-size:11px}
.pen-a{color:#ff6b8b;font-size:14px;white-space:nowrap}.pen.no .pen-a{color:var(--dim);text-decoration:line-through}.pen.ok .pen-a{text-shadow:0 0 10px rgba(255,92,122,.5)}
.pen-yn{display:flex;gap:6px}.pyn{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;cursor:pointer;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--dim);padding:0;transition:all .15s}
.pyn svg{width:17px;height:17px;display:block}.pyn.ok:hover,.pyn.ok.on{border-color:#3ddc97;background:rgba(61,220,151,.18);color:#3ddc97;box-shadow:0 0 12px rgba(61,220,151,.3)}
.pyn.no:hover,.pyn.no.on{border-color:#ff5c7a;background:rgba(255,92,122,.16);color:#ff6b8b;box-shadow:0 0 12px rgba(255,92,122,.3)}
@media (max-width:640px){.pen{grid-template-columns:minmax(0,1fr) auto auto}.pen .pn{grid-column:1/-1}}
/* Paiement : une ligne par chatter, détail du calcul au clic */
.payrow .cz-s{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto auto 16px}
.payrow.paid{border-color:rgba(61,220,151,.35)}
.pr-v{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:13px}.pr-v em{font-style:normal;color:var(--dim);font-size:12px}.pr-v em.minus{color:#ff6b8b}.pr-v em.plus{color:#3ddc97}
.pr-t{display:flex;flex-direction:column;align-items:flex-end;color:#ffd166;font-size:15px;line-height:1.1;text-shadow:0 0 12px rgba(255,209,102,.3)}.pr-t small{font-size:11px;color:var(--dim);font-weight:600;text-shadow:none}
.pc{margin:10px 0;border-radius:14px;border:1px solid var(--line);background:var(--card2);overflow:hidden}
.pc-l{display:flex;align-items:center;gap:10px;padding:9px 12px;font-size:13.5px}.pc-l+.pc-l{border-top:1px solid rgba(255,255,255,.05)}
.pc-l>span{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.pc-l>span small{font-size:11px;color:var(--dim)}.pc-l>span .plogo{display:inline-block;vertical-align:-3px;margin-right:4px}
.pc-l.sub{background:rgba(138,107,255,.07)}.pc-l.plus b{color:#3ddc97}.pc-l.minus b{color:#ff6b8b}
.pc-l.tot{background:linear-gradient(135deg,rgba(255,209,102,.16),rgba(255,209,102,.04));font-weight:700}.pc-l.tot b{display:flex;flex-direction:column;align-items:flex-end;color:#ffd166;font-size:17px}.pc-l.tot b small{font-size:11px;color:var(--dim)}
@media (max-width:640px){.payrow .cz-s{grid-template-columns:1fr auto auto 16px}.payrow .pr-v{grid-column:1/-1;grid-row:2}}
/* Classement : cadeau du podium, OF / MYM avec leurs logos */
.gift{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:99px;color:#ffd166;border:1px solid rgba(255,209,102,.5);background:rgba(255,209,102,.12);box-shadow:0 0 10px rgba(255,209,102,.2);white-space:nowrap}
.cl-v{display:inline-flex;align-items:center;gap:3px;margin-right:6px}.cl-m{display:flex;flex-wrap:wrap;gap:2px}
.pc-n{display:flex;align-items:center;gap:6px;font-style:normal}
/* Fiche flottante (24 oct. 2026) */
.pn.pv{cursor:pointer;padding:3px 10px 3px 3px;margin:-3px 0;border-radius:9px;border:1px solid rgba(160,140,255,.22);background:rgba(160,140,255,.08);transition:border-color .15s,background .15s,box-shadow .15s;white-space:nowrap;max-width:100%}
.pn.pv>span{overflow:hidden;text-overflow:ellipsis}.pn.pv:hover,.pn.pv:focus-visible{border-color:rgba(160,140,255,.6);background:rgba(160,140,255,.16);box-shadow:0 0 12px rgba(138,107,255,.3);outline:none}
.pn.pv.big{padding-right:11px}
.cl-n{display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}
.pod[data-pv]{cursor:pointer}
.pv-wrap{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:16px;background:rgba(5,4,18,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .18s}
.pv-wrap.on{opacity:1}
.pv-card{position:relative;width:min(420px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:20px;border-radius:24px;background:linear-gradient(160deg,rgba(40,30,90,.92),rgba(16,12,40,.94));border:1px solid rgba(160,140,255,.35);box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 40px rgba(138,107,255,.18);transform:translateY(10px) scale(.98);transition:transform .18s}
.pv-wrap.on .pv-card{transform:none}
.pv-x{position:absolute;top:12px;right:12px;width:34px;height:34px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--line2);background:rgba(255,255,255,.05);color:var(--text);cursor:pointer;padding:0}.pv-x svg{display:block}
.pv-load{display:flex;align-items:center;gap:10px;padding:28px 6px;color:var(--dim)}
.pv-h{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding-right:36px}.pv-h .av.xl{width:64px;height:64px;font-size:24px;flex:none}
.pv-n{display:block;font-size:20px;line-height:1.2}.pv-t{display:flex;gap:6px;margin:5px 0}.pv-on{font-size:12.5px;font-weight:700;color:#3ddc97}.pv-off{font-size:12.5px;color:var(--dim)}
.pv-s{margin:12px 0}.pv-l{display:flex;align-items:center;gap:6px;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--dim);margin:0 0 6px}.pv-l svg{width:14px;height:14px}
.pv-sh{display:flex;flex-wrap:wrap;gap:6px}.pv-sh>span:not(.mc):not(.st){font-size:12.5px;padding:4px 10px;border-radius:99px;background:var(--card2);border:1px solid var(--line)}.pv-sh>span.on{border-color:rgba(61,220,151,.55);background:rgba(61,220,151,.12);color:#3ddc97}
.pv-g{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.pv-k{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:14px;background:var(--card2);border:1px solid var(--line)}.pv-k>span{display:flex;align-items:center;gap:4px;font-size:11.5px;color:var(--dim)}.pv-k b{font-size:16px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pv-k b small{font-size:12px;color:var(--dim)}
.pv-k.hot{border-color:rgba(255,209,102,.5);background:rgba(255,209,102,.08)}.pv-k.hot b{color:#ffd166}.pv-k.bad b{color:#ff7d96;font-size:13.5px}
.pv-a{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
@media (max-width:640px){.pv-wrap{place-items:end center;padding:0}.pv-card{width:100%;border-radius:24px 24px 0 0;max-height:85dvh;transform:translateY(40px)}}
/* Management du jour (24 oct. 2026) */
.mg-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.mg-p{display:flex;align-items:center;gap:14px}.mg-p small{display:block;color:var(--dim);font-size:12px;margin-top:2px}
.mg-ring{--p:0;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--ok) calc(var(--p)*1%),rgba(255,255,255,.08) 0);position:relative;flex:none}
.mg-ring::after{content:'';position:absolute;inset:5px;border-radius:50%;background:var(--card)}.mg-ring b{position:relative;z-index:1;font-size:14px}
.mg-live{display:flex;gap:6px;flex-wrap:wrap}
.mg-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.mg-s{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:14px;background:var(--card);border:1px solid var(--line);scroll-margin-top:80px}
.mg-s.ok{opacity:.72}.mg-s.now{border-color:rgba(255,209,102,.55);box-shadow:0 0 14px rgba(255,209,102,.12)}.mg-s.late{border-color:rgba(255,92,138,.7);box-shadow:0 0 14px rgba(255,92,138,.18)}
.mg-f{margin:0;flex:none}
.mg-box{width:30px;height:30px;border-radius:9px;border:1.5px solid var(--line2);background:rgba(255,255,255,.04);display:grid;place-items:center;cursor:pointer;padding:0;color:transparent;transition:all .2s}
.mg-box svg{width:16px;height:16px}.mg-box:hover{border-color:var(--violet)}
.mg-s.ok .mg-box{background:var(--ok);border-color:var(--ok);color:#06110d}.mg-box:disabled{cursor:default}
.mg-s.late .mg-box{border-color:rgba(255,92,138,.8)}
.mg-b{flex:1;min-width:0}.mg-h{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.mg-t{font-variant-numeric:tabular-nums;font-size:12px;font-weight:700;color:var(--lav);background:rgba(169,155,255,.12);padding:2px 7px;border-radius:7px}
.mg-s.ok .mg-h b{text-decoration:line-through;text-decoration-color:rgba(255,255,255,.35)}
.mg-w{font-style:normal;font-size:11px;color:var(--warn);border:1px solid rgba(255,209,102,.4);padding:1px 6px;border-radius:6px}
.mg-how{margin:5px 0 7px;color:var(--dim);font-size:13px;line-height:1.45}
.mg-m{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12px}
.mg-st{font-weight:600}.mg-s.ok .mg-st{color:var(--ok)}.mg-s.late .mg-st{color:var(--bad)}.mg-s.now .mg-st{color:var(--warn)}.mg-s.next .mg-st{color:var(--dim)}
.mg-i{color:var(--text);background:rgba(255,255,255,.06);padding:2px 8px;border-radius:7px}.mg-m .btn{margin-left:auto}
/* SFS : la feuille */
.sf-ks{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:10px 0 12px}
.sf-k{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.sf-k b{display:block;font-size:18px}.sf-k small{color:var(--dim);font-size:11px}
.sf-q{width:100%;margin-bottom:6px}
.sf-h{font-size:13px;color:var(--dim);margin:14px 0 6px;text-transform:uppercase;letter-spacing:.05em}
.sf-r{display:grid;grid-template-columns:78px 1fr auto;grid-template-areas:"d x s" "d n n";gap:2px 10px;padding:9px 4px;border-top:1px solid var(--line);align-items:center}
.sf-r.today{background:rgba(169,155,255,.08);border-radius:10px}
.sf-d{grid-area:d}.sf-d b{display:block;font-size:13px;text-transform:capitalize}.sf-d small{color:var(--dim);font-size:11px}
.sf-x{grid-area:x;min-width:0}.sf-x small{display:block;color:var(--dim);font-size:12px}.sf-x em{font-style:normal;color:var(--text)}.sf-x a{color:var(--lav)}
.sf-s{grid-area:s;display:flex;gap:4px}.sf-n{grid-area:n;font-size:12px;color:var(--dim)}.sf-n b{color:var(--text)}
.sf-c{font-style:normal;font-size:10.5px;padding:2px 6px;border-radius:6px;border:1px solid var(--line);color:var(--dim)}.sf-c.on{color:#06d6a0;border-color:rgba(6,214,160,.4);background:rgba(6,214,160,.1)}
.sf-old summary{cursor:pointer;margin:12px 0 4px;color:var(--lav)}
@media (max-width:600px){.sf-r{grid-template-columns:62px 1fr;grid-template-areas:"d x" "d s" "d n"}}
/* Feuille SFS : même allure que la feuille Google (en-têtes gris, cases noires, Outfit gras) */
.stab.sub{margin-top:-6px}.stab a .plogo{width:15px;height:15px;vertical-align:-3px}
.sg-card .sfs-msg-h{gap:10px}.sg-card .sg-new{margin-left:auto}
.sg-wrap{overflow:auto;max-height:72vh;border-radius:10px;border:1px solid #222;background:#000;margin-top:8px}
.sg{border-collapse:separate;border-spacing:0;font-family:Outfit,system-ui,sans-serif;font-weight:700;font-size:12.5px;color:#fff;white-space:nowrap}
.sg th{position:sticky;top:0;z-index:2;background:#b7b7b7;color:#000;font-size:12px;padding:8px 6px;border-right:1px solid #9a9a9a;text-align:center}
.sg th.mh{font-size:10.5px;padding:8px 3px;min-width:46px}.sg th.sep,.sg td.sep{background:#000;border:0;min-width:14px;padding:0}
.sg td{background:#000;border-bottom:1px solid #1d1d1d;border-right:1px solid #161616;padding:0;height:30px;text-align:center}
.sg tr.today td:not(.sep){background:#141022}.sg tr.fut td:not(.sep){background:#07070c}.sg tr.new td:not(.sep){animation:sgnew 2.4s ease}
@keyframes sgnew{0%{background:#3b2a7a}100%{background:#000}}
.sg input{background:transparent;border:0;color:#fff;font:inherit;padding:0 7px;height:30px;width:120px;text-align:center;outline:none;border-radius:0}
.sg input:focus{background:#1b1b2a;box-shadow:inset 0 0 0 1.5px var(--violet)}
.sg input.ok{box-shadow:inset 0 0 0 1.5px #06d6a0}.sg input.err{box-shadow:inset 0 0 0 1.5px var(--bad)}
.sg td.ct input{width:130px}.sg td.pn input{width:140px}.sg td.ti input{width:170px}.sg td.n input{width:64px}.sg td.sc input{width:30px;padding:0}
.sg input[type=date]{width:118px;color-scheme:dark}.sg input[type=checkbox]{width:16px;height:16px;accent-color:#06d6a0;cursor:pointer;padding:0}
.sg td.mcol{background:var(--mc,#000)!important}.sg td.mcol input{width:150px;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.sg td.ro{color:#cfcfcf;padding:0 8px;font-weight:600}.sg td.act{padding:0 4px}
.sg td.act button{background:none;border:0;color:#777;cursor:pointer;font-size:14px;padding:4px 6px}.sg td.act button:hover{color:#fff}.sg td.act .sg-x:hover{color:var(--bad)}
.sg-state.plus{color:#06d6a0}.sg-state.minus{color:var(--bad)}
.pv-pres{margin-top:6px;overflow:hidden}
/* Management gamifié */
.mg-clock{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:-4px 0 12px}
.mg-date{font-size:15px;font-weight:600;text-transform:capitalize;color:var(--text)}
.mg-hour{font-size:26px;font-variant-numeric:tabular-nums;background:linear-gradient(90deg,#ff5c8a,#a99bff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 10px rgba(255,92,138,.35))}
.mg-clock small{color:var(--dim);font-size:12px}
.mg-top{position:relative;overflow:hidden}.mg-top.perfect{border-color:rgba(255,209,102,.6);box-shadow:0 0 22px rgba(255,209,102,.25)}
.mg-stats{display:flex;gap:10px}.mg-stat{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:8px 12px;min-width:96px}
.mg-stat b{display:block;font-size:18px}.mg-stat b small{font-size:11px;color:var(--dim);font-weight:500}.mg-stat span{font-size:11px;color:var(--dim)}
.mg-bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.06)}.mg-bar i{display:block;height:100%;background:linear-gradient(90deg,#a99bff,#06d6a0);box-shadow:0 0 10px rgba(6,214,160,.6);transition:width .6s}
.mg-ic{flex:none;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:18px;background:rgba(169,155,255,.1);border:1px solid rgba(169,155,255,.25)}
.mg-s.ok .mg-ic{background:rgba(6,214,160,.12);border-color:rgba(6,214,160,.35)}.mg-s.late .mg-ic{background:rgba(255,92,138,.12);border-color:rgba(255,92,138,.4)}
.mg-xp{font-style:normal;font-size:11px;font-weight:700;color:var(--dim);margin-left:auto;padding:1px 7px;border-radius:7px;border:1px solid var(--line)}
.mg-xp.on{color:#ffd166;border-color:rgba(255,209,102,.45);background:rgba(255,209,102,.1)}
.mg-s.ok .mg-box{animation:mgpop .4s ease}@keyframes mgpop{0%{transform:scale(.6)}70%{transform:scale(1.15)}100%{transform:scale(1)}}
.mg-confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:50}
.mg-confetti i{position:absolute;top:-12px;left:calc(var(--x)*1%);width:8px;height:12px;border-radius:2px;background:var(--c);animation:mgfall 2.6s var(--d) ease-in forwards}
@keyframes mgfall{to{transform:translateY(105vh) rotate(540deg);opacity:.2}}
@media (prefers-reduced-motion:reduce){.mg-confetti{display:none}}
/* une couleur par personne (pastilles à lettres, noms dans les conversations) */
.av.avc{background:color-mix(in srgb,var(--pc) 30%,#16112a);border-color:color-mix(in srgb,var(--pc) 70%,transparent);color:color-mix(in srgb,var(--pc) 35%,#fff);box-shadow:0 0 8px color-mix(in srgb,var(--pc) 35%,transparent)}
.msg .au{display:flex;align-items:center;gap:6px;color:var(--pc,var(--lav));font-size:12.5px;margin-bottom:4px}
.msg .au .av.xs{width:20px;height:20px;font-size:9.5px}
.msg:not(.mine){border-left:3px solid var(--pcb,var(--line))}
/* la photo de chaque modèle, partout où on parle d'elle */
.mav{display:inline-block;width:18px;height:18px;border-radius:50%;object-fit:cover;vertical-align:middle;margin-right:5px;flex:none;border:1px solid var(--c,rgba(255,255,255,.25));box-shadow:0 0 6px color-mix(in srgb,var(--c,#a99bff) 40%,transparent);background:#1a1530}
.mav.xs{width:14px;height:14px;margin-right:3px}
.mav.lg{width:34px;height:34px;margin-right:8px;border-width:2px}
.pdots .mav{margin:0 0 0 -3px;border-color:#16112a}
.mh .mav{display:block;margin:0 auto 3px}
/* Activité */
.ac-mods{flex-wrap:wrap;margin-top:8px}.ac-mods a{display:inline-flex;align-items:center}
.ac-day{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0}.ac-day form{margin:0}.ac-day input[type=date]{background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:10px;color:var(--text);padding:6px 10px;font:inherit}
.ac-ch{padding:14px 14px 10px}.ac-svg{width:100%;height:auto;display:block;min-height:180px}
.ac-svg .ac-sl{font-size:11px;fill:rgba(255,255,255,.55)}.ac-svg .ac-tk{font-size:11px;fill:rgba(255,255,255,.4)}
.ac-leg{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--dim);margin-bottom:8px}.ac-leg span{display:inline-flex;align-items:center;gap:6px}
.ac-leg i{width:10px;height:10px;border-radius:3px;display:inline-block}.ac-leg i.ln{height:3px;width:16px;border-radius:2px}.ac-leg i.g{background:#06d6a0;box-shadow:0 0 6px #06d6a0}.ac-leg i.o{background:repeating-linear-gradient(90deg,#ffb547 0 5px,transparent 5px 8px)}
.ac-shs{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.ac-sh-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.ac-ks{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:8px;margin-bottom:12px}
.ac-k{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:8px 10px}.ac-k b{display:block;font-size:20px}.ac-k small{font-size:11px;color:var(--dim)}
.ac-k.g b{color:#06d6a0}.ac-k.o b{color:#ffb547}.ac-k.v b{color:#a99bff}.ac-k.p b{color:#ff5c8a}
.ac-pp{display:grid;gap:6px}.ac-p{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--line)}.ac-pn{margin-left:auto}
.ac-svg{height:220px}
.ac-strip{position:relative;height:42px;margin-top:6px}.ac-band{position:absolute;top:0;bottom:0;padding:4px 6px;border-left:1px solid rgba(255,255,255,.12);overflow:hidden;font-size:11.5px;line-height:1.35}
.ac-band b{display:block;white-space:nowrap}.ac-band span{display:block;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:640px){.ac-svg{height:170px}.ac-band{font-size:10px}}
/* l'heure sous le graphique : une ligne à elle, jamais traversée par les petits traits des heures vides (Charles, 24 oct. 2026) */
.bars .bar span{height:16px;line-height:16px;flex:none}
.bars.h24 .bar span{height:16px;line-height:16px;align-items:center}
/* Lueurs jamais coupées (24 oct. 2026) : les textes tronqués laissent dépasser la lueur des photos et logos,
   et sur ordinateur les barres d'onglets ne coupent plus la lueur de l'onglet actif */
.sr-w b,.kpi .k-sub{overflow:clip;overflow-clip-margin:8px}
.snav{margin:0 -14px;padding:0 14px}
@media (min-width:900px){.seg.per{overflow:visible;flex-wrap:wrap}.toc[data-spy]{overflow:visible}}
@media (hover:hover) and (pointer:fine) and (max-width:899px){.rail-x{display:none!important}}
.unr small{font-size:10px;font-weight:600;opacity:.75;margin-left:2px}
@media (min-width:900px){.seg.per{border-radius:22px}}
.seg.mf{border-radius:22px;justify-content:flex-start}.seg.mf a{flex:0 0 auto}
/* Messages sur grand écran : liste à gauche, « Ouvre une conversation » à droite (24 oct. 2026) */
.mdesk{display:none}
@media (min-width:700px){.mdesk{display:block}.mmob{display:none}}
.mempty{flex:1;min-height:calc(100dvh - 152px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r)}
.mempty b{font-size:18px}.mempty .tile{width:52px;height:52px}
.rk-md{width:30px;height:34px;flex:none;display:grid;place-items:center}.rk-md .medal{width:30px;height:36px;filter:drop-shadow(0 0 6px rgba(255,201,60,.35))}
.lb .md .rk-md{margin:0 auto}
.pd-md{display:block;margin:0 auto 4px;width:38px;height:46px}.pd-md .medal{width:38px;height:46px;filter:drop-shadow(0 0 10px rgba(255,201,60,.45))}
.pl-l.w i,.pl-leg .w,.lv .w,.pl-sum .w{background:#a3e635}.pl-l.w i{box-shadow:0 0 6px rgba(163,230,53,.5)}.pl-h.w i::after{background:#a3e635}.pl-ks .w::before{background:#a3e635}
.ol-none{display:flex;align-items:center;gap:12px;padding:16px 18px}.ol-none b{font-size:15px}
.msg.deleted{opacity:.6}.msg .delt{font-style:italic;color:var(--dim);margin:0}
/* Classement : une seule ligne par chatter, toutes les lignes à la même hauteur (Charles, 24 oct. 2026) */
@media (min-width:701px){.cl-r:not(.cl-h){height:56px}.cl-r>span{white-space:nowrap}.cl-r>span:nth-child(3){display:flex;align-items:center;justify-content:flex-end;gap:2px}.cl-r>span:nth-child(3) em{display:inline;margin-left:4px}.cl-r .mymv{display:inline}.cl-m{flex-wrap:nowrap;justify-content:flex-end}}
/* Messages en demi-écran : liste plus étroite pour garder la vue double (24 oct. 2026) */
@media (min-width:700px) and (max-width:1100px){.mlay{grid-template-columns:240px minmax(0,1fr);gap:10px}}
/* ===== Un site moins « rude » : transitions douces, petits reliefs au survol, apparition en fondu (Charles, 24 oct. 2026) ===== */
a,button,.card,.kpi,.chip,.pill,.thread,.seg a,.mchip,.mc,.mtag,.pn,.btn,.mini,input,select,textarea,.sr summary,.cl-r,.fan,.rk{transition:background-color .22s ease,border-color .22s ease,box-shadow .25s ease,transform .22s cubic-bezier(.2,.8,.2,1),color .2s ease,opacity .2s ease}
.btn:active,.mini:active,button:active,.seg a:active,.thread:active{transform:scale(.97)}
a.kpi:hover,.kpi:has(a):hover,a.card:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,0,0,.25),0 0 18px rgba(138,107,255,.18)}
.thread:hover{background:rgba(160,140,255,.08)}.fan:hover,.cl-r:hover,.sr summary:hover{background:rgba(255,255,255,.035)}
.btn:hover,.mini:hover{box-shadow:0 0 16px rgba(138,107,255,.3)}
input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px rgba(138,107,255,.22)}
@keyframes cvpIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wrap>*{animation:cvpIn .38s cubic-bezier(.2,.8,.2,1) both}
.wrap>*:nth-child(2){animation-delay:.04s}.wrap>*:nth-child(3){animation-delay:.08s}.wrap>*:nth-child(4){animation-delay:.12s}.wrap>*:nth-child(5){animation-delay:.16s}.wrap>*:nth-child(n+6){animation-delay:.2s}
details[open]>:not(summary){animation:cvpIn .25s ease both}
.msg{animation:cvpIn .25s ease both}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Menu étroit ↔ ouvert sans à-coups : les icônes et les rubriques ne bougent plus, seuls les textes apparaissent en fondu (24 oct. 2026) */
@media (max-width:899px){
  .side,body.drawer .side{padding:12px 7px;overflow:hidden;transition:width .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease}
  .side .brand,body.drawer .side .brand{justify-content:flex-start;padding:0 0 0 1px}
  .side .brand span,.snav a span,.me-id>span:last-child{display:inline!important;white-space:nowrap;opacity:0;transition:opacity .18s ease}
  body.drawer .side .brand span,body.drawer .snav a span,body.drawer .me-id>span:last-child{opacity:1;transition:opacity .25s ease .08s}
  .snav a,body.drawer .snav a{justify-content:flex-start;padding:10px 13px}
  .snav .sg,body.drawer .snav .sg{font-size:10.5px;height:auto;margin:14px 10px 4px;background:none;white-space:nowrap;color:transparent;position:relative;transition:color .2s ease}
  .snav .sg::after{content:'';position:absolute;left:2px;right:2px;top:50%;height:1px;background:var(--line);transition:opacity .2s ease}
  body.drawer .snav .sg{color:var(--dim)}body.drawer .snav .sg::after{opacity:0}
  .me,body.drawer .me{padding:4px;justify-content:flex-start}.me-id{flex:1;min-width:0}
}
/* Messages : la vue double remplit tout l'écran, en largeur comme en hauteur (Charles, 24 oct. 2026) */
@media (min-width:700px){
  body.split{--mh:calc(100dvh - 32px)}
  body.app.split .wrap{max-width:none;padding:16px 20px}
  body.split .mlay{grid-template-columns:320px minmax(0,1fr);gap:16px}
  body.split .mside{top:16px;height:var(--mh)}
  body.split .mempty{min-height:0;height:var(--mh)}
  body.split .mmain{height:var(--mh)}
  body.split .mmain .chatbox{flex:1;height:auto;min-height:0}
}
@media (min-width:700px) and (max-width:899px){body.split{--mh:calc(100dvh - 90px)}body.split .mlay{grid-template-columns:250px minmax(0,1fr);gap:10px}body.app.split .wrap{padding:12px 12px}}
/* Classement en demi-écran : le cadeau reste à côté du nom, sur la même ligne (24 oct. 2026) */
@media (min-width:701px){.cl-r{grid-template-columns:30px minmax(185px,1.4fr) minmax(0,1.3fr) .6fr .7fr .7fr .9fr}.cl-n{flex-wrap:nowrap}.cl-n .gift{flex:none;white-space:nowrap}}
@media (min-width:701px) and (max-width:1200px){.cl-r>span:nth-child(3) em{display:none}.cl-r{gap:6px;font-size:13px}}
@media (min-width:701px){.cl-h>*{white-space:nowrap;font-size:10.5px}}
/* Vidéos de la formation : plus d'écran noir au chargement, un fond de la marque qui patiente puis la vidéo en fondu (24 oct. 2026) */
.video{background:radial-gradient(120% 90% at 50% 40%,rgba(138,107,255,.28),rgba(20,16,48,.95) 70%);border-color:rgba(160,140,255,.25)}
.video::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.06) 50%,transparent 70%);background-size:220% 100%;animation:vidShim 1.6s linear infinite}
.video::after{content:"";position:absolute;left:50%;top:50%;width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;border:3px solid rgba(169,155,255,.25);border-top-color:#a99bff;animation:vidSpin .8s linear infinite;box-shadow:0 0 18px rgba(138,107,255,.35)}
.video iframe{z-index:1;opacity:0;transition:opacity .5s ease}.video iframe.on{opacity:1}
.video:has(iframe.on)::before,.video:has(iframe.on)::after{display:none}
@keyframes vidShim{to{background-position:-220% 0}}@keyframes vidSpin{to{transform:rotate(360deg)}}
/* La pastille du chatter : partout la même, à la taille du nom, jamais étirée (Charles, 24 oct. 2026) */
.pn.pv{justify-self:start;align-self:center;width:fit-content;flex:0 1 auto}
/* ===== Page SFS aux couleurs de CVP Agency (Charles, 24 oct. 2026) ===== */
.sf-ks{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.sf-k{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:16px;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--c) 16%,rgba(20,16,48,.9)),rgba(14,11,40,.85));border:1px solid color-mix(in srgb,var(--c) 32%,transparent);box-shadow:0 8px 26px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.05)}
.sf-k::after{content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 35%,transparent),transparent 70%);pointer-events:none}
.sf-ki{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--c) 22%,transparent);border:1px solid color-mix(in srgb,var(--c) 45%,transparent);box-shadow:0 0 16px color-mix(in srgb,var(--c) 30%,transparent);color:var(--c)}
.sf-ki .ic{width:20px;height:20px}
.sf-k b{font-size:22px;font-weight:800;letter-spacing:-.01em;text-shadow:0 0 18px color-mix(in srgb,var(--c) 45%,transparent)}.sf-k small{font-size:12px}
.sf-qw{display:flex;align-items:center;gap:10px;margin:4px 0 4px;padding:0 14px;height:44px;border-radius:14px;background:rgba(0,0,0,.22);border:1px solid var(--line);transition:border-color .2s,box-shadow .2s}
.sf-qw:focus-within{border-color:rgba(160,140,255,.55);box-shadow:0 0 0 3px rgba(138,107,255,.18)}
.sf-qw .ic{width:16px;height:16px;color:var(--dim);flex:none}.sf-qw .sf-q{flex:1;margin:0;border:0;background:none;box-shadow:none;outline:0;padding:0;height:42px}
.sg-wrap{background:rgba(10,8,30,.7);border:1px solid rgba(160,140,255,.2);border-radius:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);scrollbar-color:rgba(138,107,255,.5) transparent}
.sg{font-family:inherit;font-weight:600;font-size:13px}
.sg th{background:linear-gradient(180deg,#2a2160,#1d1747);color:#e9e4ff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-right:1px solid rgba(160,140,255,.12);border-bottom:1px solid rgba(160,140,255,.35);padding:10px 8px}
.sg th .ic{width:15px;height:15px;color:#a99bff;vertical-align:middle}
.sg th.mh{text-transform:none;letter-spacing:0;font-size:11px}.sg th.mh .av{display:block;margin:0 auto 3px;width:22px;height:22px;box-shadow:0 0 0 2px rgba(169,155,255,.35)}
.sg th.sep,.sg td.sep{background:transparent!important;min-width:6px;border:0;border-left:1px solid rgba(160,140,255,.18)}
.sg td{background:transparent;border-bottom:1px solid rgba(160,140,255,.08);border-right:1px solid rgba(160,140,255,.06);height:36px}
.sg tr:nth-child(odd) td:not(.sep):not(.mcol){background:rgba(255,255,255,.015)}
.sg tr:hover td:not(.sep):not(.mcol){background:rgba(138,107,255,.08)}
.sg tr.fut td:not(.sep):not(.mcol){background:rgba(76,201,240,.035)}
.sg tr.today td:not(.sep):not(.mcol){background:rgba(138,107,255,.16)}.sg tr.today td:first-child{box-shadow:inset 3px 0 0 #a99bff}
.sg input{height:36px;color:#f2efff}.sg input:focus{background:rgba(138,107,255,.14);box-shadow:inset 0 0 0 1.5px #a99bff;border-radius:6px}
.sg td.ro{color:#bdb5e6}
.sg td.mcol{padding:4px 5px;background:transparent!important}
.sg td.mcol input{height:28px;border-radius:9px;font-weight:800;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--mc,transparent) 88%,#fff 0%),color-mix(in srgb,var(--mc,transparent) 70%,#000));box-shadow:0 0 14px color-mix(in srgb,var(--mc,transparent) 45%,transparent),inset 0 1px 0 rgba(255,255,255,.25)}
.sg td.mcol:not([style]) input{background:rgba(255,255,255,.04);box-shadow:none;font-weight:600}
.sg input[type=checkbox]{appearance:none;-webkit-appearance:none;display:inline-grid;place-items:center;width:20px;height:20px;margin:0;border-radius:6px;border:1.5px solid rgba(169,155,255,.45);background:rgba(255,255,255,.03);transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.sg input[type=checkbox]:hover{border-color:#a99bff;box-shadow:0 0 10px rgba(138,107,255,.35)}
.sg input[type=checkbox]::after{content:"";width:11px;height:11px;background:#06231a;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5l5 5L20 6.5' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5l5 5L20 6.5' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;transform:scale(0);transition:transform .18s cubic-bezier(.2,.8,.2,1.4)}
.sg input[type=checkbox]:checked{background:linear-gradient(135deg,#3ddc97,#06d6a0);border-color:#3ddc97;box-shadow:0 0 12px rgba(61,220,151,.45)}
.sg input[type=checkbox]:checked::after{transform:scale(1)}
.sg input[type=checkbox]:active{transform:scale(.9)}
.sg td.act button{display:inline-grid;place-items:center;width:26px;height:26px;padding:0;border-radius:8px;color:#8f86c0}.sg td.act button .ic{width:14px;height:14px}
.sg td.act .sg-dup:hover{color:#fff;background:rgba(138,107,255,.25)}.sg td.act .sg-x:hover{color:#fff;background:rgba(255,92,122,.25)}
.sg tr.new td:not(.sep){animation:sgnew2 2.4s ease}@keyframes sgnew2{0%{background:rgba(138,107,255,.45)}100%{background:transparent}}
.sg-card .sfs-msg-h h2{display:flex;align-items:center;gap:10px}
.sfs-up{margin:0}.sfs-b.up{width:100%;background:rgba(255,255,255,.05);border:1px dashed rgba(169,155,255,.4);color:#d9d3ff}.sfs-b.up:hover{border-color:#a99bff;background:rgba(138,107,255,.14)}.sfs-b.up.busy{opacity:.7;pointer-events:none}
/* Le calendrier de la marque (remplace celui du navigateur) et les changements de filtre en douceur (24 oct. 2026) */
input[type=date]{cursor:pointer;color-scheme:dark}
input[type=date]::-webkit-calendar-picker-indicator{display:none}
input[type=date]:not(.sg input){padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a99bff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='3'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;background-size:17px}
.cal-pop{position:fixed;z-index:200;width:280px;padding:12px;border-radius:18px;background:linear-gradient(160deg,rgba(38,30,86,.97),rgba(16,12,40,.98));border:1px solid rgba(169,155,255,.35);box-shadow:0 18px 50px rgba(0,0,0,.55),0 0 28px rgba(138,107,255,.25);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;transform:translateY(-6px) scale(.98);transform-origin:top left;transition:opacity .18s ease,transform .18s cubic-bezier(.2,.8,.2,1);color:var(--text)}
.cal-pop.on{opacity:1;transform:none}
.cal-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.cal-h b{font-size:14.5px;text-transform:capitalize}
.cal-n{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#d9d3ff;cursor:pointer;padding:0}
.cal-n:hover:not(:disabled){border-color:#a99bff;background:rgba(138,107,255,.18)}.cal-n:disabled{opacity:.3;cursor:default}
.cal-w,.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center}
.cal-w span{font-size:10.5px;font-weight:700;color:var(--dim);letter-spacing:.06em;padding:4px 0}
.cal-g button{height:34px;border-radius:10px;border:1px solid transparent;background:none;color:var(--text);font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:0;transition:background .15s,border-color .15s,box-shadow .15s,transform .12s}
.cal-g button:hover:not(:disabled){background:rgba(138,107,255,.18);border-color:rgba(169,155,255,.4)}
.cal-g button:active:not(:disabled){transform:scale(.92)}
.cal-g button.tod{border-color:rgba(169,155,255,.55);color:#cfc6ff}
.cal-g button.sel{background:linear-gradient(135deg,#8a6bff,#6a4be0);border-color:transparent;color:#fff;box-shadow:0 0 16px rgba(138,107,255,.55)}
.cal-g button:disabled{opacity:.25;cursor:default}
.cal-f{display:flex;justify-content:center;margin-top:8px}.cal-f:empty{display:none}
.cal-f button{border:1px solid rgba(169,155,255,.4);background:rgba(138,107,255,.14);color:#e6e0ff;font:inherit;font-size:12.5px;font-weight:700;padding:7px 14px;border-radius:99px;cursor:pointer}
.cal-f button:hover{background:rgba(138,107,255,.28)}
.seg-ghost{position:fixed;z-index:50;pointer-events:none;transition:left .36s cubic-bezier(.65,0,.35,1),top .36s cubic-bezier(.65,0,.35,1),width .36s cubic-bezier(.65,0,.35,1),height .36s cubic-bezier(.65,0,.35,1),opacity .2s ease}
.seg a.seg-arr{background:none!important;box-shadow:none!important;border-color:transparent!important}
body.swap .wrap>*{animation:none}
body.swap .ac-ch,body.swap .ac-shs,body.swap .sg-card,body.swap .sf-ks{animation:cvpSoft .32s ease both}
@keyframes cvpSoft{from{opacity:.35}to{opacity:1}}
/* Cases des modèles calculées seules (comme les formules de l'ancienne feuille) : pas cliquables, en rose la modèle de la ligne */
.sg input.auto{cursor:default;opacity:1}.sg input.auto:hover{border-color:rgba(169,155,255,.45);box-shadow:none}.sg input.auto:active{transform:none}
.sg input.auto.own:checked{background:linear-gradient(135deg,#ff6b8b,#ff4f6d);border-color:#ff6b8b;box-shadow:0 0 12px rgba(255,79,109,.5)}
.sg input.auto.own:checked::after{background:#fff}
.sg-card .sg-today{margin-left:auto}.sg-card .sg-today~.sg-new{margin-left:0}.sg-today .ic{width:15px;height:15px}
/* SFS : cartes du haut plus compactes et alignées, légende du tableau (24 oct. 2026) */
.sf-ks{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0 14px}
.sf-k{padding:12px 13px;gap:10px;min-height:68px;border-radius:14px}
.sf-k::after{width:70px;height:70px;right:-26px;top:-26px;opacity:.7}
.sf-ki{width:34px;height:34px;border-radius:10px}.sf-ki .ic{width:18px;height:18px}
.sf-k>span:last-child{min-width:0;display:flex;flex-direction:column;gap:2px}
.sf-k b{font-size:20px;line-height:1.1;white-space:nowrap}.sf-k small{font-size:11.5px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-leg{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:2px 2px 12px;font-size:12px;color:var(--dim)}
.sg-leg>span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.sg-leg .lg{display:inline-grid;place-items:center;width:16px;height:16px;border-radius:5px;border:1.5px solid rgba(169,155,255,.45);background:rgba(255,255,255,.03)}
.sg-leg .lg.on{background:linear-gradient(135deg,#3ddc97,#06d6a0);border-color:#3ddc97;box-shadow:0 0 10px rgba(61,220,151,.4)}
.sg-leg .lg.own{background:linear-gradient(135deg,#ff6b8b,#ff4f6d);border-color:#ff6b8b;box-shadow:0 0 10px rgba(255,79,109,.45)}
.sg-leg .lg.on::after,.sg-leg .lg.own::after{content:"";width:9px;height:9px;background:#06231a;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5l5 5L20 6.5' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5l5 5L20 6.5' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.sg-leg .lg.own::after{background:#fff}
.sg-leg .lg-row{width:22px;height:12px;border-radius:4px;border:1px solid var(--line)}
.sg-leg .lg-row.today{background:rgba(138,107,255,.35);box-shadow:inset 3px 0 0 #a99bff}.sg-leg .lg-row.fut{background:rgba(76,201,240,.12)}
.sg-leg .lg-t{flex-basis:100%;white-space:normal;display:block;font-size:11.5px;opacity:.85}.sg-leg .lg-t b{color:#d9d3ff;font-weight:600}
/* Même page, version plus fraîche : aucune animation */
body.calm .wrap,body.calm .wrap *{animation:none!important}
/* Menu ouvert moins large : on revient plus vite sur la page (Charles, 24 oct. 2026) */
@media (max-width:899px){body.drawer .side{width:min(212px,86vw);transition:width .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease}}
@media (min-width:900px){.side{width:212px}body.app .shell{margin-left:212px}}
/* Menu : se referme quasi instantanément quand la souris sort (Charles, 24 oct. 2026) */
@media (max-width:899px){.side{transition:width .12s ease-out,box-shadow .12s ease-out}.side .brand span,.snav a span,.me-id>span:last-child{transition:opacity .08s ease}.snav .sg{transition:color .08s ease}}
/* Clients, version minimaliste (24 oct. 2026) */
.cl2-tabs a{display:inline-flex;align-items:center;justify-content:center;gap:8px}.cl2-tabs a .ic{width:17px;height:17px}
.cl2-tabs em,.cl2-pf em{font-style:normal;font-size:11.5px;font-weight:700;padding:1px 8px;border-radius:99px;background:rgba(255,255,255,.08)}.cl2-tabs a.on em,.cl2-pf a.on em{background:rgba(255,255,255,.2)}
.cl2-mods{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:12px 0 14px;padding:2px}.cl2-mods::-webkit-scrollbar{display:none}
.cl2-mods a{flex:none;display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 5px;border-radius:99px;border:1px solid var(--line);color:var(--dim);font-size:13px;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.cl2-mods a:first-child{padding:5px 14px}.cl2-mods a:hover{color:#fff;border-color:rgba(169,155,255,.5)}
.cl2-mods a.on{background:rgba(138,107,255,.22);border-color:#8a6bff;color:#fff;box-shadow:0 0 14px rgba(138,107,255,.3)}
.cl2-card{padding:16px 18px}
.cl2-why{display:flex;gap:10px;align-items:flex-start;margin:0 0 10px;color:var(--dim);font-size:13px;line-height:1.5}.cl2-why>.ic{flex:none;width:18px;height:18px;margin-top:2px;color:#a99bff}.cl2-why .ic{width:14px;height:14px;vertical-align:-2px;color:#a99bff}.cl2-why b{color:#fff}
.cl2-pf{display:inline-flex;gap:6px;margin:0 0 12px;padding:4px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.cl2-pf a{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:9px;color:var(--dim);font-size:13px;text-decoration:none}.cl2-pf a.on{background:rgba(138,107,255,.28);color:#fff}
.cl2{list-style:none;margin:0;padding:0}
.cl2-r{display:grid;grid-template-columns:28px minmax(0,1fr) 110px 100px auto;align-items:center;gap:14px;padding:11px 6px;border-top:1px solid rgba(255,255,255,.05)}.cl2>.cl2-r:first-child{border-top:0}
.cl2-n{color:var(--dim);font-size:12.5px;font-weight:600;text-align:center}.cl2>.cl2-r:nth-child(-n+3) .cl2-n{color:#ffd166}
.cl2-who{min-width:0;display:flex;flex-direction:column;gap:4px}.cl2-who>b{font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cl2-who>span{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--dim)}.cl2-who i{font-style:normal}
.cl2-m{display:inline-flex;align-items:center;gap:5px;color:var(--c);font-weight:600}.cl2-m .av{width:18px;height:18px}
.cl2-v,.cl2-d{display:flex;flex-direction:column;text-align:right}.cl2-v b{font-size:15px}.cl2-d b{font-size:13px;font-weight:600}.cl2-v small,.cl2-d small{font-size:11px;color:var(--dim)}
.cl2-a{display:flex;gap:6px;justify-content:flex-end;min-width:40px}.cl2-a form{margin:0}
.ib{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.04);color:#d9d3ff;cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s}
.ib .ic{width:16px;height:16px}.ib:hover{border-color:#a99bff;box-shadow:0 0 12px rgba(138,107,255,.35)}
.ib.ai{color:#f08ad8}.ib.ok{color:#3ddc97}.ib.ok:hover{border-color:#3ddc97;box-shadow:0 0 12px rgba(61,220,151,.35)}
.cl2-r .relbox{grid-column:2/-1}
.cl2-empty{color:var(--dim);text-align:center;padding:24px 0}
@media (max-width:699px){.cl2-r{grid-template-columns:22px minmax(0,1fr) auto;gap:10px}.cl2-d{display:none}.cl2-a{grid-column:2/-1;justify-content:flex-start}.cl2-tabs a span{font-size:12.5px}}
/* Activité, version minimaliste (24 oct. 2026) */
.ac2-top{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.ac2-top .stab{flex:0 1 320px;margin:0}.ac2-top .ac-day{margin:0}
.ac2-ks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0}
.ac2-k{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid var(--line)}.ac2-k b{display:block;font-size:24px;font-weight:800}.ac2-k small{color:var(--dim);font-size:12px}
.ac2-k.v b{color:#a99bff}.ac2-k.p b{color:#ff6b8b}.ac2-k.o b{color:#ffb547}
.ac2-shs{padding:16px 18px}.ac2-t{font-size:15px;margin:0 0 6px}
.ac2-sh{padding:12px 0;border-top:1px solid rgba(255,255,255,.06)}.ac2-sh:first-of-type{border-top:0}
.ac2-sh-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 16px;margin-bottom:8px}.ac2-sh-h>b{font-size:14.5px;min-width:70px}
.ac2-n{font-size:12.5px;color:var(--dim)}.ac2-n b{font-size:14px;margin-right:3px}.ac2-n.v b{color:#a99bff}.ac2-n.p b{color:#ff6b8b}.ac2-n.o b{color:#ffb547}
.ac2-pp{display:flex;flex-wrap:wrap;gap:8px}
.ac2-p{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:99px;background:rgba(255,255,255,.04);border:1px solid var(--line);font-size:12.5px}
.ac2-p>b{font-size:13.5px}.ac2-p small{color:var(--dim);font-size:11px}.ac2-p em{font-style:normal}.ac2-p em.up{color:#3ddc97}.ac2-p.z{opacity:.55}
@media (max-width:599px){.ac2-ks{grid-template-columns:1fr 1fr 1fr;gap:6px}.ac2-k{padding:10px}.ac2-k b{font-size:19px}.ac2-k small{font-size:10.5px}}
/* Planning : tient dans la page en demi-écran, sans barre de défilement (24 oct. 2026) */
.pl-edit{display:flex;justify-content:flex-end;margin-top:10px}
@media (min-width:700px) and (max-width:1279px){
  .ptable:not(.edit){min-width:0;border-spacing:3px}
  .ptable:not(.edit) thead th{white-space:normal;font-size:11px;line-height:1.25;padding:3px 4px}
  .ptable:not(.edit) th.sh{width:50px;font-size:11px}
  .ptable:not(.edit) td{padding:3px}
  .ptable:not(.edit) .pchip{padding:4px 6px;font-size:12px;gap:3px;flex-wrap:wrap}
  .ptable:not(.edit) .pchip b{overflow:hidden;text-overflow:ellipsis;max-width:100%}
  .ptable:not(.edit) .pdots .mav.xs{width:12px;height:12px;margin-right:1px}
}
.cl2-mods{flex-wrap:wrap;overflow:visible}
/* Téléphone : planning jour par jour, Supervision et Paiement sans débordement (24 oct. 2026) */
.pmob{display:none}
@media (max-width:699px){
  .ptable-wrap:has(.ptable:not(.edit)){display:none}
  .pmob{display:grid;gap:10px}
  .pmob-d{padding:10px 12px;border-radius:14px;background:rgba(0,0,0,.18);border:1px solid var(--line)}.pmob-d.today{border-color:rgba(169,155,255,.5);background:rgba(138,107,255,.1)}
  .pmob-t{display:block;font-size:13.5px;margin-bottom:6px}
  .pmob-s{display:grid;grid-template-columns:62px minmax(0,1fr);gap:8px;align-items:start;padding:5px 0;border-top:1px solid rgba(255,255,255,.05)}.pmob-s>span{font-size:11.5px;color:var(--dim);padding-top:6px}
  .pmob-s>div{display:flex;flex-wrap:wrap;gap:5px}.pmob-s .pchip{margin:0}
  .ol-gm{margin-left:0;max-width:100%;flex-wrap:wrap}
  .payit{display:grid;gap:8px}.payit .filebtn,.payit .btn{width:100%;white-space:normal;text-align:center;justify-content:center}
}
@media (max-width:699px){
  .grid.inb.ro,.grid.inb.ro tbody{display:block;min-width:0;width:100%}
  .grid.inb.ro tr:first-child{display:none}
  .grid.inb.ro tr{display:block;padding:10px 0;border-top:1px solid var(--line)}
  .grid.inb.ro th{display:block;border:0;padding:0 0 6px;text-align:left}
  .grid.inb.ro td{display:flex;flex-wrap:wrap;align-items:center;gap:5px;border:0;padding:3px 0}
  .grid.inb.ro td::before{content:attr(data-l);width:62px;flex:none;font-size:11.5px;color:var(--dim)}
}
.tts-c{margin-top:22px}
/* Patrimoine : plus de visuel (24 oct. 2026) */
.pat-ks em{font-style:normal;font-weight:700}.pat-ks em.up{color:#3ddc97}.pat-ks em.down{color:#ff6b8b}
.pat-svg{width:100%;height:170px;display:block;overflow:visible}.pat-svg circle{cursor:pointer}
.pat-ax{display:flex;justify-content:space-between;font-size:11.5px;color:var(--dim);margin-top:6px}
.pat-bar{display:flex;height:16px;border-radius:99px;overflow:hidden;gap:2px;margin:6px 0 14px;box-shadow:0 0 18px rgba(138,107,255,.25)}.pat-bar i{display:block;height:100%;min-width:3px}
.pat-l{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px 18px}
.pat-l>div{display:grid;grid-template-columns:12px 1fr auto;column-gap:8px;align-items:center;font-size:13px}.pat-l em{font-style:normal;color:var(--dim);font-size:12px}.pat-l>div>span:last-child{grid-column:2/-1;color:var(--dim);font-size:12px}
.pat-d{display:inline-block;width:10px;height:10px;border-radius:50%;box-shadow:0 0 8px currentColor;margin-right:6px;vertical-align:0}
.pat-l .pat-d{margin:0}

/* barre des périodes fixée en haut, onglets dessous (24 oct. 2026) */
.tper{position:sticky;top:calc(var(--toptop,0px) + 8px);z-index:7}
.seg.per.tper{background:rgba(14,11,40,.86);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 30px rgba(0,0,0,.35)}
.efl.tper{padding:6px 0;background:linear-gradient(var(--bg,#0b0920) 70%,transparent)}
.tper~.toc[data-spy]{top:calc(var(--toptop,0px) + 8px + var(--tph,48px))}
@media (max-width:899px){.tper{--toptop:58px}.tper~.toc[data-spy]{--toptop:58px}}
/* « feuille » : la forme de ses Google Sheets (Revenus, Mensualités), 24 oct. 2026 */
.sh{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,215px),1fr));gap:16px;margin:14px 0}
.sh-c{display:flex;flex-direction:column;gap:3px;border-radius:14px;overflow:hidden;align-self:start}
.sh-r{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:3px;min-height:34px}
.sh-r>span{display:flex;align-items:center;justify-content:center;text-align:center;padding:6px 6px;background:#45434f;color:#fff;font-weight:700;font-size:12px;line-height:1.25}
.sh-r i{font-style:normal}.sh-r>span a{color:inherit;text-decoration:underline;text-decoration-color:rgba(255,255,255,.35)}
.sh-v{display:flex;align-items:center;justify-content:center;gap:3px;margin:0;padding:0 8px;background:color-mix(in srgb,var(--c) 62%,#16132f);color:#14121f;font-weight:800;font-size:13px;white-space:nowrap;min-width:0}
.sh-v input,.sh-v input:focus{background:none;border:0;border-radius:0;box-shadow:none;outline:0;margin:0;padding:7px 0;width:100%;min-width:0;text-align:center;font:inherit;color:inherit}
.sh-v input::placeholder{color:rgba(20,18,31,.42)}
.sh-v em{font-style:normal;opacity:.7}
.sh-v select{background:none;border:0;box-shadow:none;color:inherit;font:inherit;padding:0 2px;margin:0;width:auto;min-width:0;-webkit-appearance:none;appearance:none;cursor:pointer}
.sh-v:focus-within{box-shadow:inset 0 0 0 2px rgba(255,255,255,.9)}
.sh-h,.sh-t{min-height:38px}.sh-h>span,.sh-t>span{background:#2a2833}
.sh-h{min-height:48px}.sh-h>span{font-size:15px}.sh-h .sh-v{background:var(--c);font-size:17px;box-shadow:inset 0 0 22px rgba(255,255,255,.25)}
.sh-t .sh-v{background:color-mix(in srgb,var(--c) 88%,#16132f)}
.sh-gap{height:10px}
.sh-top{max-width:560px;margin:4px auto 0}.sh-big{--c:#8fd694;border-radius:14px;overflow:hidden;box-shadow:0 0 26px color-mix(in srgb,var(--c) 30%,transparent)}.sh-big.neg{--c:#ff8a9a}
.sh-big .sh-v{font-size:19px}
.sh-names{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:10px}
.sh-mods{margin-bottom:12px}
/* Mensualités */
.mn-wrap{display:flex;flex-direction:column;gap:16px;margin-top:8px}
.mn{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr) 96px auto;transition:opacity .2s}
.mn>.mn-l{flex-direction:column;gap:0;padding:2px 8px}
.mn-l input,.mn-l input:focus{background:none;border:0;border-radius:0;box-shadow:none;outline:0;margin:0;padding:3px 0;width:100%;text-align:center;color:#fff;font-weight:700;font-size:13px}
.mn-l .mn-card,.mn-l .mn-card:focus{font-weight:500;font-size:11.5px;color:rgba(255,255,255,.62);padding-top:0}
.mn-l input::placeholder{color:rgba(255,255,255,.4)}
.mn>.mn-x{gap:4px;padding:0 6px;background:#2a2833}
.mn-cat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:8px;color:#fff;font-size:11.5px;padding:3px 6px;width:auto;margin:0}
.mn-on{display:flex;margin:0;padding:4px}.mn-on input{width:16px;height:16px;margin:0;accent-color:var(--c)}
.mn .ib{width:28px;height:28px}
.mn.off{opacity:.42}
.mn-hd .sh-v{font-size:13px}.mn-hd>.mn-x{min-width:40px}
.mn-add>span,.mn-add .sh-v{background:rgba(255,255,255,.045);color:#fff}
.mn-add .sh-v input::placeholder{color:rgba(255,255,255,.38)}
.mn-tot{max-width:620px;margin:20px auto 6px}.mn-tot .sh-v small{font-weight:600;opacity:.75}
@media (max-width:620px){
  .mn{grid-template-columns:1fr 1fr}.mn>.mn-l{grid-column:1/-1}.mn>.mn-x{grid-column:1/-1;justify-content:flex-end;min-height:34px}
  .mn-hd .sh-v,.mn-hd>.mn-x{display:none}.mn-hd>span:first-child{grid-column:1/-1}
}
/* Paiements : adresse visible et copiable */
.adr{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:9px;background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--text);cursor:pointer;font:inherit;transition:border-color .15s,background .15s}
.adr code{font-size:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.2px}
.adr svg{width:14px;height:14px;opacity:.75}.adr:hover{border-color:var(--line2);background:rgba(255,255,255,.1)}.adr.ok{border-color:var(--ok)}
.sk-lg{display:inline-flex;align-items:center;gap:4px}
.ol-r,.svc{cursor:default}.ol-r:hover,.svc:hover{transform:none}

/* Suivi des managers (Supervision), 24 oct. 2026 */
.suivi{display:flex;flex-direction:column;gap:6px}
.sv-r{display:grid;grid-template-columns:150px 150px minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 12px;border-radius:12px;background:var(--card2);border:1px solid var(--line)}
.sv-h{display:flex;flex-direction:column;line-height:1.2}.sv-h b{font-size:14px}.sv-h small{font-size:11.5px;color:var(--dim)}
.sv-t{font-size:13.5px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sv-k{font-style:normal;font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;background:rgba(76,201,240,.16);color:#8fe1ff}.sv-k.f{background:rgba(255,209,102,.16);color:#ffd98a}
.sv-s{font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px;white-space:nowrap;background:rgba(255,255,255,.06);color:var(--dim)}
.sv-r.on{border-color:rgba(61,220,151,.5)}.sv-r.on .sv-s,.sv-r.ok .sv-s{background:rgba(61,220,151,.16);color:#7cf0bd}
.sv-r.bad .sv-s{background:rgba(255,79,109,.16);color:#ff9db0}.sv-r.bad{border-color:rgba(255,79,109,.35)}
.sv-r.next .sv-s{background:rgba(169,155,255,.14);color:#c9bfff}
.sv-card{margin-bottom:14px}
@media (max-width:760px){.sv-r{grid-template-columns:1fr auto;gap:6px 10px}.sv-w{order:3}.sv-t{grid-column:1/-1;order:4}}

/* Ventes : tentatives de vente à relire (25 oct. 2026) */
.vt-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vt-top .vt-d{font-weight:700;min-width:84px;text-align:center}
.vt-top .vt-sum{margin-left:auto;color:var(--mute,#a9a3c9);font-size:.88rem}
.vt-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.vt-tabs a{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.1);color:inherit;text-decoration:none;font-size:.9rem}
.vt-tabs a.on{background:rgba(155,123,255,.22);border-color:rgba(155,123,255,.55)}
.vt-who{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 12px}
.vt-who .chip{text-decoration:none}
.vt-list{display:flex;flex-direction:column;gap:10px}
.vt .cz-f{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.vt-msg{margin:10px 0;padding:10px 12px;border-radius:12px;background:rgba(155,123,255,.12);border:1px solid rgba(155,123,255,.3)}
.vt-msg small{display:block;opacity:.7;font-size:.75rem;margin-bottom:4px}
.vt-msg p{margin:0;white-space:pre-wrap;word-break:break-word}
.vt-conv{margin:8px 0 10px}
.vt-th{display:flex;flex-direction:column;gap:6px;max-height:420px;overflow:auto;padding:10px;border-radius:12px;background:rgba(0,0,0,.22)}
.vb{max-width:82%;padding:7px 11px;border-radius:14px;white-space:pre-wrap;word-break:break-word;font-size:.92rem;line-height:1.35}
.vb small{display:block;opacity:.65;font-size:.72rem;margin-bottom:2px}
.vb.fan{align-self:flex-start;background:rgba(255,255,255,.07)}
.vb.mod{align-self:flex-end;background:rgba(155,123,255,.2)}
.vb.hl{outline:2px solid #ff4d6d;box-shadow:0 0 14px rgba(255,77,109,.45)}
.vt-f{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.vt-tags{display:flex;gap:6px;flex-wrap:wrap}
.vt-tags .chk{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);cursor:pointer;font-size:.88rem}
.vt-tags .chk input{accent-color:#ff4d6d}
.vt-tags .chk:has(input:checked){border-color:#ff4d6d;background:rgba(255,77,109,.14)}
.vt-f textarea{width:100%;box-sizing:border-box}
.vt-b{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media (max-width:620px){.vb{max-width:92%}.vt-top .vt-sum{margin-left:0;width:100%}}
.mg-list .mg-g{list-style:none;margin:18px 0 6px;padding:0 4px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mute,#a9a3c9)}
.mg-list .mg-g:first-child{margin-top:4px}
/* Statistiques : 4 graphiques avec le chiffre clé en tête (25 oct. 2026) */
.gk{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:-2px 0 10px;color:inherit;text-decoration:none}
.gk b{font-size:1.75rem;font-weight:800;letter-spacing:-.01em}
.gk span{color:var(--mute,#a9a3c9);font-size:.86rem}
/* SFS : blanche = déjà fait il y a plus de 30 jours, rouge = fait dans les 30 derniers jours (25 oct. 2026) */
.sg input.auto.old:checked{background:#f4f2ff;border-color:#f4f2ff;box-shadow:0 0 8px rgba(255,255,255,.25)}
.sg input.auto.old:checked::after{background:#1b1640}
.sg input.auto.r30:checked{background:linear-gradient(135deg,#ff6b8b,#ff4f6d);border-color:#ff6b8b;box-shadow:0 0 12px rgba(255,79,109,.5)}
.sg input.auto.r30:checked::after{background:#fff}
.sg-leg .lg.old{background:#f4f2ff;border-color:#f4f2ff}
.sg-leg .lg.r30{background:linear-gradient(135deg,#ff6b8b,#ff4f6d);border-color:#ff6b8b;box-shadow:0 0 10px rgba(255,79,109,.45)}
.sg-leg .lg.old::after,.sg-leg .lg.r30::after{content:"";width:9px;height:9px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5l5 5L20 6.5' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 12.5l5 5L20 6.5' fill='none' stroke='%23000' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}
.sg-leg .lg.old::after{background:#1b1640}.sg-leg .lg.r30::after{background:#fff}
/* Candidatures : message de recrutement (25 oct. 2026) */
.recrut summary{display:flex;align-items:center;gap:12px;cursor:pointer;list-style:none}
.recrut summary::-webkit-details-marker{display:none}
.recrut summary>span{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.recrut summary small{font-size:.82rem}
.recrut-t{white-space:pre-wrap;word-break:break-word;font:inherit;font-size:.92rem;line-height:1.5;margin:14px 0 0;padding:14px;border-radius:12px;background:rgba(0,0,0,.25)}
@media (max-width:620px){.recrut summary{flex-wrap:wrap}.recrut summary .btn{margin-left:auto}}
/* Liens de suivi sous les feuilles SFS (25 oct. 2026) */
.tl-card .sfs-msg-h{flex-wrap:wrap;gap:8px 12px}
.tl-mods{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 12px}
.tl-mod{display:inline-flex;align-items:center;gap:7px;padding:6px 12px 6px 6px;border-radius:999px;border:1px solid var(--line);background:var(--card2);color:var(--text);text-decoration:none;font-size:13px;transition:border-color .15s,box-shadow .15s}
.tl-mod:hover{border-color:var(--line2)}
.tl-mod.on{border-color:var(--mc,#ff2e63);box-shadow:0 0 0 1px var(--mc,#ff2e63) inset,0 0 14px color-mix(in srgb,var(--mc,#ff2e63) 35%,transparent)}
.tl-new{margin:0 0 12px}.tl-new>summary{list-style:none;display:inline-flex;cursor:pointer}.tl-new>summary::-webkit-details-marker{display:none}
.tl-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 14px;margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card2)}
.tl-form .tl-mode,.tl-form .tl-go{grid-column:1/-1}
.tl-f{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:13px}.tl-f>span{color:var(--mut,#a9a3d6)}
.tl-f input,.tl-f select,.tl-f textarea{width:100%;min-width:0;box-sizing:border-box}
.tl-f small{color:var(--mut,#a9a3d6);font-size:11.5px;line-height:1.35}
.tl-mode{display:inline-flex;width:max-content;max-width:100%}.tl-mode label{display:inline-flex;cursor:pointer}.tl-mode input{position:absolute;opacity:0;pointer-events:none}
.tl-mode span{padding:6px 14px;border-radius:999px;font-size:13px}.tl-mode input:checked+span{background:rgba(255,46,99,.18);color:#fff;box-shadow:0 0 0 1px rgba(255,46,99,.5) inset}
.tl-go{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.tl-list{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.tl-in{padding:0 16px 16px}
.tl-url{display:flex;gap:8px;margin-bottom:12px}.tl-url input{flex:1;min-width:0;font-size:12.5px}
.tl-kp{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin-bottom:12px}
.tl-kp span{display:flex;flex-direction:column;align-items:center;padding:9px 6px;border-radius:12px;background:var(--card2);border:1px solid var(--line);text-align:center}
.tl-kp b{font-size:15px}.tl-kp small{font-size:11px;color:var(--mut,#a9a3d6)}
.tl-gs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.tl-g{min-width:0;padding:10px 10px 4px;border:1px solid var(--line);border-radius:12px;background:var(--card2)}
.tl-g h4{margin:0 0 4px;font-size:12.5px;font-weight:600;display:flex;justify-content:space-between;gap:6px}.tl-g h4 b{color:#fff}
.tl-g .bars{height:110px;gap:2px}.tl-g .bars .bar span{font-size:9.5px;overflow:visible;white-space:nowrap}.tl-g .legend{display:none}
.tl-g .bar.nil .bstack{height:2px!important;background:rgba(255,255,255,.07);box-shadow:none}
.tl-more{margin-top:10px}
@media (max-width:900px){.tl-form{grid-template-columns:1fr 1fr}.tl-form .tl-one,.tl-form .tl-many{grid-column:1/-1}.tl-gs{grid-template-columns:1fr}.tl-kp{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:560px){.tl-form{grid-template-columns:1fr}.tl-kp{grid-template-columns:repeat(2,minmax(0,1fr))}.tl-in{padding:0 12px 12px}}
.tl-f[hidden]{display:none}
.tl-mode{gap:4px;padding:4px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.tl-mode span{display:block;white-space:nowrap;color:var(--mut,#a9a3d6)}
/* Liens de suivi, v177 : axe des dates dans la carte, barre de filtres */
.tl-g{overflow:hidden}.tl-g .bars .bar span{display:none}.tl-g .bars{height:100px}
.tl-ax{display:flex;justify-content:space-between;gap:6px;margin:6px 0 4px;font-size:10.5px;color:var(--mut,#a9a3d6);white-space:nowrap}
.tl-ax span{min-width:0;overflow:hidden;text-overflow:ellipsis}
.tl-bar{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:8px;align-items:center;margin-top:4px}
.tl-bar .sf-qw{margin:0}.tl-bar select{min-width:0;max-width:220px}
@media (max-width:700px){.tl-bar{grid-template-columns:1fr 1fr}.tl-bar .sf-qw{grid-column:1/-1}.tl-bar select{max-width:none;width:100%}.tl-n{grid-column:1/-1}}
.tl-url input{text-overflow:ellipsis}
.tl-more[hidden]{display:none}
@media (max-width:700px){.tl-bar select{font-size:13px;padding-left:10px;padding-right:26px}}
.sg-leg .lg::after{content:none}
.sg-leg .lg.on::after,.sg-leg .lg.own::after,.sg-leg .lg.old::after,.sg-leg .lg.r30::after{content:"";position:static;border:0;border-radius:0;box-shadow:none}
/* Management plus visuel (25 oct. 2026) : frise de la journée, blocs avec avancement, icônes dessinées */
.mg-ic .ic{width:18px;height:18px;color:var(--lav)}.mg-s.ok .mg-ic .ic{color:var(--ok)}.mg-s.late .mg-ic .ic{color:var(--bad)}.mg-s.now .mg-ic .ic{color:var(--warn)}
.mg-tl{margin-top:12px;padding:14px 16px 12px}
.mg-tl-h{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;margin-bottom:10px}.mg-tl-h>b{font-size:14px}
.mg-tl-k{display:flex;gap:6px 12px;flex-wrap:wrap;font-size:11.5px;color:var(--dim)}.mg-tl-k>span{display:inline-flex;align-items:center;gap:5px}.mg-tl-k .mg-d{position:static;transform:none;width:9px;height:9px}
.mg-tl-r{position:relative;padding:0 6px}
.mg-tl-t{position:relative;height:16px;font-size:10.5px;color:var(--dim);font-variant-numeric:tabular-nums}.mg-tl-t span{position:absolute;transform:translateX(-50%);top:0}
.mg-tl-z{position:relative;height:74px;margin-top:2px;border-radius:12px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 1px,transparent 1px 100%),rgba(255,255,255,.025);border:1px solid var(--line)}
.mg-band{position:absolute;bottom:6px;height:16px;border-radius:8px;background:linear-gradient(90deg,rgba(169,155,255,.28),rgba(169,155,255,.12));border:1px solid rgba(169,155,255,.35);display:flex;align-items:center;justify-content:center;overflow:hidden}
.mg-band span{font-size:10px;font-weight:700;color:#e4defe;white-space:nowrap;padding:0 4px;overflow:hidden;text-overflow:ellipsis}
.mg-band.full{background:linear-gradient(90deg,rgba(6,214,160,.32),rgba(6,214,160,.14));border-color:rgba(6,214,160,.45)}.mg-band.late{background:linear-gradient(90deg,rgba(255,92,138,.3),rgba(255,92,138,.12));border-color:rgba(255,92,138,.5)}
.mg-d{position:absolute;top:calc(10px + var(--l,0) * 11px);width:12px;height:12px;border-radius:50%;transform:translateX(-50%);background:#6f6990;border:2px solid #120e26;box-sizing:border-box;transition:transform .15s}
.mg-d:hover{transform:translateX(-50%) scale(1.35)}
.mg-d.ok{background:var(--ok);box-shadow:0 0 8px rgba(6,214,160,.6)}.mg-d.late{background:var(--bad);box-shadow:0 0 8px rgba(255,92,138,.7)}.mg-d.now{background:var(--warn);box-shadow:0 0 10px rgba(255,209,102,.8);animation:mgblink 1.4s ease-in-out infinite}.mg-d.next{background:#4a4568}
@keyframes mgblink{50%{box-shadow:0 0 2px rgba(255,209,102,.3)}}
.mg-now{position:absolute;top:-4px;bottom:-4px;width:2px;margin-left:-1px;background:linear-gradient(180deg,#ff5c8a,#a99bff);box-shadow:0 0 8px rgba(255,92,138,.7);border-radius:2px;pointer-events:none}
.mg-now span{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:10px;font-weight:700;color:#fff;background:#ff4f7d;padding:1px 5px;border-radius:6px;white-space:nowrap;font-style:normal}
.mg-list .mg-g{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:4px 10px;margin:18px 0 6px;padding:8px 12px;border-radius:12px;background:rgba(169,155,255,.06);border:1px solid var(--line);letter-spacing:normal;text-transform:none}
.mg-list .mg-g span{font-size:.8rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#d9d3ff}
.mg-list .mg-g small{font-size:11.5px;color:var(--dim);font-variant-numeric:tabular-nums}
.mg-list .mg-g b{grid-column:4;font-size:12px;font-variant-numeric:tabular-nums;color:var(--text)}
.mg-list .mg-g i{grid-column:1/-1;height:4px;border-radius:3px;background:linear-gradient(90deg,var(--ok) calc(var(--p)*1%),rgba(255,255,255,.07) 0)}
.mg-list .mg-g.full{border-color:rgba(6,214,160,.4)}.mg-list .mg-g.full b{color:var(--ok)}.mg-list .mg-g.late{border-color:rgba(255,92,138,.45)}.mg-list .mg-g.late b{color:var(--bad)}
@media (max-width:560px){.mg-tl{padding:12px 10px 10px}.mg-band span{font-size:9px}.mg-tl-z{height:70px}.mg-list .mg-g{grid-template-columns:1fr auto}.mg-list .mg-g small{grid-column:1;grid-row:2}.mg-list .mg-g b{grid-column:2;grid-row:1/3}}
/* SFS : actions à gauche, lignes déplaçables, colonnes figées comme la feuille (25 oct. 2026) */
.sg td.act,.sg th.act{padding:0 4px;white-space:nowrap;min-width:92px}
.sg td.act button{margin:0 1px}.sg td.act .sg-mv{cursor:grab;touch-action:none}.sg td.act .sg-mv:active{cursor:grabbing}.sg td.act .sg-mv:hover{color:#fff;background:rgba(169,155,255,.2)}
.sg tr.sg-ghost td{background:rgba(138,107,255,.3)!important;opacity:.9}
.sg-fzon .sg tr[data-id]>td[style],.sg-fzon .sg tr[data-id]>td{background-clip:padding-box}
.sg-fzon .sg tr[data-id]>:nth-child(-n+10){background-color:#0f0c27!important}
.sg-fzon .sg tr[data-id]:nth-child(odd)>:nth-child(-n+10){background-color:#110e2a!important}
.sg-fzon .sg tr.fut>:nth-child(-n+10){background-color:#0f1130!important}
.sg-fzon .sg tr.today>:nth-child(-n+10){background-color:#221b4d!important}
.sg-fzon .sg tr[data-id]:hover>:nth-child(-n+10){background-color:#1b1640!important}
.sg-fzon .sg tr[data-id]>td.sep:nth-child(-n+10){background-color:#0f0c27!important}
.sg-fzon .sg tr.sg-h>th:nth-child(-n+10){background:linear-gradient(180deg,#2a2160,#1d1747)!important}
.mg-tl-s{overflow-x:auto;margin:0 -4px;padding:18px 4px 2px;scrollbar-width:thin;scrollbar-color:rgba(138,107,255,.4) transparent}
.mg-tl-r{min-width:640px}.mg-tl-z{height:100px}
@media (max-width:560px){.mg-tl-z{height:100px}.mg-band span{font-size:10px}}
.mg-tl-r{min-width:900px}.mg-tl-z{height:112px}
.mg-band{bottom:24px;height:9px;overflow:visible;border-radius:5px}
.mg-band span{position:absolute;top:13px;left:50%;transform:translateX(-50%);overflow:visible;font-size:10.5px;padding:0;color:#cfc7f5}
.mg-band.full span{color:#7ff0c9}.mg-band.late span{color:#ff9db6}
@media (min-width:1100px){.mg-tl-r{min-width:0}}
