
        // UID-based functions for individual row buttons
        window.approveJobByUid = function(jobUid) {{
            var reason = prompt("Approval reason (optional):", "Approved via Jupyter interface");
            if (reason !== null) {{
                var code = `q.get_job("${{jobUid}}").approve("${{reason.replace(/"/g, '\\\\"')}}")`;

                navigator.clipboard.writeText(code).then(() => {{
                    var buttons = document.querySelectorAll(`button[onclick="approveJobByUid('${{jobUid}}')"]`);
                    buttons.forEach(button => {{
                        var originalText = button.innerHTML;
                        button.innerHTML = '✅ Copied!';
                        button.style.backgroundColor = '#059669';
                        setTimeout(() => {{
                            button.innerHTML = originalText;
                            button.style.backgroundColor = '';
                        }}, 2000);
                    }});
                }}).catch(err => {{
                    console.error('Could not copy code to clipboard:', err);
                    alert('Failed to copy to clipboard. Please copy manually:\\\\n\\\\n' + code);
                }});
            }}
        }};

        window.rejectJobByUid = function(jobUid) {{
            var reason = prompt("Rejection reason:", "");
            if (reason !== null && reason.trim() !== "") {{
                var code = `q.get_job("${{jobUid}}").reject("${{reason.replace(/"/g, '\\\\"')}}")`;

                navigator.clipboard.writeText(code).then(() => {{
                    var buttons = document.querySelectorAll(`button[onclick="rejectJobByUid('${{jobUid}}')"]`);
                    buttons.forEach(button => {{
                        var originalText = button.innerHTML;
                        button.innerHTML = '🚫 Copied!';
                        button.style.backgroundColor = '#dc2626';
                        setTimeout(() => {{
                            button.innerHTML = originalText;
                            button.style.backgroundColor = '';
                        }}, 2000);
                    }});
                }}).catch(err => {{
                    console.error('Could not copy code to clipboard:', err);
                    alert('Failed to copy to clipboard. Please copy manually:\\\\n\\\\n' + code);
                }});
            }}
        }};

        window.reviewJobByUid = function(jobUid) {{
            var code = `q.get_job("${{jobUid}}").review()`;

            navigator.clipboard.writeText(code).then(() => {{
                var buttons = document.querySelectorAll(`button[onclick="reviewJobByUid('${{jobUid}}')"]`);
                buttons.forEach(button => {{
                    var originalText = button.innerHTML;
                    button.innerHTML = '📋 Copied!';
                    button.style.backgroundColor = '#059669';
                    setTimeout(() => {{
                        button.innerHTML = originalText;
                        button.style.backgroundColor = '';
                    }}, 2000);
                }});
            }}).catch(err => {{
                console.error('Could not copy code to clipboard:', err);
                alert('Failed to copy to clipboard. Please copy manually:\\\\n\\\\n' + code);
            }});
        }};

        window.viewLogsByUid = function(jobUid) {{
            var code = `q.get_job("${{jobUid}}").get_logs()`;

            navigator.clipboard.writeText(code).then(() => {{
                var buttons = document.querySelectorAll(`button[onclick="viewLogsByUid('${{jobUid}}')"]`);
                buttons.forEach(button => {{
                    var originalText = button.innerHTML;
                    button.innerHTML = '📜 Copied!';
                    button.style.backgroundColor = '#6366f1';
                    setTimeout(() => {{
                        button.innerHTML = originalText;
                        button.style.backgroundColor = '';
                    }}, 2000);
                }});
            }}).catch(err => {{
                console.error('Could not copy code to clipboard:', err);
                alert('Failed to copy to clipboard. Please copy manually:\\\\n\\\\n' + code);
            }});
        }};

        window.viewOutputByUid = function(jobUid) {{
            var code = `q.get_job("${{jobUid}}").get_output()`;

            navigator.clipboard.writeText(code).then(() => {{
                var buttons = document.querySelectorAll(`button[onclick="viewOutputByUid('${{jobUid}}')"]`);
                buttons.forEach(button => {{
                    var originalText = button.innerHTML;
                    button.innerHTML = '📁 Copied!';
                    button.style.backgroundColor = '#8b5cf6';
                    setTimeout(() => {{
                        button.innerHTML = originalText;
                        button.style.backgroundColor = '';
                    }}, 2000);
                }});
            }}).catch(err => {{
                console.error('Could not copy code to clipboard:', err);
                alert('Failed to copy to clipboard. Please copy manually:\\\\n\\\\n' + code);
            }});
        }};
