:root{font-family:Arial,"Helvetica Neue",sans-serif;color:#183c37;background:#f7f4ec;--dark:#164641;--brick:#a64735;--cream:#f7f4ec;--line:#e7dfcf;--muted:#6c786f}*{box-sizing:border-box}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}h1,h2,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(28px,4vw,39px);margin-bottom:9px}h2{font-family:Georgia,serif;font-size:24px;margin-bottom:13px}.muted{color:var(--muted);font-size:14px;line-height:1.55}.topbar{background:var(--dark);padding:17px max(24px,calc((100vw - 1280px)/2));color:#fff;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{display:flex;align-items:center;gap:12px}.brand-icon{border:2px solid #e1bb74;border-radius:50%;width:47px;height:47px;display:grid;place-items:center;font-family:Georgia,serif;font-weight:900;color:#e1bb74}.brand strong{display:block;font-size:16px;letter-spacing:2px}.brand span{display:block;font-size:10px;letter-spacing:3px;color:#d7c4a1;margin-top:5px}.userbar{display:flex;align-items:center;gap:14px;color:#e1e9e4;font-size:13px}.topbar .ghost{color:#fff;border-color:#588178}.main{max-width:1320px;margin:0 auto;padding:36px 24px 55px}.login-card{max-width:440px;margin:52px auto;border-radius:16px;background:white;border:1px solid var(--line);padding:34px;box-shadow:0 10px 40px #264c3510}.eyebrow,.card-caption{color:#a06a35;font-weight:800;font-size:11px;letter-spacing:2px}.login-card h1{margin-top:18px}.login-card form{display:grid;gap:16px;margin-top:24px}label{display:grid;gap:8px;font-size:13px;font-weight:700}input,select,textarea{background:white;border:1px solid #c9d3ce;border-radius:9px;padding:13px 14px;color:#173f37;outline:none;width:100%;min-width:0}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#397c6a;box-shadow:0 0 0 3px #378b6d22}.primary{background:var(--dark);color:white;border:1px solid var(--dark);padding:13px 18px;border-radius:9px;font-weight:750}.primary:hover{background:#24665b}.ghost{color:var(--dark);background:transparent;border:1px solid #c6d2c9;padding:10px 15px;border-radius:8px;font-weight:700}.ghost:hover{background:#e9eee8}.full{width:100%}.error,.scan-status{border-radius:8px;padding:12px;font-size:13px}.error{background:#fcebe9;color:#9b382c;margin-top:15px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}.page-title h1{margin-top:10px}.online{border-radius:20px;background:#e2f0e7;color:#246746;padding:9px 14px;font-size:13px;font-weight:800;white-space:nowrap}.dot{display:inline-block;background:#1b995f;border-radius:50%;width:8px;height:8px;margin-right:7px}.layout{display:grid;grid-template-columns:minmax(310px, .8fr) minmax(0,1.55fr);align-items:start;gap:22px}.scan-card,.journal-card{background:white;border:1px solid var(--line);box-shadow:0 5px 20px #1e4c2d09;border-radius:15px;padding:25px}.scan-card{text-align:center}.card-caption{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px}.pill{background:#e4ebdf;color:#2e6554;padding:9px 10px;border-radius:5px;font-size:11px;letter-spacing:.8px}.scanner-symbol{font-size:80px;color:#bb9b56;font-weight:200;line-height:1.1;margin:16px 0 10px}.center{text-align:center}.scan-card form{display:grid;gap:12px;margin-top:24px;text-align:left}.scan-card input{font-size:16px}.scan-status{background:#edf1e9;color:#365b4f;margin-top:18px;min-height:43px}.scan-status.ok{background:#e0f5e5;color:#12643e;font-weight:700}.scan-status.bad{background:#fff0df;color:#995029;font-weight:700}.hint,.footer-note{font-size:12px;color:#8a918a;line-height:1.45;margin-top:16px;margin-bottom:0}.journal-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.journal-head .card-caption{margin-bottom:8px}.journal-head h2{margin-bottom:0}.toolbar{display:flex;gap:10px;margin:23px 0 15px}.toolbar input{flex:1}.toolbar select{width:150px}.table-scroll{overflow:auto;max-height:535px}table{width:100%;border-collapse:collapse;min-width:670px;text-align:left;font-size:13px}th{text-transform:uppercase;letter-spacing:.7px;font-size:10px;color:#8a918a;padding:14px 10px;background:#f8f7f4;position:sticky;top:0}td{border-bottom:1px solid #f0eee9;padding:13px 10px;vertical-align:middle}td strong{font-size:13px}td .sub{display:block;font-size:11px;color:#8c9690;margin-top:4px}.tag{display:inline-block;background:#e2f1e5;border-radius:5px;color:#316b4b;padding:5px 7px;font-size:11px}.tag.cancelled{background:#f4e7e2;color:#995242}.smallbtn{border:0;background:none;text-decoration:underline;color:#a64735;padding:5px;margin-top:3px;font-size:12px}.table-footer{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#8b958b;margin-top:14px}dialog{border:1px solid #e7dfcf;border-radius:15px;max-width:420px;width:calc(100% - 25px);padding:27px;color:#183c37;box-shadow:0 20px 75px #193b2b44}dialog::backdrop{background:#182e2b88}dialog h2{margin-top:14px}.serial-preview{background:#f8f6f0;padding:14px;border-radius:7px;margin:14px 0;font-weight:bold;word-break:break-word}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.danger{background:#a64735;color:white;border:none;border-radius:8px;padding:12px 16px;font-weight:bold}.sr-only{position:absolute;height:1px;width:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:970px){.layout{grid-template-columns:1fr}.main{padding:24px 15px}.journal-card,.scan-card{padding:19px}.topbar{padding:16px}.page-title{align-items:flex-start}.scan-card{max-width:unset}}@media(max-width:530px){.toolbar{flex-direction:column}.toolbar select{width:100%}.brand strong{font-size:13px}.brand span{letter-spacing:1px}.online{font-size:11px}.topbar{gap:6px}.userbar{gap:5px}.userbar .ghost{padding:8px}}
/* Version 3: simplified operator screen, admin-only archives */
.metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;margin:0 0 20px}
.metric{background:#fff;border:1px solid var(--line);border-radius:12px;padding:19px 22px;display:flex;flex-direction:column;gap:8px}
.metric span{font-size:12px;color:var(--muted)}.metric strong{font-family:Georgia,serif;color:#164641;font-size:37px}
.big-count{margin:20px 0 0;background:#f4f7ef;border:1px solid #dceadd;border-radius:12px;padding:13px}
.big-count span{display:block;color:#1f6855;font-size:36px;font-weight:800;line-height:1.2}.big-count small{color:#6f7d70;font-size:12px}
.toolbar-admin{display:grid;grid-template-columns:180px 1fr 150px 150px;align-items:end}
.toolbar-admin label{font-size:12px;color:#656e66}
.audit-card{margin-top:20px}.audit-table{max-height:390px}.audit-table table{min-width:750px}
.row-actions{display:flex;gap:10px;flex-wrap:wrap}.row-actions button{padding:3px 0}
.inline-note{display:block;font-size:11px;color:#8c9690;margin-top:5px}.status-bad{color:#a64735;font-weight:bold}
#worker-records .smallbtn{font-size:12px}
@media(max-width:800px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar-admin{grid-template-columns:1fr}}

/* v5.1: one scanner field, server recognises the barcode type */
.mode-help{font-size:13px;color:var(--muted);margin:15px 0 6px}
.kind-tag{font-size:11px;font-weight:750;display:inline-block;padding:5px 8px;border-radius:6px;background:#e7f0eb;color:#1f5a49}
.kind-tag.cargo{background:#fff0d8;color:#8e5421}
#worker-records .row-actions button{font-weight:700}
@media(max-width:800px){.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Small optional one-time volume check, away from the scanning input. */
.sound-test{display:inline;border:none;background:transparent;color:#164641;text-decoration:underline;text-underline-offset:2px;cursor:pointer;font:inherit;font-size:inherit;padding:0 0 0 5px}
.sound-test:hover{color:#a36d29}
