:root{font-family:Tahoma,Arial,sans-serif;color:#263d34;background:#f5f3eb;font-size:15px;--green:#285e4e}*{box-sizing:border-box}body{margin:0}header{max-width:660px;margin:auto;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #e4e5dc}.brand{display:flex;align-items:center;gap:9px}.brand b{background:var(--green);color:white;padding:6px 10px;border-radius:10px;font-size:24px}.brand small{display:block;font-size:10px}main{max-width:620px;margin:0 auto;padding:24px 16px 30px}h1{font-size:27px;font-weight:500;margin:7px 0}h2{font-size:16px;margin:0 0 6px}p{line-height:1.8}small,.muted,.intro{font-size:12px;color:#72796e;line-height:1.9}small{display:block}.intro{margin:0}.eyebrow{color:#b37450;font-size:11px;margin:0}.date{font-size:11px;background:#ece9df;display:inline-block;padding:8px;border-radius:7px;margin:12px 0}section{background:#fffcf9;border:1px solid #e5e5dc;border-radius:15px;padding:17px;margin:14px 0;box-shadow:0 3px 12px #253e2c04}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.total{color:#e4ebd8;background:radial-gradient(circle at 10% 110%,#336b58 0 37%,transparent 38%),var(--green);border:0}.total>strong{display:block;font-size:70px;font-family:monospace;margin:13px 0 8px}.total button{color:inherit;background:#ffffff10;border-color:#ffffff25;font-size:11px}.foot{font-size:11px;border-top:1px solid #ffffff20;padding-top:12px}.safety{display:flex;gap:10px;background:#eaf0e4;font-size:13px}.safety>span{background:#285e4e;color:white;border-radius:50%;width:23px;height:23px;display:grid;place-items:center}.camera{height:210px;position:relative;background:#19372e;border-radius:10px;overflow:hidden;margin:13px 0 10px;color:#e5e8dc}.camera video{width:100%;height:100%;object-fit:cover}.camera #camEmpty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:11px}.camera #camEmpty span{font-size:30px}.guide{position:absolute;inset:25% 10%;border:1px solid #fff8;border-radius:10px}.guide:after{content:'';position:absolute;top:50%;left:0;right:0;border-top:2px solid #db8c53}button{min-height:44px;padding:10px 14px;border:1px solid #dedfd5;border-radius:8px;cursor:pointer;font:inherit;font-size:13px;color:#2b5142;background:white}button:disabled{opacity:.5;cursor:default}.green{background:var(--green);color:white;border-color:var(--green)}.orange{background:#cf8055;color:white;border-color:#cf8055}.secondary{background:#eeeae1}.danger{background:#b64434;color:white}.wide{width:100%;margin:8px 0}.small{font-size:11px;padding:7px 9px}.inputs{display:grid;grid-template-columns:1fr 80px;gap:10px;margin:12px 0 0}label{display:block;font-size:12px;margin-bottom:6px}input{min-width:0;width:100%;height:46px;border:1px solid #dfded5;border-radius:8px;font:inherit;padding:10px;background:white}input:focus{outline:2px solid #8cac8e}#qty{text-align:center}details{margin-top:10px;font-size:12px;line-height:1.9}summary{cursor:pointer;padding:7px 0;min-height:44px}#notice{padding:13px;border-radius:10px;border:1px solid #92af92;background:#e9f1e3;overflow-wrap:anywhere;font-size:13px;line-height:1.8}#notice.error{background:#f9e5df;border-color:#cf8271;color:#922e24}#notice[hidden],[hidden]{display:none!important}.pill{background:#f0eee4;font-size:11px;padding:5px 9px;border-radius:20px}.empty{text-align:center;padding:28px 8px;font-size:12px;color:#8b9287}.record{border-top:1px solid #e5e5dc;padding:12px 0;display:flex;gap:10px;align-items:center}.record .info{flex:1;min-width:0}.barcode{font-family:monospace;overflow-wrap:anywhere;display:block;font-size:15px;direction:ltr;text-align:start}.record .pieces{background:#eaf0e4;padding:8px;border-radius:7px;font-weight:bold}.record button{color:#9f4637;font-size:12px;padding:7px 10px}.export{display:grid;grid-template-columns:1fr 1fr;gap:8px}footer{font-size:11px;text-align:center;color:#868d7f;line-height:1.9}dialog{width:calc(100% - 32px);max-width:450px;border:0;border-radius:15px;background:#fffcf9;color:#263d34;padding:25px;box-shadow:0 10px 40px #0004}dialog::backdrop{background:#19372e99}dialog p{overflow-wrap:anywhere}#pendingCode,#deleteCode{font:20px monospace;background:#efeee6;padding:12px;border-radius:7px}#scannerInput{margin:10px 0}#reportRender{position:fixed;left:-20000px;top:0;width:780px;background:white;color:#263d34;font-family:Tahoma,Arial,sans-serif;padding:36px;font-size:17px}#reportRender table{border-collapse:collapse;width:100%;margin:15px 0}#reportRender td,#reportRender th{border:1px solid #ccd4cc;padding:12px;text-align:start;overflow-wrap:anywhere}#reportRender h1{color:#285e4e;font-size:32px}#reportRender .report-page{min-height:950px;padding-bottom:20px}

.hdr{display:flex;align-items:center;gap:8px}#who{font-size:12px;opacity:.8;direction:ltr}#logout{min-height:34px;padding:5px 10px;font-size:12px}
#authDlg label{display:block;margin:12px 0 5px;font-size:13px}#authDlg input{width:100%;padding:12px;border:1px solid #cfd3c6;border-radius:8px;font:inherit;font-size:16px;background:#fff}
#authDlg button{margin-top:12px}.authErr{color:#922e24;font-size:13px;min-height:18px;margin:8px 0 0}

.modes{display:flex;gap:8px;margin:12px 0}.modes button{flex:1;font-size:14px;font-weight:700}
.modes .green{color:#fff}
#lookupRes{padding:16px;border-radius:12px;text-align:center;overflow-wrap:anywhere}#lookupRes.hint{background:#fff8dd;border:1px solid #e2d28a;font-size:13px;text-align:start}
#lookupRes.found{background:#e9f1e3;border:2px solid #285e4e}#lookupRes.none{background:#f9e5df;border:2px solid #cf8271;color:#922e24}
#lookupRes b{display:block;font-size:18px;margin:4px 0}#lookupRes .big{font-size:56px;font-weight:800;line-height:1.1;color:#285e4e}#lookupRes div.none{font-size:18px;font-weight:700}

#setQ{width:100%;margin:10px 0;padding:11px;border:1px solid #cfd3c6;border-radius:8px;font:inherit;font-size:15px;background:#fff}
.setcard{border:1px solid #dedfd5;border-radius:12px;margin:8px 0;overflow:hidden;background:#fff}.sethead{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;border:0;border-radius:0;background:#fff;padding:12px;min-height:56px;text-align:start}
.setnums{display:flex;gap:12px}.setnums span{display:flex;flex-direction:column;align-items:center;font-size:11px;color:#667}.setnums big{font-size:20px;font-weight:800;color:#285e4e}
#lookupRes .setnums{justify-content:center;margin-top:8px}
.setbody{padding:4px 12px 12px;border-top:1px solid #eee}.setbody h3{font-size:13px;margin:12px 0 4px;color:#285e4e}.setrow{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid #f0f0e8;font-family:monospace;font-size:13px}.setrow button{min-height:30px}
.chk{display:flex;align-items:center;gap:8px;margin:10px 0;font-size:13px}.chk input{width:auto}
.chk input{width:20px!important;height:20px;padding:0;flex:none}.setrow small{margin-inline-start:4px}

.resetbtn{margin:10px 0 0;background:#ffffff18;border:1px solid #ffffff40;color:#fff;font-size:12px;min-height:36px;padding:6px 12px}.resetbtn:disabled{opacity:.4}#resetDlg input{width:100%;padding:12px;border:1px solid #cfd3c6;border-radius:8px;font:inherit;font-size:16px;margin-top:6px}
#resetDlg .export,#setDlg .export{margin-top:16px}

.camera{position:relative}#camFlash{position:absolute;left:8px;right:8px;bottom:8px;padding:10px;border-radius:10px;font-weight:800;font-size:16px;text-align:center;direction:ltr;z-index:3}#camFlash.ok{background:#1f8a4c;color:#fff}#camFlash.dup{background:#c0392b;color:#fff}
#camFlash.bad{background:#b9770e;color:#fff}
