/* Announcements page styles */
.pg-announcements .ann-list { display: flex; flex-direction: column; gap: 14px; }
.pg-announcements .ann-card { padding: 20px 22px; }
.pg-announcements .ann-card + .ann-card { margin-top: 0; } /* flex gap handles spacing */
.pg-announcements .ann-card.is-pinned {
  border-left: 4px solid var(--gold);
  background: var(--gold-50);
}

.pg-announcements .ann-head {
  display: flex; gap: 12px; align-items: flex-start; justify-content: space-between;
}
.pg-announcements .ann-head-main { min-width: 0; }
.pg-announcements .ann-pin-badge { margin-bottom: 8px; }
.pg-announcements .ann-title {
  margin: 0 0 8px; font-size: 15.5px; line-height: 1.35; overflow-wrap: anywhere;
}
.pg-announcements .ann-actions { display: flex; gap: 6px; flex: none; }
.pg-announcements .ann-del { color: var(--danger); }

.pg-announcements .ann-body {
  font-size: 13.5px; line-height: 1.65; overflow-wrap: anywhere; margin-bottom: 14px;
}

.pg-announcements .ann-meta {
  display: flex; align-items: center; gap: 10px;
  border-top: 1px solid var(--line); padding-top: 12px;
}
.pg-announcements .ann-meta .avatar { width: 32px; height: 32px; font-size: 11.5px; }
.pg-announcements .ann-author { flex: 1; min-width: 0; }
.pg-announcements .ann-author-name { font-weight: 700; font-size: 12.5px; }
.pg-announcements .ann-author-sub { font-size: 11.5px; color: var(--muted); }
.pg-announcements .ann-aud { flex: none; }

/* Composer modal (lives in #modal-root, namespaced by ann- classes) */
.ann-pin-row {
  display: flex; align-items: center; gap: 9px; font-size: 13px; font-weight: 600;
  margin: 2px 0 12px; cursor: pointer; user-select: none;
}
.ann-pin-row input { width: 16px; height: 16px; accent-color: var(--gold-dark); margin: 0; }

@media (max-width: 560px) {
  .pg-announcements .ann-card { padding: 16px; }
  .pg-announcements .ann-btn-label { display: none; }
  .pg-announcements .ann-actions .btn-sm { padding: 6px 8px; }
}
