:root{font-family:monospace;line-height:1.5;font-weight:400;margin:5px;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--bg-color: #121212;--card-bg: #1e1e1e;--text-color: #e0e0e0;--accent-color: #3d8bfd;--border-color: #2b2b2b;--status-completed: #4caf50;--status-running: #ffb300;--status-failed: #f44336;--status-queued: #29b6f6;--primary: #238b45}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{display:flex;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}table{border-collapse:collapse;border:1px solid #444}tr,td,th{padding:5px 10px;border:1px solid #444;min-width:50px}th{padding:5px 10px;background:#1b1b1b;color:#fff}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.table-container{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.pagination-container{display:flex;justify-content:center;align-items:center;margin-top:16px}.pagination-btn{background-color:#373737;border:none;padding:6px 14px;margin:10px;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500}.pagination-btn:hover:not(:disabled){background-color:#373737}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-text{font-size:.9rem;color:#fff;font-weight:500}.jobs-table{width:100%;border-collapse:collapse;min-width:800px}.job-row{cursor:pointer}.job-row:hover{background-color:#2f4f4f}.jobs-table td{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-command{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status{font-weight:700}.stop-btn{background:none;border:none;cursor:pointer;color:#fff;padding:4px;width:32px}.stop-btn:hover{color:#fff;transform:scale(1.1)}.stop-btn:disabled{color:#ccc;cursor:not-allowed;transform:none}.retry-count{font-size:.85rem;color:#6c757d;margin-left:2px}.status.running{color:#ffc107}.status.queued{color:#6c757d}.status.failed{color:#dc3545}.status.retrying{color:#ff9800}.status.success,.status.completed{color:#28a745}@media (max-width: 600px){.jobs-table th,.jobs-table td{padding:6px 8px;font-size:.85rem}}.create-job-toolbar-vertical{display:flex;flex-direction:column;gap:8px;background:#1b1b1b;padding:10px;border-radius:6px;margin-bottom:12px}.create-job-toolbar-vertical .row{display:flex;gap:8px;align-items:center;width:100%}.toolbar-select{width:120px;padding:8px;border:1px solid #444;background:#222;color:#eee;border-radius:4px}.toolbar-command-textarea-full{flex:1;resize:none;border:1px solid #444;background:#222;color:#eee;font-size:14px;padding:8px 10px;border-radius:4px}.toolbar-input{flex:1;border:1px solid #444;background:#222;color:#eee;font-size:14px;padding:8px 10px;border-radius:4px}.toolbar-input.small{width:70px}.toolbar-btn{background:var(--primary);border:none;color:#222;padding:8px 16px;font-weight:600;border-radius:4px;cursor:pointer}.toolbar-btn:disabled{opacity:.6;cursor:not-allowed}.toolbar-btn:hover:not(:disabled){background:var(--primary)}.input-with-icon{display:flex;align-items:center;background:#222;border:1px solid #444;outline-color:var(--primary);border-radius:4px;overflow:hidden}.input-with-icon .icon{padding:0 6px;font-size:14px;color:#aaa;background:#1b1b1b}.input-with-icon input{border:none;background:transparent;color:#eee;padding:8px;font-size:14px;width:60px;outline:none}.live-log-container{background:#111;color:#ddd;font-family:monospace;font-size:14px;padding:10px;height:200px;overflow-y:auto;border:1px solid hsl(0,0%,27%);border-radius:6px;margin:10px 0}.log-line{display:flex;align-items:flex-start;gap:8px;margin-bottom:4px;font-family:monospace;white-space:pre-wrap}.log-time{color:#999;font-size:12px;min-width:70px}.log-job{color:#4caf50}.log-text{color:#ddd}.log-line.empty{color:#888;text-align:center}.job-details-container{padding:20px;margin:0 auto;background:var(--card-bg);border-radius:8px;border:1px solid var(--border-color);width:80vw}.back-btn{background:var(--accent-color);color:#fff;border:none;padding:6px 12px;border-radius:4px;margin-bottom:16px;cursor:pointer}.back-btn:hover{opacity:.85}h2{margin-top:0;color:var(--text-color);font-size:16px}.error{background:#2c0e0e;color:#f55;padding:8px 10px;border-radius:4px;margin-bottom:12px;font-size:14px}.job-section{margin-bottom:24px;background:#181818;padding:14px;border-radius:6px;border:1px solid var(--border-color);display:flex;flex-direction:column}.job-section p{margin:6px 0;font-size:15px;color:var(--text-color);text-align:justify}.job-section strong{color:#bbb}.job-section .command-readonly{display:block;width:90%;height:50px;text-align:justify;background:#1b1b1b;border:1px solid #333;border-radius:4px;padding:6px 8px;font-size:14px;color:#e6e6e6;margin-top:4px;white-space:pre-wrap;word-break:break-word}.output-box{background:#000;color:#9ae29a;padding:12px;border-radius:6px;white-space:pre-wrap;overflow-x:auto;font-size:14px;line-height:1.4;text-align:justify}.logs-terminal{background:#111;color:#d4d4d4;font-family:Courier New,Courier,monospace;font-size:14px;border:1px solid #333;border-radius:6px;padding:10px;margin-top:8px;max-height:250px;overflow-y:auto;white-space:pre-wrap;text-align:justify;line-height:1.4}.logs-terminal::-webkit-scrollbar{width:8px}.logs-terminal::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.job-section .status{display:inline-block;font-weight:700;margin-left:4px}.job-section .status.completed{color:#4caf50}.job-section .status.running{color:#ffb300}.job-section .status.failed{color:#f44336}.job-section .status.queued{color:#29b6f6}.job-section .status.retrying{color:#ff9800}.scrollable-command{max-height:100px;overflow-y:auto}
