:root{--brand: #0b3d2e;--brand-2: #12694d;--ok: #1a7f37;--bad: #b42318;--bg: #f5f6f5;--card: #ffffff;--muted: #667085;--line: #e4e7ec}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:#101828}.app{max-width:480px;margin:0 auto;padding:16px;min-height:100vh}header{text-align:center;padding:16px 0 8px}header h1{margin:0;color:var(--brand);font-size:28px;letter-spacing:-.5px}header p{margin:4px 0 0;color:var(--muted)}.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin-top:16px;box-shadow:0 1px 2px #1018280d}.panel.center{text-align:center}button{font:inherit;padding:12px 18px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer}button.primary{background:var(--brand);color:#fff;border-color:var(--brand);width:100%;font-weight:600;font-size:17px}button.secondary{width:100%;margin-top:10px;font-weight:600;color:var(--brand);border-color:var(--brand);background:#fff}button:disabled{opacity:.5;cursor:default}.center-text{text-align:center;margin:10px 0}.manual{margin-top:20px;border-top:1px dashed var(--line);padding-top:16px}.manual label{display:block;color:var(--muted);font-size:14px;margin-bottom:8px}.manual textarea{width:100%;font:inherit;padding:10px;border-radius:10px;border:1px solid var(--line);resize:vertical}.manual button{margin-top:10px;width:100%}.scanner{position:relative;border-radius:12px;overflow:hidden;background:#000;aspect-ratio:3 / 4}.scanner video{width:100%;height:100%;object-fit:cover}.reticle{position:absolute;top:18%;right:18%;bottom:18%;left:18%;border:3px solid rgba(255,255,255,.9);border-radius:16px;box-shadow:0 0 0 100vmax #00000059}.scanner+button{width:100%;margin-top:12px}.spinner{width:36px;height:36px;border:4px solid var(--line);border-top-color:var(--brand);border-radius:50%;margin:8px auto 12px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.err{color:var(--bad)}.status{text-align:center;font-weight:700;padding:10px;border-radius:10px;margin-bottom:16px}.status.ok{background:#e7f6ec;color:var(--ok)}.status.bad{background:#fdeceb;color:var(--bad)}.seller strong{font-size:18px}.muted{color:var(--muted);font-size:14px}.items{width:100%;border-collapse:collapse;margin:16px 0;font-size:15px}.items th,.items td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}.items th{color:var(--muted);font-weight:500;font-size:13px}.items .num{text-align:right;white-space:nowrap}.total{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-top:2px solid var(--brand);margin-top:8px;font-weight:700}.total .amount{font-size:20px;color:var(--brand)}.meta{margin:12px 0 16px;line-height:1.5}
