UNPKG

@flowfuse/flowfuse

Version:

An open source low-code development platform

1 lines • 263 kB
*{box-sizing:border-box}.transition-fade--color{--time: 0.3s;transition:var(--time) color,var(--time) background-color,var(--time) fill,var(--time) stroke,var(--time) border-color;-webkit-transition:var(--time) color,var(--time) background-color,var(--time) fill,var(--time) stroke,var(--time) border-color}html{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:14px;line-height:1.25rem}body{margin:0;color:var(--ff-color-text);position:relative;overflow:hidden}@layer base{h1{font-weight:bold;font-size:2rem;line-height:2.9rem;margin-bottom:18px}h2{font-weight:bold;font-size:1.5rem;line-height:2.175rem;margin-bottom:6px}h3{font-size:1rem;line-height:1.45rem;margin-bottom:6px;font-weight:bold}h4{font-size:1rem;line-height:1.2325rem;margin-bottom:6px;font-weight:500}}code{border-radius:6px;border:1px solid var(--ff-color-border);padding:9px}p code{padding:0 3px}.ff-description{font-size:.85rem;color:var(--ff-color-text-subtle)}hr{color:var(--ff-color-border)}.ff-icon{width:20px;height:20px;display:inline-block}.ff-disabled{pointer-events:none;opacity:.4}.ff-icon-sm{width:16px;height:16px;display:inline-block}.ff-icon-md{width:20px;height:20px;display:inline-block}.ff-icon-lg{width:24px;width:24px;height:24px;display:inline-block}.ff-nav-breadcrumb{display:flex;align-items:center}.ff-nav-breadcrumb a{color:var(--ff-color-link);font-weight:bold;font-size:1.25rem;line-height:1.75rem;white-space:nowrap}.ff-nav-breadcrumb a:hover{text-decoration:underline}.ff-nav-breadcrumb--active span{color:var(--ff-color-text);font-weight:bold;font-size:1.25rem;line-height:1.75rem;white-space:nowrap}.ff-btn--icon,.ff-btn--icon svg{width:20px;height:20px}.ff-btn--icon-left{margin-left:-3px;margin-right:6px}.ff-btn--icon-right{margin-left:6px;margin-right:-3px}.ff-btn{border-radius:6px;display:flex;align-items:center;font-size:.85rem;line-height:20px;height:32px;position:relative;justify-content:center;font-weight:bold;height:auto;padding:6px 16px;border:0}.ff-btn.ff-btn-icon{padding:6px 9px}.ff-btn.ff-btn-small{padding:3px 6px;font-size:.75rem;line-height:16px;height:24px}.ff-btn.ff-btn-medium{padding:3px 6px;font-size:.75rem;line-height:18px;height:26px}.ff-btn.ff-btn-fwidth{justify-content:center}.ff-btn:hover{cursor:pointer}.ff-btn--primary{background-color:var(--ff-color-accent-strong);border:1px solid var(--ff-color-accent-strong);color:var(--ff-color-text-on-brand)}.ff-btn--primary:hover,.ff-btn--primary.active{background-color:var(--ff-color-accent)}.ff-btn--secondary{background-color:var(--ff-color-bg-app);color:var(--ff-color-accent-text);border:1px solid var(--ff-color-border-accent)}.ff-btn--secondary:hover,.ff-btn--secondary.active{background-color:var(--ff-color-accent);border-color:var(--ff-color-accent);color:var(--ff-color-text-on-brand)}.ff-btn--tertiary{color:var(--ff-color-accent-text)}.ff-btn--tertiary:hover,.ff-btn--tertiary.active{background-color:var(--ff-color-accent);color:var(--ff-color-text-on-brand)}.ff-btn--tertiary[disabled=""]{background-color:rgba(0,0,0,0) !important}.ff-btn--danger{color:var(--ff-color-text-on-brand);background-color:var(--ff-color-danger);border:1px solid var(--ff-color-danger)}.ff-btn--danger:hover{background-color:var(--ff-color-danger-strong);color:var(--ff-color-text-on-brand)}.ff-btn--secondary-danger{color:var(--ff-color-danger-text);background-color:var(--ff-color-bg-app);border:1px solid var(--ff-color-danger-text)}.ff-btn--secondary-danger:hover{background-color:var(--ff-color-danger-strong);color:var(--ff-color-text-on-brand)}.ff-btn--tertiary-danger{color:var(--ff-color-danger-text)}.ff-btn--tertiary-danger:hover{background-color:var(--ff-color-danger-strong);color:var(--ff-color-text-on-brand)}.ff-btn.ff-btn-small .ff-btn--icon,.ff-btn.ff-btn-small .ff-btn--icon svg{width:16px;height:16px}.ff-btn.ff-btn-small .ff-btn--icon-left{margin-right:3px}.ff-btn.ff-btn-small .ff-btn--icon-right{margin-left:3px}.ff-btn.ff-btn-fwidth .ff-btn--icon{position:absolute}.ff-btn.ff-btn-fwidth .ff-btn--icon-left{left:0;padding-left:18px}.ff-btn.ff-btn-fwidth .ff-btn--icon-left{right:0;padding-right:18px}.ff-btn:disabled,.ff-btn[disabled=true]{cursor:not-allowed;border-color:var(--ff-color-border);color:var(--ff-color-text-subtle);background-color:var(--ff-color-bg-emphasis)}@container drawer (max-width: 639px){.ff-btn-icon .ff-btn--icon-left{margin-left:0;margin-right:0}.ff-btn-icon .ff-btn--icon-right{margin-left:0;margin-right:0}}@media(max-width: 639px){.ff-btn-icon .ff-btn--icon-left{margin-left:0;margin-right:0}.ff-btn-icon .ff-btn--icon-right{margin-left:0;margin-right:0}}.ff-kebab-menu{position:relative}.ff-kebab-menu>svg{width:20px;cursor:pointer}.ff-kebab-menu>svg:hover{fill:var(--ff-color-link)}.ff-kebab-menu.active>svg{fill:var(--ff-color-link)}.ff-kebab-options{color:var(--ff-color-text);position:absolute;top:24px;border:1px solid var(--ff-color-border-strong);z-index:1000;padding:0;box-shadow:0px 6px 9px 0px rgba(0,0,0,.22)}.ff-kebab-options li{min-width:150px;white-space:nowrap}.ff-kebab-options li.ff-kebab-item--danger{color:var(--ff-color-danger)}.ff-kebab-options--left{left:0}.ff-kebab-options--right{right:calc(100% - 24px)}.ff-kebab-divider{height:1px;background-color:var(--ff-color-bg-emphasis);list-style:none}li.ff-kebab-item{padding:12px 48px 12px 12px;background-color:var(--ff-color-bg-app)}li.ff-kebab-item:hover{cursor:pointer;background-color:var(--ff-color-bg-emphasis)}li.ff-kebab-item.active{background-color:var(--ff-color-bg-surface-raised)}li.ff-kebab-item.disabled,li.ff-kebab-item :disabled{pointer-events:none}li.ff-kebab-item.disabled label,li.ff-kebab-item :disabled label{opacity:.5}.ff-input.ff-text-input{border:1px solid var(--ff-color-border-strong);border-radius:6px;height:32px;width:100%;display:flex;gap:0px;align-items:center;background-color:var(--ff-color-bg-app);border-color:var(--ff-color-border-strong)}.ff-input.ff-text-input svg{width:20px;height:20px;margin-left:6px}.ff-input.ff-text-input input{flex-grow:1;padding:6px 9px;border-radius:6px;background:none;height:100%;border-width:0;min-width:0}.ff-input.ff-text-input input[disabled]{background-color:var(--ff-color-bg-surface);color:var(--ff-color-text-disabled)}.ff-input.ff-text-input input:focus-visible{border:none;outline:none}.ff-input.ff-text-input:focus-within{border-color:var(--ff-color-link);border-width:2px;outline:none}.ff-input.ff-text-input:focus-within svg{margin-left:5px}.ff-input--error.ff-text-input{border-color:var(--ff-color-danger);border-width:2px;outline:none}.ff-dropdown{position:relative;display:inline-block;cursor:pointer}.ff-dropdown[disabled=true]{cursor:not-allowed;background-color:var(--ff-color-bg-surface);color:var(--ff-color-text-subtle)}.ff-dropdown .ff-dropdown-selected{background-color:var(--ff-color-bg-app);border:1px solid var(--ff-color-border-strong);border-radius:6px;padding:6px 9px;height:32px;width:100%;display:flex;justify-content:space-between;z-index:2}.ff-dropdown .ff-dropdown-selected>.ff-dropdown-selected-item{flex-shrink:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ff-dropdown .ff-dropdown-selected>.ff-dropdown-icon{flex-shrink:0}.ff-dropdown .ff-dropdown-options{position:absolute;top:100%;display:none;max-height:14rem;overflow-y:auto;box-shadow:0px 6px 9px 0px rgba(0,0,0,.22)}.ff-dropdown .ff-dropdown-options .ff-dropdown-option{padding:6px 9px;background-color:var(--ff-color-bg-surface);border-bottom:1px solid var(--ff-color-border);cursor:pointer;transition:ease-in-out .3s}.ff-dropdown .ff-dropdown-options .ff-dropdown-option:hover{background-color:var(--ff-color-bg-surface-raised)}.ff-dropdown .ff-dropdown-options.ff-dropdown-options--full-width{width:100%;border-width:0 1px 1px 1px}.ff-dropdown .ff-dropdown-options.ff-dropdown-options--fit{border-width:1px;min-width:none}.ff-dropdown .ff-dropdown-options.ff-dropdown-options--fit .ff-dropdown-option{padding-right:27px}.ff-dropdown .ff-dropdown-options.ff-dropdown-options--align-left{left:0}.ff-dropdown .ff-dropdown-options.ff-dropdown-options--align-right{right:0}.ff-dropdown.ff-dropdown--open .ff-dropdown-selected{border-bottom-left-radius:0;border-bottom-right-radius:0}.ff-dropdown.ff-dropdown--open .ff-dropdown-options{display:block;z-index:2}.ff-checkbox,.ff-radio-btn{position:relative;padding-left:25px;display:flex;cursor:pointer}.ff-checkbox input[type=checkbox],.ff-checkbox input[type=radio],.ff-radio-btn input[type=checkbox],.ff-radio-btn input[type=radio]{display:none}.ff-checkbox label,.ff-radio-btn label{cursor:pointer;font-weight:500;font-size:.875rem;line-height:1.25rem}.ff-checkbox .checkbox,.ff-radio-btn .checkbox{position:absolute;top:0;left:0;height:16px;width:16px;margin-left:4px;border-radius:4px;background-color:rgba(0,0,0,0);border:1px solid;border-color:var(--ff-color-border-strong)}.ff-checkbox:hover:not([disabled=true]) .checkbox,.ff-radio-btn:hover:not([disabled=true]) .checkbox{background-color:var(--ff-color-bg-emphasis)}.ff-checkbox:hover:not([disabled=true]) .checkbox[checked=true],.ff-radio-btn:hover:not([disabled=true]) .checkbox[checked=true]{background-color:var(--ff-color-accent-strong)}.ff-checkbox[disabled=true],.ff-radio-btn[disabled=true]{cursor:not-allowed}.ff-checkbox[disabled=true] label,.ff-checkbox[disabled=true] p,.ff-radio-btn[disabled=true] label,.ff-radio-btn[disabled=true] p{color:var(--ff-color-text-subtle)}.ff-checkbox[disabled=true] *,.ff-radio-btn[disabled=true] *{pointer-events:none}.ff-checkbox .checkbox[checked=true],.ff-radio-btn .checkbox[checked=true]{background-color:var(--ff-color-checkbox-checked-bg);border-color:var(--ff-color-checkbox-checked-border)}.ff-checkbox .checkbox[checked=true]:after,.ff-radio-btn .checkbox[checked=true]:after{display:block}.ff-checkbox .checkbox:after{content:"";display:none;position:absolute;left:4.5px;top:1px;width:5px;height:10px;border:solid var(--ff-color-checkmark-stroke);border-width:0 2px 2px 0;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.ff-toggle-switch{--ff-toggle-width: 54px;--ff-toggle-translate: 20px;position:relative;display:inline-block;width:var(--ff-toggle-width);height:34px;cursor:pointer}.ff-toggle-switch input{display:none}.ff-toggle-switch.checked .ff-toggle-switch-slider{background-color:var(--ff-color-toggle-track-on)}.ff-toggle-switch.checked .ff-toggle-switch-slider .ff-toggle-switch-button{-webkit-transform:translateX(var(--ff-toggle-translate));-ms-transform:translateX(var(--ff-toggle-translate));transform:translateX(var(--ff-toggle-translate))}.ff-toggle-switch[disabled=true]{cursor:not-allowed}.ff-toggle-switch[disabled=true] .ff-toggle-switch-slider{pointer-events:none;background-color:var(--ff-color-bg-emphasis)}.ff-toggle-switch[disabled=true] .ff-toggle-switch-button{background-color:var(--ff-color-bg-surface)}.ff-toggle-switch[disabled=true] svg{color:var(--ff-color-text-disabled)}.ff-toggle-switch.ff-toggle-switch--small{--ff-toggle-width: 30px;--ff-toggle-translate: 12px;height:18px}.ff-toggle-switch.ff-toggle-switch--small .ff-toggle-switch-button{height:14px;width:14px;left:2px;bottom:2px}.ff-toggle-switch-slider{position:absolute;top:0;left:0;right:0;bottom:0;background-color:var(--ff-color-progress-track-neutral);border-radius:34px;-webkit-transition:.4s;transition:.4s}.ff-toggle-switch-slider svg{padding:3px;width:100%;height:100%}.ff-toggle-switch-slider:hover{background-color:var(--ff-color-accent-hover-bg) !important}.ff-toggle-switch-button{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:var(--ff-color-bg-app);border-radius:50%;-webkit-transition:.4s;transition:.4s}.ff-radio-group .ff-radio-group-label{display:block}.ff-radio-group .ff-radio-group-options{display:block;margin-top:1rem}.ff-radio-group .ff-radio-group--horizontal{display:flex}.ff-radio-group .ff-radio-group--horizontal .ff-radio-btn{margin-right:1.5rem}.ff-radio-group .ff-radio-group--vertical .ff-radio-btn{display:block;margin-bottom:1rem}.ff-radio-group .ff-radio-group--grid{display:grid}.ff-radio-group .ff-radio-group--grid .ff-radio-btn{display:block;margin-bottom:1rem}.ff-radio-btn .checkbox{position:absolute;top:0;left:0;height:16px;width:16px;border-radius:4px;background-color:rgba(0,0,0,0);border:1px solid var(--ff-color-border-strong);background-image:url("data:image/svg+xml,%3csvg viewBox=%270 0 16 16%27 fill=%27white%27 xmlns=%27http://www.w3.org/2000/svg%27%3e%3ccircle cx=%278%27 cy=%278%27 r=%273%27/%3e%3c/svg%3e")}.ff-tile-selection{display:flex;flex-wrap:wrap;gap:9px}.ff-tile-selection .ff-tile-selection-option{--ff-tile-selection-color: var(--ff-color-link-hover);display:flex;flex-direction:column;background-color:var(--ff-color-bg-app);font-size:.875rem;border:2px solid var(--ff-color-border-strong);border-radius:6px;padding:12px 18px;width:275px}.ff-tile-selection .ff-tile-selection-option ul{list-style:disc;margin-top:3px;padding-left:18px}.ff-tile-selection .ff-tile-selection-option ul li{line-height:1.5rem}.ff-tile-selection .ff-tile-selection-option:last-child{margin-right:0}.ff-tile-selection .ff-tile-selection-option--header{display:flex;justify-content:space-between;align-items:center}.ff-tile-selection .ff-tile-selection-option--header h2{font-size:14px}.ff-tile-selection .ff-tile-selection-option--header>h2{display:flex;align-items:center;gap:9px;padding-right:27px;margin:0}.ff-tile-selection .ff-tile-selection-option--header>h2 svg{width:20px;height:20px;fill:var(--ff-color-text-subtle)}.ff-tile-selection .ff-tile-selection-option--header>h2 svg.ff-tile-selection-option--edit{cursor:pointer;fill:var(--ff-color-link-hover)}.ff-tile-selection .ff-tile-selection-option--header>h2 svg.ff-tile-selection-option--edit:hover{fill:var(--ff-color-accent)}.ff-tile-selection .ff-tile-selection-option--price{text-align:center}.ff-tile-selection .ff-tile-selection-option--price h2{margin:0;line-height:1rem}.ff-tile-selection .ff-tile-selection-option--price label{font-size:.85rem}.ff-tile-selection .ff-tile-selection-option--description{flex-grow:1;margin-top:6px;padding-top:6px;border-top:1px solid var(--ff-color-border-strong)}.ff-tile-selection .ff-tile-selection-option--meta{margin-top:9px;padding-top:9px;border-top:1px solid var(--ff-color-border-strong)}.ff-tile-selection .ff-tile-selection-option--meta>div{display:flex;justify-content:space-between;width:100%;margin-bottom:6px}.ff-tile-selection .ff-tile-selection-option--meta>div:last-child{margin-bottom:0}.ff-tile-selection .ff-tile-selection-option:not(.editable):not(.disabled):hover{cursor:pointer;border:2px solid var(--ff-tile-selection-color)}.ff-tile-selection .ff-tile-selection-option.active{border:2px solid var(--ff-tile-selection-color)}.ff-tile-selection .ff-tile-selection-option.active .ff-tile-selection-option--header svg{fill:var(--ff-tile-selection-color)}.ff-tile-selection .ff-tile-selection-option.disabled{opacity:.5}.ff-data-table{width:100%;font-size:.875rem;line-height:1.25rem}.ff-data-table--options{margin-bottom:6px;display:flex;gap:6px;justify-content:flex-end}.ff-data-table--search.ff-text-input{flex-grow:1;width:auto;height:34px;border-radius:6px;background-color:var(--ff-color-table-search-bg)}.ff-data-table--actions{display:flex;gap:6px}.ff-data-table--data{border-collapse:separate;border-spacing:0;width:100%}.ff-data-table--data .ff-data-table--cell .ff-icon{margin:-1px 0}.ff-data-table--data .ff-data-table--cell .ff-icon-lg{margin:-3px 0}.ff-data-table--data .ff-data-table--cell .ff-btn .ff-icon,.ff-data-table--data .ff-data-table--cell .ff-btn .ff-icon-lg{margin:0}.ff-data-table--data .ff-data-table--cell:first-child{padding-left:16px}.ff-data-table--data .ff-data-table--cell:last-child{padding-right:16px}.ff-data-table--data thead{background:var(--ff-color-bg-app)}.ff-data-table--data thead .ff-data-table--row .ff-data-table--cell:first-child{border-top-left-radius:6px}.ff-data-table--data thead .ff-data-table--row .ff-data-table--cell:last-child{border-top-right-radius:6px}.ff-data-table--data thead .ff-data-table--cell{padding:9px 12px;background-color:var(--ff-color-table-header-bg);font-weight:600;transition:.3s background-color,.3s color;-webkit-transition:.3s background-color,.3s color}.ff-data-table--data thead .ff-data-table--cell.sortable>div{display:flex;justify-content:space-between;gap:9px}.ff-data-table--data thead .ff-data-table--cell.sortable .ff-icon{opacity:.2}.ff-data-table--data thead .ff-data-table--cell.sortable:hover{background-color:var(--ff-color-table-header-bg-hover);cursor:pointer}.ff-data-table--data thead .ff-data-table--cell.sortable:hover .ff-icon{opacity:.5}.ff-data-table--data thead .ff-data-table--cell.sorted{background-color:var(--ff-color-table-header-bg-hover)}.ff-data-table--data thead .ff-data-table--cell.sorted .ff-icon.icon-sorted{opacity:1}.ff-data-table--data tbody .ff-data-table--row.collapsible td{border-top:none;border-bottom:none;padding:0}.ff-data-table--data tbody .ff-data-table--row:last-of-type td{border-bottom:1px solid var(--ff-color-border-strong)}.ff-data-table--data tbody .ff-data-table--row:last-child .ff-data-table--cell{border-bottom-width:1px;border-top-color:var(--ff-color-border)}.ff-data-table--data tbody .ff-data-table--row:last-child .ff-data-table--cell:first-child{border-bottom-left-radius:6px}.ff-data-table--data tbody .ff-data-table--row:last-child .ff-data-table--cell:last-child{border-bottom-right-radius:6px}.ff-data-table--data tbody .ff-data-table--cell{padding:12px 12px;background-color:var(--ff-color-table-row-bg)}.ff-data-table--data tbody .ff-data-table--cell.highlight{background-color:var(--ff-color-table-row-highlight-bg)}.ff-data-table--data tbody .ff-data-table--cell.status-message{text-align:center;color:var(--ff-color-text-subtle)}.ff-data-table--data tbody .selectable:hover .ff-data-table--cell,.ff-data-table--data tbody .selectable:hover .ff-data-table--cell span svg.ff-icon{cursor:pointer;color:var(--ff-color-link);background-color:var(--ff-color-table-row-bg-hover)}.ff-data-table--data tbody .selectable:hover .ff-data-table--cell button svg.ff-icon{background-color:rgba(0,0,0,0);color:inherit}.ff-data-table--row td{border-width:1px 0px 0px;border-style:solid;border-color:var(--ff-color-border-strong)}.ff-data-table--row td:first-child{border-left-width:1px}.ff-data-table--row td:last-child{border-right-width:1px}.ff-data-table--row-actions{display:flex;gap:12px;justify-content:flex-end}.ff-data-table:has(.ff-pagination) .ff-data-table--data tbody .ff-data-table--row:last-child .ff-data-table--cell:first-child{border-bottom-left-radius:0}.ff-data-table:has(.ff-pagination) .ff-data-table--data tbody .ff-data-table--row:last-child .ff-data-table--cell:last-child{border-bottom-right-radius:0}.ff-data-table thead .ff-checkbox,.ff-data-table tbody .ff-checkbox,.ff-data-table tbody .ff-radio-btn{display:inline}.ff-loadmore{width:100%;text-align:center}.ff-loadmore span{display:inline-block;margin:auto;color:var(--ff-color-link);background-color:var(--ff-color-bg-app);padding:3px 9px 4px;border:1px solid var(--ff-color-border-strong);border-top:0;border-radius:0 0 6px 6px}.ff-loadmore span:hover{cursor:pointer;color:var(--ff-color-link-hover)}.ff-pagination{display:flex;align-items:center;gap:9px;flex-wrap:wrap;padding:6px 9px;border:1px solid var(--ff-color-border-strong);border-top:0;border-radius:0 0 6px 6px;background-color:var(--ff-color-bg-app);font-size:14px;color:var(--ff-color-text-muted)}.ff-pagination--page-size{display:flex;align-items:center;gap:6px}.ff-pagination--page-size label{white-space:nowrap}.ff-pagination .ff-listbox .ff-button{min-height:28px;padding:2px 8px}.ff-pagination--summary{margin-left:auto}.ff-pagination--pages{display:flex;align-items:center;gap:2px}.ff-pagination--pages .ff-btn{min-width:28px}.ff-pagination--ellipsis{display:inline-flex;align-items:center;justify-content:center;min-width:20px;color:var(--ff-color-text-subtle)}.ff-dialog-container{position:fixed;z-index:110;top:0;left:0;width:100%;height:100%;justify-content:center;align-items:flex-start;overflow-y:hidden;background-color:var(--ff-color-overlay-backdrop)}.ff-dialog-container--open{display:flex}.ff-dialog-container--closed{display:none}.ff-dialog-box{position:relative;z-index:2;width:100%;max-width:42rem;margin:90px auto;display:flex;flex-direction:column;background-color:var(--ff-color-bg-app);max-height:85vh;overflow:auto}.ff-dialog-box .ff-dialog-header{height:48px;line-height:48px;background-color:var(--ff-color-surface-dark);border-bottom:2px solid var(--ff-color-status-error-border);padding:0 18px;color:var(--ff-color-text-on-brand);font-weight:600;display:flex;justify-content:space-between;gap:12px}.ff-dialog-box .ff-dialog-header--light{height:auto;line-height:normal;background-color:var(--ff-color-bg-app);border-bottom:1px solid var(--ff-color-border);color:var(--ff-color-text);padding:9px 18px;align-items:center}.ff-dialog-box .ff-dialog-subheader{opacity:.65;display:block}.ff-dialog-box .ff-dialog-content{padding:1.5rem;overflow:auto;max-height:75vh}.ff-dialog-box .ff-dialog-actions{display:flex;justify-content:flex-end;padding:9px 18px 18px 18px}.ff-dialog-box .ff-dialog-actions .ff-btn{margin-left:1rem}.ff-dialog-box--wide{max-width:52rem}.ff-help-tooltip:hover path{fill:var(--ff-color-link-hover)}.ff-notification-pill{background-color:var(--ff-color-danger-strong);color:var(--ff-color-text-on-brand);padding:3px 9px;font-weight:600;border-radius:6px;font-size:.85rem}.ff-notification-toast{position:relative;background-color:var(--ff-color-bg-app);border:1px solid var(--ff-color-border-strong);padding:9px 9px 9px 18px;box-shadow:-6px 6px 6px rgba(0,0,0,.55);border-radius:0 6px 6px 0;max-width:475px}.ff-notification-toast--bar{height:100%;width:9px;background-color:var(--ff-color-surface-dark);display:block;position:absolute;top:0;left:0}.ff-notification-toast--info{border-color:var(--ff-color-border-strong)}.ff-notification-toast--info .ff-notification-toast--bar{background-color:var(--ff-color-progress-track-neutral)}.ff-notification-toast--warning{border-color:var(--ff-color-status-error-border)}.ff-notification-toast--warning .ff-notification-toast--bar{background-color:var(--ff-color-status-error-border)}.ff-notification-toast--confirmation{border-color:var(--ff-color-status-success-border)}.ff-notification-toast--confirmation .ff-notification-toast--bar{background-color:var(--ff-color-status-success-border)}.ff-notification-toast--message{display:grid;grid-template-columns:1fr 20px;gap:18px}.ff-notification-toast--message>div{padding-top:2px}.ff-notification-toast--close{cursor:pointer;position:relative;display:flex;max-height:20px}.ff-notification-toast--close svg{position:relative;z-index:2;padding:4px}.ff-notification-toast--close .countdown-wrapper{z-index:1}.ff-notification-toast--close:hover{color:var(--ff-color-accent)}.ff-notification-toast--actions{margin-top:9px;display:flex;justify-content:flex-end}.countdown-wrapper{width:20px;height:20px;position:absolute;top:0;left:0;background:var(--ff-color-bg-app)}.countdown-pie{width:50%;height:100%;position:absolute;background:var(--ff-color-bg-app);border:2px solid var(--ff-color-border-strong)}.countdown-spinner{transform-origin:100% 50%;border-radius:10px 0 0 10px;z-index:200;border-right:none}.countdown-filler{border-radius:0 10px 10px 0;z-index:100;border-left:none;left:50%;opacity:0}.countdown-mask{width:50%;height:100%;position:absolute;z-index:300;opacity:1;background:inherit}@keyframes rota{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes fill{0%{opacity:0}50%,100%{opacity:1}}@keyframes mask{0%{opacity:1}50%,100%{opacity:0}}.ff-tabs{display:flex;color:var(--ff-color-text)}.ff-tabs .ff-tab-option{display:flex;align-items:center;gap:6px;padding:9px}.ff-tabs .ff-tab-option:hover{color:var(--ff-color-link-hover);cursor:pointer}.ff-tabs .ff-tab-option .ff-tab-icon{height:14px;width:14px;flex-shrink:0;display:block}.ff-tabs .ff-tab-option .ff-tab-label{white-space:nowrap}.ff-tabs.ff-tabs--horizontal{flex-direction:row}.ff-tabs.ff-tabs--horizontal .ff-tab-option{margin-right:9px;margin-bottom:3px}.ff-tabs.ff-tabs--horizontal .ff-tab-option.router-link-active,.ff-tabs.ff-tabs--horizontal .ff-tab-option.ff-tab-option--active{border-bottom:3px solid var(--ff-color-tab-active);margin-bottom:0}.ff-tabs.ff-tabs--vertical{flex-direction:column}.ff-tabs.ff-tabs--vertical .ff-tab-option{border-left-width:3px;border-color:rgba(0,0,0,0);margin-bottom:9px}.ff-tabs.ff-tabs--vertical .ff-tab-option.router-link-active,.ff-tabs.ff-tabs--vertical .ff-tab-option.ff-tab-option--active{border-left:3px solid var(--ff-color-tab-active)}.ff-tabs .router-link-active,.ff-tabs .ff-tab-option--active{color:var(--ff-color-link)}.ff-tabs-wrapper{position:relative;display:flex;align-items:center}.ff-tabs-wrapper:not(.ff-tabs-wrapper--overflow-enabled) .ff-tab-label{overflow:hidden;text-overflow:ellipsis;min-width:0}.ff-tabs-wrapper.ff-tabs-wrapper--overflow-enabled .ff-tab-option{flex-shrink:0}.ff-tabs-wrapper.ff-tabs-wrapper--overflow-enabled .ff-tabs__scroll-container{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none}.ff-tabs-wrapper.ff-tabs-wrapper--overflow-enabled .ff-tabs__scroll-container::-webkit-scrollbar{display:none}.ff-tabs-wrapper .ff-tabs__scroll-container{flex:1;min-width:0}.ff-tabs-wrapper .ff-tabs__overflow-button{position:absolute;top:0;bottom:0;display:flex;align-items:center;justify-content:center;padding:6px;background:var(--ff-color-bg-app);border:none;border-right:1px solid var(--ff-color-border-strong);color:var(--ff-color-text-subtle);cursor:pointer;z-index:10;transition:all .2s ease}.ff-tabs-wrapper .ff-tabs__overflow-button .ff-icon{width:16px;height:16px}.ff-tabs-wrapper .ff-tabs__overflow-button .ff-icon.ff-icon-second{margin-left:-10px}.ff-tabs-wrapper .ff-tabs__overflow-button:hover{background:var(--ff-color-bg-surface-raised);color:var(--ff-color-text-muted);border-color:var(--ff-color-border-strong)}.ff-tabs-wrapper .ff-tabs__overflow-button:active{background:var(--ff-color-bg-emphasis)}.ff-tabs-wrapper .ff-tabs__overflow-button--left{left:0;border-right:1px solid var(--ff-color-border-strong);border-left:none}.ff-tabs-wrapper .ff-tabs__overflow-button--right{right:0;border-left:1px solid var(--ff-color-border-strong);border-right:none}.ff-tabs-wrapper .ff-tabs__menu-wrapper{position:relative;display:inline-block}.ff-tabs-wrapper .ff-tabs__menu-wrapper--left{position:absolute;left:0;top:0;bottom:0}.ff-tabs-wrapper .ff-tabs__menu-wrapper--right{position:absolute;right:0;top:0;bottom:0}.ff-tabs-wrapper .ff-tabs__dropdown{position:absolute;top:calc(100% + 4px);background:var(--ff-color-bg-app);border:1px solid var(--ff-color-border-strong);border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:100;min-width:150px;max-width:250px}.ff-tabs-wrapper .ff-tabs__dropdown--left{left:0}.ff-tabs-wrapper .ff-tabs__dropdown--right{right:0}.ff-tabs-wrapper .ff-tabs__dropdown-item{display:flex;align-items:center;gap:6px;padding:6px 9px;color:var(--ff-color-text);transition:background-color .2s ease}.ff-tabs-wrapper .ff-tabs__dropdown-item .ff-tab-icon{height:14px;width:14px;flex-shrink:0;display:block}.ff-tabs-wrapper .ff-tabs__dropdown-item .ff-tab-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.ff-tabs-wrapper .ff-tabs__dropdown-item:hover{background:var(--ff-color-bg-surface-raised);color:var(--ff-color-link-hover);cursor:pointer}.ff-tabs-wrapper .ff-tabs__dropdown-item--active{background:var(--ff-color-bg-surface-raised);color:var(--ff-color-link-hover);cursor:pointer}.ff-tabs-wrapper .ff-tabs__dropdown-item.router-link-active{color:var(--ff-color-link);background:var(--ff-color-status-info-surface)}.ff-tabs-wrapper .ff-tabs__dropdown-item:first-child{border-radius:4px 4px 0 0}.ff-tabs-wrapper .ff-tabs__dropdown-item:last-child{border-radius:0 0 4px 4px}.ff-tabs-wrapper .ff-tabs__dropdown-item:only-child{border-radius:4px}.ff-tooltip{position:absolute;z-index:100;font-weight:normal;white-space:preserve-breaks;height:fit-content;background-color:var(--ff-color-surface-dark);color:var(--ff-color-text-on-brand);padding:3px 12px;border-radius:3px;opacity:0;pointer-events:none;transition:.3s opacity;-webkit-transition:.3s opacity}.ff-tooltip.ff-tooltip-right::after{content:" ";position:absolute;top:50%;right:100%;margin-top:-5px;border-width:5px;border-style:solid;border-color:rgba(0,0,0,0) var(--ff-color-tooltip-arrow) rgba(0,0,0,0) rgba(0,0,0,0)}.ff-tooltip.ff-tooltip-left::after{content:" ";position:absolute;top:50%;left:100%;margin-top:-5px;border-width:5px;border-style:solid;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0) var(--ff-color-tooltip-arrow)}.ff-tooltip.ff-tooltip-top{transform:translateX(-50%)}.ff-tooltip.ff-tooltip-top::after{content:" ";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:var(--ff-color-tooltip-arrow) rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,0)}.ff-tooltip.ff-tooltip-bottom{transform:translateX(-50%)}.ff-tooltip.ff-tooltip-bottom::after{content:" ";position:absolute;bottom:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:rgba(0,0,0,0) rgba(0,0,0,0) var(--ff-color-tooltip-arrow) rgba(0,0,0,0)}.ff-tooltip--visible{opacity:1}.ff-tooltip-container{position:relative;vertical-align:bottom}.ff-tooltip-container:hover .ff-tooltip{opacity:1}.ff-spinner{display:inline-block;width:20px;height:20px;color:var(--ff-color-text-subtle)}.ff-spinner circle{stroke:rgba(0,0,0,0)}.ff-spinner{animation:spin 1s ease-in-out infinite;-webkit-animation:spin 1s ease-in-out infinite}@keyframes spin{to{-webkit-transform:rotate(360deg)}}@-webkit-keyframes spin{to{-webkit-transform:rotate(360deg)}}:root{--ff-palette-black: black;--ff-palette-white: white;--ff-palette-grey-50: #F9FAFB;--ff-palette-grey-100: #F3F4F6;--ff-palette-grey-200: #E5E7EB;--ff-palette-grey-300: #D1D5DB;--ff-palette-grey-400: #9CA3AF;--ff-palette-grey-500: #6B7280;--ff-palette-grey-600: #4B5563;--ff-palette-grey-700: #374151;--ff-palette-grey-800: #1F2937;--ff-palette-grey-900: #111827;--ff-palette-red-50: #FFEBEB;--ff-palette-red-100: #FFC6C6;--ff-palette-red-200: #FF8D8D;--ff-palette-red-300: #F16F6F;--ff-palette-red-400: #ED4E4E;--ff-palette-red-500: #D12B2B;--ff-palette-red-500B: #D82525;--ff-palette-red-600: #BC3838;--ff-palette-red-700: #AB1818;--ff-palette-red-800: #8F0001;--ff-palette-red-900: #760000;--ff-palette-teal-50: #E4FBFC;--ff-palette-teal-100: #C4F3F5;--ff-palette-teal-200: #B2EBEE;--ff-palette-teal-300: #8CE2E7;--ff-palette-teal-400: #74D4D9;--ff-palette-teal-500: #50C3C9;--ff-palette-teal-600: #35AAB0;--ff-palette-teal-700: #31959A;--ff-palette-teal-800: #397B7E;--ff-palette-teal-900: #406466;--ff-palette-blue-50: #EFF6FF;--ff-palette-blue-100: #DBEAFE;--ff-palette-blue-200: #BFDBFE;--ff-palette-blue-300: #93C5FD;--ff-palette-blue-400: #60A5FA;--ff-palette-blue-500: #3B82F6;--ff-palette-blue-600: #2563EB;--ff-palette-blue-700: #1D4ED8;--ff-palette-blue-800: #1E40AF;--ff-palette-blue-900: #1E3A8A;--ff-palette-indigo-50: #EEF2FF;--ff-palette-indigo-100: #E0E7FF;--ff-palette-indigo-200: #C7D2FE;--ff-palette-indigo-300: #A5B4FC;--ff-palette-indigo-400: #818CF8;--ff-palette-indigo-500: #6366F1;--ff-palette-indigo-600: #4F46E5;--ff-palette-indigo-700: #4338CA;--ff-palette-indigo-800: #3730A3;--ff-palette-indigo-900: #312E81;--ff-palette-green-50: #ECFDF5;--ff-palette-green-100: #D1FAE5;--ff-palette-green-200: #A7F3D0;--ff-palette-green-300: #6EE7B7;--ff-palette-green-400: #34D399;--ff-palette-green-500: #10B981;--ff-palette-green-600: #059669;--ff-palette-green-700: #047857;--ff-palette-green-800: #065F46;--ff-palette-green-900: #064E3B;--ff-palette-yellow-10: #FFFCF5;--ff-palette-yellow-50: #FFFBEB;--ff-palette-yellow-100: #FEF3C7;--ff-palette-yellow-200: #FDE68A;--ff-palette-yellow-300: #FCD34D;--ff-palette-yellow-400: #FBBF24;--ff-palette-yellow-500: #F59E0B;--ff-palette-yellow-600: #D97706;--ff-palette-yellow-700: #B45309;--ff-palette-yellow-800: #92400E;--ff-palette-yellow-900: #78350F;--ff-palette-purple-50: #FAF5FF;--ff-palette-purple-100: #F3E8FF;--ff-palette-purple-200: #E9D5FF;--ff-palette-purple-300: #D8B4FE;--ff-palette-purple-400: #C084FC;--ff-palette-purple-500: #A855F7;--ff-palette-purple-600: #9333EA;--ff-palette-purple-700: #7E22CE;--ff-palette-purple-800: #6B21A8;--ff-palette-purple-900: #581C87;--ff-palette-bevel-top: #363636;--ff-palette-bevel-bottom: #202020;--ff-palette-git-orange: #e46133;--ff-palette-slate-1-dark: #15161a;--ff-palette-slate-3-dark: #24262b;--ff-palette-slate-4-dark: #2b2d32;--ff-palette-slate-6-dark: #363a3f;--ff-palette-slate-7-dark: #43484e;--ff-palette-slate-8-dark: #5a6169;--ff-palette-slate-10-dark: #777b84;--ff-palette-slate-10-strong-dark: #8a8d94;--ff-palette-slate-11-soft-dark: #9da1a8;--ff-palette-slate-11-dark: #b0b4ba;--ff-palette-slate-12-dark: #edeef0;--ff-palette-indigo-3-dark: #182449;--ff-palette-indigo-6-dark: #304384;--ff-palette-indigo-7-dark: #3a4f97;--ff-palette-indigo-8-dark: #435db1;--ff-palette-indigo-9-dark: #3e63dd;--ff-palette-indigo-9-strong-dark: #4b6ce1;--ff-palette-indigo-10-dark: #5472e4;--ff-palette-indigo-11-soft-dark: #7a92f0;--ff-palette-indigo-11-dark: #9eb1ff;--ff-palette-red-9-dark: #e5484d;--ff-palette-red-10-dark: #ec5d5e;--ff-palette-red-11-dark: #f06f6f;--ff-palette-blue-11-dark: #70b8ff;--ff-palette-blue-12-dark: #c2e6ff;--ff-palette-amber-11-dark: #ffb224;--ff-palette-green-9-dark: #4cc38a}:root,[data-theme=light]{color-scheme:light;--ff-color-bg-app: var(--ff-palette-white);--ff-color-bg-surface: var(--ff-palette-grey-50);--ff-color-bg-surface-raised: var(--ff-palette-grey-100);--ff-color-bg-emphasis: var(--ff-palette-grey-200);--ff-color-table-header-bg: var(--ff-color-bg-surface-raised);--ff-color-table-header-bg-hover: var(--ff-color-bg-emphasis);--ff-color-table-row-bg: var(--ff-color-bg-app);--ff-color-table-row-bg-hover: var(--ff-color-bg-surface);--ff-color-table-row-highlight-bg: var(--ff-color-bg-surface);--ff-color-table-search-bg: var(--ff-color-bg-app);--ff-color-text: var(--ff-palette-grey-800);--ff-color-text-muted: var(--ff-palette-grey-700);--ff-color-text-subtle: var(--ff-palette-grey-500);--ff-color-text-disabled: var(--ff-palette-grey-400);--ff-color-text-strong: var(--ff-palette-grey-900);--ff-color-text-deep: var(--ff-palette-grey-600);--ff-color-text-on-brand: var(--ff-palette-white);--ff-color-border-subtle: var(--ff-palette-grey-100);--ff-color-border: var(--ff-palette-grey-200);--ff-color-border-strong: var(--ff-palette-grey-300);--ff-color-border-accent: var(--ff-palette-indigo-800);--ff-color-accent-surface: var(--ff-palette-indigo-50);--ff-color-accent-light: var(--ff-palette-indigo-300);--ff-color-accent: var(--ff-palette-indigo-600);--ff-color-accent-hover: var(--ff-palette-indigo-700);--ff-color-accent-hover-bg: var(--ff-palette-indigo-700);--ff-color-accent-strong: var(--ff-palette-indigo-800);--ff-color-accent-text: var(--ff-palette-indigo-800);--ff-color-focus: var(--ff-palette-indigo-500);--ff-color-danger: var(--ff-palette-red-500);--ff-color-danger-text: var(--ff-palette-red-500);--ff-color-danger-strong: var(--ff-palette-red-600);--ff-color-danger-darker: var(--ff-palette-red-700);--ff-color-success: var(--ff-palette-green-500);--ff-color-link: var(--ff-palette-blue-700);--ff-color-link-hover: var(--ff-palette-blue-900);--ff-color-overlay-backdrop: rgba(31, 41, 55, 0.3);--ff-color-overlay-faint: rgba(107, 114, 128, 0.2);--ff-color-overlay-on-accent: rgba(255, 255, 255, 0.3);--ff-color-overlay-loading: rgba(255, 255, 255, 0.5);--ff-color-status-error-bg: var(--ff-palette-red-100);--ff-color-status-error-border: var(--ff-palette-red-400);--ff-color-status-error-text: var(--ff-palette-red-700);--ff-color-status-error-dot: var(--ff-palette-red-600);--ff-color-status-success-bg: var(--ff-palette-green-200);--ff-color-status-success-border: var(--ff-palette-green-400);--ff-color-status-success-text: var(--ff-palette-green-700);--ff-color-status-success-dot: var(--ff-palette-green-400);--ff-color-status-progress-bg: var(--ff-palette-green-100);--ff-color-status-progress-border: var(--ff-palette-green-300);--ff-color-status-safe-bg: var(--ff-palette-yellow-200);--ff-color-status-safe-border: var(--ff-palette-yellow-400);--ff-color-status-safe-text: var(--ff-palette-yellow-600);--ff-color-status-warning-bg: var(--ff-palette-yellow-400);--ff-color-status-warning-border: var(--ff-palette-yellow-700);--ff-color-status-warning-text: var(--ff-palette-yellow-900);--ff-color-status-neutral-bg: var(--ff-palette-white);--ff-color-status-neutral-border: var(--ff-palette-grey-300);--ff-color-status-neutral-text: var(--ff-palette-grey-600);--ff-color-status-neutral-dot: var(--ff-palette-grey-300);--ff-color-status-info-bg: var(--ff-palette-grey-100);--ff-color-status-info-border: var(--ff-palette-grey-300);--ff-color-status-info-text: var(--ff-palette-grey-700);--ff-color-status-devmode-bg: var(--ff-palette-purple-100);--ff-color-status-devmode-border: var(--ff-palette-purple-600);--ff-color-status-devmode-text: var(--ff-palette-purple-700);--ff-color-status-info-surface: var(--ff-palette-blue-100);--ff-color-status-info-surface-border: var(--ff-palette-blue-300);--ff-color-status-fleetmode-bg: var(--ff-palette-teal-100);--ff-color-status-fleetmode-border: var(--ff-palette-teal-600);--ff-color-status-fleetmode-text: var(--ff-palette-teal-700);--ff-color-surface-dark: var(--ff-palette-grey-800);--ff-color-surface-dark-text: var(--ff-palette-grey-300);--ff-color-code-surface: var(--ff-palette-grey-800);--ff-color-code-text: var(--ff-palette-grey-200);--ff-color-log-system: var(--ff-palette-blue-400);--ff-color-log-info: var(--ff-palette-grey-200);--ff-color-log-warn: var(--ff-palette-yellow-300);--ff-color-log-error: var(--ff-palette-red-300);--ff-color-nav-divider: var(--ff-palette-grey-600);--ff-color-nav-divider-strong: var(--ff-palette-grey-900);--ff-color-nav-item-hover: var(--ff-palette-grey-700);--ff-color-nav-item-active: var(--ff-palette-grey-600);--ff-color-nav-item-active-text: var(--ff-palette-teal-300);--ff-color-nav-item-border: var(--ff-palette-grey-800);--ff-color-icon-git: var(--ff-palette-git-orange);--ff-color-icon-flow-bg: var(--ff-palette-grey-500);--ff-color-icon-flow-fg: var(--ff-palette-white);--ff-color-banner-accent: var(--ff-palette-red-500);--ff-color-banner-warning-accent: var(--ff-palette-red-800);--ff-color-pill-ring: var(--ff-palette-red-700);--ff-color-tab-active: var(--ff-palette-blue-700);--ff-color-timeline-marker-border: var(--ff-palette-blue-800);--ff-color-timeline-marker-bg: var(--ff-palette-white);--ff-color-toggle-group-active-border: var(--ff-palette-blue-800);--ff-color-chip-default-bg: var(--ff-palette-indigo-300);--ff-color-expert-drawer-bg: var(--ff-palette-indigo-900);--ff-color-blueprint-tile-bg: var(--ff-palette-teal-100);--ff-color-diff-highlight-bg: var(--ff-palette-blue-300);--ff-color-splash-brand-bg: var(--ff-palette-teal-600);--ff-color-splash-brand-bg-hover: var(--ff-palette-teal-700);--ff-color-progress-track: var(--ff-palette-indigo-200);--ff-color-progress-fill: var(--ff-palette-indigo-400);--ff-color-progress-track-neutral: var(--ff-palette-grey-400);--ff-color-tile-ribbon-shadow-red: var(--ff-palette-red-900);--ff-color-tile-ribbon-shadow-indigo: var(--ff-palette-indigo-900);--ff-color-tile-bevel-top: var(--ff-palette-bevel-top);--ff-color-tile-bevel-bottom: var(--ff-palette-bevel-bottom);--ff-color-checkmark-stroke: var(--ff-palette-white);--ff-color-checkbox-checked-bg: var(--ff-color-accent);--ff-color-checkbox-checked-border: var(--ff-color-accent);--ff-color-toggle-track-on: var(--ff-palette-blue-900)}[data-theme=dark]{color-scheme:dark;--ff-color-bg-app: var(--ff-palette-slate-1-dark);--ff-color-bg-surface: var(--ff-palette-slate-1-dark);--ff-color-bg-surface-raised: var(--ff-palette-slate-3-dark);--ff-color-bg-emphasis: var(--ff-palette-slate-4-dark);--ff-color-table-header-bg: var(--ff-color-bg-surface-raised);--ff-color-table-header-bg-hover: var(--ff-color-bg-emphasis);--ff-color-table-row-bg: var(--ff-color-bg-app);--ff-color-table-row-bg-hover: var(--ff-color-bg-surface);--ff-color-table-row-highlight-bg: var(--ff-color-bg-surface);--ff-color-table-search-bg: var(--ff-color-bg-app);--ff-color-text: var(--ff-palette-slate-11-dark);--ff-color-text-muted: var(--ff-palette-slate-11-soft-dark);--ff-color-text-subtle: var(--ff-palette-slate-10-dark);--ff-color-text-disabled: var(--ff-palette-slate-8-dark);--ff-color-text-strong: var(--ff-palette-slate-12-dark);--ff-color-text-deep: var(--ff-palette-slate-10-strong-dark);--ff-color-text-on-brand: var(--ff-palette-slate-12-dark);--ff-color-border-subtle: var(--ff-palette-slate-4-dark);--ff-color-border: var(--ff-palette-slate-6-dark);--ff-color-border-strong: var(--ff-palette-slate-7-dark);--ff-color-border-accent: var(--ff-palette-indigo-8-dark);--ff-color-accent-surface: var(--ff-palette-indigo-3-dark);--ff-color-accent-light: var(--ff-palette-indigo-7-dark);--ff-color-accent: var(--ff-palette-indigo-8-dark);--ff-color-accent-hover: var(--ff-palette-indigo-11-dark);--ff-color-accent-hover-bg: var(--ff-palette-indigo-8-dark);--ff-color-accent-strong: var(--ff-palette-indigo-7-dark);--ff-color-accent-text: var(--ff-palette-indigo-11-soft-dark);--ff-color-focus: var(--ff-palette-indigo-8-dark);--ff-color-danger: var(--ff-palette-red-9-dark);--ff-color-danger-text: var(--ff-palette-red-11-dark);--ff-color-danger-strong: var(--ff-palette-red-10-dark);--ff-color-danger-darker: var(--ff-palette-red-10-dark);--ff-color-success: var(--ff-palette-green-9-dark);--ff-color-link: var(--ff-palette-blue-11-dark);--ff-color-link-hover: var(--ff-palette-blue-12-dark);--ff-color-overlay-backdrop: rgba(0, 0, 0, 0.6);--ff-color-overlay-faint: rgba(255, 255, 255, 0.06);--ff-color-overlay-on-accent: rgba(255, 255, 255, 0.3);--ff-color-overlay-loading: rgba(17, 17, 19, 0.5);--ff-color-progress-track: var(--ff-palette-slate-4-dark);--ff-color-progress-fill: var(--ff-palette-indigo-8-dark);--ff-color-progress-track-neutral: var(--ff-palette-slate-7-dark);--ff-color-status-error-bg: rgba(237, 78, 78, 0.15);--ff-color-status-error-border: rgba(237, 78, 78, 0.4);--ff-color-status-error-text: var(--ff-palette-red-200);--ff-color-status-error-dot: var(--ff-palette-red-200);--ff-color-status-success-bg: rgba(76, 195, 138, 0.18);--ff-color-status-success-border: rgba(76, 195, 138, 0.45);--ff-color-status-success-text: var(--ff-palette-green-400);--ff-color-status-success-dot: var(--ff-palette-green-400);--ff-color-status-progress-bg: rgba(76, 195, 138, 0.12);--ff-color-status-progress-border: rgba(76, 195, 138, 0.35);--ff-color-status-safe-bg: rgba(251, 191, 36, 0.15);--ff-color-status-safe-border: rgba(251, 191, 36, 0.4);--ff-color-status-safe-text: var(--ff-palette-yellow-400);--ff-color-status-warning-bg: rgba(251, 191, 36, 0.25);--ff-color-status-warning-border: rgba(251, 191, 36, 0.55);--ff-color-status-warning-text: var(--ff-palette-yellow-400);--ff-color-status-neutral-bg: var(--ff-color-bg-surface-raised);--ff-color-status-neutral-border: var(--ff-color-border);--ff-color-status-neutral-text: var(--ff-color-text-subtle);--ff-color-status-neutral-dot: var(--ff-color-text-subtle);--ff-color-status-info-bg: var(--ff-color-bg-surface-raised);--ff-color-status-info-border: var(--ff-color-border);--ff-color-status-info-text: var(--ff-color-text-muted);--ff-color-status-devmode-bg: rgba(168, 85, 247, 0.18);--ff-color-status-devmode-border: rgba(168, 85, 247, 0.45);--ff-color-status-devmode-text: var(--ff-palette-purple-400);--ff-color-status-info-surface: rgba(112, 184, 255, 0.12);--ff-color-status-info-surface-border: rgba(112, 184, 255, 0.35);--ff-color-status-fleetmode-bg: rgba(80, 195, 201, 0.18);--ff-color-status-fleetmode-border: rgba(80, 195, 201, 0.45);--ff-color-status-fleetmode-text: var(--ff-palette-teal-500);--ff-color-timeline-marker-border: var(--ff-color-accent-light);--ff-color-timeline-marker-bg: var(--ff-color-bg-surface-raised);--ff-color-toggle-track-on: var(--ff-color-accent);--ff-color-banner-accent: var(--ff-color-danger);--ff-color-banner-warning-accent: var(--ff-color-danger);--ff-color-pill-ring: var(--ff-color-danger);--ff-color-tab-active: var(--ff-color-accent);--ff-color-toggle-group-active-border: var(--ff-color-accent);--ff-color-chip-default-bg: var(--ff-color-bg-surface-raised);--ff-color-blueprint-tile-bg: var(--ff-color-bg-surface-raised);--ff-color-diff-highlight-bg: var(--ff-color-accent-surface);--ff-color-splash-brand-bg: var(--ff-palette-teal-600);--ff-color-splash-brand-bg-hover: var(--ff-palette-teal-700);--ff-color-checkbox-checked-bg: var(--ff-color-accent);--ff-color-checkbox-checked-border: var(--ff-color-accent);--ff-color-checkmark-stroke: var(--ff-palette-white);--ff-color-code-surface: var(--ff-palette-grey-800);--ff-color-code-text: var(--ff-palette-grey-200);--ff-color-log-system: var(--ff-palette-blue-400);--ff-color-log-info: var(--ff-palette-grey-200);--ff-color-log-warn: var(--ff-palette-yellow-300);--ff-color-log-error: var(--ff-palette-red-300);--ff-color-surface-dark: var(--ff-palette-grey-800);--ff-color-surface-dark-text: var(--ff-palette-grey-300);--ff-color-nav-divider: var(--ff-palette-grey-600);--ff-color-nav-divider-strong: var(--ff-palette-grey-900);--ff-color-nav-item-active: var(--ff-palette-grey-600);--ff-color-nav-item-active-text: var(--ff-palette-teal-400);--ff-color-nav-item-border: var(--ff-palette-grey-800);--ff-color-nav-item-hover: var(--ff-palette-grey-700);--ff-color-icon-flow-bg: var(--ff-palette-grey-500);--ff-color-icon-flow-fg: var(--ff-palette-white);--ff-color-icon-git: var(--ff-palette-git-orange);--ff-color-expert-drawer-bg: var(--ff-palette-indigo-900);--ff-color-tile-bevel-bottom: var(--ff-palette-bevel-bottom);--ff-color-tile-bevel-top: var(--ff-palette-bevel-top);--ff-color-tile-ribbon-shadow-indigo: var(--ff-palette-indigo-900);--ff-color-tile-ribbon-shadow-red: var(--ff-palette-red-900)}[data-theme=dark] .ff-flow-viewer{--red-ui-view-grid-color: var(--ff-color-border-subtle);--red-ui-view-border: 1px solid var(--ff-color-border);--red-ui-node-border: var(--ff-color-border-strong);--red-ui-node-port-background: var(--ff-color-bg-emphasis);--red-ui-workspace-button-color: var(--ff-color-text);--red-ui-workspace-button-background: var(--ff-color-bg-surface-raised);--red-ui-primary-background: var(--ff-color-bg-app);--red-ui-form-background: var(--ff-color-bg-surface);--red-ui-form-placeholder-color: var(--ff-color-text-subtle);--red-ui-form-text-color: var(--ff-color-text);--red-ui-form-text-color-disabled: var(--ff-color-text-disabled);--red-ui-form-input-border-color: var(--ff-color-border);--red-ui-form-input-border-selected-color: var(--ff-color-border-strong);--red-ui-form-input-background: var(--ff-color-bg-surface);--red-ui-form-input-background-disabled: var(--ff-color-bg-emphasis);--red-ui-form-button-background: var(--ff-color-bg-surface-raised);--red-ui-diff-state-color: var(--ff-color-text-muted);--red-ui-diff-state-prefix-color: var(--ff-color-text-subtle)}[data-theme=dark] .ff-flow-viewer .red-ui-tab{background-color:var(--ff-color-bg-surface);border-color:var(--ff-color-border);color:var(--ff-color-text-muted)}[data-theme=dark] .ff-flow-viewer .red-ui-tab:last-child{border-right-color:var(--ff-color-border)}[data-theme=dark] .ff-flow-viewer .red-ui-tab.active,[data-theme=dark] .ff-flow-viewer .red-ui-tab:hover{background-color:var(--ff-color-bg-app);border-bottom-color:var(--ff-color-bg-app);color:var(--ff-color-text)}[data-theme=dark] .ff-flow-viewer .diff-table thead tr{border-bottom-color:var(--ff-color-border)}[data-theme=dark] .ff-flow-viewer .diff-table td{border-bottom-color:var(--ff-color-border-subtle)}[data-theme=dark] .ff-flow-viewer code{background-color:var(--ff-color-bg-surface-raised);color:var(--ff-color-text)}[data-theme=dark] .ff-flow-viewer .toolbar .icon-button-bg.view-source{background-image:none;position:relative}[data-theme=dark] .ff-flow-viewer .toolbar .icon-button-bg.view-source::before{content:"";position:absolute;inset:0;background-color:var(--ff-color-text-muted);-webkit-mask:url("data:image/svg+xml;utf8,<svg viewBox=%270 0 24 24%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27><path stroke=%27black%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27M9.5 5H9a2 2 0 0 0-2 2v2c0 1-.6 3-3 3 1 0 3 .6 3 3v2a2 2 0 0 0 2 2h.5m5-14h.5a2 2 0 0 1 2 2v2c0 1 .6 3 3 3-1 0-3 .6-3 3v2a2 2 0 0 1-2 2h-.5%27/></svg>") no-repeat center/16px 16px;mask:url("data:image/svg+xml;utf8,<svg viewBox=%270 0 24 24%27 xmlns=%27http://www.w3.org/2000/svg%27 fill=%27none%27><path stroke=%27black%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27M9.5 5H9a2 2 0 0 0-2 2v2c0 1-.6 3-3 3 1 0 3 .6 3 3v2a2 2 0 0 0 2 2h.5m5-14h.5a2 2 0 0 1 2 2v2c0 1 .6 3 3 3-1 0-3 .6-3 3v2a2 2 0 0 1-2 2h-.5%27/></svg>") no-repeat center/16px 16px}[data-theme=dark] .ff-flow-viewer .toolbar .icon-button-bg.download-flow{background-image:none;position:relative}[data-theme=dark] .ff-flow-viewer .toolbar .icon-button-bg.download-flow::before{content:"";position:absolute;inset:0;background-color:var(--ff-color-text-muted);-webkit-mask:url("data:image/svg+xml;utf8,<svg viewBox=%270 0 24 24%27 xmlns=%27http://www.w3.org/2000/svg%27><path fill=%27black%27 d=%27M12 2a1 1 0 0 1 1 1v10.586l2.293-2.293a1 1 0 0 1 1.414 1.414l-4 4a1 1 0 0 1-1.414 0l-4-4a1 1 0 1 1 1.414-1.414L11 13.586V3a1 1 0 0 1 1-1zM5 17a1 1 0 0 1 1 1v2h12v-2a1 1 0 1 1 2 0v2a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-2a1 1 0 0 1 1-1z%27/></svg>") no-repeat center/16px 16px;mask:url("data:image/svg+xml;utf8,<svg viewBox=%270 0 24 24%27 xmlns=%27http://www.w3.org/2000/