.global-job-footer{position:fixed;bottom:0;left:0;right:0;z-index:50;background:#fff;box-shadow:0 -4px 16px #0000001a;border-top:1px solid #e5e7eb;transition:all .3s ease-in-out}.global-job-footer.has-completion{box-shadow:0 -4px 24px #10b98140;border-top-color:#10b981}.global-job-footer.minimized,.global-job-footer.minimized .footer-collapsed{height:8px}.global-job-footer.minimized:hover{background:#f3f4f6}.global-job-footer.collapsed{height:48px}.footer-collapsed{position:relative;height:48px;display:flex;align-items:center;cursor:pointer;transition:background .15s ease}.footer-collapsed:hover{background:#f9fafb}.collapsed-progress{position:absolute;top:0;left:0;right:0;height:3px;background:#e5e7eb;overflow:hidden}.collapsed-progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#2563eb);transition:width .5s ease-out}.collapsed-content{display:flex;align-items:center;gap:8px;padding:0 24px;width:100%}.collapsed-icon{flex-shrink:0;width:16px;height:16px;color:#3b82f6}.collapsed-icon .spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.collapsed-text{font-size:13px;font-weight:500;color:#4b5563}.global-job-footer.expanded{max-height:60vh;overflow:hidden;display:flex;flex-direction:column}.footer-expanded{display:flex;flex-direction:column;height:100%}.footer-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-bottom:1px solid #e5e7eb;background:#f9fafb;flex-shrink:0}.footer-title{font-size:14px;font-weight:600;color:#111827}.footer-close{padding:4px;background:transparent;border:none;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .15s ease}.footer-close:hover{background:#e5e7eb;color:#374151}.footer-job-list{flex:1;overflow-y:auto;padding:8px 0}.footer-job-item{display:flex;align-items:flex-start;gap:12px;padding:12px 24px;border-bottom:1px solid #f3f4f6;transition:background .15s ease}.footer-job-item:last-child{border-bottom:none}.footer-job-item.completed:hover,.footer-job-item.failed:hover{background:#f9fafb}.footer-job-item.completed{background:#f0fdf4}.footer-job-item.failed{background:#fef2f2}.job-icon{flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.footer-job-item.active .job-icon{color:#3b82f6}.footer-job-item.completed .job-icon{color:#10b981}.footer-job-item.failed .job-icon{color:#ef4444}.spinner-ring{width:20px;height:20px;border:2px solid #e5e7eb;border-top-color:#3b82f6;border-radius:50%;animation:spin 1s linear infinite}.job-content{flex:1;min-width:0}.job-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.job-name{font-size:14px;font-weight:500;color:#111827}.job-design-name{font-size:12px;color:#6b7280;background:#f3f4f6;padding:2px 8px;border-radius:4px}.job-progress{display:flex;align-items:center;gap:8px;margin-top:6px}.job-progress .progress-bar{flex:1;height:4px;background:#e5e7eb;border-radius:2px;overflow:hidden}.job-progress .progress-fill{height:100%;background:#3b82f6;border-radius:2px;transition:width .3s ease-out}.job-progress .progress-text{font-size:12px;font-weight:500;color:#6b7280;min-width:36px;text-align:right}.job-message{margin:4px 0 0;font-size:12px;color:#6b7280;line-height:1.4}.job-actions{display:flex;gap:8px;flex-shrink:0}.job-ok-btn{padding:.375rem .75rem;background:#e5e7eb;color:#374151;border:none;border-radius:4px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease;white-space:nowrap}.job-ok-btn:hover{background:#d1d5db}.job-action-btn{flex-shrink:0;display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:var(--color-primary, #3b82f6);color:#fff;border:none;border-radius:4px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .15s ease;white-space:nowrap}.job-action-btn:hover{background:var(--color-primary-dark, #2563eb)}.job-action-btn svg{flex-shrink:0}.footer-job-item.completed .job-action-btn{background:#10b981}.footer-job-item.completed .job-action-btn:hover{background:#059669}.footer-job-item.failed .job-action-btn{background:#ef4444}.footer-job-item.failed .job-action-btn:hover{background:#dc2626}.footer-job-list::-webkit-scrollbar{width:6px}.footer-job-list::-webkit-scrollbar-track{background:#f3f4f6}.footer-job-list::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.footer-job-list::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width: 768px){.collapsed-content{padding:0 16px}.collapsed-text{font-size:12px}.footer-header,.footer-job-item{padding:10px 16px}.job-name{font-size:13px}.job-design-name{font-size:11px}.action-hint{display:none!important}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.footer-job-item{animation:slideUp .3s ease-out}
