/* Police Inter (SIL Open Font License), servie par Kairos : aucune demande vers un autre site */
@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff) format('woff')}
@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff) format('woff')}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600.woff) format('woff')}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700.woff) format('woff')}
@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/inter-800.woff) format('woff')}
/* Kairos · styles (repris du prototype validé) */
html[data-theme=braise]{--acc:#FF8A3D;--acc2:#8B5CF6;--b1:#FF9A4A;--b2:#FFC46B;--b3:#FF6A3D;--b4:#9B6BFF}
html[data-theme=aurore]{--acc:#A3E635;--acc2:#FF8A3D;--b1:#B6F25A;--b2:#FFB86B;--b3:#5FD07A;--b4:#FF8A3D}
html[data-theme=ocean]{--acc:#4CA8FF;--acc2:#5EEAD4;--b1:#5AA9FF;--b2:#8FD3FF;--b3:#5EEAD4;--b4:#7B8CFF}
html[data-theme=amethyste]{--acc:#C084FC;--acc2:#FB7185;--b1:#C084FC;--b2:#F0ABFC;--b3:#FB7185;--b4:#818CF8}
:root{--bg:#08080B;--glass:rgba(18,18,23,.72);--glass2:#15151A;--line:rgba(255,255,255,.08);--ink:#EFEFF3;--mut:#9A9AA6;--mut2:#8A8A95;--onacc:#120A04;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font:14px/1.45 Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-feature-settings:'cv11','ss01'}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--acc)}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* fond animé */
.bgfx{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.bgfx svg{position:absolute;inset:-10%;width:120%;height:120%}
.rib{fill:none;stroke-linecap:round;filter:url(#glow)}
.r1{animation:drift1 18s ease-in-out infinite alternate}.r2{animation:drift2 22s ease-in-out infinite alternate}.r3{animation:drift1 26s ease-in-out infinite alternate-reverse}
@keyframes drift1{to{transform:translate(-60px,30px)}}@keyframes drift2{to{transform:translate(50px,-40px)}}
.dots i{position:absolute;border-radius:50%;filter:blur(1px);animation:flo 9s ease-in-out infinite alternate}
@keyframes flo{to{transform:translateY(-24px)}}
.c1{background:radial-gradient(circle,var(--b1),transparent 70%)}.c2{background:radial-gradient(circle,var(--b2),transparent 70%)}.c3{background:radial-gradient(circle,var(--b3),transparent 70%)}.c4{background:radial-gradient(circle,var(--b4),transparent 70%)}
/* coque */
#app{position:relative;z-index:1}
.shell{display:flex;margin:20px;min-height:calc(100vh - 40px);border-radius:26px;background:rgba(10,10,13,.42);border:1px solid var(--line);backdrop-filter:blur(14px);box-shadow:0 40px 120px rgba(0,0,0,.6)}
.side{width:236px;flex:none;padding:22px 14px 16px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:3px;position:sticky;top:20px;align-self:flex-start;height:calc(100vh - 42px)}
.logo img{width:190px;display:block;margin:0 0 18px}
.n{display:flex;align-items:center;gap:11px;min-height:40px;padding:0 12px;border-radius:12px;color:#B4B4BF;font-weight:500;text-decoration:none;border:1px solid transparent}
.n svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.9;flex:none}
.n .c{margin-left:auto;font-size:12px;color:var(--mut2);background:rgba(255,255,255,.06);border-radius:6px;padding:0 6px}
.n.on{background:color-mix(in srgb,var(--acc) 13%,transparent);border-color:color-mix(in srgb,var(--acc) 55%,transparent);color:#fff;box-shadow:0 0 24px color-mix(in srgb,var(--acc) 20%,transparent)}
.n.on svg{stroke:var(--acc)}
.n.flash{animation:flash 1.6s ease}
@keyframes flash{0%{background:color-mix(in srgb,var(--acc) 40%,transparent);transform:translateX(-12px);opacity:0}30%{opacity:1;transform:none}100%{background:transparent}}
.lab{font-size:12px;color:var(--mut2);font-weight:600;padding:14px 12px 6px}
.add{color:var(--acc);font-weight:600}
.themes{margin-top:auto;background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:12px}
.themes p{margin:0 0 8px;font-size:12px;color:var(--mut);font-weight:600;display:flex;justify-content:space-between}
.themes p button{background:none;border:0;color:var(--mut);cursor:pointer;font-size:12px;padding:0}
/* boutons de thème : néon — cœur sombre, anneau lumineux ; le thème choisi s'allume. Au clic : une pulsion. */
.sw{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:6px 2px}
.sw button{flex:none;width:34px;height:34px;border-radius:50%;position:relative;cursor:pointer;padding:0;
  background:radial-gradient(circle,#101014 55%,color-mix(in srgb,var(--a) 22%,#101014));
  border:2px solid color-mix(in srgb,var(--a) 65%,transparent);
  box-shadow:0 0 8px color-mix(in srgb,var(--a) 40%,transparent),inset 0 0 9px color-mix(in srgb,var(--a) 30%,transparent);
  transition:transform .25s cubic-bezier(.3,1.6,.5,1),box-shadow .35s,border-color .35s}
.sw button::after{content:'';position:absolute;inset:32%;border-radius:50%;background:var(--a);opacity:.35;transition:opacity .35s,box-shadow .35s}
.sw button::before{content:'';position:absolute;inset:-3px;border-radius:50%;border:2px solid var(--a);box-shadow:0 0 14px var(--a);opacity:0;pointer-events:none}
.sw button:hover{transform:scale(1.08);box-shadow:0 0 12px color-mix(in srgb,var(--a) 60%,transparent),inset 0 0 12px color-mix(in srgb,var(--a) 40%,transparent)}
.sw button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.sw button.on{border-color:var(--a);box-shadow:0 0 6px var(--a),0 0 20px var(--a),0 0 40px color-mix(in srgb,var(--a) 50%,transparent),inset 0 0 12px var(--a)}
.sw button.on::after{opacity:1;background:color-mix(in srgb,var(--a) 70%,#fff);box-shadow:0 0 12px var(--a),0 0 3px #fff}
/* la pulsion : le bouton s'enfonce, rebondit, son cœur flashe et une onde de lumière part autour */
.sw button.pulse{animation:swPress .5s cubic-bezier(.3,1.5,.5,1) both,swShock .75s ease-out both}
.sw button.pulse::after{animation:swCore .5s ease-out both}
.sw button.pulse::before{animation:swWave .7s cubic-bezier(.2,.7,.3,1) both}
@keyframes swPress{0%{transform:scale(1)}22%{transform:scale(.78)}58%{transform:scale(1.25)}100%{transform:scale(1)}}
@keyframes swCore{0%{transform:scale(1);opacity:.5}35%{transform:scale(1.9);opacity:1;background:#fff;box-shadow:0 0 22px #fff,0 0 30px var(--a)}100%{transform:scale(1);opacity:1}}
@keyframes swWave{0%{transform:scale(.9);opacity:1}100%{transform:scale(2.5);opacity:0}}
@keyframes swShock{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--a) 55%,transparent),0 0 20px var(--a)}100%{box-shadow:0 0 0 20px color-mix(in srgb,var(--a) 0%,transparent),0 0 20px var(--a)}}
.sw.big{display:grid;grid-template-columns:repeat(4,1fr);justify-items:center;gap:8px}.sw.big button{width:52px;height:52px;border-width:2.5px}
.main{flex:1;min-width:0;padding:22px 24px 28px;display:flex;flex-direction:column;gap:16px}
/* éléments communs */
.card{background:var(--glass);border:1px solid var(--line);border-radius:20px;padding:16px 18px;backdrop-filter:blur(18px)}
.card h3{margin:0 0 8px;font-size:14px;color:#C9C9D2;font-weight:600;display:flex;align-items:center;gap:8px}
.card h3 .r{margin-left:auto;color:var(--mut);font-weight:500;font-size:13px}
.btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 16px;border-radius:12px;font-weight:600;background:var(--acc);color:var(--onacc);border:0;cursor:pointer;box-shadow:0 10px 30px color-mix(in srgb,var(--acc) 30%,transparent);white-space:nowrap}
.btn.g{background:rgba(255,255,255,.04);color:var(--ink);border:1px solid rgba(255,255,255,.14);box-shadow:none}
.btn.s{min-height:32px;padding:0 12px;font-size:13px;border-radius:10px}
.btn:disabled{opacity:.5;cursor:default}
.chip{font-size:12px;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:2px 8px;color:#B4B4BF;white-space:nowrap}
.chip.a{color:var(--acc);border-color:color-mix(in srgb,var(--acc) 55%,transparent);background:color-mix(in srgb,var(--acc) 10%,transparent)}
.empty{color:var(--mut);padding:14px 4px;font-size:13.5px}
/* ligne d'élément */
.row{display:flex;align-items:center;gap:12px;padding:10px 10px;border-radius:14px;position:relative}
.row+.row{border-top:1px solid var(--line)}
.row.hl{background:color-mix(in srgb,var(--acc) 9%,transparent);border:1px solid color-mix(in srgb,var(--acc) 50%,transparent)}
.row.flashy{animation:flash 2s ease}
.check{width:22px;height:22px;border-radius:50%;border:1.8px solid #55555F;background:none;flex:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.check.l{border-color:var(--acc)}
.check.d{background:var(--acc);border-color:var(--acc)}
.check.d:after{content:'';width:9px;height:5px;border-left:2px solid var(--onacc);border-bottom:2px solid var(--onacc);transform:rotate(-45deg) translate(1px,-1px)}
.row .t{flex:1;min-width:0}
.row .t>b{font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis}
.row.done .t>b{color:var(--mut2);text-decoration:line-through}
.row small{display:block;color:var(--mut2);font-size:12.5px}
.row small .late{color:var(--acc)}
.row .acts{display:flex;gap:6px;align-items:center}
.icon-btn{width:32px;height:32px;border-radius:9px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);cursor:pointer;display:flex;align-items:center;justify-content:center;color:#C9C9D2}
.menu{position:absolute;right:8px;top:calc(100% - 4px);z-index:20;background:#18181E;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:6px;min-width:220px;box-shadow:0 20px 50px rgba(0,0,0,.6)}
.menu button,.menu label{display:flex;width:100%;align-items:center;gap:8px;background:none;border:0;text-align:left;padding:9px 10px;border-radius:8px;cursor:pointer;color:var(--ink);font-size:13.5px}
.menu button:hover{background:rgba(255,255,255,.06)}
.menu input[type=date]{background:#0F0F13;border:1px solid var(--line);border-radius:8px;padding:6px 8px;color-scheme:dark;flex:1}
.time{width:46px;color:#B4B4BF;font-variant-numeric:tabular-nums;font-weight:500}
/* bandeau d'accueil */
.hero{position:relative;height:262px;flex:none}
.blob{position:absolute;inset:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 300' preserveAspectRatio='none'%3E%3Cpath d='M30 70C30 22 70 8 140 12C330 24 520 42 700 18C820 2 905 -2 955 32C992 58 1000 112 992 170C980 248 944 296 860 296C700 296 560 274 420 292C300 308 160 304 80 288C30 278 8 242 10 186C12 132 30 108 30 70Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 300' preserveAspectRatio='none'%3E%3Cpath d='M30 70C30 22 70 8 140 12C330 24 520 42 700 18C820 2 905 -2 955 32C992 58 1000 112 992 170C980 248 944 296 860 296C700 296 560 274 420 292C300 308 160 304 80 288C30 278 8 242 10 186C12 132 30 108 30 70Z'/%3E%3C/svg%3E") center/100% 100% no-repeat;background:#0A0A0D;overflow:hidden}
.blob:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,11,.92) 0%,rgba(8,8,11,.55) 48%,rgba(8,8,11,0) 80%)}
.scene{position:absolute;inset:-40px;opacity:0;animation:xfade 12s infinite}
.scene:nth-child(2){animation-delay:4s}.scene:nth-child(3){animation-delay:8s}
@keyframes xfade{0%{opacity:0;transform:scale(1.1)}8%,33%{opacity:1}42%,100%{opacity:0;transform:scale(1)}}
.scene i{position:absolute;border-radius:50%;animation:flo 7s ease-in-out infinite alternate}
.edge{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.edge path{fill:none;stroke-width:1.6;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 6px var(--acc))}
.ht{position:relative;z-index:2;padding:26px 40px}
.kick{font-size:12.5px;font-weight:600;color:#C8C8D2;letter-spacing:.06em;text-transform:uppercase}
.h1{margin:10px 0 0;font:600 50px/1.05 Inter,sans-serif;letter-spacing:-.045em}
.rot{position:relative;height:56px;overflow:hidden;font:600 50px/1.1 Inter,sans-serif;letter-spacing:-.045em;color:var(--acc)}
.rot span{position:absolute;left:0;top:0;opacity:0;white-space:nowrap;animation:roll 9s infinite}
.rot span:nth-child(2){animation-delay:3s}.rot span:nth-child(3){animation-delay:6s}
@keyframes roll{0%{opacity:0;transform:translateY(100%)}6%,30%{opacity:1;transform:none}36%,100%{opacity:0;transform:translateY(-100%)}}
.brief{margin-top:12px;font-size:15.5px;color:#D6D6DE;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.brief b{color:#fff}
.brief i{width:5px;height:5px;border-radius:50%;background:var(--acc)}
.fl{position:absolute;z-index:3;display:flex;gap:12px;align-items:center;background:rgba(22,22,28,.62);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:11px 15px;min-width:220px;max-width:280px;box-shadow:0 18px 50px rgba(0,0,0,.45);opacity:0;animation:pop .8s cubic-bezier(.2,.9,.3,1.2) forwards,bob 6s ease-in-out infinite}
@keyframes pop{from{opacity:0;transform:translateY(24px) scale(.92)}to{opacity:1;transform:none}}
@keyframes bob{50%{translate:0 -8px}}
.fl b{font-weight:600;display:block}.fl small{display:block;color:#AFAFBA;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.av{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex:none;background:var(--acc);color:var(--onacc)}
/* animations d'entrée */
.w{display:inline-block;opacity:0;transform:translateY(26px);filter:blur(8px);animation:wup .8s var(--ease) forwards}
@keyframes wup{to{opacity:1;transform:none;filter:none}}
.up{opacity:0;animation:up .6s ease forwards}
@keyframes up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.carry{animation:slide 1.3s var(--ease) both}
@keyframes slide{0%{transform:translateX(-260px);opacity:0}70%{transform:translateX(6px)}100%{transform:none;opacity:1}}
.rep{display:inline-flex;font-size:11.5px;font-weight:700;color:var(--acc);background:color-mix(in srgb,var(--acc) 16%,transparent);border-radius:6px;padding:1px 7px;margin-left:4px}
/* capture */
.capture{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:var(--glass);border:1px solid color-mix(in srgb,var(--acc) 35%,transparent);border-radius:18px;padding:10px 10px 10px 16px}
.capture input[type=text],.capture .capin{flex:1 1 calc(100% - 40px);min-width:0;min-height:42px;background:transparent;border:0;outline:none;font-size:15.5px}
.capture .capin{resize:none;overflow:hidden;line-height:1.4;padding:10px 0;font:inherit;font-size:15.5px;color:inherit;max-height:160px;overflow-y:auto}
.capture input[type=text]::placeholder,.capture .capin::placeholder{color:#8A8A95}
.opts{display:flex;gap:6px;flex-wrap:wrap;align-items:center;flex:1}
.capture>.btn{margin-left:auto}
@media (hover:hover) and (min-width:901px){.days .day .row .acts{display:none}.days .day.today .row .acts,.days .day .row:hover .acts,.days .day .row:focus-within .acts{display:flex}}
.opt{border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:999px;padding:6px 11px;font-size:12.5px;color:#C9C9D2;cursor:pointer}
.opt.on{background:color-mix(in srgb,var(--acc) 16%,transparent);border-color:color-mix(in srgb,var(--acc) 60%,transparent);color:#fff}
.opts select,.opts input[type=time],.opts input[type=date]{background:rgba(255,255,255,.03);border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:12.5px;color-scheme:dark}
.grid2{display:grid;grid-template-columns:1.35fr 1fr;gap:16px;align-items:start}
.stack{display:flex;flex-direction:column;gap:16px}
.stat{display:flex;justify-content:space-between;padding:7px 0;color:#C9C9D2}.stat b{font-variant-numeric:tabular-nums}
.bars{display:flex;align-items:flex-end;gap:7px;height:56px;margin-top:8px}.bars i{flex:1;border-radius:6px;background:rgba(255,255,255,.09);min-height:4px;transform-origin:bottom;animation:grow 1s var(--ease) both}.bars i.o{background:var(--acc)}
@keyframes grow{from{transform:scaleY(0)}}
/* en-têtes de page */
.ph{display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}
.ph h1{margin:0;font:600 32px Inter,sans-serif;letter-spacing:-.03em}.ph p{margin:4px 0 0;color:var(--mut)}
.ph .act{margin-left:auto;display:flex;gap:8px;align-items:center}
.fchips{display:flex;gap:8px;flex-wrap:wrap}
.fchips button{border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:13px;color:#C9C9D2;background:rgba(255,255,255,.03);cursor:pointer}
.fchips button b{margin-left:6px;color:var(--mut)}
.fchips button.on{background:var(--acc);color:var(--onacc);border-color:var(--acc)}.fchips button.on b{color:var(--onacc)}
/* journées */
.days{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:14px;align-items:start}
.day{background:var(--glass);border:1px solid var(--line);border-radius:20px;padding:16px 16px}
.day.today{border-color:color-mix(in srgb,var(--acc) 70%,transparent);box-shadow:0 0 40px color-mix(in srgb,var(--acc) 16%,transparent)}
.dh{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.dh .lb{font-size:13px;color:var(--mut)}.today .dh .lb{color:var(--acc)}
.dh h2{margin:2px 0 0;font:600 20px Inter,sans-serif;letter-spacing:-.02em}
.ring{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:5px 10px;font-size:13px;color:#C9C9D2;white-space:nowrap}
.sec{margin:14px 0 4px;font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut2)}
.note{width:100%;min-height:70px;resize:vertical;background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:6px}
/* personnaliser */
.ml{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--line);margin-top:8px}
.ml .t{flex:1}.ml small{display:block;color:var(--mut2);font-size:12.5px}
.ml .ic{width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--acc) 14%,transparent);color:var(--acc);display:flex;align-items:center;justify-content:center;flex:none}
.switch{width:44px;height:26px;border-radius:999px;background:rgba(255,255,255,.12);position:relative;flex:none;cursor:pointer;border:0;transition:background .3s}
.switch:after{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .3s}
.switch[aria-checked=true]{background:var(--acc)}.switch[aria-checked=true]:after{transform:translateX(18px)}
.lock{font-size:12px;color:var(--mut2)}
/* connexion */
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.auth .card{width:100%;max-width:420px;padding:30px}
.auth img{width:220px;display:block;margin:0 auto 18px}
.auth h1{font:600 24px Inter,sans-serif;margin:0 0 4px;text-align:center}.auth p.sub{color:var(--mut);text-align:center;margin:0 0 20px}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field span{font-size:13px;color:#C9C9D2;font-weight:500}
.field input{min-height:44px;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:0 14px;outline:none}
.field input:focus{border-color:var(--acc)}
.err{color:#FFB4A8;font-size:13.5px;min-height:20px;margin-bottom:6px}
.switchlink{background:none;border:0;color:var(--acc);cursor:pointer;font-weight:600;padding:0}
/* message flottant */
.toast{position:fixed;z-index:70;left:50%;bottom:28px;top:auto;transform:translate(-50%,16px);opacity:0;background:#17171D;color:var(--ink);border:1px solid color-mix(in srgb,var(--acc) 60%,transparent);border-radius:14px;padding:11px 18px;font-weight:600;text-align:center;box-shadow:0 18px 48px rgba(0,0,0,.65);transition:opacity .3s,transform .3s;pointer-events:none;max-width:min(90vw,460px)}
.toast.on{opacity:1;transform:translate(-50%,0)}
/* sur téléphone : en haut de l'écran, sur toute la largeur, par-dessus l'en-tête (logo), jamais au milieu des boutons de la page ;
   elle ne bloque aucun toucher et disparaît seule */
@media (max-width:900px){.toast{top:calc(8px + env(safe-area-inset-top));bottom:auto;left:12px;right:12px;max-width:none;transform:translateY(-16px);font-size:14px;padding:12px 16px;border-radius:14px}
  .toast.on{transform:translateY(0)}}
/* barre d'onglets mobile */
.tabs{display:none}
@media (max-width:900px){
  .shell{margin:0;border-radius:0;border:0;min-height:100vh;padding-bottom:84px;backdrop-filter:none;background:rgba(10,10,13,.55)}
  .side{display:none}
  .main{padding:14px 14px 20px}
  .mtop{display:flex!important;align-items:center;justify-content:space-between}
  .mtop img{width:128px}
  .grid2,.days{grid-template-columns:1fr}
  .hero{height:220px}.ht{padding:20px 22px}.h1,.rot{font-size:30px}.rot{height:36px}
  .fl{display:none}
  .tabs{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:30;left:0;right:0;bottom:0;padding:8px 8px calc(14px + env(safe-area-inset-bottom));background:rgba(12,12,16,.94);border-top:1px solid var(--line);backdrop-filter:blur(14px)}
  .tabs a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10.5px;color:#9A9AA6;text-decoration:none}
  .tabs a svg{width:21px;height:21px;stroke:currentColor;fill:none;stroke-width:1.9}
  .tabs a.on{color:var(--acc)}
  .tabs .fab{justify-self:center;width:56px;height:56px;border-radius:50%;background:var(--acc);color:var(--onacc);font-size:30px;margin-top:-24px;box-shadow:0 10px 30px color-mix(in srgb,var(--acc) 50%,transparent);border:0}
}
.mtop{display:none}

/* ===== Étape 2 · Assistant ===== */
.n.ai svg{stroke:var(--acc)}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;border-radius:999px;padding:4px 10px;border:1px solid rgba(255,255,255,.14);color:#B4B4BF}
.badge.ia{color:var(--acc);border-color:color-mix(in srgb,var(--acc) 55%,transparent);background:color-mix(in srgb,var(--acc) 10%,transparent)}
.badge.ia:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--acc);box-shadow:0 0 10px var(--acc);animation:pulse 2s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}
/* micro */
.mic{width:40px;height:40px;flex:none;border-radius:50%;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:#D6D6DE;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative}
.mic.on{background:var(--acc);color:var(--onacc);border-color:transparent}
.mic.on:before,.mic.on:after{content:'';position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--acc);animation:ring 1.4s ease-out infinite}
.mic.on:after{animation-delay:.7s}
@keyframes ring{from{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(1.5)}}
.capture input[type=text],.capture .capin{flex:1 1 calc(100% - 100px)!important}
.capture.think{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc),0 0 40px color-mix(in srgb,var(--acc) 25%,transparent);animation:glow 1.2s ease-in-out infinite alternate}
@keyframes glow{to{box-shadow:0 0 0 1px var(--acc),0 0 10px color-mix(in srgb,var(--acc) 10%,transparent)}}
/* propositions */
.props{margin-top:10px;background:var(--glass2);border:1px solid color-mix(in srgb,var(--acc) 45%,transparent);border-radius:18px;padding:12px 14px;animation:up .4s ease both}
.ph2{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.ph2 small{color:var(--mut);font-size:12.5px;flex-basis:100%}
.prop{display:flex;align-items:center;gap:10px;padding:9px 6px;border-top:1px solid var(--line)}
.prop .t{flex:1;min-width:0}
.pt{width:100%;background:transparent;border:0;border-bottom:1px dashed transparent;font-weight:600;font-size:15px;padding:2px 0;outline:none}
.pt:hover,.pt:focus{border-bottom-color:rgba(255,255,255,.25)}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px;align-items:center}
.tg{font-size:11.5px;font-weight:700;letter-spacing:.02em;border-radius:6px;padding:2px 8px;background:rgba(255,255,255,.08);color:#E4E4EA}
.tg.t-relance{background:color-mix(in srgb,var(--acc) 22%,transparent);color:#fff}
.tg.t-rdv{background:rgba(76,168,255,.2);color:#BFE0FF}.tg.t-facture{background:rgba(251,113,133,.2);color:#FFD0D8}
.tg.t-idee{background:rgba(250,204,21,.18);color:#FFF0B3}.tg.t-jalon{background:rgba(139,92,246,.24);color:#DCD0FF}
.mc{font-size:12px;color:#B4B4BF;border:1px solid rgba(255,255,255,.12);border-radius:7px;padding:1px 7px;white-space:nowrap}
.mc.on{color:var(--acc);border-color:color-mix(in srgb,var(--acc) 55%,transparent)}
.pf{display:flex;justify-content:flex-end;gap:8px;margin-top:10px;flex-wrap:wrap}
.menu button.ai{color:var(--acc);font-weight:600}
/* le menu ouvert passe toujours au-dessus des lignes et des cartes suivantes */
.row:has(>.menu){z-index:40}
.card:has(.menu),section:has(.menu),.board:has(.menu){position:relative;z-index:40}
@media (max-width:900px){.menu{left:8px;right:8px;min-width:0;scroll-margin-bottom:110px}}
/* conversation */
.chat{display:flex;flex-direction:column;gap:14px;flex:1;min-height:calc(100vh - 210px)}
.thread{flex:1;display:flex;flex-direction:column;gap:16px;padding:6px 2px 10px;max-width:860px;width:100%;margin:0 auto}
.msg{display:flex;gap:10px;align-items:flex-start}
.msg.u{justify-content:flex-end}
.msg.u .bubble{background:color-mix(in srgb,var(--acc) 16%,#17171C);border:1px solid color-mix(in srgb,var(--acc) 40%,transparent);border-radius:18px 18px 4px 18px;max-width:78%;white-space:pre-wrap}
.msg.a .col{display:flex;flex-direction:column;gap:10px;min-width:0;flex:1;max-width:720px}
.msg.a .bubble{background:var(--glass);border:1px solid var(--line);border-radius:4px 18px 18px 18px;backdrop-filter:blur(16px)}
.bubble{padding:11px 15px;font-size:14.5px;line-height:1.55}
.bubble p{margin:0 0 6px}.bubble p:last-child{margin:0}
.bubble ul,.bubble ol{margin:2px 0 8px;padding-left:20px}.bubble li{margin:2px 0}.bubble li::marker{color:var(--acc)}
.bubble b{color:#fff}
.orb{width:32px;height:32px;flex:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--onacc);font-size:15px;background:radial-gradient(circle at 30% 30%,var(--b2),var(--acc) 55%,var(--acc2));box-shadow:0 0 18px color-mix(in srgb,var(--acc) 45%,transparent)}
.orb.think{animation:spin 2.4s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.typing{display:flex;gap:5px;align-items:center;min-height:42px}
.typing i{width:7px;height:7px;border-radius:50%;background:var(--acc);animation:dot 1s ease-in-out infinite}
.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}
.mnote{color:var(--mut);font-size:12.5px}
.actions{display:flex;flex-direction:column;gap:8px}
.acard{display:flex;align-items:center;gap:12px;background:var(--glass2);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:10px 12px;animation:up .5s ease both}
.acard .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.acard .t b{font-weight:600}.acard small{color:var(--mut);font-size:12.5px}
.composer{position:sticky;bottom:14px;display:flex;align-items:flex-end;gap:8px;max-width:860px;width:100%;margin:0 auto;background:rgba(20,20,26,.9);backdrop-filter:blur(18px);border:1px solid color-mix(in srgb,var(--acc) 40%,transparent);border-radius:22px;padding:8px 8px 8px 16px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.composer textarea{flex:1;resize:none;background:transparent;border:0;outline:none;min-height:40px;max-height:160px;padding:9px 0;font-size:15px;line-height:1.4}
.send{width:40px;height:40px;flex:none;border-radius:50%;border:0;background:var(--acc);color:var(--onacc);display:flex;align-items:center;justify-content:center;cursor:pointer}
.send:disabled{opacity:.4}
.welcome{text-align:center;padding:40px 10px 10px;display:flex;flex-direction:column;align-items:center}
.welcome h2{margin:22px 0 6px;font:600 30px/1.15 Inter,sans-serif;letter-spacing:-.03em;max-width:620px}
.welcome p{margin:0;color:var(--mut);font-size:15px}
.bigorb{position:relative;width:96px;height:96px;display:flex;align-items:center;justify-content:center}
.bigorb span{position:relative;z-index:2;width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:30px;color:var(--onacc);background:radial-gradient(circle at 30% 30%,var(--b2),var(--acc) 55%,var(--acc2));box-shadow:0 0 60px color-mix(in srgb,var(--acc) 50%,transparent);animation:bob 5s ease-in-out infinite}
.bigorb i{position:absolute;inset:0;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--acc) 60%,transparent);animation:ring 3s ease-out infinite}
.bigorb i+i{animation-delay:1.5s}
.sugg{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px;max-width:640px}
.sugg button{border:1px solid rgba(255,255,255,.14);background:var(--glass);border-radius:999px;padding:10px 16px;cursor:pointer;font-size:14px;color:#E4E4EA;backdrop-filter:blur(10px)}
.sugg button:hover{border-color:var(--acc);color:#fff}
/* fenêtre de rédaction */
.modal{position:fixed;inset:0;z-index:60;background:rgba(4,4,6,.66);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:16px}
.mcard{width:min(620px,100%);max-height:calc(100vh - 32px);overflow:auto;background:#121217;border:1px solid color-mix(in srgb,var(--acc) 40%,transparent);border-radius:22px;padding:18px;display:flex;flex-direction:column;gap:12px;box-shadow:0 40px 120px rgba(0,0,0,.7)}
.mh{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.mh small{color:var(--acc);font-weight:600;font-size:12.5px}.mh b{display:block;font-size:17px;margin-top:2px}
.mrow{display:flex;gap:10px;flex-wrap:wrap}
.seg{display:inline-flex;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:3px}
.seg button{border:0;background:none;padding:6px 12px;border-radius:9px;cursor:pointer;font-size:13px;color:#B4B4BF}
.seg button.on{background:var(--acc);color:var(--onacc);font-weight:600}
.fld{width:100%;background:rgba(0,0,0,.28);border:1px solid var(--line);border-radius:12px;padding:10px 12px;outline:none}
.fld:focus{border-color:color-mix(in srgb,var(--acc) 60%,transparent)}
.fld.big{min-height:190px;resize:vertical;line-height:1.5}
.fld.loading{background:linear-gradient(90deg,rgba(255,255,255,.02),color-mix(in srgb,var(--acc) 10%,transparent),rgba(255,255,255,.02)) 0 0/200% 100%;animation:shim 1.2s linear infinite;color:transparent}
@keyframes shim{to{background-position:-200% 0}}
.dstatus{font-size:12.5px;color:var(--mut)}
@media (max-width:900px){
  .chat{min-height:calc(100vh - 230px)}.composer{bottom:92px}
  .welcome h2{font-size:24px}.msg.u .bubble{max-width:88%}
  .acard{flex-wrap:wrap}.acard .btn{margin-left:auto}
}

/* ===== Étape 3 · Modules ===== */
.fl.f1{inset-inline-end:34px;top:22px}.fl.f2{inset-inline-end:60px;top:104px}.fl.f3{inset-inline-end:30px;top:186px}
.bdays{display:flex;gap:7px;margin-top:4px}.bdays span{flex:1;text-align:center;font-size:10.5px;color:var(--mut2);text-transform:capitalize}
.amt{color:#fff;font-weight:600;font-variant-numeric:tabular-nums}
.datego{background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px;padding:7px 10px;color-scheme:dark}
.themes p a.settings{display:inline-flex;align-items:center;gap:5px;color:var(--mut);text-decoration:none}.themes p a.settings svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.9}
.hint{color:var(--mut2);font-size:12.5px;margin:-4px 2px 0}
.linkbtn{background:none;border:0;padding:4px 0;color:var(--acc);cursor:pointer;font-weight:600;font-size:13px}
.badge.al{color:#FFB4A8;border-color:rgba(255,120,100,.45);background:rgba(255,100,80,.1)}
/* indicateurs */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.kpi{background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:14px 16px;display:flex;flex-direction:column;gap:2px;position:relative;overflow:hidden}
.kpi:before{content:'';position:absolute;inset-inline-start:0;top:14px;bottom:14px;width:3px;border-radius:3px;background:var(--acc)}
.kpi span{font-size:12.5px;color:var(--mut);font-weight:600}
.kpi b{font:600 26px/1.15 Inter,sans-serif;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpi small{color:var(--mut2);font-size:12px}
.kpi.al:before{background:#FF7A66}.kpi.al b{color:#FFB4A8}
/* tableaux (pipeline, idées) */
.board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:12px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}
.bcol{background:rgba(255,255,255,.025);border:1px solid var(--line);border-radius:18px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:180px;scroll-snap-align:start;transition:background .2s,border-color .2s}
.bcol.over{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 8%,transparent)}
.bcol.muted{opacity:.78}
.bh{display:flex;align-items:center;gap:7px;font-weight:600;font-size:13px;padding:2px 4px 4px;flex-wrap:wrap}
.bh .n{color:var(--mut);font-weight:500}.bh small{margin-inline-start:auto;color:#D6D6DE;font-weight:600;font-variant-numeric:tabular-nums}
.dot{width:8px;height:8px;border-radius:50%;background:#7A7A86}
.s-contact,.s-a_creuser,.s-a_produire{background:#4CA8FF}.s-devis,.s-retenue,.s-programme{background:var(--acc)}.s-negociation{background:#C084FC}.s-gagne,.s-publie,.s-convertie{background:#5FD07A}.s-perdu,.s-abandonnee{background:#FF7A66}
.bcard{background:var(--glass2);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:transform .2s,border-color .2s,box-shadow .2s;animation:up .5s ease both}
.bcard:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--acc) 45%,transparent);box-shadow:0 10px 30px rgba(0,0,0,.35)}
.bcard.drag{opacity:.4}.bcard.late{border-color:color-mix(in srgb,var(--acc) 55%,transparent)}.bcard.closed{opacity:.7}
.bcard b{font-weight:600;font-size:13.5px;line-height:1.3}.bcard small{color:var(--mut);font-size:12px}
.bmeta{display:flex;gap:8px;flex-wrap:wrap;font-size:12px;color:#B4B4BF;align-items:center}.bmeta .late{color:var(--acc)}
.stg{margin-top:4px;background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:8px;padding:4px 6px;font-size:12px;color-scheme:dark;max-width:100%}
.bempty{color:var(--mut2);text-align:center;padding:16px 0}
.conv{display:flex;gap:12px}
.closed{display:flex;gap:12px;flex-wrap:wrap}
.closed details{background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:8px 12px;min-width:220px}
.closed summary{cursor:pointer;font-weight:600;font-size:13px;color:#C9C9D2}
.closed .cl{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--line);font-size:13px;color:var(--mut)}.closed .cl small{color:var(--mut2)}
/* contacts */
.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.person{display:flex;gap:12px;align-items:flex-start;background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:12px 14px}
.person .t{min-width:0;display:flex;flex-direction:column;gap:2px}.person small{color:var(--mut);font-size:12.5px}.person .late{color:var(--acc)}
.person .nx{font-size:12.5px;color:#D6D6DE;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person .nx:hover{color:var(--acc)}
.avatar{width:40px;height:40px;border-radius:50%;flex:none;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;color:var(--onacc);background:linear-gradient(135deg,var(--acc),var(--acc2))}
/* projets */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;align-items:start}
.pgrid.wide{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}
.pcard{background:var(--glass);border:1px solid var(--line);border-radius:20px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}
.pcard.late{border-color:color-mix(in srgb,var(--acc) 45%,transparent)}
.ptop{display:flex;justify-content:space-between;gap:10px;align-items:center}.ptop h3{margin:0;font-size:16px}
.pbar{height:8px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}
.pbar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--acc),var(--acc2));transform-origin:left;animation:barw 1.2s var(--ease) both}
[dir=rtl] .pbar i{transform-origin:right}
@keyframes barw{from{transform:scaleX(0)}}
.pmeta{display:flex;justify-content:space-between;font-size:12.5px;color:var(--mut)}.pmeta b{color:#fff;font-size:14px}
.pnext{display:flex;flex-direction:column;gap:1px;background:rgba(255,255,255,.03);border-radius:12px;padding:8px 10px}
.pnext small{color:var(--mut2);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;font-weight:700}.pnext em{font-style:normal;font-size:12px;color:var(--mut)}.pnext em.late{color:var(--acc)}
.ms{display:flex;gap:4px;align-items:flex-start;overflow-x:auto;padding-top:2px}
.ms .m{display:flex;flex-direction:column;align-items:center;gap:3px;min-width:46px;position:relative}
.ms .m i{width:12px;height:12px;border-radius:50%;border:2px solid #55555F;background:var(--bg)}
.ms .m.d i{background:var(--acc);border-color:var(--acc)}.ms .m.l i{border-color:#FF7A66}
.ms .m small{font-size:10.5px;color:var(--mut2)}
.ms .m+.m:before{content:'';position:absolute;top:5px;inset-inline-end:calc(50% + 8px);width:calc(100% - 12px);height:2px;background:rgba(255,255,255,.1)}
.plist{border-top:1px solid var(--line);padding-top:6px}
.tl{display:grid;grid-template-columns:58px 14px 1fr;gap:8px;align-items:start;padding:7px 0}
.tl .td{font-size:12.5px;color:var(--mut);text-align:end;padding-top:1px}.tl i{width:10px;height:10px;border-radius:50%;background:var(--acc);margin-top:5px;box-shadow:0 0 10px var(--acc)}
.tl.late i{background:#FF7A66;box-shadow:0 0 10px #FF7A66}.tl b{font-weight:600;display:block}.tl small{color:var(--mut2);font-size:12px}
/* finances */
.inv{display:flex;align-items:center;gap:12px;padding:11px 6px;border-top:1px solid var(--line)}
.inv:first-of-type{border-top:0}
.inv .t{flex:1;min-width:0}.inv .t b{font-weight:500;display:block}.inv small{color:var(--mut2);font-size:12.5px}
.inv.late small{color:var(--acc)}.inv.paid{opacity:.75}
.inv>.amt{font-size:15px;white-space:nowrap}
.inv .acts{display:flex;gap:6px}
/* marketing */
.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}
.cday{min-width:0;background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:8px;min-height:118px;display:flex;flex-direction:column;gap:5px;animation:up .5s ease both}
.cday.today{border-color:var(--acc);box-shadow:0 0 24px color-mix(in srgb,var(--acc) 18%,transparent)}.cday.we{background:rgba(255,255,255,.015)}
.cdh{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:var(--mut);text-transform:capitalize}.cdh b{font-size:16px;color:#fff}.cday.today .cdh b{color:var(--acc)}
.post{display:flex;align-items:center;gap:6px;border:0;border-radius:8px;padding:5px 7px;font-size:12px;text-align:start;cursor:pointer;color:#fff;background:rgba(255,255,255,.07);width:100%}
.post span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.post i{width:7px;height:7px;border-radius:50%;flex:none;background:var(--cc,#9A9AA6)}
.post.pub{opacity:.6;text-decoration:line-through}.post.late{outline:1px solid var(--acc)}
.cadd{margin-top:auto;align-self:flex-end;width:24px;height:24px;border-radius:7px;border:1px dashed rgba(255,255,255,.2);background:none;color:var(--mut);cursor:pointer;opacity:.5}
.cday:hover .cadd,.cadd:focus{opacity:1}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--mut)}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:8px;height:8px;border-radius:50%;background:var(--cc)}
.chn{border-radius:6px;padding:0 6px;background:color-mix(in srgb,var(--cc,#9A9AA6) 22%,transparent);color:#fff}
.ch-instagram{--cc:#E1306C}.ch-facebook{--cc:#4C8BF5}.ch-whatsapp{--cc:#25D366}.ch-tiktok{--cc:#5EEAD4}.ch-linkedin{--cc:#2E8BD8}.ch-youtube{--cc:#FF4E45}.ch-email{--cc:#FFC46B}.ch-site{--cc:#C084FC}.ch-autre{--cc:#9A9AA6}
/* équipe */
.mhead{display:flex;gap:12px;align-items:center;margin-bottom:6px}.mhead>div{flex:1;min-width:0}.mhead b{display:block;font-size:15px}.mhead small{color:var(--mut);font-size:12.5px}.mhead .late{color:var(--acc)}
/* automatisations */
.ml.off{opacity:.55}
.exr{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;text-align:start;background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.16);border-radius:14px;padding:10px 12px;margin-top:8px;cursor:pointer;color:inherit}
.exr:hover{border-color:var(--acc)}.exr small{color:var(--mut2);font-size:12.5px}
/* liste des modules (mobile) */
.mtiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
.mtile{display:flex;flex-direction:column;gap:6px;background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:14px;text-decoration:none;color:inherit}
.mtile .ic{width:38px;height:38px;border-radius:12px;background:color-mix(in srgb,var(--acc) 14%,transparent);color:var(--acc);display:flex;align-items:center;justify-content:center}
.mtile .ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9}
.mtile small{color:var(--mut2);font-size:12px}.mtile.add{border-style:dashed}
.ml .ic svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9}
/* formulaires des fenêtres */
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
.mf{display:flex;flex-direction:column;gap:5px;min-width:0}.mf.full{grid-column:1/-1}
.mf>span{font-size:12.5px;color:#C9C9D2;font-weight:600}
.mf select.fld,.mf input.fld{min-height:40px;color-scheme:dark}
.mbody{display:flex;flex-direction:column;gap:12px}
.langs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.langs button{border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:12px;padding:10px;cursor:pointer;font-weight:600}
.langs button.on{background:var(--acc);color:var(--onacc);border-color:var(--acc)}
.authtop{display:flex;flex-direction:column;align-items:center;position:relative}
.langsel{position:absolute;top:-14px;inset-inline-end:-14px;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:10px;padding:5px 8px;font-size:12.5px;color-scheme:dark}
/* sens de lecture arabe */
[dir=rtl] .side{border-right:0;border-left:1px solid var(--line)}
[dir=rtl] .menu{right:auto;left:8px}
[dir=rtl] .ph .act{margin-left:0;margin-right:auto}
[dir=rtl] .capture>.btn{margin-left:0;margin-right:auto}
[dir=rtl] .capture{padding:10px 16px 10px 10px}
[dir=rtl] .flip svg,[dir=rtl] .icon-btn svg[viewBox="0 0 24 24"][width="16"]{transform:scaleX(-1)}
[dir=rtl] .blob:after{background:linear-gradient(-90deg,rgba(8,8,11,.92) 0%,rgba(8,8,11,.55) 48%,rgba(8,8,11,0) 80%)}
[dir=rtl] .rot span{left:auto;right:0}
[dir=rtl] .carry{animation-name:slider}
@keyframes slider{0%{transform:translateX(260px);opacity:0}70%{transform:translateX(-6px)}100%{transform:none;opacity:1}}
[dir=rtl] .switch:after{left:auto;right:3px}[dir=rtl] .switch[aria-checked=true]:after{transform:translateX(-18px)}
[dir=rtl] .msg.u .bubble{border-radius:18px 18px 18px 4px}[dir=rtl] .msg.a .bubble{border-radius:18px 4px 18px 18px}
[dir=rtl] .bubble ul,[dir=rtl] .bubble ol{padding-left:0;padding-right:20px}
:lang(ar) body,:lang(ar) button,:lang(ar) input,:lang(ar) textarea,:lang(ar) select{font-family:Inter,"Noto Sans Arabic","Segoe UI",Tahoma,sans-serif}
:lang(ar) .rot{height:72px}:lang(ar) .rot span{line-height:1.35}:lang(ar) .h1{line-height:1.25}
:lang(zh) body{font-family:Inter,"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif}
@media (max-width:900px){
  .kpis{grid-template-columns:1fr 1fr}.kpi b{font-size:20px}
  .board{grid-auto-columns:78%}
  .cal{grid-template-columns:repeat(2,minmax(0,1fr))}.cday{min-height:90px}
  .mgrid{grid-template-columns:1fr}
  .langs{grid-template-columns:repeat(2,1fr)}
  .inv{flex-wrap:wrap}.inv .acts{width:100%;justify-content:flex-end}
  .ph h1{font-size:26px}
}

/* ===== Étape 4 · Workspace ===== */
.kb{width:30px;height:30px;flex:none;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;color:#fff;vertical-align:middle}
.k-w{background:linear-gradient(135deg,#3B82F6,#1E5BD8)}.k-p{background:linear-gradient(135deg,#FF8A3D,#E2522B)}.k-x{background:linear-gradient(135deg,#22C55E,#15803D)}
.tgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.tcard{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:start;background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:14px 16px;cursor:pointer;color:inherit;transition:transform .2s,border-color .2s,box-shadow .2s}
.tcard:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--acc) 55%,transparent);box-shadow:0 14px 40px rgba(0,0,0,.4)}
.tcard b{font-size:15px}.tcard small{color:var(--mut);font-size:12.5px;line-height:1.4}
.ttop{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:4px}
.tg.ai{background:color-mix(in srgb,var(--acc) 20%,transparent);color:#fff}
.docrow{display:flex;align-items:center;gap:12px;padding:10px 4px;border-top:1px solid var(--line)}
.docrow:first-of-type{border-top:0}
.docrow .t{flex:1;min-width:0;text-decoration:none;color:inherit}.docrow .t b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.docrow small{color:var(--mut2);font-size:12.5px}
.docrow .t:hover b{color:var(--acc)}
.docrow .acts{display:flex;gap:6px}
.mdesc{margin:0;color:var(--mut)}
.warnbox{background:color-mix(in srgb,var(--acc) 10%,transparent);border:1px solid color-mix(in srgb,var(--acc) 40%,transparent);border-radius:12px;padding:10px 12px;font-size:13px}
.mbody.busy .mgrid{opacity:.5;pointer-events:none}
.chpick{display:flex;flex-wrap:wrap;gap:6px}
.chpick button{display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:rgba(255,255,255,.03);border-radius:999px;padding:6px 11px;font-size:12.5px;cursor:pointer;color:#C9C9D2}
.chpick button i{width:8px;height:8px;border-radius:50%;background:var(--cc)}
.chpick button.on{border-color:var(--cc);background:color-mix(in srgb,var(--cc) 18%,transparent);color:#fff}
.back{color:var(--mut);text-decoration:none;font-size:13px}.back:hover{color:var(--acc)}
.ph h1 .kb{width:34px;height:34px;margin-inline-end:4px}
.docgrid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.docgrid.solo{grid-template-columns:minmax(0,1fr)}
/* page blanche (Word) */
.paper{background:#fff;color:#1F1F26;border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.55);padding:56px 64px;max-width:820px;margin:0 auto;font:15px/1.6 Calibri,Inter,system-ui,sans-serif}
.paper [contenteditable]{outline:none;border-radius:4px;transition:background .2s}
.paper [contenteditable]:hover{background:#FFF4EC}.paper [contenteditable]:focus{background:#FFF4EC;box-shadow:0 0 0 2px var(--acc)}
.paper .pk{color:var(--acc);font-weight:800;font-size:11px;letter-spacing:.12em}
.paper h1{font:700 30px/1.2 Calibri,Inter,sans-serif;color:#111116;margin:6px 0 4px;letter-spacing:-.01em}
.paper .psub{color:#6B6B76;font-size:17px;margin:0 0 16px}
.paper .pmeta2{display:grid;grid-template-columns:170px 1fr;border-top:3px solid var(--acc);border-bottom:1px solid #E4E4EA;margin:14px 0 22px;padding:6px 0}
.paper .pmeta2 dt{color:#6B6B76;font-size:13px;padding:4px 0}.paper .pmeta2 dd{margin:0;font-weight:700;font-size:13px;padding:4px 0}
.paper h2{color:var(--acc);font:700 19px/1.3 Calibri,Inter,sans-serif;margin:26px 0 8px}
.paper h3{color:#111116;font:700 16px/1.3 Calibri,Inter,sans-serif;margin:18px 0 6px}
.paper p{margin:0 0 10px}.paper ul,.paper ol{margin:0 0 12px;padding-inline-start:26px}.paper li{margin:3px 0}.paper li::marker{color:var(--acc);font-weight:700}
.paper blockquote{margin:12px 0;padding:10px 14px;background:#FFF4EC;border-inline-start:4px solid var(--acc);font-style:italic;color:#3A3A44}
.paper footer{margin-top:40px;padding-top:10px;border-top:1px solid #E4E4EA;color:#8A8A95;font-size:11.5px}
.tblwrap{overflow-x:auto;margin:6px 0 14px}
.paper table{width:100%;border-collapse:collapse;font-size:13.5px}
.paper th{background:var(--acc);color:#fff;text-align:start;padding:8px 10px;font-weight:700}
.paper td{padding:8px 10px;border-bottom:1px solid #E4E4EA;vertical-align:top;white-space:pre-line}
.paper tr:nth-child(even) td{background:#F7F7F9}.paper td.num{text-align:end;font-variant-numeric:tabular-nums}
.paper tr.tot td{background:#FFF4EC;font-weight:700;border-top:1px solid #B4B4BF}
/* diapositives (PowerPoint) */
.deck{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:16px}
.slide{position:relative;aspect-ratio:16/9;background:#0B0B0F;border-radius:14px;overflow:hidden;padding:5% 6%;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 50px rgba(0,0,0,.45);container-type:inline-size;display:flex;flex-direction:column}
.slide>*{position:relative;z-index:1}
.slide .g1,.slide .g2{position:absolute;z-index:0;border-radius:50%;filter:blur(2px)}
.slide .g1{width:60%;aspect-ratio:1;inset-inline-end:-22%;top:-40%;background:radial-gradient(circle,color-mix(in srgb,var(--acc) 30%,transparent),transparent 70%)}
.slide .g2{width:55%;aspect-ratio:1;inset-inline-end:-8%;bottom:-30%;background:radial-gradient(circle,color-mix(in srgb,var(--acc2) 30%,transparent),transparent 70%)}
.slide [contenteditable]{outline:none;border-radius:4px}.slide [contenteditable]:hover,.slide [contenteditable]:focus{background:rgba(255,255,255,.07)}
.slide h3{margin:0;font:700 5.6cqw/1.1 Calibri,Inter,sans-serif;color:#fff}
.slide .bar{display:block;width:9%;height:.6cqw;min-height:3px;background:var(--acc);border-radius:2px;margin:2.4cqw 0 3cqw}
.slide ul{margin:0;padding-inline-start:4cqw;color:#E4E4EA;font-size:3cqw;line-height:1.45}.slide li{margin:0 0 1.2cqw}.slide li::marker{color:var(--acc)}
.slide .pg{position:absolute;inset-inline-end:3%;bottom:4%;color:#6E6E7A;font-size:1.6cqw}
.slide.cover{justify-content:center}.slide.cover small{color:var(--acc);font-weight:800;letter-spacing:.12em;font-size:1.9cqw}
.slide.cover h2{margin:2cqw 0;font:700 7cqw/1.05 Calibri,Inter,sans-serif;color:#fff;max-width:68%}.slide.cover p{color:#A0A0AB;font-size:3cqw;margin:0;max-width:62%}.slide.cover em{position:absolute;bottom:7%;color:#8A8A95;font-style:normal;font-size:1.8cqw}
.slide .stats{display:flex;gap:2.4cqw;flex:1;align-items:stretch}
.slide .stats>div{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:1.6cqw;padding:3cqw 2.4cqw;display:flex;flex-direction:column;gap:1cqw}
.slide .stats b{font:700 6cqw/1 Calibri,Inter,sans-serif;color:#fff}.slide .stats span{color:#A0A0AB;font-size:2.2cqw}
.slide .two{display:grid;grid-template-columns:1fr 1fr;gap:3cqw;flex:1}
.slide .two>div{border:1px solid color-mix(in srgb,var(--acc) 45%,transparent);border-radius:1.4cqw;padding:2.4cqw;background:rgba(255,255,255,.03)}
.slide .two>div+div{border-color:color-mix(in srgb,var(--acc2) 45%,transparent)}
.slide .two b{display:block;color:var(--acc);font-size:2.6cqw;margin-bottom:1.4cqw}.slide .two ul{font-size:2.3cqw}
.slide .quote{flex:1;display:flex;flex-direction:column;justify-content:center}.slide .quote span{color:var(--acc);font:700 14cqw/0.6 Georgia,serif}
.slide .quote p{color:#fff;font:700 4.4cqw/1.25 Calibri,Inter,sans-serif;margin:2cqw 0}.slide .quote em{color:#A0A0AB;font-style:normal;font-size:2.2cqw}
.slide.l-section{justify-content:center}.slide.l-section .num{color:var(--acc);font-weight:800;font-size:3cqw}.slide.l-section h3{font-size:7cqw}
/* tableur (Excel) */
.tblwrap.sheet{background:#fff;border-radius:8px;box-shadow:0 20px 50px rgba(0,0,0,.45);margin-top:10px;max-height:70vh;overflow:auto}
.sheet table{border-collapse:collapse;font:13px Calibri,Inter,sans-serif;color:#1F1F26;min-width:100%}
.sheet th{position:sticky;top:0;background:var(--acc);color:#fff;text-align:start;padding:7px 10px;white-space:nowrap}
.sheet td{border:1px solid #E4E4EA;padding:6px 10px;white-space:nowrap}.sheet td.num{text-align:end;font-variant-numeric:tabular-nums}
.sheet .rn{background:#F1F1F4;color:#8A8A95;text-align:center;width:36px;font-size:11.5px}
.sheet thead .rn{background:color-mix(in srgb,var(--acc) 80%,#000)}
.sheet tr.tot td{background:#FFF4EC;font-weight:700}
/* actions proposées */
.tasks{position:sticky;top:20px;max-height:calc(100vh - 60px);overflow:auto}
.tasks .tk{display:flex;gap:10px;align-items:flex-start;padding:9px 4px;border-top:1px solid var(--line);cursor:pointer}
.tasks .tk input{margin-top:3px;accent-color:var(--acc);width:16px;height:16px;flex:none}
.tasks .tk>div{flex:1;min-width:0}.tasks .tk b{display:block;font-weight:600;font-size:13.5px}.tasks .tk small{color:var(--mut);font-size:12px}
.tasks .tk em{display:block;color:var(--mut2);font-size:12px;font-style:normal;margin-top:2px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.tasks .tk.done{opacity:.6}
.tasks>.btn{margin-top:10px;width:100%}
@media (max-width:1100px){.docgrid{grid-template-columns:1fr}.tasks{position:static;max-height:none}}
@media (max-width:900px){
  .paper{padding:26px 20px;font-size:14px}.paper h1{font-size:23px}.paper .pmeta2{grid-template-columns:110px 1fr}
  .deck{grid-template-columns:1fr}
  .docrow{flex-wrap:wrap}.docrow .acts{width:100%;justify-content:flex-end}
  .ph .act{flex-wrap:wrap}
}

/* ===== Styles de documents (galerie, modèles importés) et atelier ===== */
/* aperçu des diapositives selon le style */
.deck .slide{background:var(--d-bg,#0B0B0F)}
.deck .slide h3,.deck .slide.cover h2,.deck .slide .stats b,.deck .slide .quote p{color:var(--d-head,#fff);font-family:var(--d-fh,inherit)}
.deck .slide ul{color:var(--d-text,#E4E4EA);font-family:var(--d-fb,inherit)}
.deck .slide li::marker,.deck .slide .quote span,.deck .slide.cover small,.deck .slide.l-section .num,.deck .slide .two b{color:var(--d-pri,var(--acc))}
.deck .slide .bar{background:var(--d-pri,var(--acc))}
.deck .slide .g1{background:radial-gradient(circle,color-mix(in srgb,var(--d-pri,var(--acc)) 30%,transparent),transparent 70%)}
.deck .slide .g2{background:radial-gradient(circle,color-mix(in srgb,var(--d-sec,var(--acc2)) 30%,transparent),transparent 70%)}
.deck .slide.cover p,.deck .slide.cover em,.deck .slide .stats span,.deck .slide .quote em,.deck .slide .pg{color:var(--d-muted,#A0A0AB)}
.deck .slide .stats>div{background:var(--d-surf,rgba(255,255,255,.05));border-color:color-mix(in srgb,var(--d-muted,#fff) 25%,transparent)}
.deck .slide .two>div{background:var(--d-surf,rgba(255,255,255,.03));border-color:color-mix(in srgb,var(--d-pri,var(--acc)) 50%,transparent)}
.deck .slide .two>div+div{border-color:color-mix(in srgb,var(--d-sec,var(--acc2)) 50%,transparent)}.deck .slide .two>div+div b{color:var(--d-sec,var(--acc2))}
.deck:not(.dec-glow) .slide .g1,.deck:not(.dec-glow) .slide .g2,.mini:not(.dec-glow) .g1,.mini:not(.dec-glow) .g2{display:none}
.deck.dec-band .slide:before,.mini.dec-band:before{content:'';position:absolute;z-index:0;left:0;right:0;top:0;height:2.4%;background:var(--d-pri)}
.deck.dec-band .slide.cover:before{left:auto;top:0;bottom:0;height:auto;width:34%;inset-inline-end:0;background:var(--d-pri);box-shadow:-1.2cqw 0 0 var(--d-sec)}
.deck.dec-band .slide.cover h2,.deck.dec-band .slide.cover p{max-width:58%}
.deck.dec-sidebar .slide:before,.mini.dec-sidebar:before{content:'';position:absolute;z-index:0;top:0;bottom:0;inset-inline-start:0;width:2.5%;background:var(--d-pri)}
.deck.dec-sidebar .slide{padding-inline-start:9%}
.deck.dec-corner .slide:after,.mini.dec-corner:after{content:'';position:absolute;z-index:0;top:0;inset-inline-end:0;width:14%;aspect-ratio:1;background:var(--d-pri);clip-path:polygon(0 0,100% 0,100% 100%)}
.deck.dec-corner .slide.cover:after{width:46%}
.deck.al-center .slide h3,.deck.al-center .slide.cover>*,.deck.al-center .slide.l-section>*{text-align:center;max-width:none!important}
.deck.al-center .slide .bar{margin-inline:auto}.deck.al-center .slide.cover{align-items:center}
.deck.upper .slide h3,.deck.upper .slide.cover h2{text-transform:uppercase}
/* aperçu Word selon le style */
.paper{font-family:var(--d-fb,Calibri,Inter,sans-serif);color:var(--p-ink,#1F1F26)}
.paper h1,.paper h2,.paper h3{font-family:var(--d-fh,Calibri,Inter,sans-serif)}
.paper h1{color:var(--p-ink,#111116)}
.paper .pk,.paper h2,.paper li::marker{color:var(--p-acc,var(--acc))}
.paper .pmeta2{border-top-color:var(--p-acc,var(--acc))}
.paper th{background:var(--p-acc,var(--acc));color:var(--d-on,#fff)}
.paper blockquote{border-inline-start-color:var(--p-acc,var(--acc));background:#F4F4F6}
.paper.th-line th{background:none;color:var(--p-acc);border-bottom:2px solid var(--p-acc)}
.paper.hd-none .pmeta2{border-top:0}
.paper.hd-band .pk,.paper.hd-band>h1{background:var(--d-pri);color:var(--d-on);margin-inline:-64px;padding-inline:64px}
.paper.hd-band .pk{padding-top:22px;margin-top:-56px}.paper.hd-band>h1{padding-bottom:22px;margin-bottom:16px;margin-top:0}
.stylebar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:8px 12px}
.stylebar>span{font-weight:600;font-size:13px;color:#C9C9D2}.stylebar select{max-width:320px;min-height:34px}.stylebar small{color:var(--mut);font-size:12.5px;flex-basis:100%}
/* galerie de styles */
.sec small{display:block;text-transform:none;letter-spacing:0;font-weight:500;color:var(--mut);font-size:12.5px;margin-top:3px}
.stgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}
.stcard{display:flex;flex-direction:column;gap:8px;background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:10px;text-align:start;color:inherit;position:relative}
button.stcard{cursor:pointer}.stcard.add{border-style:dashed}.stcard.add:hover{border-color:var(--acc)}
.stinfo b{display:block;font-size:13.5px}.stinfo small{color:var(--mut);font-size:12px}
.stacts{position:absolute;top:14px;inset-inline-end:14px;display:flex;gap:4px;opacity:0;transition:opacity .2s}.stcard:hover .stacts,.stcard:focus-within .stacts{opacity:1}
.stacts .icon-btn{width:28px;height:28px;background:rgba(0,0,0,.55)}
@media (hover:none){.stacts{opacity:1}}
.mini{position:relative;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:var(--d-bg,#0B0B0F);border:1px solid rgba(255,255,255,.08);padding:10% 9%;display:flex;flex-direction:column;gap:6%}
.mini>*{position:relative;z-index:1}
.mini b{font:700 22px/1 var(--d-fh,Inter);color:var(--d-head,#fff)}.mini .bar{display:block;width:22%;height:4px;border-radius:2px;background:var(--d-pri,var(--acc))}
.mini em{display:block;height:5px;width:70%;border-radius:3px;background:color-mix(in srgb,var(--d-text,#fff) 45%,transparent)}.mini em.s{width:48%}
.mini .g1,.mini .g2{position:absolute;z-index:0;border-radius:50%;width:70%;aspect-ratio:1}
.mini .g1{inset-inline-end:-25%;top:-45%;background:radial-gradient(circle,color-mix(in srgb,var(--d-pri) 45%,transparent),transparent 70%)}
.mini .g2{inset-inline-end:-10%;bottom:-40%;background:radial-gradient(circle,color-mix(in srgb,var(--d-sec) 40%,transparent),transparent 70%)}
.mini.al-center{align-items:center}
.mini.img{background-size:cover;background-position:center;background-color:#fff}
.mini.plus{align-items:center;justify-content:center;font-size:30px;color:var(--acc);background:rgba(255,255,255,.03);border-style:dashed}
.stprev{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:start}
.paper.mini2{padding:16px 18px;font-size:11px;max-width:none;margin:0;border-radius:8px}.paper.mini2 h1{font-size:16px;margin:2px 0}.paper.mini2 h2{font-size:13px;margin:8px 0 4px}.paper.mini2.hd-band .pk,.paper.mini2.hd-band>h1{margin-inline:-18px;padding-inline:18px}.paper.mini2.hd-band .pk{margin-top:-16px;padding-top:10px}.paper.mini2.hd-band>h1{padding-bottom:10px}
.cpick{display:flex;flex-wrap:wrap;gap:10px}.cpick label{display:flex;align-items:center;gap:6px;font-size:12.5px;color:#C9C9D2}
.cpick input[type=color]{width:34px;height:30px;border:1px solid var(--line);border-radius:8px;background:none;padding:2px;cursor:pointer}
.drop{display:flex;flex-direction:column;align-items:center;gap:4px;border:2px dashed color-mix(in srgb,var(--acc) 50%,transparent);border-radius:16px;padding:22px;cursor:pointer;text-align:center}
.drop:hover,.drop:focus-within{background:color-mix(in srgb,var(--acc) 7%,transparent)}.drop b{color:var(--acc)}.drop small{color:var(--mut)}
.impprev{display:flex;gap:12px;align-items:center}.impprev img{max-height:150px;max-width:60%;border-radius:10px;border:1px solid var(--line)}
.sw3{display:flex;gap:6px}.sw3 i{width:28px;height:28px;border-radius:8px;border:1px solid rgba(255,255,255,.2)}
.filechip{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.filechip small{color:var(--mut);display:block}
/* atelier */
.atelier{background:linear-gradient(135deg,color-mix(in srgb,var(--acc) 12%,var(--glass)),var(--glass) 60%);border:1px solid color-mix(in srgb,var(--acc) 45%,transparent);border-radius:22px;padding:16px 18px;display:flex;flex-direction:column;gap:12px}
.ath{display:flex;gap:12px;align-items:center}.ath b{display:block;font-size:17px}.ath small{color:var(--mut);font-size:13px}
.athread{display:flex;flex-direction:column;gap:10px}.athread:empty{display:none}
.abox{display:flex;gap:8px;align-items:flex-end;background:rgba(0,0,0,.25);border:1px solid var(--line);border-radius:16px;padding:8px 8px 8px 14px}
.abox textarea{flex:1;background:transparent;border:0;outline:none;resize:vertical;min-height:62px;font-size:15px;line-height:1.45}
.aopts{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.aopts>.btn{margin-inline-start:auto}
.mf.inline{flex-direction:row;align-items:center;gap:8px}.mf.inline select{min-height:34px;max-width:240px}
.chk{display:flex;align-items:center;gap:6px;font-size:13px;color:#C9C9D2;cursor:pointer}.chk input{accent-color:var(--acc);width:16px;height:16px}
.sugg.left{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;margin-top:0;gap:8px}.sugg.left button{padding:7px 12px;font-size:13px;text-align:start}
@media (max-width:900px){.sugg.left button{font-size:12.5px;padding:6px 11px}.atelier .sugg.left button:nth-child(n+3){display:none}.stprev{grid-template-columns:1fr}.aopts>.btn{width:100%}.stgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Mon compte */
.acc .accrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.acc .accrow small{color:var(--mut);font-size:12.5px;flex-basis:100%}
.acc a.btn{text-decoration:none;display:inline-flex;align-items:center}
.linkdanger{background:none;border:0;color:#F87171;font-size:13px;cursor:pointer;padding:6px 0;text-decoration:underline;text-underline-offset:3px}
.btn.danger{background:#DC2626;color:#fff;box-shadow:none}.mbody p.warn{color:#FCA5A5;margin:0 0 12px;line-height:1.5}

/* Guides */
.ghelp{font-weight:700;font-size:15px;color:var(--acc);border-color:color-mix(in srgb,var(--acc) 45%,transparent)}
.ghelp.float{position:fixed;right:22px;bottom:22px;z-index:30;width:42px;height:42px;background:#18181E}
@media (max-width:900px){.ghelp.float{display:none}}
@media (min-width:901px){.mtop .ghelp{display:none}}
.guide .gi{margin:0 0 14px;color:#C9C9D2;line-height:1.5;font-size:15px}
.gsteps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.gsteps li{display:flex;gap:12px;align-items:flex-start;background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:14px;padding:12px 14px;line-height:1.5;font-size:14px}
.gic{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;font-weight:700;font-size:14px;color:var(--acc);background:color-mix(in srgb,var(--acc) 14%,transparent)}

/* Notifications */
.nt .ntsub{margin:0 0 10px;color:var(--mut);font-size:13.5px}.ntstat{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.ntstat small{color:var(--mut);font-size:12.5px;flex-basis:100%;line-height:1.45}

/* Visio, pièces jointes, Mes liens */
.meetf{display:flex;flex-direction:column;gap:6px}.meetrow{display:flex;gap:8px;flex-wrap:wrap}.meetrow .fld{flex:1;min-width:200px}.meetf small,.fstat,.fadd small{color:var(--mut);font-size:12px;line-height:1.45}
.icon-btn.join{color:#4ADE80;border-color:rgba(74,222,128,.35)}
.files{display:flex;flex-direction:column;gap:6px}.file{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.035);border:1px solid var(--line);border-radius:10px;padding:6px 8px}
.file a{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink);text-decoration:none;font-size:13.5px}.file a:hover{color:var(--acc)}.file small{color:var(--mut);font-size:12px}
.fi{display:inline-flex;color:var(--acc)}.fi svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2}.fadd{display:flex;gap:10px;align-items:center;margin-top:8px}
.lsearch{display:flex;gap:8px;align-items:center;background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:8px 8px 8px 14px;margin-bottom:16px}
.lsearch .ic{display:inline-flex;color:var(--acc)}.lsearch .ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2}.lsearch .fld{flex:1;border:0;background:transparent;min-height:40px;font-size:15px}
.lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:16px}
.ltile{position:relative;background:var(--glass);border:1px solid var(--line);border-radius:16px}.ltile:hover{border-color:color-mix(in srgb,var(--acc) 50%,transparent)}
.ltile a{display:flex;gap:12px;align-items:center;padding:14px;color:inherit;text-decoration:none}.ltile .t{min-width:0}.ltile b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ltile small{color:var(--mut);font-size:12.5px}
.lbadge{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-weight:800;font-size:17px;color:#111;background:linear-gradient(135deg,var(--acc),var(--acc2))}
.lacts{position:absolute;top:8px;inset-inline-end:8px;display:flex;gap:4px;opacity:0;transition:opacity .2s}.ltile:hover .lacts,.ltile:focus-within .lacts{opacity:1}@media (hover:none){.lacts{opacity:1}}
.lacts .icon-btn{width:28px;height:28px;background:rgba(0,0,0,.5)}.lquick{margin-bottom:12px}.lnote{color:var(--mut);font-size:13px;line-height:1.5}

/* ===== Mode entreprise ===== */
.fchips a{border:1px solid var(--line);border-radius:999px;padding:7px 13px;font-size:13px;color:#C9C9D2;background:rgba(255,255,255,.03);text-decoration:none;display:inline-flex;gap:6px;align-items:center}
.fchips a.on{border-color:var(--acc);color:#fff;background:color-mix(in srgb,var(--acc) 16%,transparent)}.fchips a .cnt{color:var(--acc);font-weight:700}
.ph+.fchips{margin-bottom:14px}
.spaces{display:flex;flex-direction:column;gap:4px;margin:4px 0 14px;padding:8px 10px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.03)}
.spaces.org{border-color:color-mix(in srgb,var(--acc) 45%,transparent);background:color-mix(in srgb,var(--acc) 8%,transparent)}
.sp-k{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.spsel{background:transparent;border:0;color:var(--ink);font-weight:700;font-size:14px;padding:2px 0;cursor:pointer;max-width:100%}.spsel option{background:#18181E;color:#fff}
.spaces.spmini{margin:0;padding:6px 10px;order:3;flex-basis:100%;flex-direction:row;align-items:center;gap:8px}.spaces.spmini .spsel{font-size:14px;flex:1;min-width:0}
.mtop.withsp{flex-wrap:wrap;row-gap:10px}
.osub{color:var(--mut);font-size:13px;line-height:1.5;margin:0 0 10px}
.orow{display:flex;align-items:center;gap:12px;padding:10px 4px;flex-wrap:wrap}.orow+.orow{border-top:1px solid var(--line)}
.orow .t{flex:1;min-width:160px}.orow .t b{display:block}.orow .t small{color:var(--mut);font-size:12.5px}.orow .me{color:var(--acc);font-weight:600}
.oav{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13.5px;color:#111;background:linear-gradient(135deg,var(--acc),var(--acc2))}
.oav.gen{background:rgba(255,255,255,.08);color:var(--acc);font-size:17px}.oav.lock{background:rgba(248,113,113,.15);font-size:16px}
.ostats{display:flex;gap:6px;flex-wrap:wrap}.ostats span{font-size:12px;padding:3px 8px;border-radius:999px;background:rgba(255,255,255,.05);color:#C9C9D2}.ostats .late{color:#FCA5A5;background:rgba(248,113,113,.12)}.ostats .ok{color:#86EFAC;background:rgba(74,222,128,.1)}
.oacts{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.rsel{min-height:34px;max-width:170px}
.badge.r-admin{color:#111;background:var(--acc)}.badge.r-manager{color:var(--acc);border-color:var(--acc)}
.badge.conf{color:#FCA5A5;border-color:rgba(248,113,113,.5);background:rgba(248,113,113,.08)}
.oreason{margin:4px 0 0;color:#C9C9D2;font-size:13px;font-style:italic}
.invres{margin-top:12px;padding:12px;border:1px solid color-mix(in srgb,var(--acc) 45%,transparent);border-radius:14px;background:color-mix(in srgb,var(--acc) 7%,transparent);display:flex;flex-direction:column;gap:8px}.invres small{color:var(--mut);line-height:1.45}
.olog{display:flex;flex-direction:column}.lrow{display:grid;grid-template-columns:130px 140px 1fr;gap:10px;padding:8px 4px;border-top:1px solid var(--line);font-size:13px;align-items:baseline}
.lrow time{color:var(--mut);font-size:12px}.lrow small{grid-column:3;color:var(--mut)}.lrow.warnrow span{color:#FCA5A5}
.opoints ul{margin:0;padding-inline-start:18px;display:flex;flex-direction:column;gap:8px;color:#C9C9D2;font-size:13.5px;line-height:1.5}
.owork .row{padding:8px 4px}.asg{display:flex;flex-direction:column;gap:6px}
.warn2{color:#FCD34D;line-height:1.5;margin:0 0 10px;font-size:13.5px}
.orgbar .seg button{font-size:12.5px}
.auth .card.join{text-align:center;max-width:440px}.auth .card.join .alogo{width:150px;margin:0 auto 10px;display:block}.jorg{display:grid;place-items:center;margin:6px 0}.jorg .ic svg{width:44px;height:44px;stroke:var(--acc);fill:none;stroke-width:1.6}.auth .card.join .pf{justify-content:center}
/* messagerie */
.msgs{display:grid;grid-template-columns:300px 1fr;gap:14px;min-height:calc(100vh - 220px)}
.mthreads{background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:6px;display:flex;flex-direction:column;gap:2px;overflow:auto;max-height:calc(100vh - 220px)}
.mth{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:12px;color:inherit;text-decoration:none}.mth:hover{background:rgba(255,255,255,.04)}.mth.on{background:color-mix(in srgb,var(--acc) 14%,transparent)}
.mth .t{flex:1;min-width:0}.mth b{display:block;font-size:14px}.mth small{display:block;color:var(--mut);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mth .c{flex:none;min-width:20px;height:20px;border-radius:10px;background:var(--acc);color:#111;font-size:11.5px;font-weight:700;display:grid;place-items:center;padding:0 6px}
.mpane{background:var(--glass);border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;min-height:420px;max-height:calc(100vh - 220px)}
.mpane.empty{align-items:center;justify-content:center}
.mhead{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.mhead b{display:block}.mhead small{color:var(--mut);font-size:12px}
.mlist{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:8px}
.mb{max-width:78%;align-self:flex-start;background:rgba(255,255,255,.06);border-radius:16px 16px 16px 4px;padding:8px 12px}.mb.me{align-self:flex-end;background:color-mix(in srgb,var(--acc) 22%,#16161B);border-radius:16px 16px 4px 16px}
[dir=rtl] .mb{border-radius:16px 16px 4px 16px}[dir=rtl] .mb.me{border-radius:16px 16px 16px 4px}
.mb b{display:block;font-size:12px;color:var(--acc);margin-bottom:2px}.mb p{margin:0;white-space:pre-wrap;line-height:1.45;font-size:14px;overflow-wrap:anywhere}.mb time{display:block;font-size:10.5px;color:var(--mut);margin-top:3px}
.matt{display:inline-block;margin-top:6px;font-size:12.5px;color:var(--acc);text-decoration:none;border:1px solid color-mix(in srgb,var(--acc) 40%,transparent);border-radius:8px;padding:3px 8px}
.mform{display:flex;gap:8px;padding:10px;border-top:1px solid var(--line);align-items:flex-end}.mform .fld{flex:1;resize:none;min-height:44px}
.n .c:empty{display:none}
@media (max-width:900px){
  .msgs{grid-template-columns:1fr;min-height:0}.mthreads,.mpane{max-height:none}.mthreads.hide{display:none}.mpane{min-height:calc(100vh - 260px)}
  .msgs:has(.mpane.empty) .mpane{display:none}
  .lrow{grid-template-columns:1fr;gap:2px}.lrow small{grid-column:1}
  .orow .oacts{width:100%}
}

/* Sécurité */
.pwhint{display:block;color:var(--mut);font-size:12px;margin-top:6px;line-height:1.4}.auth form:has(.field[style*="none"]) .pwhint{display:none}
.otp{font-size:26px!important;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}
.mfaic{font-size:40px;text-align:center;margin:4px 0 8px}
.tfarow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;border-radius:14px;border:1px solid rgba(252,211,77,.35);background:rgba(252,211,77,.06)}
.tfarow.on{border-color:rgba(74,222,128,.4);background:rgba(74,222,128,.06)}.tfarow .t{flex:1;min-width:180px}.tfarow b{display:block}.tfarow small{color:var(--mut);font-size:12.5px;line-height:1.45}.tfaic{font-size:24px}
.devs{display:flex;flex-direction:column}.dev{display:flex;align-items:center;gap:10px;padding:9px 2px;border-top:1px solid var(--line)}.dev .t{flex:1;min-width:0}.dev b{display:block;font-size:13.5px}.dev small{color:var(--mut);font-size:12px}.dev .me{color:#4ADE80;font-weight:600}.devic{font-size:18px}
.logins{margin-top:10px}.logins summary{cursor:pointer;color:var(--acc);font-size:13px;padding:6px 0}
.lrow2{display:grid;grid-template-columns:18px 120px 1fr;gap:8px;font-size:12.5px;padding:5px 0;border-top:1px solid var(--line)}.lrow2 small{grid-column:3;color:var(--mut)}.lrow2 span:first-child{color:#4ADE80}.lrow2.bad span:first-child,.lrow2.bad span{color:#FCA5A5}
.tfasteps{margin:0;padding-inline-start:20px;display:flex;flex-direction:column;gap:14px;line-height:1.5;font-size:14px}.tfasteps li::marker{color:var(--acc);font-weight:700}
.qrbox{background:#fff;border-radius:14px;padding:10px;width:max-content;margin:10px 0}.qrbox img{display:block;width:200px;height:200px;image-rendering:pixelated}
.secret{display:block;margin:6px 0 8px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.06);font-size:14px;letter-spacing:.06em;word-break:break-all}
.tfa .otp{margin-top:8px;width:100%}
.rcodes{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.rcodes code{padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.06);text-align:center;font-size:15px;letter-spacing:.08em}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition:none!important}.scene{opacity:1}.rot span:first-child{opacity:1;transform:none}}
*{transition-property:background-color,border-color,color;transition-duration:.5s}

/* ===== Étape 8 · Compte, abonnement, propriétaire, pages légales ===== */
.bigic{width:64px;height:64px;margin:4px auto 14px;border-radius:20px;display:grid;place-items:center;font-size:28px;background:color-mix(in srgb,var(--acc) 14%,transparent);border:1px solid color-mix(in srgb,var(--acc) 40%,transparent);color:var(--acc)}
.bigic.ok{background:rgba(74,222,128,.12);border-color:rgba(74,222,128,.45);color:#4ADE80;font-weight:700}
.bigic.ko{background:rgba(248,113,113,.12);border-color:rgba(248,113,113,.45);color:#FCA5A5;font-weight:700}
.forgotrow{display:flex;justify-content:flex-end;margin:-6px 0 10px}.forgotrow .forgot{font-size:13px;font-weight:500}
.terms{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#C9C9D2;line-height:1.5;margin:0 0 12px;cursor:pointer}
.terms a{color:var(--acc);text-decoration:none;font-weight:600}
.tcheck{appearance:none;flex:none;width:20px;height:20px;margin-top:1px;border-radius:6px;border:1.5px solid rgba(255,255,255,.3);background:rgba(0,0,0,.3);display:grid;place-items:center;cursor:pointer;transition:background .2s,border-color .2s}
.tcheck:checked{background:var(--acc);border-color:var(--acc)}
.tcheck:checked:after{content:'';width:5px;height:10px;border:solid var(--onacc);border-width:0 2.4px 2.4px 0;transform:translateY(-1px) rotate(45deg)}
.shake{animation:shake .45s}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.authlegal{text-align:center;font-size:12px;color:var(--mut2);margin:18px 0 0}.authlegal a{color:var(--mut);text-decoration:none}.authlegal a:hover{color:var(--acc)}
/* bandeaux */
.abanner{display:flex;align-items:center;gap:12px;padding:10px 12px 10px 14px;margin-bottom:14px;border-radius:16px;background:linear-gradient(90deg,color-mix(in srgb,var(--acc) 14%,transparent),rgba(255,255,255,.02));border:1px solid color-mix(in srgb,var(--acc) 40%,transparent)}
.abanner .ai{font-size:18px}.abanner .t{flex:1;font-size:13.5px;line-height:1.4}
.abanner.warm{background:linear-gradient(90deg,rgba(251,191,36,.14),rgba(255,255,255,.02));border-color:rgba(251,191,36,.4)}
/* puce d'offre */
.pchip{display:inline-flex;align-items:center;font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;letter-spacing:.02em;border:1px solid rgba(255,255,255,.16);color:#C9C9D2;white-space:nowrap}
.n .pchip{margin-left:auto}
.pchip.p-pro{color:var(--acc);border-color:color-mix(in srgb,var(--acc) 55%,transparent)}
.pchip.p-entreprise{color:var(--onacc);background:linear-gradient(135deg,var(--acc),var(--acc2));border-color:transparent}
.pchip.trial{color:#FCD34D;background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.45)}
.n.own svg{stroke:#FCD34D}
/* page Abonnement */
.bnow{display:flex;align-items:center;gap:18px;margin:16px 0 14px;padding:20px 22px;background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--acc) 18%,transparent),transparent 60%),var(--glass)}
.bnl{flex:1;min-width:0}.bnl h2{margin:4px 0 2px;font:700 30px Inter,sans-serif;letter-spacing:-.02em}.bnl p{margin:0 0 8px;color:var(--mut)}
.bai{display:flex;align-items:center;gap:12px}.bai small{display:block;color:var(--mut);font-size:12px}.bai b{font-size:17px}
.bring{position:relative;display:grid;place-items:center}.bring b{position:absolute;font-size:13px}
.bperw{display:flex;justify-content:center;margin:6px 0 14px}
.bper button{padding:8px 16px;font-size:13.5px;display:inline-flex;gap:8px;align-items:center}
.bper .save{font-size:11px;font-weight:700;padding:2px 7px;border-radius:999px;background:rgba(74,222,128,.15);color:#4ADE80}
.bper button.on .save{background:rgba(0,0,0,.18);color:var(--onacc)}
.bplans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch}
.bplan{position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 20px;border-radius:22px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(18px)}
.bplan h3{margin:0;font:700 20px Inter,sans-serif}.bplan .tag{margin:0;color:var(--mut);font-size:13px}
.bplan .price{display:flex;align-items:baseline;gap:6px;margin:8px 0 6px}.bplan .price b{font:700 26px Inter,sans-serif;letter-spacing:-.02em}.bplan .price small{color:var(--mut)}
.bplan ul{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px;flex:1}
.bplan li{position:relative;padding-inline-start:24px;font-size:13.5px;line-height:1.45;color:#D6D6DE}
.bplan li:before{content:'✓';position:absolute;inset-inline-start:0;top:0;width:17px;height:17px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;color:var(--acc);background:color-mix(in srgb,var(--acc) 15%,transparent)}
.bplan .btn{width:100%}
.bplan.best{border-color:color-mix(in srgb,var(--acc) 65%,transparent);background:radial-gradient(130% 90% at 50% 0%,color-mix(in srgb,var(--acc) 16%,transparent),transparent 70%),var(--glass);box-shadow:0 30px 80px color-mix(in srgb,var(--acc) 14%,transparent)}
.bplan.cur{outline:2px solid color-mix(in srgb,var(--acc) 35%,transparent);outline-offset:3px}
.ribbon{position:absolute;top:-11px;inset-inline-end:18px;font-size:11px;font-weight:700;padding:4px 10px;border-radius:999px;color:var(--onacc);background:linear-gradient(135deg,var(--acc),var(--acc2))}
.bsafe,.bsoon{text-align:center;color:var(--mut);font-size:12.5px;margin:14px 0}.bsoon{color:#FCD34D}
.bpay{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.bpay:first-of-type{border-top:0}
.bpay .t{flex:1;min-width:0}.bpay small{display:block;color:var(--mut);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.opdot{flex:none;width:30px;height:30px;border-radius:10px;display:grid;place-items:center;font-size:14px;background:rgba(255,255,255,.06)}
.opdot.mtn{background:#FFCB05}.opdot.airtel{background:#E40000}.opdot.gift{background:rgba(74,222,128,.14)}
.bst{flex:none;font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 9px;border:1px solid rgba(255,255,255,.15);color:#C9C9D2}
.bst.s-confirme{color:#4ADE80;border-color:rgba(74,222,128,.45);background:rgba(74,222,128,.08)}
.bst.s-en_attente,.bst.s-en_cours{color:#FCD34D;border-color:rgba(251,191,36,.45);background:rgba(251,191,36,.08)}
.bst.s-refuse,.bst.s-echoue{color:#FCA5A5;border-color:rgba(248,113,113,.45);background:rgba(248,113,113,.08)}
/* fenêtre de paiement */
.paybox{display:flex;flex-direction:column;gap:12px}
.paysum{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line)}.paysum b{font-size:18px;color:var(--acc)}
.ops{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.op{display:flex;align-items:center;gap:10px;padding:12px;border-radius:14px;border:1.5px solid var(--line);background:rgba(255,255,255,.03);color:var(--ink);font-weight:600;cursor:pointer;transition:border-color .2s,background .2s}
.op i{width:26px;height:26px;border-radius:8px;flex:none}.op.mtn i{background:#FFCB05}.op.airtel i{background:#E40000}
.op.on.mtn{border-color:#FFCB05;background:rgba(255,203,5,.08)}.op.on.airtel{border-color:#FF4D4D;background:rgba(228,0,0,.1)}
.msteps{margin:0;padding:12px 14px 12px 34px;border-radius:14px;background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.14);display:flex;flex-direction:column;gap:6px;font-size:13.5px;line-height:1.5}
.payres{text-align:center;padding:10px 4px}.payres h3{margin:0 0 6px;font-size:19px}.payres p{margin:0 auto;color:var(--mut);max-width:420px;line-height:1.55}.payres small{display:block;margin-top:12px;color:var(--mut2)}
.phonewait{position:relative;width:76px;height:76px;margin:6px auto 14px;display:grid;place-items:center;font-size:34px}
.phonewait i{position:absolute;inset:0;border-radius:50%;border:2px solid var(--acc);animation:pw 1.6s ease-out infinite}
@keyframes pw{from{transform:scale(.6);opacity:1}to{transform:scale(1.25);opacity:0}}
/* carte Mon offre (Personnaliser) */
.pcard{display:flex;align-items:center;gap:14px;flex-wrap:wrap;background:radial-gradient(120% 160% at 0% 0%,color-mix(in srgb,var(--acc) 16%,transparent),transparent 60%),var(--glass)}
.pcard .t{flex:1;min-width:180px}.pcard small{display:block;color:var(--mut);font-size:12px}.pcard b{display:flex;align-items:center;gap:8px;font-size:18px;margin:2px 0}.pcard span{color:var(--mut);font-size:13px}.pcard .act{display:flex;gap:8px}
.jverify{width:100%}
/* tableau de bord du propriétaire */
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:16px 0}
.kpi{padding:14px 16px;border-radius:18px;background:var(--glass);border:1px solid var(--line);display:flex;flex-direction:column;gap:3px;min-width:0}
.kpi small{color:var(--mut);font-size:12px;font-weight:600}.kpi b{font:700 24px Inter,sans-serif;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi span{color:var(--mut2);font-size:12px}
.kpi.acc{border-color:color-mix(in srgb,var(--acc) 45%,transparent);background:radial-gradient(120% 120% at 0% 0%,color-mix(in srgb,var(--acc) 16%,transparent),transparent 70%),var(--glass)}.kpi.acc b{color:var(--acc)}
.obars{display:flex;align-items:flex-end;gap:3px;height:110px;margin-top:8px}
.obars i{flex:1;border-radius:4px 4px 2px 2px;background:color-mix(in srgb,var(--acc) 45%,transparent);min-height:3px}.obars i.o{background:var(--acc);box-shadow:0 0 12px var(--acc)}
.obdays{display:flex;justify-content:space-between;color:var(--mut2);font-size:11.5px;margin-top:6px}
.opay{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}
.opay .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.opay small{color:var(--mut);font-size:12px}
.opay code{align-self:flex-start;font:600 12.5px ui-monospace,Menlo,Consolas,monospace;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:8px;padding:3px 8px;margin:3px 0;color:#FCD34D;word-break:break-all}
.oact{display:flex;flex-direction:column;gap:6px}
.ochecks{display:grid;grid-template-columns:1fr;gap:6px}
.ock{display:flex;align-items:center;gap:10px;font-size:13px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.025)}
.ock span{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:800}
.ock.ok span{background:rgba(74,222,128,.16);color:#4ADE80}.ock.ko{color:#E5E5EA}.ock.ko span{background:rgba(251,191,36,.16);color:#FCD34D}
.otop,.ouser{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line)}
.otop .t,.ouser .t{flex:1;min-width:0}.otop small,.ouser small{display:block;color:var(--mut);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ouser{width:100%;background:none;border:0;border-top:1px solid var(--line);color:inherit;text-align:start;cursor:pointer;border-radius:0}.ouser:hover{background:rgba(255,255,255,.025)}
.ousers{margin-top:8px}.card .fchips{margin-top:10px}
.ouhead{display:flex;gap:12px;align-items:center}.ouhead small{display:block;color:var(--mut);font-size:12.5px}
.oinfo{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.oinfo small{color:var(--mut)}
.ogrant{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.oacts{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.oplan{padding:12px 0;border-top:1px solid var(--line)}.oplan:first-of-type{border-top:0}.oplan>b{display:block;margin-bottom:8px}
.olog{font-size:12.5px;color:var(--mut);padding:5px 0;border-top:1px solid var(--line)}.olog b{color:#C9C9D2;font-weight:600}
.ow2fa{text-align:center;max-width:520px;margin:20px auto;padding:28px}.ow2fa p{color:var(--mut);line-height:1.55}
/* pages légales */
.legal{min-height:100vh;padding:28px 16px;display:flex;justify-content:center}
.legal article{width:100%;max-width:760px;padding:28px 32px 34px}
.lgtop{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.lgtop img{width:150px}
.legal h1{font:700 32px Inter,sans-serif;letter-spacing:-.02em;margin:0 0 4px}
.lgdate{color:var(--mut2);font-size:13px;margin:0 0 18px}
.lgnote{color:#FCD34D;font-size:13px}
.lgintro{font-size:16px;line-height:1.6;color:#D6D6DE;padding:14px 16px;border-radius:14px;background:color-mix(in srgb,var(--acc) 8%,transparent);border:1px solid color-mix(in srgb,var(--acc) 30%,transparent)}
.legal section{margin-top:22px}.legal h2{font:700 17px Inter,sans-serif;margin:0 0 8px;color:var(--ink)}
.legal section p{margin:0 0 8px;line-height:1.65;color:#C9C9D2;font-size:14.5px}
.legal a{color:var(--acc)}.lgfoot{margin-top:26px;padding-top:16px;border-top:1px solid var(--line)}
@media (max-width:1200px){.kpis{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){
  .bplans{grid-template-columns:1fr}.bnow{flex-direction:column;align-items:flex-start}.bnl h2{font-size:26px}
  .kpis{grid-template-columns:1fr 1fr}.kpi b{font-size:20px}
  .legal{padding:0}.legal article{border-radius:0;padding:20px 18px 30px}.legal h1{font-size:26px}
  .abanner{flex-wrap:wrap}.abanner .t{min-width:200px}
  .opay{flex-wrap:wrap}.oact{flex-direction:row;width:100%}.oact .btn{flex:1}
}
.kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kpi b{font-size:22px}
.ousers{max-height:520px;overflow:auto;padding-inline-end:4px}
.grid2>*,.stack>*{min-width:0}
.kpi b{white-space:normal;overflow-wrap:break-word;text-overflow:clip}

/* ===== Étape 9 · Page de présentation publique ===== */
.lp{max-width:1180px;margin:0 auto;padding:0 24px 40px;position:relative}
.lpnav{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:18px;padding:14px 0;background:linear-gradient(180deg,rgba(8,8,11,.92),rgba(8,8,11,.6) 70%,transparent);backdrop-filter:blur(10px)}
.lplogo img{width:150px;display:block}
.lplinks{display:flex;gap:22px;margin-inline-start:18px}.lplinks a{color:#C9C9D2;text-decoration:none;font-weight:500}.lplinks a:hover{color:var(--acc)}
.lpnavr{margin-inline-start:auto;display:flex;gap:8px;align-items:center}
.lplang{position:static;min-height:32px;font-size:12.5px}
.lphero{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:50px 0 70px;min-height:620px}
.lpkick{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}
.lphero h1{font:800 clamp(38px,5.4vw,66px)/1.02 Inter,sans-serif;letter-spacing:-.045em;margin:16px 0 18px}
.lphero h1 em{font-style:normal;background:linear-gradient(100deg,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text;color:transparent}
.lpsub{font-size:18px;line-height:1.6;color:#B9B9C4;max-width:560px;margin:0 0 26px}
.lpcta{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.lpcta small{color:var(--mut)}
.btn.lpbig{min-height:54px;padding:0 28px;font-size:16.5px;border-radius:16px}
.lptrust{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.lptrust span{font-size:13px;color:#C9C9D2;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
/* aperçu */
.lpmock{position:relative;height:560px}
.lmphone{position:absolute;left:50%;top:0;transform:translateX(-50%) rotate(-3deg);width:300px;height:560px;border-radius:44px;padding:14px;background:linear-gradient(160deg,#1b1b22,#0d0d12);border:1px solid rgba(255,255,255,.12);box-shadow:0 50px 120px rgba(0,0,0,.7),0 0 0 8px rgba(255,255,255,.03),0 0 120px color-mix(in srgb,var(--acc) 22%,transparent);overflow:hidden;animation:lmfloat 7s ease-in-out infinite}
@keyframes lmfloat{50%{transform:translateX(-50%) rotate(-3deg) translateY(-10px)}}
.lmtop{display:flex;justify-content:center;padding:8px 0 12px}.lmtop img{width:96px}
.lmhero{border-radius:24px;padding:18px 16px;background:radial-gradient(120% 120% at 100% 0%,color-mix(in srgb,var(--acc2) 55%,transparent),transparent 60%),radial-gradient(100% 100% at 0% 100%,color-mix(in srgb,var(--acc) 55%,transparent),transparent 60%),#16161c;margin-bottom:12px}
.lmhero small{display:block;font-size:10px;letter-spacing:.08em;color:#ddd;font-weight:700}.lmhero b{display:block;font-size:22px;margin-top:6px}.lmhero span{display:block;font-size:20px;font-weight:700;color:var(--acc)}
.lmcard{border-radius:20px;padding:12px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.lmh{display:flex;justify-content:space-between;font-weight:700;font-size:13px;margin-bottom:6px}.lmh span{color:var(--mut);font-weight:500}
.lmrow{display:flex;gap:10px;align-items:flex-start;padding:9px 4px;border-top:1px solid var(--line);font-size:12.5px}.lmrow:first-of-type{border-top:0}
.lmrow i{flex:none;width:16px;height:16px;border-radius:50%;border:1.6px solid rgba(255,255,255,.35);margin-top:1px}
.lmrow small{display:block;color:var(--mut);font-size:11px;margin-top:2px}
.lmrow.done i{background:var(--acc);border-color:var(--acc)}.lmrow.done b{text-decoration:line-through;color:var(--mut)}
.lmrow.late small{color:#FCA5A5}
.lmbubble{position:absolute;display:flex;gap:10px;align-items:center;max-width:270px;padding:11px 14px;border-radius:18px;background:rgba(22,22,28,.92);border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 50px rgba(0,0,0,.55);backdrop-filter:blur(10px);font-size:12.5px;animation:lmb 6s ease-in-out infinite}
.lmbubble small{display:block;color:var(--mut);font-size:11px}.lmbubble b{font-weight:600}
.lmbubble.b1{left:-4%;top:70px}.lmbubble.b2{right:-4%;top:250px;animation-delay:-2s}.lmbubble.b3{left:2%;bottom:40px;animation-delay:-4s}
@keyframes lmb{50%{transform:translateY(-8px)}}
.lmic{flex:none;width:32px;height:32px;border-radius:11px;display:grid;place-items:center;background:color-mix(in srgb,var(--acc) 18%,transparent);font-size:15px}
.lmic.ok{background:rgba(74,222,128,.16);color:#4ADE80;font-weight:800}.lmic.mo{background:#FFCB05;color:#111;font-weight:800}
/* sections */
.lpsec{padding:70px 0;text-align:center}
.lpsec h2,.lpend h2{font:800 clamp(28px,3.6vw,42px)/1.1 Inter,sans-serif;letter-spacing:-.035em;margin:10px 0 12px}
.lpsec-sub{color:var(--mut);font-size:16.5px;max-width:640px;margin:0 auto 34px;line-height:1.6}
.lppain{padding-top:20px}
.lppains{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.lppainc{padding:22px;border-radius:20px;background:rgba(255,255,255,.03);border:1px solid var(--line);text-align:start}.lppainc span{font-size:26px}.lppainc p{margin:10px 0 0;color:#C9C9D2;line-height:1.55;font-size:15px}
.lpanswer{font-size:19px;font-weight:600;margin:30px auto 0;max-width:720px;line-height:1.5}.lpanswer b{color:var(--acc)}
.lpfeats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;text-align:start}
.lpfeat{padding:24px;border-radius:22px;background:var(--glass);border:1px solid var(--line);transition:transform .3s var(--ease),border-color .3s}
.lpfeat:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--acc) 45%,transparent)}
.lpfic{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--acc) 15%,transparent);margin-bottom:14px}
.lpfic svg{width:22px;height:22px;stroke:var(--acc);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lpfeat h3{margin:0 0 8px;font-size:18px}.lpfeat p{margin:0;color:var(--mut);line-height:1.6;font-size:14.5px}
.lphow{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px;counter-reset:s}
.lpstep{padding:24px;border-radius:22px;border:1px dashed rgba(255,255,255,.14);text-align:start}
.lpn{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-weight:800;color:var(--onacc);background:linear-gradient(135deg,var(--acc),var(--acc2));margin-bottom:12px}
.lpstep h3{margin:0 0 6px;font-size:18px}.lpstep p{margin:0;color:var(--mut);line-height:1.55}
.lpplans{text-align:start;margin-top:10px}
.lpplans .bplan{padding-top:26px}
.lppay{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;margin-top:22px}
.lppay .op{cursor:default;padding:8px 12px;font-size:13px}.lppay .op i{width:18px;height:18px;border-radius:6px}.lppay small{color:var(--mut);width:100%}
.lpfaq{max-width:760px;margin:20px auto 0;text-align:start;display:flex;flex-direction:column;gap:10px}
.lpq{border-radius:16px;background:rgba(255,255,255,.03);border:1px solid var(--line);padding:0 18px}
.lpq summary{cursor:pointer;list-style:none;padding:16px 0;font-weight:600;font-size:15.5px;display:flex;justify-content:space-between;gap:10px}
.lpq summary::-webkit-details-marker{display:none}
.lpq summary:after{content:'+';color:var(--acc);font-size:20px;line-height:1;transition:transform .3s}
.lpq[open] summary:after{transform:rotate(45deg)}
.lpq p{margin:0 0 16px;color:#B9B9C4;line-height:1.6}
.lpend{margin:40px 0 20px;padding:56px 24px;text-align:center;border-radius:30px;background:radial-gradient(80% 120% at 50% 0%,color-mix(in srgb,var(--acc) 26%,transparent),transparent 70%),var(--glass);border:1px solid color-mix(in srgb,var(--acc) 40%,transparent)}
.lpend p{color:#C9C9D2;font-size:17px;margin:0 0 24px}
.lpfoot{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:26px 0 10px;border-top:1px solid var(--line);color:var(--mut);font-size:13px}
.lpfoot img{width:110px}.lpfoot nav{margin-inline-start:auto;display:flex;gap:16px}.lpfoot a{color:var(--mut);text-decoration:none}.lpfoot a:hover{color:var(--acc)}
@media (max-width:900px){
  .lp{padding:0 16px 30px}
  .lpnav{gap:10px}.lplogo img{width:112px}.lplinks,.lpnavr .btn.g{display:none}
  .lphero{grid-template-columns:1fr;gap:10px;padding:22px 0 40px;min-height:0}
  .lphero h1{font-size:40px}.lpsub{font-size:16px}
  .lpcta{align-items:stretch}.btn.lpbig{width:100%}
  .lpmock{height:500px;margin-top:20px}.lmphone{width:260px;height:490px}
  .lmbubble{max-width:220px;font-size:11.5px}.lmbubble.b1{left:-2%;top:40px}.lmbubble.b2{right:-2%;top:220px}.lmbubble.b3{left:0;bottom:10px}
  .lpsec{padding:44px 0}
  .lppains,.lpfeats,.lphow{grid-template-columns:1fr}
  .lpfoot nav{margin-inline-start:0}
}

/* ===== Accueil guidé ===== */
.auth.ob .card{max-width:560px;padding:26px 26px 22px}
.obtop{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.obtop img{width:120px;margin:0}
.obskip{color:var(--mut);font-weight:500}
.obdots{display:flex;gap:6px;justify-content:center;margin-bottom:8px}
.obdots i{width:26px;height:5px;border-radius:999px;background:rgba(255,255,255,.12);transition:background .3s,width .3s}.obdots i.on{width:44px;background:var(--acc)}.obdots i.past{background:color-mix(in srgb,var(--acc) 50%,transparent)}
.obstep{display:block;text-align:center;color:var(--mut2);font-size:12px;margin-bottom:6px}
.obacts{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.obact{display:flex;align-items:center;gap:10px;padding:14px;border-radius:16px;border:1.5px solid var(--line);background:rgba(255,255,255,.03);color:var(--ink);font-weight:600;cursor:pointer;text-align:start;transition:border-color .2s,background .2s,transform .2s}
.obact span{font-size:22px}.obact:active{transform:scale(.97)}
.obact.on{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 12%,transparent)}
.obmods{display:flex;flex-direction:column;gap:8px;margin-bottom:6px}
.obmod{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1.5px solid var(--line);background:rgba(255,255,255,.03);color:var(--ink);cursor:pointer;text-align:start}
.obmod .ic{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--acc) 12%,transparent);flex:none}
.obmod .ic svg{width:18px;height:18px;stroke:var(--acc);fill:none;stroke-width:1.8}
.obmod .t{flex:1;min-width:0}.obmod small{display:block;color:var(--mut);font-size:12px;line-height:1.35}
.obck{flex:none;width:22px;height:22px;border-radius:50%;border:1.5px solid rgba(255,255,255,.25)}
.obmod.on{border-color:color-mix(in srgb,var(--acc) 60%,transparent)}.obmod.on .obck{background:var(--acc);border-color:var(--acc);box-shadow:inset 0 0 0 4px #121217}
.obprios{display:flex;flex-direction:column;gap:10px}
.obprio{display:flex;align-items:center;gap:10px}.obprio span{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--onacc);background:linear-gradient(135deg,var(--acc),var(--acc2))}
.obprio .fld{min-height:46px}
.obhint{color:var(--mut);font-size:13px;line-height:1.5;margin:14px 0 0}
.obfoot{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.obfoot .btn{min-width:130px}
@media (max-width:900px){.auth.ob{padding:12px;align-items:flex-start}.auth.ob .card{padding:20px 18px}.obacts{grid-template-columns:1fr 1fr}.obact{padding:12px;font-size:13.5px}}
.lp{overflow-x:clip}
.lmbubble.b1{left:-6%;top:440px}.lmbubble.b2{right:-6%;top:250px}.lmbubble.b3{left:auto;right:0;bottom:24px}
@media (max-width:900px){.lmbubble.b1{left:-1%;top:380px}.lmbubble.b2{right:-1%;top:200px}.lmbubble.b3{right:0;bottom:6px}}
@media (max-width:900px){
  .lpnavr .btn.g{display:inline-flex}.lpnavr .btn:not(.g){display:none}.lplang{max-width:104px}
  .lmbubble.b1,.lmbubble.b3{display:none}.lmbubble.b2{top:auto;bottom:-6px;right:2%}
  .lpmock{height:520px}
}
.kpi.warn{border-color:rgba(251,191,36,.55);background:radial-gradient(120% 120% at 0% 0%,rgba(251,191,36,.14),transparent 70%),var(--glass)}.kpi.warn b{color:#FCD34D}

/* impression (« Enregistrer en PDF ») : seul le document s'imprime */
@media print{
  html,body{background:#fff!important}
  body *{visibility:hidden}
  .printable,.printable *{visibility:visible}
  .printable{position:absolute;left:0;top:0;width:100%;margin:0;box-shadow:none!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
  /* l'aperçu imprimé part du haut de la page, sur toute la largeur : on neutralise la mise en page de l'écran autour de lui */
  .shell,.main,.docgrid,.docgrid>*{display:block!important;margin:0!important;padding:0!important;transform:none!important;position:static!important;animation:none!important;opacity:1!important;min-height:0!important;width:auto!important;max-width:none!important;border:0!important;background:none!important;backdrop-filter:none!important}
  .side,.mtop,.ph,.stylebar,.hint,.tasks,.orgbar,.ghelp{display:none!important}
  .printable{position:static!important}
  .bgfx,.toast,.tabs{display:none!important}
  /* modèles dessinés : imprimés à leur vraie taille, couleurs comprises */
  .paper.cvp{min-height:277mm;grid-template-columns:62mm 1fr!important;border-radius:0}.paper.cvp aside{min-height:277mm}
  .paper.letp{border-radius:0}
  .cards2{display:flex!important;flex-direction:column;align-items:flex-start;gap:8mm}
  .bcard2{width:85mm!important;height:55mm;aspect-ratio:auto;border-radius:0;padding:5mm 6mm;box-shadow:none!important;outline:.2mm dashed #B4B4BF;break-inside:avoid}
  .bcard2.front b{font-size:15pt}.bcard2.back b{font-size:17pt}.bcard2 .ln{font-size:8pt}.bcard2 small{font-size:7.5pt!important}
  .flyer2{width:100%;max-width:none;aspect-ratio:210/297;border-radius:0;box-shadow:none!important;break-inside:avoid}
  .flyer2 header{padding:22mm 16mm 12mm}.flyer2 header h2{font-size:40pt}.flyer2 header p{font-size:14pt}.flyer2 ul{font-size:15pt;gap:5mm}.flyer2 .offer{width:62mm;height:62mm}.flyer2 .offer b{font-size:24pt}.flyer2 .cta{font-size:20pt}.flyer2 footer{font-size:12pt;padding:8mm}
}
@media (max-width:900px){.kpi b{font-size:19px}}
.btn.saved{background:#22C55E;color:#06210f;box-shadow:0 10px 30px rgba(34,197,94,.3)}

/* Bibliothèque de modèles (lot 2) : aperçus des nouvelles diapositives, du CV et de la lettre */
.slide .items{display:grid;gap:1.6cqw;flex:1;align-content:start}.slide .items.n2{grid-template-columns:repeat(2,1fr)}.slide .items.n3{grid-template-columns:repeat(3,1fr)}.slide .items.n4,.slide .items.n5,.slide .items.n6{grid-template-columns:repeat(4,1fr)}
.slide.l-agenda .items{grid-template-columns:repeat(2,1fr)}.slide.l-timeline .items{border-top:2px solid color-mix(in srgb,var(--d-pri,var(--acc)) 50%,transparent);padding-top:2cqw}
.slide .it{background:var(--d-surf,rgba(255,255,255,.05));border:1px solid color-mix(in srgb,var(--d-muted,#fff) 25%,transparent);border-radius:1.4cqw;padding:1.8cqw;display:flex;flex-direction:column;gap:.6cqw;min-width:0}
.slide .it small{color:var(--d-pri,var(--acc));font-weight:800;font-size:2.4cqw}.slide .it b{color:var(--d-head,#fff);font-size:2.2cqw}.slide .it span,.slide .it em{color:var(--d-muted,#A0A0AB);font-size:1.7cqw;font-style:normal}.slide .it strong{color:var(--d-head,#fff);font-size:3.6cqw}.slide .it ul{color:var(--d-text,#E4E4EA);font-size:1.6cqw;padding-inline-start:2.4cqw}
.slide .it.hi{background:var(--d-pri,var(--acc));border-color:var(--d-pri,var(--acc))}.slide .it.hi *{color:var(--d-on,#111) !important}
.slide .it .av{width:6cqw;height:6cqw;border-radius:50%;background:var(--d-pri,var(--acc));color:var(--d-on,#111);display:grid;place-items:center;font-style:normal;font-weight:800;font-size:2.2cqw;align-self:center}
.slide.l-team .it,.slide.l-steps .it{text-align:center}
.slide table.cmp{width:100%;border-collapse:collapse;font-size:1.7cqw;color:var(--d-text,#E4E4EA)}.slide table.cmp th{background:var(--d-pri,var(--acc));color:var(--d-on,#111);padding:.8cqw;text-align:center}.slide table.cmp td{padding:.7cqw;text-align:center;border-bottom:1px solid color-mix(in srgb,var(--d-muted,#fff) 25%,transparent)}.slide table.cmp td:first-child,.slide table.cmp th:first-child{text-align:start}
.slide .big{display:grid;grid-template-columns:1fr 1fr;gap:3cqw;align-items:center;flex:1}.slide .big strong{display:block;color:var(--d-pri,var(--acc));font:800 14cqw/1 Calibri,Inter,sans-serif}.slide .big span{color:var(--d-head,#fff);font-size:2.4cqw;font-weight:700}
.slide .ct p{color:var(--d-text,#E4E4EA);font-size:2.4cqw;margin:0 0 1.4cqw}
.paper.cvp{display:grid;grid-template-columns:240px 1fr;gap:0;padding:0;overflow:hidden}
.paper.cvp aside{background:var(--d-pri,var(--acc));color:var(--d-on,#fff);padding:32px 22px;font-size:13px}.paper.cvp aside p{margin:0 0 6px}
.paper.cvp aside .cvh{color:var(--d-on,#fff);border-color:color-mix(in srgb,var(--d-on,#fff) 45%,transparent)}.paper.cvp aside .dots{color:var(--d-on,#fff);margin-inline-start:6px;letter-spacing:1px}.paper.cvp aside .dots i{opacity:.35;font-style:normal}
.paper.cvp main{padding:34px 36px}.paper.cvp main h1{font-size:30px}.paper.cvp .psub{color:var(--p-acc,var(--acc));font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:13px}
.paper .cvh{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--p-acc,var(--acc));border-bottom:1px solid #E4E4EA;padding-bottom:4px;margin:18px 0 8px}
.paper .cve{margin:0 0 12px}.paper .cvt{display:flex;justify-content:space-between;gap:10px}.paper .cvt small{color:var(--p-acc,var(--acc));font-weight:700;white-space:nowrap}.paper .cve em{color:#6B6B76;font-size:13px}.paper .cve ul{margin:4px 0 0;padding-inline-start:18px;font-size:14px}
.paper.cvp.v-classique{grid-template-columns:1fr}.paper.cvp.v-classique aside{display:none}
@media (max-width:700px){.paper.cvp{grid-template-columns:1fr}.paper.cvp main{padding:22px 18px}}
.paper.letp header{border-bottom:3px solid var(--p-acc,var(--acc));padding-bottom:12px;margin-bottom:22px}.paper.letp header b{display:block;font-size:22px;color:var(--p-acc,var(--acc))}.paper.letp header small{color:#6B6B76}
.paper.letp .to{margin-inline-start:52%;margin-bottom:18px}.paper.letp .to p{margin:0}.paper.letp .dt{text-align:end;color:#6B6B76}.paper.letp .obj b:first-child{color:var(--p-acc,var(--acc))}.paper.letp .sig{margin-top:28px}
/* Carte de visite et flyer (lot 3) : aperçus aux couleurs du style */
.cards2{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.bcard2{width:min(100%,340px);aspect-ratio:85/55;border-radius:10px;padding:22px 24px;display:flex;flex-direction:column;box-shadow:0 20px 50px rgba(0,0,0,.45);font-family:var(--d-fb,Inter,sans-serif)}
.bcard2.front{background:#fff;color:#1F1F26}.bcard2.front b{font:700 21px/1.15 var(--d-fh,Inter,sans-serif);color:#111116}.bcard2.front small{color:var(--p-acc,var(--acc));font-weight:700;font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.bcard2 i{display:block;width:34px;height:3px;background:var(--p-acc,var(--acc));margin:10px 0}.bcard2 .ln{margin-top:auto;display:flex;flex-direction:column;font-size:12px;gap:2px}
.bcard2.back{background:var(--d-pri,var(--acc));color:var(--d-on,#fff);align-items:center;justify-content:center;text-align:center}.bcard2.back b{font:700 24px/1.15 var(--d-fh,Inter,sans-serif)}.bcard2.back i{background:var(--d-sec,#fff)}.bcard2.back small{font-size:12px;opacity:.85}
.flyer2{max-width:460px;margin:0 auto;aspect-ratio:210/297;background:#fff;color:#1F1F26;border-radius:6px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.55);font-family:var(--d-fb,Inter,sans-serif)}
.flyer2 header{background:var(--d-pri,var(--acc));color:var(--d-on,#fff);padding:34px 30px 26px;min-height:42%;display:flex;flex-direction:column;justify-content:flex-end}
.flyer2 header small{font-weight:800;font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.85}.flyer2 header h2{font:800 34px/1.05 var(--d-fh,Inter,sans-serif);margin:8px 0}.flyer2 header p{margin:0;font-size:14px;opacity:.9}
.flyer2 .mid{display:flex;gap:14px;align-items:center;padding:22px 26px 8px;flex:1}.flyer2 ul{flex:1;margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;font-size:14px}
.flyer2 li:before{content:'✓';display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--p-acc,var(--acc));color:#fff;font-size:12px;margin-inline-end:8px}
.flyer2 .offer{width:120px;height:120px;border-radius:50%;background:var(--p-acc,var(--acc));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:none;padding:10px}.flyer2 .offer b{font-size:18px;line-height:1.1}.flyer2 .offer small{font-size:11px}
.flyer2 .cta{text-align:center;font-weight:800;font-size:18px;color:var(--p-acc,var(--acc));margin:6px 20px 14px}
.flyer2 footer{background:var(--d-pri,var(--acc));color:var(--d-on,#fff);padding:14px;text-align:center;font-weight:700;font-size:12px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 14px}
/* galerie de styles : filtres et « Voir tout » */
.stfam{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin-bottom:12px}.stfam::-webkit-scrollbar{display:none}.stfam button{white-space:nowrap;flex:none}
.stmore{display:flex;margin:12px auto 0}
/* catégories de modèles dans le Workspace */
.tcat{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut);margin:18px 2px 10px}
.tcat:first-child{margin-top:4px}
/* ---------- Theme Studio : 6 thèmes ajoutés (les 4 premiers restent inchangés) ---------- */
/* 1. Aurora Orange : lever de soleil, orange vers corail-magenta, fond brun très sombre */
html[data-theme=aurora]{--acc:#FF7A2F;--acc2:#FF4F8B;--b1:#FF8A3D;--b2:#FFB15C;--b3:#FF5E7E;--b4:#FF3D6E;--bg:#0B0706;--glass:rgba(26,16,13,.74);--line:rgba(255,190,150,.10);--onacc:#1A0A02}
html[data-theme=aurora] .shell{background:rgba(18,10,8,.5)}
/* 2. Émeraude & Or : vert profond et or, fond vert nuit */
html[data-theme=emeraude]{--acc:#2BD49A;--acc2:#E8B44A;--b1:#34D399;--b2:#E8B44A;--b3:#059669;--b4:#F5D27A;--bg:#050D0A;--glass:rgba(10,24,19,.74);--line:rgba(160,255,215,.09);--onacc:#03140D}
html[data-theme=emeraude] .shell{background:rgba(6,16,12,.5)}
/* 3. Améthyste Royale : violet profond et argent lilas, fond prune */
html[data-theme=amethyste_royale]{--acc:#A78BFA;--acc2:#E9D5FF;--b1:#8B5CF6;--b2:#C4B5FD;--b3:#7C3AED;--b4:#F0ABFC;--bg:#0A0712;--glass:rgba(22,15,34,.74);--line:rgba(210,190,255,.10);--onacc:#12062A}
html[data-theme=amethyste_royale] .shell{background:rgba(14,9,24,.5)}
/* 4. Saphir : bleu roi et argent, fond bleu nuit */
html[data-theme=saphir]{--acc:#5B8CFF;--acc2:#C7D2FE;--b1:#3B6BFF;--b2:#93B4FF;--b3:#1E40AF;--b4:#A5B4FC;--bg:#050914;--glass:rgba(12,18,36,.76);--line:rgba(170,195,255,.10);--onacc:#030A20}
html[data-theme=saphir] .shell{background:rgba(7,12,26,.5)}
/* 5. Rose Rubis : rouge rubis et rose poudré, fond bordeaux nuit */
html[data-theme=rubis]{--acc:#F43F5E;--acc2:#F9A8D4;--b1:#E11D48;--b2:#FDA4AF;--b3:#BE123C;--b4:#F9A8D4;--bg:#0E0508;--glass:rgba(30,12,18,.74);--line:rgba(255,170,195,.10);--onacc:#2A0610}
html[data-theme=rubis] .shell{background:rgba(20,7,11,.5)}
/* 6. Blanc Premium : ivoire, cartes blanches, texte encre, accent orange Kairos */
html[data-theme=blanc]{--acc:#C2410C;--acc2:#7C3AED;--b1:#FDBA74;--b2:#FCD9B6;--b3:#C4B5FD;--b4:#FDE68A;--bg:#F5F2EC;--glass:rgba(255,255,255,.86);--glass2:#FFFFFF;--line:rgba(20,20,30,.09);--ink:#17171C;--mut:#5B5B66;--mut2:#6B6B76;--onacc:#FFFFFF;color-scheme:light}
html[data-theme=blanc] .shell{background:rgba(255,255,255,.55);border-color:rgba(20,20,30,.08);box-shadow:0 30px 80px rgba(60,40,20,.12)}
html[data-theme=blanc] .dots i{opacity:.18!important}
html[data-theme=blanc] .rib{opacity:.25}
html[data-theme=blanc] .card,html[data-theme=blanc] .capture{box-shadow:0 8px 30px rgba(60,40,20,.08)}
html[data-theme=blanc] .hero{color:#fff}
html[data-theme=blanc] .row,html[data-theme=blanc] .row *:not(.chip):not(.c){color:var(--ink)}
html[data-theme=blanc] .row small,html[data-theme=blanc] .meta,html[data-theme=blanc] .empty,html[data-theme=blanc] .stat{color:var(--mut)!important}
html[data-theme=blanc] .card h3,html[data-theme=blanc] .mtop,html[data-theme=blanc] .ph h1{color:var(--ink)}
html[data-theme=blanc] .capture input,html[data-theme=blanc] .fld,html[data-theme=blanc] .capture select{background:#fff;color:var(--ink);border-color:rgba(20,20,30,.12)}
html[data-theme=blanc] .tabs{background:rgba(255,255,255,.94);border-top-color:rgba(20,20,30,.08)}
html[data-theme=blanc] .tabs a{color:#6B6B76}
html[data-theme=blanc] .btn.g,html[data-theme=blanc] .chip,html[data-theme=blanc] .fchips button{background:rgba(20,20,30,.04);color:var(--ink);border-color:rgba(20,20,30,.12)}
html[data-theme=blanc] .n{color:#3C3C46}
html[data-theme=blanc] .bars i{background:rgba(20,20,30,.12)}
html[data-theme=blanc] .bars i.o{background:var(--acc)}
html[data-theme=blanc] .abanner{background:#fff}
html[data-theme=blanc] .opt{color:#3C3C46;background:#fff;border-color:rgba(20,20,30,.14)}
html[data-theme=blanc] .opt.on{color:#9A3F06;background:#FFF1E6;border-color:#F3B58A}
html[data-theme=blanc] .opts select,html[data-theme=blanc] .opts input{color-scheme:light;background:#fff;color:var(--ink)}
html[data-theme=blanc] .mic{color:var(--ink);border-color:rgba(20,20,30,.14);background:#fff}
html[data-theme=blanc] .spsw,html[data-theme=blanc] select{color:var(--ink)}
/* pastilles : 10 thèmes, sur 2 lignes dans la barre latérale et 5 colonnes dans les réglages */
.sw{flex-wrap:wrap;justify-content:flex-start;gap:9px 10px}
.side .sw{gap:9px 7px;padding:6px 0}.side .sw button{width:30px;height:30px}
/* barre latérale : défile si elle est plus haute que l'écran (beaucoup de modules), pour garder Réglages et thèmes accessibles */
.side{overflow-y:auto;scrollbar-width:thin;overscroll-behavior:contain}
.sw button[data-t=blanc]{background:radial-gradient(circle,#F5F2EC 55%,#fff)}
.sw.big{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px 6px;align-items:start}
.swc{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0}.swc span{font-size:11.5px;line-height:1.25;color:var(--mut2);text-align:center}
@media (max-width:420px){.sw.big button{width:44px;height:44px}.swc span{font-size:10.5px}}
/* barre d'aperçu d'un thème */
.thprev{position:fixed;z-index:60;left:50%;transform:translateX(-50%);bottom:24px;width:min(560px,calc(100% - 24px));display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:#17171D;color:#EFEFF3;border:1px solid color-mix(in srgb,var(--acc) 55%,transparent);box-shadow:0 18px 50px rgba(0,0,0,.45);animation:tpIn .35s var(--ease) both}
@keyframes tpIn{from{opacity:0;transform:translate(-50%,14px)}}
.thprev .tpdot{flex:none;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,var(--a),var(--b));box-shadow:0 0 12px var(--a)}
.thprev .tpt{flex:1;min-width:0;display:flex;flex-direction:column}.thprev .tpt b{font-size:14px}.thprev .tpt small{color:#B4B4BF;font-size:12px}
.thprev .tpb{display:flex;gap:8px;flex:none}.thprev .btn{min-height:38px;padding:0 14px}
#thprev .btn.g{background:rgba(255,255,255,.06);color:#EFEFF3;border-color:rgba(255,255,255,.16)}
@media (max-width:760px){.thprev{bottom:calc(92px + env(safe-area-inset-bottom));flex-wrap:wrap}.thprev .tpb{width:100%}.thprev .tpb .btn{flex:1}}
@media (prefers-reduced-motion:reduce){.thprev{animation:none}}
/* ---------- Blanc Premium : couleurs adaptées (générées depuis les règles sombres, puis retouchées) ---------- */
html[data-theme=blanc] .shell{background:#FFFFFF}
html[data-theme=blanc] .n{color:#45454F}
html[data-theme=blanc] .n .c{background:rgba(20,20,30,0.078)}
html[data-theme=blanc] .card h3{color:#33333D}
html[data-theme=blanc] .chip{border-color:rgba(20,20,30,0.16);color:#45454F}
html[data-theme=blanc] .icon-btn{background:rgba(20,20,30,0.039);border-color:rgba(20,20,30,0.16);color:#33333D}
html[data-theme=blanc] .menu{background:#FFFFFF;border-color:rgba(20,20,30,0.16)}
html[data-theme=blanc] .menu button:hover{background:rgba(20,20,30,0.078)}
html[data-theme=blanc] .menu input[type=date]{background:#FFFFFF}
html[data-theme=blanc] .time{color:#45454F}
html[data-theme=blanc] .kick{color:#45454F}
html[data-theme=blanc] .capture input[type=text]::placeholder,html[data-theme=blanc] .capture .capin::placeholder{color:#5B5B66}
html[data-theme=blanc] .opt{background:rgba(20,20,30,0.039);color:#33333D}
html[data-theme=blanc] .opts select,html[data-theme=blanc] .opts input[type=time],html[data-theme=blanc] .opts input[type=date]{background:rgba(20,20,30,0.039)}
html[data-theme=blanc] .stat{color:#33333D}
html[data-theme=blanc] .bars i{background:rgba(20,20,30,0.090)}
html[data-theme=blanc] .fchips button{background:rgba(20,20,30,0.039);color:#33333D}
html[data-theme=blanc] .ring{color:#33333D}
html[data-theme=blanc] .note{background:#FFFFFF}
html[data-theme=blanc] .ml{background:rgba(20,20,30,0.039)}
html[data-theme=blanc] .switch{background:rgba(20,20,30,0.090)}
html[data-theme=blanc] .field span{color:#33333D}
html[data-theme=blanc] .field input{background:#FFFFFF;border-color:rgba(20,20,30,0.18)}
html[data-theme=blanc] .err{color:#B91C1C}
@media (max-width:900px){html[data-theme=blanc] .shell{background:#FFFFFF}html[data-theme=blanc] .tabs{background:#FFFFFF}html[data-theme=blanc] .tabs a{color:#5B5B66}}
html[data-theme=blanc] .badge{border-color:rgba(20,20,30,0.18);color:#45454F}
html[data-theme=blanc] .mic{background:rgba(20,20,30,0.052);border-color:rgba(20,20,30,0.18);color:#33333D}
html[data-theme=blanc] .pt:hover,html[data-theme=blanc] .pt:focus{border-bottom-color:rgba(20,20,30,0.20)}
html[data-theme=blanc] .tg{background:rgba(20,20,30,0.090);color:#33333D}
html[data-theme=blanc] .tg.t-rdv{color:#1D4ED8}
html[data-theme=blanc] .tg.t-facture{color:#BE123C}
html[data-theme=blanc] .tg.t-idee{color:#A16207}
html[data-theme=blanc] .tg.t-jalon{color:#6D28D9}
html[data-theme=blanc] .mc{border-color:rgba(20,20,30,0.16);color:#45454F}
html[data-theme=blanc] .acard{border-color:rgba(20,20,30,0.14)}
html[data-theme=blanc] .composer{background:#FFFFFF}
html[data-theme=blanc] .sugg button{border-color:rgba(20,20,30,0.18);color:#33333D}
html[data-theme=blanc] .mcard{background:#FFFFFF}
html[data-theme=blanc] .seg{background:rgba(20,20,30,0.052)}
html[data-theme=blanc] .seg button{color:#45454F}
html[data-theme=blanc] .fld{background:#FFFFFF}
html[data-theme=blanc] .datego{background:rgba(20,20,30,0.052)}
html[data-theme=blanc] .badge.al{color:#B91C1C}
html[data-theme=blanc] .kpi.al b{color:#B91C1C}
html[data-theme=blanc] .bcol{background:rgba(20,20,30,0.033)}
html[data-theme=blanc] .bh small{color:#33333D}
html[data-theme=blanc] .bcard{border-color:rgba(20,20,30,0.14)}
html[data-theme=blanc] .bmeta{color:#45454F}
html[data-theme=blanc] .stg{background:#FFFFFF}
html[data-theme=blanc] .closed summary{color:#33333D}
html[data-theme=blanc] .person .nx{color:#33333D}
html[data-theme=blanc] .pbar{background:rgba(20,20,30,0.090)}
html[data-theme=blanc] .pnext{background:rgba(20,20,30,0.039)}
html[data-theme=blanc] .ms .m+.m:before{background:rgba(20,20,30,0.090)}
html[data-theme=blanc] .cday.we{background:rgba(20,20,30,0.019)}
html[data-theme=blanc] .post{background:rgba(20,20,30,0.090)}
html[data-theme=blanc] .cadd{border-color:rgba(20,20,30,0.20)}
html[data-theme=blanc] .exr{background:rgba(20,20,30,0.039);border-color:rgba(20,20,30,0.20)}
html[data-theme=blanc] .mf>span{color:#33333D}
html[data-theme=blanc] .langs button{background:rgba(20,20,30,0.039)}
html[data-theme=blanc] .langsel{background:rgba(20,20,30,0.052)}
html[data-theme=blanc] .chpick button{background:rgba(20,20,30,0.039);color:#33333D}
html[data-theme=blanc] .paper footer{color:#5B5B66}
html[data-theme=blanc] .stylebar>span{color:#33333D}
html[data-theme=blanc] .stacts .icon-btn{background:#FFFFFF}
html[data-theme=blanc] .mini{border-color:rgba(20,20,30,0.14)}
html[data-theme=blanc] .mini.plus{background:rgba(20,20,30,0.039)}
html[data-theme=blanc] .cpick label{color:#33333D}
html[data-theme=blanc] .sw3 i{border-color:rgba(20,20,30,0.20)}
html[data-theme=blanc] .filechip{background:rgba(20,20,30,0.052)}
html[data-theme=blanc] .abox{background:#FFFFFF}
html[data-theme=blanc] .chk{color:#33333D}
html[data-theme=blanc] .linkdanger{color:#DC2626}
html[data-theme=blanc] .mbody p.warn{color:#B91C1C}
html[data-theme=blanc] .ghelp.float{background:#FFFFFF}
html[data-theme=blanc] .guide .gi{color:#33333D}
html[data-theme=blanc] .gsteps li{background:rgba(20,20,30,0.046)}
html[data-theme=blanc] .icon-btn.join{color:#15803D}
html[data-theme=blanc] .file{background:rgba(20,20,30,0.046)}
html[data-theme=blanc] .lacts .icon-btn{background:#FFFFFF}
html[data-theme=blanc] .fchips a{background:rgba(20,20,30,0.039);color:#33333D}
html[data-theme=blanc] .spaces{background:rgba(20,20,30,0.039)}
html[data-theme=blanc] .spsel option{background:#FFFFFF;color:var(--ink)}
html[data-theme=blanc] .oav.gen{background:rgba(20,20,30,0.090)}
html[data-theme=blanc] .ostats span{background:rgba(20,20,30,0.065);color:#33333D}
html[data-theme=blanc] .ostats .late{color:#B91C1C}
html[data-theme=blanc] .ostats .ok{color:#15803D}
html[data-theme=blanc] .badge.conf{color:#B91C1C}
html[data-theme=blanc] .oreason{color:#33333D}
html[data-theme=blanc] .lrow.warnrow span{color:#B91C1C}
html[data-theme=blanc] .opoints ul{color:#33333D}
html[data-theme=blanc] .warn2{color:#A16207}
html[data-theme=blanc] .mth:hover{background:rgba(20,20,30,0.052)}
html[data-theme=blanc] .mb{background:rgba(20,20,30,0.078)}
html[data-theme=blanc] .dev .me{color:#15803D}
html[data-theme=blanc] .lrow2 span:first-child{color:#15803D}
html[data-theme=blanc] .lrow2.bad span:first-child,html[data-theme=blanc] .lrow2.bad span{color:#B91C1C}
html[data-theme=blanc] .secret{background:rgba(20,20,30,0.078)}
html[data-theme=blanc] .rcodes code{background:rgba(20,20,30,0.078)}
html[data-theme=blanc] .bigic.ok{color:#15803D}
html[data-theme=blanc] .bigic.ko{color:#B91C1C}
html[data-theme=blanc] .terms{color:#33333D}
html[data-theme=blanc] .tcheck{background:#FFFFFF;border-color:rgba(20,20,30,0.20)}
html[data-theme=blanc] .pchip{border-color:rgba(20,20,30,0.20);color:#33333D}
html[data-theme=blanc] .pchip.trial{color:#A16207}
html[data-theme=blanc] .bper .save{color:#15803D}
html[data-theme=blanc] .bper button.on .save{background:#FFFFFF}
html[data-theme=blanc] .bplan li{color:#33333D}
html[data-theme=blanc] .bsoon{color:#A16207}
html[data-theme=blanc] .opdot{background:rgba(20,20,30,0.078)}
html[data-theme=blanc] .bst{border-color:rgba(20,20,30,0.19);color:#33333D}
html[data-theme=blanc] .bst.s-confirme{color:#15803D}
html[data-theme=blanc] .bst.s-en_attente,html[data-theme=blanc] .bst.s-en_cours{color:#A16207}
html[data-theme=blanc] .bst.s-refuse,html[data-theme=blanc] .bst.s-echoue{color:#B91C1C}
html[data-theme=blanc] .paysum{background:rgba(20,20,30,0.052)}
html[data-theme=blanc] .op{background:rgba(20,20,30,0.039)}
html[data-theme=blanc] .msteps{background:rgba(20,20,30,0.039);border-color:rgba(20,20,30,0.18)}
html[data-theme=blanc] .opay code{background:rgba(20,20,30,0.078);color:#A16207}
html[data-theme=blanc] .ock{background:rgba(20,20,30,0.033)}
html[data-theme=blanc] .ock.ok span{color:#15803D}
html[data-theme=blanc] .ock.ko{color:#33333D}
html[data-theme=blanc] .ock.ko span{color:#A16207}
html[data-theme=blanc] .ouser:hover{background:rgba(20,20,30,0.033)}
html[data-theme=blanc] .olog b{color:#33333D}
html[data-theme=blanc] .lgnote{color:#A16207}
html[data-theme=blanc] .lgintro{color:#33333D}
html[data-theme=blanc] .legal section p{color:#33333D}
html[data-theme=blanc] .kpi.warn b{color:#A16207}
html[data-theme=blanc] .n.on{background:color-mix(in srgb,var(--acc) 13%,transparent);border-color:color-mix(in srgb,var(--acc) 55%,transparent);color:var(--ink)}
html[data-theme=blanc] .chip.a{background:color-mix(in srgb,var(--acc) 10%,transparent);border-color:color-mix(in srgb,var(--acc) 55%,transparent);color:var(--acc)}
html[data-theme=blanc] .opt.on{background:color-mix(in srgb,var(--acc) 16%,transparent);border-color:color-mix(in srgb,var(--acc) 60%,transparent);color:var(--ink)}
html[data-theme=blanc] .bars i.o{background:var(--acc)}
html[data-theme=blanc] .fchips button.on{background:var(--acc);border-color:var(--acc);color:var(--onacc)}
html[data-theme=blanc] .fchips button.on b{color:var(--onacc)}
html[data-theme=blanc] .switch:after{background:#fff}
html[data-theme=blanc] .switch[aria-checked=true]{background:var(--acc)}
html[data-theme=blanc] .field input:focus{border-color:var(--acc)}
html[data-theme=blanc] .badge.ia{background:color-mix(in srgb,var(--acc) 10%,transparent);border-color:color-mix(in srgb,var(--acc) 55%,transparent);color:var(--acc)}
html[data-theme=blanc] .badge.ia:before{background:var(--acc)}
html[data-theme=blanc] .mic.on{background:var(--acc);border-color:transparent;color:var(--onacc)}
html[data-theme=blanc] .tg.t-relance{background:color-mix(in srgb,var(--acc) 22%,transparent);color:var(--ink)}
html[data-theme=blanc] .tg.t-rdv{background:rgba(76,168,255,.2);color:#1D4ED8}
html[data-theme=blanc] .tg.t-facture{background:rgba(251,113,133,.2);color:#BE123C}
html[data-theme=blanc] .tg.t-idee{background:rgba(250,204,21,.18);color:#A16207}
html[data-theme=blanc] .tg.t-jalon{background:rgba(139,92,246,.24);color:#6D28D9}
html[data-theme=blanc] .mc.on{border-color:color-mix(in srgb,var(--acc) 55%,transparent);color:var(--acc)}
html[data-theme=blanc] .sugg button:hover{border-color:var(--acc);color:var(--ink)}
html[data-theme=blanc] .seg button.on{background:var(--acc);color:var(--onacc)}
html[data-theme=blanc] .fld:focus{border-color:color-mix(in srgb,var(--acc) 60%,transparent)}
html[data-theme=blanc] .fld.loading{background:linear-gradient(90deg,rgba(20,20,30,0.026),color-mix(in srgb,var(--acc) 10%,transparent),rgba(20,20,30,0.026)) 0 0/200% 100%;color:transparent}
html[data-theme=blanc] .badge.al{background:rgba(255,100,80,.1);border-color:rgba(255,120,100,.45);color:#B91C1C}
html[data-theme=blanc] .bcol.over{background:color-mix(in srgb,var(--acc) 8%,transparent);border-color:var(--acc)}
html[data-theme=blanc] .bcard:hover{border-color:color-mix(in srgb,var(--acc) 45%,transparent)}
html[data-theme=blanc] .bcard.late{border-color:color-mix(in srgb,var(--acc) 55%,transparent)}
html[data-theme=blanc] .person .nx:hover{color:var(--acc)}
html[data-theme=blanc] .exr:hover{border-color:var(--acc)}
html[data-theme=blanc] .langs button.on{background:var(--acc);border-color:var(--acc);color:var(--onacc)}
html[data-theme=blanc] .tg.ai{background:color-mix(in srgb,var(--acc) 20%,transparent);color:var(--ink)}
html[data-theme=blanc] .chpick button.on{background:color-mix(in srgb,var(--cc) 18%,transparent);border-color:var(--cc);color:var(--ink)}
html[data-theme=blanc] .mini.dec-band:before{background:var(--d-pri)}
html[data-theme=blanc] .mini.dec-sidebar:before{background:var(--d-pri)}
html[data-theme=blanc] .mini.dec-corner:after{background:var(--d-pri)}
html[data-theme=blanc] .mini.img{background-color:#fff}
html[data-theme=blanc] .mini.plus{background:rgba(20,20,30,0.039);color:var(--acc)}
html[data-theme=blanc] .icon-btn.join{border-color:rgba(74,222,128,.35);color:#15803D}
html[data-theme=blanc] .fchips a.on{background:color-mix(in srgb,var(--acc) 16%,transparent);border-color:var(--acc);color:var(--ink)}
html[data-theme=blanc] .spaces.org{background:color-mix(in srgb,var(--acc) 8%,transparent);border-color:color-mix(in srgb,var(--acc) 45%,transparent)}
html[data-theme=blanc] .badge.r-admin{background:var(--acc);color:#111}
html[data-theme=blanc] .badge.r-manager{border-color:var(--acc);color:var(--acc)}
html[data-theme=blanc] .badge.conf{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.5);color:#B91C1C}
html[data-theme=blanc] .mb.me{background:color-mix(in srgb,var(--acc) 22%,#FFFFFF)}
html[data-theme=blanc] .lrow2.bad span:first-child{color:#B91C1C}
html[data-theme=blanc] .tcheck:checked{background:var(--acc);border-color:var(--acc)}
html[data-theme=blanc] .pchip.p-pro{border-color:color-mix(in srgb,var(--acc) 55%,transparent);color:var(--acc)}
html[data-theme=blanc] .pchip.p-entreprise{background:linear-gradient(135deg,var(--acc),var(--acc2));border-color:transparent;color:var(--onacc)}
html[data-theme=blanc] .pchip.trial{background:rgba(251,191,36,.1);border-color:rgba(251,191,36,.45);color:#A16207}
html[data-theme=blanc] .bplan li:before{background:color-mix(in srgb,var(--acc) 15%,transparent);color:var(--acc)}
html[data-theme=blanc] .opdot.mtn{background:#FFCB05}
html[data-theme=blanc] .opdot.airtel{background:#E40000}
html[data-theme=blanc] .opdot.gift{background:rgba(74,222,128,.14)}
html[data-theme=blanc] .bst.s-confirme{background:rgba(74,222,128,.08);border-color:rgba(74,222,128,.45);color:#15803D}
html[data-theme=blanc] .bst.s-en_attente{background:rgba(251,191,36,.08);border-color:rgba(251,191,36,.45);color:#A16207}
html[data-theme=blanc] .bst.s-en_cours{background:rgba(251,191,36,.08);border-color:rgba(251,191,36,.45);color:#A16207}
html[data-theme=blanc] .bst.s-refuse{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.45);color:#B91C1C}
html[data-theme=blanc] .bst.s-echoue{background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.45);color:#B91C1C}
html[data-theme=blanc] .op.mtn i{background:#FFCB05}
html[data-theme=blanc] .op.airtel i{background:#E40000}
html[data-theme=blanc] .op.on.mtn{background:rgba(255,203,5,.08);border-color:#FFCB05}
html[data-theme=blanc] .op.on.airtel{background:rgba(228,0,0,.1);border-color:#FF4D4D}
html[data-theme=blanc] .ock.ok span{background:rgba(74,222,128,.16);color:#15803D}
html[data-theme=blanc] .ock.ko span{background:rgba(251,191,36,.16);color:#A16207}

/* Blanc Premium : retouches à la main (textes blancs posés sur des surfaces devenues claires) */
html[data-theme=blanc]{--mut:#4F4F5A;--mut2:#5B5B66}
html[data-theme=blanc] .inv b.amt,html[data-theme=blanc] .bmeta .amt,html[data-theme=blanc] .pmeta b,html[data-theme=blanc] .cdh b,html[data-theme=blanc] .post span{color:var(--ink)}
html[data-theme=blanc] .seg button.on{color:#fff}
html[data-theme=blanc] .cadd{color:#45454F}
html[data-theme=blanc] .seg .save{color:#166534}
html[data-theme=blanc] .hero .kick{color:#C8C8D2}
html[data-theme=blanc] .pchip.p-entreprise{color:#fff}
html[data-theme=blanc] .pchip.p-pro{color:var(--acc)}
html[data-theme=blanc] .hero{--acc:#F97316}
html[data-theme=blanc] .fld,html[data-theme=blanc] .note,html[data-theme=blanc] .abox,html[data-theme=blanc] .stg,html[data-theme=blanc] .field input{background:#fff;color-scheme:light}
html[data-theme=blanc] .tcheck{background:#fff;border-color:rgba(20,20,30,.3)}
html[data-theme=blanc] .n.on{color:var(--ink)}
html[data-theme=blanc] .toast{color:#EFEFF3}
/* ---------- Phase C : confort sur téléphone (cibles tactiles, montants, petits écrans de 360 px) ---------- */
@media (max-width:900px){
  /* boutons assez grands pour un doigt (40 px) */
  .icon-btn{width:40px;height:40px;border-radius:11px}
  .btn.s,.mtop .btn{min-height:40px}
  .seg button{min-height:38px}
  .fchips button{min-height:40px}
  .linkbtn{min-height:36px;padding:6px 2px}
  .stg{min-height:36px;font-size:13px}
  .cadd{width:34px;height:34px;opacity:.85}
  .spaces.spmini{padding:2px 10px}.spaces.spmini .spsel{min-height:36px}
  /* petits textes lisibles */
  .tabs a{font-size:11px}
  .bdays span,.ms .m small{font-size:11.5px}
  .bh small{font-size:12px}
  /* montants : jamais coupés au milieu ; la taille s'adapte à la largeur de la carte */
  .kpi{container-type:inline-size}
  .kpi b{white-space:nowrap;overflow-wrap:normal;word-break:keep-all;text-overflow:clip;font-size:clamp(14px,12.5cqw,22px)}
  /* factures : le titre garde toute la largeur, le montant et les actions passent dessous */
  .inv .t{flex:1 1 100%}.inv>.amt{flex:1}
  /* zone de toucher agrandie sans changer le dessin : rond « accompli », interrupteurs */
  .check,.switch{position:relative}.check::before,.switch::before{content:'';position:absolute;inset:-10px}
  .opts .opt,.opts select,.opts input,.sugg button{min-height:38px}
  .post{min-height:32px}
}
@media (max-width:400px){
  /* écrans étroits (360 px) : le titre du jour tient sur la largeur */
  .h1,.rot{font-size:26px}.rot{height:31px}.ht{padding:18px 18px}
  .main{padding:12px 12px 20px}
  .row .acts{gap:4px}
  /* une ligne avec une heure : si le titre manque de place, les boutons passent dessous (le titre reste lisible) */
  .row:has(> .time){flex-wrap:wrap;row-gap:4px}.row:has(> .time) .t{flex:1 1 150px}.row:has(> .time) .acts{margin-inline-start:auto}
}

/* ---------- Confort de lecture (Personnaliser) ---------- */
/* Animations réduites, choisies dans Kairos (le réglage du téléphone est géré plus haut) */
html[data-motion=reduce] *,html[data-motion=reduce] *:before,html[data-motion=reduce] *:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion=reduce] .scene{opacity:1}html[data-motion=reduce] .rot span:first-child{opacity:1;transform:none}
/* Contraste renforcé : textes secondaires plus clairs, bordures visibles, fonds moins transparents, décor atténué */
html[data-contrast=high]{--mut:#D6D6DE;--mut2:#CACAD3;--line:rgba(255,255,255,.30);--glass:rgba(14,14,18,.97);--glass2:#16161C}
html[data-contrast=high][data-theme=blanc]{--mut:#2C2C34;--mut2:#383842;--line:rgba(20,20,30,.34);--glass:#FFFFFF;--glass2:#FFFFFF}
html[data-contrast=high] .bgfx{opacity:.3}
html[data-contrast=high] .card{border-color:var(--line)}
html[data-contrast=high] :focus-visible{outline-width:3px;outline-offset:3px}
html[data-contrast=high] small,html[data-contrast=high] .hint,html[data-contrast=high] .empty{color:var(--mut)}
.bweights{color:var(--mut);font-size:13px;line-height:1.5;text-align:center;max-width:640px;margin:12px auto 0}
/* ---------- Recherche globale ---------- */
button.n.srbtn{width:100%;background:var(--glass);border:1px solid var(--line);cursor:pointer;font:inherit;text-align:start;margin:6px 0 4px}
.n.srbtn kbd{margin-inline-start:auto;font:600 10.5px/1 Inter,system-ui,sans-serif;color:var(--mut2);border:1px solid var(--line);border-radius:6px;padding:3px 5px}
.btn.ico{width:40px;padding:0;display:inline-flex;align-items:center;justify-content:center}.btn.ico svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2}
.srch{display:flex;flex-direction:column;gap:10px;min-width:min(560px,82vw)}
.srres{display:flex;flex-direction:column;gap:4px;max-height:min(60vh,520px);overflow:auto}
.srres .sec{margin:10px 0 2px}
.srrow{display:flex;gap:12px;align-items:center;width:100%;text-align:start;background:transparent;border:1px solid transparent;border-radius:12px;padding:9px 10px;cursor:pointer;color:inherit;font:inherit}
.srrow:hover,.srrow:focus-visible{background:var(--glass2);border-color:var(--line)}
.srrow .ic{flex:none;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--acc) 14%,transparent);color:var(--acc)}
.srrow .ic svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.9}
.srrow .t{min-width:0;display:flex;flex-direction:column}.srrow b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.srrow small{color:var(--mut);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* ---------- Fiches contacts ---------- */
.cbar{display:flex;gap:10px;align-items:center;margin-bottom:12px}.cbar .fld{flex:1}
button.person{width:100%;text-align:start;cursor:pointer;color:inherit;font:inherit}
button.person:hover{border-color:color-mix(in srgb,var(--acc) 45%,var(--line))}
.person.nocard{border-style:dashed}.person.nocard .avatar{opacity:.7}
.cfiche{display:flex;flex-direction:column;gap:10px}
.cquick{display:flex;flex-wrap:wrap;gap:8px}.cquick .btn{display:inline-flex;align-items:center;gap:7px}.cquick .ic svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.9;display:block}
.cquick .wa{color:#25D366;border-color:color-mix(in srgb,#25D366 40%,var(--line))}
.ckpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ckpis div{background:var(--glass2);border:1px solid var(--line);border-radius:12px;padding:9px 10px;min-width:0}
.ckpis small{display:block;color:var(--mut);font-size:11.5px}.ckpis b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.cinfo{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.cinfo small{display:block;color:var(--mut);font-size:11.5px}.cinfo span{overflow-wrap:anywhere}
.cnotes{grid-column:1/-1;margin:0;color:var(--mut);white-space:pre-wrap}
.crow{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:start;background:var(--glass2);border:1px solid var(--line);border-radius:12px;padding:9px 12px;cursor:pointer;color:inherit;font:inherit}
.crow small{color:var(--mut);font-size:12.5px}.crow.late small{color:var(--acc)}
@media (max-width:520px){.ckpis{grid-template-columns:1fr 1fr}.cinfo{grid-template-columns:1fr}.srch{min-width:0}}
/* ---------- Calendrier (Semaine / Mois) ---------- */
.calsw{margin:0 0 12px}.calsw a{padding:7px 14px;border-radius:9px;font-size:13px;color:#B4B4BF;text-decoration:none;min-height:34px;display:inline-flex;align-items:center}
.calsw a.on{background:var(--acc);color:var(--onacc);font-weight:600}
html[data-theme=blanc] .calsw a:not(.on){color:#45454F}
.calwarn{margin:0 0 12px;padding:10px 14px;border-radius:12px;border:1px solid color-mix(in srgb,var(--acc) 50%,var(--line));background:color-mix(in srgb,var(--acc) 10%,transparent);font-size:13.5px}
.calweek{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;align-items:start}
.calday{position:relative;background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:10px 8px 38px;min-height:180px;display:flex;flex-direction:column;gap:6px}
.calday.today{border-color:color-mix(in srgb,var(--acc) 60%,transparent)}.calday.past{opacity:.82}
.calcdh{display:flex;align-items:baseline;justify-content:flex-start;gap:6px;color:inherit;text-decoration:none;padding:0 2px 4px}.calcdh b{font-size:13px}.calcdh span{color:var(--mut);font-size:12px}
.calcdh em{margin-inline-start:auto;font-style:normal;font-size:11px;font-weight:700;color:var(--onacc);background:var(--acc);border-radius:999px;padding:1px 7px}
.calit{display:flex;gap:6px;align-items:flex-start;width:100%;text-align:start;background:var(--glass2);border:1px solid var(--line);border-inline-start:3px solid var(--line);border-radius:10px;padding:6px 7px;cursor:pointer;color:inherit;font:inherit;font-size:12.5px;line-height:1.3}
.calit.rdv{border-inline-start-color:var(--acc2)}.calit.late{border-inline-start-color:var(--acc)}.calit.done{opacity:.55}.calit.done .tt{text-decoration:line-through}
.calit.clash{border-color:color-mix(in srgb,var(--acc) 70%,var(--line))}.calit .cw{margin-inline-start:auto;color:var(--acc)}
.calit .tm{font-weight:700;font-variant-numeric:tabular-nums;flex:none}.calit .tt{min-width:0;overflow-wrap:anywhere}
.calempty{color:var(--mut2);margin:4px 2px;font-size:13px}
.caladd{position:absolute;bottom:7px;inset-inline-end:7px;width:28px;height:28px;border-radius:9px;border:1px solid var(--line);background:transparent;color:var(--mut);cursor:pointer;font-size:17px;line-height:1}
.caladd:hover{color:var(--acc);border-color:var(--acc)}
.calmonth{background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:10px}
.calmh,.calmg{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.mwd{text-align:center;color:var(--mut);font-size:12px;font-weight:600;padding:4px 0 6px;text-transform:uppercase}
.mday{min-height:92px;border:1px solid var(--line);border-radius:12px;padding:6px;color:inherit;text-decoration:none;display:flex;flex-direction:column;gap:3px;background:var(--glass2);min-width:0}
.mday b{font-size:13px}.mday.out{opacity:.4}.mday.today{border-color:var(--acc)}.mday.today b{color:var(--acc)}.mday.clash{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--acc) 60%,transparent)}
.mday .caldots{display:none;gap:3px}.mday .caldots i{width:6px;height:6px;border-radius:50%;background:var(--mut2)}.mday .caldots i.r{background:var(--acc2)}.mday .caldots i.l{background:var(--acc)}.mday .caldots i.d{background:transparent;border:1px solid var(--mut2)}
.calml{display:flex;flex-direction:column;gap:2px;min-width:0}.calml small{font-size:11.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calml small.done{text-decoration:line-through;opacity:.7}.calml .more{color:var(--acc)}
@media (max-width:1100px){.calweek{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.calweek{grid-template-columns:1fr}.calday{min-height:0;padding-bottom:10px;padding-inline-end:44px}.caladd{top:8px;bottom:auto}
  .mday{min-height:54px;padding:5px 4px;align-items:center}.mday .calml{display:none}.mday .caldots{display:flex;flex-wrap:wrap;justify-content:center}.calmh,.calmg{gap:4px}.calmonth{padding:8px 6px}}
/* ---------- Business Pulse ---------- */
.plgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:14px}
.plblock h3{display:flex;align-items:center;gap:8px}.plblock h3 .r{margin-inline-start:auto;font-size:12.5px;font-weight:500;color:var(--mut);text-decoration:none}.plblock h3 .r:hover{color:var(--acc)}
.plstats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.plstat{background:var(--glass2);border:1px solid var(--line);border-inline-start:3px solid color-mix(in srgb,var(--acc) 55%,transparent);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;min-width:0}
.plstat span{color:var(--mut);font-size:12.5px}.plstat b{font-size:clamp(17px,2.2vw,22px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums}
.plstat small{color:var(--mut2);font-size:12px}.plstat.al{border-inline-start-color:var(--acc)}.plstat.al b{color:var(--acc)}
.trend{font-weight:600}.trend.up{color:#34D399}.trend.down{color:#F87171}
html[data-theme=blanc] .trend.up{color:#047857}html[data-theme=blanc] .trend.down{color:#B91C1C}
.plsvg svg{width:100%;height:auto;display:block}.plsvg .bar{fill:color-mix(in srgb,var(--acc) 70%,transparent)}.plsvg .line{fill:none;stroke:var(--acc2);stroke-width:2.2}
.plsvg .dot{fill:var(--acc2)}.plsvg text{fill:var(--mut);font-size:9px;font-family:Inter,system-ui,sans-serif}
.pllegend{display:flex;align-items:center;gap:6px;color:var(--mut);font-size:12.5px;margin:6px 0 0;flex-wrap:wrap}
.pllegend .lb{width:10px;height:10px;border-radius:3px;background:color-mix(in srgb,var(--acc) 70%,transparent)}.pllegend .ll{width:14px;height:3px;border-radius:2px;background:var(--acc2);margin-inline-start:10px}
.pltop{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.pltop:last-child{border-bottom:0}
.pltop .rk{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:var(--glass2);border:1px solid var(--line)}
.pltop .nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:900px){.plgrid{grid-template-columns:1fr}}
.plsvg .bar2{fill:color-mix(in srgb,var(--acc2) 75%,transparent)}.plsvg .base{stroke:var(--line);stroke-width:1}.plsvg text.v{fill:var(--ink);font-size:9.5px;font-weight:600}
.plchart .pllegend{margin:10px 0 2px}
/* ---------- Centre d'aide ---------- */
.faq{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.hpguides{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);color:var(--mut);font-size:13.5px}.hpguides span{flex:1;min-width:180px}
.ticket{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:8px;background:var(--glass2)}
.ticket summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;list-style:none}.ticket summary::-webkit-details-marker{display:none}
.ticket summary b{flex:1;min-width:140px}.ticket summary small{width:100%;color:var(--mut);font-size:12px}
.tst{font-size:11px;font-weight:700;border-radius:999px;padding:2px 8px;border:1px solid var(--line)}
.tst.s-nouvelle{color:var(--acc);border-color:color-mix(in srgb,var(--acc) 50%,var(--line))}.tst.s-en_cours{color:var(--acc2);border-color:color-mix(in srgb,var(--acc2) 50%,var(--line))}.tst.s-resolue{color:#34D399;border-color:color-mix(in srgb,#34D399 45%,var(--line))}
html[data-theme=blanc] .tst.s-resolue{color:#047857}
.tmsg{white-space:pre-wrap;margin:10px 0 6px}.tctx{display:block;color:var(--mut2);font-size:11.5px;margin-bottom:8px;overflow-wrap:anywhere}
.treply{border-inline-start:3px solid var(--acc);padding:6px 10px;background:color-mix(in srgb,var(--acc) 7%,transparent);border-radius:8px}.treply small{color:var(--mut);font-size:12px}.treply p{margin:4px 0 0;white-space:pre-wrap}
/* ---------- Modèles de journée par métier ---------- */
.packs{margin-bottom:14px}
.packchips{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 6px}
.packchips button{border:1px solid var(--line);background:var(--glass2);color:inherit;border-radius:999px;padding:8px 14px;cursor:pointer;font:inherit;font-size:13px;min-height:38px}
.packchips button.on{background:var(--acc);border-color:var(--acc);color:var(--onacc);font-weight:600}
.packrow{display:flex;gap:12px;align-items:flex-start;padding:9px 4px;border-bottom:1px solid var(--line);cursor:pointer}.packrow:last-of-type{border-bottom:0}
.packrow input{width:20px;height:20px;margin-top:2px;accent-color:var(--acc);flex:none}
.packrow span{display:flex;flex-direction:column;min-width:0}.packrow small{color:var(--mut);font-size:12.5px}.packrow.have{opacity:.6;cursor:default}
/* ---------- Mode hors ligne ---------- */
.offbar{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0 0 12px;padding:9px 14px;border-radius:12px;font-size:13px;border:1px solid color-mix(in srgb,#F5B544 55%,var(--line));background:color-mix(in srgb,#F5B544 12%,transparent)}
.offbar[hidden]{display:none}.offbar b{color:#F5B544}.offbar .linkbtn{margin-inline-start:auto}
html[data-theme=blanc] .offbar b{color:#92400E}
.mc.pend,.pend{color:#F5B544;border-color:color-mix(in srgb,#F5B544 50%,var(--line))}
.offbar>b+span::before,.offbar>span+span::before{content:'·';margin-inline-end:8px;color:var(--mut)}
/* ---------- Barre de saisie sur téléphone : options rangées en 2 colonnes, « Ajouter » sur toute la largeur ---------- */
@media (max-width:900px){
  .capture .opts{flex:1 1 100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .capture .opts>*{width:100%;min-width:0;justify-content:center}
  .capture>.btn{flex:1 1 100%;margin:0;min-height:44px}
  [dir=rtl] .capture>.btn{margin:0}
  .offbar{flex-direction:column;align-items:flex-start;gap:2px}.offbar>b+span::before,.offbar>span+span::before{content:none}.offbar .linkbtn{margin:4px 0 0}
}
/* ---------- Page publique : nouveautés ---------- */
.lpnewh{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:44px 0 18px;font-size:22px;text-align:center}
.lpnewtag{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--onacc);background:linear-gradient(135deg,var(--acc),var(--acc2));border-radius:999px;padding:4px 10px}
/* ---------- Règles automatiques ---------- */
.rules{margin-bottom:14px}
.rule{display:flex;gap:12px;align-items:flex-start;padding:12px 2px;border-bottom:1px solid var(--line)}
.rule .ic{flex:none;width:34px;height:34px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--glass2);color:var(--mut)}
.rule.on .ic{background:color-mix(in srgb,var(--acc) 16%,transparent);color:var(--acc)}.rule .ic svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.9}
.rule .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.rule .t small{color:var(--mut);font-size:12.5px;line-height:1.5}
.rule .rday{display:inline-block;width:64px;min-height:30px;padding:2px 8px;margin:0 4px;text-align:center}
.rule .linkbtn{align-self:flex-start;font-size:12.5px}.rule .switch{flex:none;margin-top:4px}
.rhist{margin-top:10px}.rrun{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.rrun:last-child{border-bottom:0}
.rrun .t{flex:1;min-width:0;display:flex;flex-direction:column}.rrun small{color:var(--mut);font-size:12px}.rrun.undone b{text-decoration:line-through;opacity:.6}
/* ---------- Commande comprise (voix ou texte) ---------- */
.vcpanel{margin-top:10px;border-color:color-mix(in srgb,var(--acc) 50%,var(--line))}
.vck{color:var(--acc);font-weight:600;font-size:12.5px}.vcq{font-size:15.5px;font-weight:600;margin:6px 0 10px}
.vcchoices{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.vcchoices small{width:100%;color:var(--mut)}
.vcpanel .pf{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
@media (max-width:600px){.vcpanel .pf .btn{flex:1 1 100%}}
.vcpanel{scroll-margin-bottom:120px;scroll-margin-top:80px}
.oprices{display:grid;gap:10px;margin:8px 0 6px}
.oprice{display:grid;grid-template-columns:70px 1fr 1fr;gap:10px;align-items:end}
.oprice>b{display:flex;flex-direction:column;font-size:15px;padding-bottom:10px}
.oprice>b small{color:var(--mut);font-weight:500;font-size:12px}
.oaddcur{max-width:240px}
@media (max-width:520px){.oprice{grid-template-columns:56px 1fr 1fr;gap:8px}}
/* ---- moyens de paiement (monde) ---- */
.bperw{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center}
.bcur{width:auto;min-width:150px;max-width:220px}
.bmethods h3{margin-bottom:10px}
.paychips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.paychip{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:6px 11px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.04);font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap}
.paychip img{height:22px;width:auto;display:block}
.paychip i{width:10px;height:10px;border-radius:50%;background:var(--mut);flex:none}
.f-mtn i,.op.f-mtn i{background:#FFCB05}.f-airtel i,.op.f-airtel i{background:#E40000}.f-orange i,.op.f-orange i{background:#FF7900}
.f-moov i,.op.f-moov i{background:#0072BC}.f-wave i,.op.f-wave i{background:#1DC8F2}.f-free i,.op.f-free i{background:#CD1E25}
.f-mpesa i,.op.f-mpesa i{background:#43B02A}.f-telecel i,.op.f-telecel i{background:#E2001A}.f-airteltigo i,.op.f-airteltigo i{background:#ED1C24}
.f-tigo i,.op.f-tigo i{background:#00377B}.f-halotel i,.op.f-halotel i{background:#F7941D}.f-tnm i,.op.f-tnm i{background:#00A651}
.f-movitel i,.op.f-movitel i{background:#F58220}.f-ecocash i,.op.f-ecocash i{background:#0057A8}.f-zamtel i,.op.f-zamtel i{background:#00A859}
.f-visa i{background:#1A1F71}.f-mastercard i{background:linear-gradient(90deg,#EB001B 50%,#F79E1B 50%)}.f-paypal i{background:#003087}.f-applepay i{background:#f4f4f6}.f-googlepay i{background:#4285F4}
.op img{height:24px;width:auto;flex:none}
.op.on{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 12%,transparent)}
.paytabs{display:flex;width:100%;margin:4px 0 14px}.paytabs button{flex:1}
.payconv{font-size:13px;color:var(--mut);margin:4px 0 8px}
.btest{margin:6px 0;padding:8px 12px;border-radius:10px;background:rgba(250,204,21,.1);border:1px dashed rgba(250,204,21,.5);font-size:13px}
.opdot.card{background:rgba(255,255,255,.08)}
html[data-theme=blanc] .paychip{background:rgba(20,20,30,.04)}
html[data-theme=blanc] .f-applepay i{background:#111}
.lpcur{width:auto;min-width:150px;max-width:220px;margin-inline-end:6px}
.lppay .paychip{cursor:default}
/* ---- ajouter des fonctions ---- */
button.mtile{font:inherit;text-align:start;cursor:pointer}
button.n.add{font:inherit;background:none;border:0;width:100%;text-align:start;cursor:pointer}
.ftlist{display:grid;gap:10px;margin:10px 0}
.ftrow{display:flex;align-items:center;gap:12px;padding:12px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.03);transition:border-color .2s,background .2s}
.ftrow.on{border-color:color-mix(in srgb,var(--acc) 55%,transparent);background:color-mix(in srgb,var(--acc) 8%,transparent)}
.ftrow.focus{box-shadow:0 0 0 2px var(--acc)}
.ftrow .ic,.sugcard .ic{width:38px;height:38px;flex:none;border-radius:12px;background:color-mix(in srgb,var(--acc) 14%,transparent);color:var(--acc);display:flex;align-items:center;justify-content:center}
.ftrow .ic svg,.sugcard .ic svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9}
.ftrow .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.ftrow .t small{color:var(--mut2);font-size:12.5px;line-height:1.35}
.ftrow .btn{flex:none;white-space:nowrap}
.sugcard{display:flex;align-items:center;gap:14px;margin:14px 0;border-style:dashed}
.sugcard .t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.sugcard .t small{color:var(--acc);font-weight:600;font-size:12px}
.sugcard .t span{color:var(--mut2);font-size:13px}
.sugcard .act{display:flex;gap:8px;flex:none}
@media (max-width:640px){
  .sugcard{flex-wrap:wrap}.sugcard .t{flex-basis:calc(100% - 52px)}.sugcard .act{width:100%}.sugcard .act .btn{flex:1}
  .ftrow{flex-wrap:wrap}.ftrow .t{flex-basis:calc(100% - 50px)}.ftrow .btn{width:100%}
}
html[data-theme=blanc] .ftrow{background:rgba(20,20,30,.03)}
.lpcurw{display:flex;justify-content:center;margin:-6px 0 22px}.lpcurw:empty{display:none}
.paybox .mf{margin-top:12px}.paybox .mf:first-child{margin-top:0}

/* bouton « œil » des champs de mot de passe (public/js/eye.js) */
.pwbox{position:relative;display:block;width:100%}
.pwbox>input{width:100%;padding-right:46px!important;box-sizing:border-box}
.pweye{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;color:#A8A8B4;cursor:pointer;padding:0}
.pweye:hover,.pweye:focus-visible{color:var(--acc);background:rgba(255,255,255,.06)}
html[dir=rtl] .pwbox>input{padding-right:14px!important;padding-left:46px!important}
html[dir=rtl] .pweye{right:auto;left:6px}
html[data-theme=blanc] .pweye{color:#6B6B78}
html[data-theme=blanc] .pweye:hover{background:rgba(0,0,0,.05)}

/* barre « Retour » / « Aujourd'hui » en haut des pages */
.backbar{display:flex;gap:8px;align-items:center;margin:0 0 14px}
.backbar .bb{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:99px;border:1px solid var(--line,rgba(255,255,255,.12));background:rgba(255,255,255,.04);color:var(--ink);font:500 14px Inter,sans-serif;cursor:pointer;text-decoration:none}
.backbar .bb:hover,.backbar .bb:focus-visible{border-color:var(--acc);color:var(--acc)}
.backbar .bb svg{width:16px;height:16px;display:block}.backbar .hm{display:inline-flex}
.backbar .ar{font-size:16px;line-height:1}
[dir=rtl] .backbar .ar{transform:scaleX(-1)}
html[data-theme=blanc] .backbar .bb{background:#fff;border-color:rgba(0,0,0,.1);color:var(--ink)}

/* photo d'ambiance en fondu en haut des pages (comme dans Wenze) */
.main{position:relative;isolation:isolate}
.main>.pagephoto{position:absolute;z-index:-1;top:0;left:0;right:0;height:380px;background-size:cover;background-position:center right;opacity:.42;pointer-events:none;border-top-right-radius:26px;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.75) 45%,transparent 100%),linear-gradient(to right,rgba(0,0,0,.35) 0%,#000 55%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.75) 45%,transparent 100%),linear-gradient(to right,rgba(0,0,0,.35) 0%,#000 55%);mask-composite:intersect;animation:ppIn 1.2s var(--ease) both}
@keyframes ppIn{from{opacity:0;transform:scale(1.04)}to{opacity:.42;transform:none}}
@media (max-width:860px){.main>.pagephoto{height:300px;opacity:.38;border-radius:0;-webkit-mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.7) 45%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,rgba(0,0,0,.7) 45%,transparent 100%)}}
html[data-theme=blanc] .main>.pagephoto{opacity:.22;animation:none}
[dir=rtl] .main>.pagephoto{transform:scaleX(-1);border-top-right-radius:0;border-top-left-radius:26px}
@media (prefers-reduced-motion:reduce){.main>.pagephoto{animation:none}}
