<tr id="article-group-{{ g.url_path | replace('/', '-') | trim('-') }}">
  <td onclick="event.stopPropagation()">
    <input type="checkbox" class="article-checkbox"
           data-ids="{{ g.variants | map(attribute='id') | join(',') }}"
           onchange="toggleArticleGroupSelect(this)">
  </td>
  <td style="max-width:260px">
    <div style="overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500" title="{{ g.url_path }}">{{ g.title }}</div>
    <div class="article-subtitle">{{ g.url_path }}</div>
  </td>
  <td>
    {% for v in g.variants %}
    <div class="variant-row">
      {% if v.display_status == 'live' %}
      <a href="/{{ v.language or 'en' }}{{ v.url_path }}" target="_blank"
         class="lang-chip lang-chip-{{ v.display_status }}"
         title="View live {{ v.language|upper }} article">
        <span class="dot"></span>{{ v.language | upper }}
        {% if v.noindex %}<span class="noindex-tag">noindex</span>{% endif %}
      </a>
      {% else %}
      <span class="lang-chip lang-chip-{{ v.display_status }}"
            title="{{ v.display_status | capitalize }}">
        <span class="dot"></span>{{ v.language | upper }}
        {% if v.noindex %}<span class="noindex-tag">noindex</span>{% endif %}
      </span>
      {% endif %}
      <a href="{{ url_for('admin.article_edit', article_id=v.id) }}"
         class="btn-outline btn-sm view-lang-btn">Edit</a>
    </div>
    {% endfor %}
  </td>
  <td class="mono">{{ g.published_at[:10] if g.published_at else '-' }}</td>
  {% if current_article_type == 'generated' %}<td class="text-slate">{{ g.template_slug or '-' }}</td>{% endif %}
</tr>
