.campaign-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:16px}.campaign-actions{flex-wrap:wrap;margin-top:16px;gap:8px}.campaign-editor{display:flex;flex-direction:column;gap:18px}.campaign-editor fieldset{min-width:0;margin:0;padding:16px;border:1px solid var(--line);border-radius:var(--r)}.campaign-editor legend{padding:0 6px;font-weight:600}@media(max-width:600px){.campaign-editor input,.campaign-editor select,.campaign-editor textarea{font-size:16px}.campaign-editor .row{flex-wrap:wrap}.campaign-editor fieldset{padding:12px}}
/* UX-006: coluna da direita com resumo ao vivo; salvar fica no rodapé do modal */
.campaign-side{display:flex;flex-direction:column;gap:16px;min-width:0}
.campaign-summary{margin:0}
.campaign-summary .panel-body{padding:16px;display:flex;flex-direction:column;gap:12px}
.campaign-summary-title{font-weight:650;color:var(--ink)}
.campaign-summary dl{display:grid;gap:10px;margin:0}
.campaign-summary dl>div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:10px;align-items:start}
.campaign-summary dt{color:var(--muted);font-size:12.5px;padding-top:1px}
.campaign-summary dd{margin:0;font-weight:600;color:var(--ink);min-width:0;display:flex;flex-direction:column;gap:4px}
.campaign-summary-parts{gap:6px;font-weight:500}
.campaign-summary-note{display:flex;gap:8px;align-items:flex-start;margin:0;padding-top:12px;border-top:1px solid var(--line-2)}
.campaign-summary-note svg{flex:none;margin-top:2px}
@media(max-width:600px){.campaign-summary dl>div{grid-template-columns:80px minmax(0,1fr)}}
/* UX-007: prévia em balões na coluna da esquerda */
.campaign-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.campaign-preview{margin:0}
.campaign-preview .panel-body{padding:16px;display:flex;flex-direction:column;gap:12px}
.campaign-preview-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.campaign-preview-head b{font-weight:650;color:var(--ink)}
.campaign-preview-chat{display:flex;flex-direction:column;align-items:flex-end;gap:8px;padding:14px;min-height:96px;max-height:420px;overflow:auto;background:var(--bg);border:1px solid var(--line-2);border-radius:var(--r)}
.campaign-bubble{max-width:min(320px,88%);padding:8px 10px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r) var(--r-sm) var(--r) var(--r);box-shadow:0 1px 1px rgba(25,44,70,.06);display:flex;flex-direction:column;gap:6px;overflow-wrap:anywhere}
.campaign-bubble p{margin:0;white-space:pre-wrap;color:var(--ink);line-height:1.45}
.campaign-bubble img,.campaign-bubble video{display:block;width:100%;max-height:220px;object-fit:cover;border-radius:var(--r-sm);background:var(--surface-2)}
.campaign-bubble-album{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
.campaign-bubble-album img,.campaign-bubble-album video{height:96px;max-height:none}
.campaign-bubble-file{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink-2);font-weight:550}
.campaign-preview-empty{align-self:stretch;margin:auto 0;text-align:center}
