.publication-field { display: grid; gap: 8px; min-width: 0; }
.publication-field > label { font-weight: 650; font-size: .85rem; }
.publication-editor { min-width: 0; border: 1px solid var(--line, #d8dfeb); border-radius: 14px; background: #fff; overflow: hidden; transition: border-color .18s, box-shadow .18s; }
.publication-editor:focus-within { border-color: var(--accent, #943c35); box-shadow: 0 0 0 3px rgba(148,60,53,.10); }
.publication-toolbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 8px; background: #faf8f7; border-bottom: 1px solid var(--line, #d8dfeb); }
.publication-format-buttons { display: flex; align-items: center; gap: 3px; }
.publication-toolbar button { display: inline-flex; align-items: center; justify-content: center; width: 38px; min-height: 38px; padding: 7px; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #56302c; cursor: pointer; font: inherit; }
.publication-toolbar button strong, .publication-toolbar button em { font-size: 1.1rem; }
.publication-toolbar button:hover, .publication-toolbar button[aria-pressed="true"] { background: #f2e5e2; border-color: #dec2bd; color: #7d302a; }
.publication-toolbar button:focus-visible { outline: 2px solid #b78328; outline-offset: 2px; }
.publication-toolbar button:disabled { opacity: .45; cursor: default; }
.publication-toolbar svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.publication-toolbar-divider { width: 1px; height: 21px; background: #e4dcd9; margin: 0 4px; }
.publication-toolbar .publication-preview-button { width: auto; padding: 7px 11px; font-size: .76rem; font-weight: 650; }
.publication-content { min-width: 0; font-size: 1rem; line-height: 1.7; overflow-wrap: anywhere; color: var(--ink, #171c2b); }
.publication-content p { margin: 0 0 .9em; white-space: pre-wrap; }
.publication-content p:last-child, .publication-content ul:last-child, .publication-content ol:last-child { margin-bottom: 0; }
.publication-content ul, .publication-content ol { padding-left: 1.5em; margin: 0 0 .9em; }
.publication-content li { margin: .3em 0; white-space: pre-wrap; }
.publication-content strong { display: inline; font: inherit; font-weight: 750; color: inherit; }
.publication-content em { display: inline; font: inherit; font-style: italic; color: inherit; }
.publication-editable, .publication-preview { min-height: 220px; max-height: 440px; overflow-y: auto; padding: 18px 20px; outline: none; scrollbar-gutter: stable; }
.publication-editor-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px 12px; border-top: 1px solid #eceff3; padding: 10px 14px; font-size: .7rem; color: #6c7687; background: #fcfcfd; }
.publication-editor-error { margin: 0; color: #9c2b27; font-size: .82rem; }
.publication-editor [hidden], .publication-field > [hidden] { display: none !important; }
.publication-content.publication-excerpt { font-size: .86rem; line-height: 1.6; color: var(--muted, #6c7687); }
.publication-content.publication-excerpt p { margin-bottom: .6em; }
.calendar-detail > .publication-content { margin: 22px 0; }
.dashboard-benefit-copy .publication-content strong { display: inline; font: inherit; font-weight: 750; color: inherit; }
.dashboard-benefit-copy .publication-content em { font: inherit; font-style: italic; color: inherit; }
@media (max-width: 600px) {
  .publication-editable, .publication-preview { min-height: 210px; max-height: 45dvh; padding: 14px; font-size: 16px; }
  .publication-toolbar button { min-height: 44px; width: 38px; }
  .publication-toolbar .publication-preview-button { width: auto; }
  .publication-editor-footer { font-size: .68rem; }
}
