/* Posts list — matches "05 Posts" in the Musketr Mockups Claude Design
   file. Builds on the existing .post-table/.post-result rules already in
   application.css (shared with the Dashboard's own recent-posts table);
   this file only adds what's new: filter tabs, the trailing chevron
   column, and per-destination status dots. */

.posts-list__head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 22px; }
.posts-list__head h1 { margin: 0; font: 400 2rem var(--font-display); letter-spacing: -0.02em; color: var(--ink); }
.posts-list__controls { display: flex; align-items: center; gap: 10px; }
.posts-list__tabs { display: flex; background: var(--wash); border: 1px solid var(--line); border-radius: 8px; padding: 3px; }
.posts-list__tab { padding: 7px 13px; border-radius: 6px; font: 600 0.8rem var(--font-ui); color: var(--soft); text-decoration: none; }
.posts-list__tab.is-active { background: #fff; color: var(--ink); box-shadow: 0 1px 2px rgba(20, 32, 52, 0.08); }

.post-table--rich .post-table-head, .post-table--rich .post-table-row { grid-template-columns: minmax(260px, 2fr) 1fr 1.05fr 0.85fr 18px; }
.post-chevron { color: var(--faint); font-size: 16px; text-align: right; }

.platform-chip { display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px 3px 4px; border-radius: 20px; background: var(--wash); }
.chip-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--line); flex-shrink: 0; }
.chip-dot.is-live { background: var(--green); }
.chip-dot.is-failed { background: var(--red); }
.chip-dot.is-pending { background: var(--faint); }

.post-result.is-scheduled { color: var(--cardinal); }

@media (max-width: 780px) {
  .post-table--rich .post-table-row { grid-template-columns: 1fr auto; }
  .post-chevron { display: none; }
}
