.announcement-tabs { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px; }
.announcement-tabs button[aria-pressed="true"] { background:#1d4ed8; color:white; border-color:#1d4ed8; }
.announcement-form { display:grid; gap:14px; }
.announcement-form label { display:grid; gap:6px; font-weight:600; }
.announcement-form input,.announcement-form textarea,.announcement-form select { width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid #cbd5e1; border-radius:8px; background:white; color:#172033; font:inherit; }
.announcement-form textarea { min-height:110px; resize:vertical; }
.announcement-card { padding:18px; border:1px solid #dce2eb; border-radius:12px; margin:14px 0; background:#fff; color:#172033; }
.announcement-card h3 { margin:0 0 8px; }
.announcement-card p { white-space:pre-wrap; overflow-wrap:anywhere; }
.announcement-meta,.announcement-help { color:#64748b; font-size:14px; line-height:1.5; }
.announcement-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.announcement-actions button,.announcement-tabs button { padding:9px 14px; }
.announcement-actions .announcement-status-switch {
  display:inline-flex; align-items:center; gap:8px; padding:6px 4px;
  background:transparent; border:0; color:#4b5563; box-shadow:none;
}
.announcement-switch-track {
  display:inline-flex; align-items:center; width:40px; height:24px;
  padding:3px; box-sizing:border-box; border-radius:999px; background:#9ca3af;
}
.announcement-switch-thumb {
  display:block; width:18px; height:18px; border-radius:50%;
  background:#fff; box-shadow:0 1px 3px #0003;
}
.announcement-status-switch[aria-checked="true"] .announcement-switch-track { background:#16a34a; }
.announcement-status-switch[aria-checked="true"] .announcement-switch-thumb { transform:translateX(16px); }
.announcement-status-switch:focus-visible { outline:2px solid #15803d; outline-offset:3px; border-radius:6px; }
.announcement-dialog { border:0; border-radius:16px; padding:24px; max-width:520px; width:calc(100% - 40px); box-sizing:border-box; max-height:85vh; max-height:85dvh; overflow:auto; overscroll-behavior:contain; color:#172033; }
.announcement-dialog::backdrop { background:rgba(15,23,42,.6); }
.announcement-dialog p { white-space:pre-wrap; overflow-wrap:anywhere; }
#announcement-feedback { white-space:pre-wrap; }
#announcement-feedback[data-error="true"] { color:#b91c1c; }
#admin-campaigns-panel [hidden] { display:none !important; }
#announcement-instructions { min-height:190px; }
#announcement-create .primary-btn { padding:12px 20px; }
#announcement-editor { margin-top:18px; }
#announcement-builder-preview { display:flex; justify-content:center; align-items:center; padding:16px; border-radius:12px; background:rgba(17,24,39,.5); min-width:0; width:100%; max-width:390px; margin-inline:auto; box-sizing:border-box; }
#announcement-manual,#announcement-revision-panel { padding:16px; border:1px solid #dce2eb; border-radius:10px; background:#f8fafc; }
#announcement-design-fields fieldset { min-width:0; margin:0; padding:12px; border:1px solid #dce2eb; border-radius:8px; display:grid; gap:10px; }
#announcement-design-fields legend { padding:0 5px; font-weight:600; }
@media (max-width:480px) {
  #announcement-create .primary-btn { width:100%; }
  #announcement-editor .announcement-actions button { flex:1 1 auto; }
}