/* Batch operations workspace */

.batch-main {
  padding: var(--gutter) var(--page-x) 48px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.batch-tabs {
  display: flex;
  gap: 6px;
  padding: 4px;
  background: var(--surface-1);
  border: 1px solid var(--border);
  border-radius: var(--r);
  align-self: flex-start;
}
.batch-tab {
  background: transparent;
  border: none;
  color: var(--text-2);
  font-size: var(--fs-sm);
  font-weight: 500;
  padding: 7px 16px;
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: background .12s ease, color .12s ease;
}
.batch-tab:hover { color: var(--text); }
.batch-tab.active {
  background: var(--surface-3);
  color: var(--text);
  font-weight: 600;
}

.batch-panel { display: none; flex-direction: column; gap: 18px; }
.batch-panel.active { display: flex; }

.batch-grid {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 18px;
  align-items: start;
}
@media (max-width: 900px) { .batch-grid { grid-template-columns: 1fr; } }

/* Mode buttons row */
.bp-mode-row {
  display: flex;
  gap: 6px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}
.bp-mode-btn, .ba-mode-btn {
  background: var(--surface-2);
  border: 1px solid var(--border);
  color: var(--text-2);
  font-size: var(--fs-sm);
  padding: 6px 12px;
  border-radius: var(--r-sm);
  cursor: pointer;
  transition: all .12s ease;
}
.bp-mode-btn:hover, .ba-mode-btn:hover { color: var(--text); }
.bp-mode-btn.active, .ba-mode-btn.active {
  background: var(--surface-3);
  color: var(--text);
  border-color: var(--border-strong);
  font-weight: 600;
}

.bp-search-row {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
}
.bp-search-row input {
  flex: 1;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  padding: 7px 10px;
  color: var(--text);
  font-size: var(--fs-sm);
  outline: none;
}

.bp-list {
  max-height: 380px;
  overflow-y: auto;
  background: var(--surface);
  border-radius: var(--r-sm);
  padding: 4px;
}
.bp-empty {
  text-align: center;
  color: var(--text-3);
  padding: 30px 10px;
  font-size: var(--fs-sm);
}

/* Results */
.batch-results .sc-body { padding: 14px 18px 18px; }

.bp-progress-bar {
  height: 6px;
  background: var(--surface-3);
  border-radius: 3px;
  overflow: hidden;
}
.bp-progress-fill {
  height: 100%;
  background: var(--primary-bright);
  width: 0%;
  transition: width .25s ease;
}
.bp-progress-fill.indeterminate {
  animation: ind-pulse 1.6s infinite ease-in-out;
}
@keyframes ind-pulse {
  0%   { width: 6%;  margin-left: 0; }
  50%  { width: 28%; margin-left: 35%; }
  100% { width: 6%;  margin-left: 92%; }
}

/* Cell status */
.cell-status {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 4px;
  font-family: var(--mono);
  font-size: var(--fs-xs);
  background: var(--surface-3);
  color: var(--text-3);
}
.cell-status.ok {
  background: var(--primary-soft);
  color: var(--primary-bright);
  border: 1px solid var(--primary-line);
}
.cell-status.bad {
  background: var(--error-soft);
  color: var(--error);
  border: 1px solid var(--error-line);
}

.sched-table tbody tr.ok td { /* keep neutral */ }
.sched-table tbody tr.error td { background: var(--error-soft); }
.sched-table tbody tr.partial td { background: var(--warning-soft); }

textarea#ba-artists {
  width: 100%;
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  padding: 10px;
  color: var(--text);
  font-family: var(--mono);
  font-size: var(--fs-sm);
  resize: vertical;
  outline: none;
}
textarea#ba-artists:focus { border-color: var(--primary-line); }
