:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#182c3d;background:#f3f5f7;font-size:14px;--blue:#176b5b;--line:#dce3e8;--muted:#6b7c8b}*{box-sizing:border-box}body{margin:0}header{height:60px;display:flex;align-items:center;gap:24px;background:white;border-bottom:1px solid var(--line);padding:0 24px}.brand{font-weight:750;font-size:21px;text-decoration:none;color:#172e3d;display:flex;align-items:center;gap:9px}.brand-icon{color:var(--blue);font-size:30px}.header-sub{color:var(--muted);font-size:13px;border-left:1px solid var(--line);padding-left:24px}.header-right{display:flex;align-items:center;gap:14px;margin-left:auto}main{max-width:1600px;margin:auto;padding:22px 24px}h1{font-size:25px;letter-spacing:-.6px;margin:4px 0 6px}h2{font-size:19px;margin:0}p{line-height:1.5}.eyebrow{font-size:10px;font-weight:750;letter-spacing:1.5px;color:var(--muted)}.muted{color:var(--muted);font-size:12px}.page-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:20px}.actions{display:flex;gap:12px;align-items:center}button,input,select,textarea{font:inherit}button{border:1px solid #cdd7dd;border-radius:5px;background:white;color:#263e4d;padding:8px 12px;cursor:pointer;font-weight:600;white-space:nowrap}button:hover{background:#f0f5f4;border-color:#96aba6}button:disabled{opacity:.5;cursor:wait}.primary{background:var(--blue);color:white;border-color:var(--blue)}.primary:hover{background:#115448;color:white}.quiet{border-color:transparent;background:transparent;font-size:12px;padding:6px}.link{border:0;background:transparent;color:var(--blue);padding:0;font-size:12px;margin-bottom:6px}input,select,textarea{border:1px solid #cbd5dd;border-radius:5px;padding:9px 10px;background:white;color:#172e3d;min-width:0;width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #63ac97;outline-offset:1px}label{display:block;font-size:12px;font-weight:600}label>input,label>select,label>textarea{margin-top:5px}.panel{border:1px solid var(--line);border-radius:7px;background:white;overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{background:#f9fafb;color:#6c7d8b;font-size:11px;text-align:left;font-weight:650;padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}td{border-bottom:1px solid #e9edf0;padding:10px 14px}tr:last-child td{border-bottom:0}tbody tr:hover{background:#f8fbfa}.numeric{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-block;font-size:11px;padding:3px 8px;border-radius:20px;background:#e7f3ed;color:#21614d}.badge.closed{background:#edf0f2;color:#6a7580}.status{font-size:12px;color:#277653;white-space:nowrap}.status:before{content:"●";font-size:9px;margin-right:6px}.status.bad{color:#b02f33}.status.wait{color:#96680b}.scan-panel{border:1px solid #bfdbd1;border-left:4px solid var(--blue);border-radius:6px;padding:13px 16px;background:#f7fcfa;margin-bottom:16px}.scan-panel label{color:#447768;font-size:10px;letter-spacing:1.2px}.scan-controls{display:flex;gap:8px;margin-top:6px}.scan-controls input{font-size:20px;padding:10px 12px;flex:1;max-width:650px}.scan-hint{color:#678177;font-size:12px;margin-top:8px;min-height:17px}.toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin:0 0 10px}.filters{display:flex;gap:3px}.filters button{font-size:12px;padding:7px 9px;border-color:transparent;background:transparent;font-weight:500}.filters button.selected{background:white;border-color:#cdd7dd;color:#145e4d}.filters b{background:#e5ebef;border-radius:4px;padding:1px 5px;margin-left:5px;font-size:10px}.check{display:flex;align-items:center;gap:6px;white-space:nowrap;font-weight:400;font-size:12px}.check input{width:auto;margin:0;accent-color:var(--blue)}.product-name{font-weight:600;display:block}.product-code{display:block;color:#83909a;font-size:11px;margin-top:4px}.qty{font-size:17px;font-weight:650}.qty-input{font-variant-numeric:tabular-nums;font-size:17px;font-weight:600;width:100px;min-width:68px;padding:5px 8px;text-align:right}.qty-input[readonly]{background:#f5f7f8;color:#647581}.qty-input[aria-invalid="true"]{border-color:#c44841;background:#fff1f0}.snapshot{display:block;font-size:10px;color:#84919a;margin-top:3px;white-space:nowrap}.positive{color:#187552}.negative{color:#c44841}.zero{color:#81919b}.row-note{background:#fff9e9}.row-note:hover{background:#fff4d4}.note-btn{max-width:220px;overflow:hidden;text-overflow:ellipsis;color:#776640;border:0;background:transparent;font-size:12px;font-weight:400;padding:5px 0}.row-actions{white-space:nowrap}.row-actions button{padding:5px 7px;font-size:16px;background:transparent;border-color:transparent}.footnote{display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#7a8994;margin:12px 0}.footnote a{color:var(--blue)}.empty{text-align:center;padding:45px 20px;color:var(--muted);font-size:13px}.login{max-width:400px;margin:9vh auto;background:white;border:1px solid var(--line);border-radius:8px;padding:28px}.login label{margin-top:18px}.login .primary{width:100%;margin-top:22px}.error{color:#b33336;font-size:13px;white-space:pre-wrap}dialog{border:1px solid var(--line);border-radius:9px;width:480px;max-width:95vw;padding:22px;box-shadow:0 20px 90px #122b3c33;color:inherit}dialog::backdrop{background:#15314366}dialog label{margin-top:15px}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.dialog-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.search-controls{display:flex;gap:8px;margin:15px 0}.search-result{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}#search-results{max-height:50vh;overflow:auto}.pending{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 16px;border:2px solid #c14243;background:#fff1f0;border-radius:5px;color:#973037;margin-bottom:14px}.pending p{margin:4px 0;font-size:12px}#alert{background:#ffeded;color:#a6242d;border-bottom:1px solid #eab2b5;padding:12px 24px;font-weight:600;white-space:pre-wrap}[hidden]{display:none!important}.flash{animation:flash 1.5s ease-out}@keyframes flash{from{background:#c9eadf}to{background:transparent}}@media(max-width:1050px){main{padding:16px}.toolbar{align-items:flex-start;flex-direction:column}.header-sub{display:none}.footnote{flex-direction:column;gap:6px}.rows-table td,.rows-table th{padding:9px}.page-heading{align-items:flex-start}.actions{flex-wrap:wrap;justify-content:flex-end}}
