/* Link Tasks (/lb) — link-builder task queue. Reuses pl-* (placements.css). */

.lb-filter-bar { margin-bottom: var(--space-3); }
.lb-table-card { margin-bottom: var(--space-4); }

/* The Linkbuilder filter is admin/manager-only (JS removes [hidden] for them).
   `.shops-filter-bar__field` sets display:flex, which beats the UA [hidden]
   rule — so honour `hidden` explicitly here (link-builders never see it). */
.shops-filter-bar__field[hidden] { display: none; }

/* Export bar (below filters) */
.lb-export-bar {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}
.lb-export-hint { font-size: var(--text-xs); color: var(--color-text-muted); }

/* Queue tabs (New / Active / Done / Failed) — each its own URL */
.lbq-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
  border-bottom: 1px solid var(--color-border);
  margin-bottom: var(--space-4);
}
.lbq-tab {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  color: var(--color-text-secondary);
  text-decoration: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
}
.lbq-tab:hover { color: var(--color-text-primary); }
.lbq-tab.is-active { color: var(--color-accent); border-bottom-color: var(--color-accent); }
.lbq-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 9px;
  font-size: var(--text-xs);
  font-weight: var(--font-semibold);
  background: var(--color-border);
  color: var(--color-text-secondary);
}
.lbq-tab.is-active .lbq-count { background: var(--color-accent); color: #fff; }

/* Row actions (View / Take / Fail) */
.lb-actions { display: flex; flex-wrap: wrap; gap: 4px; }
.lb-fail-btn { color: var(--color-danger); }

/* Done submission form (task detail modal) */
.lb-done-form {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  margin-top: var(--space-2);
}
.lb-done-row { display: flex; align-items: center; gap: var(--space-2); }
.lb-done-row__shop {
  flex: 0 0 auto;
  min-width: 120px;
  max-width: 200px;
  font-size: var(--text-sm);
  font-weight: var(--font-medium);
  color: var(--color-text-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lb-done-row .lb-done-url { flex: 1 1 auto; min-width: 0; }
.lb-done-form .lb-done-submit { align-self: flex-start; margin-top: var(--space-1); }

/* Copy-all-links button (task detail modal) */
.lb-copy-all { margin: var(--space-2) 0 var(--space-1); }

/* Stats tab (Work stats) */
.lbq-tab--right { margin-left: auto; }
.lb-ws-controls { display: flex; flex-wrap: wrap; gap: var(--space-3); align-items: flex-end; margin-bottom: var(--space-4); }
.lb-ws-kpis { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-bottom: var(--space-4); }
.lb-ws-kpi {
  flex: 1 1 140px;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md, 8px);
  background: var(--color-surface);
}
.lb-ws-kpi__val   { font-size: var(--text-xl, 20px); font-weight: var(--font-semibold); color: var(--color-text-primary); }
.lb-ws-kpi__label { font-size: var(--text-xs); color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.05em; margin-top: 2px; }
.lb-ws-fails { display: flex; flex-direction: column; gap: var(--space-2); max-width: 480px; }
.lb-ws-fail { display: flex; align-items: center; gap: var(--space-2); font-size: var(--text-sm); }
.lb-ws-fail__reason { flex: 0 0 130px; color: var(--color-text-secondary); }
.lb-ws-fail__bar { flex: 1 1 auto; height: 8px; background: var(--color-border); border-radius: 4px; overflow: hidden; }
.lb-ws-fail__bar > span { display: block; height: 100%; background: var(--color-danger); }
.lb-ws-fail__count { flex: 0 0 auto; min-width: 32px; text-align: right; color: var(--color-text-muted); }
