.campaign-creation-dialog{box-sizing:border-box;width:min(540px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;padding:24px;border:1px solid var(--border-color,#bbb);border-radius:20px;background:var(--surface,#fff);color:var(--text-primary,#202033)}
.campaign-creation-dialog::backdrop{background:rgb(12 14 28 / .6)}
.campaign-creation-dialog h2{margin:0 0 12px;font-size:1.4rem}
.campaign-creation-dialog p{overflow-wrap:anywhere;line-height:1.5}
.campaign-creation-context{padding:12px;border:1px solid currentColor;border-radius:12px;margin-block:16px}
.campaign-creation-context p{margin:0 0 6px}.campaign-creation-context>div{display:flex;align-items:center;gap:12px;overflow-wrap:anywhere}
.campaign-creation-context .brand-logo{flex:none;width:44px;height:44px;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:var(--surface-muted,#eee)}
.campaign-creation-context img{width:100%;height:100%;object-fit:contain}
.campaign-creation-dialog label{display:block;margin-block:12px 6px}
.campaign-creation-dialog textarea{box-sizing:border-box;width:100%;min-height:72px;padding:12px;font:inherit;color:inherit;background:transparent;border:1px solid currentColor;border-radius:10px;resize:vertical}
.campaign-creation-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px}
.campaign-creation-actions .fk-btn{min-height:44px;white-space:normal;overflow-wrap:anywhere}
.campaign-creation-dialog :focus-visible{outline:3px solid var(--accent,#7256d8);outline-offset:3px}
html[data-theme="dark"] .campaign-creation-dialog{background:#171b29;color:#f3f4fc;border-color:#768094}
html[data-theme="dark"] .campaign-creation-context .brand-logo{background:#2a3040}
@media(max-width:375px){.campaign-creation-dialog{padding:16px}.campaign-creation-actions button{flex:1 1 100%}}
@media(forced-colors:active){.campaign-creation-dialog,.campaign-creation-dialog button{border:1px solid CanvasText}.campaign-creation-dialog :focus-visible{outline-color:Highlight}}
@media(prefers-reduced-motion:reduce){.campaign-creation-dialog{animation:none;transition:none}}

#campaign-creation-feedback{position:fixed;z-index:10000;left:50%;top:80px;transform:translateX(-50%);box-shadow:0 16px 60px rgb(0 0 0 / .25)}
.campaign-creation-recovery{box-sizing:border-box;min-height:44px;display:inline-flex;align-items:center;padding:10px 16px;color:inherit}.campaign-creation-recovery[hidden]{display:none}

.campaign-creation-dialog .campaign-builder-modal{box-sizing:border-box;width:100%;max-width:none;max-height:calc(100dvh - 76px);padding:0;border:0;box-shadow:none;background:transparent;overflow:auto}
.campaign-creation-dialog [hidden]{display:none!important}
.campaign-creation-dialog input[type="number"],.campaign-creation-dialog select{box-sizing:border-box;width:100%;min-height:44px}
.campaign-creation-dialog input[type="checkbox"]{width:24px;height:24px}
.campaign-creation-dialog .campaign-v3-creation-shell,.campaign-creation-dialog .campaign-v3-complete-shell,.campaign-creation-dialog .campaign-v3-error-shell{min-width:0}
.campaign-creation-dialog .fk-btn{max-width:100%;white-space:normal}

/* V3 completion owns two full-label actions; keep their intrinsic sizes inside
   the grid shell instead of allowing a nowrap flex row to widen the modal. */
.campaign-v3-creation-modal .campaign-v3-complete-shell {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  grid-template-columns: minmax(0, 1fr);
}
.campaign-v3-creation-modal .campaign-v3-complete-actions {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  flex-wrap: wrap;
}
.campaign-v3-creation-modal .campaign-v3-complete-actions > .fk-btn {
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  box-sizing: border-box;
  white-space: normal;
  overflow-wrap: anywhere;
}
@media (max-width: 480px) {
  .campaign-v3-creation-modal .campaign-v3-complete-actions {
    flex-direction: column;
    align-items: stretch;
  }
  .campaign-v3-creation-modal .campaign-v3-complete-actions > .fk-btn {
    width: 100%;
  }
}
