/* Etapas finais da transmissão, com as cores da Conecta Zap. */
#campaigns > .card:first-child { max-width: 980px; margin: 0 auto; padding: 28px; }
#campaigns .transmission-steps { display:flex; list-style:none; gap:0; padding:0; margin:28px 0 32px; }
#campaigns .transmission-steps li { position:relative; flex:1; display:flex; flex-direction:column; align-items:center; gap:8px; color:var(--muted); font-size:11px; }
#campaigns .transmission-steps li:not(:last-child)::after { content:""; position:absolute; height:1px; background:var(--line); width:calc(100% - 50px); left:calc(50% + 25px); top:18px; }
#campaigns .step-circle { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; background:var(--bg); border:1px solid var(--line); font-size:14px; font-weight:700; }
#campaigns .transmission-steps li.is-complete { color:var(--brand); }
#campaigns .transmission-steps li.is-complete .step-circle { color:#fff; background:#19b76b; border-color:#19b76b; }
#campaigns .transmission-steps li.is-complete::after { background:#19b76b; }
#campaigns .transmission-steps li[aria-current="step"] { color:var(--brand); font-weight:700; }
#campaigns .transmission-steps li[aria-current="step"] .step-circle { background:var(--brand); color:var(--card); border-color:var(--brand); box-shadow:0 0 0 5px color-mix(in srgb,var(--brand) 10%,transparent); }
#campaigns .transmission-panel { background:var(--card); border:1px solid var(--line); padding:24px; border-radius:14px; box-shadow:0 2px 5px #00000004; }
#campaigns .transmission-panel-heading { text-align:center; margin-bottom:25px; }
#campaigns .transmission-panel-heading h3 { font-size:19px; font-weight:600; margin:0 0 8px; }
#campaigns .transmission-panel-heading p { margin:0; color:var(--muted); font-size:12px; }
#campaigns .send-options { border:0; padding:0; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:16px; min-width:0; }
#campaigns .send-option { position:relative; cursor:pointer; }
#campaigns .send-option input { position:absolute; opacity:0; width:1px; height:1px; }
#campaigns .send-option-content { height:100%; min-height:166px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; border:1px solid var(--line); border-radius:12px; padding:22px 14px; background:var(--card); transition:background .15s,border-color .15s; }
#campaigns .send-option-content > span:last-child { font-size:12px; color:var(--muted); line-height:1.5; }
#campaigns .send-option-content strong { font-size:16px; font-weight:600; color:var(--text); }
#campaigns .send-option input:checked + .send-option-content { border-color:var(--brand); background:color-mix(in srgb,var(--brand) 5%,var(--card)); }
#campaigns .send-option input:focus-visible + .send-option-content { outline:3px solid var(--brand); outline-offset:4px; }
#campaigns .send-option-icon { display:grid; place-items:center; width:46px; height:46px; border-radius:50%; color:var(--brand); background:var(--bg); }
#campaigns .send-option input:checked + .send-option-content .send-option-icon { background:color-mix(in srgb,var(--brand) 14%,var(--card)); }
#campaigns .send-option-icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
#campaigns .schedule-date-fields { margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
#campaigns .schedule-date-fields label, #campaigns .review-name-field label { display:block; font-size:12px; font-weight:600; margin-bottom:8px; }
#campaigns .schedule-date-fields input, #campaigns .review-name-field input { width:100%; border:1px solid var(--line); border-radius:8px; background:var(--bg); color:var(--text); padding:11px 12px; font-size:14px; }
#campaigns .schedule-date-fields input { max-width:360px; color-scheme:light; }
html[data-theme="dark"] #campaigns .schedule-date-fields input { color-scheme:dark; }
#campaigns .transmission-actions { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:22px; }
#campaigns .transmission-actions button { font-size:13px; border-radius:8px; min-height:40px; padding:10px 18px; }
#campaigns .transmission-actions .secondary { background:var(--card); color:var(--text); border:1px solid var(--line); }
#campaigns .review-name-field { margin-bottom:20px; }
#campaigns .review-summary-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
#campaigns .review-summary-card { padding:17px; border:1px solid var(--line); border-radius:10px; min-width:0; display:flex; flex-direction:column; gap:8px; }
#campaigns .review-card-label { font-size:12px; color:var(--muted); }
#campaigns .review-summary-card > strong { font-size:22px; font-weight:600; }
#campaigns .review-summary-card > .review-card-value { font-size:14px; overflow-wrap:anywhere; }
#campaigns .review-summary-card small { font-size:11px; color:var(--muted); }
#campaigns .review-notice { display:flex; gap:12px; padding:14px; margin-top:18px; border:1px solid color-mix(in srgb,var(--brand) 30%,var(--line)); background:color-mix(in srgb,var(--brand) 4%,var(--card)); border-radius:9px; font-size:12px; line-height:1.6; }
#campaigns .review-notice > span { color:var(--brand); font-size:18px; }
#campaigns .review-notice p { color:var(--muted); margin:3px 0 0; }
#campaigns .review-details { border:1px solid var(--line); border-radius:9px; margin-top:16px; padding:14px; font-size:12px; }
#campaigns .review-details summary { cursor:pointer; font-weight:600; }
#campaigns .review-details dl > div, #campaigns .review-costs > div { display:flex; justify-content:space-between; gap:15px; padding:9px 0; border-bottom:1px solid var(--line); }
#campaigns .review-details dd { margin:0; font-weight:600; }
#campaigns .review-image { margin-top:18px; padding:14px; border:1px solid var(--line); border-radius:9px; }
#campaigns .review-image img { display:block; margin-top:12px; max-width:100%; width:auto; max-height:200px; object-fit:contain; border-radius:8px; }
#campaigns .review-costs { border:1px solid color-mix(in srgb,var(--warn) 40%,var(--line)); background:color-mix(in srgb,var(--warn) 4%,var(--card)); border-radius:10px; padding:17px; margin-top:18px; font-size:12px; }
#campaigns .review-costs h4 { margin:0 0 10px; font-size:13px; }
#campaigns .review-costs p { color:var(--muted); line-height:1.6; margin:0 0 8px; }
#campaigns .review-costs > div:last-child { border:0; padding-bottom:0; }
#campaigns .transmission-error { padding:12px; font-size:13px; color:var(--danger); border:1px solid var(--danger); border-radius:8px; margin:16px 0 0; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(max-width:640px) {
  #campaigns > .card:first-child { padding:16px; }
  #campaigns .transmission-panel { padding:17px; }
  #campaigns .send-options { grid-template-columns:1fr; }
  #campaigns .send-option-content { min-height:135px; }
  #campaigns .transmission-steps li { font-size:9px; }
  #campaigns .step-circle { width:30px; height:30px; }
  #campaigns .transmission-steps li:not(:last-child)::after { top:15px; width:calc(100% - 38px); left:calc(50% + 19px); }
  #campaigns .review-summary-card { padding:12px; }
}
