.announcement-admin { max-width: 1120px; margin-inline: auto; }
.announcement-header { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-bottom: 28px; flex-wrap: wrap; }
.announcement-header h1 { margin: 0 0 8px; }
.announcement-header p { margin: 0; }
.announcement-row { padding-block: 24px; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.announcement-row .row { flex-wrap: wrap; }
.announcement-row time { margin-left: auto; font-size: 12px; font-variant-numeric: tabular-nums; }
.announcement-row h2 { font-size: 18px; margin: 12px 0; }
.announcement-body { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 72ch; line-height: 1.7; }
.announcement-row .announcement-body { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.announcement-form { display: grid; gap: 10px; }
.announcement-form .input { width: 100%; min-width: 0; }
.announcement-form textarea { resize: vertical; min-height: 180px; max-height: 45vh; }
.announcement-form p { margin: 0 0 8px; font-size: 12px; }
.announcement-options { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.announcement-options label { display: grid; gap: 8px; }
.notif .ni2 p { white-space: pre-wrap; overflow-wrap: anywhere; }
.notif .ni2 .row { flex-wrap: wrap; overflow-wrap: anywhere; }
@media (max-width: 700px) {
  .top #topIcons { display: flex; flex: 0 0 auto; }
}
@media (max-width: 600px) {
  .announcement-header { align-items: flex-start; gap: 16px; }
  .announcement-row time { width: 100%; margin-left: 0; }
  .announcement-options { grid-template-columns: 1fr; }
  .announcement-form .input { font-size: 16px; }
}
