/* Scanner : plein écran sur téléphone, boîte centrée sur PC ; au-dessus de tout sauf les messages */
.scan{position:fixed;inset:0;z-index:95;background:var(--panel,#fff);color:var(--ink);display:flex;flex-direction:column;overflow:auto;padding-bottom:env(safe-area-inset-bottom,0px)}
.scan-h{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;padding-top:max(10px,env(safe-area-inset-top,0px));border-bottom:1px solid var(--line)}
.scan-video{position:relative;background:#111;height:42vh;min-height:220px;flex:0 0 auto;overflow:hidden}
.scan-video video{display:block;width:100%;height:100%;object-fit:cover}
.scan-cadre{position:absolute;left:7%;right:7%;top:19%;bottom:19%;border:2px solid #fff;border-radius:8px;box-shadow:0 0 0 100vmax #0007;pointer-events:none}
.scan-etat{position:absolute;inset:0;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;color:#fff;font-size:14px;line-height:1.4}
.scan-etat[hidden]{display:none}
.scan-saisie{display:flex;gap:8px;padding:10px 12px;border-bottom:1px solid var(--line)}
.scan-saisie .inp{flex:1;min-width:0}
.scan-info{padding:12px;font-size:14px;line-height:1.4}
.scan-ok{color:var(--ok);font-weight:600}
.scan-bad{color:var(--bad);font-weight:600}
.scan-actions{margin-top:10px;gap:8px;flex-wrap:wrap;align-items:flex-end}
.scan-trouve,.scan-nom{display:flex;gap:10px;align-items:center;margin-top:8px}
.scan-trouve img,.scan-nom img{width:64px;height:64px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:6px;flex:none}
.scan-res{margin-top:6px;max-height:220px;overflow:auto}
.scan-li{display:flex;justify-content:space-between;gap:10px;width:100%;padding:9px 6px;background:none;border:0;border-bottom:1px solid var(--line);color:inherit;text-align:left;cursor:pointer;font:inherit}
.scan-qte{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--muted)}
.scan-qte input{width:100px;font-size:16px;text-align:right}
@media (min-width:760px){.scan{inset:auto;top:50%;left:50%;transform:translate(-50%,-50%);width:520px;max-height:92vh;border-radius:10px;box-shadow:0 12px 50px rgba(0,0,0,.45)}}

/* Bouton Scanner de la caisse et de l'achat */
.scan-ligne{display:flex;gap:8px}
.scan-ligne>input,.scan-ligne>div{flex:1;min-width:0}
.pos-scan{flex:none}
@media (max-width:640px){.pos-scan span,.scan-seul span{display:none}}
.champ-codes{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}
.champ-code{display:flex;gap:6px}
.champ-code input{flex:1;min-width:0}

/* Étiquettes */
.etq-liste{max-height:52vh;overflow:auto}
.etq-n{width:70px;text-align:right}
.etq-feuille{display:grid;grid-template-columns:repeat(3,1fr);gap:3mm}
.etq{border:.2mm dashed #888;padding:2mm 3mm;break-inside:avoid;display:flex;flex-direction:column;gap:1mm;font-size:8pt;line-height:1.2;min-width:0}
.etq>b{height:2.4em;overflow:hidden}
.etq-barres{display:block;width:100%;height:13mm}
.etq-bas{display:flex;justify-content:space-between;gap:2mm;font-size:7.5pt}

/* Caisse : le bouton Scanner reste à droite de la recherche, sur la même ligne */
.pos-outils{flex-wrap:wrap}
.pos-outils .pos-q{flex:1 1 0!important;min-width:0!important;width:auto!important}
@media (max-width:900px){.pos-outils .pos-libres{flex:1 0 100%}}
