/* Caisse Benelyon : écran « Pièces sans boutique » (30/10/2026, flag caisse_pieces_sans_boutique).
   Toutes les règles sous #cmRoot.psb (l'écran prend la place du contrôle de caisse le temps
   de trancher) ou sous .psb-ov (fenêtre « Autre boutique ou jour »). Maquette validée le 30/10. */
#e2Body.psb-on #e2Runs,#e2Body.psb-on .caq-cptw{display:none!important}
#cmRoot.psb{color:var(--txt,#1d2b33);padding:4px 0 40px;margin-right:36px;font-weight:400}
#cmRoot.psb *{box-sizing:border-box}
#cmRoot.psb .psb-top{display:flex;align-items:flex-end;gap:14px;margin:6px 0 18px}
#cmRoot.psb .psb-top h2{margin:0;font-size:22px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
#cmRoot.psb .psb-top .sub{font-size:13px;color:var(--mut);margin-top:4px}
#cmRoot.psb .psb-top .maj{font-size:12px;color:var(--mut);white-space:nowrap;align-self:center}
#cmRoot.psb .sp{flex:1}
#cmRoot.psb svg.i{width:16px;height:16px;flex:none}

/* Boutons : une hauteur, un survol lisible (règles propres, pas le survol commun du Desk) */
#cmRoot.psb .psb-btn,.psb-ov .psb-btn{font:inherit;font-size:13px;font-weight:700;height:38px;padding:0 16px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;white-space:nowrap;border:1px solid var(--line);background:var(--card);color:var(--ink);transition:background .12s,border-color .12s}
#cmRoot.psb .psb-btn:hover,.psb-ov .psb-btn:hover{background:#eef3f6;border-color:#c9d5dc;color:var(--ink)}
#cmRoot.psb .psb-btn.p,.psb-ov .psb-btn.p{background:var(--navy);border-color:var(--navy);color:#fff}
#cmRoot.psb .psb-btn.p:hover,.psb-ov .psb-btn.p:hover{background:#21495c;border-color:#21495c;color:#fff}
#cmRoot.psb .psb-btn.t{border-color:transparent;background:transparent;color:#4f6069;padding:0 8px}
#cmRoot.psb .psb-btn.t:hover{background:transparent;border-color:transparent;color:var(--ink);text-decoration:underline}
#cmRoot.psb .psb-btn[disabled],.psb-ov .psb-btn[disabled]{opacity:.45;cursor:not-allowed}
#cmRoot.psb .psb-btn.w{width:196px;flex:none}
#cmRoot.psb .psb-pair{display:inline-grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;flex:none}
#cmRoot.psb .psb-pair .psb-btn{width:100%;min-width:196px}
#cmRoot.psb a.psb-lk{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}

/* Geste qui vient d'être fait, annulable */
#cmRoot.psb .psb-done{display:flex;align-items:center;gap:10px;margin:0 0 14px;padding:0 8px 0 14px;height:48px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-size:13px;color:var(--ink)}
#cmRoot.psb .psb-done .ic{width:22px;height:22px;border-radius:7px;background:#e9f5ee;color:#1f7a4d;display:grid;place-items:center;flex:none}
#cmRoot.psb .psb-done .ic svg{width:14px;height:14px}
#cmRoot.psb .psb-err{margin:0 0 14px;padding:12px 14px;border-radius:12px;border:1px solid #e3b7bc;background:#fbefef;color:#8a1f2b;font-size:13px}

/* Grille liste + détail */
#cmRoot.psb .psb-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:18px;align-items:start}
#cmRoot.psb .psb-list{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}
#cmRoot.psb .psb-lh{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--line);font-size:13px;font-weight:700;color:var(--ink)}
#cmRoot.psb .psb-nb{min-width:26px;height:26px;padding:0 6px;border-radius:7px;background:#eef3f6;color:var(--ink);font-size:12.5px;font-weight:800;display:inline-grid;place-items:center;flex:none}
#cmRoot.psb .psb-li{display:flex;align-items:center;gap:11px;padding:11px 14px;height:70px;cursor:pointer;border-left:3px solid transparent}
#cmRoot.psb .psb-li:hover{background:#f6f8fa}
#cmRoot.psb .psb-li.on{background:#f1f5f8;border-left-color:var(--navy)}
#cmRoot.psb .psb-th{width:44px;height:44px;border-radius:9px;background:#e9eef1 center/cover no-repeat;flex:none;display:grid;place-items:center;color:var(--mut)}
#cmRoot.psb .psb-li .psb-tx{flex:1;min-width:0}
#cmRoot.psb .psb-li .t{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap}
#cmRoot.psb .psb-li .x{font-size:12px;color:var(--mut);margin-top:2px;white-space:nowrap}
#cmRoot.psb .psb-age{font-size:12px;font-weight:700;color:var(--mut);white-space:nowrap}
#cmRoot.psb .psb-age.r{color:#c92d3a}
#cmRoot.psb .psb-lf{padding:12px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--mut);line-height:1.5}

