/* IESDesk product parts: progress, stats, the History table and the status
   tags. The kit top menu frames every page (MEMORY 2026-10-03 one-top-bar).
   White paper by default. Dark is opt-in via html[data-theme="dark"].
   Track fills use --radius-sm (4px). The kit does not allow pill radii. */

.pq-num { font-variant-numeric: tabular-nums; font-feature-settings: "tnum" on; }

.pq-progress {
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  padding: var(--space-xl);
}
.pq-progress__head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin-bottom: var(--space-sm);
}
.pq-progress__title { margin: 0; }
.pq-progress__pct { font-family: var(--mono); font-size: 13px; color: var(--ink-soft); }
.pq-progress__track {
  height: 6px;
  border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--ink) 9%, transparent);
  overflow: hidden;
}
.pq-progress__fill { height: 100%; background: var(--ink); border-radius: var(--radius-sm); }
.pq-progress__note { margin: var(--space-sm) 0 0; font-size: 13px; color: var(--ink-faint); }
/* A second section in one panel (parse, then export) starts after a gap. */
.pq-progress__note + .pq-progress__head { margin-top: var(--space-xl); }

/* Turbo Drive injects a default blue bar (#0076ff). Use brand ink instead. */
.turbo-progress-bar {
  background: var(--ink);
}

/* Card or panel title: kill kit prose margins so the heading sits at the top. */
.pq-card__title { margin: 0; }

.pq-stats {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-md);
}
.pq-stat {
  flex: 1 1 200px;
  box-sizing: border-box;
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  padding: var(--space-md) var(--space-xl) var(--space-xl);
}
.pq-stat--featured { background: var(--surface); border-color: transparent; }
.pq-stat__label { margin: 0 0 14px; }
.pq-stat__value {
  font-family: var(--display);
  font-size: 38px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--ink);
}
.pq-stat__sub { margin-top: var(--space-xs); font-size: 13px; color: var(--ink-soft); }

.pq-table-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-xl);
}
.pq-table-title { margin: 0; }
.pq-table-tools { display: flex; align-items: center; gap: var(--space-md); }
.pq-filter {
  font-family: var(--display);
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-faint);
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.pq-filter.is-active { color: var(--ink); }
.pq-filter:hover { color: var(--ink-soft); }
.pq-filter:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.pq-report {
  color: var(--ink-soft);
  font-weight: 500;
}

.pq-table {
  border: 1px solid var(--rule);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.pq-tr {
  display: grid;
  grid-template-columns: minmax(0, 2.4fr) 0.7fr 1fr 1.2fr 0.7fr 1.1fr;
  align-items: center;
  gap: var(--space-md);
  padding: 13px var(--space-xl);
  border-bottom: 1px solid var(--rule);
}
.pq-tr:last-child { border-bottom: 0; }
.pq-tr--head {
  font-family: var(--display);
  font-size: 13px;
  font-weight: 600;
  color: var(--ink-faint);
  background: var(--surface);
}
.pq-tr--head .pq-r { justify-self: end; }
.pq-r { text-align: right; }
.pq-tr:not(.pq-tr--head):hover { background: color-mix(in srgb, var(--ink) 3%, transparent); }
.pq-file code,
html[data-theme="dark"] .pq-file code {
  font-family: var(--mono);
  font-size: 12.5px;
  color: var(--ink);
  background: none;
  padding: 0;
  border-radius: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}
.pq-fmt {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 500;
  color: var(--ink-soft);
  letter-spacing: 0.04em;
}
.pq-tr .pq-num { font-size: 13.5px; color: var(--ink); }
/* The retention note is its own line under the batch title. */
.pq-tr > :first-child .iesdesk-quiet { display: block; margin-top: var(--space-2xs); }

.pq-status {
  display: inline-flex;
  align-items: center;
  font-family: var(--display);
  font-size: 12.5px;
  font-weight: 600;
  padding: 0.45em 0.7em;
  border-radius: var(--radius-sm);
  white-space: nowrap;
}
.pq-status--valid {
  color: var(--paper);
  background: var(--ink);
  border: 1px solid var(--ink);
}
.pq-status--flag { color: var(--ink-soft); border: 1px solid var(--rule); }
.pq-status--err { color: var(--ink); border: 1px solid color-mix(in srgb, var(--ink) 28%, transparent); }
.pq-status--skip { color: var(--ink-faint); }

/* The base .agustos-lockup rules and the .iesdesk-brand rule live in
   iesdesk.css, which every layout loads. */

/* Breakpoints: 860px hides three columns of a job list, 640px stacks each row. */
@media (max-width: 859.98px) {
  .pq-tr { grid-template-columns: minmax(0, 2fr) 1fr 1.1fr; }
  .pq-tr > :nth-child(3), .pq-tr > :nth-child(4), .pq-tr > :nth-child(5) { display: none; }
}
/* Phone: each history row stacks. Title on its own line, state and actions below.
   The header row stays in the accessibility tree; only its pixels go. */
@media (max-width: 639.98px) {
  .pq-tr--head { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }
  .pq-tr { grid-template-columns: 1fr auto; row-gap: var(--space-xs); }
  .pq-tr > :first-child { grid-column: 1 / -1; }
}
/* Your files: five columns (Started, Tool, Files, State, Next step). It keeps
   every column down to 640px, then stacks like the other lists. The date, the
   file count and the state stay on one line, so their columns never shrink
   below that line. Only the tool name wraps. */
.iesdesk-files-table__nowrap { white-space: nowrap; }
.iesdesk-files-table .pq-tr { grid-template-columns: minmax(min-content, 1.6fr) minmax(0, 1fr) minmax(min-content, 0.6fr) minmax(min-content, 1.2fr) minmax(min-content, 1.6fr); }
@media (max-width: 859.98px) {
  .iesdesk-files-table .pq-tr { grid-template-columns: minmax(min-content, 1.4fr) minmax(0, 1fr) minmax(min-content, 0.6fr) minmax(min-content, 1fr) minmax(min-content, 1.4fr); }
  .iesdesk-files-table .pq-tr > :nth-child(n) { display: block; }
}
@media (max-width: 639.98px) {
  .iesdesk-files-table .pq-tr { grid-template-columns: 1fr auto; }
}
