.jobactions { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.smallbutton.danger { border-color: #955; background: #4a2929; color: #ffd0d0; }
.smallbutton.danger:hover { background: #663333; }
.smallbutton.danger:disabled { color: #987; background: #332525; }

.bulk-panel { padding: 0 8px 8px; }
.bulk-head { margin-bottom: 6px; }
.bulk-panel > p { margin: 6px 0; }
.bulk-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid var(--line-soft); }
.bulk-stats div { padding: 5px 7px; border-right: 1px solid var(--line-soft); }
.bulk-stats div:last-child { border-right: 0; }
.bulk-stats span, .bulk-stats b { display: block; }
.bulk-stats span { color: var(--muted); font-size: 10px; }
.bulk-stats b { margin-top: 2px; font-size: 11px; }
.bulk-progress { margin-top: 7px; }
#bulkExport { text-decoration: none; }

.job {
  display: grid;
  grid-template-columns: minmax(200px,1fr) minmax(180px,.8fr) auto;
  grid-template-areas:
    "title progress actions"
    "path progress actions"
    "status progress actions";
  gap: 5px 10px;
  padding: 7px;
  border: 1px solid var(--line);
  border-bottom: 0;
  border-radius: 0;
}
.job:last-child { border-bottom: 1px solid var(--line); }
.job:nth-child(even) { background: #2d2d2d; }
.jobtitle { display: flex; justify-content: space-between; gap: 8px; }
.jobtitle { grid-area: title; }
.job h3 { margin: 0; font-size: 11px; overflow-wrap: anywhere; }
.job p { margin: 2px 0; color: var(--muted); font-size: 10px; }
.jobpath { grid-area: path; }
.jobstatus { grid-area: status; }
.job .progress { grid-area: progress; align-self: center; }
.job .jobactions { grid-area: actions; align-content: center; margin: 0; }
.job > .error { grid-column: 1 / -1; }
.job-complete, .job-canceled {
  grid-template-columns: minmax(0,1fr) auto;
  grid-template-areas:
    "title actions"
    "path actions"
    "status actions";
}
.job-complete > .progress, .job-canceled > .progress { display: none; }

.historybar > div span { display: block; margin-top: 2px; }
.historybar .smallbutton { white-space: nowrap; }
.history-filters { display: grid; grid-template-columns: 1.5fr 1fr .8fr .9fr 1fr .9fr auto; align-items: end; gap: 5px; padding: 7px; }
.history-list { border: 1px solid var(--line); border-top: 0; }
.history-item { padding: 6px 7px; border: 0; border-bottom: 1px solid var(--line-soft); border-radius: 0; }
.history-item:nth-child(even) { background: #2d2d2d; }
.history-item:last-child { border-bottom: 0; }
.history-top { display: flex; justify-content: space-between; gap: 10px; }
.history-item h3 { margin: 0; font-size: 11px; overflow-wrap: anywhere; }
.history-meta, .history-links { display: flex; flex-wrap: wrap; gap: 3px 10px; margin-top: 4px; color: var(--muted); font-size: 10px; }
.history-links a, .history-paths summary { color: var(--link); cursor: pointer; text-decoration: none; }
.history-tags { display: flex; flex-wrap: wrap; gap: 3px; margin-top: 4px; }
.history-more { display: block; margin: 7px auto; }
.history-paths { margin-top: 5px; color: var(--muted); font-size: 10px; }
.history-paths code { display: block; margin-top: 3px; }

@media (max-width: 1000px) {
  .history-filters { grid-template-columns: repeat(4,minmax(0,1fr)); }
  .job { grid-template-columns: minmax(160px,1fr) minmax(130px,.7fr); }
  .job .jobactions { grid-column: 1 / -1; grid-row: auto; }
}

@media (max-width: 620px) {
  .bulk-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .bulk-stats div:nth-child(2) { border-right: 0; }
  .bulk-stats div:nth-child(-n+2) { border-bottom: 1px solid var(--line-soft); }
  .history-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .job { display: block; }
  .job .progress { margin-top: 5px; }
}