/* Carte de décision */
#cmRoot.psb .psb-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px 24px;min-height:200px}
#cmRoot.psb .psb-q{font-size:18px;font-weight:800;color:var(--ink);letter-spacing:-.005em}
#cmRoot.psb .psb-src{font-size:13px;color:var(--mut);margin-top:6px}
#cmRoot.psb .psb-wait{font-size:13px;color:var(--mut)}
#cmRoot.psb .psb-body{display:grid;grid-template-columns:400px minmax(0,1fr);gap:24px;margin-top:18px}
#cmRoot.psb .psb-img{height:404px;border-radius:12px;background:#f2f5f7 center/contain no-repeat;border:1px solid var(--line);cursor:zoom-in}
#cmRoot.psb .psb-fic{height:404px;border-radius:12px;background:#f2f5f7;border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--mut);font-size:13px}
#cmRoot.psb .psb-fic svg{width:42px;height:42px}
#cmRoot.psb .psb-cap{font-size:11.5px;color:var(--mut);margin-top:6px}
#cmRoot.psb h4{margin:0 0 8px;font-size:11.5px;font-weight:800;color:var(--mut);letter-spacing:.04em;text-transform:uppercase}
#cmRoot.psb .psb-kv{display:grid;grid-template-columns:92px minmax(0,1fr);row-gap:8px;font-size:13.5px;margin-bottom:22px}
#cmRoot.psb .psb-kv .k{color:var(--mut)}
#cmRoot.psb .psb-kv .v{color:var(--ink);font-weight:600}
#cmRoot.psb .psb-kv .v small{font-weight:400;color:var(--mut);font-size:12.5px}
#cmRoot.psb .psb-jr{font-size:13.5px;line-height:1.55;color:var(--txt)}
#cmRoot.psb .psb-ok{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#1f7a4d;background:#e9f5ee;border-radius:7px;padding:3px 8px;margin-bottom:8px}
#cmRoot.psb .psb-ok svg{width:13px;height:13px}
#cmRoot.psb .psb-dec{margin-top:20px;background:#f5f8fa;border:1px solid var(--line);border-radius:12px;padding:16px 18px}
#cmRoot.psb .psb-prop{font-size:14.5px;font-weight:800;color:var(--ink)}
#cmRoot.psb .psb-prop small{display:block;font-size:12.5px;font-weight:400;color:var(--mut);margin-top:3px}
#cmRoot.psb .psb-chk{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--txt);margin:14px 0 0;cursor:pointer;width:max-content;max-width:100%}
#cmRoot.psb .psb-chk input,.psb-ov .psb-chk input{position:absolute;opacity:0;width:1px;height:1px}
#cmRoot.psb .psb-chk .bx,.psb-ov .psb-chk .bx{width:18px;height:18px;border-radius:5px;border:1.5px solid #8796a0;display:grid;place-items:center;flex:none;background:var(--card)}
#cmRoot.psb .psb-chk .bx svg,.psb-ov .psb-chk .bx svg{width:12px;height:12px;color:#fff;visibility:hidden}
#cmRoot.psb .psb-chk input:checked+.bx,.psb-ov .psb-chk input:checked+.bx{background:var(--navy);border-color:var(--navy)}
#cmRoot.psb .psb-chk input:checked+.bx svg,.psb-ov .psb-chk input:checked+.bx svg{visibility:visible}
#cmRoot.psb .psb-chk input:focus-visible+.bx,.psb-ov .psb-chk input:focus-visible+.bx{outline:2px solid var(--navy);outline-offset:2px}
#cmRoot.psb .psb-acts{display:flex;align-items:center;gap:10px;margin-top:16px}
#cmRoot.psb .psb-foot{font-size:11.5px;color:var(--mut);margin-top:10px}

