:root{font-family:system-ui,sans-serif;color:#17211b;background:#f4f7f4}*{box-sizing:border-box}body{margin:0;line-height:1.45}header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#1e5b3a;color:white}header a{color:white;font-weight:700;text-decoration:none}header nav{display:flex;align-items:center;gap:1rem}header form{margin:0}main{max-width:680px;margin:auto;padding:1rem}footer{text-align:center;padding:2rem;color:#647067;font-size:.85rem}h1{font-size:1.7rem;line-height:1.2}h2{line-height:1.25}.card{background:white;padding:1rem;border-radius:.8rem;margin:1rem 0;box-shadow:0 2px 8px #0001}label{display:block;font-weight:600;margin:.8rem 0}input,select,button,.button{font:inherit;min-height:44px;border-radius:.5rem;border:1px solid #9ca89f;padding:.65rem;width:100%}.check{display:flex;align-items:center;gap:.6rem}.check input{width:auto}.primary{background:#1e6b42;color:white;border:0;font-weight:700}.secondary{background:white;color:#1e5b3a;border:1px solid #1e5b3a;font-weight:700}.button{display:block;text-decoration:none;text-align:center;margin:.5rem 0}.actions{display:grid;gap:.5rem;margin:1rem 0}.link{width:auto;background:transparent;color:white;border:0}.scan{min-height:110px;background:#dce4df;color:#536159;font-weight:700}.search div{display:flex;gap:.5rem}.search button{width:auto}.results{list-style:none;padding:0}.results li{background:white;border-radius:.6rem;margin:.5rem 0}.results a{display:flex;justify-content:space-between;gap:1rem;padding:1rem;color:inherit;text-decoration:none}.results span{color:#8a3c32}.flash{padding:.8rem;border-radius:.5rem;background:#dcefe2}.flash.error,.error{color:#8a2319;background:#fbe5e2}small.error{display:block;padding:.3rem}dt{font-weight:700;margin-top:.8rem}dd{margin:.2rem 0}fieldset{border:1px solid #ccd4ce;border-radius:.6rem;margin:1.2rem 0;padding:1rem}.radio label{display:flex;align-items:center;gap:.5rem;font-weight:400}.radio input{width:auto;min-height:auto}.batches{list-style:none;padding:0}.batches li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-top:1px solid #e1e6e2}.total{font-size:1.1rem}@media(max-width:600px){body{font-size:15.5px;line-height:1.5}header{padding:.8rem .9rem}header>a{font-size:1rem}header nav{gap:.7rem}main{padding:.8rem .85rem}h1{font-size:1.5rem;margin:.65rem 0 1rem}h2{font-size:1.15rem;margin:.5rem 0 .7rem}.card{padding:.9rem;margin:.8rem 0}p{margin:.55rem 0}label{margin:.7rem 0;font-weight:600}button,.button{font-weight:650}.batches li{line-height:1.35}.results a{padding:.85rem}}

.barcode-scanner { margin: .65rem 0 1rem; }
.scanner-panel { margin-top: .75rem; padding: .75rem; border: 1px solid #7d9b88; border-radius: .65rem; }
.scanner-panel video { display: block; width: 100%; max-height: 22rem; object-fit: cover; border-radius: .4rem; background: #17211c; }
.field-hint, [data-ocr-status] { display: block; margin: .45rem 0; color: #4b5c52; font-size: .9rem; line-height: 1.4; }
.quick-scan { margin-bottom: 1rem; }
.ocr-control { margin: .25rem 0 1rem; }
