/* A focused working area with details and evidence kept beside the application. */
.campaign-source-matches{grid-column:1/-1;display:grid;gap:8px;margin:0 0 12px;min-width:0}.campaign-source-matches[hidden]{display:none}.campaign-source-match{display:grid;gap:3px;min-width:0}.campaign-source-match>.button{justify-content:flex-start;text-align:left;overflow-wrap:anywhere;min-width:0;padding:8px 12px;font-size:.8rem}.campaign-source-match>.fine{margin:0;overflow-wrap:anywhere}
.campaign-page{max-width:1120px;padding-bottom:40px}.campaign-page .page-intro{margin-bottom:24px}.campaign-page input,.campaign-page textarea,.campaign-page select{scroll-margin-block-start:var(--campaign-scroll-clearance,0px);scroll-margin-block-end:16px}.campaign-summary{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:14px;margin:20px 0;background:var(--surface)}
.campaign-shelf h3{font-size:1.25rem;margin:0 0 5px;overflow-wrap:anywhere}.campaign-shelf p{margin:0}.campaign-shelf:empty{display:none}.campaign-proof-status{font-size:.82rem;color:var(--muted);border-left:2px solid var(--accent);padding-left:12px}
.campaign-summary>div{padding:16px 20px;display:flex;flex-direction:column;gap:4px}.campaign-summary strong{font-size:1.5rem;line-height:1.2;font-variant-numeric:tabular-nums}.campaign-summary span{font-size:.77rem;color:var(--muted)}
.campaign-details{padding:16px 20px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.campaign-details>summary{font-weight:650}.campaign-details[open]>summary{margin-bottom:20px}
.campaign-tabs{display:flex;gap:20px;margin:26px 0 24px;border-bottom:1px solid var(--line);flex-wrap:wrap}.campaign-tabs .campaign-tab{background:none;border:0;border-bottom:3px solid transparent;border-radius:0;padding:11px 0;color:var(--muted);font-size:.85rem;min-height:44px}.campaign-tabs .campaign-tab[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent)}
.campaign-section{min-width:0}.campaign-section h3{font-size:1.3rem;margin:0 0 8px}.campaign-section h4{font-size:1.05rem;margin:0 0 12px}.campaign-section-heading{display:flex;justify-content:space-between;align-items:start;gap:16px;margin:0 0 20px}.campaign-section-heading p{margin:0;max-width:46em;font-size:.86rem}
.campaign-opportunity-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:20px}.campaign-opportunities{display:flex;flex-direction:column;gap:10px;align-self:start}.campaign-opportunities .campaign-opportunity{display:flex;flex-direction:column;text-align:left;align-items:start;gap:5px;white-space:normal;padding:16px;background:var(--surface);min-width:0}.campaign-opportunity[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 3px 0 var(--accent)}.campaign-opportunity strong{font-size:.93rem;overflow-wrap:anywhere}.campaign-opportunity span,.campaign-opportunity small{font-size:.75rem;font-weight:400;color:var(--muted)}
.campaign-focus,.campaign-row{padding:22px;border:1px solid var(--line);border-radius:14px;background:var(--surface);min-width:0}.campaign-focus .campaign-row{background:var(--bg);padding:18px}.campaign-row{margin:18px 0}.campaign-row .field:last-child{margin-bottom:0}.campaign-checks{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.campaign-checks .campaign-section-heading{align-items:center;margin-bottom:8px}.campaign-checks .campaign-section-heading h4{margin:0}.campaign-row details{border:0;padding:0;margin:12px 0}.campaign-row details>summary{margin-bottom:12px;font-size:.85rem}
.campaign-source-list{display:grid;gap:12px}.campaign-source-record{margin:0}.campaign-source-record>details{margin:0}.campaign-source-record summary{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer}.campaign-source-record summary strong{overflow-wrap:anywhere}.campaign-source-fields{padding-top:8px}.campaign-filter-status,.campaign-filter-empty{margin:8px 0;color:var(--muted);font-size:.85rem}.campaign-source-record[hidden],.campaign-filter-empty[hidden]{display:none}
.campaign-asset-list{display:grid;gap:12px}.campaign-asset-list>.campaign-asset{margin:0}.campaign-asset[hidden]{display:none}.campaign-asset-filter{max-width:650px}
.campaign-source-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:0 10px}.campaign-source-picker .field{grid-column:1;margin-bottom:0}.campaign-source-picker .campaign-source-picker-status{grid-column:1/-1;color:var(--muted);font-size:.76rem;line-height:1.45;margin:3px 0 8px}.campaign-source-picker>.button{grid-column:2;grid-row:1;align-self:end}.campaign-source-picker .button[hidden]{display:none}.campaign-window-source{font-size:.8rem;color:var(--muted);line-height:1.5;overflow-wrap:anywhere;margin:8px 0}
.campaign-focus-heading h3{margin:7px 0 10px;font-size:1.35rem}.campaign-focus-heading>a{font-size:.82rem}.campaign-opportunity-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:20px 0;margin:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.campaign-opportunity-facts dt{font-size:.72rem;color:var(--muted);margin-bottom:5px}.campaign-opportunity-facts dd{margin:0;font-size:.88rem;line-height:1.5;overflow-wrap:anywhere}.campaign-fit strong{font-size:.84rem}.campaign-fit p{font-size:.87rem;line-height:1.65;margin:7px 0 14px;white-space:pre-line}.campaign-opportunity-editor{border:0;padding:0;margin-top:16px}.campaign-opportunity-editor>summary{font-size:.81rem;font-weight:600}.campaign-opportunity-editor[open]>summary{margin-bottom:18px}
.campaign-requirement{border:1px solid var(--line);border-radius:10px;padding:0;background:var(--bg);margin:10px 0}.campaign-requirement>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;padding:14px 16px;list-style:none}.campaign-requirement>summary::-webkit-details-marker{display:none}.campaign-check-title{font-size:.87rem;font-weight:650;line-height:1.5}.campaign-check-title:before{content:'›';margin-right:8px;color:var(--muted)}.campaign-requirement[open] .campaign-check-title:before{content:'⌄'}.campaign-check-preview{grid-column:1/-1;font-size:.77rem;font-weight:400;color:var(--muted);line-height:1.5;overflow-wrap:anywhere}.campaign-check-state{align-self:start;font-size:.66rem;line-height:1.5;color:var(--muted);padding:3px 7px;border:1px solid var(--line);border-radius:5px;max-width:160px}.campaign-check-state[data-state=met]{color:var(--success)}.campaign-check-state[data-state=not_met]{color:var(--danger)}.campaign-check-editor{border-top:1px solid var(--line);padding:18px}.campaign-check-editor>details{padding:0;border:0;margin:16px 0}.campaign-check-editor>details>summary{font-size:.85rem;margin-bottom:14px}
.campaign-character-count{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.86rem;margin:8px 0 16px}.campaign-character-count.over-limit{color:var(--danger);font-weight:650}.campaign-budget-total{padding:14px 18px;border-left:3px solid var(--accent);background:var(--surface);font-weight:650;font-variant-numeric:tabular-nums}
.campaign-action-meta{display:block;margin-top:6px;color:var(--muted);font-size:.76rem;line-height:1.45}.campaign-action-date-status{margin:7px 0 0;color:var(--muted);font-size:.76rem;line-height:1.5}.campaign-action-date-status[data-state=overdue]{color:var(--danger);font-weight:650}.campaign-action-date-status[data-state=done]{color:var(--success)}
.campaign-decision-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:18px;padding:20px;margin:20px 0 24px;border:1px solid var(--edge);border-left:4px solid var(--accent);border-radius:14px;background:var(--surface)}.campaign-decision-main,.campaign-decision-action{min-width:0}.campaign-decision-card h3{margin:3px 0 8px;font-size:1.2rem;line-height:1.3}.campaign-decision-action .eyebrow{display:block;font-size:.68rem;letter-spacing:.08em;color:var(--muted)}.campaign-decision-state{display:inline-flex;margin:2px 0 4px;padding:4px 9px;border:1px solid var(--line);border-radius:6px;font-size:.8rem;font-weight:750;letter-spacing:.025em}.campaign-decision-state[data-state=no_go]{color:var(--danger);border-color:var(--danger)}.campaign-decision-state[data-state=ready_for_review]{color:var(--text);border-color:var(--edge);background:var(--bg)}.campaign-decision-state[data-state=not_ready]{color:var(--text);border-color:var(--accent)}.campaign-decision-campaign{margin:2px 0;font-size:1.02rem;font-weight:650;overflow-wrap:anywhere}.campaign-decision-detail{margin:5px 0 0;font-size:.9rem;line-height:1.55}.campaign-decision-task{margin:5px 0 4px;font-weight:650;line-height:1.5}.campaign-decision-owner,.campaign-decision-date{margin:4px 0;color:var(--muted);font-size:.8rem;line-height:1.45}.campaign-decision-date.is-overdue{color:var(--danger);font-weight:650}.campaign-decision-action .button{margin-top:8px}.campaign-decision-reopen{grid-column:1/-1;padding-top:13px;border-top:1px solid var(--line);font-size:.82rem}.campaign-decision-reopen strong{font-size:.76rem}.campaign-decision-reopen p{margin:4px 0 0;line-height:1.55}.campaign-decision-note{grid-column:1/-1;margin:0;color:var(--muted);font-size:.72rem;line-height:1.45}
.campaign-action-meta[data-state=accepted]{color:var(--success)}.campaign-output-stale .report-area{opacity:.58;pointer-events:none}.campaign-output-stale>.notice{position:sticky;top:12px;z-index:2;box-shadow:0 4px 18px #0002}
.campaign-saved-panel{padding:18px 20px;margin:18px 0;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.campaign-saved-panel .campaign-section-heading{margin-bottom:14px}.campaign-saved-panel .campaign-section-heading h3{font-size:1.2rem}.campaign-saved-item.is-current{padding-left:12px;border-left:3px solid var(--accent)}.campaign-saved-item.is-current strong{color:var(--text)}
.campaign-save-bar{position:sticky;top:12px;z-index:6;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 16px;padding:12px 14px;margin:20px 0;background:var(--surface);border:1px solid var(--edge);border-radius:14px;box-shadow:0 4px 20px #0002}.campaign-save-bar .button-row{margin:0}.campaign-save-state{font-size:.8rem;color:var(--muted)}.campaign-save-feedback{grid-column:1/-1;max-height:96px;overflow:auto}.campaign-save-feedback:empty{display:none}.campaign-save-feedback .notice{margin:0;padding:8px 12px;font-size:.8rem}.campaign-page>.notice{margin:14px 0}
.campaign-transfers{margin:24px 0;padding:18px 20px;border:1px solid var(--line);border-radius:12px}.campaign-transfers>summary{font-weight:600}.campaign-transfers[open]>summary{margin-bottom:18px}.campaign-saved-list{display:grid;gap:8px;margin:0 0 20px}.campaign-saved-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid var(--line)}.campaign-saved-item small{display:block;color:var(--muted);margin-top:4px;font-size:.76rem}.campaign-empty{padding:32px;border:1px dashed var(--edge);border-radius:14px}.campaign-empty p{max-width:42em;color:var(--muted);font-size:.9rem}
@media(max-width:1100px){.campaign-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.campaign-opportunity-layout{grid-template-columns:1fr}.campaign-opportunities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.campaign-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.campaign-summary>div{padding:13px 14px}.campaign-decision-card{grid-template-columns:1fr;padding:16px}.campaign-decision-reopen,.campaign-decision-note{grid-column:auto}.campaign-tabs{gap:4px 18px;margin-top:18px}.campaign-tabs .campaign-tab{font-size:.79rem}.campaign-section-heading{display:block}.campaign-section-heading>.button{margin-top:12px}.campaign-opportunities{grid-template-columns:1fr}.campaign-focus,.campaign-row{padding:16px}.campaign-focus .campaign-row{padding:12px}.campaign-save-bar{top:8px;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px}.campaign-save-state{display:block;margin:0}.campaign-save-bar .button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.campaign-save-bar .button{width:100%;min-width:0;min-height:44px;padding:8px 10px;white-space:normal;font-size:.78rem}.campaign-save-feedback{max-height:min(72px,15vh)}.campaign-saved-panel{padding:14px}.campaign-saved-item{align-items:center;flex-direction:row}.campaign-saved-item>div{min-width:0;flex:1;overflow-wrap:anywhere}.campaign-saved-item>.button{width:auto;flex:0 0 auto;min-height:40px;padding:8px 12px;white-space:nowrap}.campaign-section .form-grid{grid-template-columns:1fr}.campaign-transfers{padding:14px}.campaign-details{padding:14px}.campaign-empty{padding:22px}.campaign-page input,.campaign-page textarea,.campaign-page select{min-width:0;max-width:100%}}
.campaign-communication>details>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;align-items:start;list-style:none}.campaign-communication>details>summary::-webkit-details-marker{display:none}.campaign-communication>details>summary>.fine{grid-column:1/-1;overflow-wrap:anywhere}.campaign-communication-state{display:inline-flex;max-width:100%;padding:4px 8px;border:1px solid var(--line);border-radius:6px;color:var(--muted);font-size:.68rem;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.campaign-communication-state[data-state=draft]{border-color:var(--edge)}.campaign-communication-evidence{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
@media(max-height:600px){.campaign-save-bar{top:4px;padding:6px;gap:4px}.campaign-save-bar .button{padding:4px 6px;font-size:.72rem}.campaign-save-feedback{max-height:32px}.campaign-save-feedback .notice{padding:4px 8px;font-size:.75rem}}
.campaign-asset>details>summary{display:flex;justify-content:space-between;align-items:start;gap:12px;list-style:none}.campaign-asset>details>summary::-webkit-details-marker{display:none}.campaign-asset>details>summary strong{font-size:1rem;overflow-wrap:anywhere}.campaign-asset-meta{flex:0 1 55%;color:var(--muted);font-size:.72rem;text-align:right}.campaign-asset-public{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-top:14px}.campaign-asset-public>.field:first-child,.campaign-asset-public>.field:last-child{grid-column:1/-1}.campaign-asset-workstreams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0}.campaign-asset-workstream,.campaign-asset-references{min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.campaign-asset-workstream>summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer}.campaign-asset-workstream>summary .fine{margin:0;text-align:right}.campaign-asset-workstream[open]>summary{margin-bottom:12px}.campaign-asset-reference{padding:14px 0;border-top:1px solid var(--line)}.campaign-asset-reference:first-of-type{margin-top:12px}.campaign-asset-references>.fine{max-width:60em}.campaign-asset-reference>a{font-size:.8rem;overflow-wrap:anywhere}
@media(max-width:650px){.campaign-asset-public,.campaign-asset-workstreams{grid-template-columns:1fr}.campaign-asset-public>.field:first-child,.campaign-asset-public>.field:last-child{grid-column:auto}.campaign-asset>details>summary{display:grid}.campaign-asset-meta{text-align:left}}
.campaign-asset-funding{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:8px 0 18px;padding:14px 16px;border:1px solid var(--line);border-radius:10px}.campaign-asset-funding>legend{padding:0 6px;font-size:.85rem;font-weight:650}.campaign-asset-funding>p{grid-column:1/-1;margin:0}.campaign-asset-funding .checkbox{align-items:start;font-size:.82rem}
@media(max-width:650px){.campaign-asset-funding{grid-template-columns:1fr}.campaign-asset-funding>p{grid-column:auto}}
@media(max-width:650px){.campaign-source-record summary{align-items:flex-start;flex-direction:column;gap:4px}}
.campaign-action>details{margin:0;padding:0;border:0}
.campaign-action>details>summary{display:grid;grid-template-columns:22px minmax(0,1fr);gap:3px 12px;align-items:start;margin:0;list-style:none;font-size:.9rem;line-height:1.45}
.campaign-action>details>summary::-webkit-details-marker{display:none}
.campaign-action>details>summary:before{content:'+';grid-row:1/3;display:grid;place-items:center;width:22px;height:22px;border:1px solid var(--line);border-radius:7px;color:var(--accent);font-size:1rem;line-height:1}
.campaign-action>details[open]>summary:before{content:'−'}
.campaign-action-summary-task{min-width:0;font-weight:650;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.campaign-action-summary-meta{grid-column:2;display:flex;flex-wrap:wrap;gap:4px 10px;color:var(--muted);font-size:.74rem;font-weight:450;line-height:1.45;overflow-wrap:anywhere}
.campaign-action-hold-reason{flex-basis:100%;color:var(--accent);font-weight:650}
.campaign-action>details[open]>summary{margin-bottom:16px}
.campaign-action>details>summary:focus-visible{outline:2px solid var(--focus);outline-offset:4px;border-radius:4px}
.campaign-action-group-heading{margin:26px 0 8px;padding-top:14px;border-top:1px solid var(--line);font-size:.95rem;color:var(--muted)}
.campaign-action-meta[data-state=suggested]{color:var(--accent)}

.campaign-budget-row>details{margin:0}
.campaign-budget-row>details>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 18px;margin:0;list-style:none;cursor:pointer;font-size:.9rem}
.campaign-budget-row>details>summary::-webkit-details-marker{display:none}
.campaign-budget-row-title{min-width:0;overflow-wrap:anywhere;line-height:1.5}
.campaign-budget-row-title:before{content:'+';display:inline-block;margin-right:10px;color:var(--accent)}
.campaign-budget-row>details[open] .campaign-budget-row-title:before{content:'−'}
.campaign-budget-row-amount{font-variant-numeric:tabular-nums;font-size:.8rem;align-self:start;line-height:1.7}
.campaign-budget-row-amount[data-priced=false]{color:var(--accent)}
.campaign-budget-row-meta{grid-column:1/-1;color:var(--muted);overflow-wrap:anywhere;font-size:.75rem;line-height:1.5}
.campaign-budget-row-editor{padding-top:20px;margin-top:14px;border-top:1px solid var(--line)}
.campaign-budget-row>details>summary:focus-visible{outline:2px solid var(--focus);outline-offset:5px;border-radius:4px}
.campaign-budget-basis-note{max-width:75ch;line-height:1.6}
@media(max-width:650px){.campaign-budget-row>details>summary{grid-template-columns:1fr;gap:6px}.campaign-budget-row-meta{grid-column:1}.campaign-budget-row-amount{padding-left:20px}}

.campaign-budget-basis-details { margin: -.3rem 0 1rem; }
.campaign-budget-basis-details > summary { width: fit-content; font-size: .86rem; color: var(--muted); cursor: pointer; }
.campaign-budget-basis-details > summary:focus-visible { outline: 3px solid var(--focus); outline-offset: 4px; }

/* Record stages and currencies stay separate; no visual grand total is implied. */
.campaign-funding-summary {
  margin: 24px 0;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  min-width: 0;
}
.campaign-funding-summary[data-stale=true] { border-color: var(--accent); }
.campaign-funding-summary[data-stale=true] > [role=status] {
  color: var(--accent);
  font-weight: 650;
}
.campaign-funding-summary .campaign-section-heading { margin-bottom: 12px; }
.campaign-funding-summary h3 { margin: 0 0 6px; font-size: 1.2rem; }
.campaign-funding-summary .fine { line-height: 1.5; }
.campaign-funding-stages {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}
.campaign-funding-stage {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--bg);
  overflow-wrap: anywhere;
}
.campaign-funding-stage h4 { margin: 0 0 8px; font-size: 1rem; }
.campaign-funding-count { margin: 4px 0 10px; font-size: .78rem; color: var(--muted); }
.campaign-funding-count strong { color: var(--text); font-size: 1.4rem; font-variant-numeric: tabular-nums; }
.campaign-funding-group { margin: 14px 0; padding-top: 12px; border-top: 1px solid var(--line); }
.campaign-funding-group > strong { font-size: .78rem; }
.campaign-funding-group > p { margin: 5px 0; }
.campaign-funding-subtotal { font-size: .9rem; font-weight: 650; font-variant-numeric: tabular-nums; }
.campaign-funding-review { padding: 0; border: 0; }
.campaign-funding-review > summary { cursor: pointer; font-size: .85rem; font-weight: 650; }
.campaign-funding-review h4 { margin: 18px 0 8px; font-size: .9rem; }
.campaign-funding-review li { font-size: .8rem; line-height: 1.6; overflow-wrap: anywhere; }
.campaign-funding-record-counts { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0; }
.campaign-funding-record-counts > div { display: flex; gap: 8px; font-size: .78rem; }
.campaign-funding-record-counts dt { color: var(--muted); }
.campaign-funding-record-counts dd { margin: 0; font-variant-numeric: tabular-nums; }
.campaign-funding-tracking { margin: 20px 0 0; padding: 18px 0 0; border: 0; border-top: 1px solid var(--line); }
.campaign-funding-tracking > summary { cursor: pointer; font-size: .85rem; font-weight: 650; }
.campaign-funding-tracking[open] > summary { margin-bottom: 14px; }
.campaign-funding-amount, .campaign-funding-claim { margin: 12px 0; padding: 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--bg); }
.campaign-funding-amount > summary, .campaign-funding-claim > summary { cursor: pointer; font-size: .82rem; font-weight: 600; }
.campaign-funding-amount[open] > summary, .campaign-funding-claim[open] > summary { margin-bottom: 16px; }
.campaign-funding-amount-evidence { margin: 16px 0 0; padding: 0; border: 0; }
.campaign-funding-amount-evidence > summary { cursor: pointer; font-size: .8rem; }
.campaign-funding-amount-evidence[open] > summary { margin-bottom: 14px; }
.campaign-opportunity-list { min-width: 0; align-self: start; }
.campaign-opportunity-list .field { margin-bottom: 12px; }
.campaign-opportunity-list .campaign-filter-status { font-size: .76rem; line-height: 1.5; }
.campaign-opportunity-list .fine { line-height: 1.5; overflow-wrap: anywhere; font-size: .76rem; }
.campaign-opportunity-list > .button[hidden] { display: none; }
.campaign-opportunity-pagination { display: grid; grid-template-columns: 1fr; gap: 8px; margin: 14px 0 10px; }
.campaign-opportunity-pagination > .button { min-width: 0; white-space: normal; min-height: 44px; padding: 8px; font-size: .77rem; }
.campaign-funding-tracking summary:focus-visible, .campaign-funding-review > summary:focus-visible { outline: 2px solid var(--focus); outline-offset: 5px; border-radius: 3px; }
@media (max-width: 940px) {
  .campaign-funding-stages { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1100px) {
  .campaign-opportunity-pagination { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .campaign-funding-summary { padding: 14px; }
  .campaign-funding-stages { grid-template-columns: 1fr; }
  .campaign-funding-summary .campaign-section-heading > .button { width: 100%; min-height: 44px; white-space: normal; }
  .campaign-funding-amount, .campaign-funding-claim { padding: 12px; }
}

/* Keep the section choice available before the campaign's review dossier. */
.campaign-section-navigation { position: sticky; top: var(--campaign-navigation-top, 0px); z-index: 5; min-width: 0; margin-bottom: 20px; padding: 4px 0; background: var(--bg); display: flow-root; }
.campaign-section-navigation .campaign-tabs { margin: 0; }
.campaign-section,
.campaign-editor,
.campaign-decision-card,
.campaign-action,
.campaign-output { scroll-margin-block-start: var(--campaign-scroll-clearance, 0px); }
.campaign-section:focus-visible,
.campaign-decision-card:focus-visible { outline: 2px solid var(--focus); outline-offset: 6px; }
.campaign-section-context { display: flex; align-items: center; gap: 12px; margin: 0 0 18px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.campaign-section-context p { flex: 1; min-width: 0; margin: 0; font-size: .8rem; line-height: 1.5; overflow-wrap: anywhere; }
.campaign-section-context p > span { display: block; color: var(--muted); }
.campaign-section-context .button { flex: 0 0 auto; min-height: 44px; padding: 8px 10px; font-size: .78rem; }
@media (max-width: 940px) {
  .campaign-section-navigation .campaign-tabs { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-inline: contain; gap: 18px; padding-bottom: 4px; scrollbar-width: thin; }
  .campaign-section-navigation .campaign-tab { flex: 0 0 auto; white-space: nowrap; }
}
@media (max-width: 650px) {
  .campaign-section-context { align-items: flex-start; padding: 10px; }
}
