.job-panel { margin-top: 28px; padding: 26px; border: 1px solid var(--border); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.job-panel-header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.job-panel-header h2 { margin: 4px 0 0; font-size: 22px; }
.job-status-badge { padding: 7px 11px; border-radius: 999px; background: var(--sand-soft); color: var(--muted); font-size: 11px; font-weight: 600; }
.job-status-badge.running { background: var(--warning-soft); color: var(--warning); }
.job-status-badge.success { background: var(--success-soft); color: var(--success); }
.job-status-badge.error { background: var(--danger-soft); color: var(--danger); }
.job-progress { position: relative; overflow: hidden; height: 7px; margin: 22px 0 18px; border-radius: 999px; background: var(--sand-soft); }
.job-progress-bar { position: absolute; inset: 0; width: 35%; border-radius: 999px; background: var(--gold); animation: job-progress 1.2s infinite ease-in-out; }
.job-result { margin-top: 18px; padding: 17px; border: 1px solid var(--border); border-radius: 13px; background: var(--sand-soft); color: var(--muted); line-height: 1.7; }
.job-result strong { color: var(--ink); }
.job-result pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.job-result details { margin-top: 14px; }
.job-result summary { color: var(--gold-dark); cursor: pointer; font-weight: 600; }
@keyframes job-progress { from { transform: translateX(-120%); } to { transform: translateX(320%); } }
