.copy-edit-body { box-sizing: border-box; min-width: 0; max-width: 100%; outline-offset: -3px; min-height: 120px; white-space: pre-wrap; overflow-wrap: anywhere; cursor: text; }
.copy-edit-body:focus { outline: 2px solid var(--print-blue, #1649c8); outline-offset: -3px; box-shadow: none; }
.campaign-copy-card:focus-within { outline-offset: -3px; }
.campaign-copy-card > .copy-edit-body { margin: 0 16px; padding: 12px; border: 1px solid var(--print-ink); background: var(--print-paper); }
.copy-edit-hint { margin: 0 0 8px; color: var(--text-dim); font: 400 12px/1.5 var(--font-body); }
.campaign-copy-card > .copy-edit-hint { margin-left: 16px; margin-right: 16px; }
.copy-edit-label { display: block; margin: 12px 0 6px; font-size: 12px; font-weight: 700; }
.copy-edit-panel { padding: 0 0 12px; }
.copy-edit-panel textarea { display: block; box-sizing: border-box; width: 100%; min-height: 64px; resize: vertical; padding: 10px; border: 1px solid currentColor; background: transparent; color: inherit; font: inherit; font-size: 14px; line-height: 1.5; margin-bottom: 12px; }
.copy-edit-button { min-height: 44px; padding: 8px 12px; margin: 0 8px 8px 0; border: 1px solid currentColor; background: transparent; color: inherit; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.copy-edit-button:hover { background: var(--bg-secondary, #f1efe7); }
.copy-edit-button:disabled { cursor: default; opacity: .5; }
.copy-edit-status { font-size: 12px; line-height: 1.6; margin: 0; overflow-wrap: anywhere; }
.copy-edit-status[data-state="error"] { color: #a12617; }
.copy-edit-status[data-state="dirty"] { font-weight: 700; }
.copy-edit-toolbar { display: flex; flex-wrap: wrap; justify-content: flex-end; margin-bottom: 12px; }
.copy-edit-dialog { max-width: min(480px, calc(100vw - 48px)); padding: 24px; border: 2px solid #23231f; color: #23231f; background: #fffdf6; }
.copy-edit-dialog h2 { font-size: 20px; line-height: 1.5; margin: 0 0 24px; }
.copy-edit-dialog::backdrop { background: #0008; }
.copy-edit-panel ~ .hashtag-section { display: block; }
.hashtag-chip { font-family: inherit; min-height: 44px; }
.campaign-copy-card > .copy-edit-label { margin-left: 16px; margin-right: 16px; }
.campaign-copy-card > .copy-edit-panel { padding: 0 16px 16px; }
.campaign-stage-heading .copy-edit-toolbar { flex-shrink: 0; }
.cards-grid { align-items: start; }
.platform-lettermark { display: inline-grid; place-items: center; width: 34px; height: 34px; background: #d4eaf4; color: #163c53; font-weight: 700; }
.platform-card-hint { margin-left: auto; font: 500 10px var(--font-mono); color: var(--text-dim); }
.campaign-linkedin .campaign-platform,.card-linkedin .card-top { background: #d4eaf4; }
.campaign-threads .campaign-platform,.card-threads .card-top { background: #dedbd2; }
.copy-edit-hint[data-over-limit="true"] { color: #a12617; font-weight: 600; }
/* Consistent comparison rows keep post headings level without equal-height cards. */
.copy-variants { display: flex; flex-direction: column; }
.copy-variants > .copy-edit-button { align-self: flex-start; margin-top: 12px; }
.copy-variant-choices { align-items: stretch; }
.copy-legacy-hidden { display: none !important; }
.copy-edit-button[hidden],.copy-edit-toolbar:has(> button[hidden]:only-child) { display: none; }
.copy-tag-preview { margin: 12px 0 4px; color: var(--print-red-ink); font-size: 12px; line-height: 1.6; overflow-wrap: anywhere; }
.copy-tag-details { margin-bottom: 12px; }
.copy-tag-details summary,.copy-more summary { cursor: pointer; min-height: 44px; padding: 12px 0; font-size: 12px; font-weight: 600; }
.copy-simple-actions { display: flex; align-items: flex-start; gap: 12px; margin-top: 12px; }
.copy-simple-actions > button { background: var(--print-yellow); border: 2px solid var(--print-ink); flex: 1; margin: 0; }
.copy-more { flex: 0 1 45%; min-width: 0; }
.copy-more:not([open]) { flex: 0 0 auto; }
.copy-more button { display: block; width: 100%; margin-right: 0; text-align: left; }
.copy-tag-details summary:focus-visible,.copy-more summary:focus-visible { outline: 2px solid var(--print-blue); outline-offset: -2px; }
@media (max-width: 600px) { .campaign-stage-heading { flex-wrap: wrap; } }
