*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
:root{
  --bg:#0a0a0a;--bg2:#111;--bg3:#181818;--bg4:#1f1f1f;
  --border:#252525;--border2:#2e2e2e;
  --text:#e8e8e8;--text2:#aaa;--text3:#666;
  --amber:#f59e0b;--amber-dim:#1a1000;--amber-mid:#5a3800;
  --green:#22c55e;--green-dim:#052e16;
  --red:#ef4444;--red-dim:#1a0000;
  --blue:#3b82f6;--blue-dim:#0a1628;
  --purple:#a855f7;--purple-dim:#140a22;
  --cyan:#06b6d4;--cyan-dim:#031318;
}
html,body{background:var(--bg);color:var(--text);font-family:'Segoe UI',system-ui,sans-serif;min-height:100vh;}

/* ── HEADER STICKY ── */
.po-header{
  position:sticky;top:0;z-index:100;background:var(--bg2);
  border-bottom:1px solid var(--border);padding:10px 14px;
  display:flex;align-items:center;gap:9px;
}
.po-badge{
  flex:1;min-width:0;background:var(--amber-dim);border:1px solid var(--amber-mid);
  border-radius:8px;padding:7px 12px;display:flex;align-items:center;gap:8px;cursor:pointer;
}
.po-badge .lbl{font-size:9px;color:var(--amber);font-weight:800;text-transform:uppercase;letter-spacing:1px;flex-shrink:0;}
.po-badge .val{font-size:17px;font-weight:900;color:#fff;letter-spacing:2px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.po-badge .ico{font-size:12px;color:var(--text3);flex-shrink:0;}
.count-pill{background:var(--bg3);border:1px solid var(--border);border-radius:8px;padding:6px 10px;text-align:center;flex-shrink:0;}
.count-pill .num{font-size:18px;font-weight:900;color:var(--amber);line-height:1;}
.count-pill .sub{font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:.4px;}

.wrap{max-width:480px;margin:0 auto;padding:14px 14px 100px;}

/* ── PANTALLAS ── */
.screen{display:none;} .screen.active{display:block;}

/* ── SELECTOR TIENDA ── */
.tienda-sel{display:flex;gap:8px;margin-bottom:16px;}
.t-btn{flex:1;padding:11px 8px;border:1px solid var(--border);border-radius:10px;background:var(--bg3);color:var(--text2);font-size:13px;font-weight:700;cursor:pointer;transition:border-color .15s,background .15s,color .15s;}
.t-btn.sel{border-color:var(--amber);background:var(--amber-dim);color:var(--amber);}

/* ── SETUP PO ── */
.setup-card{background:var(--bg3);border:1px solid var(--border);border-radius:14px;padding:18px 16px;}
.setup-icon{font-size:44px;margin-bottom:12px;}
.setup-card-row{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.setup-icon-left{font-size:36px;flex-shrink:0;line-height:1;}
.setup-card-info{flex:1;min-width:0;}
.setup-title{font-size:16px;font-weight:800;color:#fff;margin-bottom:2px;}
.setup-sub{font-size:12px;color:var(--text3);line-height:1.4;}

/* ── HISTORIAL ── */
.hist-item{background:var(--bg3);border:1px solid var(--border);border-radius:10px;padding:10px 13px;margin-bottom:8px;display:flex;align-items:center;gap:10px;}
.hist-del{flex-shrink:0;background:none;border:none;color:var(--text3);font-size:15px;cursor:pointer;padding:4px 6px;border-radius:6px;line-height:1;margin-left:2px;}
.hist-del:hover{background:#2a0a0a;color:#ef4444;}
.hist-del-confirm{background:#2a0a0a;color:#ef4444;font-size:11px;font-weight:700;padding:4px 7px;}
.hist-confirm-row{display:flex;align-items:center;gap:8px;width:100%;padding:2px 0;}
.hist-confirm-txt{flex:1;font-size:12px;color:var(--text2);}
.hist-confirm-si{background:#ef4444;color:#fff;border:none;border-radius:7px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;}
.hist-confirm-no{background:var(--bg3);color:var(--text2);border:1px solid var(--border);border-radius:7px;padding:6px 12px;font-size:12px;font-weight:700;cursor:pointer;}
.hist-ico{font-size:20px;flex-shrink:0;}
.hist-body{flex:1;min-width:0;}
.hist-po{font-size:13px;font-weight:800;color:#fff;}
.hist-meta{font-size:11px;color:var(--text3);margin-top:1px;}
.hist-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:20px;flex-shrink:0;}
.hist-badge.sent{background:#052e16;color:var(--green);border:1px solid #0d4a26;}
.hist-badge.pending{background:var(--amber-dim);color:var(--amber);border:1px solid var(--amber-mid);}
.po-field input{
  width:100%;padding:16px;text-align:center;font-size:26px;font-weight:900;
  letter-spacing:4px;color:var(--amber);background:var(--amber-dim);
  border:2px solid var(--amber-mid);border-radius:10px;outline:none;
  text-transform:uppercase;margin-bottom:14px;
}
.po-field input:focus{border-color:var(--amber);}
.po-field input::placeholder{color:var(--amber-mid);font-size:14px;letter-spacing:0;font-weight:400;}

/* ── SECCIÓN HEADER ── */
.sec-hdr{font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:1.5px;margin:16px 0 10px;display:flex;align-items:center;gap:8px;}
.sec-hdr::after{content:'';flex:1;height:1px;background:var(--border);}

/* ── BUSCADOR ── */
.search-row{display:flex;gap:8px;margin-bottom:8px;}
.search-box{position:relative;flex:1;}
.search-box input{
  width:100%;padding:13px 40px 13px 40px;background:var(--bg3);
  border:1px solid var(--border2);border-radius:10px;color:#fff;font-size:14px;outline:none;
}
.search-box input:focus{border-color:var(--amber);}
.search-box .s-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text3);font-size:17px;pointer-events:none;}
.search-box .s-clr{position:absolute;right:36px;top:50%;transform:translateY(-50%);color:var(--text3);font-size:15px;cursor:pointer;display:none;}
.search-box .s-clr.show{display:block;}
.s-kbd{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:15px;cursor:pointer;padding:2px 4px;color:var(--text3);line-height:1;}
.s-kbd.text-mode{color:var(--amber);}

.btn-scan{
  flex-shrink:0;width:50px;border:1px solid var(--border2);border-radius:10px;
  background:var(--bg3);color:var(--text2);cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:all .15s;
}
.btn-scan:active,.btn-scan.scanning{border-color:var(--amber);color:var(--amber);background:var(--amber-dim);}

/* ── RESULTADOS ── */
.results-box{background:var(--bg3);border:1px solid var(--border);border-radius:10px;overflow:hidden;display:none;margin-bottom:8px;max-height:340px;overflow-y:auto;}
.results-box.show{display:block;}
.ri{padding:10px 12px;cursor:pointer;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px;}
.ri:last-child{border-bottom:none;}
.ri:active{background:var(--bg4);}
.ri-img{width:48px;height:48px;flex-shrink:0;border-radius:7px;overflow:hidden;background:#0a0a0a;border:1px solid #1a1a1a;display:flex;align-items:center;justify-content:center;}
.ri-img img{width:100%;height:100%;object-fit:contain;display:block;}
.ri-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.ri-name{font-size:13px;color:#fff;font-weight:600;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.ri-meta{font-size:11px;display:flex;gap:8px;flex-wrap:wrap;}
.ri-sku{color:var(--amber);font-family:monospace;}
.ri-sup{color:var(--text3);}
.ri-qr{width:48px;height:48px;flex-shrink:0;background:#fff;border-radius:6px;padding:2px;display:flex;align-items:center;justify-content:center;}
.ri-actions{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;}
.ri-btn-rep{background:var(--amber);color:#000;border:none;border-radius:7px;padding:5px 10px;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap;letter-spacing:.3px;}
.ri-btn-rep:active{background:#d97706;}

/* ── PROD SELECCIONADO ── */
.prod-pill{background:var(--green-dim);border:1px solid var(--green);border-radius:10px;padding:11px 12px;margin-bottom:12px;display:none;gap:10px;align-items:flex-start;}
.prod-pill.show{display:flex;}
.pp-img{width:64px;height:64px;flex-shrink:0;border-radius:8px;overflow:hidden;background:#0a0a0a;border:1px solid #1a1a1a;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.pp-img img{width:100%;height:100%;object-fit:contain;display:block;}
.pp-img:active{opacity:.7;}
.pp-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.pp-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;}
.pp-name{font-size:13px;font-weight:700;color:#fff;flex:1;line-height:1.3;}
.pp-chg{background:none;border:none;color:var(--text3);font-size:11px;cursor:pointer;flex-shrink:0;padding:0;}
.pp-meta{font-size:11px;color:var(--text3);display:flex;gap:10px;flex-wrap:wrap;}
.pp-meta b{color:var(--green);}
.pp-qr{width:64px;height:64px;flex-shrink:0;border-radius:8px;overflow:hidden;background:#fff;padding:3px;display:flex;align-items:center;justify-content:center;}

/* ── LIGHTBOX ── */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:600;display:none;align-items:center;justify-content:center;padding:20px;}
.lightbox.show{display:flex;}
.lightbox img{max-width:100%;max-height:90vh;border-radius:12px;object-fit:contain;}
.lightbox-close{position:absolute;top:16px;right:16px;background:rgba(255,255,255,.1);border:none;color:#fff;font-size:28px;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;}

/* ── GRID DISCREPANCIAS ── */
.disc-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;}
.d-btn{
  padding:11px 8px;border:1px solid var(--border);border-radius:10px;
  background:var(--bg3);color:var(--text2);font-size:11px;font-weight:700;
  cursor:pointer;text-align:center;display:flex;flex-direction:column;align-items:center;gap:5px;
  transition:border-color .15s,background .15s,color .15s;line-height:1.3;
}
.d-btn .di{font-size:24px;}
.d-btn:active{opacity:.75;}
.d-btn[data-d="caducidad"].sel   {border-color:var(--red);   background:var(--red-dim);   color:var(--red);}
.d-btn[data-d="errores_humanos"].sel {border-color:var(--purple); background:var(--purple-dim);color:var(--purple);}
.d-btn[data-d="mas_unidades"].sel{border-color:var(--blue);   background:var(--blue-dim);  color:var(--blue);}
.d-btn[data-d="incompleta"].sel  {border-color:var(--cyan);   background:var(--cyan-dim);  color:var(--cyan);}
.d-btn[data-d="sustitucion"].sel {border-color:#f97316;        background:#1a0800;          color:#f97316;}
.d-btn[data-d="no_incluido"].sel {border-color:#eab308;        background:#1a1400;          color:#eab308;}

/* ── FILAS NO INCLUIDO ── */
.ni-row{display:flex;align-items:flex-start;gap:8px;padding:8px 0;border-bottom:1px solid var(--border);}
.ni-row:last-child{border-bottom:none;}
.ni-row-num{width:22px;height:22px;border-radius:50%;background:var(--amber-dim);border:1px solid var(--amber-mid);color:var(--amber);font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:10px;}
.ni-row-body{flex:1;min-width:0;}

/* ── CARD SUSTITUCIÓN ── */
.sust-card{border-color:#f9731640 !important;}
.sust-card-hdr{font-size:11px;font-weight:800;color:#f97316;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #2a2a2a;}
.sust-row-hdr{font-size:10px;font-weight:800;letter-spacing:.4px;margin-bottom:4px;text-transform:uppercase;}
.sust-divider{height:1px;background:var(--border);margin:8px 0;}
.sust-section-hdr{font-size:11px;font-weight:700;color:#f97316;text-transform:uppercase;letter-spacing:.5px;margin:12px 0 8px;padding:6px 10px;background:#1a0800;border-radius:7px;border:1px solid #f9731640;}

/* ── FORMULARIO DISCREPANCIA ── */
.disc-form{background:var(--bg3);border:1px solid var(--border2);border-radius:10px;padding:14px;margin-bottom:12px;display:none;}
.disc-form.show{display:block;}
.df-title{font-size:11px;font-weight:800;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px;}

.field{margin-bottom:11px;}
.field:last-child{margin-bottom:0;}
.field label{display:block;font-size:10px;font-weight:700;color:var(--text3);text-transform:uppercase;letter-spacing:.6px;margin-bottom:5px;}
.field label .req{color:var(--red);margin-left:2px;}
.field input,.field select{
  width:100%;padding:11px 12px;background:var(--bg2);border:1px solid var(--border2);
  border-radius:8px;color:#fff;font-size:14px;outline:none;-webkit-appearance:none;
}
.field input:focus,.field select:focus{border-color:var(--amber);}
.field input[readonly]{color:var(--green);background:var(--green-dim);border-color:transparent;font-weight:700;letter-spacing:1px;}
.field-row{display:flex;gap:8px;}
.field-row .field{flex:1;}
.radio-row{display:flex;gap:8px;margin-top:5px;}
.ropt{flex:1;cursor:pointer;}
.ropt input[type="radio"]{display:none;}
.ropt-btn{
  display:block;text-align:center;padding:10px;border-radius:8px;font-size:14px;font-weight:700;
  border:1px solid var(--border2);background:var(--bg2);color:var(--text3);
  transition:all .15s;user-select:none;
}
.ropt input[type="radio"]:checked + .ropt-btn{
  border-color:var(--green);background:var(--green-dim);color:var(--green);
}
.ropt.no input[type="radio"]:checked + .ropt-btn{
  border-color:var(--red);background:var(--red-dim);color:var(--red);
}


/* ── FOTOS DISCREPANCIA ── */
.foto-section{margin-top:14px;padding-top:12px;border-top:1px solid var(--border2);}
.foto-section-title{font-size:10px;font-weight:800;color:var(--text3);text-transform:uppercase;letter-spacing:.7px;margin-bottom:10px;}
.foto-btn{
  flex:1;padding:8px 4px;border:1px solid var(--border2);border-radius:7px;
  background:var(--bg2);color:var(--text3);font-size:11px;font-weight:700;
  cursor:pointer;text-align:center;
}
.foto-btn:active{background:var(--bg3);}

/* ── BOTÓN AÑADIR ── */
.btn-add{
  width:100%;padding:14px;border:none;border-radius:10px;
  background:var(--amber);color:#000;font-size:14px;font-weight:800;
  cursor:pointer;margin-bottom:14px;
}
.btn-add:active{background:#d97706;}

/* ── LISTA ITEMS ── */
.item-card{
  background:var(--bg3);border:1px solid var(--border);border-radius:10px;
  padding:12px;margin-bottom:8px;
  animation:fadeIn .2s ease;
}
@keyframes fadeIn{from{opacity:0;transform:translateY(-5px);}to{opacity:1;transform:translateY(0);}}
.ic-top{display:flex;gap:10px;align-items:flex-start;}
.ic-thumb{width:56px;height:56px;flex-shrink:0;border-radius:8px;overflow:hidden;background:#0a0a0a;border:1px solid #1a1a1a;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.ic-thumb img{width:100%;height:100%;object-fit:contain;display:block;}
.ic-thumb:active{opacity:.7;}
.ic-body{flex:1;min-width:0;}
.ic-name{font-size:13px;font-weight:700;color:#fff;margin-bottom:3px;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.ic-badge{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:700;padding:2px 8px;border-radius:5px;margin-bottom:5px;}
.ic-meta{font-size:11px;color:var(--text3);line-height:1.7;}
.ic-meta b{color:var(--text2);}
.ic-actions{display:flex;align-items:flex-start;flex-direction:column;gap:4px;flex-shrink:0;}
.ic-del{background:none;border:none;color:var(--border2);cursor:pointer;font-size:18px;padding:0;line-height:1;}
.ic-del:active{color:var(--red);}
.ic-qr{width:56px;height:56px;background:#fff;border-radius:6px;padding:2px;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:4px;}

.empty-msg{text-align:center;padding:32px 16px;color:var(--text3);}
.empty-msg .em-ico{font-size:36px;margin-bottom:10px;}
.empty-msg .em-txt{font-size:13px;line-height:1.6;}

/* ── EAN RESULTS ── */
#eanResults{display:flex;flex-direction:column;gap:8px;margin-top:4px;}
.ean-card{
  background:var(--bg3);border:1px solid var(--border);border-radius:10px;
  padding:12px;display:flex;align-items:center;gap:10px;
  animation:fadeIn .2s ease;
}
.ean-card .ri-img{width:56px;height:56px;flex-shrink:0;border-radius:8px;overflow:hidden;background:#0a0a0a;border:1px solid #1a1a1a;display:flex;align-items:center;justify-content:center;}
.ean-card .ri-img img{width:100%;height:100%;object-fit:contain;display:block;}
.ean-card .ec-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;}
.ean-card .ec-name{font-size:13px;font-weight:700;color:#fff;line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;}
.ean-card .ec-meta{font-size:11px;color:var(--text3);}
.ean-card .ec-meta b{color:var(--amber);font-family:monospace;}
.ean-card{flex-direction:column;gap:0;}
.ean-card-top{display:flex;align-items:center;gap:10px;padding:10px;width:100%;box-sizing:border-box;}
.ean-card .ec-right{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;}
.ean-card .ec-qr{width:52px;height:52px;background:#fff;border-radius:6px;padding:2px;display:flex;align-items:center;justify-content:center;}
.ean-card .ec-qr canvas{width:48px!important;height:48px!important;}
.btn-imprimir{
  padding:6px 10px;border:none;border-radius:7px;
  background:#1e3a5f;color:#60a5fa;border:1px solid #2d5a8e;font-size:11px;font-weight:800;
  cursor:pointer;white-space:nowrap;width:100%;text-align:center;
}
.btn-imprimir:active{background:#2d5a8e;}
.ec-report-row{display:flex;gap:6px;padding:0 10px 10px;width:100%;box-sizing:border-box;}
.btn-reportar,.btn-rep-img{
  flex:1;padding:8px 4px;border:none;border-radius:7px;
  font-size:12px;font-weight:800;cursor:pointer;text-align:center;
}
.btn-reportar{background:var(--amber);color:#000;}
.btn-reportar:active{background:#d97706;}
.btn-rep-img{background:#14532d;color:#86efac;}
.btn-rep-img:active{background:#166534;}
.ean-empty{text-align:center;padding:20px;color:var(--text3);font-size:13px;}
.btn-rep-img{
  padding:6px 10px;border:none;border-radius:7px;
  background:#14532d;color:#86efac;font-size:11px;font-weight:800;
  cursor:pointer;white-space:nowrap;width:100%;text-align:center;
}
.btn-rep-img:active{background:#166534;}

/* ── MODAL REPORTAR IMAGEN ── */
#imgModal,#eanModal{position:fixed;inset:0;z-index:9999;display:flex;align-items:flex-end;}
.im-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);}
.im-sheet{position:relative;width:100%;max-height:90vh;overflow-y:auto;
  background:var(--bg2,#1a1a1a);border-radius:16px 16px 0 0;padding:0 0 24px;}
.im-header{display:flex;justify-content:space-between;align-items:center;
  padding:14px 16px;font-weight:700;font-size:15px;border-bottom:1px solid var(--border,#333);}
.im-close{cursor:pointer;font-size:18px;color:var(--text3,#888);}
.im-body{padding:14px 16px;display:flex;flex-direction:column;gap:12px;}
.im-product{display:flex;flex-direction:column;gap:2px;}
.im-product b{font-size:14px;}
.im-sku{font-size:11px;color:var(--text3,#888);}
.im-field{display:flex;flex-direction:column;gap:6px;}
.im-field label{font-size:12px;font-weight:700;color:var(--text2,#aaa);}
.im-photo-area{display:flex;flex-direction:column;gap:8px;}
.im-cam-btn{padding:10px;border:2px dashed var(--border,#444);border-radius:10px;
  background:transparent;color:var(--amber,#f59e0b);font-size:13px;font-weight:700;cursor:pointer;}
.im-thumb-row{display:flex;gap:8px;flex-wrap:wrap;}
.im-thumb{width:72px;height:72px;object-fit:cover;border-radius:8px;border:2px solid var(--border,#333);}
.im-textarea{background:var(--bg3,#111);color:var(--text,#eee);border:1px solid var(--border,#333);
  border-radius:8px;padding:8px;font-size:13px;resize:none;width:100%;box-sizing:border-box;}
.im-submit{padding:13px;border:none;border-radius:10px;
  background:var(--amber,#f59e0b);color:#000;font-size:14px;font-weight:800;cursor:pointer;}
.im-submit:disabled{opacity:.5;cursor:not-allowed;}

/* ── FOOTER ── */
.footer{position:fixed;bottom:0;left:0;right:0;background:var(--bg2);border-top:1px solid var(--border);padding:12px 14px;z-index:100;}
.footer>*{max-width:480px;margin:0 auto;}
.btn-jira{
  width:100%;padding:15px;border:none;border-radius:10px;
  background:var(--amber);color:#000;font-size:15px;font-weight:900;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.btn-jira:active{background:#d97706;}
.btn-jira:disabled{background:var(--bg4);color:var(--text3);cursor:not-allowed;}
.btn-prim{width:100%;padding:14px;border:none;border-radius:10px;background:var(--amber);color:#000;font-size:14px;font-weight:800;cursor:pointer;}
.btn-prim:active{background:#d97706;}
.btn-sec{width:100%;padding:11px;border:1px solid var(--border);border-radius:8px;background:var(--bg3);color:var(--text2);font-size:13px;font-weight:600;cursor:pointer;margin-top:8px;}

/* ── MODAL ESCÁNER ── */
.scan-modal{position:fixed;inset:0;z-index:400;background:#000;display:none;flex-direction:column;}
.scan-modal.show{display:flex;}
.scan-hdr{padding:13px 16px;display:flex;align-items:center;justify-content:space-between;background:#000;border-bottom:1px solid #1a1a1a;flex-shrink:0;}
.scan-hdr-title{font-size:14px;font-weight:700;color:#fff;}
.btn-scan-close{background:none;border:none;color:#666;font-size:28px;cursor:pointer;line-height:1;padding:0 4px;}
.scan-body{flex:1;position:relative;overflow:hidden;}
#scanVideo{width:100%;height:100%;object-fit:cover;display:block;}
.scan-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;}
.scan-frame{
  width:75%;max-width:300px;aspect-ratio:2.2/1;
  border:2px solid var(--amber);border-radius:10px;position:relative;
  box-shadow:0 0 0 9999px rgba(0,0,0,.6);
}
.scan-corner{position:absolute;width:18px;height:18px;border-color:var(--amber);border-style:solid;}
.sc-tl{top:-2px;left:-2px; border-width:3px 0 0 3px;border-radius:4px 0 0 0;}
.sc-tr{top:-2px;right:-2px;border-width:3px 3px 0 0;border-radius:0 4px 0 0;}
.sc-bl{bottom:-2px;left:-2px; border-width:0 0 3px 3px;border-radius:0 0 0 4px;}
.sc-br{bottom:-2px;right:-2px;border-width:0 3px 3px 0;border-radius:0 0 4px 0;}
.scan-line{position:absolute;left:4px;right:4px;height:2px;background:var(--amber);box-shadow:0 0 8px var(--amber);border-radius:2px;animation:scanAnim 2s ease-in-out infinite;}
@keyframes scanAnim{0%,100%{top:8px}50%{top:calc(100% - 10px)}}
.scan-hint{margin-top:18px;font-size:12px;color:rgba(255,255,255,.45);text-align:center;max-width:220px;line-height:1.5;}
.scan-status{
  margin-top:10px;font-size:13px;font-weight:700;min-height:20px;text-align:center;
  padding:6px 16px;border-radius:8px;background:rgba(0,0,0,.6);color:#fff;max-width:90vw;
}
.scan-status:empty{background:transparent;padding:0;}
.scan-footer{padding:12px 14px 20px;background:#000;border-top:1px solid #1a1a1a;flex-shrink:0;}
.scan-footer-lbl{font-size:10px;color:var(--text3);text-align:center;margin-bottom:8px;text-transform:uppercase;letter-spacing:.6px;}
.scan-manual{display:flex;gap:8px;}
.scan-manual input{flex:1;padding:11px 12px;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:8px;color:#fff;font-size:14px;outline:none;font-family:monospace;letter-spacing:1px;}
.scan-manual input:focus{border-color:var(--amber);}
.scan-manual button{padding:11px 16px;border:none;border-radius:8px;background:var(--amber);color:#000;font-size:13px;font-weight:800;cursor:pointer;}

/* ── MODAL RESUMEN ── */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:200;display:none;align-items:flex-end;}
.overlay.show{display:flex;}
.sum-modal{background:var(--bg2);border-top:1px solid var(--border);border-radius:16px 16px 0 0;padding:20px 14px 32px;width:100%;max-height:85vh;overflow-y:auto;}
.sum-title{font-size:16px;font-weight:800;color:#fff;margin-bottom:3px;}
.sum-sub{font-size:12px;color:var(--text3);margin-bottom:16px;}
.jira-group{background:var(--bg3);border:1px solid var(--border);border-radius:10px;margin-bottom:10px;overflow:hidden;}
.jg-hdr{padding:10px 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);}
.jg-name{font-size:12px;font-weight:700;color:var(--text2);}
.jg-cnt{font-size:11px;color:var(--text3);}
.jg-body{padding:10px 14px;display:flex;flex-direction:column;gap:6px;}
.jg-row{font-size:12px;color:var(--text3);line-height:1.5;}
.jg-row b{color:var(--text2);}
.btn-open{
  display:block;width:calc(100% - 28px);margin:0 14px 12px;
  padding:10px;border:1px solid var(--blue);border-radius:8px;
  background:var(--blue-dim);color:var(--blue);font-size:12px;font-weight:700;
  cursor:pointer;text-align:center;
}
.btn-open:active{opacity:.7;}

/* ── TOAST ── */
.toast{position:fixed;bottom:88px;left:50%;transform:translateX(-50%) translateY(8px);background:var(--bg3);border:1px solid var(--border);color:#fff;padding:10px 18px;border-radius:10px;font-size:13px;opacity:0;transition:all .2s;pointer-events:none;z-index:500;white-space:nowrap;max-width:90vw;text-align:center;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
.toast.ok{border-color:#14532d;background:#071a0a;}
.toast.err{border-color:#7f1d1d;background:#1a0505;}
