/* Class announcements share the portal's open rows and focused editor. */
.teacher-announcement-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
}
.teacher-announcement-toolbar > button,
.teacher-announcement-actions > button { min-height: 44px; }
.teacher-announcement-audience {
  color: var(--muted);
  font-size: .82rem;
  margin-left: auto;
}
.teacher-announcement-list { border-top: 1px solid #d6dfd5; }
.teacher-announcement-row { border-bottom: 1px solid #d6dfd5; }
.teacher-announcement-row > summary {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto minmax(100px, 160px);
  align-items: center;
  gap: 8px 16px;
  min-height: 56px;
  padding: 10px 4px;
  cursor: pointer;
  list-style: none;
}
.teacher-announcement-row > summary::-webkit-details-marker { display: none; }
.teacher-announcement-row > summary::before { content: "▸"; color: var(--forest); }
.teacher-announcement-row[open] > summary::before { content: "▾"; }
.teacher-announcement-row > summary:focus-visible {
  outline: 2px solid #9a6d18;
  outline-offset: 2px;
}
.teacher-announcement-row > summary strong { font-size: .94rem; overflow-wrap: anywhere; }
.teacher-announcement-date,
.teacher-announcement-author { color: var(--muted); font-size: .8rem; overflow-wrap: anywhere; }
.teacher-announcement-date { white-space: nowrap; }
.teacher-announcement-author { text-align: right; }
.teacher-announcement-body { padding: 0 4px 12px 32px; }
.teacher-announcement-body > p {
  max-width: 850px;
  margin: 0 0 12px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  font-size: .92rem;
  line-height: 1.6;
}
.teacher-announcement-body > small { color: var(--muted); }
.teacher-announcement-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; }
.teacher-announcement-notice { color: #345b49; font-size: .85rem; margin: 0; }
dialog.portal-editor-card.teacher-announcement-dialog {
  width: min(620px, calc(100vw - 40px));
  max-width: 620px;
  max-height: calc(100dvh - 40px);
  padding: 0;
  margin: auto;
}
.teacher-announcement-dialog::backdrop { background: rgba(15, 31, 24, .54); backdrop-filter: blur(4px); }
.teacher-announcement-dialog .teacher-announcement-recipients {
  margin: 0;
  color: #52645c;
  font-size: .86rem;
  overflow-wrap: anywhere;
}
.teacher-announcement-dialog button,
.teacher-announcement-dialog input[type="text"] { min-height: 44px; }
.teacher-announcement-dialog .teacher-announcement-error { margin: 0; color: #a12f2f; font-size: .85rem; }
@media (max-width: 720px) {
  .teacher-announcement-audience { flex-basis: 100%; margin: 0 0 4px; }
  .teacher-announcement-row > summary { grid-template-columns: 12px minmax(0, 1fr) auto; gap: 3px 10px; }
  .teacher-announcement-row > summary strong { grid-column: 2 / -1; }
  .teacher-announcement-row > summary::before { grid-row: 1 / 3; }
  .teacher-announcement-date { grid-column: 2; }
  .teacher-announcement-author { grid-column: 3; }
  .teacher-announcement-body { padding-left: 26px; }
  dialog.portal-editor-card.teacher-announcement-dialog {
    width: 100%;
    max-width: none;
    max-height: 92dvh;
    margin: auto 0 0;
    padding-bottom: env(safe-area-inset-bottom);
  }
}
