/* Portal.FlowWidget bundle — không sửa file này; sửa wwwroot/generate/css rồi pnpm run build:css */
.portal-flow-section{--portal-flow-widget-accent: #2563eb;--portal-flow-widget-accent-hover: #1d4ed8;--portal-flow-widget-accent-active: #1e40af;--portal-flow-widget-surface: #ffffff;--portal-flow-widget-border: #d1d5db;--portal-flow-widget-shadow: rgba(15, 23, 42, .12);--portal-flow-dock-export-bg: #ecfeff;--portal-flow-dock-export-fg: #0e7490;--portal-flow-dock-export-hover-bg: #06b6d4;--portal-flow-dock-export-hover-fg: #ffffff;--portal-flow-dock-import-bg: #f5f3ff;--portal-flow-dock-import-fg: #6d28d9;--portal-flow-dock-import-hover-bg: #7c3aed;--portal-flow-dock-import-hover-fg: #ffffff;--portal-flow-dock-draft-bg: #fffbeb;--portal-flow-dock-draft-fg: #b45309;--portal-flow-dock-draft-hover-bg: #f59e0b;--portal-flow-dock-draft-hover-fg: #ffffff;--portal-flow-dock-publish-bg: #ecfdf5;--portal-flow-dock-publish-fg: #047857;--portal-flow-dock-publish-hover-bg: #10b981;--portal-flow-dock-publish-hover-fg: #ffffff;--portal-flow-dock-cancel-bg: #fef2f2;--portal-flow-dock-cancel-fg: #b91c1c;--portal-flow-dock-cancel-hover-bg: #ef4444;--portal-flow-dock-cancel-hover-fg: #ffffff;--portal-flow-z-base: 1;--portal-flow-z-hover: 10;--portal-flow-z-selected-ancestor: 24;--portal-flow-z-selected: 25;--portal-flow-z-selected-controls: 30;--portal-flow-z-dragging: 20}.portal-flow-edit-mode .portal-flow-widget:after{border:2px dashed var(--portal-flow-widget-border);border-radius:4px;content:"";inset:0;pointer-events:none;position:absolute;transition:border-color .15s ease;z-index:3}.portal-flow-widget__inner{min-width:0;position:relative;width:100%}.portal-flow-section__dock{background:var(--portal-flow-widget-surface);border:1px solid var(--portal-flow-widget-border);border-left:3px solid var(--portal-flow-widget-accent);border-radius:0 10px 10px 0;box-shadow:2px 0 12px var(--portal-flow-widget-shadow);cursor:grab;display:flex;flex-direction:column;left:0;padding:4px;position:fixed;top:50%;touch-action:none;transform:translateY(-50%);user-select:none;z-index:1200}.portal-flow-section__dock.is-dragging{cursor:grabbing}.portal-flow-section__dock-actions{display:flex;flex-direction:column;gap:4px}.portal-flow-dock-btn{align-items:center;border:1px solid transparent;border-radius:8px;box-shadow:0 1px 2px #0f172a0f;cursor:pointer;display:inline-flex;height:36px;justify-content:center;padding:0;transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,transform .12s ease;width:36px}.portal-flow-dock-btn:hover{box-shadow:0 4px 10px #0f172a1f;transform:translateY(-1px)}.portal-flow-dock-btn:active{box-shadow:0 1px 2px #0f172a14;transform:translateY(0)}.portal-flow-dock-btn:focus-visible{outline:2px solid var(--portal-flow-widget-accent);outline-offset:2px}.portal-flow-dock-btn__icon{font-size:15px;line-height:1;pointer-events:none}.portal-flow-edit-toggle{background:var(--portal-flow-widget-accent);border-color:#2563eb59;color:var(--portal-flow-widget-surface)}.portal-flow-edit-toggle:hover{background:var(--portal-flow-widget-accent-hover);border-color:#1d4ed873;color:var(--portal-flow-widget-surface)}.portal-flow-edit-confirm--draft{background:var(--portal-flow-dock-draft-bg);border-color:#f59e0b59;color:var(--portal-flow-dock-draft-fg)}.portal-flow-edit-confirm--draft:hover{background:var(--portal-flow-dock-draft-hover-bg);border-color:#f59e0b80;color:var(--portal-flow-dock-draft-hover-fg)}.portal-flow-edit-confirm--publish{background:var(--portal-flow-dock-publish-bg);border-color:#10b98159;color:var(--portal-flow-dock-publish-fg)}.portal-flow-edit-confirm--publish:hover{background:var(--portal-flow-dock-publish-hover-bg);border-color:#10b98180;color:var(--portal-flow-dock-publish-hover-fg)}.portal-flow-edit-confirm:not(.portal-flow-edit-confirm--draft):not(.portal-flow-edit-confirm--publish){background:var(--portal-flow-widget-accent);border-color:#2563eb59;color:var(--portal-flow-widget-surface)}.portal-flow-edit-confirm:not(.portal-flow-edit-confirm--draft):not(.portal-flow-edit-confirm--publish):hover{background:var(--portal-flow-widget-accent-hover);border-color:#1d4ed873;color:var(--portal-flow-widget-surface)}.portal-flow-edit-cancel{background:var(--portal-flow-dock-cancel-bg);border-color:#ef444447;color:var(--portal-flow-dock-cancel-fg)}.portal-flow-edit-cancel:hover{background:var(--portal-flow-dock-cancel-hover-bg);border-color:#ef444473;color:var(--portal-flow-dock-cancel-hover-fg)}.portal-flow-dock-divider{background:linear-gradient(90deg,transparent,var(--portal-flow-widget-border) 20%,var(--portal-flow-widget-border) 80%,transparent);height:1px;margin:4px 2px;width:calc(100% - 4px)}.portal-flow-edit-export{background:var(--portal-flow-dock-export-bg);border-color:#06b6d459;color:var(--portal-flow-dock-export-fg)}.portal-flow-edit-export:hover{background:var(--portal-flow-dock-export-hover-bg);border-color:#06b6d480;color:var(--portal-flow-dock-export-hover-fg)}.portal-flow-edit-import{background:var(--portal-flow-dock-import-bg);border-color:#7c3aed52;color:var(--portal-flow-dock-import-fg)}.portal-flow-edit-import:hover{background:var(--portal-flow-dock-import-hover-bg);border-color:#7c3aed7a;color:var(--portal-flow-dock-import-hover-fg)}.portal-flow-confirm--popover{--portal-flow-widget-accent: #2563eb;--portal-flow-widget-accent-hover: #1d4ed8;--portal-flow-widget-surface: #ffffff;--portal-flow-widget-border: #d1d5db;--portal-flow-widget-shadow: rgba(15, 23, 42, .16);inset:0;pointer-events:none;position:fixed;z-index:1300}.portal-flow-confirm--popover.is-open{pointer-events:auto}.portal-flow-confirm--popover .portal-flow-confirm__backdrop{background:transparent;inset:0;position:fixed}.portal-flow-confirm--popover .portal-flow-confirm__panel{background:var(--portal-flow-widget-surface);border:1px solid var(--portal-flow-widget-border);border-radius:12px;box-shadow:0 12px 32px var(--portal-flow-widget-shadow);max-width:280px;opacity:0;padding:16px;position:fixed;text-align:left;transform:translate(-6px);transition:opacity .18s ease,transform .18s ease;width:min(280px,calc(100vw - 24px));z-index:1}.portal-flow-confirm--popover.is-open .portal-flow-confirm__panel{opacity:1;transform:translate(0)}.portal-flow-confirm__panel.is-anchor-right:before,.portal-flow-confirm__panel.is-anchor-left:before{background:var(--portal-flow-widget-surface);border:1px solid var(--portal-flow-widget-border);content:"";height:12px;position:absolute;top:50%;transform:translateY(-50%) rotate(45deg);width:12px}.portal-flow-confirm__panel.is-anchor-right:before{border-right:none;border-top:none;left:-7px}.portal-flow-confirm__panel.is-anchor-left:before{border-bottom:none;border-left:none;right:-7px}.portal-flow-confirm--popover .portal-flow-confirm__icon{align-items:center;background:#2563eb1a;border-radius:999px;color:var(--portal-flow-widget-accent);display:inline-flex;font-size:18px;height:36px;justify-content:center;margin:0 0 10px;width:36px}.portal-flow-confirm--popover .portal-flow-confirm__title{color:#0f172a;font-size:.9375rem;font-weight:700;line-height:1.35;margin:0 0 6px}.portal-flow-confirm--popover .portal-flow-confirm__message{color:#64748b;font-size:.8125rem;line-height:1.5;margin:0 0 14px}.portal-flow-confirm--popover .portal-flow-confirm__actions{display:flex;gap:8px;justify-content:flex-end}.portal-flow-confirm--popover.is-variant-save .portal-flow-confirm__actions{flex-direction:row-reverse;justify-content:flex-start}.portal-flow-confirm--popover .portal-flow-confirm__btn{border:none;border-radius:8px;cursor:pointer;font-size:.8125rem;font-weight:600;min-width:0;padding:8px 12px}.portal-flow-confirm--popover .portal-flow-confirm__btn--dismiss{background:#f8fafc;border:1px solid var(--portal-flow-widget-border);color:#475569}.portal-flow-confirm--popover .portal-flow-confirm__btn--dismiss:hover{background:#f1f5f9;color:#334155}.portal-flow-confirm--popover .portal-flow-confirm__btn--ok{background:var(--portal-flow-widget-accent);box-shadow:0 4px 12px #2563eb40;color:var(--portal-flow-widget-surface)}.portal-flow-confirm--popover .portal-flow-confirm__btn--ok:hover{background:var(--portal-flow-widget-accent-hover)}.portal-flow-confirm--popover.is-variant-cancel .portal-flow-confirm__icon{background:#dc26261a;color:#dc2626}.portal-flow-confirm--popover.is-variant-cancel .portal-flow-confirm__btn--ok{background:#dc2626;box-shadow:0 4px 12px #dc262638}.portal-flow-confirm--popover.is-variant-cancel .portal-flow-confirm__btn--ok:hover{background:#b91c1c}.portal-flow-settings{display:none;inset:0;position:fixed;z-index:10050}.portal-flow-settings.is-open{display:block}.portal-flow-settings[hidden]{display:none!important}.portal-flow-settings__backdrop{background:#0f172a73;inset:0;position:absolute}.portal-flow-settings__panel{background:var(--portal-flow-widget-surface);border:1px solid var(--portal-flow-widget-border);border-radius:12px;box-shadow:0 24px 48px #0f172a2e;display:flex;flex-direction:column;height:min(88vh,920px);left:50%;max-height:min(88vh,920px);max-width:min(960px,calc(100vw - 32px));overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);width:min(960px,calc(100vw - 32px))}.portal-flow-settings__header{align-items:center;border-bottom:1px solid var(--portal-flow-widget-border);display:flex;gap:12px;justify-content:space-between;padding:14px 16px}.portal-flow-settings__title{font-size:1rem;font-weight:600;margin:0}.portal-flow-settings__close{align-items:center;background:transparent;border:1px solid var(--portal-flow-widget-border);border-radius:6px;color:#475569;cursor:pointer;display:inline-flex;height:32px;justify-content:center;width:32px}.portal-flow-settings__close:hover{background:#f8fafc;color:#0f172a}.portal-flow-settings__content{background:#f8fafc;flex:1 1 auto;min-height:0;overflow:auto;position:relative}.portal-flow-settings__status{color:#64748b;margin:0;padding:1.5rem 1.25rem;text-align:center}.portal-flow-settings__status.is-error{color:#b91c1c}.portal-flow-settings__form{padding:1rem 1.25rem 1.5rem}.portal-flow-settings__tabs{display:flex;gap:.35rem;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid var(--portal-flow-widget-border)}.portal-flow-settings__tab{background:transparent;border:1px solid transparent;border-radius:999px;color:#64748b;cursor:pointer;font:inherit;font-size:.8125rem;font-weight:600;padding:.4rem .85rem}.portal-flow-settings__tab:hover{background:#eef2f7;color:#334155}.portal-flow-settings__tab.is-active,.portal-flow-settings__tab[aria-selected=true]{background:#e0ecff;border-color:#bfdbfe;color:#1d4ed8}.portal-flow-settings__tab-panel[hidden]{display:none}.portal-flow-settings__tab-panel .portal-flow-settings__section:first-child{margin-top:0;padding-top:0;border-top:0}.portal-flow-settings__section+.portal-flow-settings__section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--portal-flow-widget-border)}.portal-flow-settings__section-title{font-size:.875rem;font-weight:600;margin:0 0 .75rem}.portal-flow-settings__field+.portal-flow-settings__field{margin-top:.875rem}.portal-flow-settings__label{display:block;font-size:.8125rem;font-weight:500;margin-bottom:.35rem}.portal-flow-settings__control{background:#fff;border:1px solid var(--portal-flow-widget-border);border-radius:6px;color:#0f172a;font:inherit;max-width:100%;padding:.5rem .625rem;width:100%}.portal-flow-settings__control--checkbox{height:1rem;width:auto}.portal-flow-settings__readonly{background:#f8fafc;border:1px dashed var(--portal-flow-widget-border);border-radius:6px;color:#334155;font-size:.8125rem;padding:.5rem .625rem;word-break:break-word}.portal-flow-settings__hint{color:#64748b;font-size:.75rem;margin:.35rem 0 0}body.portal-flow-modal-open{overflow:hidden}.portal-flow-settings__footer{border-top:1px solid var(--portal-flow-widget-border);padding:.875rem 1.25rem 1.25rem}.portal-flow-settings__footer-hint{color:#64748b;font-size:.75rem;margin:0 0 .75rem}.portal-flow-settings__footer-actions{display:flex;gap:.5rem;justify-content:flex-end}.portal-flow-settings__btn{border:1px solid transparent;border-radius:6px;cursor:pointer;font:inherit;font-size:.875rem;font-weight:500;padding:.5rem .875rem}.portal-flow-settings__btn--ghost{background:#fff;border-color:var(--portal-flow-widget-border);color:#334155}.portal-flow-settings__btn--primary{background:var(--portal-flow-widget-accent, #2563eb);color:#fff}.portal-flow-settings__btn--primary:hover{background:var(--portal-flow-widget-accent-hover, #1d4ed8)}.portal-flow-preview__status{color:#64748b;margin:0;padding:2rem 1rem;text-align:center}.portal-flow-preview__status.is-error{color:#b91c1c}.portal-flow-edit-confirm--dirty{box-shadow:0 0 0 2px #2563eb59}.portal-flow-btn--loading{cursor:wait;opacity:.88;pointer-events:none}.portal-flow-settings__btn--primary.portal-flow-btn--loading{align-items:center;display:inline-flex;gap:.35rem;justify-content:center;min-width:8.5rem}.portal-flow-confirm__btn--ok.portal-flow-btn--loading{align-items:center;display:inline-flex;gap:.35rem;justify-content:center;min-width:6.5rem}.portal-flow-confirm--popover.is-busy{pointer-events:auto}.portal-flow-confirm--popover.is-busy .portal-flow-confirm__backdrop{cursor:wait}.portal-flow-drag-handle{align-items:center;background:var(--portal-flow-widget-surface, #fff);border:1px solid var(--portal-flow-widget-border, #d1d5db);border-radius:.375rem;color:var(--portal-flow-widget-accent, #2563eb);cursor:grab;display:none;height:1.75rem;justify-content:center;padding:0;position:absolute;right:.5rem;top:.5rem;width:1.75rem;z-index:4}.portal-flow-drag-handle--container{right:.75rem;top:.75rem}.portal-flow-drag-handle[title],.portal-flow-drag-handle--container[title]{cursor:grab}.portal-flow-edit-mode .portal-flow-drag-handle{display:inline-flex}.portal-flow-size-select{appearance:none;background:var(--portal-flow-widget-surface, #fff);border:1px solid var(--portal-flow-widget-border, #d1d5db);border-radius:.375rem;color:var(--portal-flow-widget-text, #1f2937);cursor:pointer;display:none;font-size:.6875rem;font-weight:600;left:.5rem;line-height:1.2;max-width:4.25rem;padding:.2rem 1.25rem .2rem .35rem;position:absolute;top:.5rem;z-index:4;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 8 5'%3E%3Cpath fill='%236b7280' d='M0 0l4 5 4-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .35rem center}.portal-flow-resize-handle{align-items:center;background:var(--portal-flow-widget-surface, #fff);border:1px solid var(--portal-flow-widget-border, #d1d5db);border-radius:.375rem 0 0 .375rem;border-right:0;color:var(--portal-flow-widget-accent, #2563eb);cursor:ew-resize;display:none;height:2.5rem;justify-content:center;padding:0;position:absolute;right:-1px;top:50%;transform:translateY(-50%);width:.75rem;z-index:5}.portal-flow-resize-handle i{font-size:.625rem;pointer-events:none}.portal-flow-edit-mode .portal-flow-size-select{display:block}.portal-flow-edit-mode .portal-flow-resize-handle{display:inline-flex}.portal-flow-widget.is-flow-resizing,.portal-flow-container-widget.is-flow-resizing,.portal-flow-edit-mode .portal-flow-widget.is-flow-dragging,.portal-flow-edit-mode .portal-flow-container-widget.is-flow-dragging{outline:2px solid var(--portal-flow-widget-accent, #2563eb);outline-offset:2px;box-shadow:0 12px 32px #0f172a2e;opacity:.55;z-index:var(--portal-flow-z-dragging)}body.portal-flow-resize-active{cursor:ew-resize!important;user-select:none}body.portal-flow-resize-active *{cursor:ew-resize!important}.portal-flow-split-handle{align-items:center;background:var(--portal-flow-widget-accent, #2563eb);border:2px solid #fff;border-radius:6px;box-shadow:0 2px 8px #2563eb4d;cursor:col-resize;display:none;height:2.5rem;justify-content:center;opacity:.92;padding:0;position:absolute;transform:translate(-50%,-50%);width:12px;z-index:12}.portal-flow-split-handle:hover{height:2.75rem;opacity:1;width:14px}.portal-flow-split-handle i{color:#fff;display:block;font-size:.625rem;pointer-events:none}.portal-flow-edit-mode .portal-flow-split-handle{display:inline-flex}.portal-flow-widget.is-flow-split-resizing,.portal-flow-container-widget.is-flow-split-resizing{outline:2px dashed var(--portal-flow-widget-accent, #2563eb);outline-offset:2px;z-index:15}body.portal-flow-split-active{cursor:col-resize!important;user-select:none}body.portal-flow-split-active *{cursor:col-resize!important}.portal-flow-edit-mode .portal-flow-widget,.portal-flow-edit-mode .portal-flow-container-widget{position:relative;z-index:var(--portal-flow-z-base)}.portal-flow-edit-mode .portal-flow-container-widget{align-items:stretch;display:flex;flex-direction:column}.portal-flow-edit-mode .portal-flow-widget:hover:not(.is-layout-selected),.portal-flow-edit-mode .portal-flow-widget:focus-within:not(.is-layout-selected),.portal-flow-edit-mode .portal-flow-container-widget:hover:not(.is-layout-selected),.portal-flow-edit-mode .portal-flow-container-widget:focus-within:not(.is-layout-selected),.portal-flow-edit-mode .portal-flow-container-widget:not(:has(.is-layout-selected)):has(.portal-flow-widget:hover),.portal-flow-edit-mode .portal-flow-container-widget:not(:has(.is-layout-selected)):has(.portal-flow-widget:focus-within){box-shadow:0 10px 28px #0f172a24;z-index:var(--portal-flow-z-hover)}.portal-flow-edit-mode .portal-flow-container-widget:has(.is-layout-selected){z-index:var(--portal-flow-z-selected-ancestor)}.portal-flow-edit-mode section.flow[data-portal-flow-id]{min-height:2.5rem;outline:1px dashed rgba(37,99,235,.2);outline-offset:4px;padding:.35rem 0;position:relative}.portal-flow-edit-mode section.flow[data-portal-flow-id].is-flow-empty{min-height:5.5rem;background:#2563eb08}.portal-flow-edit-mode .portal-flow-container-widget>section.flow[data-portal-flow-id]{align-self:stretch;box-sizing:border-box;flex:1 1 auto;grid-column:1 / -1;min-height:100%;width:100%}.portal-flow-edit-mode .portal-flow-container-widget>section.flow[data-portal-flow-id].is-flow-empty{min-height:6.5rem}.portal-flow-edit-mode .portal-flow-container-widget:has(>section.flow.is-flow-empty),.portal-flow-edit-mode .portal-flow-container-widget.is-container-empty{min-height:7rem}.portal-flow-edit-mode .portal-flow-container-widget.is-container-empty{outline:1px dashed rgba(37,99,235,.28);outline-offset:2px}.portal-flow-edit-mode .portal-flow-container-widget.is-container-empty:before{color:#2563eb80;content:"Container tr\1ed1ng";font-size:.6875rem;font-weight:600;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.portal-flow-edit-mode .portal-flow-container-widget.is-container-empty:has(>section.flow.is-flow-empty):before{content:none;display:none}.portal-flow-edit-mode .portal-flow-container-widget.is-container-empty.is-layout-selected{outline:2px dashed var(--portal-flow-widget-accent, #2563eb)}.portal-flow-edit-mode .portal-flow-widget.is-widget-empty{background:#2563eb08;min-height:7rem}.portal-flow-edit-mode .portal-flow-widget.is-widget-empty:before{color:#2563eb80;content:"Widget tr\1ed1ng";font-size:.6875rem;font-weight:600;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.portal-flow-edit-mode [data-portal-flow-preview].is-flow-drag-active section.flow[data-portal-flow-id]{min-height:3.25rem;padding:.5rem 0;z-index:2}.portal-flow-edit-mode [data-portal-flow-preview].is-flow-drag-active section.flow[data-portal-flow-id]>.portal-flow-widget:not(.is-flow-dragging),.portal-flow-edit-mode [data-portal-flow-preview].is-flow-drag-active section.flow[data-portal-flow-id]>.portal-flow-container-widget:not(.is-flow-dragging){pointer-events:auto}.portal-flow-edit-mode [data-portal-flow-preview].is-flow-drag-active .portal-flow-container-widget:not(.is-flow-dragging){pointer-events:auto}.portal-flow-edit-mode [data-portal-flow-preview].is-flow-drag-active.is-flow-drag-from-page .portal-flow-container-widget:not(.is-flow-dragging)>section.flow[data-portal-flow-id]{flex:1 1 auto;min-height:100%;pointer-events:auto}.portal-flow-edit-mode [data-portal-flow-preview].is-flow-drag-active.is-flow-drag-from-container>section.flow[data-portal-flow-id]{pointer-events:auto;position:relative;z-index:3}.portal-flow-edit-mode [data-portal-flow-preview].is-flow-drag-active.is-flow-drag-from-container .portal-flow-container-widget:not(.is-flow-drag-source):not(.is-flow-dragging)>section.flow[data-portal-flow-id],.portal-flow-edit-mode [data-portal-flow-preview].is-flow-drag-active.is-flow-drag-from-container .portal-flow-container-widget.is-flow-drag-source:not(.is-flow-dragging)>section.flow[data-portal-flow-id]{pointer-events:auto}.portal-flow-edit-mode [data-portal-flow-preview].is-flow-drag-active .portal-flow-widget.is-flow-dragging,.portal-flow-edit-mode [data-portal-flow-preview].is-flow-drag-active .portal-flow-container-widget.is-flow-dragging{pointer-events:auto}.portal-flow-edit-mode [data-portal-flow-preview].is-flow-drag-active .portal-flow-split-handle{pointer-events:none;visibility:hidden}.portal-flow-edit-mode section.flow.is-flow-empty:after{color:#2563eb73;content:"Ch\1ecdn v\f9ng n\e0y r\1ed3i b\1ea5m \abTh\eam ph\ed a sau\bb";display:block;font-size:.75rem;left:50%;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);white-space:normal;width:min(16rem,90%)}.portal-flow-edit-mode .portal-flow-widget,.portal-flow-edit-mode .portal-flow-container-widget{cursor:grab}.portal-flow-edit-mode .portal-flow-widget.is-flow-dragging,.portal-flow-edit-mode .portal-flow-container-widget.is-flow-dragging{cursor:grabbing}.portal-flow-edit-mode .portal-flow-widget__inner{pointer-events:none}.portal-flow-edit-mode .portal-flow-widget.is-layout-selected,.portal-flow-edit-mode .portal-flow-container-widget.is-layout-selected{outline:2px solid var(--portal-flow-widget-accent, #2563eb);outline-offset:2px;z-index:var(--portal-flow-z-selected)}.portal-flow-edit-mode .is-layout-selected>.portal-flow-drag-handle,.portal-flow-edit-mode .is-layout-selected>.portal-flow-size-select,.portal-flow-edit-mode .is-layout-selected>.portal-flow-resize-handle,.portal-flow-edit-mode .is-layout-selected .portal-flow-drag-handle,.portal-flow-edit-mode .is-layout-selected .portal-flow-size-select,.portal-flow-edit-mode .is-layout-selected .portal-flow-resize-handle{z-index:var(--portal-flow-z-selected-controls)}.portal-flow-edit-mode section.flow.is-flow-target-selected{outline:2px dashed var(--portal-flow-widget-accent, #2563eb);outline-offset:4px;z-index:var(--portal-flow-z-selected-ancestor)}.portal-flow-layout-toolbar,.portal-flow-layout-add-toolbar{background:var(--portal-flow-widget-surface, #fff);border:1px solid var(--portal-flow-widget-border, #d1d5db);border-radius:.5rem;box-shadow:0 8px 24px var(--portal-flow-widget-shadow, rgba(15, 23, 42, .12));color:var(--portal-flow-widget-text, #1f2937);font-size:.8125rem;pointer-events:auto;position:fixed;white-space:nowrap;z-index:40}.portal-flow-layout-toolbar[hidden],.portal-flow-layout-add-toolbar[hidden]{display:none!important}.portal-flow-layout-toolbar{align-items:center;display:inline-flex;gap:.5rem;max-width:min(100vw - 1rem,28rem);padding:.35rem .5rem}.portal-flow-layout-toolbar__label{font-weight:600;max-width:12rem;overflow:hidden;text-overflow:ellipsis}.portal-flow-layout-toolbar__actions{align-items:center;display:inline-flex;gap:.15rem}.portal-flow-layout-toolbar__btn{align-items:center;background:transparent;border:0;border-radius:.375rem;color:var(--portal-flow-widget-text, #1f2937);cursor:pointer;display:inline-flex;height:1.75rem;justify-content:center;width:1.75rem}.portal-flow-layout-toolbar__btn:hover{background:#2563eb14;color:var(--portal-flow-widget-accent, #2563eb)}.portal-flow-layout-toolbar__btn--danger:hover{background:#dc262614;color:#dc2626}.portal-flow-layout-toolbar__btn--accent{color:var(--portal-flow-widget-accent, #2563eb)}.portal-flow-layout-toolbar__btn--accent:hover{background:#2563eb1f;color:var(--portal-flow-widget-accent-hover, #1d4ed8)}.portal-flow-layout-toolbar__btn:disabled{cursor:not-allowed;opacity:.35;pointer-events:none}.portal-flow-layout-toolbar__btn[hidden]{display:none}.portal-flow-layout-add-toolbar{padding:.35rem}.portal-flow-layout-add-toolbar.is-anchor-menu-only{background:transparent;border:0;box-shadow:none;padding:0}.portal-flow-layout-add-toolbar.is-anchor-menu-only .portal-flow-layout-add-toolbar__toggle{display:none}.portal-flow-layout-add-toolbar.is-anchor-menu-only .portal-flow-layout-add-toolbar__menu{display:block;position:relative}.portal-flow-layout-add-toolbar__inner{position:relative}.portal-flow-layout-add-toolbar__toggle{align-items:center;background:var(--portal-flow-widget-accent, #2563eb);border:0;border-radius:.375rem;color:#fff;cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;gap:.35rem;padding:.35rem .65rem}.portal-flow-layout-add-toolbar__toggle:hover{background:var(--portal-flow-widget-accent-hover, #1d4ed8)}.portal-flow-layout-add-toolbar__menu{background:var(--portal-flow-widget-surface, #fff);border:1px solid var(--portal-flow-widget-border, #d1d5db);border-radius:.375rem;box-shadow:0 8px 24px var(--portal-flow-widget-shadow, rgba(15, 23, 42, .12));display:flex;flex-direction:column;left:0;margin-top:.35rem;max-height:20rem;min-width:14rem;overflow:auto;padding:0;position:absolute;top:100%;z-index:1}.portal-flow-layout-add-toolbar__menu[hidden]{display:none}.portal-flow-layout-add-toolbar__item{background:transparent;border:0;color:inherit;cursor:pointer;display:block;font-size:.8125rem;padding:.45rem .75rem;text-align:left;width:100%}.portal-flow-layout-add-toolbar__item:hover{background:#2563eb14;color:var(--portal-flow-widget-accent, #2563eb)}.portal-flow-layout-add-toolbar__empty,.portal-flow-layout-add-toolbar__loading{color:#6b7280;font-size:.8125rem;padding:.5rem .75rem}.portal-flow-layout-add-toolbar__category{align-items:flex-start;appearance:none;background:transparent;border:0;border-bottom:1px solid var(--portal-flow-widget-border, #e5e7eb);color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:.15rem;margin:0;padding:.55rem .75rem;text-align:left;width:100%}.portal-flow-layout-add-toolbar__category:last-child{border-bottom:0}.portal-flow-layout-add-toolbar__category:hover{background:#2563eb14;color:var(--portal-flow-widget-accent, #2563eb)}.portal-flow-layout-add-toolbar__category-label{display:block;font-size:.8125rem;font-weight:600;line-height:1.3}.portal-flow-layout-add-toolbar__category-hint{color:#6b7280;display:block;font-size:.75rem;font-weight:400;line-height:1.35;white-space:normal}.portal-flow-layout-add-toolbar__back{align-items:center;background:transparent;border:0;border-bottom:1px solid var(--portal-flow-widget-border, #e5e7eb);color:var(--portal-flow-widget-accent, #2563eb);cursor:pointer;display:flex;font-size:.75rem;font-weight:600;gap:.35rem;padding:.45rem .75rem;text-align:left;width:100%}.portal-flow-layout-add-toolbar__back:hover{background:#2563eb0f}.portal-flow-layout-add-toolbar__item--preset{align-items:center;display:flex;gap:.65rem;white-space:normal}.portal-flow-layout-add-toolbar__preset-preview{background:#f3f4f6;border:1px solid var(--portal-flow-widget-border, #d1d5db);border-radius:.25rem;display:grid;flex:0 0 auto;gap:2px;grid-template-columns:repeat(12,1fr);height:1.5rem;padding:2px;width:4.5rem}.portal-flow-layout-add-toolbar__preset-cell{background:var(--portal-flow-widget-accent, #2563eb);border-radius:1px;min-height:0;opacity:.75}.portal-flow-layout-add-toolbar__preset-text{display:flex;flex:1 1 auto;flex-direction:column;gap:.1rem;min-width:0}.portal-flow-layout-add-toolbar__preset-title{font-weight:600}.portal-flow-layout-add-toolbar__preset-hint{color:#6b7280;font-size:.75rem;font-weight:400}.portal-flow-mode-btn--active{background:var(--portal-flow-widget-accent, #2563eb);color:#fff}.portal-flow-layout-preset{display:none;inset:0;position:fixed;z-index:10050}.portal-flow-layout-preset.is-open{display:block}.portal-flow-layout-preset[hidden]{display:none!important}.portal-flow-layout-preset__backdrop{backdrop-filter:blur(3px);background:#0f172a80;inset:0;position:absolute}.portal-flow-layout-preset__panel{background:var(--portal-flow-widget-surface, #fff);border:1px solid var(--portal-flow-widget-border, #d1d5db);border-radius:16px;box-shadow:0 32px 64px #0f172a33,0 0 0 1px #ffffff0d inset;display:flex;flex-direction:column;left:50%;max-height:min(90vh,820px);max-width:min(960px,calc(100vw - 40px));overflow:hidden;position:absolute;top:50%;transform:translate(-50%,-50%);width:min(960px,calc(100vw - 40px))}.portal-flow-layout-preset__header{align-items:flex-start;background:linear-gradient(180deg,#f8fafc,#fff);border-bottom:1px solid var(--portal-flow-widget-border, #e2e8f0);display:flex;gap:16px;justify-content:space-between;padding:1.25rem 1.5rem 1.125rem}.portal-flow-layout-preset__header-text{display:flex;flex:1 1 auto;flex-direction:column;gap:.35rem;min-width:0}.portal-flow-layout-preset__title{color:#0f172a;font-size:1.25rem;font-weight:700;letter-spacing:-.02em;line-height:1.25;margin:0}.portal-flow-layout-preset__close{align-items:center;appearance:none;background:#fff;border:1px solid var(--portal-flow-widget-border, #d1d5db);border-radius:8px;color:#64748b;cursor:pointer;display:inline-flex;flex:0 0 auto;height:36px;justify-content:center;transition:background .15s ease,border-color .15s ease,color .15s ease;width:36px}.portal-flow-layout-preset__close:hover{background:#f1f5f9;border-color:#94a3b8;color:#0f172a}.portal-flow-layout-preset__lead{color:#64748b;font-size:.875rem;line-height:1.45;margin:0;max-width:42rem}.portal-flow-layout-preset__body{flex:1 1 auto;min-height:0;overflow:auto;padding:1.25rem 1.5rem 1.5rem}.portal-flow-layout-preset__grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}.portal-flow-layout-preset__card{align-items:stretch;appearance:none;background:#fff;border:2px solid #e2e8f0;border-radius:12px;color:inherit;cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:.625rem;margin:0;padding:.75rem .875rem .875rem;text-align:center;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;width:100%}.portal-flow-layout-preset__card:hover,.portal-flow-layout-preset__card:focus-visible{border-color:var(--portal-flow-widget-accent, #2563eb);box-shadow:0 8px 24px #2563eb24,0 2px 6px #0f172a0f;outline:none;transform:translateY(-2px)}.portal-flow-layout-preset__card:hover .portal-flow-layout-preset__icon,.portal-flow-layout-preset__card:focus-visible .portal-flow-layout-preset__icon{background:#eff6ff;border-color:#bfdbfe}.portal-flow-layout-preset__card:hover .portal-flow-layout-preset__icon-cell,.portal-flow-layout-preset__card:focus-visible .portal-flow-layout-preset__icon-cell{background:linear-gradient(180deg,#2563eb59,#2563eb38);border-color:var(--portal-flow-widget-accent, #2563eb);box-shadow:inset 0 1px #ffffff40}.portal-flow-layout-preset__card:hover .portal-flow-layout-preset__card-title,.portal-flow-layout-preset__card:focus-visible .portal-flow-layout-preset__card-title{color:var(--portal-flow-widget-accent, #2563eb)}.portal-flow-layout-preset__icon-wrap{display:flex;flex:0 0 auto;flex-direction:column;height:9.5rem;width:100%}.portal-flow-layout-preset__icon{background:#f1f5f9;border:1px solid #dbe3ee;border-radius:10px;box-shadow:inset 0 1px 2px #0f172a0a;box-sizing:border-box;display:grid;flex:1 1 auto;gap:7px;height:100%;min-height:0;padding:10px 12px;transition:background .18s ease,border-color .18s ease;width:100%}.portal-flow-layout-preset__icon-cell{align-self:stretch;background:linear-gradient(180deg,#d8e0ea,#b8c5d6);border:1.5px solid #7c8fa8;border-radius:5px;box-shadow:inset 0 1px #ffffff73;height:100%;min-height:0;min-width:0;transition:background .18s ease,border-color .18s ease}.portal-flow-layout-preset__icon--cols-1,.portal-flow-layout-preset__icon--cols-2-equal,.portal-flow-layout-preset__icon--cols-2-wide-left,.portal-flow-layout-preset__icon--cols-3-equal,.portal-flow-layout-preset__icon--cols-4-equal,.portal-flow-layout-preset__icon--cols-holy-grail{align-items:stretch;grid-template-rows:1fr}.portal-flow-layout-preset__icon--cols-1{grid-template-columns:1fr}.portal-flow-layout-preset__icon--cols-2-equal{grid-template-columns:1fr 1fr}.portal-flow-layout-preset__icon--cols-2-wide-left{grid-template-columns:2fr 1fr}.portal-flow-layout-preset__icon--cols-3-equal{grid-template-columns:1fr 1fr 1fr}.portal-flow-layout-preset__icon--cols-4-equal{grid-template-columns:repeat(4,1fr)}.portal-flow-layout-preset__icon--cols-holy-grail{grid-template-columns:1fr 2fr 1fr}.portal-flow-layout-preset__icon--grid-2x2{align-items:stretch;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.portal-flow-layout-preset__icon--cols-left-stack-right{align-items:stretch;grid-template-columns:1fr 1fr;grid-template-rows:1fr}.portal-flow-layout-preset__icon--cols-left-stack-right>.portal-flow-layout-preset__icon-cell:first-child{grid-row:1;height:100%}.portal-flow-layout-preset__icon-stack{align-self:stretch;display:grid;gap:7px;grid-template-rows:1fr 1fr;height:100%;min-height:0}.portal-flow-layout-preset__card-text{border-top:1px solid #f1f5f9;display:flex;flex:0 0 auto;flex-direction:column;gap:.15rem;padding-top:.5rem;width:100%}.portal-flow-layout-preset__card-title{color:#0f172a;font-size:.875rem;font-weight:600;line-height:1.35;transition:color .18s ease}.portal-flow-layout-preset__card-hint{color:#64748b;font-size:.75rem;font-weight:400;line-height:1.4}@media(max-width:768px){.portal-flow-layout-preset__panel{max-height:min(92vh,820px);width:calc(100vw - 24px)}.portal-flow-layout-preset__header{padding:1rem 1.125rem}.portal-flow-layout-preset__body{padding:1rem 1.125rem 1.125rem}.portal-flow-layout-preset__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.portal-flow-layout-preset__grid{grid-template-columns:1fr}.portal-flow-layout-preset__icon-wrap{height:8.5rem}}.portal-flow-settings__section--bag{border:1px solid var(--portal-flow-widget-border, #d1d5db);border-radius:8px;margin-bottom:1rem;overflow:hidden;padding:0}.portal-flow-settings__bag-section-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;gap:.5rem;justify-content:space-between;padding:.625rem .75rem}.portal-flow-settings__section--bag.is-collapsed .portal-flow-settings__bag-section-header{border-bottom:0}.portal-flow-settings__bag-section-heading{align-items:center;display:flex;flex:1;gap:.35rem;min-width:0}.portal-flow-settings__bag-section-toggle,.portal-flow-settings__bag-item-toggle{align-items:center;background:transparent;border:0;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;flex:0 0 auto;height:1.75rem;justify-content:center;padding:0;width:1.75rem}.portal-flow-settings__bag-section-toggle:hover,.portal-flow-settings__bag-item-toggle:hover{background:#f1f5f9;color:#0f172a}.portal-flow-settings__bag-section-toggle i,.portal-flow-settings__bag-item-toggle i{font-size:.75rem;transition:transform .18s ease}.portal-flow-settings__section--bag.is-collapsed .portal-flow-settings__bag-section-toggle i,.portal-flow-settings__bag-item.is-collapsed .portal-flow-settings__bag-item-toggle i{transform:rotate(-90deg)}.portal-flow-settings__bag-section-title-btn,.portal-flow-settings__bag-item-title-btn{align-items:center;background:transparent;border:0;color:#0f172a;cursor:pointer;display:inline-flex;flex:1;font:inherit;font-size:.875rem;font-weight:600;gap:.5rem;min-width:0;padding:0;text-align:left}.portal-flow-settings__bag-section-title-btn:hover,.portal-flow-settings__bag-item-title-btn:hover{color:var(--portal-flow-widget-accent, #2563eb)}.portal-flow-settings__bag-section-count{background:#e0ecff;border-radius:999px;color:#1d4ed8;flex:0 0 auto;font-size:.6875rem;font-weight:600;line-height:1;padding:.2rem .45rem}.portal-flow-settings__bag-section-toolbar{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:.35rem}.portal-flow-settings__bag-section-tool{background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;color:#475569;cursor:pointer;font:inherit;font-size:.6875rem;font-weight:600;padding:.25rem .5rem}.portal-flow-settings__bag-section-tool:hover{background:#f1f5f9;color:#0f172a}.portal-flow-settings__bag-section-body{padding:.75rem}.portal-flow-settings__bag-items{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.portal-flow-settings__bag-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.portal-flow-settings__bag-item-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;gap:.35rem;justify-content:space-between;padding:.5rem .75rem}.portal-flow-settings__bag-item.is-collapsed .portal-flow-settings__bag-item-header{border-bottom:0}.portal-flow-settings__bag-item-heading{align-items:center;display:flex;flex:1;gap:.35rem;min-width:0}.portal-flow-settings__bag-sort-handle{align-items:center;background:transparent;border:1px solid #cbd5e1;border-radius:6px;color:#64748b;cursor:grab;display:inline-flex;flex:0 0 auto;height:1.75rem;justify-content:center;padding:0;width:1.75rem}.portal-flow-settings__bag-sort-handle:hover{background:#f1f5f9;color:var(--portal-flow-widget-accent, #2563eb)}.portal-flow-settings__bag-sort-handle:active{cursor:grabbing}.portal-flow-settings__bag-item.is-bag-dragging{opacity:.72;box-shadow:0 8px 20px #0f172a1f}.portal-flow-settings__bag-item-title{flex:1;font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-flow-settings__bag-item-actions{display:flex;flex:0 0 auto;gap:.25rem}.portal-flow-settings__bag-item-action{background:transparent;border:1px solid #cbd5e1;border-radius:6px;color:#334155;cursor:pointer;line-height:1;padding:.25rem .45rem}.portal-flow-settings__bag-item-action--danger{border-color:#fecaca;color:#b91c1c}.portal-flow-settings__bag-item-body{display:flex;flex-direction:column;gap:.75rem;padding:.75rem}.portal-flow-settings__bag-item-body[hidden],.portal-flow-settings__bag-section-body[hidden]{display:none!important}.portal-flow-settings__bag-add{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.portal-flow-settings__section--nested{margin-top:.25rem}.portal-flow-settings__section-subtitle{font-size:.8125rem;font-weight:600;margin:0 0 .5rem}.portal-flow-settings__media-field{display:flex;flex-direction:column;gap:.5rem}.portal-flow-settings__media-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between}.portal-flow-settings__media-toolbar-group{display:inline-flex;gap:0}.portal-flow-settings__media-toolbar-btn,.portal-flow-settings__media-inline-btn{align-items:center;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:0;color:#334155;cursor:pointer;display:inline-flex;height:30px;justify-content:center;padding:0;text-decoration:none;width:32px}.portal-flow-settings__media-toolbar-group .portal-flow-settings__media-toolbar-btn:first-child{border-radius:4px 0 0 4px}.portal-flow-settings__media-toolbar-group .portal-flow-settings__media-toolbar-btn:last-child{border-radius:0 4px 4px 0}.portal-flow-settings__media-toolbar-group .portal-flow-settings__media-toolbar-btn+.portal-flow-settings__media-toolbar-btn{border-left:0;margin-left:-1px}.portal-flow-settings__media-toolbar-btn:hover:not(:disabled),.portal-flow-settings__media-inline-btn:hover{background:#e2e8f0;color:#0f172a}.portal-flow-settings__media-toolbar-btn:disabled{cursor:not-allowed;opacity:.45}.portal-flow-settings__media-toolbar-label{color:#be185d;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8125rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-flow-settings__media-empty{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;font-size:.875rem;padding:1rem;text-align:center}.portal-flow-settings__media-thumbs{display:flex;flex-wrap:wrap;gap:1rem;list-style:none;margin:0;padding:0}.portal-flow-settings__media-thumb-item{background:#fff;border:1px solid #e2e8f0;border-radius:0;cursor:pointer;overflow:hidden;width:122px}.portal-flow-settings__media-thumb-item.is-active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb40}.portal-flow-settings__media-thumb-image{align-items:center;background:#f8fafc;display:flex;height:var(--media-thumb-px, 120px);justify-content:center;overflow:hidden;width:100%}.portal-flow-settings__media-thumb-image img{max-height:100%;max-width:100%;object-fit:contain}.portal-flow-settings__media-thumb-image i{color:#94a3b8}.portal-flow-settings__media-thumb-meta{background:#fff;padding:.45rem .5rem .55rem;position:relative}.portal-flow-settings__media-thumb-name{color:#64748b;display:block;font-size:.75rem;overflow:hidden;padding-right:.25rem;text-overflow:ellipsis;white-space:nowrap}.portal-flow-settings__media-thumb-meta .portal-flow-settings__media-inline-btn{border-radius:0;box-shadow:0 1px 4px #0f172a1f;margin-top:-2rem;opacity:0;position:absolute;right:0;top:0;transition:opacity .2s ease,margin-top .2s ease;z-index:2}.portal-flow-settings__media-thumb-meta .portal-flow-settings__media-inline-btn--link{margin-right:2rem}.portal-flow-settings__media-thumb-item:hover .portal-flow-settings__media-inline-btn,.portal-flow-settings__media-thumb-item:focus-within .portal-flow-settings__media-inline-btn,.portal-flow-settings__media-thumb-item.is-active .portal-flow-settings__media-inline-btn{margin-top:0;opacity:1}.portal-flow-settings__media-inline-btn--danger:hover{background:#dc2626;border-color:#dc2626;color:#fff}.portal-flow-settings__media-text-modal{inset:0;position:fixed;z-index:10120}.portal-flow-settings__media-text-backdrop{background:#0f172a73;inset:0;position:absolute}.portal-flow-settings__media-text-panel{background:#fff;border-radius:10px;box-shadow:0 20px 48px #0f172a33;display:flex;flex-direction:column;gap:.75rem;left:50%;max-width:min(420px,calc(100vw - 2rem));padding:1rem 1rem .85rem;position:absolute;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 2rem))}.portal-flow-settings__media-text-title{font-size:1rem;font-weight:600;margin:0}.portal-flow-settings__media-text-input{width:100%}.portal-flow-settings__media-text-actions{display:flex;gap:.5rem;justify-content:flex-end}.portal-flow-settings__html-field .trumbowyg-box{margin:0}
