#bb-flow{margin-bottom:24px;padding:24px;background:white;border:1px solid #d4e9ed;border-radius:16px;color:#123f4c}#bb-flow[hidden]{display:none}.bf-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.bf-heading h2,.bf-heading h3{margin:5px 0}.bf-heading p,.bf-tip,.bf-source,.bf-footnote{font-size:13px;line-height:1.65;color:#547481}.bf-name{display:flex;gap:12px;align-items:center}.bf-name input{width:min(550px,100%);padding:10px;border:1px solid #c7dde2;border-radius:7px}.bf-matrix{overflow:auto;height:600px;max-height:600px;border:1px solid #d4e9ed;border-radius:8px}.bf-matrix table{border-collapse:collapse;min-width:1650px;width:100%}.bf-matrix th{position:sticky;top:0;background:#eaf4f6;z-index:1;padding:10px;font-size:12px;white-space:nowrap;text-align:left}.bf-matrix td{border:1px solid #e3edf0;padding:0}.bf-matrix input,.bf-matrix select{width:100%;min-width:115px;border:0;border-radius:0;padding:12px 8px;background:transparent;color:inherit;font:inherit;font-size:12px}.bf-matrix input:focus,.bf-matrix select:focus{outline:2px solid #008999;outline-offset:-2px;background:#f0fcff}.bf-matrix [data-col="1"]{min-width:190px}.bf-actions{display:flex;align-items:center;gap:16px;margin:16px 0;flex-wrap:wrap}.bf-actions [role=status]{font-size:13px;color:#547481}.bf-source{margin:16px 0;padding:12px;background:#f4f8f9;border-radius:8px}.bf-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;max-height:400px;overflow:auto}.bf-progress article{padding:16px;border:1px solid #d4e9ed;border-radius:9px}.bf-progress span,.bf-progress strong{display:block;margin:10px 0}.bf-progress span,.bf-progress small,.bf-progress p{font-size:12px;font-weight:400}.bf-track{height:8px;background:#e6f1f3;border-radius:4px;overflow:hidden}.bf-track i{display:block;height:100%;background:#008999} .bf-campaign-cell{vertical-align:top;min-width:300px;width:320px;max-width:340px}.bf-cell-campaigns{width:320px;max-width:340px}.bf-cell-campaigns summary{padding:12px;cursor:pointer;font-size:12px;line-height:1.5;white-space:normal;overflow-wrap:anywhere;color:#006876}.bf-cell-campaigns[open]{background:#f4fafb}.bf-cell-options{padding:12px;border-top:1px solid #c7dde2}.bf-cell-options>b{font-size:12px;display:block;margin-bottom:8px}.bf-cell-options small{display:block;font-size:11px;line-height:1.5;margin:10px 0;color:#547481}.bf-cell-options input[type=search],.bf-cell-options select{width:100%;min-width:0;box-sizing:border-box;padding:9px;border:1px solid #c7dde2;border-radius:6px;background:#fff}.bf-choices{max-height:190px;overflow:auto;margin:8px 0}.bf-choices label{display:flex;gap:8px;padding:9px 0;border-bottom:1px solid #e3edf0;font-size:12px;line-height:1.5;text-align:left}.bf-choices label[hidden]{display:none}.bf-cell-options input[type=checkbox]{width:16px;min-width:16px;height:16px;padding:0;margin:3px 0;flex-shrink:0}.bf-choices label:has(input:disabled){opacity:.5}.bf-result-label{display:block;font-size:12px;text-align:left}.bf-result-label select{margin-top:6px}.bf-cell-options p{font-size:12px;line-height:1.5}
@media(max-width:650px){#bb-flow{padding:14px}.bf-heading{align-items:flex-start;flex-direction:column}.bf-name{display:block}.bf-progress{grid-template-columns:1fr}}

/* Freeze row numbers, medium and product together. */
.bf-matrix{--bf-number:36px;--bf-medium:132px;--bf-product:190px}
.bf-matrix th:nth-child(-n+3),.bf-matrix td:nth-child(-n+3){position:sticky;box-sizing:border-box;background:#fff;z-index:2}
.bf-matrix th:first-child,.bf-matrix td:first-child{left:0;width:var(--bf-number);min-width:var(--bf-number);max-width:var(--bf-number);text-align:center;background:#f3f8f9}
.bf-matrix th:nth-child(2),.bf-matrix td:nth-child(2){left:var(--bf-number);width:var(--bf-medium);min-width:var(--bf-medium);max-width:var(--bf-medium)}
.bf-matrix th:nth-child(3),.bf-matrix td:nth-child(3){left:calc(var(--bf-number) + var(--bf-medium));width:var(--bf-product);min-width:var(--bf-product);max-width:var(--bf-product);box-shadow:2px 0 0 #d4e9ed}
.bf-matrix td:nth-child(-n+3) input,.bf-matrix td:nth-child(-n+3) select{min-width:0;box-sizing:border-box}
.bf-matrix th:nth-child(-n+3){z-index:3;background:#eaf4f6}
@media(max-width:650px){.bf-matrix{--bf-number:28px;--bf-medium:96px;--bf-product:128px}.bf-matrix th:nth-child(-n+3){white-space:normal;padding:8px 5px}}

/* A nonmodal dropdown in the top layer keeps the matrix rows compact. */
.bf-cell-options{position:fixed;inset:auto;margin:0;padding:14px;box-sizing:border-box;width:360px;max-width:calc(100vw - 16px);max-height:520px;overflow:auto;background:#fff;color:#123f4c;border:1px solid #b8dce3;border-radius:10px;box-shadow:0 10px 32px #123f4c30;z-index:1000}
.bf-cell-options[hidden]{display:none}
.bf-cell-options::backdrop{background:transparent;pointer-events:none}
.bf-cell-campaigns summary{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* The operational flow replaces the document list in this view. */
#page-plans #bb-flow:not([hidden]) ~ .plans-card{display:none}

.bf-identity{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:12px 0}.bf-identity>label{display:grid;gap:7px;font-size:12px;font-weight:600}.bf-identity .bf-name{flex:1;min-width:220px}.bf-identity .bf-name input{width:100%;box-sizing:border-box}.bf-brand select{padding:10px;border:1px solid #c7dde2;border-radius:7px;background:#f4fafb;color:#123f4c;max-width:100%;font:inherit}.bf-identity a{font-size:12px;text-decoration:none}
