*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#f4f6f8;color:#17202a}.shell{max-width:1200px;margin:auto;padding:18px}header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}h1{margin:0;font-size:28px}h2{margin:0 0 10px}.card{background:#fff;border:1px solid #dde2e7;border-radius:14px;padding:18px;margin-bottom:16px;box-shadow:0 2px 8px #0000000b}.narrow{max-width:460px;margin:70px auto}.hidden{display:none!important}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat{background:#fff;border:1px solid #dde2e7;border-radius:14px;padding:16px}.stat b{display:block;font-size:28px}.stat span{color:#667085}.sectionHead{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.sectionHead p,p{color:#667085}.scanRow,.booking{display:grid;grid-template-columns:1fr 2fr auto;gap:10px;align-items:center}.booking{grid-template-columns:130px 1fr auto auto}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}label{font-weight:600;font-size:14px}label input,label textarea{display:block;width:100%;margin-top:6px}input,textarea,button{font:inherit;border-radius:9px;border:1px solid #cbd2d9;padding:11px}textarea{min-height:90px;resize:vertical}button{background:#17202a;color:#fff;border:0;cursor:pointer;font-weight:700}button.secondary{background:#e9edf1;color:#17202a}button.danger{background:#9f2d2d}.wide{grid-column:1/-1}.actions{display:flex;gap:10px}.reader{max-width:520px;margin:16px auto}.msg{min-height:20px;margin-bottom:0}.badge{padding:6px 10px;border-radius:999px;background:#e9edf1}.low{background:#ffe1e1;color:#8d2020}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid #edf0f2;white-space:nowrap}th{color:#667085;font-size:13px}@media(max-width:760px){.stats{grid-template-columns:repeat(2,1fr)}.scanRow,.booking,.grid{grid-template-columns:1fr}.wide{grid-column:auto}.actions{flex-direction:column}.shell{padding:10px}h1{font-size:23px}.narrow{margin:30px auto}}\n
.tabs{display:flex;gap:8px;margin-bottom:16px}.tabs button{background:#e9edf1;color:#17202a}.tabs button.active{background:#17202a;color:#fff}.orderForm{background:#f7f9fa;padding:14px;border-radius:10px;margin-bottom:14px}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.actions{display:flex;gap:10px;margin-top:12px}.status{font-weight:700}.status-reserved{color:#a66b00}.status-shipped,.status-picked_up{color:#16804a}.status-cancelled{color:#a52f2f}@media(max-width:760px){.grid{grid-template-columns:1fr}.actions{flex-direction:column}}
.ocrPanel{max-width:560px;margin:16px auto}.ocrPanel video{display:block;width:100%;max-height:360px;background:#111;border-radius:12px;object-fit:cover}.hint{font-size:13px;color:#667085}.scanRow{grid-template-columns:auto auto 1fr auto}@media(max-width:760px){.scanRow{grid-template-columns:1fr}.ocrPanel video{max-height:300px}}
.warning{margin-top:12px;padding:10px 12px;border-radius:10px;background:#ffe1e1;color:#8d2020;font-weight:800}

.onlineCard{margin-top:14px;padding:14px;border:1px solid #cbd5e1;border-radius:12px;background:#f8fafc}.onlineGrid{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:start}.onlineGrid img{width:110px;height:110px;object-fit:contain;background:#fff;border-radius:10px;border:1px solid #e2e8f0}.onlineTitle{font-size:20px;font-weight:800;margin-bottom:4px}.onlineMeta{color:#667085;font-size:14px}.onlineSource{margin-top:8px;font-size:12px;color:#667085}@media(max-width:760px){.onlineGrid{grid-template-columns:80px 1fr}.onlineGrid img{width:80px;height:80px}}
.status-paid{font-weight:700}.status-unpaid{font-weight:700}.orderForm label{min-width:0}.orderForm input,.orderForm select,.orderForm textarea{width:100%;box-sizing:border-box}

.productPhoto{display:block;max-width:100%;max-height:420px;margin:14px 0;border-radius:12px;object-fit:contain;background:#f3f3f3}
#imageSearchPanel{margin-top:14px}

.cameraStage{position:relative;width:100%;max-width:720px;aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:#111;margin:12px 0}
#productCameraVideo{width:100%;height:100%;object-fit:cover}
.cameraFrame{position:absolute;inset:18% 12%;border:2px solid rgba(255,255,255,.9);border-radius:14px;box-shadow:0 0 0 999px rgba(0,0,0,.12);pointer-events:none}

.visualResults{display:grid;gap:10px;margin-top:12px}
.visualResult{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #ddd;border-radius:12px;background:#fff;cursor:pointer}
.visualResult:hover{box-shadow:0 2px 12px rgba(0,0,0,.08)}
.visualResult img{width:76px;height:76px;object-fit:contain;border-radius:8px;background:#f4f4f4}
.visualScore{font-size:.78rem;opacity:.65}
.visualMeta{min-width:0}
.visualMeta strong{display:block}
