:root{--flow-brand: #1a5f4a;--flow-brand-hover: #154d3d;--flow-brand-light: #e8f3ef;--flow-text: #1a1a1a;--flow-muted: #5c5c5c;--flow-border: #e2e8f0;--flow-surface: #fff;--flow-bg: #f4f6f8;--flow-error-bg: #fdeaea;--flow-error-border: #e8c4c4;--flow-error-text: #b33;--flow-warn-bg: #fff8e6;--flow-warn-text: #7a5b00;--flow-success-text: #1a5f4a;--flow-danger: #b33;--flow-radius-sm: 6px;--flow-radius-md: 8px;--flow-radius-lg: 12px;--flow-shadow-card: 0 1px 3px rgb(0 0 0 / 8%);--flow-font: "Exo 2", system-ui, sans-serif;--flow-z-modal: 100;--flow-z-dropdown: 50}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--flow-font);background:var(--flow-bg);color:var(--flow-text)}a{color:var(--flow-brand)}.mono{font-family:ui-monospace,monospace;font-size:.9em}.flow-page-title{margin:0 0 1rem;font-size:1.5rem;color:var(--flow-brand)}.flow-muted{color:var(--flow-muted);font-size:.9rem}.flow-form{display:grid;gap:.75rem;max-width:420px}.flow-form__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.flow-table{width:100%;border-collapse:collapse;font-size:.9rem}.flow-table th,.flow-table td{text-align:left;padding:.5rem .65rem;border-bottom:1px solid var(--flow-border)}.flow-table__actions{white-space:nowrap}.flow-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font:inherit;font-size:.9rem;padding:.45rem .9rem;border-radius:var(--flow-radius-sm);border:1px solid var(--flow-border);background:var(--flow-surface);color:var(--flow-text);cursor:pointer;text-decoration:none;line-height:1.3;transition:background .12s,border-color .12s,opacity .12s}.flow-btn:hover:not(:disabled){background:var(--flow-bg)}.flow-btn:disabled{opacity:.5;cursor:not-allowed}.flow-btn--primary{background:var(--flow-brand);border-color:var(--flow-brand);color:#fff}.flow-btn--primary:hover:not(:disabled){background:var(--flow-brand-hover);border-color:var(--flow-brand-hover)}.flow-btn--outline{color:var(--flow-brand);background:var(--flow-surface)}.flow-btn--danger{border-color:#c44;color:#b33}.flow-btn--sm{padding:.3rem .65rem;font-size:.82rem}.flow-btn--ghost{border-color:transparent;background:transparent}.flow-btn--active-route{background:var(--flow-brand-light);color:var(--flow-brand)}.flow-btn--icon-only{padding:.45rem;min-width:2.1rem}.flow-btn--sm.flow-btn--icon-only{padding:.35rem;min-width:1.85rem}.flow-btn__icon{font-size:.95em;line-height:1}.flow-btn__label{display:inline-flex;align-items:center}.flow-card{background:var(--flow-surface);border-radius:var(--flow-radius-lg);padding:1.25rem 1.5rem;margin-bottom:1rem;box-shadow:var(--flow-shadow-card)}.flow-card--error{border:1px solid var(--flow-error-border);background:var(--flow-error-bg)}.flow-card--compact{padding:1rem;border-radius:10px}.flow-card__title{margin:0 0 1rem;font-size:1rem;font-weight:600}.flow-alert{margin:0 0 1rem;padding:.75rem 1rem;border-radius:var(--flow-radius-md);font-size:.9rem}.flow-alert--error{color:var(--flow-error-text);background:var(--flow-error-bg);border:1px solid var(--flow-error-border)}.flow-alert--warn{color:var(--flow-warn-text);background:var(--flow-warn-bg)}.flow-alert--success{color:var(--flow-success-text);background:var(--flow-brand-light)}.flow-alert--info{color:var(--flow-muted);background:var(--flow-bg)}.flow-field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem}.flow-field__label{color:var(--flow-muted)}.flow-field__hint{font-size:.8rem;color:var(--flow-muted)}.flow-field--inline{flex-direction:row;align-items:center;gap:.4rem;color:var(--flow-text)}.flow-field--sm{gap:.15rem;font-size:.82rem}.flow-field--sm .flow-field__label{font-size:.78rem}.flow-switch{display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.9rem;color:var(--flow-text)}.flow-switch--disabled{opacity:.6;cursor:not-allowed}.flow-switch__input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.flow-switch__track{width:2.65rem;height:1.5rem;border-radius:999px;background:var(--flow-border);padding:.125rem;transition:background-color .2s ease;display:flex;align-items:center;flex-shrink:0}.flow-switch__thumb{display:block;width:1.25rem;height:1.25rem;border-radius:999px;background:var(--flow-surface);box-shadow:0 1px 3px #0003;transition:transform .2s ease;transform:translate(.15rem)}.flow-switch__input:checked~.flow-switch__track{background:var(--flow-brand)}.flow-switch__input:checked~.flow-switch__track .flow-switch__thumb{transform:translate(1.15rem)}.flow-switch__input:focus-visible~.flow-switch__track{outline:2px solid var(--flow-brand-light);outline-offset:2px}.flow-switch__label{white-space:nowrap}.flow-switch--label-left .flow-switch__label{order:1}.flow-switch--label-left .flow-switch__track{order:2}.flow-switch--label-right .flow-switch__track{order:1}.flow-switch--label-right .flow-switch__label{order:2}.flow-select__validator{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.flow-input,.flow-textarea{font:inherit;width:100%;padding:.45rem .6rem;border:1px solid var(--flow-border);border-radius:var(--flow-radius-sm);background:var(--flow-surface);color:var(--flow-text)}.flow-textarea{resize:vertical;min-height:2.5rem}.flow-input:focus,.flow-textarea:focus,.flow-combobox__trigger:focus{outline:2px solid var(--flow-brand-light);outline-offset:1px;border-color:var(--flow-brand)}.flow-input--sm,.flow-textarea--sm{padding:.3rem .5rem;font-size:.82rem}.flow-textarea--sm{min-height:2rem}.flow-input:disabled{opacity:.6;cursor:not-allowed}.flow-link-btn{background:none;border:none;color:var(--flow-brand);cursor:pointer;font:inherit;padding:0 .35rem 0 0;text-decoration:none}.flow-link-btn:hover{text-decoration:underline}.flow-link-btn--danger{color:var(--flow-danger)}.flow-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:var(--flow-z-modal);padding:1rem}.flow-modal{background:var(--flow-surface);border-radius:var(--flow-radius-lg);padding:1.25rem 1.5rem;min-width:min(320px,100%);max-width:90vw;max-height:90vh;overflow:auto;box-shadow:0 8px 32px #00000026}.flow-modal__title{margin:0 0 .5rem;font-size:1.1rem}.flow-modal__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.flow-spinner{display:inline-block;border:2px solid var(--flow-border);border-top-color:var(--flow-brand);border-radius:50%;animation:flow-spin .7s linear infinite}.flow-spinner--sm{width:.9rem;height:.9rem}.flow-spinner--md{width:1.25rem;height:1.25rem}.flow-spinner--lg{width:2rem;height:2rem}@keyframes flow-spin{to{transform:rotate(360deg)}}.flow-skeleton{background:linear-gradient(90deg,var(--flow-bg) 0%,#e8ecf0 50%,var(--flow-bg) 100%);background-size:200% 100%;animation:flow-skeleton 1.2s ease-in-out infinite;border-radius:var(--flow-radius-sm)}@keyframes flow-skeleton{0%{background-position:100% 0}to{background-position:-100% 0}}.flow-empty{color:var(--flow-muted);margin:0}.flow-combobox{position:relative;width:100%}.flow-combobox__trigger{display:flex;align-items:center;gap:.35rem;width:100%;min-height:2.1rem;padding:.35rem .5rem;border:1px solid var(--flow-border);border-radius:var(--flow-radius-sm);background:var(--flow-surface);cursor:pointer;text-align:left;font:inherit}.flow-combobox__trigger:disabled{opacity:.6;cursor:not-allowed}.flow-combobox--sm .flow-combobox__trigger{min-height:1.85rem;padding:.25rem .45rem;font-size:.82rem}.flow-combobox--sm .flow-combobox__chevron{font-size:.65rem}.flow-combobox__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem}.flow-combobox__value--placeholder{color:var(--flow-muted)}.flow-combobox__chevron{flex-shrink:0;color:var(--flow-muted);font-size:.65rem}.flow-combobox__panel{position:absolute;top:calc(100% + 4px);left:0;right:auto;width:100%;min-width:100%;z-index:var(--flow-z-dropdown);background:var(--flow-surface);border:1px solid var(--flow-border);border-radius:var(--flow-radius-md);box-shadow:0 4px 16px #0000001f;max-height:280px;display:flex;flex-direction:column}.flow-combobox__panel--content{width:max-content;min-width:100%;max-width:min(90vw,36rem)}.flow-combobox__panel--content .flow-combobox__option-label{white-space:nowrap}.flow-combobox__panel--wide{width:200%;min-width:100%}.flow-combobox__search{padding:.5rem;border-bottom:1px solid var(--flow-border)}.flow-combobox__search input{width:100%;font:inherit;padding:.35rem .5rem;border:1px solid var(--flow-border);border-radius:var(--flow-radius-sm)}.flow-combobox__toolbar{display:flex;flex-wrap:nowrap;align-items:center;gap:.75rem;padding:.35rem .65rem;border-bottom:1px solid var(--flow-border);font-size:.8rem;white-space:nowrap}.flow-combobox__toolbar .flow-link-btn{flex-shrink:0;white-space:nowrap}.flow-combobox__list{overflow-y:auto;margin:0;padding:.25rem 0;list-style:none}.flow-combobox__option{display:flex;align-items:flex-start;gap:.5rem;padding:.4rem .65rem;cursor:pointer;font-size:.88rem}.flow-combobox__option-check{pointer-events:none;flex-shrink:0;margin-top:.15rem}.flow-combobox__option:hover,.flow-combobox__option--focused,.flow-combobox__option--selected{background:var(--flow-brand-light)}.flow-combobox__option--selected{font-weight:600;color:var(--flow-brand)}.flow-combobox__option-label{flex:1;min-width:0}.flow-combobox__option-sub{display:block;font-size:.75rem;color:var(--flow-muted)}.flow-combobox__empty{padding:.75rem;color:var(--flow-muted);font-size:.85rem;text-align:center}.flow-combobox__chips{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.35rem}.flow-context-menu{position:relative;flex-shrink:0}.flow-context-menu__trigger{display:inline-flex;align-items:center;justify-content:center;width:1.35rem;height:1.35rem;padding:0;border:none;border-radius:var(--flow-radius-sm);background:transparent;color:var(--flow-muted);cursor:pointer;line-height:1}.flow-context-menu__trigger:hover:not(:disabled){background:var(--flow-brand-light);color:var(--flow-brand)}.flow-context-menu__trigger:disabled{opacity:.45;cursor:not-allowed}.flow-context-menu__dots{font-size:1rem;font-weight:700;letter-spacing:-.12em}.flow-context-menu__panel{min-width:11rem;padding:.25rem 0;background:var(--flow-surface);border:1px solid var(--flow-border);border-radius:var(--flow-radius-md);box-shadow:0 4px 16px #0000001f}.flow-context-menu__item{display:block;width:100%;padding:.45rem .75rem;border:none;background:none;text-align:left;font:inherit;font-size:.85rem;color:var(--flow-text);cursor:pointer}.flow-context-menu__item:hover:not(:disabled){background:var(--flow-brand-light)}.flow-context-menu__item:disabled{opacity:.5;cursor:not-allowed}.flow-context-menu__item--danger{color:var(--flow-danger)}.flow-combobox__chip{display:inline-flex;align-items:center;gap:.2rem;padding:.1rem .4rem;font-size:.75rem;background:var(--flow-brand-light);color:var(--flow-brand);border-radius:4px}.flow-combobox__chip-remove{border:none;background:none;padding:0;cursor:pointer;color:inherit;line-height:1}.flow-segmented{display:inline-flex;border:1px solid var(--flow-border);border-radius:var(--flow-radius-md);overflow:hidden}.flow-segmented__btn{border:none;background:var(--flow-surface);padding:.35rem .75rem;cursor:pointer;font:inherit;font-size:.9rem}.flow-segmented__btn--active{background:var(--flow-brand);color:#fff}.flow-nav-link{text-decoration:none;color:var(--flow-text);padding:.4rem .5rem;border-radius:var(--flow-radius-sm);font-size:.95rem}.flow-nav-link--active{background:var(--flow-brand-light);color:var(--flow-brand);font-weight:600}.flow-app-header{display:flex;align-items:center;gap:1.5rem;padding:.65rem 1.25rem;background:var(--flow-surface);border-bottom:1px solid var(--flow-border)}.flow-app-header__brand{font-weight:700;color:var(--flow-brand);text-decoration:none;font-size:1.1rem}.flow-app-header__nav{display:flex;gap:.25rem;flex:1;min-width:0;overflow-x:auto}.flow-app-header__user{display:flex;align-items:center;gap:.75rem;flex-shrink:0;font-size:.85rem;color:var(--flow-muted)}.flow-app-header__action{color:var(--flow-brand);text-decoration:none;white-space:nowrap}.flow-app-header__action:hover{text-decoration:underline}.flow-app-header__action--active{font-weight:600;text-decoration:none}.flow-app-header__divider{width:1px;height:1.1rem;background:var(--flow-border);flex-shrink:0}.flow-shell{min-height:100vh;display:flex;flex-direction:column}.flow-shell__main{flex:1;min-height:0}.flow-shell__main--padded{padding:1.5rem 2rem;overflow:auto}.flow-status-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.flow-status-page__card{max-width:480px;width:100%;text-align:center;margin-bottom:0}.flow-status-page__title{margin:0 0 1rem;color:var(--flow-brand);font-size:1.25rem}.flow-status-page__body{text-align:left;line-height:1.5}.flow-status-page__footer{margin-top:1.25rem;text-align:center;font-size:.9rem}.flow-page-header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1rem}.flow-page-header__title{margin:0;font-size:1.5rem;color:var(--flow-brand)}.flow-page-header__subtitle{margin:.35rem 0 0}.flow-page-header__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.flow-page-header__actions .flow-segmented__btn{padding:.22rem .55rem;font-size:.78rem}.flow-page-header__actions .flow-switch{gap:.45rem;font-size:.78rem}.flow-page-header__actions .flow-switch__track{width:2.1rem;height:1.2rem}.flow-page-header__actions .flow-switch__thumb{width:.95rem;height:.95rem}.flow-page-header__actions .flow-switch__input:checked~.flow-switch__track .flow-switch__thumb{transform:translate(.95rem)}.flow-badge{display:inline-block;padding:.1rem .45rem;font-size:.8rem;border-radius:4px;line-height:1.3}.flow-badge--brand{background:var(--flow-brand-light);color:var(--flow-brand)}.flow-badge--running{color:#06c}.flow-badge--completed{color:var(--flow-brand)}.flow-badge--failed{color:var(--flow-danger)}.flow-badge--warn{background:var(--flow-warn-bg);color:var(--flow-warn-text)}.flow-stats-list{margin:0;padding-left:1.2rem}.flow-filter-panel{margin-bottom:1.25rem;padding:1rem;border-radius:var(--flow-radius-md);background:#00000008}.flow-filter-panel__title{margin:0 0 .35rem;font-size:1rem}.flow-filter-panel__hint{margin:0 0 .75rem}.flow-filter-panel__row{display:flex;flex-wrap:wrap;gap:1rem;align-items:end}.flow-sync-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.flow-pagination{display:flex;align-items:center;gap:.75rem;margin-top:.75rem;font-size:.9rem}.flow-pagination__label{color:var(--flow-muted)}.flow-toast-host{position:fixed;right:1rem;bottom:1rem;z-index:200;display:flex;flex-direction:column;gap:.5rem;max-width:min(360px,calc(100vw - 2rem));pointer-events:none}.flow-toast{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;border-radius:var(--flow-radius-md);box-shadow:0 4px 16px #0000001f;background:var(--flow-surface);border:1px solid var(--flow-border);pointer-events:auto;font-size:.9rem}.flow-toast--success{border-color:var(--flow-brand);background:var(--flow-brand-light);color:var(--flow-brand)}.flow-toast--error{border-color:var(--flow-error-border);background:var(--flow-error-bg);color:var(--flow-error-text)}.flow-toast--warn{border-color:#e8d4a8;background:var(--flow-warn-bg);color:var(--flow-warn-text)}.flow-toast--info{background:var(--flow-bg);color:var(--flow-text)}.flow-toast__message{flex:1;line-height:1.4}.flow-toast__close{border:none;background:none;padding:0;cursor:pointer;font-size:1.1rem;line-height:1;color:inherit;opacity:.7}.flow-toast__close:hover{opacity:1}:root{--onboarding-panel-max-width: 25vw;--onboarding-backdrop-bg: rgba(15, 23, 42, .3);--onboarding-backdrop-blur: 4px}.flow-modal-backdrop.onboarding-welcome-backdrop{background:var(--onboarding-backdrop-bg);backdrop-filter:blur(var(--onboarding-backdrop-blur));-webkit-backdrop-filter:blur(var(--onboarding-backdrop-blur))}.onboarding-popover[data-v-9bf87ccb]{position:fixed;z-index:1001;background:var(--flow-surface, #fff);border:1px solid var(--flow-border, #e2e8f0);border-radius:12px;box-shadow:0 20px 40px #0f172a2e;padding:16px 18px;pointer-events:auto;width:var(--onboarding-panel-max-width);max-width:var(--onboarding-panel-max-width);min-width:min(320px,var(--onboarding-panel-max-width));box-sizing:border-box;transition:top .4s ease,left .4s ease,width .35s ease,opacity .25s ease,transform .25s ease}.onboarding-popover--content-hidden[data-v-9bf87ccb]{opacity:0;pointer-events:none}.onboarding-popover__body[data-v-9bf87ccb]{min-height:1px}.onboarding-popover__header[data-v-9bf87ccb]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.onboarding-popover__title[data-v-9bf87ccb]{margin:0;font-size:1rem;font-weight:600;line-height:1.3}.onboarding-popover__counter[data-v-9bf87ccb]{flex-shrink:0;font-size:.8125rem;color:var(--flow-muted, #64748b)}.onboarding-popover__description[data-v-9bf87ccb]{margin:0 0 16px;font-size:.875rem;line-height:1.5;color:var(--flow-text, #334155);white-space:pre-wrap}.onboarding-popover__actions[data-v-9bf87ccb]{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.onboarding-step-enter-active[data-v-9bf87ccb],.onboarding-step-leave-active[data-v-9bf87ccb]{transition:opacity .22s ease,transform .22s ease}.onboarding-step-enter-from[data-v-9bf87ccb]{opacity:0;transform:translateY(6px)}.onboarding-step-leave-to[data-v-9bf87ccb]{opacity:0;transform:translateY(-4px)}.onboarding-spotlight[data-v-0f14ee9c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;pointer-events:none}.onboarding-spotlight__mask-svg[data-v-0f14ee9c]{position:fixed;width:100%;height:100%;pointer-events:none;opacity:0}.onboarding-spotlight__overlay[data-v-0f14ee9c]{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:auto;background:var(--onboarding-backdrop-bg);backdrop-filter:blur(var(--onboarding-backdrop-blur));-webkit-backdrop-filter:blur(var(--onboarding-backdrop-blur))}.onboarding-spotlight__hole[data-v-0f14ee9c]{transition:x .4s ease,y .4s ease,width .4s ease,height .4s ease}.onboarding-backdrop-fade-enter-active[data-v-0f14ee9c],.onboarding-backdrop-fade-leave-active[data-v-0f14ee9c]{transition:opacity .35s ease}.onboarding-backdrop-fade-enter-from[data-v-0f14ee9c],.onboarding-backdrop-fade-leave-to[data-v-0f14ee9c]{opacity:0}.flow-bar-chart[data-v-9310395c],.flow-bar-chart__canvas-wrap[data-v-9310395c]{position:relative;width:100%}.flow-bar-chart__empty[data-v-9310395c]{display:flex;align-items:center;justify-content:center;min-height:inherit;padding:1rem;font-size:.875rem;color:var(--flow-muted);text-align:center}.flow-skeleton-table[data-v-03b7171f]{display:flex;flex-direction:column;gap:.5rem}.onboarding-welcome__message[data-v-cd40986f]{margin:0 0 .5rem;line-height:1.5;white-space:pre-wrap}.flow-modal.onboarding-welcome-modal{width:var(--onboarding-panel-max-width);max-width:var(--onboarding-panel-max-width);min-width:min(320px,var(--onboarding-panel-max-width));box-sizing:border-box}
