.campaign-audio{background:var(--surface-alt,#f4eef8);border:1px solid var(--line);border-radius:16px;padding:20px;margin:20px 0}.campaign-audio-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.campaign-audio-heading h3{margin:0;font-size:17px}.campaign-audio-heading>span{font-size:11px;color:var(--muted)}.campaign-audio-mode{border:0;padding:14px 0 0;margin:0;display:flex;flex-wrap:wrap;gap:14px}.campaign-audio-mode label{display:flex;align-items:center;gap:7px;font-size:12px!important}.campaign-audio-mode input{width:auto!important;margin:0;accent-color:var(--purple)}.campaign-audio-file{display:flex!important;flex-direction:column;gap:8px;padding:18px;border:1px dashed var(--purple);border-radius:10px;background:var(--card,#fff);margin:14px 0}.campaign-audio-file strong{font-size:13px}.campaign-audio-file span{font-size:11px;color:var(--muted);line-height:1.6}.campaign-audio-file input{width:100%;min-width:0;font-size:12px}.campaign-audio progress{width:100%;height:8px;accent-color:var(--purple)}.campaign-audio-status{font-size:12px;line-height:1.6;margin:14px 0}.campaign-audio-status.error{color:#a5465d}.campaign-audio-ready,[data-audio-linked]{display:flex;flex-direction:column;gap:10px;margin:16px 0;padding-top:16px;border-top:1px solid var(--line)}.campaign-audio-ready strong,[data-audio-linked]>strong{font-size:13px;overflow-wrap:anywhere}.campaign-audio-ready span{font-size:11px;color:var(--muted)}.campaign-audio audio{display:block;width:100%;height:40px}.campaign-audio .btn{align-self:flex-start}.campaign-audio select{width:100%;min-width:0}.campaign-audio input:focus-visible,.campaign-audio button:focus-visible,.campaign-audio select:focus-visible{outline:3px solid var(--purple);outline-offset:3px}html[data-theme=dark] .campaign-audio{background:#282131}html[data-theme=dark] .campaign-audio-file{background:#211c29}html[data-theme=dark] .campaign-audio-status.error{color:#f0a8b7}[hidden]{display:none!important}@media(max-width:480px){.campaign-audio{padding:14px}.campaign-audio-mode{gap:10px}.campaign-audio-file{padding:12px}.campaign-audio-ready .btn{width:100%}}.composer-modal .composer-preview{align-self:start}@media(min-width:1100px){.composer-modal .composer-preview{position:sticky;top:16px}}
