:root{--bg: #0F1B2D;--surface: #16233A;--surface-raised: #1D2E4A;--border: #2A3B57;--text: #EAF0F8;--text-dim: #93A4C0;--accent: #FCA311;--accent-text: #0F1B2D;--success: #2FBF71;--success-bg: #133024;--error: #FF5C5C;--error-bg: #331414;--warn: #FFD166;--radius: 14px;font-size:17px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-tap-highlight-color:transparent}button{font-family:inherit;font-size:1rem;cursor:pointer}input{font-family:inherit}.screen{min-height:100dvh;display:flex;flex-direction:column;padding:20px 16px calc(24px + env(safe-area-inset-bottom));max-width:560px;margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding:4px 0 20px}.topbar h1{font-size:1.15rem;margin:0;letter-spacing:.2px}.btn{border:none;border-radius:var(--radius);padding:16px 20px;font-weight:600;min-height:54px;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .05s ease,opacity .15s ease}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-secondary{background:var(--surface-raised);color:var(--text);border:1px solid var(--border)}.btn-danger{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.btn-block{width:100%}.btn-sm{min-height:40px;padding:10px 14px;font-size:.85rem}.field-label{font-size:.8rem;color:var(--text-dim);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.text-input{width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:14px 16px;color:var(--text);font-size:1.05rem;outline:none}.text-input:focus{border-color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin-bottom:12px}.line-item{background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);padding:14px 16px;margin-bottom:10px}.line-item.picked{border-color:var(--success);background:var(--success-bg)}.line-item.skipped{border-color:var(--text-dim);opacity:.6}.line-item.partial{border-color:var(--warn)}.line-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.line-item-name{font-weight:600;font-size:.98rem}.line-item-sku{color:var(--text-dim);font-size:.82rem;margin-top:2px}.qty-pill{background:var(--surface-raised);border-radius:999px;padding:4px 12px;font-size:.85rem;font-weight:600;white-space:nowrap}.qty-pill.done{background:var(--success);color:#0f1b2d}.status-banner{border-radius:var(--radius);padding:14px 16px;font-weight:600;margin-bottom:14px;text-align:center}.status-banner.success{background:var(--success-bg);color:var(--success);border:1px solid var(--success)}.status-banner.error{background:var(--error-bg);color:var(--error);border:1px solid var(--error)}.scanner-box{width:100%;height:clamp(320px,52vh,520px);border-radius:var(--radius);overflow:hidden;background:#000;margin-bottom:14px;border:2px solid var(--accent)}.row{display:flex;gap:10px}.row>*{flex:1}.spacer{flex:1}.link-btn{background:none;border:none;color:var(--text-dim);text-decoration:underline;font-size:.85rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-end;z-index:50}.modal-sheet{background:var(--surface);border-radius:20px 20px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom));width:100%;max-height:80vh;overflow-y:auto}.reason-option{width:100%;text-align:left;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;color:var(--text);margin-bottom:10px}.reason-option:active{border-color:var(--accent)}@media print{body{background:#fff;color:#000}.no-print{display:none!important}.screen{max-width:100%;padding:0}.print-card{background:#fff!important;border:1px solid #999!important;color:#000!important}.print-line-item{background:#fff!important;border:1px solid #ccc!important;color:#000!important;break-inside:avoid}}
