.canvas-inline-chat{position:absolute;z-index:35;width:min(350px,calc(100% - 24px));background:#20242b;border:1px solid #425c57;border-radius:15px;padding:12px;box-shadow:0 18px 42px #0009;cursor:default;animation:inlineChatIn .2s cubic-bezier(.22,1,.36,1)}.canvas-inline-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;color:#e7f3ee;font-size:13px}.canvas-inline-head button{border:0;background:#30343b;border-radius:8px;padding:5px 9px;color:#b8c6c0}.canvas-inline-chat textarea{width:100%;resize:vertical;min-height:75px;max-height:170px;border:1px solid #414952;background:#15191e;border-radius:10px;color:#f4f6f4;padding:10px;line-height:1.5;outline:0}.canvas-inline-chat textarea:focus{border-color:#19cc9a}.canvas-inline-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.canvas-inline-foot span{font-size:10px;line-height:1.45;color:#9ea9a7}.canvas-inline-foot button{flex-shrink:0;background:#1bd19e;border:0;border-radius:9px;color:#092920;padding:9px 12px;font-weight:750}.canvas-inline-foot button:disabled{opacity:.5}@keyframes inlineChatIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.canvas-inline-chat{animation:none}}

.canvas-job-layer{position:absolute;left:0;top:0;width:0;height:0;overflow:visible;pointer-events:none}
.canvas-job-card{position:absolute;box-sizing:border-box;width:282px;min-height:158px;padding:14px;background:#20262e;border:1px solid #4b6264;border-radius:13px;box-shadow:0 15px 35px #0008;color:#e9f0ed;pointer-events:auto;cursor:default;display:flex;flex-direction:column;gap:8px;z-index:8}
.canvas-job-card.status-failed{border-color:#a15b57;background:#292328}
.canvas-job-card.status-interrupted{border-color:#ab8051;background:#29251f}
.canvas-job-head{display:flex;align-items:center;gap:7px}.canvas-job-head strong{font-size:13px}.canvas-job-spinner{width:14px;height:14px;display:block;border:2px solid #536b68;border-top-color:#3cdfab;border-radius:50%;animation:canvasJobSpin 1s linear infinite}
.canvas-job-card.status-failed .canvas-job-spinner,.canvas-job-card.status-interrupted .canvas-job-spinner{animation:none;border:0;background:#d98b78;width:9px;height:9px}
.canvas-job-card.status-interrupted .canvas-job-spinner{background:#e1b36e}
.canvas-job-progress{margin-left:auto;color:#a4d9c9;font-size:11px}
.canvas-job-prompt{font-size:12px;line-height:1.5;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}
.canvas-job-meta{color:#9aa9ab;font-size:10px;line-height:1.35;word-break:break-word}
.canvas-job-error{font-size:11px;color:#f0aaa6;line-height:1.5;margin:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.canvas-job-info,.canvas-job-risk{font-size:10px;color:#b0b9bc;margin:0;line-height:1.5}
.canvas-job-risk{color:#e6b680}
.canvas-job-actions{display:flex;gap:7px;justify-content:flex-start;flex-wrap:wrap;margin-top:auto}
.canvas-job-actions button{border:1px solid #405459;background:#313d41;color:#edf2ef;padding:7px 9px;border-radius:8px;font-size:11px;cursor:pointer}
.canvas-job-actions .canvas-job-retry{border-color:#8b694b;background:#4b3929;color:#ffe0b2}
.canvas-job-actions button:hover{filter:brightness(1.15)}
@keyframes canvasJobSpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.canvas-job-spinner{animation:none}}
