/* Affichy V3 — composants ajoutés (même langage visuel : --accent, --ap-grad, rayons 16px, ombres douces) */

/* ---------- Bulles de secteurs ---------- */
.v3-sect{margin:6px 0 18px}
.v3-sect h4{margin:0 0 4px;font-size:1.02rem;font-weight:700;letter-spacing:-.01em}
.v3-sect .v3-hint{margin:0 0 14px;color:var(--muted);font-size:.88rem;line-height:1.5}
.v3-bubbles{display:flex;flex-wrap:wrap;gap:10px}
.v3-bubble{appearance:none;display:inline-flex;align-items:center;gap:9px;margin:0;width:auto;min-height:46px;padding:10px 17px 10px 13px;border-radius:99px;
  border:1.5px solid var(--border);background:var(--panel,#fff);color:var(--text);font:600 .92rem/1.1 inherit;cursor:pointer;
  box-shadow:0 1px 2px rgba(15,23,60,.04);transition:transform .18s cubic-bezier(.2,.8,.2,1),border-color .18s,background .18s,box-shadow .18s,color .18s}
.v3-bubble .e{font-size:1.25rem;line-height:1;filter:saturate(.9);transition:transform .25s cubic-bezier(.2,.8,.2,1.4)}
.v3-bubble .ck{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;margin-left:2px;background:transparent;border:1.5px solid var(--border);transition:background .18s,border-color .18s}
.v3-bubble .ck svg{width:11px;height:11px;opacity:0;transform:scale(.4);transition:opacity .15s,transform .2s cubic-bezier(.2,.8,.2,1.4)}
.v3-bubble:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--border));box-shadow:0 8px 22px -12px color-mix(in srgb,var(--accent) 60%,transparent)}
.v3-bubble:hover .e{transform:scale(1.15) rotate(-6deg)}
.v3-bubble[aria-pressed="true"]{border-color:transparent;background:color-mix(in srgb,var(--accent) 16%,var(--panel,#fff));color:var(--text);
  box-shadow:inset 0 0 0 2px var(--accent),0 10px 26px -14px color-mix(in srgb,var(--accent) 70%,transparent)}
.v3-bubble[aria-pressed="true"] .ck{background:var(--ap-grad,var(--accent));border-color:transparent}
.v3-bubble[aria-pressed="true"] .ck svg{opacity:1;transform:none}
.v3-bubble:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}
.v3-bubble:disabled{cursor:default;opacity:.75;transform:none}
.v3-sect .v3-count{margin-top:12px;font-size:.84rem;color:var(--muted);min-height:1.2em}
.v3-sect .v3-count b{color:var(--text)}
.v3-sect .v3-suggest{margin:0 0 12px;padding:10px 14px;border-radius:12px;background:color-mix(in srgb,var(--accent) 7%,transparent);font-size:.86rem;color:var(--text)}
@media (max-width:560px){.v3-bubble{min-height:44px;padding:9px 14px 9px 11px;font-size:.88rem}.v3-bubbles{gap:8px}}
@media (prefers-reduced-motion:reduce){.v3-bubble,.v3-bubble .e,.v3-bubble .ck svg{transition:none}.v3-bubble:hover{transform:none}.v3-bubble:hover .e{transform:none}}

/* ---------- Section Prix : récapitulatif, période, extension de garantie ---------- */
.v3-sumrow{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.v3-sum{display:inline-flex;align-items:center;padding:5px 11px;border-radius:99px;font-size:.78rem;font-weight:600;background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--muted)}
.v3-sum.on{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--text)}
.v3-sum.warn{background:color-mix(in srgb,#f59e0b 22%,transparent);color:var(--text)}
.v3-modehelp{margin:8px 0 4px;font-size:.84rem;color:var(--muted);min-height:1.2em}
.v3-block{margin:16px 0 0;padding:14px;border-radius:14px;background:color-mix(in srgb,var(--text) 3%,transparent);border:1px solid var(--border)}
.v3-bh{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.v3-bt{font-weight:700;font-size:.92rem}
.v3-state{font-size:.76rem;color:var(--muted)}
.v3-state.on{color:var(--text);font-weight:600}
.v3-state.warn{color:var(--text);font-weight:600}
.v3-state.warn::before{content:"";display:inline-block;width:1.05em;height:1.05em;margin-right:.35em;vertical-align:-.17em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.7 3.75a1.5 1.5 0 0 1 2.6 0l6.1 10.75a1.5 1.5 0 0 1-1.3 2.25H3.9a1.5 1.5 0 0 1-1.3-2.25z'/%3E%3Cpath d='M10 8v3.5'/%3E%3Cpath d='M10 14h.01'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.7 3.75a1.5 1.5 0 0 1 2.6 0l6.1 10.75a1.5 1.5 0 0 1-1.3 2.25H3.9a1.5 1.5 0 0 1-1.3-2.25z'/%3E%3Cpath d='M10 8v3.5'/%3E%3Cpath d='M10 14h.01'/%3E%3C/svg%3E") center/contain no-repeat;color:#d97706}
.v3-seg{display:flex;gap:4px;padding:4px;border-radius:12px;background:color-mix(in srgb,var(--text) 6%,transparent)}
.v3-seg button{flex:1;margin:0;width:auto;min-height:38px;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:600 .84rem/1.1 inherit;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.v3-seg button[aria-checked="true"]{background:var(--panel,#fff);color:var(--text);box-shadow:0 1px 2px rgba(15,23,60,.08),0 4px 12px -6px rgba(15,23,60,.25)}
.v3-seg button:focus-visible,.v3-chip:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}
.v3-reveal{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .28s cubic-bezier(.2,.8,.2,1),opacity .2s}
.v3-reveal>div{overflow:hidden;min-height:0}
.v3-reveal.open{grid-template-rows:1fr;opacity:1}
.v3-reveal.open>div{padding-top:12px}
.v3-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v3-d{display:flex;flex-direction:column;gap:5px;font-size:.8rem;font-weight:600;color:var(--muted);margin:0}
.v3-d input{margin:0}
.v3-hide{display:none!important}
.v3-dates .v3-d.v3-hide+.v3-d{grid-column:1/-1}
.v3-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.v3-chip{margin:0;width:auto;min-height:36px;padding:7px 14px;border-radius:99px;border:1.5px solid var(--border);background:var(--panel,#fff);color:var(--text);font:600 .84rem/1 inherit;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s}
/* état sélectionné lisible dans les deux thèmes : fond plein de la couleur principale, texte blanc */
.v3-chip[aria-checked="true"]{border-color:var(--accent);background:var(--accent);color:#fff}
#v3WarBox .v3-d{margin-top:8px}
.v3-money{position:relative;display:block}
.v3-money input{padding-right:34px}
.v3-money i{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-style:normal;color:var(--muted)}
.v3-err{margin:8px 0 0;font-size:.8rem;color:color-mix(in srgb,#dc2626 78%,var(--text));min-height:0}
.v3-err:empty{display:none}
.v3-own{margin:14px 0 0;font-size:.78rem;color:var(--muted);line-height:1.45}
@media (prefers-reduced-motion:reduce){.v3-reveal,.v3-seg button,.v3-chip{transition:none}}

/* ---------- Points de vigilance (encadré orange) : court, hiérarchisé, « En savoir plus » ---------- */
.rules.v3-empty{display:none}
.rules .v3-vh{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.rules .v3-vh b::before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;background:#f59e0b;margin-right:8px;vertical-align:1px;box-shadow:0 0 0 3px color-mix(in srgb,#f59e0b 25%,transparent)}
.rules .v3-vn{margin-left:auto;min-width:22px;height:22px;padding:0 7px;border-radius:99px;display:grid;place-items:center;background:#f59e0b;color:#fff;font-size:.72rem;font-weight:700}
.rules ul{list-style:none;padding-left:0}
.rules li{position:relative;padding:5px 0 5px 16px;border-top:1px solid color-mix(in srgb,#f59e0b 18%,transparent)}
.rules li:first-child{border-top:0}
.rules li::before{content:"";position:absolute;left:2px;top:12px;width:5px;height:5px;border-radius:50%;background:#d97706}
.rules details summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline}
.rules details summary::-webkit-details-marker{display:none}
.rules details summary em{font-style:normal;font-weight:600;color:color-mix(in srgb,#d97706 70%,var(--text));white-space:nowrap}
.rules details[open] summary em::after{content:" ▴"}
.rules details:not([open]) summary em::after{content:" ▾"}
.rules details p{margin:6px 0 2px;padding:8px 10px;border-radius:10px;background:color-mix(in srgb,var(--panel,#fff) 75%,transparent);color:var(--muted)}
.rules .v3-more>summary{margin:2px 0 4px;font-weight:600;color:color-mix(in srgb,#d97706 70%,var(--text));list-style:none;cursor:pointer}

/* ---------- Dans l'affiche : période et extension (suivent les couleurs du design) ---------- */
.poster .v3-per{margin-top:calc(1.6cqmin*var(--bz,1));font-size:calc(3.8cqmin*var(--bz,1)*var(--tz,1));font-weight:700;text-align:center;opacity:.92}
.poster .v3-war{display:inline-flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0 calc(1.6cqmin*var(--bz,1));align-self:center;margin-top:calc(2cqmin*var(--bz,1));
  padding:calc(1.4cqmin*var(--bz,1)) calc(3.2cqmin*var(--bz,1));border-radius:calc(2.4cqmin*var(--bz,1));border:calc(.5cqmin*var(--bz,1)) solid var(--c1);
  background:color-mix(in srgb,var(--c1) 8%,#fff);color:var(--dk,#111);font-size:calc(3.4cqmin*var(--bz,1)*var(--tz,1));line-height:1.2;text-align:center}
.poster .v3-war-l{font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.78em}
.poster .v3-war-d{font-weight:800}
.poster .v3-war-p{font-weight:800;color:var(--c1)}
.d-dark .v3-war{background:rgba(255,255,255,.08);border-color:var(--accent);color:#f1f5f9}
.d-dark .v3-war-p{color:var(--accent)}

/* ---------- Informations produit (panneau) ---------- */
.v3-hint2{margin:4px 0 10px;font-size:.8rem;color:var(--muted);line-height:1.45}
.v3-fact{padding:10px 0;border-top:1px solid var(--border)}
.v3-fact:first-of-type{border-top:0}
.v3-fh{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.v3-fl{font-weight:600;font-size:.86rem}
.v3-org{font-size:.72rem;padding:2px 8px;border-radius:99px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text)}
.v3-org.muted{background:transparent;color:var(--muted);padding:0}
.v3-fact select,.v3-fact input[type=text]{margin:0}
.v3-ixin{display:grid;grid-template-columns:1fr 110px;gap:8px}
.v3-vis{margin-top:8px}
.v3-seg-sm button{min-height:32px;font-size:.78rem;padding:6px 8px}
.v3-visimg{display:flex;gap:8px;align-items:center;margin-top:8px;flex-wrap:wrap}
.v3-visimg select{flex:1;min-width:160px;margin:0}
.v3-up{position:relative;display:inline-flex;align-items:center;padding:8px 12px;border-radius:10px;border:1.5px dashed var(--border);font-size:.8rem;font-weight:600;cursor:pointer;color:var(--text)}
.v3-up input{position:absolute;inset:0;opacity:0;cursor:pointer}
.v3-show{display:flex;align-items:center;gap:8px;margin:6px 0 0;font-size:.8rem;font-weight:500;color:var(--muted)}
.v3-show input{width:auto;margin:0}
.v3-badfit{display:inline-block;white-space:nowrap;flex:none;margin-right:6px;padding:2px 8px;border-radius:99px;background:color-mix(in srgb,#f59e0b 25%,transparent);color:var(--text);font-size:.72rem;font-weight:600}

/* ---------- Dans l'affiche : informations produit et offre de remboursement ---------- */
.poster .v3-pi{display:flex;flex-direction:column;align-items:center;gap:calc(1cqmin*var(--bz,1));margin-top:calc(2cqmin*var(--bz,1))}
.poster .v3-pib{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:calc(2cqmin*var(--bz,1))}
.poster .v3-en{display:inline-flex;align-items:center;gap:calc(1.4cqmin*var(--bz,1));padding-left:calc(2cqmin*var(--bz,1));border-radius:calc(1cqmin*var(--bz,1));background:#fff;color:#111;border:calc(.35cqmin*var(--bz,1)) solid #111;font-size:calc(2.6cqmin*var(--bz,1));font-weight:700;line-height:1.1}
.poster .v3-en-l{max-width:calc(16cqmin*var(--bz,1))}
.poster .v3-en-c{display:grid;place-items:center;height:calc(8cqmin*var(--bz,1));padding:0 calc(5cqmin*var(--bz,1)) 0 calc(2.4cqmin*var(--bz,1));background:var(--ec);color:var(--et,#fff);font-size:calc(6cqmin*var(--bz,1));font-weight:900;clip-path:polygon(0 0,72% 0,100% 50%,72% 100%,0 100%)}
.poster .v3-ix{display:inline-flex;align-items:center;gap:calc(1.6cqmin*var(--bz,1));padding:calc(1cqmin*var(--bz,1)) calc(2.4cqmin*var(--bz,1));border-radius:calc(1.6cqmin*var(--bz,1));background:#fff;color:#111;border:calc(.35cqmin*var(--bz,1)) solid #111;font-size:calc(2.6cqmin*var(--bz,1));font-weight:700;line-height:1.1}
.poster .v3-ix-l{max-width:calc(18cqmin*var(--bz,1))}
.poster .v3-ix-n{font-size:calc(6cqmin*var(--bz,1));font-weight:900}
.poster .v3-ix-n small{font-size:.5em}
.poster .v3-pv{max-height:calc(14cqmin*var(--bz,1));max-width:calc(40cqmin*var(--bz,1));object-fit:contain}
.poster .v3-pf{font-size:calc(3cqmin*var(--bz,1)*var(--tz,1));text-align:center}
.poster .v3-pf span{font-weight:700}
.poster .v3-odr{display:flex;align-items:center;justify-content:center;gap:calc(2cqmin*var(--bz,1));align-self:center;margin-top:calc(2cqmin*var(--bz,1));padding:calc(1.4cqmin*var(--bz,1)) calc(3cqmin*var(--bz,1));border-radius:calc(2.4cqmin*var(--bz,1));background:var(--c1);color:#fff;text-align:center;line-height:1.2}
.poster .v3-odr-img{max-height:calc(12cqmin*var(--bz,1));max-width:calc(22cqmin*var(--bz,1));object-fit:contain;border-radius:calc(1cqmin*var(--bz,1));background:#fff}
.poster .v3-odr-t{display:flex;flex-direction:column;align-items:center}
.poster .v3-odr-l{font-size:calc(2.6cqmin*var(--bz,1));font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.poster .v3-odr-a{font-size:calc(4.6cqmin*var(--bz,1)*var(--tz,1));font-weight:900}
.poster .v3-odr-by{font-size:calc(2.8cqmin*var(--bz,1));font-weight:600}
.poster .v3-odr small{font-size:calc(2.3cqmin*var(--bz,1));opacity:.9}
.d-dark .v3-odr{background:var(--accent);color:#111}

/* ---------- « Créer une affiche » : deux entrées ---------- */
.v3a-choice{display:grid;gap:10px;margin:0 0 14px}
/* carte : icône à gauche (taille fixe), texte qui prend toute la largeur restante — sans dépendre d'une largeur d'écran */
.v3a-card{display:flex;align-items:flex-start;gap:14px;box-sizing:border-box;width:100%;min-width:0;margin:0;padding:16px 18px;border-radius:16px;border:1.5px solid var(--border);background:var(--panel,#fff);color:var(--text);text-align:left;cursor:pointer;font:inherit;transition:transform .18s,box-shadow .18s,border-color .18s}
.v3a-card .v3a-ci{flex:0 0 48px;width:48px;height:48px;border-radius:14px;display:grid;place-items:center;font-size:1.2rem;background:color-mix(in srgb,var(--text) 7%,transparent);overflow:visible}
.v3a-card .v3a-ct{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:4px}
.v3a-card b{font-size:1rem;line-height:1.25}
.v3a-card small{display:block;color:var(--muted);font-size:.84rem;line-height:1.45;overflow-wrap:break-word}
.v3a-card .v3a-go{margin-top:4px;font-size:.82rem;font-weight:700;color:color-mix(in srgb,var(--accent) 70%,var(--text))}
.v3a-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 45%,var(--border))}
.v3a-card:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:2px}
.v3a-card--afy{border-color:transparent;background:linear-gradient(var(--panel,#fff),var(--panel,#fff)) padding-box,var(--ap-grad,var(--accent)) border-box}
.v3a-card--afy .v3a-ci{background:color-mix(in srgb,var(--accent) 12%,transparent)}
@media (prefers-reduced-motion:reduce){.v3a-card{transition:none}.v3a-card:hover{transform:none}}

/* ---------- Boîte de dialogue d'Afy ---------- */
body.v3a-open{overflow:hidden}
.v3a{position:fixed;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:24px}
.v3a.hidden{display:none}
.v3a-scrim{position:absolute;inset:0;background:rgba(7,10,24,.55);backdrop-filter:blur(3px)}
.v3a-panel{position:relative;display:flex;flex-direction:column;width:min(760px,100%);max-height:min(900px,calc(100vh - 48px));border-radius:22px;background:var(--panel,#fff);color:var(--text);box-shadow:0 30px 80px -20px rgba(7,10,24,.55);overflow:hidden;animation:v3aIn .28s cubic-bezier(.2,.8,.2,1)}
@keyframes v3aIn{from{opacity:0;transform:translateY(14px) scale(.98)}}
.v3a-head{display:flex;gap:12px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--border)}
.v3a-head h3{margin:0;font-size:1.1rem}
.v3a-head p{margin:2px 0 0;font-size:.82rem;color:var(--muted)}
.v3a-logo{flex:none;display:grid;place-items:center}
.v3a-x{margin-left:auto;width:38px;height:38px;padding:0;border-radius:10px;border:0;background:transparent;color:var(--muted);font-size:1rem;cursor:pointer}
.v3a-demo{padding:8px 20px;background:#fef3c7;color:#78350f;font-weight:700;font-size:.78rem;letter-spacing:.03em;text-align:center}
.v3a-demo.hidden{display:none}
.v3a-body{padding:18px 20px;overflow:auto;flex:1}
.v3a-foot{display:flex;gap:10px;justify-content:flex-end;padding:14px 20px;border-top:1px solid var(--border);flex-wrap:wrap}
.v3a-foot:empty{display:none}
.v3a-foot button{width:auto;margin:0}
.v3a-q{display:block;font-size:1.15rem;font-weight:700;margin:0 0 10px}
.v3a-in{display:flex;gap:8px}
.v3a-in input{flex:1;margin:0;font-size:1rem;min-height:48px}
.v3a-in button{width:auto;margin:0;padding:0 20px}
.v3a-ean{margin:6px 0 0;font-size:.82rem;min-height:1.1em}
.v3a-ean.ok{color:color-mix(in srgb,#16a34a 75%,var(--text))}
.v3a-ean.ko{color:color-mix(in srgb,#dc2626 78%,var(--text))}
.v3a-lbl{display:block;margin:14px 0 6px;font-size:.82rem;font-weight:600;color:var(--muted)}
.v3a-hint,.v3a-note{margin:10px 0 0;font-size:.8rem;color:var(--muted);line-height:1.45}
.v3a-warn{margin:12px 0;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,#f59e0b 18%,transparent);color:var(--text);font-size:.84rem}
.v3a-ex{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:14px;font-size:.8rem;color:var(--muted)}
.v3a-chip{width:auto;margin:0;padding:6px 12px;border-radius:99px;border:1.5px dashed #d97706;background:transparent;color:var(--text);font:600 .78rem inherit;cursor:pointer}
.v3a-load{display:grid;justify-items:center;gap:18px;padding:30px 0}
.v3a-orb{width:62px;height:62px;border-radius:50%;background:var(--ap-grad,var(--accent));animation:v3aPulse 1.6s ease-in-out infinite;box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 40%,transparent)}
@keyframes v3aPulse{50%{transform:scale(.88);box-shadow:0 0 0 18px transparent}}
.v3a-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.92rem;color:var(--muted)}
.v3a-steps li.on{color:var(--text);font-weight:600}
.v3a-steps li.done::before{content:"✓ ";color:#16a34a}
.v3a-state h4{margin:0 0 6px}
.v3a-idline{font-weight:600}
.v3a-hero{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-end;padding:0 0 12px;border-bottom:1px solid var(--border)}
.v3a-hero h4{margin:2px 0;font-size:1.25rem}
.v3a-ok{margin:0;font-size:.86rem;font-weight:700;color:var(--text)}
.v3a-meta{margin:0;font-size:.8rem;color:var(--muted)}
.v3a-type{padding:2px 9px;border-radius:99px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--text);font-weight:600}
.v3a-count{margin:0;font-size:.86rem;color:var(--muted)}
.v3a-count b{color:var(--text)} .v3a-count b.c{color:#d97706}
.v3a-bulk{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0 4px;font-size:.78rem;color:var(--muted)}
.v3a-bulk .mini{width:auto;margin:0}
.v3a-g{margin:16px 0 6px;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.v3a-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.v3a-f{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--border)}
.v3a-f.refused{opacity:.55}
.v3a-f.accepted,.v3a-f.edited{border-color:color-mix(in srgb,#16a34a 45%,var(--border));background:color-mix(in srgb,#16a34a 5%,transparent)}
.v3a-ic{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:.8rem}
.found .v3a-ic{background:color-mix(in srgb,#16a34a 18%,transparent);color:color-mix(in srgb,#16a34a 80%,var(--text))}
.conflict .v3a-ic{background:color-mix(in srgb,#f59e0b 25%,transparent);color:color-mix(in srgb,#d97706 80%,var(--text))}
.missing .v3a-ic,.notsearched .v3a-ic{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--muted)}
.v3a-fl{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:.8rem;font-weight:600;color:var(--muted)}
.v3a-v{font-size:1rem;font-weight:700;margin:2px 0}
.v3a-v s{font-weight:400;color:var(--muted);font-size:.85rem}
.v3a-conf{padding:1px 8px;border-radius:99px;font-size:.7rem;font-weight:700}
.v3a-conf.hi{background:color-mix(in srgb,#16a34a 16%,transparent);color:var(--text)}
.v3a-conf.md,.v3a-conf.lo{background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}
.v3a-conf.cf{background:color-mix(in srgb,#f59e0b 22%,transparent);color:var(--text)}
.v3a-srcs{font-size:.76rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 6px;align-items:baseline}
.v3a-src{color:color-mix(in srgb,var(--accent) 65%,var(--text));text-decoration:underline;text-underline-offset:2px}
.v3a-src.demo{color:#b45309}
.v3a-date{font-size:.72rem}
.v3a-cands{display:grid;gap:6px;margin:6px 0}
.v3a-cand{display:flex;gap:8px;align-items:flex-start;font-size:.86rem;font-weight:400;margin:0;color:var(--text)}
.v3a-cand input{width:auto;margin:3px 0 0}
.v3a-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}
.v3a-acts .mini,.v3a-edit .mini{width:auto;margin:0;min-height:34px}
.v3a-acts .mini.pr,.v3a-edit .mini.pr{background:var(--accent);color:#fff;border-color:var(--accent)}
.v3a-tag{padding:3px 10px;border-radius:99px;font-size:.74rem;font-weight:700;background:color-mix(in srgb,#16a34a 16%,transparent);color:var(--text)}
.v3a-tag.refused{background:color-mix(in srgb,var(--text) 10%,transparent)}
.v3a-show{display:inline-flex;gap:6px;align-items:center;margin:0;font-size:.8rem;font-weight:500;color:var(--text)}
.v3a-show input{width:auto;margin:0}
.v3a-by{font-size:.74rem;font-weight:500;color:var(--muted)}
.v3a-edit{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.v3a-edit input{flex:1;min-width:140px;margin:0}
.v3a-odr{padding:14px;border-radius:16px;border:1.5px dashed #d97706;display:grid;gap:8px}
.v3a-odr.used,.v3a-odr.edited{border-style:solid;border-color:color-mix(in srgb,#16a34a 50%,var(--border))}
.v3a-odrv{margin:2px 0}
.v3a-odred{display:grid;gap:8px}
.v3a-odred label{display:flex;flex-direction:column;gap:4px;font-size:.78rem;font-weight:600;color:var(--muted);margin:0}
.v3a-odred input{margin:0}
@media (max-width:640px){
  .v3a{padding:0;align-items:stretch}
  .v3a-panel{width:100%;max-height:none;height:100%;border-radius:0}
  .v3a-in{flex-direction:column}
  .v3a-in button{min-height:46px}
  .v3a-foot button{flex:1}
}
@media (prefers-reduced-motion:reduce){.v3a-panel,.v3a-orb{animation:none}}

/* ---------- Dans l'affiche : caractéristiques et marquage démo ---------- */
.poster .v3-specs{display:flex;flex-wrap:wrap;justify-content:center;gap:calc(.8cqmin*var(--bz,1)) calc(2.4cqmin*var(--bz,1));font-size:calc(3cqmin*var(--bz,1)*var(--tz,1));text-align:center}
.poster .v3-spec span{font-weight:700}
.poster .v3-demo-stamp{margin-top:calc(1cqmin*var(--bz,1));padding:calc(.8cqmin*var(--bz,1)) calc(2cqmin*var(--bz,1));border:calc(.4cqmin*var(--bz,1)) dashed #b45309;color:#b45309;background:#fef3c7;font-weight:800;font-size:calc(2.6cqmin*var(--bz,1));text-transform:uppercase}

/* ---------- Afy : personnage (design system) ----------
   Tailles : xs 18px (en ligne) · sm 28px (boutons, en-têtes) · md 44px (états) · lg 72px (chargement).
   Couleurs du logo Affichy. Transformations dans la grille 64×64 du dessin (transform-box: view-box) :
   aucune déformation selon la taille. Animations lentes ; aucune avec « réduire les animations ». */
.afym{display:inline-block;flex:none;position:relative;width:var(--afym-s,28px);height:var(--afym-s,28px);min-width:var(--afym-s,28px);vertical-align:middle;line-height:0}
.afym svg{display:block;width:100%;height:100%;overflow:visible}
.afym--xs{--afym-s:18px}.afym--sm{--afym-s:28px}.afym--md{--afym-s:44px}.afym--lg{--afym-s:72px}
.afym .afym-float,.afym .afym-tilt,.afym .afym-breathe,.afym .afym-face{transform-box:view-box;transform-origin:32px 33px}
.afym .afym-eyes{transform-box:view-box;transform-origin:32px 30.5px}
/* repos : respiration, léger flottement, clignement occasionnel */
.afym--rest .afym-breathe,.afym--think .afym-breathe,.afym--success .afym-breathe,.afym--error .afym-breathe{animation:afymBreathe 4.2s ease-in-out infinite}
.afym--rest .afym-float,.afym--think .afym-float{animation:afymFloat 5s ease-in-out infinite}
.afym .afym-eyes{animation:afymBlink 6.5s ease-in-out infinite}
/* travail : flotte, s'incline très légèrement, regarde à gauche puis à droite, cligne plus souvent */
.afym--working .afym-float{animation:afymFloatW 2.6s ease-in-out infinite}
.afym--working .afym-tilt{animation:afymTilt 5.2s ease-in-out infinite}
.afym--working .afym-breathe{animation:afymBreatheW 2.6s ease-in-out infinite}
.afym--working .afym-face{animation:afymLook 4.4s ease-in-out infinite}
.afym--working .afym-eyes{animation:afymBlink 3.6s ease-in-out infinite}
/* réflexion : regard vers le haut, sur le côté */
.afym--think .afym-face{transform:translate(1.8px,-1.8px)}
/* réussite : petit saut joyeux (une seule fois) */
.afym--success .afym-float{animation:afymHop .75s cubic-bezier(.3,.7,.4,1) 1}
/* erreur : léger mouvement de tête (une seule fois), regard un peu baissé, jamais triste */
.afym--error .afym-tilt{animation:afymNo .9s ease-in-out 1}
.afym--error .afym-face{transform:translateY(1px)}
@keyframes afymBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@keyframes afymBreatheW{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
@keyframes afymFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.3px)}}
@keyframes afymFloatW{0%,100%{transform:translateY(.6px)}50%{transform:translateY(-2.6px)}}
@keyframes afymTilt{0%,100%{transform:rotate(0)}30%{transform:rotate(-4deg)}70%{transform:rotate(3deg)}}
@keyframes afymLook{0%,12%,100%{transform:translate(0,0)}25%,40%{transform:translate(-2.6px,-.6px)}58%,76%{transform:translate(2.6px,-.6px)}}
@keyframes afymBlink{0%,91%,97%,100%{transform:scaleY(1)}94%{transform:scaleY(.1)}}
@keyframes afymHop{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-5px) scale(1.04)}65%{transform:translateY(0) scale(.98)}100%{transform:translateY(0) scale(1)}}
@keyframes afymNo{0%,100%{transform:rotate(0)}25%{transform:rotate(-6deg)}55%{transform:rotate(5deg)}80%{transform:rotate(-2deg)}}
@media (prefers-reduced-motion:reduce){.afym .afym-float,.afym .afym-tilt,.afym .afym-breathe,.afym .afym-face,.afym .afym-eyes{animation:none!important}}
.afy-inline{display:inline-flex;align-items:center;gap:8px;line-height:1.35;min-width:0}
.afy-loader{display:grid;justify-items:center;gap:16px;padding:26px 0}
.afy-steps{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:.92rem;color:var(--muted);text-align:center}
.afy-steps li.on{color:var(--text);font-weight:600}
.afy-steps li.done{color:var(--muted)}
.afy-steps li.done::before{content:"✓ ";color:#16a34a}
.afy-empty{display:flex;gap:14px;align-items:flex-start}
.afy-empty h4{margin:2px 0 4px}
.afy-empty p{margin:0;color:var(--muted);line-height:1.5}

/* ---------- Étape « Produit et caractéristiques » ---------- */
.v3-afyfill{display:inline-flex;align-items:center;gap:8px;width:auto;margin:12px 0 4px}
.v3-grp{display:grid;gap:0}
.v3-bh2{margin-top:16px}
.v3-frow{display:flex;gap:8px;align-items:center}
.v3-frow>.v3-money,.v3-frow>select,.v3-frow>.v3-ixin{flex:1;min-width:0}
.v3-crow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto}
.v3-crow input{margin:0}
.v3-del{flex:none;width:36px;height:36px;margin:0;padding:0;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;font-size:.85rem}
.v3-del:hover{color:color-mix(in srgb,#dc2626 80%,var(--text));border-color:color-mix(in srgb,#dc2626 40%,var(--border))}
.v3-fsrc{margin-top:4px;font-size:.72rem;color:var(--muted)}
.v3-fsrc a{color:color-mix(in srgb,var(--accent) 65%,var(--text))}
.v3-addc{width:auto;margin:12px 0 0}
.v3-more-f>summary,.v3-ids>summary{margin:8px 0;font-size:.82rem;font-weight:600;cursor:pointer;color:color-mix(in srgb,var(--accent) 65%,var(--text))}
.v3-ids{margin-top:14px;padding-top:6px;border-top:1px solid var(--border)}
@media (max-width:560px){.v3-crow{grid-template-columns:1fr auto}.v3-crow input[data-cp="l"]{grid-column:1/-1}}

/* ---------- Page d'accueil : section « Rencontrez Afy » (complémentaire, pas le héros) ---------- */
.lpafy{background:radial-gradient(50% 45% at 90% 20%,color-mix(in srgb,#7c3aed 9%,transparent),transparent 70%),#fff;color:#0b1020}
.lpafy-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,64px);align-items:center}
.lpafy-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 16px;padding:6px 14px 6px 6px;border-radius:99px;background:color-mix(in srgb,#5a4ceb 9%,#fff);font-size:.86rem;font-weight:600;color:#3b2fb8}
.lpafy h2{font:700 clamp(1.7rem,3.2vw,2.6rem)/1.12 Poppins,sans-serif;letter-spacing:-.025em;margin:0 0 16px;text-wrap:balance}
.lpafy-lead{font-size:clamp(1rem,1.25vw,1.12rem);line-height:1.65;color:#434a6b;margin:0 0 20px}
.lpafy-list{list-style:none;margin:0 0 18px;padding:0;display:grid;gap:12px}
.lpafy-list li{position:relative;padding-left:30px;line-height:1.55;color:#434a6b}
.lpafy-list li::before{content:"✓";position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-size:.72rem;font-weight:800;color:#fff;background:linear-gradient(135deg,#5a4ceb,#7c3aed)}
.lpafy-list b{color:#0b1020}
.lpafy-note{margin:0;font-size:.88rem;color:#5b6283;line-height:1.55;padding:12px 14px;border-radius:12px;background:#f5f6fb}
.lpafy-demo{margin:0;padding:22px;border-radius:22px;background:#fff;border:1px solid rgba(15,23,60,.08);box-shadow:0 30px 70px -40px rgba(49,34,160,.45)}
.lpafy-head{display:flex;gap:16px;align-items:center;margin-bottom:14px}
.lpafy-q{margin:0;font-weight:700;color:#0b1020}
.lpafy-st{margin:4px 0 0;font-size:.86rem;color:#5b6283;min-height:1.3em}
.lpafy-rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.lpafy-rows li{display:grid;grid-template-columns:24px auto 1fr auto;gap:4px 10px;align-items:baseline;padding:10px 12px;border-radius:12px;border:1px solid rgba(15,23,60,.08);font-size:.92rem;color:#2b3150}
.lpafy-rows li span{font-weight:800;text-align:center}
.lpafy-rows li i{font-style:normal}
.lpafy-rows li.ok span{color:#15803d}.lpafy-rows li.warn span{color:#b45309}.lpafy-rows li.miss span{color:#6b7280}
.lpafy-rows li.warn{background:#fffbeb}
.lpafy-rows em{font-style:normal;font-size:.76rem;color:#5b6283;justify-self:end}
.lpafy-demo figcaption{margin-top:12px;font-size:.78rem;color:#5b6283}
@media (max-width:860px){.lpafy-grid{grid-template-columns:1fr}}
@media (max-width:480px){.lpafy-demo{padding:16px}.lpafy-rows li{grid-template-columns:22px minmax(0,1fr)}.lpafy-rows li b,.lpafy-rows li i,.lpafy-rows li em{grid-column:2;justify-self:start}.lpafy-rows li span{grid-row:1/4}}

/* ---------- Mentions d'Afy dans l'éditeur + historique de ses modifications ---------- */
.afy-label{display:inline-flex;align-items:center;gap:6px}
button.afy-label{justify-content:center}
.afyhist{display:inline-flex;gap:6px;margin:8px 0 0 8px;vertical-align:middle}
.afyhist .mini{width:auto;margin:0;min-height:34px}
.afyhist .mini:disabled{opacity:.45;cursor:default}

/* ---------- 3.0.3 : liens de connexion, avertissement e-mail, confirmation de suppression, logo en paysage ---------- */
.lg-links{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap;margin-top:6px}
.lg-links .linkbtn{width:auto;margin:0}
.warnbox{margin:8px 0 4px;padding:10px 12px;border-radius:12px;border:1px solid color-mix(in srgb,#f59e0b 55%,transparent);background:color-mix(in srgb,#f59e0b 16%,var(--panel,#fff));color:var(--text);font-size:.84rem;line-height:1.45}
.warnbox::before{content:"";display:inline-block;width:1.05em;height:1.05em;margin-right:.35em;vertical-align:-.17em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.7 3.75a1.5 1.5 0 0 1 2.6 0l6.1 10.75a1.5 1.5 0 0 1-1.3 2.25H3.9a1.5 1.5 0 0 1-1.3-2.25z'/%3E%3Cpath d='M10 8v3.5'/%3E%3Cpath d='M10 14h.01'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8.7 3.75a1.5 1.5 0 0 1 2.6 0l6.1 10.75a1.5 1.5 0 0 1-1.3 2.25H3.9a1.5 1.5 0 0 1-1.3-2.25z'/%3E%3Cpath d='M10 8v3.5'/%3E%3Cpath d='M10 14h.01'/%3E%3C/svg%3E") center/contain no-repeat;color:#d97706;font-weight:700}
.warnbox.hidden{display:none}
.fconf{margin-top:8px;padding:10px;border-radius:12px;border:1px solid color-mix(in srgb,#dc2626 45%,var(--border));background:color-mix(in srgb,#dc2626 7%,transparent)}
.fconf .conf{display:block;font-weight:700}
.fconf small{display:block;margin:4px 0 8px;color:var(--muted);line-height:1.4}
/* paysage : logo en haut à gauche, le titre commence sous le logo (jamais recouvert) */
.poster.fam-l.lg-tl .hd{padding-top:calc(var(--lm,3)*1cqmin + 15cqmin*var(--ls,1) + 2cqmin)}

/* ===== STUDIO DE DIRECTION ARTISTIQUE (console propriétaire) =====
   Règle d'or : chaque sélecteur commence par #owBody (vérifié par test/v3-art-direction.browser.test.js) ;
   rien ne cible l'intérieur d'une affiche : l'export et l'impression embarquent toutes les feuilles de style. */
#owBody .v3-da-intro{max-width:760px;margin:-8px 0 22px;color:var(--muted);line-height:1.55}
#owBody .v3-da{display:grid;grid-template-columns:272px minmax(0,1fr);gap:24px;align-items:start}
#owBody .v3-da-list{position:sticky;top:84px;display:flex;flex-direction:column;gap:10px;min-width:0}
#owBody .v3-da-new{appearance:none;width:100%;min-height:46px;padding:12px 16px;border:0;border-radius:14px;background:var(--ap-grad,var(--accent));color:#fff;font:700 .9rem/1.2 inherit;cursor:pointer;box-shadow:0 14px 30px -16px var(--accent);transition:transform .18s,box-shadow .18s}
#owBody .v3-da-new:hover{transform:translateY(-1px);box-shadow:0 18px 34px -16px var(--accent)}
#owBody .v3-da-items{display:flex;flex-direction:column;gap:8px}
#owBody .v3-da-item{appearance:none;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;row-gap:4px;align-items:center;width:100%;margin:0;padding:12px 14px;text-align:left;border:1.5px solid var(--border);border-radius:16px;background:var(--panel,#fff);color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--ap-sh);transition:border-color .18s,transform .18s,box-shadow .18s}
#owBody .v3-da-item:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}
#owBody .v3-da-item.on{border-color:transparent;box-shadow:inset 0 0 0 2px var(--accent),0 16px 34px -22px var(--accent)}
#owBody .v3-da-item b{grid-column:2;font-size:.92rem;line-height:1.25;overflow-wrap:anywhere}
#owBody .v3-da-item small{grid-column:2;display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--muted);font-size:.74rem}
#owBody .v3-da-dots{grid-row:1/3;display:grid;grid-template-columns:repeat(2,13px);gap:3px}
#owBody .v3-da-dots i,#owBody .v3-da-start i{display:block;width:13px;height:13px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1px rgba(15,23,60,.14)}
#owBody .v3-da-dots i.none{background:repeating-linear-gradient(45deg,var(--border) 0 3px,transparent 3px 6px)}
#owBody .v3-da-badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:99px;font-size:.72rem;font-weight:700;letter-spacing:.01em;background:color-mix(in srgb,var(--text) 8%,transparent);color:var(--text)}
#owBody .v3-da-badge.st-active{background:color-mix(in srgb,#16a34a 18%,transparent);color:color-mix(in srgb,#16a34a 70%,var(--text))}
#owBody .v3-da-badge.st-changed{background:color-mix(in srgb,#f59e0b 22%,transparent)}
#owBody .v3-da-badge.st-archived{background:color-mix(in srgb,var(--muted) 18%,transparent);color:var(--muted)}
#owBody .v3-da-pick{display:none}
#owBody .v3-da-none{margin:6px 2px;color:var(--muted);font-size:.86rem}
#owBody .v3-da-main{min-width:0}
#owBody .v3-da-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:56px 24px;text-align:center;border:1.5px dashed var(--border);border-radius:22px;background:color-mix(in srgb,var(--accent) 4%,var(--panel,#fff))}
#owBody .v3-da-empty span{font-size:2.4rem}
#owBody .v3-da-empty p{max-width:460px;margin:0 0 6px;color:var(--muted);line-height:1.5}
#owBody .v3-da-empty .primary{width:auto;padding:12px 26px}
#owBody .v3-da-studio{display:flex;flex-direction:column;gap:18px;min-width:0}
#owBody .v3-da-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 24px;padding:20px 22px;border-radius:22px;background:var(--panel,#fff);border:1px solid var(--border);box-shadow:var(--ap-sh)}
#owBody .v3-da-idf{display:flex;flex-direction:column;gap:6px;min-width:0}
#owBody .v3-da-idf label{font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--muted)}
#owBody .v3-da-idf label small{font-weight:500}
#owBody .v3-da-idf input{font:700 1.35rem/1.2 Poppins,sans-serif;letter-spacing:-.02em;padding:8px 12px;border-radius:12px;border:1.5px solid var(--border);background:transparent;color:var(--text);width:100%}
#owBody .v3-da-idf textarea{font:inherit;font-size:.92rem;line-height:1.45;padding:9px 12px;border-radius:12px;border:1.5px solid var(--border);background:transparent;color:var(--text);width:100%;resize:vertical}
#owBody .v3-da-state{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:200px;text-align:right}
#owBody .v3-da-meta{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center}
#owBody .v3-da-meta .v3-da-badge{font-size:.8rem;padding:4px 12px}
#owBody .v3-da-m{font-size:.8rem;color:var(--muted)}
#owBody .v3-da-save{margin:0;min-height:1.3em;font-size:.82rem;font-weight:600;color:var(--muted)}
#owBody .v3-da-save[data-state="saved"]{color:color-mix(in srgb,#16a34a 75%,var(--text))}
#owBody .v3-da-save[data-state="error"],#owBody .v3-da-save[data-state="invalid"]{color:#dc2626}
#owBody .v3-da-revert{appearance:none;border:0;background:none;padding:0;color:var(--accent);font:600 .8rem inherit;text-decoration:underline;cursor:pointer}
#owBody .v3-da-ro{margin:0;padding:12px 16px;border-radius:14px;background:color-mix(in srgb,var(--muted) 12%,transparent);font-weight:600}
#owBody .v3-da-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}
#owBody .v3-da-cols>.v3-da-preview{order:-1}
#owBody .v3-da-more>summary{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-bottom:8px;cursor:pointer;list-style:none}
#owBody .v3-da-more>summary::-webkit-details-marker{display:none}
#owBody .v3-da-more>summary::after{content:"▾";margin-left:auto;color:var(--muted);transition:transform .18s}
#owBody .v3-da-more:not([open])>summary::after{transform:rotate(-90deg)}
#owBody .v3-da-form{display:flex;flex-direction:column;gap:18px;min-width:0;margin:0;padding:0;border:0}
#owBody .v3-da-form[disabled]{opacity:.72}
#owBody .v3-da-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#owBody .v3-da-sec{padding:20px 22px 22px;border-radius:22px;background:var(--panel,#fff);border:1px solid var(--border);box-shadow:var(--ap-sh);min-width:0}
#owBody .v3-da-sec>header{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px;flex-wrap:wrap}
#owBody .v3-da-sec>header>div{flex:1 1 220px;min-width:0}
#owBody .v3-da-sec h3{margin:0;font:700 1.08rem/1.25 Poppins,sans-serif;letter-spacing:-.015em}
#owBody .v3-da-sec>header p{margin:3px 0 0;color:var(--muted);font-size:.86rem;line-height:1.45}
#owBody .v3-da-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;font-size:1.25rem;background:color-mix(in srgb,var(--accent) 12%,transparent)}
#owBody .v3-da-use{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:99px;font-size:.72rem;font-weight:700;background:color-mix(in srgb,#16a34a 15%,transparent);color:color-mix(in srgb,#16a34a 72%,var(--text));line-height:1.3}
#owBody .v3-da-use::before{content:"✓"}
#owBody .v3-da-use.later{background:color-mix(in srgb,#6366f1 12%,transparent);color:color-mix(in srgb,#6366f1 70%,var(--text));font-weight:600}
#owBody .v3-da-use.later::before{content:"◷"}
#owBody .v3-da-sub{margin-top:16px;min-width:0}
#owBody .v3-da-sub:first-of-type{margin-top:0}
#owBody .v3-da-fh{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-bottom:8px}
#owBody .v3-da-fh label,#owBody .v3-da-fh b{font-weight:700;font-size:.92rem}
#owBody .v3-da-n{font-size:.74rem;color:var(--muted);font-variant-numeric:tabular-nums}
#owBody .v3-da-help{margin:0 0 8px;color:var(--muted);font-size:.8rem;line-height:1.45}
#owBody .v3-da-note{margin:0 0 10px;padding:10px 13px;border-radius:12px;font-size:.82rem;line-height:1.45;background:color-mix(in srgb,#6366f1 8%,transparent);color:var(--text)}
#owBody .v3-da-err{margin:4px 0 0;color:#dc2626;font-size:.8rem;font-weight:600;line-height:1.4}
#owBody .v3-da-err:empty{display:none}
#owBody .has-err>textarea,#owBody .has-err>input,#owBody .v3-da-field.has-err textarea{border-color:#dc2626}
/* couleurs */
#owBody .v3-da-cg{padding:14px 0;border-top:1px solid var(--border)}
#owBody .v3-da-cg:first-child{padding-top:0;border-top:0}
#owBody .v3-da-cgh{display:flex;gap:10px;align-items:baseline}
#owBody .v3-da-cgh b{font-size:.92rem}
#owBody .v3-da-cg .v3-da-help{margin:2px 0 10px}
#owBody .v3-da-sws{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
#owBody .v3-da-sw{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;width:76px}
#owBody .v3-da-chip{position:relative;display:block;width:64px;height:64px;border-radius:18px;background:var(--c);cursor:pointer;box-shadow:inset 0 0 0 1px rgba(15,23,60,.14),0 10px 22px -14px var(--c);transition:transform .18s}
#owBody .v3-da-chip:hover{transform:translateY(-2px) scale(1.03)}
#owBody .v3-da-chip input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0}
#owBody .v3-da-chip:focus-within{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:3px}
#owBody .is-forbidden .v3-da-chip::after{content:"";position:absolute;inset:0;border-radius:18px;background:linear-gradient(135deg,transparent 46%,#dc2626 46% 54%,transparent 54%)}
#owBody .v3-da-hex{font:600 .74rem/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted);letter-spacing:.02em}
#owBody .v3-da-x{position:absolute;top:-7px;right:0;width:24px;height:24px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid var(--border);background:var(--panel,#fff);color:var(--text);font-size:.95rem;line-height:1;cursor:pointer;box-shadow:0 4px 10px -4px rgba(15,23,60,.3)}
#owBody .v3-da-x:hover{background:#dc2626;color:#fff;border-color:#dc2626}
#owBody .v3-da-add{appearance:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:64px;height:64px;margin:0 6px 20px 0;padding:6px;border-radius:18px;border:1.5px dashed color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 5%,transparent);color:var(--text);cursor:pointer}
#owBody .v3-da-add span{font-size:1.35rem;line-height:1;font-weight:500;color:var(--accent)}
#owBody .v3-da-add small{font:600 .66rem/1 Poppins,sans-serif;color:var(--muted)}
#owBody .v3-da-add:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}
#owBody .v3-da-starts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px;padding-top:14px;border-top:1px solid var(--border);font-size:.8rem;color:var(--muted)}
#owBody .v3-da-start{appearance:none;display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:6px 12px 6px 8px;border-radius:99px;border:1px solid var(--border);background:var(--panel,#fff);color:var(--text);font:600 .76rem inherit;cursor:pointer}
#owBody .v3-da-start span{display:flex}
#owBody .v3-da-start i{width:12px;height:12px;margin-left:-3px}
#owBody .v3-da-start i:first-child{margin-left:0}
#owBody .v3-da-start:hover{border-color:var(--accent)}
/* typographies */
#owBody .v3-da-fonts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
#owBody .v3-da-font{appearance:none;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:112px;margin:0;padding:12px 14px;text-align:left;border:1.5px solid var(--border);border-radius:16px;background:var(--panel,#fff);color:var(--text);cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}
#owBody .v3-da-font .aa{font:var(--fw,400) 1.9rem/1 var(--ff)}
#owBody .v3-da-font .l1{font:var(--fw,400) .95rem/1.2 var(--ff);margin-top:6px}
#owBody .v3-da-font .l2{font:var(--fw,400) 1.05rem/1.2 var(--ff);color:var(--accent)}
#owBody .v3-da-font small{margin-top:auto;padding-top:6px;font:600 .7rem/1 Poppins,sans-serif;color:var(--muted)}
#owBody .v3-da-font:hover:not(:disabled){transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 40%,var(--border))}
#owBody .v3-da-font[aria-pressed="true"]{border-color:transparent;box-shadow:inset 0 0 0 2px var(--accent),0 14px 28px -20px var(--accent);background:color-mix(in srgb,var(--accent) 7%,var(--panel,#fff))}
#owBody .v3-da-font:disabled{opacity:.45;cursor:not-allowed}
/* mise en page */
#owBody .v3-da-designs{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
#owBody .v3-da-design{appearance:none;display:flex;flex-direction:column;gap:7px;margin:0;padding:8px;border:1.5px solid var(--border);border-radius:16px;background:var(--panel,#fff);color:var(--text);font:600 .78rem inherit;cursor:pointer;text-align:center;transition:border-color .18s,box-shadow .18s}
#owBody .v3-da-design[aria-pressed="true"]{border-color:transparent;box-shadow:inset 0 0 0 2px var(--accent)}
#owBody .v3-da-thumb{display:block;border-radius:10px;overflow:hidden;pointer-events:none}
#owBody .v3-da-thumb .poster,#owBody .v3-da-pcard .poster{width:100%!important;max-width:none;box-shadow:none}
#owBody .v3-da-seg{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;border-radius:14px;background:color-mix(in srgb,var(--text) 5%,transparent)}
#owBody .v3-da-seg button{appearance:none;min-height:40px;padding:8px 16px;border:0;border-radius:11px;background:transparent;color:var(--text);font:600 .84rem inherit;cursor:pointer}
#owBody .v3-da-seg button[aria-pressed="true"]{background:var(--panel,#fff);box-shadow:0 2px 8px -2px rgba(15,23,60,.25),inset 0 0 0 1.5px var(--accent)}
/* style */
#owBody .v3-da-st{display:block;margin:0 0 10px;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
#owBody .v3-da-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
#owBody .v3-da-field{display:flex;flex-direction:column;min-width:0;padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:color-mix(in srgb,var(--text) 2%,transparent)}
#owBody .v3-da-field .v3-da-fh{margin-bottom:2px}
#owBody .v3-da-field textarea{width:100%;min-height:62px;padding:9px 11px;border-radius:12px;border:1.5px solid var(--border);background:var(--panel,#fff);color:var(--text);font:inherit;font-size:.9rem;line-height:1.45;resize:vertical}
#owBody .v3-da-field textarea:focus,#owBody .v3-da-idf input:focus,#owBody .v3-da-idf textarea:focus,#owBody .v3-da-tags input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
#owBody .v3-da-ff{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-top:4px}
#owBody .v3-da-count{margin-left:auto;font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
/* interdits */
#owBody .v3-da-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;border-radius:14px;border:1.5px solid var(--border);background:var(--panel,#fff)}
#owBody .v3-da-tag{display:inline-flex;align-items:center;gap:4px;padding:5px 6px 5px 12px;border-radius:99px;background:color-mix(in srgb,#dc2626 12%,transparent);font-size:.84rem;font-weight:600}
#owBody .v3-da-tag button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font-size:1rem;cursor:pointer}
#owBody .v3-da-tag button:hover{background:#dc2626;color:#fff}
#owBody .v3-da-tags input{flex:1 1 140px;min-width:120px;min-height:36px;padding:6px 8px;border:1.5px solid transparent;border-radius:10px;background:transparent;color:var(--text);font:inherit;font-size:.88rem}
#owBody .v3-da-tags+.v3-da-help{margin-top:6px}
/* aperçu */
#owBody .v3-da-preview{padding:18px;border-radius:22px;background:linear-gradient(160deg,color-mix(in srgb,var(--accent) 9%,var(--panel,#fff)),var(--panel,#fff));border:1px solid var(--border);box-shadow:var(--ap-sh);min-width:0}
#owBody .v3-da-ph{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
#owBody .v3-da-ph b{font:700 1rem Poppins,sans-serif}
#owBody .v3-da-draft{padding:3px 10px;border-radius:99px;font-size:.72rem;font-weight:700;background:color-mix(in srgb,#f59e0b 20%,transparent)}
#owBody .v3-da-pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;max-width:620px;margin:0 auto}
#owBody .v3-da-pcard{margin:0;display:flex;flex-direction:column;gap:7px;min-width:0}
#owBody .v3-da-pcard figcaption{font-size:.74rem;font-weight:600;color:var(--muted);text-align:center}
#owBody .v3-da-pcard .poster{border-radius:10px;box-shadow:0 18px 34px -22px rgba(15,23,60,.55)}
#owBody .v3-da-preview>.v3-da-help{margin:12px 0 0}
#owBody .v3-da-preview>.v3-da-note{margin:10px 0 0}
@media (min-width:1680px){
  #owBody .v3-da-cols{grid-template-columns:minmax(0,1fr) 400px}
  #owBody .v3-da-cols>.v3-da-preview{order:0}
  #owBody .v3-da-preview{position:sticky;top:84px}
  #owBody .v3-da-pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #owBody .v3-da-pcard:first-child{grid-column:1/-1;width:72%;justify-self:center}
}
@media (max-width:980px){
  #owBody .v3-da{grid-template-columns:minmax(0,1fr);gap:16px}
  #owBody .v3-da-list{position:static;flex-direction:row;flex-wrap:wrap;align-items:flex-end}
  #owBody .v3-da-items{display:none}
  #owBody .v3-da-pick{display:flex;flex-direction:column;gap:4px;flex:1 1 220px;font-size:.78rem;font-weight:700;color:var(--muted)}
  #owBody .v3-da-pick select{min-height:46px;width:100%;padding:8px 12px;border-radius:12px;border:1.5px solid var(--border);background:var(--panel,#fff);color:var(--text);font:600 .9rem inherit}
  #owBody .v3-da-new{width:auto;flex:0 0 auto}
}
@media (max-width:640px){
  #owBody .v3-da-head{grid-template-columns:minmax(0,1fr);padding:16px}
  #owBody .v3-da-state{align-items:flex-start;text-align:left;min-width:0}
  #owBody .v3-da-meta{justify-content:flex-start}
  #owBody .v3-da-sec{padding:16px 14px 18px;border-radius:18px}
  #owBody .v3-da-list{flex-direction:column;align-items:stretch}
  #owBody .v3-da-pick{flex:0 0 auto}
  #owBody .v3-da-new{width:100%}
  #owBody .v3-da-fonts{grid-template-columns:repeat(2,minmax(0,1fr))}
  #owBody .v3-da-designs{grid-template-columns:repeat(3,minmax(0,1fr))}
  #owBody .v3-da-fields{grid-template-columns:minmax(0,1fr)}
  #owBody .v3-da-pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  #owBody .v3-da-pcard:first-child{grid-column:1/-1;width:78%;justify-self:center}
  #owBody .v3-da-seg{display:flex;width:100%}
  #owBody .v3-da-seg button{flex:1 1 0;min-height:44px;padding:8px 6px}
}
@media (prefers-reduced-motion:reduce){#owBody .v3-da-item,#owBody .v3-da-new,#owBody .v3-da-chip,#owBody .v3-da-font{transition:none}#owBody .v3-da-item:hover,#owBody .v3-da-chip:hover,#owBody .v3-da-font:hover:not(:disabled){transform:none}}
/* références visuelles */
#owBody .v3-da-rhead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
#owBody .v3-da-radd-btn{appearance:none;min-height:44px;padding:10px 18px;border:1.5px dashed color-mix(in srgb,var(--accent) 50%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--accent) 6%,transparent);color:var(--text);font:700 .86rem inherit;cursor:pointer}
#owBody .v3-da-radd-btn:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}
#owBody .v3-da-radd{display:flex;flex-direction:column;gap:12px;margin-bottom:16px;padding:16px;border-radius:18px;border:1px solid var(--border);background:color-mix(in srgb,var(--accent) 4%,var(--panel,#fff))}
#owBody .v3-da-raddf{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px 14px}
#owBody .v3-da-rwide{grid-column:1/-1}
#owBody .v3-da-rl{display:flex;flex-direction:column;gap:4px;font-size:.76rem;font-weight:700;color:var(--muted);min-width:0}
#owBody .v3-da-rl small{display:inline;font-weight:500}
#owBody .v3-da-rl,#owBody .v3-da-rl input,#owBody .v3-da-rl select,#owBody .v3-da-rl textarea{margin:0}
#owBody .v3-da-rl input,#owBody .v3-da-rl select,#owBody .v3-da-rl textarea{width:100%;min-height:40px;padding:8px 10px;border-radius:11px;border:1.5px solid var(--border);background:var(--panel,#fff);color:var(--text);font:500 .88rem/1.4 inherit;resize:vertical}
#owBody .v3-da-rl input:focus,#owBody .v3-da-rl select:focus,#owBody .v3-da-rl textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
#owBody .v3-da-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:120px;padding:18px;border-radius:16px;border:2px dashed color-mix(in srgb,var(--accent) 45%,var(--border));background:var(--panel,#fff);text-align:center;cursor:pointer;transition:background .18s,border-color .18s}
#owBody .v3-da-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
#owBody .v3-da-drop b{font-size:.92rem}
#owBody .v3-da-drop small{color:var(--muted);font-size:.78rem}
#owBody .v3-da-dropi{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-size:1.3rem}
#owBody .v3-da-drop.is-over,#owBody .v3-da-drop:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel,#fff))}
#owBody .v3-da-drop.is-busy{opacity:.7;cursor:progress}
#owBody .v3-da-refs{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
#owBody .v3-da-ref{display:flex;flex-direction:column;min-width:0;border-radius:18px;border:1px solid var(--border);background:var(--panel,#fff);overflow:hidden;box-shadow:var(--ap-sh)}
#owBody .v3-da-ref.has-err{border-color:#dc2626}
#owBody .v3-da-rthumb{appearance:none;display:block;width:100%;height:170px;margin:0;padding:10px;border:0;border-bottom:1px solid var(--border);background:repeating-conic-gradient(color-mix(in srgb,var(--text) 5%,transparent) 0 25%,transparent 0 50%) 0 0/16px 16px;cursor:zoom-in}
#owBody .v3-da-rthumb img{display:block;width:100%;height:100%;object-fit:contain}
#owBody .v3-da-rthumb:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:-3px}
#owBody .v3-da-rbody{display:flex;flex-direction:column;gap:9px;padding:12px 14px 14px}
#owBody .v3-da-rtags{display:flex;flex-wrap:wrap;gap:6px}
#owBody .v3-da-rnote{margin:-4px 0 0;font-size:.72rem}
#owBody .v3-da-ran{display:flex;flex-direction:column;gap:3px}
#owBody .v3-da-ran .v3-da-use{align-self:flex-start}
#owBody .v3-da-ran small{color:var(--muted);font-size:.74rem;line-height:1.4}
#owBody .v3-da-rmeta{display:flex;justify-content:space-between;gap:8px;font-size:.74rem;color:var(--muted)}
#owBody .v3-da-rsave{font-weight:600}
#owBody .v3-da-rbtn{appearance:none;align-self:flex-start;min-height:40px;padding:8px 14px;border-radius:11px;border:1px solid var(--border);background:transparent;color:var(--text);font:600 .82rem inherit;cursor:pointer}
#owBody .v3-da-rbtn:hover{border-color:var(--accent)}
#owBody .v3-da-rbtn.danger{background:#dc2626;border-color:#dc2626;color:#fff}
#owBody .v3-da-rconf{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;border-radius:12px;background:color-mix(in srgb,#dc2626 8%,transparent)}
#owBody .v3-da-rconf p{flex:1 1 100%;margin:0;font-size:.8rem;line-height:1.45}
#owBody .v3-da-lb{max-width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 32px);margin:auto;padding:0;border:0;background:transparent;overflow:visible;color:var(--text)}
#owBody .v3-da-lb::backdrop{background:rgba(7,10,24,.78);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#owBody .v3-da-lbbox{position:relative;display:flex;flex-direction:column;gap:10px;margin:0;padding:14px;border-radius:20px;background:var(--panel,#fff);box-shadow:0 30px 80px -30px rgba(0,0,0,.6)}
#owBody .v3-da-lbbox img{display:block;width:min(860px,calc(100vw - 72px));height:auto;max-height:calc(100vh - 170px);object-fit:contain;border-radius:12px;background:repeating-conic-gradient(color-mix(in srgb,var(--text) 5%,transparent) 0 25%,transparent 0 50%) 0 0/18px 18px}
#owBody .v3-da-lbbox figcaption{display:flex;flex-direction:column;gap:2px;padding:0 4px}
#owBody .v3-da-lbbox figcaption span{font-size:.8rem;color:var(--muted)}
#owBody .v3-da-lbx{position:absolute;top:-14px;right:-14px;width:44px;height:44px;display:grid;place-items:center;padding:0;border-radius:50%;border:0;background:var(--panel,#fff);color:var(--text);font-size:1.5rem;line-height:1;cursor:pointer;box-shadow:0 8px 20px -8px rgba(0,0,0,.5)}
@media (max-width:640px){
  #owBody .v3-da-raddf{grid-template-columns:minmax(0,1fr)}
  #owBody .v3-da-refs{grid-template-columns:minmax(0,1fr)}
  #owBody .v3-da-lbx{top:6px;right:6px}
  #owBody .v3-da-radd-btn,#owBody .v3-da-rbtn{min-height:44px}
}
/* publication et historique */
#owBody .v3-da-formcol{display:flex;flex-direction:column;gap:18px;min-width:0}
#owBody .v3-da-meta{flex-direction:column;align-items:flex-end;gap:8px}
#owBody .v3-da-vline{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;justify-content:flex-end}
#owBody .v3-da-vline b{font:700 .98rem Poppins,sans-serif;letter-spacing:-.01em}
#owBody .v3-da-vtags{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
#owBody .v3-da-vtags:empty{display:none}
#owBody .v3-da-pubbtn{appearance:none;min-height:44px;padding:10px 20px;border:0;border-radius:12px;background:var(--ap-grad,var(--accent));color:#fff;font:700 .88rem/1.2 inherit;cursor:pointer;box-shadow:0 12px 26px -14px var(--accent);transition:transform .18s,box-shadow .18s}
#owBody .v3-da-pubbtn:hover:not(:disabled){transform:translateY(-1px)}
#owBody .v3-da-pubbtn:disabled{opacity:.6;cursor:progress}
#owBody .v3-da-pconf{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;max-width:360px;padding:12px;border-radius:14px;background:color-mix(in srgb,var(--accent) 7%,var(--panel,#fff));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));text-align:left}
#owBody .v3-da-pconf p{flex:1 1 100%;margin:0;font-size:.82rem;line-height:1.45}
#owBody .v3-da-uptodate{font-size:.82rem;font-weight:600;color:color-mix(in srgb,#16a34a 75%,var(--text))}
#owBody .v3-da-meta .v3-da-err{max-width:320px;text-align:right}
#owBody .v3-da-vlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
#owBody .v3-da-vrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:color-mix(in srgb,var(--text) 2%,transparent)}
#owBody .v3-da-vrow.is-current{border-color:color-mix(in srgb,#16a34a 40%,var(--border));background:color-mix(in srgb,#16a34a 5%,transparent)}
#owBody .v3-da-vnum{display:inline-grid;place-items:center;min-width:44px;height:30px;padding:0 8px;border-radius:9px;background:var(--ap-grad,var(--accent));color:#fff;font:800 .82rem Poppins,sans-serif}
#owBody .v3-da-vmeta{display:flex;flex-direction:column;gap:2px;flex:1 1 180px;min-width:0}
#owBody .v3-da-vmeta b{font-size:.88rem;overflow-wrap:anywhere}
#owBody .v3-da-vmeta small{font-size:.76rem;color:var(--muted)}
#owBody .v3-da-vrow .v3-da-rbtn{align-self:center}
#owBody .v3-da-vw{width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 32px);margin:auto;padding:0;border:0;border-radius:22px;background:var(--panel,#fff);color:var(--text);box-shadow:0 30px 80px -30px rgba(0,0,0,.6);overflow:auto}
#owBody .v3-da-vw::backdrop{background:rgba(7,10,24,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#owBody .v3-da-vwbox{display:flex;flex-direction:column;gap:14px;padding:20px 22px 24px}
#owBody .v3-da-vhead{position:relative;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-start;padding-right:48px}
#owBody .v3-da-vhead>div{flex:1 1 260px;min-width:0}
#owBody .v3-da-vhead h3{margin:8px 0 2px;font:700 1.3rem/1.2 Poppins,sans-serif;letter-spacing:-.02em;overflow-wrap:anywhere}
#owBody .v3-da-vhead p{margin:0;color:var(--muted);font-size:.84rem}
#owBody .v3-da-vhead .v3-da-lbx{top:0;right:0;box-shadow:none;border:1px solid var(--border)}
#owBody .v3-da-vbody{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--border)}
#owBody .v3-da-vrowd{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 18px;padding:14px 0;border-bottom:1px solid var(--border)}
#owBody .v3-da-vrowd>b{font-size:.86rem}
#owBody .v3-da-vg{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;margin-bottom:6px}
#owBody .v3-da-vg>small{flex:0 0 96px;font-size:.74rem;color:var(--muted)}
#owBody .v3-da-vg>div{display:flex;flex-wrap:wrap;gap:6px 10px}
#owBody .v3-da-vsw{display:inline-flex;align-items:center;gap:6px;font:600 .74rem ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--muted)}
#owBody .v3-da-vsw i{width:22px;height:22px;border-radius:7px;background:var(--c);box-shadow:inset 0 0 0 1px rgba(15,23,60,.14)}
#owBody .v3-da-vfont{display:inline-flex;padding:3px 10px;border-radius:9px;border:1px solid var(--border);font:1rem/1.3 var(--ff)}
#owBody .v3-da-vtext{margin:0 0 8px;font-size:.86rem;line-height:1.45}
#owBody .v3-da-vtext small{display:block;font-size:.72rem;color:var(--muted);font-weight:600}
#owBody .v3-da-vrefs{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
#owBody .v3-da-vrefs figure{margin:0;display:flex;flex-direction:column;gap:6px;padding:8px;border-radius:12px;border:1px solid var(--border)}
#owBody .v3-da-vrefs img{width:100%;height:96px;object-fit:contain;border-radius:8px;background:repeating-conic-gradient(color-mix(in srgb,var(--text) 5%,transparent) 0 25%,transparent 0 50%) 0 0/14px 14px}
#owBody .v3-da-vrefs figcaption{display:flex;flex-direction:column;gap:2px;font-size:.78rem;min-width:0}
#owBody .v3-da-vrefs figcaption small{color:var(--muted)}
#owBody .v3-da-vrefs figcaption span{font-size:.74rem;color:var(--muted);overflow-wrap:anywhere}
@media (max-width:640px){
  #owBody .v3-da-meta{align-items:flex-start}
  #owBody .v3-da-vline,#owBody .v3-da-vtags{justify-content:flex-start}
  #owBody .v3-da-pconf{max-width:none;justify-content:flex-start}
  #owBody .v3-da-meta .v3-da-err{text-align:left}
  #owBody .v3-da-vwbox{padding:16px 14px 20px}
  #owBody .v3-da-vrowd{grid-template-columns:minmax(0,1fr);gap:6px}
  #owBody .v3-da-vrefs{grid-template-columns:repeat(2,minmax(0,1fr))}
}
/* Afy Vision : analyse des références (consultation en lecture seule) */
#owBody .v3-da-rhact{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
#owBody .v3-da-ranact{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
#owBody .v3-da-ranact .v3-da-rbtn{min-height:36px;padding:6px 12px;font-size:.78rem}
#owBody .v3-da-ranact small{font-size:.74rem;color:var(--muted);line-height:1.4}
#owBody .v3-da-rbtn.v3-da-afy{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 8%,transparent)}
#owBody .v3-da-rbtn:disabled{opacity:.6;cursor:progress}
#owBody .v3-da-geowrap{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr);gap:14px;align-items:start}
#owBody .v3-da-geo{position:relative;width:100%;border-radius:10px;border:1px solid var(--border);background:repeating-linear-gradient(0deg,transparent 0 calc(33.33% - 1px),color-mix(in srgb,var(--text) 8%,transparent) calc(33.33% - 1px) 33.33%),repeating-linear-gradient(90deg,transparent 0 calc(33.33% - 1px),color-mix(in srgb,var(--text) 8%,transparent) calc(33.33% - 1px) 33.33%);overflow:hidden}
#owBody .v3-da-geoel{position:absolute;display:grid;place-items:center;border-radius:4px;border:1.5px solid var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);overflow:hidden}
#owBody .v3-da-geoel.t-logo{border-color:#16a34a;background:color-mix(in srgb,#16a34a 18%,transparent)}
#owBody .v3-da-geoel.t-price,#owBody .v3-da-geoel.t-old_price,#owBody .v3-da-geoel.t-unit_price{border-color:#dc2626;background:color-mix(in srgb,#dc2626 16%,transparent)}
#owBody .v3-da-geoel i{font:600 .56rem/1 Poppins,sans-serif;font-style:normal;color:var(--text);white-space:nowrap}
#owBody .v3-da-geolist{margin:0;padding:0 0 0 16px;font-size:.82rem;line-height:1.5}
#owBody .v3-da-geolist small{color:var(--muted)}
#owBody .v3-da-rules{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}
#owBody .v3-da-rules li{font-size:.86rem;line-height:1.45}
#owBody .v3-da-rules small{display:block;color:var(--muted);font-size:.74rem}
@media (max-width:640px){
  #owBody .v3-da-geowrap{grid-template-columns:minmax(0,1fr)}
  #owBody .v3-da-geo{max-width:220px}
  #owBody .v3-da-ranact .v3-da-rbtn{min-height:40px}
}
/* promotion Vision → brouillon */
#owBody .v3-da-promo{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center;margin:6px 0 0;font-size:.78rem;line-height:1.45}
#owBody .v3-da-promo small{flex:1 1 220px;color:var(--muted);font-size:.74rem}
#owBody .v3-da-promo .v3-da-rbtn{min-height:36px;padding:6px 12px;font-size:.78rem}
#owBody .v3-da-promo.is-off{color:var(--muted)}
#owBody .v3-da-promo.is-done{color:color-mix(in srgb,#16a34a 75%,var(--text));font-weight:600}
#owBody .v3-da-promo.is-warn{color:color-mix(in srgb,#d97706 85%,var(--text));font-weight:600}
/* mise en page (DA v2) : positions discrètes */
#owBody .v3-da-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
#owBody .v3-da-lrow{display:flex;flex-direction:column;gap:8px;min-width:0}
#owBody .v3-da-lrow .v3-da-fh small{color:var(--muted);font-weight:600}
#owBody .v3-da-lrow>.v3-da-seg,#owBody .v3-da-lmeta .v3-da-seg{align-self:flex-start;width:auto}
#owBody .v3-da-lgrid{display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(3,40px);gap:4px;padding:4px;width:max-content;border-radius:12px;background:color-mix(in srgb,var(--text) 5%,transparent)}
#owBody .v3-da-lgrid button{appearance:none;border:0;border-radius:8px;background:var(--panel,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--text) 14%,transparent);cursor:pointer}
#owBody .v3-da-lgrid button[aria-pressed="true"]{background:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}
#owBody .v3-da-lmeta{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
/* pictogrammes Affichy (V4.3) : en-têtes de section, état vide, zone de dépôt — pictogramme seul, centré */
#owBody .v3-da-x>.v3-ic,#owBody .v3-da-ic>.v3-ic,#owBody .v3-da-dropi>.v3-ic,#owBody .v3-da-empty>span>.v3-ic{margin:0;vertical-align:middle}
/* V4.4 : retrait d'une couleur — zone tactile agrandie en mobile (apparence inchangée) */
@media (max-width:760px){#owBody .v3-da-x::before{content:"";position:absolute;inset:-10px}#owBody .v3-da-more>summary{min-height:44px;display:flex;align-items:center}}
/* ===== V4.5 : Studio — affectation d'une direction artistique aux entreprises / magasins ===== */
#owBody .v3-da-aslink{appearance:none;margin-left:8px;padding:2px 4px;border:0;background:none;color:var(--accent);font:700 .8rem inherit;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
#owBody .v3-da-assign>header>.v3-da-m{align-self:center;white-space:nowrap}
#owBody .v3-da-asnew{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px}
#owBody .v3-da-aslist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
#owBody .v3-da-asrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 12px;border-radius:14px;border:1px solid var(--border);background:color-mix(in srgb,var(--text) 2%,transparent);min-width:0}
#owBody .v3-da-asrow.is-mine{border-color:color-mix(in srgb,#16a34a 40%,var(--border));background:color-mix(in srgb,#16a34a 5%,transparent)}
#owBody .v3-da-asname{display:flex;align-items:center;gap:10px;flex:1 1 200px;min-width:0}
#owBody .v3-da-asnt{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0}
#owBody .v3-da-asname b{font-size:.9rem;overflow-wrap:anywhere}
#owBody .v3-da-asic{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:10px;background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);flex:none}
#owBody .v3-da-asst{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;flex:1 1 220px;min-width:0}
#owBody .v3-da-asst .v3-da-badge{overflow-wrap:anywhere}
#owBody .v3-da-asnone,#owBody .v3-da-asmode{font-size:.8rem;color:var(--muted)}
#owBody .v3-da-asact{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex:0 1 auto;min-width:0}
#owBody .v3-da-asact .v3-da-rbtn{display:inline-flex;align-items:center;gap:6px}
#owBody .v3-da-asconf{max-width:none;flex:1 1 100%}
#owBody .v3-da-aspanel{display:flex;flex-direction:column;gap:12px;margin:0 0 14px;padding:16px;border-radius:16px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--accent) 5%,var(--panel,#fff))}
#owBody .v3-da-asph{font-size:.92rem}
#owBody .v3-da-ascl{display:flex;flex-direction:column;gap:6px;max-width:520px}
#owBody .v3-da-ascl select{min-height:44px;width:100%;max-width:100%}
#owBody .v3-da-asmodes{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
#owBody .v3-da-asmodes .v3-da-help{margin:0}
#owBody .v3-da-aseffect{margin:0;font-size:.84rem;line-height:1.45}
#owBody .v3-da-aseffect.is-warn{padding:10px 13px;border-radius:12px;background:color-mix(in srgb,#f59e0b 16%,transparent)}
#owBody .v3-da-asbtns{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:640px){
  #owBody .v3-da-assign>header>.v3-da-m{white-space:normal}
  #owBody .v3-da-asact{flex:1 1 100%;justify-content:flex-start}
  #owBody .v3-da-asact .v3-da-rbtn,#owBody .v3-da-asnew,#owBody .v3-da-asbtns>button{flex:1 1 0;justify-content:center;min-height:44px}
  #owBody .v3-da-asnew{width:100%}
  #owBody .v3-da-aslink{min-height:44px;padding:0 8px}
}
/* ===== fin V4.5 ===== */
/* ===== V4.5.1 : Studio — suppression d'une direction artistique ===== */
#owBody .v3-da-delete{border-color:color-mix(in srgb,#dc2626 22%,var(--border))}
#owBody .v3-da-delete>header .v3-da-ic{color:#dc2626}
#owBody .v3-da-delbtn{display:inline-flex;align-items:center;gap:6px;color:#b91c1c;border-color:color-mix(in srgb,#dc2626 45%,var(--border))}
#owBody .v3-da-delbtn:hover{border-color:#dc2626;background:color-mix(in srgb,#dc2626 6%,transparent)}
#owBody .v3-da-delete>.v3-da-rbtn{display:inline-flex;align-items:center;gap:6px}
#owBody .v3-da-delconf{max-width:640px;justify-content:flex-start;background:color-mix(in srgb,#dc2626 5%,var(--panel,#fff));border-color:color-mix(in srgb,#dc2626 30%,var(--border))}
#owBody .v3-da-delwarn{font-weight:700;color:#b45309}
@media (max-width:640px){
  #owBody .v3-da-delete>.v3-da-rbtn,#owBody .v3-da-delconf>button{flex:1 1 0;width:100%;justify-content:center;min-height:44px}
}
/* ===== fin V4.5.1 ===== */
/* ===== V4.6 : Studio — polices de l'enseigne ===== */
#owBody .v3-da-cflist{list-style:none;margin:0 0 10px;padding:0;display:flex;flex-direction:column;gap:8px}
#owBody .v3-da-cfrow{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 12px;border-radius:14px;border:1px solid var(--border);background:color-mix(in srgb,var(--text) 2%,transparent);min-width:0}
#owBody .v3-da-cfaa{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,transparent);font-size:1.3rem;flex:none}
#owBody .v3-da-cfmeta{display:flex;flex-direction:column;gap:2px;flex:1 1 160px;min-width:0}
#owBody .v3-da-cfmeta b{font-size:.88rem;overflow-wrap:anywhere}
#owBody .v3-da-cfmeta small{font-size:.76rem;color:var(--muted)}
#owBody .v3-da-cfrow .v3-da-rbtn{display:inline-flex;align-items:center;gap:6px;align-self:center}
#owBody .v3-da-cfconf{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1 1 100%}
#owBody .v3-da-cfconf small{flex:1 1 100%;font-size:.78rem;color:var(--muted)}
#owBody .v3-da-cfadd{display:inline-flex;align-items:center;gap:6px;margin-bottom:4px}
@media (max-width:640px){
  #owBody .v3-da-cfrow .v3-da-rbtn,#owBody .v3-da-cfconf button,#owBody .v3-da-cfadd{flex:1 1 0;justify-content:center;min-height:44px}
}
/* ===== fin V4.6 (Studio) ===== */
/* ===== fin du Studio de direction artistique ===== */

/* ===== V4 : navigation (barre latérale + barre du haut) — règles locales, aucune consolidation globale ===== */
/* barre latérale : navigation principale ; aplat sombre (couleurs actuelles), sans dégradé ni effet décoratif */
body:not(.is-landing) #side{width:232px;padding:14px 12px;gap:2px;background:#0b1026;background-image:none;color:#cbd2ee}
body:not(.is-landing) #side .sgroup{gap:2px}
body:not(.is-landing) #side .sgroup+.sgroup{margin-top:14px}
body:not(.is-landing) #side .sgroup.bottom{margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}
body:not(.is-landing) #side .sh{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#7c86b3;padding:4px 10px 6px}
body:not(.is-landing) #side button[data-view],body:not(.is-landing) #side button[data-act]{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#b9c0e2;font-size:14px;font-weight:500;line-height:1.2;text-align:left;box-shadow:none;transform:none;transition:background .12s,color .12s}
body:not(.is-landing) #side button[data-view]:hover,body:not(.is-landing) #side button[data-act]:hover{background:rgba(255,255,255,.07);color:#fff;transform:none}
body:not(.is-landing) #side button .v3-ic{flex:none;opacity:.85}
body:not(.is-landing) #side .sl{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* entrée active : fond d'accent faible, barre d'accent de 3 px, pictogramme d'accent, texte plus fort */
body:not(.is-landing) #side button.active{background:color-mix(in srgb,var(--accent) 20%,transparent);background-image:none;color:#fff;font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}
body:not(.is-landing) #side button.active .v3-ic{opacity:1;color:color-mix(in srgb,var(--accent) 55%,#fff)}
/* action principale : un seul bouton d'accent, sans dégradé */
body:not(.is-landing) #side #sbNew{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:38px;margin:0 0 4px;padding:0 12px;border:0;border-radius:6px;background:var(--accent);background-image:none;color:#fff;font-size:14px;font-weight:600;box-shadow:none;transform:none}
body:not(.is-landing) #side #sbNew .sl{flex:none}
body:not(.is-landing) #side #sbNew:hover{background:color-mix(in srgb,var(--accent) 86%,#000);box-shadow:none;transform:none}
body:not(.is-landing) #side #sbNew.on{box-shadow:inset 0 0 0 2px rgba(255,255,255,.35)}
body:not(.is-landing) #side button:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 60%,#fff);outline-offset:1px}
/* compteurs : vrais badges numériques sobres */
body:not(.is-landing) #side .sb-badge{flex:none;min-width:20px;height:18px;padding:0 6px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;font:600 11px/18px Poppins,system-ui,sans-serif;font-variant-numeric:tabular-nums;text-align:center}
body:not(.is-landing) #side button.active .sb-badge{background:var(--accent)}
/* barre du haut : fonctions transversales (contexte, aide, profil) */
#topbar #tbUser{display:flex;align-items:center;gap:6px}
#topbar #tbUser.hidden{display:none}
#topbar .tbic{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:0;border-radius:6px;background:transparent;color:#cbd2ee;cursor:pointer}
#topbar .tbic:hover,#topbar .tbme-btn:hover{background:rgba(255,255,255,.1);color:#fff}
#topbar .tbme{position:relative}
#topbar .tbme-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 6px 0 4px;border:0;border-radius:6px;background:transparent;color:#cbd2ee;cursor:pointer}
#topbar .tbme-btn .avatar{width:28px;height:28px;font-size:.8rem}
#topbar .tbmenu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:220px;padding:6px;border:1px solid var(--border);border-radius:10px;background:var(--panel,#fff);color:var(--text);box-shadow:0 14px 34px -12px rgba(15,23,60,.35)}
#topbar .tbmenu.hidden{display:none}
#topbar .tbmenu-h{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px 10px;margin-bottom:4px;border-bottom:1px solid var(--border)}
#topbar .tbmenu-h #uName{display:block;color:var(--text);font-size:14px;font-weight:600}
#topbar .tbmenu-h .rolebadge{display:inline-block;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--accent) 14%,transparent);background-image:none;color:var(--accent);box-shadow:none;font-size:11px;font-weight:600}
#topbar .tbmenu [role=menuitem]{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;margin:0;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--text);font:500 14px Poppins,system-ui,sans-serif;text-align:left;cursor:pointer}
#topbar .tbmenu [role=menuitem]:hover,#topbar .tbmenu [role=menuitem]:focus-visible{background:color-mix(in srgb,var(--accent) 10%,transparent);outline:none}
#topbar .tbmenu [role=menuitem] .v3-ic{flex:none;color:var(--muted)}
/* contexte propriétaire (espace client / démonstration) */
#topbar .tbctx{display:flex;align-items:center;gap:6px;margin-right:6px}
#topbar .tbctx.hidden{display:none}
#topbar .tbctx-l{display:inline-flex;align-items:center;gap:6px;max-width:220px;color:#fff;font-size:13px;font-weight:600}
#topbar .tbctx-l span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#topbar .tbctx-b{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px solid rgba(255,255,255,.22);border-radius:6px;background:transparent;color:#e5e8f6;font:500 13px Poppins,system-ui,sans-serif;cursor:pointer;white-space:nowrap}
#topbar .tbctx-b:hover{background:rgba(255,255,255,.1);color:#fff}
/* mobile : la barre latérale reste une seule bande horizontale défilante (comportement existant) */
@media (max-width:760px){
  body:not(.is-landing) #side{width:auto;padding:8px 10px;gap:6px}
  body:not(.is-landing) #side .sgroup+.sgroup{margin-top:0}
  body:not(.is-landing) #side .sgroup.bottom{margin-top:0;padding-top:0;border-top:0;padding-left:6px;border-left:1px solid rgba(255,255,255,.12)}
  body:not(.is-landing) #side button[data-view],body:not(.is-landing) #side button[data-act]{flex:none;white-space:nowrap;padding:0 12px}
  body:not(.is-landing) #side #sbNew{width:auto;margin:0;flex:none;white-space:nowrap}
  body:not(.is-landing) #side .sl{flex:none;overflow:visible;text-overflow:clip}
  #topbar .tbctx-l{display:none}
  #topbar .tbctx-b{padding:0 8px}
  #topbar .tbctx-t{display:none}
}
/* ===== fin V4 navigation ===== */

/* ===== V4.3 : pictogrammes d'interface (remplacent les emojis) — portée application uniquement, jamais les affiches ===== */
/* espacement pictogramme / texte dans les boutons, résumés et titres (les pictogrammes seuls restent centrés) */
/* spécificité volontairement faible (:where) : toute règle locale (pictogramme seul, Studio…) l'emporte */
body:not(.is-landing) :where(#main,.modal,.drawer) .v3-ic{flex:none}
body:not(.is-landing) :where(#main,.modal,.drawer) :where(button,summary,b,em,span,h3,label,a,small)>.v3-ic:first-child{margin-right:.4em;vertical-align:-.22em;align-self:center}
/* pictogramme seul (fermer, supprimer, statut) : centré, sans espacement */
body:not(.is-landing) :is(#main,.modal,.drawer) :is(.dclose,.mx,.v3a-x,.qx,.v3-del,.delimg,[data-a="del"],.ic-only,.v3a-ic,.v3a-ci)>.v3-ic{margin:0;vertical-align:middle}
body:not(.is-landing) :is(#main,.modal,.drawer) :is(.dclose,.mx,.v3a-x,.qx,.v3-del)>.v3-ic{display:block;margin:auto}
body:not(.is-landing) :is(#main,.modal,.drawer) .v3-sum>.v3-ic{margin-right:.35em;vertical-align:-.22em;opacity:.8}
/* statut : pastille + libellé, lisible sans la couleur ; couleur sémantique en complément */
body:not(.is-landing) :is(#main,.modal) .v4-st{display:inline-flex;align-items:center;gap:6px;padding:0 8px;border-radius:999px;background:color-mix(in srgb,currentColor 12%,transparent);font:600 12px/20px Poppins,system-ui,sans-serif;font-style:normal;white-space:nowrap}
body:not(.is-landing) :is(#main,.modal) .v4-st::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
body:not(.is-landing) :is(#main,.modal) .v4-st.ok{color:#15803d}
body:not(.is-landing) :is(#main,.modal) .v4-st.off{color:#b91c1c}
body:not(.is-landing) :is(#main,.modal) .v4-st.open{color:#b45309}
body:not(.is-landing) :is(#main,.modal) .v4-st.prog{color:#1d4ed8}
/* ===== fin V4.3 ===== */

/* ===== V4.4 : éditeur responsive — corrections ciblées (aucun changement de style) ===== */
/* file d'attente (éditeur) : grille de formats réellement responsive — 1 colonne en mobile, 2 quand la largeur le permet ; jamais de débordement */
#app .qfm{grid-template-columns:repeat(auto-fill,minmax(min(100%,190px),1fr))}
#app .qfr{min-width:0}
#app .qfr label.chk{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}
#app .qfr .qn{flex:none}
@media (max-width:760px){
  /* export : le format occupe toute la largeur, les trois actions partagent la ligne suivante */
  #app .exp-panel .exp select{flex:1 1 100%;min-height:44px;padding-left:10px;padding-right:10px}
  #app .exp-panel .exp button{flex:1 1 0;min-height:44px}
  /* cibles tactiles mesurées trop petites (≥ 44 px) */
  #app .fin summary{display:flex;align-items:center;min-height:44px}
  #app .qx{width:44px;height:44px}
  #app #qClear{min-height:44px}
  #app #chooserBody .mini{min-height:44px}
  .mbox .mx{width:44px;height:44px}
  #topbar .tbctx-b{height:40px;min-width:40px;justify-content:center}
}
/* ===== fin V4.4 ===== */

/* ===== V4.6 : charte graphique dans la création manuelle (étape « Style et bandeau ») ===== */
#app .v3-charte{margin:0 0 14px;padding:12px 14px;border-radius:14px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--panel,#fff))}
#app .v3-charte[hidden]{display:none}
#app .v3-charte-on{display:flex;align-items:flex-start;gap:10px;margin:0;cursor:pointer;min-height:44px}
#app .v3-charte-on input{margin:3px 0 0;width:20px;height:20px;flex:none}
#app .v3-charte-t{display:flex;flex-direction:column;gap:2px;min-width:0}
#app .v3-charte-t b{font-size:.92rem;overflow-wrap:anywhere}
#app .v3-charte-t small{font-size:.78rem;color:var(--muted);font-weight:500;overflow-wrap:anywhere}
#app .v3-charte-rules{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-direction:column;gap:6px}
#app .v3-charte-rules li{display:flex;align-items:flex-start;gap:8px;font-size:.8rem;line-height:1.4;min-width:0}
#app .v3-charte-rules li .v3-ic{flex:none;margin-top:2px;color:color-mix(in srgb,#16a34a 70%,var(--text))}
#app .v3-charte-rules li.is-lock .v3-ic{color:var(--accent)}
#app .v3-charte-rules li span{overflow-wrap:anywhere}
#app .v3-charte-warn{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;padding:8px 10px;border-radius:10px;font-size:.8rem;background:color-mix(in srgb,#f59e0b 16%,transparent)}
#app .v3-charte-warn .v3-ic{flex:none;margin-top:2px}
#app .v3-lockn{display:flex;align-items:center;gap:6px;margin:4px 0 10px;font-size:.76rem;font-weight:600;color:var(--muted)}
#app .v3-lockn .v3-ic{flex:none;color:var(--accent)}
#app .v3-locked:disabled{opacity:.45;cursor:not-allowed}
#app select.v3-locked:disabled{opacity:.8}
/* ===== fin V4.6 (charte) ===== */

/* ===== V4.6 : aperçu interactif — calque AU-DESSUS de l'affiche (jamais dans le rendu, sans effet sur l'export) ===== */
body:not(.is-landing) .v3-pvhl{position:fixed;z-index:40;pointer-events:none;border-radius:8px;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 70%,transparent),0 0 0 6px color-mix(in srgb,var(--accent) 18%,transparent);transition:left .12s,top .12s,width .12s,height .12s,box-shadow .12s}
body:not(.is-landing) .v3-pvhl.is-strong{box-shadow:0 0 0 3px var(--accent),0 0 0 8px color-mix(in srgb,var(--accent) 25%,transparent)}
body:not(.is-landing) .v3-pvhl[hidden]{display:none}
#app .stage.v3-pvclick{cursor:pointer}
#app .v3-pvfield{outline:3px solid color-mix(in srgb,var(--accent) 75%,transparent);outline-offset:3px;border-radius:8px;animation:v3pvf 1.8s ease-out}
@keyframes v3pvf{0%{outline-color:var(--accent)}100%{outline-color:transparent}}
@media (prefers-reduced-motion:reduce){body:not(.is-landing) .v3-pvhl{transition:none}#app .v3-pvfield{animation:none}}
/* ===== fin V4.6 (aperçu interactif) ===== */

/* ===== V4.6 : zone export + file d'attente d'impression (mêmes contrôles, mise en forme refaite) ===== */
#app .exp-panel .v4-exp{display:flex;flex-direction:column;gap:10px;width:min(100%,520px)}
#app .v4-sel{position:relative;display:flex;align-items:center;width:100%}
#app .exp-panel .v4-sel select{-webkit-appearance:none;appearance:none;flex:1 1 auto;width:100%;min-height:44px;margin:0;padding:10px 44px 10px 16px;font-weight:600;cursor:pointer}
#app .v4-sel-ch{position:absolute;right:14px;top:50%;transform:translateY(-50%);display:inline-flex;pointer-events:none;color:var(--muted)}
#app .v4-sel-ch .v3-ic{margin:0}
#app .v4-expb{display:flex;gap:8px;width:100%}
#app .exp-panel .v4-expb button{flex:1 1 0;min-height:44px;margin:0;padding:8px 10px;font-size:.84rem;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
#app .exp-panel .v4-expb button .v3-ic{margin:0}
#app .exp-panel #qBox{width:min(100%,520px);padding:0;overflow:hidden}
#app #qBox>summary{display:flex;align-items:center;gap:8px;min-height:48px;padding:12px 16px;list-style:none;cursor:pointer}
#app #qBox>summary::-webkit-details-marker{display:none}
#app #qBox>summary .v3-ic{margin:0;flex:none}
#app #qBox[open]>summary{border-bottom:1px solid var(--border)}
#app .v4-qcount{margin-left:auto;padding:2px 10px;border-radius:99px;font-size:.74rem;font-weight:700;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);white-space:nowrap}
#app .v4-qcount:empty{display:none}
#app #qBox>.empty-hint{margin:12px 16px 0;text-align:left}
#app .qfm{display:flex;flex-direction:column;gap:14px;margin:12px 16px}
#app .qgrp{min-width:0}
#app .qgh{margin:0 0 6px;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
#app .qgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:6px}
#app .qfm .qfr{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 5px 5px 10px;border-radius:12px;border:1px solid var(--border);background:var(--panel);min-width:0}
#app .qfm .qfr.on{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 6%,var(--panel))}
#app .qfm .qfr label.chk{display:flex;align-items:center;gap:8px;margin:0;font-size:.82rem;font-weight:600;flex:1 1 auto;min-width:0;overflow-wrap:anywhere;cursor:pointer}
#app .qfm .qfr label.chk input{flex:none;margin:0}
#app .qfm .qfr label.chk small{display:block;font-size:.72rem;font-weight:500;color:var(--muted)}
#app .qgrp-web .qgrid{grid-template-columns:1fr}
#app .qfm .qfr .qty{flex:none}
#app .qfm .qfr .qty button{width:32px;height:32px}
#app .qfm .qfr .qty button:disabled{opacity:.35;cursor:default}
#app .qfm .qfr .qty input.qn{width:38px;height:32px;min-height:0;padding:0;border:0;background:none;box-shadow:none;text-align:center;flex:none}
#app .v4-qfoot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px 16px;border-top:1px solid var(--border)}
#app .v4-qfoot #qAdd{margin:0;min-height:44px;width:auto}
#app .v4-qfoot .empty-hint{margin:0;text-align:left}
#app .exp-panel #saveBtn{width:min(100%,340px)}
@media (max-width:760px){
  #app .exp-panel .v4-exp,#app .exp-panel #qBox{width:100%}
  #app .exp-panel .v4-sel select{padding-left:10px;padding-right:28px;font-weight:500}
  #app .v4-sel-ch{right:8px}
  #app .qfm .qfr .qty button{width:44px;height:44px}
  #app .qfm .qfr .qty input.qn{height:44px}
  #app .v4-qfoot #qAdd{flex:1 1 100%}
  #app .exp-panel #saveBtn{width:100%}
}
/* ===== fin V4.6 (export) ===== */

/* ===== V4.7 : Ma bibliothèque (créations personnelles) ===== */
#app .v3-mlbtn{display:inline-flex;align-items:center;gap:6px;margin:0 0 0 auto;min-height:36px;padding:6px 12px;border-radius:99px;border:1.5px solid color-mix(in srgb,var(--accent) 35%,var(--border));background:var(--panel);color:var(--text);font:600 .78rem inherit;cursor:pointer;white-space:nowrap}
#app .v3-mlbtn[hidden]{display:none}
#app .v3-mlbtn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
#app .v3-mlbtn.is-in{background:color-mix(in srgb,var(--accent) 12%,var(--panel));border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--accent)}
#app .v3-mlbtn.is-in .v3-ic path{fill:currentColor}
#app .v3-mlbtn:disabled{opacity:.6;cursor:progress}
#app .v3-mlbtn .v3-ic{margin:0;flex:none}
#app .v3-ml-intro{margin:-4px 0 16px;max-width:680px}
#app .v3-ml .pt small{overflow-wrap:anywhere}
#app .v3-ml-ch{display:flex;align-items:center;gap:6px;color:var(--accent)}
#app .v3-ml-ch .v3-ic{flex:none;margin:0}
#app .v3-ml .prow{flex-wrap:wrap}
#app .v3-ml .prow .mini{display:inline-flex;align-items:center;gap:6px}
#app .v3-ml .prow .mini .v3-ic{margin:0}
#app .v3-ml-conf{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%}
#app .v3-ml-conf p{flex:1 1 100%;margin:0;font-size:.8rem;line-height:1.45}
#app .v3-ml-note{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 16px;padding:12px 14px;border-radius:14px;background:color-mix(in srgb,#16a34a 10%,var(--panel));border:1px solid color-mix(in srgb,#16a34a 30%,var(--border));font-size:.86rem}
#app .v3-ml-note span{flex:1 1 240px;min-width:0}
#app .v3-ml-note>.v3-ic{flex:none;margin:0;color:#15803d}
#app .v3-ml-err{color:#b91c1c;font-weight:600}
#app .v3-ml-empty .v3-ml-eic{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);margin-bottom:6px}
#app .v3-ml-empty .primary{display:inline-flex;align-items:center;gap:6px}
#app .v3-charte-old{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;padding:8px 10px;border-radius:10px;font-size:.8rem;background:color-mix(in srgb,#6366f1 10%,transparent)}
#app .v3-charte-old .v3-ic{flex:none;margin-top:2px}
@media (max-width:760px){
  #app .stagebar{flex-wrap:wrap;row-gap:6px}
  #app .v3-mlbtn{min-height:40px;margin-left:0}
  #app .v3-ml .prow .mini{flex:1 1 0;justify-content:center;min-height:44px}
  #app .v3-ml-conf .mini{flex:1 1 0;min-height:44px}
  #app .v3-ml-note .mini{flex:1 1 100%;min-height:44px}
}
/* ===== fin V4.7 ===== */

/* ===== V4.7.1 : « Ajouter à ma bibliothèque » en bas de l'éditeur, à côté de « Terminer l'affiche » ===== */
#app .exp-panel .v4-finrow{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;width:min(100%,520px);min-width:0}
#app .exp-panel .v4-finrow #saveBtn{flex:1 1 200px;width:auto;margin:0}
#app .exp-panel .v4-finrow #saveBtn.hidden{display:none}
#app .exp-panel .v4-finrow .v3-mlbtn{flex:1 1 200px;justify-content:center;min-height:48px;margin:0;padding:10px 16px;border-radius:14px;font-size:.88rem;white-space:normal;text-align:center}
@media (max-width:760px){
  #app .exp-panel .v4-finrow{width:100%}
  #app .exp-panel .v4-finrow>*{flex:1 1 100%}
}
/* ===== fin V4.7.1 ===== */

/* ===== V4.7.2 : badge « Accès anticipé », connexion (liens sous le bouton), utilisateurs groupés par entreprise ===== */
/* badge à côté du logo : élément frère du lien #brand (réécrit côté serveur et par applySite), poussé contre le logo */
#topbar .v4-ea{flex:none;display:inline-flex;align-items:center;gap:6px;margin:0 auto 0 12px;padding:3px 10px 3px 8px;border:1px solid rgba(251,146,60,.5);border-radius:999px;background:rgba(249,115,22,.16);color:#fdba74;font:600 11px/16px Poppins,system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;user-select:none}
#topbar .v4-ea::before{content:"";width:6px;height:6px;border-radius:50%;background:#fb923c;box-shadow:0 0 0 3px rgba(251,146,60,.22)}
@media (max-width:560px){
  #topbar .v4-ea{margin-left:8px;padding:2px 8px 2px 7px;font-size:9.5px;letter-spacing:.03em;gap:5px}
  #topbar .v4-ea::before{width:5px;height:5px;box-shadow:0 0 0 2px rgba(251,146,60,.22)}
}
/* très petits écrans (≤ 380 px) : libellé sur deux lignes, sans pastille, pour éviter tout défilement horizontal de l'en-tête */
@media (max-width:380px){
  #topbar .v4-ea{margin-left:6px;padding:3px 7px;border-radius:7px;font-size:8.5px;line-height:10px;letter-spacing:.04em;white-space:normal;width:min-content;text-align:center}
  #topbar .v4-ea::before{display:none}
}
/* connexion : le halo du bouton « Se connecter » ne recouvre plus les liens, rangés dans de petits encadrés discrets */
.mbox .lg-links{margin-top:24px;gap:8px}
.mbox .lg-links .linkbtn{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:7px 12px;border:1px solid var(--border);border-radius:10px;background:color-mix(in srgb,var(--text) 4%,var(--panel));box-shadow:none;color:var(--muted);font:500 .76rem/1.3 Poppins,sans-serif;text-decoration:none;text-align:center;transition:background .2s,color .2s,border-color .2s}
.mbox .lg-links .linkbtn:hover{background:color-mix(in srgb,var(--text) 8%,var(--panel));border-color:color-mix(in srgb,var(--text) 22%,transparent);color:var(--text)}
@media (max-width:760px){.mbox .lg-links .linkbtn{min-height:44px}}
/* console propriétaire — utilisateurs : un encadré par entreprise (nom + nombre de comptes) */
#owBody .v4-ugrp{padding:0;margin:0 0 16px;overflow:hidden}
#owBody .v4-ugrp-h{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;padding:16px 22px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--accent) 4%,var(--panel))}
#owBody .v4-ugrp-h h3{display:flex;align-items:center;gap:10px;min-width:0;margin:0;font:700 1rem/1.3 Poppins,sans-serif;letter-spacing:-.01em;color:var(--text)}
#owBody .v4-ugrp-h h3 .v3-ic{flex:none;color:var(--accent)}
#owBody .v4-ugrp-h h3 span{overflow-wrap:anywhere}
#owBody .v4-ugrp-n{flex:none;padding:3px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,var(--panel));color:var(--accent);font:600 .74rem/1.4 Poppins,sans-serif;font-variant-numeric:tabular-nums}
#owBody .v4-ugrp.none .v4-ugrp-h{background:color-mix(in srgb,var(--text) 4%,var(--panel))}
#owBody .v4-ugrp.none .v4-ugrp-h h3 .v3-ic,#owBody .v4-ugrp.none .v4-ugrp-n{color:var(--muted)}
#owBody .v4-ugrp.none .v4-ugrp-n{background:color-mix(in srgb,var(--text) 7%,var(--panel))}
#owBody .v4-ugrp-t{overflow-x:auto;padding:4px 10px 6px}
#owBody .v4-ugrp-t .tbl tr:last-child td{border-bottom:0}
@media (max-width:760px){#owBody .v4-ugrp-h{padding:14px 16px}}
/* version de l'application en bas de la barre latérale (bureau) ; masquée en mobile, où la barre devient une rangée défilante */
body:not(.is-landing) #side .v4-ver{margin:8px 0 0;padding:0 10px;color:#7c86b3;font:500 11px/16px Poppins,system-ui,sans-serif;letter-spacing:.02em;font-variant-numeric:tabular-nums;user-select:text}
@media (max-width:760px){body:not(.is-landing) #side .v4-ver{display:none}}
/* ===== fin V4.7.2 ===== */
