.announcement-content { line-height: 1.55; overflow-wrap: anywhere; white-space: normal; }
.announcement-content img { max-width: 100%; height: auto; vertical-align: middle; }
.announcement-content p, .announcement-content div { margin: 0 0 .5em; }
.announcement-content ul, .announcement-content ol { padding-left: 2em; }
.announcement-content > :last-child { margin-bottom: 0; }
.announcement-toolbar { display: flex; flex-wrap: wrap; align-items: end; gap: 6px; padding: 10px; background: #f3f5f7; border: 1px solid #c9d2dc; border-radius: 8px 8px 0 0; }
.announcement-toolbar button, .announcement-toolbar select { min-height: 36px; width: auto; padding: 6px 10px; border: 1px solid #b7c3ce; border-radius: 5px; color: #1a2c3f; background: white; cursor: pointer; }
.announcement-toolbar button[aria-pressed="true"] { background: #dbe4ec; border-color: #1c3144; }
.announcement-toolbar label { display: grid; gap: 3px; font-size: 11px; }
.announcement-toolbar input[type="color"] { width: 42px; height: 36px; padding: 2px; cursor: pointer; }
#announcement-editor { min-height: 220px; max-height: 600px; overflow-y: auto; padding: 16px; border: 1px solid #c9d2dc; border-top: 0; border-radius: 0 0 8px 8px; background: white; color: #1a2c3f; font-size: 16px; }
#announcement-editor:focus { outline: 2px solid #487da6; outline-offset: 2px; }
#announcement-editor img[data-selected] { outline: 3px solid #487da6; outline-offset: 2px; }
#announcement-editor-status { color: #a02e2e; }
