.campaign-page .campaign-outcomes { overflow-wrap:anywhere; }
.campaign-page .campaign-outcomes [hidden] { display:none; }
.campaign-page .campaign-outcomes .outcome-heading { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start; }
.campaign-page .campaign-outcomes .outcome-heading h2 { margin:6px 0 10px; }
.campaign-page .campaign-outcomes p { color:var(--color-text-muted);line-height:1.6; }
.campaign-page .campaign-outcomes .outcome-heading p { margin:0;max-width:780px; }
.campaign-page .campaign-outcomes .outcome-actions { display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:20px 0 12px; }
.campaign-page .campaign-outcomes :is(button,.button) { min-height:44px;max-width:100%;white-space:normal; }
.campaign-page .campaign-outcomes .button { display:inline-flex;align-items:center;justify-content:center;text-align:center;cursor:pointer; }
.campaign-page .campaign-outcomes :is(input,select) { width:100%;min-width:0;max-width:100%;min-height:44px!important;box-sizing:border-box; }
.campaign-page .campaign-outcomes #outcome-status { padding:12px 14px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-muted);color:var(--color-text); }
.campaign-page .campaign-outcomes #outcome-status[data-error=true] { background:#fff0ed;color:#94291f; }
.campaign-page .campaign-outcomes .outcome-import { padding:18px;border:1px solid var(--color-border);border-radius:12px;margin:16px 0; }
.campaign-page .campaign-outcomes .outcome-fields { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0; }
.campaign-page .campaign-outcomes label { display:grid;gap:6px;min-width:0;font-size:14px;font-weight:600; }
.campaign-page .campaign-outcomes .outcome-metrics { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0; }
.campaign-page .campaign-outcomes .outcome-kpi { min-width:0;border:1px solid var(--color-border);border-radius:12px;padding:18px;background:var(--color-surface-muted); }
.campaign-page .campaign-outcomes .outcome-kpi span { display:block;font-size:13px;color:var(--color-text-muted); }
.campaign-page .campaign-outcomes .outcome-kpi strong { display:block;margin:8px 0;font-size:clamp(26px,3vw,34px);letter-spacing:-.035em;color:var(--color-text); }
.campaign-page .campaign-outcomes .outcome-kpi small { display:block;font-size:12px;line-height:1.5;color:var(--color-text-muted); }
.campaign-page .campaign-outcomes .outcome-explain { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;margin:22px 0; }
.campaign-page .campaign-outcomes .outcome-explain > div { min-width:0; }
.campaign-page .campaign-outcomes .outcome-explain h3 { margin:0 0 12px; }
.campaign-page .campaign-outcomes .outcome-bar { display:grid;grid-template-columns:130px minmax(20px,1fr) 40px;gap:10px;align-items:center;margin:14px 0;font-size:13px; }
.campaign-page .campaign-outcomes .outcome-bar i { display:block;height:14px;border-radius:4px;background:var(--color-primary); }
.campaign-page .campaign-outcomes .outcome-bar b { text-align:right; }
.campaign-page .campaign-outcomes #outcome-quality { margin:0;padding-left:20px;line-height:1.65;font-size:14px;color:var(--color-text-muted); }
.campaign-page .campaign-outcomes #outcome-quality li + li { margin-top:8px; }
.campaign-page .campaign-outcomes .outcome-reconciliation { border:1px solid var(--color-border);border-radius:12px;padding:16px;margin:18px 0; }
.campaign-page .campaign-outcomes summary { cursor:pointer;font-weight:700;min-height:44px;line-height:1.6; }
.campaign-page .campaign-outcomes .outcome-match-row { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;padding:16px 0;border-top:1px solid var(--color-border); }
.campaign-page .campaign-outcomes .outcome-match-row strong { display:block;color:var(--color-text); }
.campaign-page .campaign-outcomes .outcome-match-row span { display:block;margin-top:6px;font-size:13px;color:var(--color-text-muted); }
.campaign-page .campaign-outcomes .outcome-table-toolbar { display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap; }
.campaign-page .campaign-outcomes .outcome-table-toolbar label { min-width:170px; }
.campaign-page .campaign-outcomes td small { display:block;font-size:12px;color:var(--color-text-muted); }
.campaign-page .campaign-outcomes .secure-table { margin-top:12px; }
.campaign-page .campaign-outcomes #outcome-table-note { font-size:13px; }
@media(max-width:900px) {
  .campaign-page .campaign-outcomes .outcome-heading { grid-template-columns:1fr; }
  .campaign-page .campaign-outcomes .outcome-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .campaign-page .campaign-outcomes .outcome-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .campaign-page .campaign-outcomes .outcome-explain { grid-template-columns:1fr; }
}
@media(max-width:560px) {
  .campaign-page .campaign-outcomes .outcome-actions > :is(button,.button) { flex:1 1 180px; }
  .campaign-page .campaign-outcomes .outcome-fields { grid-template-columns:1fr; }
  .campaign-page .campaign-outcomes .outcome-match-row { grid-template-columns:1fr; }
  .campaign-page .campaign-outcomes .outcome-table-toolbar label { width:100%; }
}
@media(max-width:440px) {
  .campaign-page .campaign-outcomes .outcome-metrics { grid-template-columns:1fr; }
  .campaign-page .campaign-outcomes .outcome-bar { grid-template-columns:112px minmax(20px,1fr) 30px;gap:8px; }
}
