/* Placements — link-building tasks page (data from the external tasks API proxy). */

/* KPI strip */
.pl-stats {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-bottom: var(--space-4);
}
.pl-stat {
  flex: 1 1 140px;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--color-border);
  border-left-width: 3px;
  border-radius: var(--radius-md, 8px);
  background: var(--color-surface);
}
.pl-stat__val   { font-size: var(--text-xl, 20px); font-weight: var(--font-semibold); color: var(--color-text-primary); }
.pl-stat__label { font-size: var(--text-xs); color: var(--color-text-muted); text-transform: uppercase; letter-spacing: 0.05em; margin-top: 2px; }
/* status-tinted left border on the KPI cards */
.pl-stat--neutral { border-left-color: var(--color-border); }
.pl-stat--warning { border-left-color: var(--color-warning); }
.pl-stat--info    { border-left-color: var(--color-info); }
.pl-stat--success { border-left-color: var(--color-success); }
.pl-stat--danger  { border-left-color: var(--color-danger); }

.pl-filter-bar { margin-bottom: var(--space-4); }
.pl-table-card { margin-bottom: var(--space-4); }
.pl-source     { font-size: var(--text-sm); color: var(--color-text-muted); }
.pl-muted      { color: var(--color-text-muted); }

/* Donor link — opens in a new tab via dereferer.me */
.pl-donor-link { color: var(--color-accent); text-decoration: none; }
.pl-donor-link:hover { text-decoration: underline; }
.pl-extlink-ico { opacity: 0.7; font-size: 0.85em; }

/* Comment cell — show as-is, truncate long values (full text on hover) */
.pl-comment {
  display: inline-block;
  max-width: 220px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

/* Target shop(s) cell — stacked */
.pl-shop { line-height: 1.3; }
.pl-shop + .pl-shop { margin-top: 2px; padding-top: 2px; border-top: 1px dashed var(--color-border); }
.pl-shop__dom { font-size: var(--text-sm); }

/* Detail modal */
.pl-detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2) var(--space-4);
  margin-bottom: var(--space-4);
}
.pl-kv { display: flex; gap: var(--space-2); font-size: var(--text-sm); align-items: baseline; }
.pl-kv__k { color: var(--color-text-muted); min-width: 130px; }
.pl-kv__v { color: var(--color-text-primary); }

.pl-section-title {
  font-size: var(--text-sm);
  font-weight: var(--font-semibold);
  color: var(--color-text-secondary);
  margin: var(--space-4) 0 var(--space-2);
}

/* Shop card with the ready-to-place link HTML + copy */
.pl-shop-card {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md, 8px);
  padding: var(--space-2) var(--space-3);
  margin-bottom: var(--space-2);
  background: var(--color-surface);
}
.pl-shop-card__head { font-size: var(--text-sm); margin-bottom: var(--space-2); }
.pl-linkhtml {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
}
.pl-linkhtml code {
  flex: 1;
  display: block;
  padding: var(--space-2);
  border-radius: var(--radius-sm, 4px);
  background: var(--color-surface-alt, rgba(255, 255, 255, 0.04));
  font-family: var(--font-mono, monospace);
  font-size: var(--text-xs);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  color: var(--color-text-secondary);
}
.pl-copy { flex: 0 0 auto; }

@media (max-width: 720px) {
  .pl-detail-grid { grid-template-columns: 1fr; }
}
