/* #161 Campanhas de lucro. Só tokens (var(--ds-*), var(--ink), var(--line)…): nada de cor literal.
   Tudo sob .cl (a folha carrega no app inteiro). */
.cl.ds-molde { width: 100%; min-width: 0; padding-bottom: var(--ds-s8); }
.cl .ds-molde-corpo > .principal { align-self: stretch; max-width: 100%; min-width: 0; }
.cl .cl-h2 { margin: var(--ds-s6) 0 var(--ds-s2); font-size: var(--ds-fs-lg); }
.cl .cl-sussurro { color: var(--muted); font-weight: 400; font-size: var(--ds-fs-sm); }
.cl .cl-link { color: var(--ink); font-weight: 600; text-decoration: none; }
.cl .cl-link:hover { color: var(--ds-accent); text-decoration: underline; }
.cl a:focus-visible, .cl button:focus-visible, .cl input:focus-visible, .cl select:focus-visible, .cl textarea:focus-visible {
  outline: 2px solid var(--ds-accent); outline-offset: 2px; }
.cl .cl-mono { font-family: var(--ds-mono, monospace); font-size: var(--ds-fs-sm); color: var(--muted); }
.cl .cl-neg { color: var(--ink-err); }
.cl .cl-aviso { border: 1px solid var(--line); border-left: 3px solid var(--ds-accent); border-radius: var(--ds-r-sm);
  padding: var(--ds-s2) var(--ds-s3); background: var(--panel); margin: 0 0 var(--ds-s3); }
.cl .cl-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ds-s2); margin-bottom: var(--ds-s4); }
.cl .cl-acoes { display: inline-flex; gap: var(--ds-s2); align-items: center; flex-wrap: wrap; }
.cl .cl-acoes .btn { min-height: 32px; }
.cl .cl-ligar { display: flex; gap: var(--ds-s2); align-items: flex-end; flex-wrap: wrap; margin-bottom: var(--ds-s3); }
.cl .cl-ligar label { display: flex; flex-direction: column; gap: var(--ds-s1); font-size: var(--ds-fs-sm); color: var(--muted); }
.cl .cl-ligar select { min-height: 44px; max-width: 100%; min-width: 260px; }
.cl .cl-ligar .btn { min-height: 44px; }
.cl .cl-lista { margin: 0; padding-left: var(--ds-s4); display: grid; gap: var(--ds-s1); }
.cl-form { display: flex; flex-direction: column; gap: var(--ds-s3); }
.cl-form label { display: flex; flex-direction: column; gap: var(--ds-s1); font-size: var(--ds-fs-sm); color: var(--muted); }
.cl-form input, .cl-form select, .cl-form textarea { min-height: 40px; color: var(--ink); }
.cl-form .cl-par { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ds-s2); }
.cl-form .cl-canais { border: 1px solid var(--line); border-radius: var(--ds-r-sm); padding: var(--ds-s2); display: flex; flex-wrap: wrap; gap: var(--ds-s2); }
.cl-form .cl-canais legend { font-size: var(--ds-fs-sm); color: var(--muted); padding: 0 var(--ds-s1); }
.cl-form .cl-check { flex-direction: row; align-items: center; gap: var(--ds-s1); color: var(--ink); min-height: 32px; }
.cl-form .cl-erro { color: var(--ink-err); margin: 0; }
@media (max-width: 720px) {
  .cl .cl-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cl .cl-ligar select { min-width: 0; width: 100%; }
  .cl-form .cl-par { grid-template-columns: 1fr; }
}
