/* Data-quality gate modal — shown when a reorg is blocked by missing colour/grapes. */

.data-quality-gate-overlay {
  /* Reuse modal-overlay base styles; add modal-specific sizing. */
}

.data-quality-gate-modal {
  max-width: 640px;
  width: 95%;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
}

.data-quality-gate-modal__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--space-md, 12px);
  border-bottom: 1px solid var(--border-muted, #e0e0e0);
}

.data-quality-gate-modal__title {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 600;
}

.data-quality-gate-modal__close {
  background: transparent;
  border: none;
  font-size: 1.4rem;
  cursor: pointer;
  padding: 4px 8px;
  color: var(--text-muted, #666);
}

.data-quality-gate-modal__subtitle {
  margin: 0;
  padding: var(--space-sm, 8px) var(--space-md, 12px);
  color: var(--text-muted, #666);
  font-size: 0.9rem;
}

.data-quality-gate-modal__list {
  overflow-y: auto;
  max-height: 56vh;
  padding: 0 var(--space-md, 12px);
}

.data-quality-gate-modal__empty {
  padding: var(--space-lg, 16px);
  text-align: center;
  color: var(--ok-fg, #2a5a1d);
  background: var(--ok-bg, #f2f9f0);
  border: 1px solid var(--ok-border, #cde6be);
  border-radius: var(--radius-md);
  margin: var(--space-sm, 8px) 0;
}

.data-quality-gate-row {
  padding: var(--space-sm, 8px) 0;
  border-bottom: 1px solid var(--border-muted, #eee);
}
.data-quality-gate-row:last-child {
  border-bottom: none;
}

.data-quality-gate-row__header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-sm, 8px);
  margin-bottom: 4px;
}

.data-quality-gate-row__name {
  font-weight: 500;
  color: var(--text-primary, #222);
}

.data-quality-gate-row__missing {
  font-size: 0.8rem;
  color: var(--warning-fg, #7a4d00);
  background: var(--warning-bg, #fff7e6);
  padding: 2px 8px;
  border-radius: var(--radius-sm);
}

.data-quality-gate-row__actions {
  display: flex;
  gap: var(--space-xs, 4px);
  align-items: center;
  flex-wrap: wrap;
}

.data-quality-gate-row__colour,
.data-quality-gate-row__grapes {
  padding: 4px 8px;
  font-size: 0.85rem;
  border: 1px solid var(--border-muted, #ccc);
  border-radius: var(--radius-sm);
}

.data-quality-gate-row__grapes {
  flex: 1 1 140px;
  min-width: 0;
}

.data-quality-gate-row__research {
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 1.1rem;
  padding: 4px 8px;
  min-width: 36px;
  min-height: 36px;
  border-radius: var(--radius-sm);
  color: var(--text-muted, #666);
  transition: background 0.15s;
}
.data-quality-gate-row__research:hover {
  background: var(--chip-bg, #f0f0f0);
  color: var(--text-primary, #222);
}

.data-quality-gate-modal__actions {
  display: flex;
  justify-content: flex-end;
  gap: var(--space-sm, 8px);
  padding: var(--space-md, 12px);
  border-top: 1px solid var(--border-muted, #e0e0e0);
}

/* Mobile: stack row header + actions */
@media (max-width: 640px) {
  .data-quality-gate-row__header {
    flex-direction: column;
    align-items: flex-start;
  }
  .data-quality-gate-row__actions {
    width: 100%;
  }
  .data-quality-gate-row__grapes {
    flex: 1 1 100%;
  }
}
