/* W3.B — Campaign Draft editor (bounded panel; no execution controls). */
.campaign-draft-panel {
    position: fixed;
    inset: 0 0 0 auto;
    width: min(560px, 100vw);
    overflow-y: auto;
    z-index: 900;
    padding: 16px;
    box-sizing: border-box;
    background: var(--bg-primary, #fff);
    color: var(--text-primary, #111);
    border-inline-start: 1px solid var(--border-color, #ddd);
    box-shadow: -4px 0 16px rgba(0, 0, 0, 0.12);
}
.campaign-draft-panel[hidden] { display: none; }
.campaign-draft-panel .cd-header { display: flex; justify-content: space-between; align-items: center; }
.campaign-draft-panel .cd-note { font-size: 0.85em; opacity: 0.8; }
.campaign-draft-panel .cd-toolbar,
.campaign-draft-panel .cd-meta { display: flex; gap: 8px; flex-wrap: wrap; margin: 8px 0; }
.campaign-draft-panel .cd-form { display: grid; gap: 8px; }
.campaign-draft-panel .cd-field { display: grid; gap: 2px; }
.campaign-draft-panel .cd-field input,
.campaign-draft-panel .cd-field select,
.campaign-draft-panel .cd-field textarea { width: 100%; box-sizing: border-box; }
.campaign-draft-panel fieldset { border: 1px solid var(--border-color, #ddd); padding: 8px; }
.campaign-draft-panel .cd-message { margin: 8px 0; padding: 8px; border: 1px solid var(--border-color, #ddd); }
.campaign-draft-panel .cd-conflict { border-color: #c62828; }
.campaign-draft-panel .cd-issue { display: flex; gap: 8px; align-items: center; margin: 4px 0; }
.campaign-draft-panel .cd-sev { font-weight: 600; min-width: 90px; }
.campaign-draft-panel .cd-issue-blocker .cd-sev { color: #c62828; }
.campaign-draft-panel .cd-issue-warning .cd-sev { color: #b26a00; }
.campaign-draft-panel .cd-issue-info .cd-sev { color: #1565c0; }
.campaign-draft-panel .cd-history-row,
.campaign-draft-panel .cd-proposal { display: flex; gap: 8px; align-items: center; margin: 4px 0; font-size: 0.9em; }
/* W5.A — execution manifest / approval panel (campaign_draft_execution.js) */
.cdx-panel { border-top: 1px solid rgba(127, 127, 127, 0.35); margin-top: 16px; padding-top: 12px; }
.cdx-toolbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.cdx-row { display: flex; flex-wrap: wrap; gap: 8px; padding: 2px 0; }
.cdx-k { font-weight: 600; min-width: 12em; }
.cdx-v { overflow-wrap: anywhere; unicode-bidi: plaintext; }
.cdx-issue { display: flex; gap: 8px; padding: 2px 0; }
.cdx-blocker .cdx-sev { color: #b00020; }
.cdx-warning .cdx-sev { color: #8a5a00; }
.cdx-note, .cdx-warn { font-size: 0.9em; opacity: 0.85; }
.cdx-approved { font-weight: 600; }
.cdx-challenge { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 6px 0; }

/* W5.B — v2 options / receipt / status-action panel */
.cxr-panel { border-top: 1px solid var(--border-color, #ddd); margin-top: 12px; padding-top: 8px; }
.cxr-row { display: flex; gap: 8px; flex-wrap: wrap; }
.cxr-k { font-weight: 600; min-width: 10em; }
.cxr-v { overflow-wrap: anywhere; }
.cxr-options label { display: inline-flex; gap: 4px; margin: 2px 8px 2px 0; align-items: center; }
.cxr-wire li, .cxr-steps li { overflow-wrap: anywhere; font-family: monospace; font-size: 0.85em; }
.cxr-issue.cxr-blocked, .cxr-issue.cxr-unavailable { color: #a40000; }
.cxr-issue.cxr-need_input { color: #8a5a00; }
.cxr-note { font-size: 0.85em; opacity: 0.8; }
.cxr-ok { font-weight: 600; }
