/* ============================================================================
   Campaigns: builder, preview, results
   ========================================================================== */
.cb { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 32px; align-items: start; }
.cb-form { min-width: 0; }
.cb-preview { position: sticky; top: calc(var(--topbar) + 20px); border: 1px solid var(--border); border-radius: var(--r-lg); background: var(--surface); padding: 12px; }
.pv-head { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.pv-head .select { width: auto; flex: 1; min-width: 0; }
.seg-xs button { height: 28px; padding: 0 8px; }
.inbox-row { display: flex; gap: 10px; align-items: center; padding: 10px 12px; background: var(--bg); border: 1px solid var(--border); border-radius: var(--r); margin-bottom: 10px; }
.pv-frame { background: #F4F5F7; border: 1px solid var(--border); border-radius: var(--r); overflow: hidden; margin: 0 auto; transition: width .2s var(--ease); }
.pv-frame iframe { display: block; width: 100%; height: 560px; border: 0; background: #F4F5F7; }
.pv-frame.mobile { width: 340px; max-width: 100%; }
.pv-frame.mobile iframe { height: 520px; }
.method-pick.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.method-pick.two .method-opt { flex-direction: row; justify-content: flex-start; text-align: left; gap: 12px; padding: 12px 14px; }
.aud-list { display: flex; flex-direction: column; border: 1px solid var(--border); border-radius: var(--r-lg); }
.aud-opt { display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-bottom: 1px solid var(--border); cursor: pointer; }
.aud-opt:last-child { border-bottom: 0; }
.aud-opt input { accent-color: var(--accent); }
.aud-opt:has(input:checked) { background: var(--accent-tint); }
.aud-opt.disabled { cursor: not-allowed; opacity: .6; }
.aud-count { margin-top: 12px; padding: 12px 14px; border-radius: var(--r-lg); background: var(--surface); font-size: 14px; }
.aud-count.none { background: var(--warn-tint); }
.chip-xs { height: 22px; padding: 0 8px; font-size: 11.5px; }
.label .row { font-weight: 400; }
.cb-products { display: flex; flex-direction: column; gap: 6px; }
.cb-prod { display: flex; align-items: center; gap: 10px; padding: 6px 8px; border: 1px solid var(--border); border-radius: var(--r); }
.cb-prod img { width: 32px; height: 32px; border-radius: 5px; object-fit: cover; }
.sms-meter { margin-top: 6px; font-size: 12.5px; color: var(--ink-2); }
.phone { width: 300px; max-width: 100%; margin: 0 auto; border: 1px solid var(--border-strong); border-radius: 28px; background: var(--bg); overflow: hidden; }
.phone-top { display: flex; align-items: center; gap: 8px; padding: 14px 16px 10px; border-bottom: 1px solid var(--border); }
.phone-body { padding: 18px 14px 26px; min-height: 280px; background: #fff; }
.sms-bubble { max-width: 86%; padding: 10px 13px; border-radius: 16px 16px 16px 4px; background: #E9EBEF; font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
@media (max-width: 1199px) { .cb { grid-template-columns: minmax(0, 1fr); } .cb-preview { position: static; } }

/* Results */
.kpis-6 { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.send-progress { padding: 14px 16px; border: 1px solid var(--accent-tint-2); background: var(--accent-tint); border-radius: var(--r-lg); margin-bottom: 16px; }
.cd-grid { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 24px; align-items: start; }
.cd-content { position: sticky; top: calc(var(--topbar) + 20px); }
@media (max-width: 1099px) { .cd-grid { grid-template-columns: minmax(0, 1fr); } .cd-content { position: static; } }
