:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#17211d;background:#eef3f0;--green:#086a4b;--green2:#0b815c;--ink:#17211d;--muted:#65736d;--line:#d8e1dc;--red:#b42318;--amber:#a15c00}
*{box-sizing:border-box}body{margin:0;background:linear-gradient(160deg,#edf4f0 0,#f8faf9 48%,#e8f0ec 100%);min-height:100vh}.shell{width:min(1040px,calc(100% - 36px));margin:0 auto;padding:34px 0 60px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.eyebrow{text-transform:uppercase;letter-spacing:.11em;font-size:12px;font-weight:800;color:var(--green);margin:0 0 7px}.topbar h1{font-size:32px;margin:0;letter-spacing:-.03em}.connection{background:#fff;border:1px solid var(--line);padding:10px 15px;border-radius:999px;font-size:14px;font-weight:700;box-shadow:0 8px 25px #153c2c0b}.connection span{display:inline-block;width:9px;height:9px;border-radius:50%;background:#d49a20;margin-right:7px}.connection.online span{background:#16a36a}.connection.offline span{background:#d14336}.scan-card,.result,.history-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 20px 60px #143b2a0c}.scan-card{display:grid;grid-template-columns:52px 1fr;gap:4px 18px;padding:27px 30px}.step{grid-row:1/3;background:var(--green);color:#fff;width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-size:20px;font-weight:900}.scan-copy h2{font-size:24px;margin:1px 0 4px}.scan-copy p{margin:0;color:var(--muted)}form{grid-column:2;margin-top:22px}label{display:block;font-size:13px;font-weight:800;margin-bottom:8px}.input-row{display:grid;grid-template-columns:1fr 170px;gap:10px}input{width:100%;border:2px solid #cbd8d1;border-radius:13px;padding:15px 17px;font-size:21px;color:var(--ink);outline:none;background:#fbfdfc;transition:.15s}input:focus{border-color:var(--green2);box-shadow:0 0 0 4px #0b815c18}button{font:inherit;cursor:pointer}.input-row button{border:0;border-radius:13px;background:var(--green);color:#fff;font-weight:800;font-size:17px}.input-row button:hover{background:var(--green2)}.input-row button:disabled{opacity:.6;cursor:wait}.expected-label{margin-top:17px}.expected-label span{font-weight:500;color:var(--muted);margin-left:5px}.expected-label+input{font-size:16px;padding:12px 15px}.state{margin:18px 0;display:flex;gap:15px;align-items:center;border-radius:18px;padding:20px 25px;border:1px solid #cfe0d7;background:#f5faf7}.state-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#dff2e8;color:var(--green);font-weight:900}.state h2{font-size:17px;margin:0 0 3px}.state p{color:var(--muted);margin:0}.state.loading .state-icon{font-size:0;border:4px solid #c5ddd1;border-top-color:var(--green);background:transparent;animation:spin .8s linear infinite}.state.error{background:#fff5f4;border-color:#f2cbc7}.state.error .state-icon{background:#fee4e2;color:var(--red)}@keyframes spin{to{transform:rotate(360deg)}}.result{padding:28px 30px;margin:18px 0}.hidden{display:none}.result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.result-head h2{font-size:28px;margin:0}.match-badge{background:#dff5e9;color:#076444;border-radius:999px;padding:9px 14px;font-weight:900;white-space:nowrap}.match-badge.mismatch{background:#fee4e2;color:var(--red)}.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}.facts article{background:#f5f8f6;border:1px solid #e1e8e4;border-radius:15px;padding:17px}.facts article.wide{grid-column:1/-1}.facts span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;font-weight:800;margin-bottom:6px}.facts strong{font-size:20px;word-break:break-word}.next-button{margin-top:20px;width:100%;border:1px solid #b9cec3;background:#fff;color:var(--green);padding:13px;border-radius:13px;font-weight:900}.history-card{padding:24px 28px}.history-head{display:flex;justify-content:space-between;align-items:center}.history-head h2{font-size:19px;margin:0}.history-head button{border:0;background:none;color:var(--muted)}.history-empty{color:var(--muted);padding:26px 0 8px;text-align:center}.history-row{display:grid;grid-template-columns:155px 1fr auto;align-items:center;gap:14px;padding:14px 0;border-top:1px solid #edf1ef}.history-row:first-child{margin-top:15px}.history-row code{font-size:14px}.history-row strong{font-size:16px}.history-row time{font-size:12px;color:var(--muted)}
.work-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 18px}.work-mode-tab{display:flex;align-items:center;gap:12px;text-align:left;border:2px solid var(--line);background:#fff;color:var(--ink);border-radius:17px;padding:15px 18px;box-shadow:0 10px 30px #143b2a0a}.work-mode-tab strong{font-size:21px;color:var(--green)}.work-mode-tab span{font-size:14px;color:var(--muted);font-weight:700}.work-mode-tab.active{border-color:var(--green);background:#eef9f4;box-shadow:0 10px 30px #086a4b18}.work-mode-tab.active span{color:var(--ink)}.work-mode-panel{margin-bottom:18px}
.work-mode-tabs.has-returns{grid-template-columns:1fr 1fr 1fr}.returns-form{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px}.returns-form label{margin:0}.returns-form input,.returns-form select{width:100%;font-size:16px;padding:13px;border:2px solid #cbd8d1;border-radius:13px;background:#fbfdfc;color:var(--ink)}.returns-form input:focus,.returns-form select:focus{border-color:var(--green2);outline:none;box-shadow:0 0 0 4px #0b815c18}.returns-form button{grid-column:1/-1;border:0;border-radius:13px;background:var(--green);color:#fff;padding:14px;font-weight:800}.returns-form .settings-message{grid-column:1/-1;margin:0;min-height:20px}
@media(max-width:680px){.shell{width:min(100% - 20px,1040px);padding-top:20px}.topbar{align-items:flex-start}.connection{font-size:0;padding:12px}.connection span{margin:0}.work-mode-tabs,.work-mode-tabs.has-returns{grid-template-columns:1fr}.work-mode-tab{padding:12px 15px}.scan-card{grid-template-columns:1fr;padding:22px}.step{display:none}.scan-copy,form{grid-column:1}.input-row,.returns-form{grid-template-columns:1fr}.input-row button{padding:14px}.facts{grid-template-columns:1fr}.facts article.wide{grid-column:1}.result{padding:23px}.result-head h2{font-size:23px}.history-row{grid-template-columns:1fr auto}.history-row code{grid-column:1/-1}}

.camera-print-toggle{display:flex;align-items:center;gap:8px;font-weight:700;white-space:nowrap;cursor:pointer}.camera-print-toggle input{width:20px;height:20px;accent-color:#087a58}
.login-screen{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:linear-gradient(135deg,#edf7f2,#f8fbfa)}.login-screen.hidden{display:none}.login-card{width:min(420px,calc(100vw - 32px));padding:32px;border:1px solid #cbded5;border-radius:22px;background:#fff;box-shadow:0 24px 70px rgba(5,74,52,.18);display:grid;gap:14px}.login-card h1{margin:0 0 6px}.login-card label{display:grid;gap:6px;font-weight:700}.login-card input{padding:12px 14px;border:1px solid #b9d0c5;border-radius:10px;font:inherit}.login-card button{padding:13px;border:0;border-radius:10px;background:var(--green);color:#fff;font-weight:800}.login-message{min-height:20px;margin:0;color:#a1261e}.operator-badge{font-size:13px;color:#28594a;max-width:220px}.operator-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}.operator-form input,.operator-form select{padding:10px;border:1px solid #cbded5;border-radius:8px}.operator-form button{grid-column:1/-1}.audit-list{max-height:320px;overflow:auto;display:grid;gap:6px}.audit-row{display:grid;grid-template-columns:135px 1fr 1fr;gap:10px;padding:8px;border-bottom:1px solid #e3ece8;font-size:13px}.admin-dialog{width:min(900px,calc(100vw - 32px))}
.mode-fbs #print-actions,.mode-returns #print-actions{display:none!important}
.returns-monitor-card{margin-bottom:18px}.returns-monitor-actions{grid-column:2;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.returns-monitor-actions button{border:0;border-radius:13px;background:var(--green);color:#fff;padding:14px 18px;font-weight:800}.returns-monitor-actions p{margin:0;color:var(--muted)}.returns-monitor-list{grid-column:2;display:grid;gap:8px;margin-top:10px}.return-monitor-row{display:grid;grid-template-columns:minmax(145px,1fr) minmax(110px,.8fr) minmax(150px,1.2fr) minmax(145px,auto);align-items:center;gap:10px;padding:11px 13px;border:1px solid #d7e2dc;border-radius:12px;background:#fbfdfc}.return-monitor-row strong{color:var(--ink)}.return-monitor-row.waiting>span:last-of-type{color:#946b18}.return-monitor-row.reverse_pending>span:last-of-type{color:#087c59;font-weight:800}.return-monitor-row.received_unmatched>span:last-of-type{color:#b6362d;font-weight:800}.return-monitor-row.released>span:last-of-type{color:var(--muted)}.return-monitor-row-actions{display:flex;gap:7px;justify-content:flex-end;flex-wrap:wrap}.return-reverse-fill{border:0;border-radius:10px;background:var(--green);color:#fff;padding:9px 12px;font-size:13px;font-weight:800;white-space:nowrap}.return-reverse-fill:hover,.return-reverse-fill:focus{background:var(--green2)}
.reverse-manual-completion{grid-column:1/-1;margin-top:8px;padding-top:16px;border-top:1px solid var(--line)}.reverse-manual-row{display:grid;grid-template-columns:1fr minmax(220px,auto);gap:10px}.reverse-manual-row button{grid-column:auto;background:#6c6454}.reverse-manual-row button:hover{background:#554e41}.reverse-manual-row button:disabled{opacity:.6;cursor:wait}
@media(max-width:680px){.returns-monitor-actions,.returns-monitor-list{grid-column:1}.return-monitor-row{grid-template-columns:1fr}}
@media(max-width:680px){.reverse-manual-row{grid-template-columns:1fr}}
