.canvas-announcements-workspace { color: var(--ink); }
.announcement-admin-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.announcement-admin-toolbar p, .announcement-admin-editor header p, .announcement-admin-hint { color:var(--ink-soft); font-size:13px; line-height:1.7; margin:0; }
.announcement-admin-columns { display:grid; grid-template-columns: minmax(230px, 300px) minmax(0, 1fr); gap:28px; align-items:start; }
.announcement-admin-list-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:0 0 14px; border-bottom:1px solid var(--line); }
.announcement-admin-list h2, .announcement-admin-editor h2 { margin:0; font-size:17px; }
.announcement-admin-list h2 small { color:var(--ink-soft); font-weight:400; font-size:13px; margin-left:4px; }
.announcement-admin-items { max-height:640px; overflow:auto; }
.announcement-admin-item { display:flex; flex-direction:column; gap:7px; width:100%; text-align:left; padding:16px 12px; border:0; border-bottom:1px solid var(--line); background:transparent; color:var(--ink); cursor:pointer; border-radius:0; }
.announcement-admin-item:hover, .announcement-admin-item.selected { background:var(--surface-muted); }
.announcement-admin-item.selected { box-shadow:inset 0 0 0 1px var(--accent); }
.announcement-admin-item strong { font-size:14px; line-height:1.55; overflow-wrap:anywhere; }
.announcement-admin-item span, .announcement-admin-item small { font-size:12px; color:var(--ink-soft); }
.announcement-admin-empty { font-size:13px; line-height:1.8; color:var(--ink-soft); padding:20px 4px; }
.announcement-admin-editor { max-width:800px; min-width:0; }
.announcement-admin-editor header { display:grid; gap:8px; margin-bottom:24px; }
.announcement-admin-editor form { display:grid; gap:18px; }
.announcement-admin-editor .field small { font-weight:400; color:var(--ink-soft); margin-left:6px; }
.announcement-admin-editor textarea { resize:vertical; min-height:230px; line-height:1.8; }
.announcement-admin-feedback { color:var(--accent); margin:0; font-size:13px; line-height:1.6; }
.announcement-admin-feedback:empty, .announcement-admin-editor .form-error:empty { display:none; }
.announcement-admin-actions { display:flex; flex-wrap:wrap; gap:10px; padding-top:6px; }
.announcement-admin-dialog { width:min(640px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); padding:0; color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:12px; }
.announcement-admin-dialog::backdrop { background:rgba(0,0,0,.5); }
.announcement-admin-dialog header, .announcement-admin-dialog footer { display:flex; gap:18px; align-items:center; justify-content:space-between; padding:20px 24px; }
.announcement-admin-dialog header { border-bottom:1px solid var(--line); }
.announcement-admin-dialog header h2 { font-size:17px; margin:0; }
.announcement-admin-dialog article { padding:24px; overflow-wrap:anywhere; }
.announcement-admin-dialog article>span, .announcement-admin-dialog article>p, .announcement-admin-dialog footer p { color:var(--ink-soft); font-size:13px; line-height:1.7; }
.announcement-admin-dialog h3 { font-size:23px; line-height:1.5; margin:12px 0; }
.announcement-admin-preview-body { white-space:pre-wrap; font-size:14px; line-height:1.9; }
.announcement-admin-dialog footer { border-top:1px solid var(--line); }
.announcement-admin-dialog footer p { margin:0; }
.announcement-admin-dialog footer button, .announcement-admin-toolbar button { flex-shrink:0; }
.canvas-announcements-workspace :focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
@media(max-width:850px) { .announcement-admin-columns {grid-template-columns:1fr;gap:24px;} .announcement-admin-items{max-height:240px;} .announcement-admin-toolbar{align-items:flex-start;} }
@media(max-width:480px) { .announcement-admin-dialog header,.announcement-admin-dialog footer,.announcement-admin-dialog article{padding:16px;} .announcement-admin-dialog footer{flex-wrap:wrap;} }