/* État vide, adresses, mises de côté */
#cmRoot.psb .psb-empty{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:26px 28px;display:flex;align-items:center;gap:18px}
#cmRoot.psb .psb-empty .ic{width:46px;height:46px;border-radius:12px;background:#e9f5ee;color:#1f7a4d;display:grid;place-items:center;flex:none}
#cmRoot.psb .psb-empty .ic svg{width:22px;height:22px}
#cmRoot.psb .psb-empty .t{font-size:16px;font-weight:800;color:var(--ink)}
#cmRoot.psb .psb-empty .x{font-size:13px;color:var(--mut);margin-top:4px}
#cmRoot.psb .psb-sec{margin-top:22px}
#cmRoot.psb .psb-sh{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:800;color:var(--ink);margin:0 0 10px;min-height:38px}
#cmRoot.psb .psb-box{background:var(--card);border:1px solid var(--line);border-radius:14px}
#cmRoot.psb .psb-ad{display:flex;align-items:center;gap:14px;padding:16px 18px}
#cmRoot.psb .psb-ad+.psb-ad{border-top:1px solid var(--line)}
#cmRoot.psb .psb-av{width:40px;height:40px;border-radius:50%;background:#e4ebef;color:var(--ink);font-weight:800;display:grid;place-items:center;flex:none;text-transform:uppercase}
#cmRoot.psb .psb-ad .psb-tx{flex:1;min-width:0}
#cmRoot.psb .psb-ad .t{font-size:13.5px;font-weight:700;color:var(--ink)}
#cmRoot.psb .psb-ad .x{font-size:12.5px;color:var(--mut);margin-top:2px}
#cmRoot.psb .psb-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
#cmRoot.psb .psb-tile{padding:16px 18px;border-right:1px solid var(--line)}
#cmRoot.psb .psb-tile:last-child{border-right:0}
#cmRoot.psb .psb-tile .n{font-size:24px;font-weight:800;color:var(--ink);line-height:1}
#cmRoot.psb .psb-tile .l{font-size:12.5px;color:var(--mut);margin-top:6px}
#cmRoot.psb .psb-more{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-top:1px solid var(--line);font-size:12.5px;color:var(--mut);min-height:62px}
#cmRoot.psb .psb-cols,#cmRoot.psb .psb-r{display:grid;grid-template-columns:44px minmax(0,1fr) 196px 236px 164px;gap:14px;align-items:center;padding:0 18px}
#cmRoot.psb .psb-cols{height:38px;border-bottom:1px solid var(--line);font-size:11.5px;font-weight:800;color:var(--mut);letter-spacing:.03em;text-transform:uppercase}
#cmRoot.psb .psb-r{height:58px;border-bottom:1px solid var(--line)}
#cmRoot.psb .psb-g:last-child .psb-r:last-child,#cmRoot.psb .psb-g:last-child .psb-more{border-bottom:0}
#cmRoot.psb .psb-r .psb-rth{width:40px;height:40px;border-radius:8px;background:#e9eef1 center/cover no-repeat;display:grid;place-items:center;color:var(--mut);cursor:zoom-in}
#cmRoot.psb .psb-r .psb-nm{font-size:12.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden}
#cmRoot.psb .psb-r .psb-nm small,#cmRoot.psb .psb-r .psb-tk small{display:block;font-weight:400;color:var(--mut);font-size:11.5px;margin-top:1px}
#cmRoot.psb .psb-r .psb-tk{font-size:12.5px;color:var(--txt);white-space:nowrap}
#cmRoot.psb .psb-r .psb-tk a{color:var(--txt);text-decoration:underline;text-underline-offset:2px;cursor:pointer}
#cmRoot.psb .psb-r .psb-pq{font-size:12.5px;color:var(--txt);white-space:nowrap;overflow:hidden}
#cmRoot.psb .psb-r .psb-btn{height:32px;font-size:12px;width:164px;padding:0 10px}
#cmRoot.psb .psb-gh{display:flex;align-items:center;gap:6px;padding:0 18px;height:38px;font-size:12px;font-weight:800;color:var(--ink);background:#f7f9fa;border-bottom:1px solid var(--line)}
#cmRoot.psb .psb-gh span{color:var(--mut);font-weight:600}
#cmRoot.psb .psb-g .psb-more{border-top:0;border-bottom:1px solid var(--line);min-height:48px;padding:8px 18px}

