.campaign-workbook,
.campaign-workbook-resume {
    min-width: 0;
    margin-block: 36px;
    padding: clamp(20px, 3vw, 34px);
    border: 1px solid var(--line, #ccc5b7);
    background: var(--white, #fffdf7);
    color: var(--ink, #171713);
    overflow-wrap: anywhere;
    scroll-margin-top: 24px;
}
.campaign-workbook [hidden],
.campaign-workbook-resume [hidden] { display: none !important; }
.campaign-workbook h2,
.campaign-workbook-resume h2 { margin: 10px 0 16px; font-size: clamp(1.4rem, 2.4vw, 1.85rem); line-height: 1.25; }
.campaign-workbook h3 { margin: 0 0 10px; font-size: 1.13rem; line-height: 1.4; }
.campaign-workbook h4 { margin: 20px 0 10px; font-size: 1.05rem; line-height: 1.4; }
.campaign-workbook p,
.campaign-workbook-resume p { line-height: 1.65; }
.cw-intro > p { margin: 0 0 24px; }
.cw-steps ol { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.cw-steps li { min-width: 0; }
.cw-steps a { display: flex; flex-direction: column; gap: 8px; height: 100%; padding: 12px; border: 1px solid var(--line, #ccc5b7); text-decoration: none; }
.cw-steps a[aria-current="step"] { border-color: var(--green, #1d6a58); background: #eef5f1; }
.cw-steps a > b { font-size: .9rem; line-height: 1.45; }
.cw-steps a > span { font-size: .78rem; line-height: 1.4; color: var(--ink-soft, #57554d); }
.cw-privacy { font-size: .87rem; color: var(--ink-soft, #57554d); margin: 20px 0; }
.cw-storage { margin-block: 20px; padding: 12px 14px; border-left: 3px solid var(--green, #1d6a58); background: #eef5f1; font-size: .88rem; line-height: 1.55; }
.cw-storage[data-state="blocked"],
.cw-storage[data-state="damaged"],
.cw-storage[data-state="conflict"] { border-color: #986119; background: #fff2d4; }
.cw-recovery { margin-bottom: 24px; padding: 16px; border: 1px solid #be9c63; background: #fff8e8; font-size: .9rem; }
.cw-recovery > p { margin-top: 0; }
.cw-offer { padding: 20px; background: var(--paper, #f4f1e8); }
.cw-offer > label,
.cw-field > label,
.cw-copy-fallback > label { display: block; font-size: 1rem; line-height: 1.5; font-weight: 700; }
.cw-offer > p,
.cw-field > p { margin: 9px 0 12px; font-size: .88rem; color: var(--ink-soft, #57554d); }
.cw-offer input,
.cw-field textarea,
.cw-copy-fallback textarea {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    border: 1px solid #8f897d;
    border-radius: 0;
    padding: 12px;
    background: #fff;
    color: #171713;
    font: inherit;
    font-size: 1rem;
    line-height: 1.55;
    resize: vertical;
}
.cw-offer input { margin-top: 12px; }
.cw-offer input:disabled,
.cw-field textarea:disabled { background: #f2f0eb; opacity: .65; }
.cw-fields { display: grid; gap: 28px; margin-block: 28px; }
.cw-field > label > span { color: var(--green, #1d6a58); }
.cw-count { display: block; margin-top: 5px; font-size: .75rem; color: var(--ink-soft, #57554d); text-align: right; }
.cw-context { margin-block: 24px; padding: 14px 20px; border: 1px solid var(--line, #ccc5b7); background: var(--paper, #f4f1e8); }
.cw-context > summary { min-height: 44px; padding-block: 10px; font-weight: 700; line-height: 1.5; cursor: pointer; }
.cw-context[open] > summary,
.cw-preview[open] > summary,
.cw-data-control[open] > summary { margin-bottom: 16px; }
.cw-context-section { margin-top: 24px; }
.cw-context-section + .cw-context-section { padding-top: 20px; border-top: 1px solid var(--line, #ccc5b7); }
.cw-context-section dl { margin: 0; }
.cw-context-section dt { margin-top: 18px; font-weight: 700; font-size: .9rem; line-height: 1.5; }
.cw-context-section dd { margin: 0; }
.cw-context-answer { margin-block: 8px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .9rem; }
.cw-context-answer.is-missing { color: var(--ink-soft, #57554d); }
.cw-context-edit { display: inline-block; min-height: 44px; padding-block: 10px; font-size: .85rem; line-height: 1.5; text-underline-offset: 4px; }
.cw-example,
.cw-preview,
.cw-data-control { margin-block: 22px; border-top: 1px solid var(--line, #ccc5b7); border-bottom: 1px solid var(--line, #ccc5b7); padding-block: 14px; }
.cw-example > summary,
.cw-preview > summary,
.cw-data-control > summary { width: fit-content; font-weight: 700; line-height: 1.5; cursor: pointer; padding: 6px 0; }
.cw-example > p { margin-block: 16px; font-size: .9rem; }
.cw-example dt,
.cw-preview dt,
.campaign-workbook-print dt { margin: 18px 0 7px; font-weight: 700; line-height: 1.5; }
.cw-example dd,
.cw-preview dd,
.campaign-workbook-print dd { margin: 0; white-space: pre-wrap; line-height: 1.65; overflow-wrap: anywhere; }
.cw-example dd { font-size: .92rem; }
.cw-check { padding: 20px; background: #eef5f1; }
.cw-check p { margin: 0; font-size: .93rem; }
.cw-completion { margin-block: 22px; }
.cw-completion > p { margin: 0 0 16px; font-size: .9rem; }
.cw-reviewed { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border: 1px solid var(--line, #ccc5b7); font-size: .93rem; line-height: 1.55; cursor: pointer; }
.cw-reviewed input { flex: 0 0 auto; width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--green, #1d6a58); }
.cw-completion .cw-note { margin-top: 12px; }
.cw-note { font-size: .85rem; color: var(--ink-soft, #57554d); }
.cw-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-block: 18px; }
.cw-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; max-width: 100%; padding: 11px 16px; border: 1px solid var(--ink, #171713); background: var(--white, #fffdf7); color: var(--ink, #171713); font: inherit; font-size: .88rem; line-height: 1.45; font-weight: 700; text-align: center; text-decoration: none; white-space: normal; cursor: pointer; }
.cw-button-primary { background: var(--ink, #171713); color: var(--white, #fffdf7); }
.cw-button:hover { background: var(--yellow, #f2c529); color: var(--ink, #171713); }
.cw-copy-fallback textarea { margin-top: 12px; }
.cw-import-preview { margin-block: 18px; padding: 18px; border: 1px solid #8f897d; background: #f7f4ec; }
.cw-import-preview h3 { margin-top: 0; }
.cw-import-preview dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; margin: 0; }
.cw-import-preview dl > div { min-width: 0; padding-bottom: 8px; border-bottom: 1px solid var(--line, #ccc5b7); }
.cw-import-preview dt { font-size: .78rem; font-weight: 700; color: var(--ink-soft, #57554d); }
.cw-import-preview dd { margin: 4px 0 0; overflow-wrap: anywhere; font-size: .92rem; }
.cw-import-overwrite { display: flex; gap: 10px; align-items: flex-start; margin: 16px 0; padding: 14px; border: 1px solid #9b6b16; background: #fff7dc; font-weight: 700; line-height: 1.45; }
.cw-import-overwrite input { flex: 0 0 auto; margin-top: .2em; }
.cw-import-overwrite[hidden] { display: none; }
.cw-data-control { margin-top: 28px; font-size: .86rem; }
.cw-data-control summary { font-weight: 400; }
.cw-next { padding-top: 16px; border-top: 1px solid var(--line, #ccc5b7); font-size: .95rem; }
.cw-summary-section { margin-block: 24px; padding-bottom: 12px; border-bottom: 1px solid var(--line, #ccc5b7); }
.cw-summary-missing { font-size: .85rem; color: #825615; }
.campaign-workbook a:focus-visible,
.campaign-workbook button:focus-visible,
.campaign-workbook input:focus-visible,
.campaign-workbook textarea:focus-visible,
.campaign-workbook summary:focus-visible,
.campaign-workbook-resume a:focus-visible { outline: 3px solid var(--green, #1d6a58); outline-offset: 4px; }
.campaign-workbook-resume { display: grid; grid-template-columns: minmax(0, 1fr) minmax(180px, .45fr); gap: 22px; align-items: center; }
.campaign-workbook-resume h2 { font-size: clamp(1.3rem, 2.2vw, 1.7rem); }
.campaign-workbook-resume p:last-child { margin-bottom: 0; }
.campaign-workbook-print { display: none; }
@media (max-width: 760px) {
    .cw-steps ol { grid-template-columns: 1fr; }
    .cw-steps a { flex-direction: row; flex-wrap: wrap; align-items: baseline; justify-content: space-between; }
    .cw-steps a > span { max-width: 100%; }
    .cw-offer { padding: 16px; }
    .cw-fields { gap: 24px; }
    .cw-actions { align-items: stretch; }
    .cw-actions .cw-button { flex: 1 1 210px; }
    .campaign-workbook-resume { grid-template-columns: 1fr; }
    .campaign-workbook-resume > .cw-button { width: fit-content; }
    .cw-import-preview dl { grid-template-columns: 1fr; }
}
@media print {
    body.cw-printing > :not(.campaign-workbook-print) { display: none !important; }
    body.cw-printing { background: #fff !important; color: #111 !important; }
    body.cw-printing > .campaign-workbook-print { display: block !important; margin: 0; padding: 0; width: 100%; font: 9pt/1.35 sans-serif; }
    .campaign-workbook-print h3 { margin: 0 0 4mm; font-size: 16pt; }
    .campaign-workbook-print h4 { margin: 0 0 2mm; font-size: 11pt; line-height: 1.25; break-after: avoid; }
    .campaign-workbook-print p,
    .campaign-workbook-print .cw-note,
    .campaign-workbook-print .cw-summary-missing { margin: 0 0 2.5mm; color: #111; font-size: 8.5pt; }
    .campaign-workbook-print .cw-print-meta,
    .campaign-workbook-print .cw-print-scope { font-size: 7.8pt; }
    .campaign-workbook-print dl { margin: 0; }
    .campaign-workbook-print dt { margin: 3mm 0 1mm; font-size: 8.7pt; break-after: avoid; }
    .campaign-workbook-print dd { margin: 0; font-size: 8.5pt; line-height: 1.35; overflow-wrap: anywhere; white-space: pre-wrap; }
    .campaign-workbook-print .cw-summary-section { min-width: 0; margin: 0; padding: 4mm; border: 1px solid #bbb; break-inside: auto; page-break-inside: auto; }
    .campaign-workbook-print .cw-summary-section + .cw-summary-section { break-before: page; page-break-before: always; }
    .campaign-workbook-print * { box-shadow: none !important; }
    .campaign-workbook .cw-storage,
    .campaign-workbook .cw-recovery,
    .campaign-workbook .cw-actions,
    .campaign-workbook .cw-data-control { display: none !important; }
}
