.activity-view {
  height: 100%;
  overflow: auto;
  padding: clamp(1rem, 3vw, 2.5rem);
  background: linear-gradient(145deg, rgba(244, 237, 216, .96), rgba(225, 215, 185, .94));
}

.activity-shell { width: min(880px, 100%); margin: 0 auto; }
.activity-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.activity-header h1 { margin: .1rem 0 0; font-family: Georgia, serif; color: #2f3425; }
.activity-intro { margin: .65rem 0 1.25rem; color: #5e624e; }

.activity-composer {
  display: grid;
  gap: .85rem;
  padding: 1.1rem;
  border: 1px solid rgba(102, 83, 45, .24);
  border-radius: 16px;
  background: rgba(255, 252, 240, .86);
  box-shadow: 0 10px 28px rgba(47, 52, 37, .08);
}
.activity-composer-row { display: grid; grid-template-columns: minmax(120px, .4fr) 1fr; gap: .8rem; }
.activity-composer label { display: grid; gap: .35rem; color: #4b4e3c; font-size: .86rem; font-weight: 700; }
.activity-composer select,
.activity-composer textarea {
  width: 100%;
  border: 1px solid rgba(88, 79, 55, .32);
  border-radius: 9px;
  padding: .7rem .75rem;
  background: #fffdf5;
  color: #292d21;
  font: inherit;
}
.activity-composer textarea { resize: vertical; line-height: 1.45; }
.activity-mentions { border: 0; padding: 0; margin: 0; }
.activity-mentions legend { margin-bottom: .4rem; color: #4b4e3c; font-size: .86rem; font-weight: 700; }
.activity-mentions > div { display: flex; flex-wrap: wrap; gap: .45rem .9rem; }
.activity-mentions label { display: flex; align-items: center; gap: .35rem; font-weight: 500; }
.activity-composer-actions { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
#activity-status { color: #62704a; font-size: .88rem; }
#activity-status.is-error, .activity-empty.is-error { color: #9b392f; }

.activity-feed { display: grid; gap: .85rem; margin-top: 1rem; padding-bottom: 3rem; }
.activity-card {
  padding: 1rem 1.1rem;
  border: 1px solid rgba(93, 79, 45, .2);
  border-radius: 14px;
  background: rgba(255, 253, 245, .82);
}
.activity-card header { display: flex; gap: .75rem; align-items: center; }
.activity-avatar {
  display: grid;
  flex: 0 0 2.35rem;
  height: 2.35rem;
  place-items: center;
  border-radius: 50%;
  background: #667047;
  color: #fffdf2;
  font-size: .78rem;
  font-weight: 800;
}
.activity-card header p { margin: 0; color: #393d2d; }
.activity-card time { display: block; margin-top: .14rem; color: #777763; font-size: .76rem; }
.activity-target { color: #7b6433; }
.activity-message { margin: .8rem 0 .45rem 3.1rem; color: #35382d; line-height: 1.55; white-space: pre-wrap; }
.activity-mentioned { margin: 0 0 .4rem 3.1rem; color: #6f684e; font-size: .8rem; }
.activity-card-actions { display: flex; gap: .75rem; align-items: center; margin: .6rem 0 0 3.1rem; }
.activity-card-actions button { border: 0; padding: 0; background: transparent; color: #667047; font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer; }
.activity-card-actions button:last-of-type { color: #8b4b3f; }
.activity-resolved { border-radius: 999px; padding: .18rem .5rem; background: #e0e8cf; color: #4f6136; font-size: .75rem; font-weight: 800; }
.activity-reply-form { display: grid; grid-template-columns: 1fr auto; gap: .55rem; margin: .75rem 0 0 3.1rem; }
.activity-reply-form textarea { min-width: 0; resize: vertical; border: 1px solid rgba(88, 79, 55, .3); border-radius: 8px; padding: .6rem; font: inherit; }
.activity-empty { padding: 2rem; text-align: center; color: #686b57; }

.notification-preferences { border-bottom: 1px solid rgba(109, 98, 69, .18); padding: .55rem .9rem; }
.notification-preferences summary { cursor: pointer; color: #5c6543; font-size: .8rem; font-weight: 750; }
.notification-preferences form { display: grid; grid-template-columns: repeat(3, 1fr); gap: .45rem; margin-top: .6rem; }
.notification-preferences label { color: #4d503e; font-size: .78rem; white-space: nowrap; }
.notification-preferences button { justify-self: start; border: 0; border-radius: 999px; padding: .35rem .65rem; background: #667047; color: white; font: inherit; font-size: .74rem; cursor: pointer; }
#notification-preferences-status { grid-column: 2 / -1; align-self: center; color: #5f6846; font-size: .72rem; }
.share-transfer-note { margin: .55rem 0 0; color: #716c58; font-size: .8rem; line-height: 1.4; }

@media (max-width: 700px) {
  .activity-view { padding: 1rem .75rem; }
  .activity-header { align-items: flex-start; }
  .activity-composer-row { grid-template-columns: 1fr; }
  .activity-message, .activity-mentioned, .activity-card-actions, .activity-reply-form { margin-left: 0; }
  .activity-reply-form { grid-template-columns: 1fr; }
  .notification-preferences form { grid-template-columns: 1fr; }
  #notification-preferences-status { grid-column: 1; }
}