/* Fenêtre « Autre boutique ou jour » (dans la page, jamais une fenêtre du navigateur) */
.psb-ov{position:fixed;inset:0;background:rgba(10,20,30,.45);z-index:10050;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
.psb-ov *{box-sizing:border-box}
.psb-ov .psb-mdl{background:var(--card,#fff);color:var(--ink,#1c2430);border-radius:14px;width:560px;max-width:100%;max-height:100%;overflow:auto;box-shadow:0 18px 50px rgba(0,0,0,.25)}
.psb-ov h3{margin:0;font-size:16px;font-weight:800}
.psb-ov .psb-mh{padding:16px 20px 10px;border-bottom:1px solid var(--line,#d8dee6)}
.psb-ov .psb-mh .k{font-size:12.5px;color:var(--mut,#5b6675);margin-top:4px}
.psb-ov .psb-mb{padding:14px 20px;display:grid;gap:14px}
.psb-ov label.l{display:block;font-size:11.5px;font-weight:800;color:var(--mut,#5b6675);letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}
.psb-ov .psb-shops{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.psb-ov .psb-shop{height:34px;border-radius:9px;border:1px solid var(--line,#c9d1db);background:var(--card,#fff);color:var(--ink,#1c2430);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer;white-space:nowrap;padding:0 6px}
.psb-ov .psb-shop:hover{background:#eef3f6}
.psb-ov .psb-shop.on{background:var(--navy);border-color:var(--navy);color:#fff}
.psb-ov .psb-inp{width:100%;height:38px;padding:0 10px;border:1px solid var(--line,#c9d1db);border-radius:9px;font:inherit;font-size:13px;background:var(--card,#fff);color:var(--ink,#1c2430)}
.psb-ov textarea.psb-inp{height:64px;padding:8px 10px;resize:vertical}
.psb-ov .psb-two{display:grid;grid-template-columns:200px minmax(0,1fr);gap:12px;align-items:end}
.psb-ov .psb-jour{font-size:12.5px;color:var(--mut,#5b6675);padding-bottom:10px}
.psb-ov .psb-chk{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--txt);cursor:pointer}
.psb-ov .psb-merr{font-size:12.5px;color:#a3222f;font-weight:700;min-height:1em}
.psb-ov .psb-mf{display:flex;gap:10px;justify-content:flex-end;padding:12px 20px 16px;border-top:1px solid var(--line,#d8dee6)}
.psb-ov .psb-mf .psb-btn{min-width:150px}

/* Mode sombre */
html.theme-dark #cmRoot.psb .psb-btn:hover,html.theme-dark .psb-ov .psb-btn:hover{background:#22343e;border-color:#3a4f5a;color:#e6eef2}
html.theme-dark #cmRoot.psb .psb-btn.p,html.theme-dark .psb-ov .psb-btn.p{background:#e6eef2;border-color:#e6eef2;color:#102530}
html.theme-dark #cmRoot.psb .psb-btn.p:hover,html.theme-dark .psb-ov .psb-btn.p:hover{background:#ffffff;border-color:#ffffff;color:#102530}
html.theme-dark #cmRoot.psb .psb-btn.t{color:#9fb3bd}
html.theme-dark #cmRoot.psb .psb-btn.t:hover{background:transparent;border-color:transparent;color:#e6eef2;text-decoration:underline}
html.theme-dark #cmRoot.psb .psb-li:hover{background:#1a2930}
html.theme-dark #cmRoot.psb .psb-li.on{background:#1d2c34;border-left-color:#e6eef2}
html.theme-dark #cmRoot.psb .psb-dec,html.theme-dark #cmRoot.psb .psb-gh{background:#17252c}
html.theme-dark #cmRoot.psb .psb-nb,html.theme-dark #cmRoot.psb .psb-av,html.theme-dark #cmRoot.psb .psb-th,html.theme-dark #cmRoot.psb .psb-r .psb-rth,html.theme-dark #cmRoot.psb .psb-img,html.theme-dark #cmRoot.psb .psb-fic{background-color:#22343e}
html.theme-dark #cmRoot.psb .psb-chk input:checked+.bx,html.theme-dark .psb-ov .psb-chk input:checked+.bx{background:#e6eef2;border-color:#e6eef2}
html.theme-dark #cmRoot.psb .psb-chk .bx svg,html.theme-dark .psb-ov .psb-chk .bx svg{color:#102530}
html.theme-dark #cmRoot.psb .psb-ok,html.theme-dark #cmRoot.psb .psb-empty .ic,html.theme-dark #cmRoot.psb .psb-done .ic{background:#163a2a;color:#7fd3a6}
html.theme-dark #cmRoot.psb .psb-err{background:#3a1d22;border-color:#6b2f37;color:#f3c2c8}
html.theme-dark .psb-ov .psb-shop:hover{background:#22343e}
html.theme-dark .psb-ov .psb-shop.on{background:#e6eef2;border-color:#e6eef2;color:#102530}
html.theme-dark .psb-ov .psb-merr{color:#f3a6af}

/* Écran étroit : la liste au-dessus de la pièce */
@media (max-width:1100px){
  #cmRoot.psb .psb-grid,#cmRoot.psb .psb-body{grid-template-columns:minmax(0,1fr)}
  #cmRoot.psb .psb-cols{display:none}
  #cmRoot.psb .psb-r{grid-template-columns:44px minmax(0,1fr) 164px;height:auto;padding:10px 18px}
  #cmRoot.psb .psb-r .psb-tk,#cmRoot.psb .psb-r .psb-pq{display:none}
  #cmRoot.psb .psb-tiles{grid-template-columns:minmax(0,1fr)}
  #cmRoot.psb .psb-tile{border-right:0;border-bottom:1px solid var(--line)}
}
