.node[data-node-kind="ecomPlanPackage"],.node[data-node-kind="ecomPlanGroup"],.node[data-node-kind="ecomPlanPage"],.node[data-node-kind="toolStart"]:has(.ecp-source){border:1px solid #a9d8ff;background:rgba(248,252,255,.97);border-radius:14px;color:#142753;box-shadow:0 5px 14px #2189bb10}
.node[data-node-kind="ecomPlanGroup"]{z-index:0!important}.node[data-node-kind="ecomPlanPage"]{z-index:1}.node[data-node-kind="ecomPlanPage"].selected{border-color:#00cfa6;box-shadow:0 0 0 2px #00cfa622}
.ecp-package,.ecp-page,.ecp-source,.ecp-group{font-size:14px;line-height:1.5}.ecp-package-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:8px 0 18px}.ecp-option{position:relative;border:1px solid #b8d7f8;background:#f8fcff;border-radius:9px;padding:14px 5px;color:#152750;cursor:pointer;min-height:76px}.ecp-option b{display:block;font-size:16px}.ecp-option span{display:block;font-size:13px;margin-top:3px}.ecp-option i{position:absolute;right:7px;top:7px;background:#00b78d;color:white;border-radius:50%;width:18px}.ecp-option.is-selected{border-color:#00cfa6;background:linear-gradient(125deg,#e5fff7,#e8f9ff);box-shadow:0 0 0 1px #00cfa6}.ecp-option:hover{border-color:#1686ff}
.ecp-button{border:1px solid #258bff;border-radius:8px;background:#f7fcff;color:#0873e6;padding:7px 12px;cursor:pointer;font:inherit;min-height:34px}.ecp-button:disabled{opacity:.5;cursor:default}.ecp-package>.ecp-button{display:block;width:100%;margin:8px 0}.ecp-button[data-primary]{background:linear-gradient(115deg,#00cfb7,#00a6d3);color:#fff;border:0;font-weight:700;padding:12px}.ecp-fields label{display:flex;align-items:center;gap:8px;margin:10px 0}.ecp-fields input,.ecp-fields select{min-width:0;flex:1;border:1px solid #d3e5f6;background:#fff;border-radius:6px;padding:5px;color:#173361}.ecp-understanding{background:linear-gradient(100deg,#e7f8ff,#ebfff8);border:1px solid #b8eddf;border-radius:9px;padding:10px 12px;margin-top:16px}.ecp-understanding h4{margin:0 0 6px;color:#087bff}.ecp-understanding p{margin:5px 0}.ecp-status{text-align:center;font-weight:700;margin:12px 0}.ecp-muted{font-size:11px;color:#647aa3}.ecp-error{color:#ae2738;background:#fff1f0;padding:7px;border-radius:6px;white-space:pre-wrap}
.ecp-assets{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ecp-asset{position:relative;border:1px solid transparent;border-radius:8px;background:#edf4fb;padding:0;overflow:hidden;color:#1a2e58;cursor:pointer;min-width:0}.ecp-asset img{width:100%;height:134px;object-fit:contain;background:#fff}.ecp-asset span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px}.ecp-asset b{border:1px solid #91c1f8;border-radius:50%;padding:0 4px;background:white}.ecp-asset.is-main{border-color:#00bfac}.ecp-asset em{position:absolute;left:4px;top:4px;background:#00a987;color:white;border-radius:4px;font-style:normal;font-size:11px;padding:1px 4px}.ecp-source>.ecp-button{width:100%;margin-top:12px;border-style:dashed}
.ecp-tabs{display:flex;gap:0}.ecp-tabs .ecp-button{border-radius:0;padding:6px 14px}.ecp-tabs .ecp-button:first-child{border-radius:7px 0 0 7px}.ecp-tabs .ecp-button:last-child{border-radius:0 7px 7px 0}.ecp-tabs [aria-pressed=true]{background:#087dff;color:white}.ecp-fold-count{font-size:12px;color:#667ba1;margin:5px 0}.ecp-group-footer{position:absolute;bottom:10px;left:16px;right:16px;display:flex;gap:8px}.ecp-group-footer .ecp-button:first-child{flex:1;border-style:dashed}
.ecp-page p{margin:5px 0}.ecp-composition{height:160px;position:relative;border:1px solid #d8e9f6;border-radius:7px;overflow:hidden;background:repeating-linear-gradient(0deg,#f2f8fd,#f2f8fd 20px,#e9f2fa 21px)}.ecp-composition img{width:100%;height:100%;object-fit:contain;aspect-ratio:var(--ecp-ratio)}.ecp-badge{position:absolute;right:5px;top:5px;background:#596e8cd9;color:#fff;font-size:10px;padding:3px 6px;border-radius:4px}.ecp-sketch-caption{position:absolute;bottom:0;left:0;right:0;font-size:11px;background:#ffffffe8;padding:4px;text-align:center}.ecp-description{max-height:45px;overflow:auto;font-size:12px}.ecp-bindings{display:flex;align-items:center;gap:7px;overflow-x:auto;margin-top:6px}.ecp-bindings>b{white-space:nowrap;font-size:12px}.ecp-bindings button{flex:0 0 68px;background:transparent;border:0;padding:0;color:#455f86;cursor:pointer}.ecp-bindings img{width:64px;height:43px;object-fit:contain;background:#eef6fc;border-radius:6px}.ecp-bindings span{font-size:9px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:68px}.ecp-page>.ecp-button{margin:3px 3px 0 0;padding:4px 8px;min-height:28px;font-size:12px}.ecp-page>.ecp-button:first-of-type{display:block;width:100%}
.ecp-drawer{position:fixed;right:0;top:54px;bottom:0;width:410px;max-width:90vw;z-index:1900;background:#f8fcff;box-shadow:-8px 0 30px #1a4a7222;padding:20px;overflow:auto;font:14px/1.6 sans-serif;color:#16365a}.ecp-drawer header{display:flex;justify-content:space-between;align-items:center}.ecp-drawer header h3{margin:0}.ecp-drawer label{display:block;margin:13px 0}.ecp-drawer input:not([type=checkbox]),.ecp-drawer textarea,.ecp-drawer select{box-sizing:border-box;width:100%;padding:8px;border:1px solid #b8d5ec;border-radius:6px;background:#fff;color:inherit}.ecp-drawer textarea{min-height:85px}.ecp-drawer button,.ecp-confirm button{border:1px solid #1e88ff;background:#f7fcff;color:#076cd5;padding:8px 14px;border-radius:6px;cursor:pointer;margin:4px}.ecp-drawer [data-save],.ecp-confirm [data-confirm]{background:#067cff;color:#fff}.ecp-confirm{width:430px;max-width:90vw;border:1px solid #a9d8ff;border-radius:14px;padding:24px;color:#153257}.ecp-confirm::backdrop{background:#162f4b55}.ecp-cost{font-size:27px;font-weight:700;color:#008b9a}.ecp-long-preview{margin:0;background:#fff;border-top:1px dashed #dbe5ed}.ecp-long-preview img{width:100%;height:auto;display:block}.ecp-long-preview:has(span){padding:25px}.ecp-long-preview span{font-size:12px;color:#73869c}
.ecp-more{margin-top:8px;color:#537399;font-size:12px}.ecp-more summary{cursor:pointer;padding:4px}.ecp-more .ecp-button{display:block;width:100%;margin:6px 0;font-size:12px}.ecp-group-more{position:absolute;right:30px;top:0;z-index:5;text-align:right}.ecp-group-more[open]{background:#fff;border:1px solid #c6dfff;border-radius:8px;padding:6px;box-shadow:0 5px 15px #15446e22}
body[data-wb-theme="dark"] .node:has(.ecp-package),body[data-wb-theme="dark"] .node:has(.ecp-source),body[data-wb-theme="dark"] .node:has(.ecp-page),body[data-wb-theme="dark"] .node:has(.ecp-group){background:#122333;color:#e1edfc;border-color:#365b7b}
body[data-wb-theme="dark"] .ecp-option,body[data-wb-theme="dark"] .ecp-button,body[data-wb-theme="dark"] .ecp-fields input,body[data-wb-theme="dark"] .ecp-fields select{background:#192f45;color:#d8ebff;border-color:#416589}
body[data-wb-theme="dark"] .ecp-option.is-selected{background:#123e40;border-color:#14d1ad}body[data-wb-theme="dark"] .ecp-option:disabled{opacity:.5;cursor:default}body[data-wb-theme="dark"] .ecp-understanding{background:#163b42;border-color:#267379}body[data-wb-theme="dark"] .ecp-muted,body[data-wb-theme="dark"] .ecp-fold-count{color:#9cb6d3}body[data-wb-theme="dark"] .ecp-button[data-primary]{background:linear-gradient(115deg,#008f85,#047cad);color:white}body[data-wb-theme="dark"] .ecp-tabs [aria-pressed=true]{background:#087dff;color:white}body[data-wb-theme="dark"] .ecp-group-more[open]{background:#192f45}body[data-wb-theme="dark"] .ecp-bindings span{color:#b8d3ee}
body[data-wb-theme="dark"] .ecp-sketch-caption{color:#244b6b!important;-webkit-text-fill-color:#244b6b!important}
.ecp-page-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.ecp-page-actions .ecp-button{flex:1 1 auto;padding:4px 8px;min-height:28px;font-size:12px}.ecp-page .ecp-error{font-size:12px;line-height:18px;max-height:36px;overflow:auto;padding:2px 6px}
/* Commerce controls remain within their own card or drawer at every canvas zoom. */
.ecp-asset-wrap{position:relative;min-width:0}.ecp-asset-wrap>.ecp-asset{display:block;width:100%}.ecp-asset-wrap>[data-ecp-action="remove-asset"]{position:absolute;right:4px;top:4px;z-index:2;width:25px;min-height:25px;padding:0;border-radius:50%;background:#fff;color:#24445f;border-color:#b9cedf;font-size:18px;line-height:23px}.ecp-asset small{display:block;padding:2px 4px 7px;font-size:10px;line-height:1.4;color:#57708c;white-space:normal}.ecp-understanding>.ecp-button{width:100%;font-size:12px;margin-top:7px}
.ecp-page{height:452px;box-sizing:border-box;display:flex;flex-direction:column;overflow:auto;gap:3px;padding-right:2px}.ecp-page>*{flex-shrink:0}.ecp-page p{margin:2px 0}.ecp-page .ecp-headline,.ecp-page .ecp-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:19px;max-height:38px}.ecp-page .ecp-sketch-caption{max-height:26px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ecp-page-actions{margin-top:auto;padding-top:5px}.ecp-page .ecp-bindings{min-height:60px}
.ecp-drawer{--ecp-panel:#f8fcff;--ecp-field:#fff;--ecp-line:#b8d5ec;--ecp-text:#16365a;box-sizing:border-box;top:12px;right:12px;bottom:12px;width:440px;max-width:calc(100vw - 24px);padding:18px;border:1px solid var(--ecp-line);border-radius:14px;background:var(--ecp-panel);color:var(--ecp-text)}.ecp-drawer header{gap:12px;min-height:40px;flex-shrink:0}.ecp-drawer header h3{font-size:18px}.ecp-drawer [data-close]{flex-shrink:0;margin:0;min-width:34px;min-height:34px;padding:4px}.ecp-drawer input:not([type=checkbox]),.ecp-drawer textarea,.ecp-drawer select{box-sizing:border-box;max-width:100%;background:var(--ecp-field)!important;color:var(--ecp-text)!important;-webkit-text-fill-color:var(--ecp-text)!important;border-color:var(--ecp-line)!important;font:inherit;resize:vertical}.ecp-drawer label{font-size:13px;margin:10px 0}.ecp-drawer fieldset{min-width:0;margin:12px 0;border:1px solid var(--ecp-line);border-radius:9px;padding:10px}.ecp-simple-editor{display:flex;flex-direction:column;overflow:hidden}.ecp-editor-scroll{flex:1;min-height:0;overflow:auto;padding:2px 4px 6px 0}.ecp-editor-help{font-size:13px;margin:8px 0 12px}.ecp-editor-footer{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--ecp-line);padding-top:12px;margin-top:10px;font-size:12px}.ecp-editor-footer [data-save]{margin:0;min-height:38px}.ecp-drawer .ecp-inline-check{display:flex;align-items:center;gap:7px}.ecp-edit-assets{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ecp-drawer .ecp-edit-asset{position:relative;display:flex;flex-direction:column;gap:5px;margin:0;border:1px solid var(--ecp-line);border-radius:8px;padding:7px;cursor:pointer;min-width:0}.ecp-edit-asset img{width:100%;height:90px;object-fit:contain;background:#eef4f8;border-radius:5px}.ecp-edit-asset input{position:absolute;left:10px;top:10px;width:17px;height:17px;accent-color:#079b90}.ecp-edit-asset span{font-size:11px;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.ecp-edit-asset:has(input:checked){border-color:#00ad98;box-shadow:0 0 0 1px #00ad9855}.ecp-material-review>img{width:100%;height:110px;object-fit:contain}.ecp-material-review p{margin:5px 0;font-size:13px}.ecp-drawer .ecp-error[hidden]{display:none}
body[data-wb-theme="dark"] .ecp-drawer{--ecp-panel:#122333;--ecp-field:#192f45;--ecp-line:#416589;--ecp-text:#e1edfc;background:var(--ecp-panel);color:var(--ecp-text)}body[data-wb-theme="dark"] .ecp-drawer button:not(.primary){background:#192f45;color:#e1edfc;border-color:#416589}body[data-wb-theme="dark"] .ecp-drawer .ecp-muted,body[data-wb-theme="dark"] .ecp-asset small{color:#a6bfd6}body[data-wb-theme="dark"] .ecp-asset-wrap>[data-ecp-action="remove-asset"]{background:#192f45;color:#e1edfc;border-color:#6a869b}
@media(max-width:540px){.ecp-drawer{top:8px;right:8px;bottom:8px;max-width:calc(100vw - 16px);padding:14px}.ecp-editor-footer{gap:6px}.ecp-editor-footer span{font-size:11px}}

/* Explicit dialog palette: native dialog dark mode must not inherit dark text. */
.ecp-confirm{--ecp-dialog-bg:#f8fcff;--ecp-dialog-text:#16365a;--ecp-dialog-line:#b8d5ec;--ecp-dialog-accent:#006c78;box-sizing:border-box;background:var(--ecp-dialog-bg)!important;color:var(--ecp-dialog-text)!important;border-color:var(--ecp-dialog-line);max-width:calc(100vw - 24px);max-height:calc(100vh - 32px);overflow:auto;font:14px/1.6 sans-serif}.ecp-confirm h3,.ecp-confirm p{color:var(--ecp-dialog-text)!important;-webkit-text-fill-color:var(--ecp-dialog-text)!important}.ecp-confirm .ecp-cost{color:var(--ecp-dialog-accent)!important;-webkit-text-fill-color:var(--ecp-dialog-accent)!important}.ecp-confirm button:not(.primary){background:var(--ecp-dialog-bg)!important;color:var(--ecp-dialog-text)!important;-webkit-text-fill-color:var(--ecp-dialog-text)!important;border-color:var(--ecp-dialog-line)}body[data-wb-theme="dark"] .ecp-confirm{--ecp-dialog-bg:#122333;--ecp-dialog-text:#e1edfc;--ecp-dialog-line:#6489ac;--ecp-dialog-accent:#53e8df}.ecp-job-state{padding:5px 8px;border:1px solid #94b9d3;border-radius:6px;background:#eaf7ff;color:#174969!important;-webkit-text-fill-color:#174969!important;font-size:12px;line-height:18px}.ecp-job-state[data-state="done"]{background:#e6faf3;color:#165b44!important;-webkit-text-fill-color:#165b44!important}body[data-wb-theme="dark"] .ecp-job-state{background:#163346;color:#e1edfc!important;-webkit-text-fill-color:#e1edfc!important;border-color:#416589}

/* Set options first; planning starts only from the explicit action. */
.ecp-compact-package .ecp-step-hint{margin:0 0 8px;font-size:11px;line-height:18px;color:#53718b}.ecp-compact-package .ecp-package-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:12px}.ecp-compact-package .ecp-option{min-width:0;min-height:68px;padding:8px 3px}.ecp-compact-package .ecp-option b{font-size:13px;white-space:nowrap}.ecp-compact-package .ecp-option[data-key="all"] b{font-size:12px}.ecp-compact-package .ecp-option i{right:-3px;top:-5px;font-size:12px;line-height:16px;width:16px;height:16px}.ecp-compact-package .ecp-option span{font-size:10px;line-height:15px;margin-top:4px}.ecp-compact-package .ecp-output-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 10px;margin:12px 0 8px}.ecp-compact-package .ecp-output-settings label{display:flex;flex-direction:column;align-items:stretch;gap:4px;margin:0;font-size:11px;min-width:0}.ecp-output-settings select{width:100%;box-sizing:border-box;height:32px;font-size:12px;padding:4px;flex:none}.ecp-product-details{border-bottom:1px solid #d5e4ed;padding:7px 0;font-size:12px}.ecp-product-details summary{cursor:pointer}.ecp-product-details summary span{margin-left:6px;font-size:11px;color:#65819a}.ecp-product-details .ecp-fields{padding:4px 0}.ecp-understanding-compact{padding:8px 10px;margin-top:10px;font-size:12px}.ecp-understanding-compact summary{display:block;cursor:pointer;list-style:none}.ecp-understanding-compact summary::-webkit-details-marker{display:none}.ecp-understanding-heading{display:flex;justify-content:space-between;align-items:center;gap:5px;font-weight:700;color:#087bff;font-size:12px}.ecp-understanding-heading small{font-weight:400;font-size:10px;color:#53718b}.ecp-product-name{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:5px 0 2px;line-height:17px}.ecp-fold-label{font-size:10px;color:#006e93}.ecp-fold-label:before{content:'▸ ';}.ecp-understanding-compact[open] .ecp-fold-label:before{content:'▾ ';}.ecp-understanding-detail{max-height:158px;overflow:auto;padding-top:6px}.ecp-understanding-detail .ecp-button{width:100%;font-size:11px}.ecp-compact-package .ecp-planning-status{font-size:12px;line-height:18px;margin:10px 0 8px}.ecp-planning-status[data-planning="true"]:before{content:'';display:inline-block;width:10px;height:10px;margin-right:6px;border:2px solid #86cfd4;border-top-color:#008d99;border-radius:50%;animation:ecp-planning-spin 1s linear infinite}.ecp-planning-actions{display:grid;gap:7px}.ecp-planning-actions .ecp-button{width:100%;min-height:36px;box-sizing:border-box;font-size:12px;padding:8px}.ecp-compact-package>.ecp-more{margin-top:8px;font-size:11px}.ecp-compact-package>.ecp-more[open] .ecp-button{display:block;width:100%;margin-top:6px}.ecp-compact-package>.ecp-error{max-height:48px;overflow:auto;font-size:11px;margin:6px 0}body[data-wb-theme="dark"] .ecp-compact-package .ecp-step-hint,body[data-wb-theme="dark"] .ecp-product-details summary span,body[data-wb-theme="dark"] .ecp-understanding-heading small{color:#a6bfd6}body[data-wb-theme="dark"] .ecp-fold-label{color:#77dedb}body[data-wb-theme="dark"] .ecp-product-details{border-color:#416589}@keyframes ecp-planning-spin{to{transform:rotate(360deg)}}
.ecp-style-reference{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border-top:1px solid #d5e4ed;border-bottom:1px solid #d5e4ed;padding:8px 0;margin:8px 0;font-size:12px}.ecp-style-reference.is-selected{grid-template-columns:44px minmax(0,1fr) auto}.ecp-style-reference img{width:44px;height:44px;object-fit:cover;border-radius:6px;border:1px solid #bed1df}.ecp-style-reference b,.ecp-style-reference small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecp-style-reference small{font-size:10px;color:#607a91}.ecp-style-reference .ecp-button{font-size:11px;padding:5px 9px;min-height:30px}.ecp-style-current{display:flex;align-items:center;gap:10px;min-height:72px;border:1px solid #cbdde8;border-radius:6px;padding:8px}.ecp-style-current.is-empty{justify-content:center;color:#607a91}.ecp-style-current img{width:72px;height:72px;object-fit:cover;border-radius:6px}.ecp-style-current span{min-width:0;overflow-wrap:anywhere}.ecp-style-upload{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:10px}.ecp-style-upload input{max-width:220px}.ecp-style-candidates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-height:260px;overflow:auto}.ecp-style-candidates button{min-width:0;border:1px solid #cbdde8;background:#fff;color:#173361;border-radius:6px;padding:5px;cursor:pointer}.ecp-style-candidates img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px}.ecp-style-candidates span{display:block;margin-top:4px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body[data-wb-theme="dark"] .ecp-style-reference{border-color:#416589}body[data-wb-theme="dark"] .ecp-style-reference small{color:#a6bfd6}body[data-wb-theme="dark"] .ecp-style-current,body[data-wb-theme="dark"] .ecp-style-candidates button{border-color:#416589;background:#182d40;color:#e1edfc}

.ecp-compact-package .ecp-group-ratios{margin-top:0}.ecp-ratio-hint{font-size:10px;line-height:16px;color:#53718b;margin:0 0 5px}body[data-wb-theme="dark"] .ecp-ratio-hint{color:#a6bfd6}

.ecp-planning-notice{padding:24px 20px;box-sizing:border-box;min-height:370px;display:flex;flex-direction:column;justify-content:center;text-align:center;font-size:14px;line-height:1.8}.ecp-planning-notice .ecp-planning-status{margin:0 0 16px;text-align:center;font-size:15px}.ecp-planning-notice .ecp-planning-status[data-planning="true"]:before{display:block;width:28px;height:28px;border-width:3px;margin:0 auto 24px}.ecp-planning-notice .ecp-muted{margin:8px 0}.ecp-planning-notice .ecp-error{max-height:65px;overflow:auto}.ecp-planning-notice .ecp-button{width:100%}

.ecp-ready-hint{padding:10px 12px;margin:8px 0 12px;border:1px solid #b3ece5;border-radius:10px;background:#edfcf7;color:#193e59;font-size:12px;line-height:1.8}.ecp-ready-hint b{color:#007cf5}.ecp-batch-message{font-size:12px;line-height:1.6;color:#53718b;margin:8px 0}body[data-wb-theme="dark"] .ecp-ready-hint{background:#153f45;border-color:#287d82;color:#e1f5f2}body[data-wb-theme="dark"] .ecp-ready-hint b{color:#77dedb}body[data-wb-theme="dark"] .ecp-batch-message{color:#bdd4e6}

.ecp-option.is-unavailable,.ecp-option.is-unavailable:hover{background:#e9eef2!important;border-color:#d7dfe6!important;color:#7d8a98!important;box-shadow:none!important;cursor:not-allowed;filter:grayscale(1);opacity:.7}.ecp-option.is-unavailable b,.ecp-option.is-unavailable span{color:inherit!important}body[data-wb-theme="dark"] .ecp-option.is-unavailable{background:#26323d!important;border-color:#3a4855!important;color:#8c9ba9!important}

/* Review cards: the canvas keeps image, copy and the next action; long details live in the side panel. */
.ecp-review-card{height:var(--ecp-card-body,452px);overflow:hidden;padding:0;gap:6px;position:relative}
.ecp-review-card .ecp-review-state{display:flex;justify-content:flex-end;height:22px;align-items:center}
.ecp-state-pill{font-size:11px;line-height:20px;padding:0 9px;border-radius:20px;background:#eef3f8;color:#536984}
.ecp-state-pill:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#e5a225;margin-right:5px}
.ecp-state-pill[data-state=done]{background:#e8fbf2;color:#00856f}.ecp-state-pill[data-state=done]:before{background:#00b58b}
.ecp-state-pill[data-state=running]{background:#e6f3ff;color:#086be5}.ecp-state-pill[data-state=running]:before{background:#0782ff}
.ecp-state-pill[data-state=failed],.ecp-state-pill[data-state=saving_failed]{background:#fff0f1;color:#b93244}.ecp-state-pill[data-state=failed]:before,.ecp-state-pill[data-state=saving_failed]:before{background:#d84053}
.ecp-review-card .ecp-composition{height:var(--ecp-preview-height,210px);flex:none;background:#f0f6fb;border-radius:9px;border:1px solid #e0eaf2}
.ecp-composition[role=button]{cursor:zoom-in}.ecp-composition[role=button]:focus-visible{outline:2px solid #008cff;outline-offset:2px}
.ecp-preview-notice{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 24px);max-width:340px;box-sizing:border-box;padding:16px 10px;border:1px solid #9edbdf;border-radius:12px;background:rgba(248,253,255,.95);box-shadow:0 4px 16px #123b5414;text-align:center;color:#18395e;pointer-events:none;line-height:1.5}
.ecp-preview-notice>strong{display:block;font-size:18px;line-height:1.4;font-weight:750;color:inherit;-webkit-text-fill-color:currentColor}.ecp-preview-reference{display:block;margin-top:5px;font-size:12px;color:#536f8b}.ecp-preview-next{margin-top:12px;font-size:13px}.ecp-preview-next>span{display:block}.ecp-preview-next>span+span{margin-top:3px}.ecp-preview-next b{font-weight:600;color:#0873e6;-webkit-text-fill-color:currentColor}
.ecp-review-card .ecp-headline{font-weight:650;font-size:14px;line-height:20px;max-height:40px;min-height:20px;margin:0}
.ecp-copy-preview{font-size:12px;color:#647a96;line-height:18px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:36px;min-height:18px;white-space:pre-line}
.ecp-review-card>[data-ecp-action=page-details]{width:100%;display:block;border:0;background:#edf5fc;color:#36577c;text-align:left;font-size:12px;min-height:32px;margin:0;padding:6px 10px}
.ecp-review-card .ecp-page-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.45fr);margin-top:auto;padding:0;gap:8px}
.ecp-review-card .ecp-page-actions .ecp-button{min-height:37px;padding:7px 6px;font-size:12px;white-space:normal}
.ecp-review-alert{display:flex;gap:6px;align-items:center;justify-content:space-between;padding:4px 7px;background:#fff0f1;border:1px solid #ffe0e2;border-radius:6px;font-size:11px;color:#b32d42;min-height:27px;box-sizing:border-box}
.ecp-review-alert>span{min-width:0;white-space:normal;overflow-wrap:anywhere}.ecp-review-alert .ecp-button{flex:none;border:0;background:transparent;color:#0873e6;min-height:20px;padding:0;font-size:11px}
.ecp-revision-hint{font-size:11px;color:#927136;line-height:18px}
.ecp-generation-overlay{position:absolute;inset:0;background:#f5faffdc;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:15px;box-sizing:border-box;color:#18395e}
.ecp-generation-overlay .ecp-job-state{font-size:13px;line-height:1.6;background:transparent;border:0;padding:0;margin:0;color:inherit!important;-webkit-text-fill-color:inherit!important}.ecp-generation-overlay small{font-size:11px;color:#53718b}
.ecp-spinner{display:block;width:28px;height:28px;border:4px solid #c0edf1;border-top-color:#16bfc6;border-radius:50%;animation:ecp-planning-spin 1s linear infinite}
.ecp-empty-preview{display:flex;align-items:center;justify-content:center;height:100%;font-size:12px;color:#6b8498}
.node[data-ecp-editing=true]{border-color:#00bda4!important;box-shadow:0 0 0 2px #00bda440!important}
.ecp-drawer.ecp-simple-editor{top:60px;right:0;bottom:0;width:450px;max-width:100vw;border-radius:12px 0 0 0;padding:20px 22px;box-shadow:-8px 0 30px #1a4a721a}
.ecp-edit-section{margin:18px 0 24px}.ecp-edit-section h4,.ecp-page-detail h4{font-size:16px;margin:0 0 10px;color:inherit}.ecp-edit-section h4:before{content:'';display:inline-block;width:4px;height:15px;border-radius:4px;background:#20c4c9;margin-right:8px;vertical-align:-2px}
.ecp-simple-editor .ecp-editor-help{color:#607a96;font-size:12px}.ecp-simple-editor .ecp-edit-assets{grid-template-columns:repeat(3,minmax(0,1fr))}.ecp-simple-editor .ecp-edit-asset{padding:4px;border:0}.ecp-simple-editor .ecp-edit-asset img{height:90px}.ecp-simple-editor .ecp-edit-asset span{min-height:30px}.ecp-simple-editor .ecp-edit-asset input{left:7px;top:7px}
.ecp-edit-suggestions{display:flex;flex-wrap:wrap;gap:6px}.ecp-drawer .ecp-edit-suggestions button{margin:0;font-size:11px;border:0;background:#edf4fa;color:#3e5875;border-radius:20px;padding:5px 10px}
.ecp-advanced{background:#edf5fc;border-radius:7px;margin:16px 0;padding:8px 10px;font-size:12px}.ecp-advanced summary{cursor:pointer}.ecp-advanced p{white-space:pre-wrap;overflow-wrap:anywhere}
.ecp-editor-footer{gap:8px}.ecp-editor-footer span{flex:1;color:#607a96;font-size:11px}.ecp-editor-footer button{margin:0;white-space:nowrap}.ecp-drawer input:disabled,.ecp-drawer textarea:disabled{opacity:.55}
.ecp-page-detail section{margin:20px 0}.ecp-page-detail p{white-space:pre-wrap;overflow-wrap:anywhere}.ecp-detail-assets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ecp-detail-assets img{width:100%;height:100px;object-fit:contain;background:#edf4fa;border-radius:7px}.ecp-detail-assets span,.ecp-detail-assets small{display:block;font-size:12px}.ecp-detail-assets small{font-size:11px;color:#607a96}
body[data-wb-theme=dark] .ecp-review-card>[data-ecp-action=page-details],body[data-wb-theme=dark] .ecp-advanced,body[data-wb-theme=dark] .ecp-edit-suggestions button{background:#1b354b;color:#cce1f2}
body[data-wb-theme=dark] .ecp-review-card .ecp-composition{background:#192f43;border-color:#365773}body[data-wb-theme=dark] .ecp-copy-preview,body[data-wb-theme=dark] .ecp-simple-editor .ecp-editor-help,body[data-wb-theme=dark] .ecp-editor-footer span{color:#a6bdd2}
body[data-wb-theme=dark] .ecp-state-pill{background:#23374a;color:#c6d8e7}body[data-wb-theme=dark] .ecp-state-pill[data-state=done]{background:#154c44;color:#98efcf}body[data-wb-theme=dark] .ecp-state-pill[data-state=running]{background:#173e65;color:#b5d9ff}
body[data-wb-theme=dark] .ecp-state-pill[data-state=failed],body[data-wb-theme=dark] .ecp-state-pill[data-state=saving_failed],body[data-wb-theme=dark] .ecp-review-alert{background:#492c39;color:#ffc1c8;border-color:#784651}body[data-wb-theme=dark] .ecp-review-alert .ecp-button{color:#acd8ff}
body[data-wb-theme=dark] .ecp-generation-overlay{background:#132b40e8;color:#e0f1ff}body[data-wb-theme=dark] .ecp-generation-overlay small{color:#abc4da}
body[data-wb-theme=dark] .ecp-preview-notice{background:rgba(18,40,59,.96);border-color:#4e8e99;color:#e4f3ff;box-shadow:0 4px 16px #0003}body[data-wb-theme=dark] .ecp-preview-reference{color:#aec8dc}body[data-wb-theme=dark] .ecp-preview-next b{color:#72dce9}
@media(max-width:540px){.ecp-drawer.ecp-simple-editor{top:8px;bottom:8px;right:8px;max-width:calc(100vw - 16px);padding:14px;border-radius:12px}.ecp-editor-footer{flex-wrap:wrap}.ecp-editor-footer span{flex:1 0 100%}.ecp-edit-section{margin:14px 0 18px}}

.ecp-drawer .ecp-editor-footer{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.ecp-drawer .ecp-editor-footer span{min-width:0;line-height:18px;word-break:normal}.ecp-drawer .ecp-editor-footer [data-save]{width:auto!important;min-width:104px;max-width:none;justify-self:end}.ecp-drawer .ecp-editor-footer [data-cancel]{width:auto;min-width:54px}.ecp-drawer .ecp-editor-footer>.ecp-button{width:auto}.ecp-review-card .ecp-page-actions .ecp-button{width:100%;min-width:0;box-sizing:border-box}
@media(max-width:540px){.ecp-drawer .ecp-editor-footer{grid-template-columns:minmax(0,1fr) auto auto}.ecp-drawer .ecp-editor-footer span{grid-column:1/-1}.ecp-drawer .ecp-editor-footer [data-cancel]{grid-column:2}}

/* Optional controls remain editable without filling the canvas with numeric forms. */
.ecp-edit-advanced>summary{font-weight:650}.ecp-edit-advanced>summary small{display:block;font-weight:400;color:#637e97;font-size:11px;margin-left:14px}.ecp-edit-advanced select{min-height:38px}.ecp-edit-advanced output{float:right;font-weight:700;color:#008f93}.ecp-edit-advanced input[type=range]{padding:0!important;accent-color:#00aeaa;height:28px}.ecp-edit-advanced [hidden]{display:none!important}.ecp-layout-preview{position:relative;width:100%;max-height:380px;overflow:hidden;border:1px solid #9bcad8;border-radius:10px;background:repeating-linear-gradient(45deg,#edf5f8 0,#edf5f8 9px,#f7fafc 9px,#f7fafc 18px);margin:12px 0}.ecp-layout-copy{position:absolute;left:5%;top:2%;width:90%;display:flex;align-items:center;justify-content:center;color:#7591a7;background:#ffffffa8;border:1px dashed #9cb7ca;font-size:11px;box-sizing:border-box;overflow:hidden}.ecp-layout-product{position:absolute;border:2px solid #00b6a3;border-radius:6px;box-sizing:border-box;touch-action:none;cursor:move;outline-offset:2px;background:#effffc88}.ecp-layout-product img{width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}.ecp-drawer .ecp-layout-handle{position:absolute;bottom:0;right:0;margin:0;padding:0;width:25px;height:25px;border:0;background:#009f91;color:white;cursor:nwse-resize;touch-action:none}.ecp-layout-caption{position:absolute;bottom:1%;left:0;right:0;font-size:10px;text-align:center;color:#4f738c;pointer-events:none}.ecp-layout-presets{display:flex;flex-wrap:wrap;gap:4px}.ecp-drawer .ecp-layout-presets button{font-size:11px;margin:0;padding:5px 9px}.ecp-layout-numbers{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ecp-drawer .ecp-layout-numbers label{font-size:11px}.ecp-edit-advanced section h4{font-size:14px;margin-top:16px}body[data-wb-theme=dark] .ecp-edit-advanced>summary small{color:#a8c2d6}body[data-wb-theme=dark] .ecp-edit-advanced output{color:#6ae6d5}body[data-wb-theme=dark] .ecp-layout-preview{background:repeating-linear-gradient(45deg,#21374a 0,#21374a 9px,#1a2e40 9px,#1a2e40 18px)}body[data-wb-theme=dark] .ecp-layout-copy{color:#cee2ee;background:#20374bca}body[data-wb-theme=dark] .ecp-layout-caption{color:#d0e3ef}

.ecp-layout-preview{margin-left:auto;margin-right:auto}.ecp-simple-editor[data-saving=true] .ecp-layout-product{pointer-events:none}

/* Unsaved editor confirmation uses the same themed controls as the canvas. */
.ecp-unsaved-confirm h3{margin:0 0 12px;font-size:20px}.ecp-unsaved-confirm p{margin:0 0 24px}.ecp-unsaved-actions{display:flex;gap:12px}.ecp-unsaved-actions button{flex:1;min-height:42px;margin:0;font-weight:600}.ecp-unsaved-actions [data-keep]{background:linear-gradient(110deg,#27d7e5,#c5ff78)!important;color:#07383e!important;-webkit-text-fill-color:#07383e!important;border-color:transparent}.ecp-unsaved-actions button:focus-visible{outline:3px solid #008b9a;outline-offset:3px}body[data-wb-theme="dark"] .ecp-unsaved-actions button:focus-visible{outline-color:#53e8df}

/* Commerce nodes fit their content; measured sizes keep canvas connection anchors accurate. */
.node:has(.ecp-source),.node:has(.ecp-package),.node:has(.ecp-review-card){min-height:0!important;height:auto!important}
.ecp-review-card{height:auto;overflow:visible}.ecp-review-card .ecp-page-actions{margin-top:6px}.ecp-copy-preview:empty{display:none}
.node:has(.ecp-review-card)>.node-head{padding-right:90px}.ecp-review-card .ecp-review-state{position:absolute;right:0;top:-30px;height:20px}
.ecp-understanding-detail{max-height:none;overflow:visible}.ecp-product-name{color:#16365a}.ecp-fields input::placeholder{color:#536a82;opacity:1}.ecp-fields input{opacity:1}
.ecp-understanding-detail .ecp-button{margin-top:6px}.ecp-more{color:#365c7b}.ecp-button:disabled{opacity:1;background:#e8eff5;color:#526980;border-color:#bdcddb}
body[data-wb-theme=dark] .ecp-asset{background:#1b354b;color:#e1edfc;border-color:#416589}body[data-wb-theme=dark] .ecp-asset img{background:#192f43}body[data-wb-theme=dark] .ecp-asset b{background:#27455e;color:#e1edfc;border-color:#6a92b6}body[data-wb-theme=dark] .ecp-asset.is-main{border-color:#00bfac}
body[data-wb-theme=dark] .node:has(.ecp-planning-notice){background:#122333!important;color:#e1edfc!important;border-color:#365b7b}body[data-wb-theme=dark] .node:has(.ecp-planning-notice) .node-head{background:transparent!important}body[data-wb-theme=dark] .ecp-planning-notice{color:#e1edfc}body[data-wb-theme=dark] .ecp-product-name{color:#e1edfc}body[data-wb-theme=dark] .ecp-more{color:#bdd4e6}body[data-wb-theme=dark] .ecp-button:disabled{background:#263b4c;color:#aebfd0;border-color:#476177}body[data-wb-theme=dark] .ecp-fields input::placeholder{color:#a6bfd6}

.ecp-understanding-detail>p{max-height:120px;overflow:auto;overflow-wrap:anywhere}

.ecp-quick-actions{display:grid;margin-top:8px}.ecp-downloads{margin-top:7px}.ecp-download-heading{display:flex;justify-content:space-between;font-size:12px;font-weight:600;margin-bottom:7px}.ecp-download-heading small{font-weight:400;color:#526f88}.ecp-utility-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ecp-utility-grid .ecp-button,.ecp-more .ecp-utility-grid .ecp-button{margin:0;width:100%;min-width:0;padding:8px 4px;font-size:12px;box-sizing:border-box}.ecp-downloads>p{margin:6px 0 0;font-size:11px}.ecp-task-actions{display:flex;gap:7px;margin-top:7px}.ecp-task-actions .ecp-button{flex:1;padding:4px;font-size:11px;min-width:0}.ecp-more>.ecp-utility-grid{margin-top:6px}body[data-wb-theme=dark] .ecp-downloads,body[data-wb-theme=dark] .ecp-task-actions{border-color:#416589}body[data-wb-theme=dark] .ecp-download-heading small{color:#adc4d7}

.ecp-planning-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ecp-planning-actions>.ecp-button{margin:0;width:100%;min-width:0;padding:8px 4px;font-size:12px;box-sizing:border-box}.ecp-planning-actions>[data-ecp-action=batch-generate]{grid-column:1/-1;margin-bottom:1px}

.ecp-compact-package>.ecp-more{margin-top:4px}.ecp-compact-package>.ecp-more>summary{padding:2px 0}.ecp-task-actions .ecp-button{margin:0;min-height:34px;box-sizing:border-box}

.ecp-replan-confirm header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.ecp-replan-confirm h3{margin:0;font-size:18px}.ecp-replan-confirm [data-close]{margin:0;width:32px;height:32px;min-height:0;padding:0;font-size:20px}.ecp-replan-confirm p{margin:0 0 16px}.ecp-replan-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:20px}.ecp-replan-options label{display:flex;align-items:center;gap:6px;padding:10px 8px;border:1px solid var(--ecp-dialog-line);border-radius:8px;font-size:13px;cursor:pointer}.ecp-replan-options label:has(input:checked){border-color:#00ad98;background:#dcfaf3;color:#124b4c}.ecp-replan-options input{margin:0;accent-color:#009e92}.ecp-replan-confirm footer{display:flex;gap:8px;justify-content:flex-end}.ecp-replan-confirm footer button{margin:0;min-height:38px}.ecp-replan-confirm [data-confirm]{background:linear-gradient(110deg,#27d7e5,#c5ff78)!important;color:#07383e!important;-webkit-text-fill-color:#07383e!important;border:0}.ecp-replan-confirm button:focus-visible,.ecp-replan-options input:focus-visible{outline:2px solid #008b9a;outline-offset:3px}body[data-wb-theme=dark] .ecp-replan-options label:has(input:checked){background:#154c44;color:#cef9ec}body[data-wb-theme=dark] .ecp-replan-confirm button:focus-visible{outline-color:#53e8df}

.ecp-replan-confirm footer{display:grid;grid-template-columns:72px minmax(0,1fr)}.ecp-replan-confirm footer button{box-sizing:border-box;width:100%!important;min-width:0;white-space:nowrap}

.ecp-review-card .ecp-page-actions[data-has-download="true"]{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,.85fr);gap:6px}.ecp-review-card .ecp-page-actions[data-has-download="true"] .ecp-button{white-space:nowrap;padding:7px 3px}

/* Keep the submitted quote in place while the shared active-button skin is disabled. */
.ecp-title-layout{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:10px;align-items:center}.ecp-title-layout[hidden],.ecp-title-mode-note[hidden]{display:none}.ecp-title-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ecp-title-fields label{margin:2px 0 8px}.ecp-title-mode-note{grid-column:1/-1}.ecp-title-demo{position:relative;height:68px;border:1px solid #93bac9;border-radius:6px;overflow:hidden}.ecp-title-demo i{position:absolute;left:32%;top:37%;width:36%;height:38%;border-radius:4px;background:#75bcb3;opacity:.45}.ecp-title-demo span{position:absolute;top:5px;left:50%;transform:translateX(-50%);font-size:10px;line-height:12px;color:inherit;white-space:nowrap}.ecp-title-demo[data-position=bottom] span{top:auto;bottom:4px}.ecp-title-demo[data-position=left] span{top:50%;left:3px;transform:translateY(-50%)}.ecp-title-demo[data-position=right] span{top:50%;left:auto;right:3px;transform:translateY(-50%)}.ecp-title-demo[data-direction=vertical] span{writing-mode:vertical-rl}
.ecp-confirm [data-confirm]:disabled{background:linear-gradient(110deg,#37ddea 0%,#68f4ce 55%,#d7fa79 100%)!important;color:#061b22!important;-webkit-text-fill-color:currentColor!important;border-color:transparent!important;border-radius:10px!important;font-weight:750!important;text-shadow:none!important;box-shadow:0 2px 5px rgb(10 95 92 / 10%),inset 0 1px 0 rgb(255 255 255 / 24%)!important;opacity:1;cursor:wait}

.ecp-subject-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.ecp-subject-actions button{margin:0;padding:8px 4px}.ecp-drawer [data-subject-picker]:not([hidden]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:260px;overflow:auto}.ecp-drawer [data-subject-picker] button{min-width:0;margin:0;padding:4px}.ecp-drawer [data-subject-picker] img{width:100%;height:80px;object-fit:contain;background:repeating-conic-gradient(#aab9c433 0% 25%,transparent 0% 50%) 0/14px 14px}.ecp-drawer [data-subject-picker] span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

body:has(.ecp-drawer) #wbDialog{z-index:2100}

/* Product placement is a primary step; background text is optional. */
.ecp-subject-placement[hidden],.ecp-subject-placement [hidden]{display:none!important}
.ecp-subject-placement{margin-top:0}.ecp-subject-placement h4{margin:12px 0 6px}.ecp-background{padding:10px 12px;border:1px solid #bbd7df;border-radius:10px;background:#f1f8fa}.ecp-background h4{margin:0}.ecp-background summary{cursor:pointer;font-size:12px;padding:7px 0}.ecp-background-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:6px 0}.ecp-drawer .ecp-background-option{position:relative;display:flex;gap:7px;align-items:center;border:1px solid #adc5ce;border-radius:8px;padding:8px;margin:0;cursor:pointer;font-size:12px}.ecp-drawer .ecp-background-option input{width:14px;height:14px;flex:none;margin:0;accent-color:#008f83}.ecp-background-option:has(input:checked){border-color:#009e91;background:#d9f5ed}.ecp-background-option i{width:24px;height:28px;flex:none;border-radius:4px;background:linear-gradient(165deg,#f2e8da 65%,#b8a997 66%)}.ecp-background-option i[data-scene=dining]{background:linear-gradient(165deg,#f8d7a2 65%,#b98554 66%)}.ecp-background-option i[data-scene=home]{background:linear-gradient(115deg,#e8f5e8 30%,#bfd3c8 31% 65%,#9fafa2 66%)}.ecp-background-option i[data-scene=gift]{background:linear-gradient(165deg,#e4cddb 65%,#b79578 66%)}.ecp-background-option i[data-scene=outdoor]{background:linear-gradient(165deg,#bfdbdf 60%,#95b593 61%)}.ecp-subject-notice,.ecp-title-mode-note{font-size:12px;line-height:1.6;padding:9px 10px;border:1px solid #d9b875;border-radius:8px;background:#fff5df;color:#765021}.ecp-title-mode-note p{margin:0 0 6px}.ecp-title-mode-note button{font-size:12px;margin:0}.ecp-background textarea{box-sizing:border-box;width:100%}
body[data-wb-theme=dark] .ecp-background{background:#193347;border-color:#436378}body[data-wb-theme=dark] .ecp-background-option:has(input:checked){background:#17483f;border-color:#55cdbc}body[data-wb-theme=dark] .ecp-subject-notice,body[data-wb-theme=dark] .ecp-title-mode-note{background:#3b3428;color:#edcf95;border-color:#796445}

.ecp-subject-placement .ecp-layout-product img{object-position:center top}

.ecp-funds-confirm{width:440px;padding:22px;border-radius:14px}.ecp-funds-confirm header{display:flex;align-items:center;justify-content:space-between;gap:12px}.ecp-funds-confirm h3{margin:0;font-size:20px}.ecp-funds-confirm [data-funds-close]{margin:0;padding:4px 10px}.ecp-funds-confirm .ecp-funds-safe{padding:10px;border-radius:8px;background:#009e8c18}.ecp-funds-confirm footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:16px}.ecp-funds-confirm footer button{margin:0;min-height:38px}.ecp-funds-confirm [data-funds-refresh]{font-size:12px;margin:0;min-height:32px}

.ecp-output-confirm{width:440px;padding:22px;border-radius:14px}.ecp-output-confirm footer{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.ecp-output-confirm footer button{margin:0;min-height:38px}

/* Per-material actions stay inside the original source card. */
.ecp-material-actions{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px}.ecp-material-actions .ecp-button{flex:1;min-width:0;padding:5px 3px;font-size:11px;min-height:30px}.ecp-material-error{font-size:11px;line-height:1.5;margin:4px 0;color:#a85417;overflow-wrap:anywhere}.ecp-asset-wrap.is-excluded>.ecp-asset{opacity:.65}.ecp-material-progress{margin:10px 0;padding:10px;border:1px solid #6eacb8;border-radius:9px;background:#19bdba0d;font-size:12px;line-height:1.6}.ecp-material-progress p{margin:3px 0}.ecp-material-progress>.ecp-button{width:100%;margin:6px 0}.ecp-material-progress small{display:block;font-size:11px;opacity:.85}body[data-wb-theme="dark"] .ecp-material-error{color:#f3b887}

/* Recognition stays animated without adding polling, timers, or estimated percentages. */
.ecp-recognition-progress{margin:12px 0;padding:12px;border:1px solid #a5d9d7;border-radius:10px;background:#effaf8;color:#196b67;overflow:hidden}
.ecp-recognition-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}
.ecp-recognition-head b{font-size:12px;line-height:1.5;flex:1;min-width:110px}
.ecp-recognition-count{font-size:11px;line-height:1.5;white-space:nowrap;font-variant-numeric:tabular-nums;color:#4b726f}
.ecp-recognition-spinner{display:inline-block;width:14px;height:14px;flex:0 0 14px;box-sizing:border-box;border:2px solid #b7ddda;border-top-color:#12867c;border-radius:50%;animation:ecp-recognition-spin 1s linear infinite}
.ecp-recognition-track{height:3px;margin:10px 0 8px;overflow:hidden;border-radius:4px;background:#d5ece7}
.ecp-recognition-track>span{display:block;width:40%;height:100%;border-radius:inherit;background:linear-gradient(90deg,transparent,#13a797,transparent);animation:ecp-recognition-sweep 1.8s ease-in-out infinite}
.ecp-recognition-progress p{margin:0;font-size:11px;line-height:1.6;color:#4b726f}
body[data-wb-theme="dark"] .ecp-recognition-progress{background:#123138;border-color:#28646c;color:#9ceee4}
body[data-wb-theme="dark"] .ecp-recognition-count,body[data-wb-theme="dark"] .ecp-recognition-progress p{color:#afccd0}
body[data-wb-theme="dark"] .ecp-recognition-spinner{border-color:#31585f;border-top-color:#65e1d0}
body[data-wb-theme="dark"] .ecp-recognition-track{background:#24494f}
body[data-wb-theme="dark"] .ecp-recognition-track>span{background:linear-gradient(90deg,transparent,#65e1d0,transparent)}
@keyframes ecp-recognition-spin{to{transform:rotate(360deg)}}
@keyframes ecp-recognition-sweep{from{transform:translateX(-100%)}to{transform:translateX(350%)}}
@media(prefers-reduced-motion:reduce){.ecp-recognition-spinner,.ecp-recognition-track>span{animation:none}.ecp-recognition-track>span{width:100%;opacity:.55}}

/* Only image editing drawers can float; fields and the placement preview keep their own gestures. */
.ecp-drawer[data-edit-node]>header{cursor:grab;touch-action:none;user-select:none}
.ecp-drawer[data-edit-node][data-dragging]>header{cursor:grabbing}
.ecp-drawer[data-edit-node][data-docked=false]{border-radius:12px;box-shadow:0 8px 30px #10253855}
.ecp-drawer[data-edit-node] .ecp-editor-scroll{overflow-anchor:none}

/* Only the long image content scrolls; its close control stays in the panel header. */
.ecp-drawer.ecp-preview-drawer{display:flex;flex-direction:column;overflow:hidden;top:60px;right:0;bottom:12px;width:440px;max-width:calc(100vw - 16px);padding:0;border-radius:12px 0 0 12px}
.ecp-preview-drawer>header{flex:none;gap:8px;padding:12px;background:var(--ecp-panel);border-bottom:1px solid var(--ecp-line);cursor:grab;touch-action:none;user-select:none}
.ecp-preview-drawer[data-dragging]>header{cursor:grabbing}
.ecp-preview-drawer[data-docked=false]{border-radius:12px;box-shadow:0 8px 30px #10253855}
.ecp-preview-heading{flex:1;min-width:0}.ecp-preview-heading h3{font-size:16px!important}.ecp-preview-heading small{display:block;font-size:11px;line-height:1.5;margin-top:3px;opacity:.8}
.ecp-preview-drawer>header button{flex:none;white-space:nowrap;margin:0;min-height:36px;padding:6px 10px}
.ecp-preview-drawer .ecp-preview-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;overflow-anchor:none;padding:0 12px 12px;scrollbar-gutter:stable}
.ecp-preview-scroll .ecp-long-preview{background:var(--ecp-field);border-color:var(--ecp-line)}
.ecp-preview-drawer>header:focus-visible,.ecp-preview-scroll:focus-visible{outline:2px solid var(--ecp-line);outline-offset:-3px}
@media(max-width:540px){.ecp-drawer.ecp-preview-drawer{top:60px;right:8px;bottom:8px;border-radius:12px}.ecp-preview-drawer>header{gap:6px;padding:10px}.ecp-preview-drawer>header button{padding:6px 8px}.ecp-preview-heading small{max-width:145px}}

.ecp-copy-caption{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.ecp-copy-actions{display:flex;align-items:center;gap:6px}
.ecp-drawer .ecp-copy-actions button{width:auto;margin:0;padding:4px 8px;min-height:30px;font-size:12px;line-height:1.4;white-space:nowrap;border:1px solid var(--ecp-line);border-radius:7px;background:var(--ecp-field);color:var(--ecp-text);cursor:pointer}
.ecp-drawer .ecp-copy-actions button[data-copy-rewrite]{color:#096e6c;border-color:#73b8b3;background:#e8f8f4}
body[data-wb-theme=dark] .ecp-copy-actions button[data-copy-rewrite]{color:#95ede0;border-color:#397c7e;background:#16383e}
.ecp-drawer .ecp-copy-actions button:disabled{opacity:.5;cursor:default}
.ecp-drawer .ecp-copy-actions button:focus-visible{outline:2px solid #36bfb6;outline-offset:2px}
.ecp-drawer .ecp-copy-actions button[hidden]{display:none}
.ecp-copy-status{display:block;font-size:12px;line-height:1.6;font-weight:400;color:var(--ecp-text);opacity:.85;overflow-wrap:anywhere}
.ecp-copy-status[hidden]{display:none}
.ecp-copy-candidate{padding:10px;border:1px solid var(--ecp-line);border-radius:8px;background:var(--ecp-field);margin:6px 0 12px}
.ecp-copy-candidate[hidden]{display:none}
.ecp-material-sync{padding:14px;margin:-8px 0 18px;border:1px solid #25b9b3;border-radius:8px;background:var(--ecp-field);color:var(--ecp-text)}
.ecp-material-sync[hidden],.ecp-replan-options label[hidden]{display:none}
.ecp-material-sync h4{margin:0 0 8px;font-size:16px}.ecp-material-sync p{margin:8px 0;font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.ecp-material-sync label{white-space:normal}.ecp-material-sync [data-page-rewrite-actions]{margin:10px 0}.ecp-material-sync [data-material-manual]{margin:0 0 6px}.ecp-material-sync .ecp-material-error{color:#c33b3b}.ecp-material-sync .ecp-material-basis{font-weight:600}
body[data-wb-theme=dark] .ecp-material-sync .ecp-material-error{color:#ff9b9b}
.ecp-replan-confirm [data-replan-conflicts]{font-size:13px;line-height:1.6;margin-bottom:12px;max-height:180px;overflow:auto;overflow-wrap:anywhere}
.ecp-replan-confirm:has([data-conflicts-choice]:not([hidden])) .ecp-replan-options{grid-template-columns:1fr}
.ecp-replan-confirm [data-replan-edit]{margin:6px 0 0;padding:5px 10px;min-height:30px;font-size:12px}
.ecp-material-sync [data-page-rewrite-preview]{margin-top:12px;border-top:1px solid var(--ecp-line);padding-top:10px}
.ecp-material-sync [data-page-rewrite-preview] label{display:block;border:1px solid var(--ecp-line);padding:10px;border-radius:8px}
.ecp-material-sync [data-page-rewrite-preview] p{white-space:pre-wrap;overflow-wrap:anywhere;font-weight:400}
.ecp-material-sync [data-page-rewrite-confirm]{padding:10px;border:1px solid var(--ecp-line);border-radius:8px}
.ecp-material-sync [hidden]{display:none!important}
.ecp-copy-candidate p{margin:0 0 8px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.6}
.ecp-drawer .ecp-copy-candidate button{margin:0;font-size:12px;min-height:30px}

/* Generation quotes open only when ready; keep the total and actions compact. */
.ecp-generation-confirm{width:360px;padding:20px;border-radius:12px}
.ecp-generation-confirm h3{margin:0 0 16px;font-size:18px}
.ecp-generation-confirm .ecp-cost{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:0 0 20px;font-size:14px;font-weight:400}
.ecp-generation-confirm .ecp-cost strong{font-size:22px;font-weight:700;white-space:nowrap;color:var(--ecp-dialog-accent);-webkit-text-fill-color:var(--ecp-dialog-accent)}
.ecp-generation-confirm [hidden]{display:none!important}.ecp-generation-confirm .ecp-quote-loading{display:flex;align-items:center;gap:10px;min-height:35px;margin:0 0 16px}.ecp-generation-confirm .ecp-quote-loading:before{content:'';width:16px;height:16px;box-sizing:border-box;border:2px solid var(--ecp-dialog-line);border-top-color:var(--ecp-dialog-accent);border-radius:50%;animation:ecp-planning-spin .8s linear infinite}
.ecp-generation-confirm .ecp-quote-partial,.ecp-generation-confirm [data-quote-feedback]{margin:0 0 12px;font-size:13px;overflow-wrap:anywhere}
.ecp-generation-confirm [data-quote-feedback]:empty{display:none}
.ecp-generation-confirm footer{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ecp-generation-confirm footer button{box-sizing:border-box;width:100%!important;min-width:0;min-height:40px;margin:0;white-space:nowrap}
.node:has(.ecp-restore-card){min-height:0!important;height:auto!important}
.ecp-restore-card{display:flex;flex-direction:column;height:auto;min-height:0;overflow:visible;gap:8px}
.ecp-preserved-preview{position:relative;display:block;width:100%;padding:0;overflow:hidden;border:1px solid var(--ecp-border,#d5dfeb);border-radius:12px;background:transparent;cursor:pointer}
.ecp-preserved-preview img{display:block;width:100%;height:160px;object-fit:contain}
.ecp-preserved-preview span{display:block;padding:7px;font-size:12px;color:inherit}
.ecp-restore-status p{margin:0 0 10px;overflow-wrap:anywhere}
.ecp-restore-status .ecp-error{max-height:54px;overflow:auto;box-sizing:border-box}
