.jobs-page .job-rows{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.jobs-page .job-li{align-items:center;min-width:0;display:flex}.jobs-page .job-row{border:1px solid var(--row-line);background:var(--card);text-align:left;border-radius:.65rem;flex:1;grid-template-columns:1.5rem minmax(0,1fr) minmax(0,12rem);align-items:start;gap:.65rem;min-width:0;padding:.65rem .75rem;display:grid}.jobs-page .job-row:hover{border-color:var(--border)}.jobs-page .job-row.is-selected{border-color:color-mix(in oklch, var(--primary) 55%, var(--border));box-shadow:0 0 0 3px color-mix(in oklch, var(--primary) 14%, transparent)}.jobs-page .job-row .family{padding-top:.15rem}.jobs-page .job-row[data-tone=run] .family,.jobs-page .job-row[data-tone=wait] .family{color:var(--status-run)}.jobs-page .job-row[data-tone=wait] .family{color:var(--primary)}.jobs-page .job-row[data-tone=done] .family{color:var(--status-done)}.jobs-page .job-row[data-tone=fail] .family,.jobs-page .job-row[data-tone=stall] .family{color:var(--status-fail)}.jobs-page .job-row[data-tone=sched] .family{color:var(--status-sched)}.jobs-page .job-row[data-tone=run] .icon-ingest .glyph-motion{animation:1.1s cubic-bezier(.45,.05,.2,1) infinite jobs-ingest-run}.jobs-page .job-row[data-tone=run] .icon-enrich .glyph-motion,.jobs-page .job-row[data-tone=run] .icon-plan .glyph-motion{animation:1.35s ease-in-out infinite jobs-enrich-run}.jobs-page .job-row[data-tone=run] .icon-delete .glyph-motion{animation:1.2s ease-in-out infinite jobs-delete-run}.jobs-page .job-row[data-tone=stall] .family svg{animation:1.4s ease-in-out infinite jobs-icon-stall}.jobs-page .job-ttl{flex-direction:column;gap:.1rem;min-width:0;display:flex}.jobs-page .job-ttl b{font-family:var(--font-heading);letter-spacing:-.02em;overflow-wrap:anywhere;font-size:.95rem;font-weight:600;line-height:1.3}.jobs-page .job-k{color:var(--muted-foreground);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.jobs-page .job-sch{min-width:0;color:var(--muted-foreground);align-items:center;gap:.3rem;font-size:.78rem;display:inline-flex}.jobs-page .job-clock{flex-shrink:0;width:.85rem;height:.85rem}.jobs-page .job-s{color:var(--muted-foreground);font-variant-numeric:tabular-nums;text-align:right;padding-top:.15rem;font-size:.78rem;line-height:1.35}.jobs-page .job-s[data-tone=run]{color:var(--status-run);font-weight:500}.jobs-page .job-s[data-tone=wait]{color:var(--primary);font-weight:600}.jobs-page .job-s[data-tone=done]{color:var(--status-done)}.jobs-page .job-s[data-tone=fail],.jobs-page .job-s[data-tone=stall]{color:var(--status-fail)}.jobs-page .job-s[data-tone=sched]{color:var(--status-sched)}.jobs-page .job-panel h2{margin-top:.4rem}.jobs-page .job-panel .ins-body>*,.jobs-page .jrun-body>*{flex-shrink:0}.jobs-page .job-panel-tag{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.78rem;display:flex}.jobs-page .job-pill{white-space:nowrap;padding:1px 8px;font-size:11.5px}.plan-badge[data-kind=scheduled]{background:color-mix(in oklab, var(--status-sched) 14%, transparent);color:var(--status-sched)}.jobs-page .job-facts{grid-template-columns:max-content minmax(0,1fr);gap:.35rem .9rem;margin:0;font-size:.8125rem;display:grid}.jobs-page .job-facts dt{color:var(--muted-foreground)}.jobs-page .job-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.jobs-page .job-facts .job-sch{color:var(--foreground);font-size:inherit}.jobs-page .job-cron{background:var(--code-bg);color:var(--muted-foreground);font:.72rem/1.6 var(--font-mono);border-radius:.3rem;margin-top:.2rem;padding:0 .35rem;display:inline-block}.jobs-page .job-facts dd .job-sch{display:flex}.jobs-page .job-link{color:var(--foreground);text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);text-underline-offset:3px}.jobs-page .job-link:hover{text-decoration-color:currentColor}.jobs-page .job-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.jobs-page .btn-outline{border:1px solid var(--border);background:var(--card);color:var(--foreground)}.jobs-page .btn-outline:hover:not(:disabled){background:var(--hover)}.jobs-page .btn:disabled{opacity:.5;cursor:default}.jobs-page .job-confirm{border:1px solid color-mix(in oklch, var(--destructive) 28%, var(--border));border-radius:var(--radius);background:color-mix(in oklch, var(--destructive) 5%, var(--card));flex-direction:column;gap:.6rem;padding:.75rem .8rem;font-size:.8125rem;line-height:1.45;display:flex}.jobs-page .job-confirm .job-actions{justify-content:flex-end}.jobs-page .job-note{border-radius:var(--radius);padding:.6rem .75rem;font-size:.8125rem;line-height:1.4}.jobs-page .job-note:not([data-tone]){border:1px solid var(--border);background:var(--muted);color:var(--muted-foreground)}.jobs-page .job-note[data-tone=fail],.jobs-page .job-note[data-tone=stall]{border:1px solid color-mix(in oklch, var(--destructive) 28%, var(--border));background:color-mix(in oklch, var(--destructive) 8%, var(--card));color:var(--destructive)}.jobs-page .job-bar{background:var(--border);border-radius:999px;height:.22rem;overflow:hidden}.jobs-page .job-bar>span{background:var(--primary);height:100%;display:block}.jobs-page .job-runs-h{margin:.35rem 0 0;font-size:.8125rem;font-weight:600}.jobs-page .job-older{align-self:flex-start}.jobs-page .jruns{border:1px solid var(--border);border-radius:.65rem;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.jobs-page .jrun{border-bottom:1px solid var(--row-line)}.jobs-page .jrun:last-child{border-bottom:0}.jobs-page .jrun[data-open=true]{background:var(--background)}.jobs-page .jrun-head{text-align:left;grid-template-columns:.8rem auto minmax(0,1fr) auto;grid-template-areas:"c n w p"".m m m";align-items:center;gap:.1rem .5rem;width:100%;padding:.55rem .65rem;font-size:.8125rem;display:grid}.jobs-page .jrun-head:hover{background:var(--hover)}.jobs-page .jrun-caret{width:.75rem;height:.75rem;color:var(--muted-foreground);grid-area:c;transition:transform .12s}.jobs-page .jrun-head[aria-expanded=true] .jrun-caret{transform:rotate(90deg)}.jobs-page .jrun-n{grid-area:n;font-weight:600}.jobs-page .jrun-when{color:var(--muted-foreground);font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;grid-area:w;overflow:hidden}.jobs-page .jrun-head .job-pill{grid-area:p}.jobs-page .jrun-meta{color:var(--muted-foreground);font-variant-numeric:tabular-nums;grid-area:m;font-size:.78rem}.jobs-page .jrun-body{flex-direction:column;gap:.6rem;padding:0 .65rem .75rem 1.95rem;display:flex}.jobs-page .jrun-note,.jobs-page .jrun-empty{color:var(--muted-foreground);font-size:.8125rem;line-height:1.45}.jobs-page .jrun-note[data-tone=wait]{color:var(--foreground)}.jobs-page .jrun-log summary{color:var(--muted-foreground);cursor:pointer;font-size:.78rem}.jobs-page .jrun-log .log{max-height:11rem;margin-top:.4rem}.jobs-page .jsteps{border:1px solid var(--border);background:var(--card);border-radius:.6rem;flex-direction:column;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.jobs-page .jstep{border-bottom:1px solid var(--row-line);grid-template-columns:1.1rem minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.45rem .6rem;font-size:.8125rem;display:grid}.jobs-page .jstep:last-child{border-bottom:0}.jobs-page .jstep>svg{width:.95rem;height:.95rem}.jobs-page .jstep[data-tone=done]>svg{color:var(--status-done)}.jobs-page .jstep[data-tone=run]>svg{color:var(--status-run)}.jobs-page .jstep[data-tone=wait]>svg{color:var(--primary)}.jobs-page .jstep[data-tone=fail]>svg{color:var(--status-fail)}.jobs-page .jstep[data-tone=idle],.jobs-page .jstep[data-tone=skip],.jobs-page .jstep[data-tone=cancelled]{color:var(--muted-foreground)}.jobs-page .jstep-n{color:var(--muted-foreground);font-variant-numeric:tabular-nums;text-align:center;font-size:.72rem}.jobs-page .jstep-t{overflow-wrap:anywhere;min-width:0}.jobs-page .jstep-m{color:var(--muted-foreground);font-variant-numeric:tabular-nums;font-size:.75rem;display:block}.jobs-page .job-spin{animation:1s linear infinite job-spin}@keyframes job-spin{to{transform:rotate(360deg)}}.jobs-page .job-undo{flex-direction:column;gap:.3rem;font-size:.8125rem;display:flex}.jobs-page .job-undo ul{margin:0;padding-left:1.1rem}.jobs-page .job-undo-h{font-weight:600}@media (max-width:520px){.jobs-page .job-row{grid-template-columns:1.25rem minmax(0,1fr)}.jobs-page .job-s{text-align:left;grid-column:2;padding-top:0}}@media (prefers-reduced-motion:reduce){.jobs-page .job-row .glyph-motion,.jobs-page .job-row .family svg,.jobs-page .job-spin{animation:none}}
