
/* Prime Wholesale V22.2 isolated customer camera scanner */
.pw-scan-overlay{
  position:fixed;
  inset:0;
  z-index:30000;
  background:rgba(15,23,42,.66);
  padding:18px;
  overflow:auto;
}
.pw-scan-modal{
  max-width:820px;
  margin:36px auto;
  background:#fff;
  border-radius:24px;
  box-shadow:0 30px 90px rgba(0,0,0,.32);
  border:1px solid #d8dee7;
  padding:20px;
}
.pw-scan-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  border-bottom:1px solid #e5eaf1;
  padding-bottom:14px;
  margin-bottom:14px;
}
.pw-scan-head h1{margin:0;font-size:1.55rem}
.pw-scan-close{
  border:0;
  border-radius:50%;
  width:40px;
  height:40px;
  font-size:22px;
  cursor:pointer;
  background:#edf1f5;
}
.pw-scan-reader{
  min-height:280px;
  border:2px dashed #cfd7e3;
  border-radius:18px;
  background:#f8fafc;
  display:grid;
  place-items:center;
  overflow:hidden;
  margin:14px 0;
}
.pw-scan-reader video{
  border-radius:16px;
}
.pw-scan-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 110px;
  gap:10px;
  align-items:end;
  margin-top:12px;
}
.pw-scan-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}
.pw-scan-status{
  margin-top:12px;
  padding:12px;
  border-radius:14px;
  background:#f2f4f7;
  color:#344054;
  line-height:1.35;
}
.pw-scan-status.ok{
  background:#dcfae6;
  color:#067647;
}
.pw-scan-status.err{
  background:#fee4e2;
  color:#b42318;
}
.pw-scan-note{
  font-size:.9rem;
  color:#667085;
  margin-top:10px;
}
@media(max-width:720px){
  .pw-scan-overlay{padding:8px}
  .pw-scan-modal{margin:10px auto;padding:14px;border-radius:18px}
  .pw-scan-reader{min-height:230px}
  .pw-scan-grid{grid-template-columns:1fr}
  .pw-scan-actions .btn{width:100%}
}

/* V24.4 scanner repair + multi-add */
.pw-scan-topline{
  display:grid;
  grid-template-columns:54px auto 1fr;
  gap:12px;
  align-items:center;
  background:#f8fafc;
  border:1px solid #d0d5dd;
  border-radius:16px;
  padding:10px 12px;
  margin-bottom:12px;
}
.pw-scan-light{
  width:42px;
  height:42px;
  border-radius:50%;
  background:#98a2b3;
  border:3px solid #e5e7eb;
  box-shadow:0 0 0 rgba(0,0,0,0);
}
.pw-scan-light.green{
  background:#12b76a;
  box-shadow:0 0 0 8px rgba(18,183,106,.16),0 0 24px rgba(18,183,106,.85);
}
.pw-scan-light.red{
  background:#f04438;
  box-shadow:0 0 0 8px rgba(240,68,56,.16),0 0 24px rgba(240,68,56,.85);
}
.pw-scan-history{
  display:flex;
  flex-direction:column;
  gap:6px;
  margin-top:10px;
  max-height:170px;
  overflow:auto;
}
.pw-scan-history-row{
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:8px 10px;
  font-size:.9rem;
  background:#fff;
}
.pw-scan-history-row.ok{
  border-color:#abefc6;
  background:#ecfdf3;
  color:#067647;
}
.pw-scan-history-row.err{
  border-color:#fecdca;
  background:#fef3f2;
  color:#b42318;
}
@media(max-width:720px){
  .pw-scan-topline{grid-template-columns:46px 1fr}
  .pw-scan-topline .sub{grid-column:1/-1}
}

/* V25.4 scanner beep/haptics polish */
.pw-scan-actions .btn{
  min-height:40px;
}
.pw-scan-status.ok::before{
  content:'🔊 ';
}
.pw-scan-status.err::before{
  content:'⚠️ ';
}

/* V25.8 professional scanner engine */
.pw-scan-modal.professional{max-width:980px}
.pw-scan-reader.pro{position:relative;min-height:380px;background:#020617;color:#fff;overflow:hidden}
.pw-native-video{width:100%;height:420px;object-fit:cover;border-radius:16px;background:#000}
.pw-html5-reader{width:100%;min-height:380px}
.pw-scan-target{position:absolute;left:6%;right:6%;top:35%;height:24%;border:3px solid rgba(18,183,106,.95);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.24),0 0 26px rgba(18,183,106,.45);pointer-events:none}
.pw-scan-target span{position:absolute;left:0;right:0;top:50%;height:2px;background:rgba(18,183,106,.95);box-shadow:0 0 14px rgba(18,183,106,.9)}
.pw-scan-tips{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(15,23,42,.78);color:#fff;border-radius:12px;padding:8px 12px;font-weight:800;text-align:center}
@media(max-width:720px){
  .pw-native-video{height:340px}
  .pw-scan-reader.pro{min-height:320px}
}

/* V25.9 scanner modal visual polish */
.pw-scan-modal.professional{box-shadow:0 24px 70px rgba(15,23,42,.32);border:1px solid #d0d5dd}
.pw-scan-head{border-bottom:1px solid #e5e7eb;padding-bottom:12px}
.pw-scan-reader.pro{box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}

/* V25.9.4 mobile scanner polish */
@media(max-width:760px){
  .pw-scan-overlay{padding:0 !important;align-items:stretch !important}
  .pw-scan-modal.professional{width:100vw !important;height:100dvh !important;max-height:none !important;border-radius:0 !important;overflow:auto !important}
  .pw-native-video{height:48vh !important}
  .pw-scan-reader.pro{min-height:48vh !important}
  .pw-scan-actions{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important}
  .pw-scan-actions .btn{width:100% !important}
}
