*,*:before,*:after{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;height:100%}#root{min-height:100%;height:100%;display:flex;flex-direction:column}:root{--accent: #4f46e5;--accent-hover: #4338ca;--accent-muted: rgba(79, 70, 229, .1);--accent-ring: rgba(79, 70, 229, .35);--success: #059669;--success-bg: #ecfdf5;--success-border: #6ee7b7;--warn: #d97706;--warn-bg: #fffbeb;--warn-border: #fcd34d;--danger: #dc2626;--danger-bg: #fef2f2;--danger-border: #fecaca;--radius-sm: 6px;--radius: 10px;--radius-lg: 14px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow: 0 4px 16px rgba(15, 23, 42, .08);--shadow-lg: 0 12px 40px rgba(15, 23, 42, .12);--font-sans: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;--sidebar-width: 248px}[data-theme=dark]{--accent: #818cf8;--accent-hover: #a5b4fc;--accent-muted: rgba(129, 140, 248, .12);--accent-ring: rgba(129, 140, 248, .4);--success: #34d399;--success-bg: #052e16;--success-border: #166534;--warn: #fbbf24;--warn-bg: #422006;--warn-border: #854d0e;--danger: #f87171;--danger-bg: #450a0a;--danger-border: #991b1b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .45)}:root{--btn-primary-bg: var(--accent);--btn-primary-border: var(--accent);--link: var(--accent);--btn-secondary-fg: var(--accent)}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased}.page{max-width:1080px;margin:0 auto}.page-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.75rem}.page-header__back{display:inline-block;font-size:.875rem;text-decoration:none;margin-bottom:.35rem;color:var(--muted)}.page-header__back:hover{color:var(--accent)}.page-header__title{margin:0;font-size:var(--text-2xl, 1.625rem);font-weight:700;letter-spacing:-.03em;line-height:1.2}.page-header__desc{margin:.35rem 0 0;max-width:40rem}.page-header__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.section-title{margin:2rem 0 1rem;font-size:1.05rem;font-weight:600}.app-shell__sidebar{width:var(--sidebar-width);display:flex;flex-direction:column;padding:0;border-right:1px solid rgba(255,255,255,.06)}.app-shell__brand{display:flex;align-items:center;gap:.65rem;padding:1.25rem 1.15rem 1rem;margin-bottom:0}.app-shell__logo{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--accent) 0%,var(--accent-hover) 100%);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;color:#fff;flex-shrink:0}.app-shell__nav-section{padding:.5rem .75rem .25rem}.app-shell__nav-label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--sidebar-hint);padding:.35rem .5rem;margin:0}.app-shell__nav{flex:1;gap:2px;padding:0 .5rem}.app-shell__link{display:flex;align-items:center;gap:.55rem;font-weight:500;transition:background .12s,color .12s}.app-shell__link:focus{outline:none}.app-shell__link:focus-visible{outline:2px solid var(--sidebar-active-fg);outline-offset:2px;border-radius:var(--radius-sm)}.app-shell__link-icon{width:1.1rem;text-align:center;opacity:.85}.app-shell__user{margin:.75rem;padding:.75rem;border-radius:var(--radius-sm);background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.app-shell__user-name{font-size:.875rem;font-weight:600;margin:0 0 .15rem;color:var(--sidebar-fg)}.app-shell__user-email{font-size:.75rem;color:var(--sidebar-hint);margin:0;word-break:break-all}.app-shell__footer{padding:.75rem;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.35rem}.app-shell__main{padding:1.75rem 2rem}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(ellipse 80% 60% at 50% -10%,var(--accent-muted),transparent),var(--page-bg)}.login-card{width:100%;max-width:400px;background:var(--card-bg);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-lg);border:1px solid var(--border)}.login-card__brand{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.login-card__title{margin:0;font-size:1.35rem;font-weight:700}.login-divider{text-align:center;margin:0;font-size:.875rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.5rem 1rem;border-radius:var(--radius-sm);border:1px solid transparent;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .12s,border-color .12s;text-decoration:none;line-height:1.3}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--secondary{background:var(--btn-secondary-bg);border-color:var(--border);color:var(--btn-secondary-fg)}.btn--ghost{background:transparent;border-color:var(--border);color:var(--fg)}.btn--ghost:hover:not(:disabled){background:var(--card-muted-bg)}.btn:focus{outline:none}.btn:focus-visible,.modal__close:focus-visible,.tabs__btn:focus-visible,.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell__main:focus{outline:none}.app-shell__main:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.app-shell__footer .btn--ghost{border-color:#ffffff26;color:var(--sidebar-link);width:100%}.btn-row{display:flex;flex-wrap:wrap;gap:.5rem}.stack{display:flex;flex-direction:column;gap:.85rem}.stack>label,.field label{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:500}.stack>label:has(input[type=checkbox]){flex-direction:row;align-items:center;font-weight:400}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;padding:.55rem .75rem;border:1px solid var(--border-input);border-radius:var(--radius-sm);font-size:.9rem;font-family:inherit;background:var(--card-bg);color:var(--fg)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}textarea{font-family:var(--font-mono);font-size:.82rem}.search-bar{display:flex;gap:.5rem;margin-bottom:1.25rem;max-width:420px}.search-bar input{flex:1}.card{border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm)}.card--form{max-width:520px}.run-filters{max-width:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.75rem 1rem}.run-filters__search{grid-column:1 / -1}@media (min-width: 56rem){.run-filters__search{grid-column:span 2}}.grid-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem}.stat-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.15rem 1.25rem;box-shadow:var(--shadow-sm)}.stat-card__value{font-size:2rem;font-weight:700;letter-spacing:-.04em}.stat-card--danger .stat-card__value{color:var(--danger)}.stat-card__label{margin-top:.35rem;font-size:.85rem;color:var(--muted)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.data-table thead{background:var(--card-muted-bg)}.data-table th{text-align:left;padding:.65rem 1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border)}.data-table td{padding:.75rem 1rem;border-bottom:1px solid var(--border)}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover{background:var(--accent-muted)}.data-table .cell-actions{text-align:right;white-space:nowrap}.badge{display:inline-flex;padding:.15rem .55rem;border-radius:999px;font-size:.75rem;font-weight:600;border:1px solid var(--border);background:var(--card-muted-bg);color:var(--muted)}.badge--ok{background:var(--success-bg);border-color:var(--success-border);color:var(--success)}.badge--warn{background:var(--warn-bg);border-color:var(--warn-border);color:var(--warn)}.badge--err{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:1.5rem;padding:.25rem;background:var(--card-muted-bg);border-radius:var(--radius);border:1px solid var(--border);width:fit-content;max-width:100%}.tabs__btn{padding:.45rem .9rem;border:none;border-radius:calc(var(--radius-sm) - 1px);background:transparent;color:var(--muted);font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer}.tabs__btn--active{background:var(--card-bg)!important;color:var(--fg)!important;font-weight:600;box-shadow:var(--shadow-sm)}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal{background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow-lg);width:100%;max-width:560px;max-height:min(85vh,640px);display:flex;flex-direction:column;overflow:hidden}.modal__head{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.modal__title{margin:0;font-size:1.05rem;font-weight:600}.modal__close{width:2rem;height:2rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--muted);font-size:1.35rem;cursor:pointer}.modal__body{padding:1.25rem;overflow:auto}.code-block{background:var(--logs-bg);color:var(--logs-fg);padding:1rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.8rem;overflow:auto;margin:0}.list-cards{display:flex;flex-direction:column;gap:.65rem;list-style:none;margin:0;padding:0}.list-card{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1.15rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius)}.list-card__title{font-weight:600;margin:0 0 .2rem}.list-card__actions{display:flex;gap:.5rem}p.error,.error{background:var(--danger-bg);border:1px solid var(--danger-border);color:var(--danger);border-radius:var(--radius-sm);padding:.75rem 1rem;margin:0 0 1rem;font-size:.875rem}.checkbox-list{max-height:160px;overflow:auto;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--card-muted-bg)}.checkbox-list label{display:flex;align-items:center;gap:.5rem;padding:.35rem 0;font-weight:400;font-size:.875rem}.dashboard{max-width:none;margin:0;padding:0}.route-params{margin-top:.75rem}.route-params__list{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-direction:column;gap:.65rem}.route-params__field{display:flex;flex-direction:column;gap:.25rem}.route-params__label{display:flex;flex-direction:column;gap:.15rem;font-weight:500;font-size:.875rem}.route-params__name{font-family:var(--font-mono);font-size:.82rem}.route-params__req{color:var(--danger)}.route-params__desc{font-weight:400;line-height:1.35}.inspector__route-hint{margin:-.25rem 0 .5rem}.inspector__try-proxy{margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--border)}.inspector__try-proxy .secondary{width:100%}.inspector-try-result{margin-top:.35rem;max-height:min(28vh,220px);overflow:auto;font-size:.75rem}.param-value-field{display:flex;flex-direction:column;gap:.35rem}.param-value-field__mode{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem}.param-value-field__mode-btn{padding:.28rem .55rem;font-size:.75rem;font-weight:600;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card-bg);color:var(--fg);cursor:pointer;flex-shrink:0}.param-value-field__mode-btn.is-active{border-color:var(--accent);background:var(--accent-muted);color:var(--accent)}.param-value-field__mode-hint{font-size:.72rem}.param-value-field__hint{margin:0;line-height:1.35}.param-value-field__badge{display:inline-block;padding:.05rem .35rem;margin-right:.25rem;border-radius:4px;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:var(--accent-muted);color:var(--accent)}.param-value-field__last-output{display:flex;align-items:center;gap:.25rem}.param-value-field__lo-prefix{flex-shrink:0;font-family:var(--font-mono)}.param-value-field__lo-path{flex:1;min-width:0}.passerelle-assistant{display:flex;flex-direction:column;gap:1rem;max-width:52rem}.passerelle-assistant__chat{max-height:22rem;overflow-y:auto;padding:1rem}.passerelle-assistant__messages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.passerelle-assistant__msg{margin:0;padding:.65rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--border)}.passerelle-assistant__msg--user{background:var(--accent-muted);margin-left:1.5rem}.passerelle-assistant__msg--assistant{background:var(--card-bg);margin-right:1.5rem}.passerelle-assistant__role{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.35rem}.passerelle-assistant__input{width:100%;resize:vertical;min-height:4.5rem}.passerelle-assistant__form-actions{margin-top:.5rem}.passerelle-assistant__draft-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.app-shell__mobile-bar,.app-shell__nav-backdrop{display:none}.app-shell__menu-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .65rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card-bg);color:var(--fg);font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer}.app-shell__mobile-brand{font-weight:700;font-size:1rem;letter-spacing:-.02em}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}@media (max-width: 900px){.app-shell__mobile-bar{display:flex;align-items:center;gap:.75rem;position:sticky;top:0;z-index:10;margin:-1rem -1rem 1rem;padding:.65rem 1rem;background:var(--main-bg);border-bottom:1px solid var(--border)}.app-shell:has(.page-editor--immersive) .app-shell__mobile-bar{display:none}.app-shell__main{padding:1rem}.app-shell__sidebar{position:fixed;top:0;left:0;bottom:0;width:min(280px,85vw);z-index:2200;transform:translate(-100%);transition:transform .2s ease;overflow-y:auto}.app-shell--nav-open .app-shell__sidebar{transform:translate(0)}.app-shell--nav-open .app-shell__nav-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2150;border:none;padding:0;margin:0;cursor:pointer;background:var(--modal-overlay)}.page-header__title{font-size:1.35rem}.tabs{width:100%;max-width:100%;overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.tabs__btn{flex-shrink:0}}.onboarding-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;pointer-events:none}.onboarding-backdrop--dim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;pointer-events:auto}.onboarding-spotlight{position:fixed;border-radius:var(--radius);box-shadow:0 0 0 9999px #0f172a94;pointer-events:none;z-index:10001}.onboarding-card{position:fixed;z-index:10002;pointer-events:auto;padding:1rem 1.1rem;max-width:calc(100vw - 2rem);box-shadow:var(--shadow-lg)}.onboarding-card__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.onboarding-card__progress{margin:0}.onboarding-card__close{border:none;background:transparent;font-size:1.35rem;line-height:1;cursor:pointer;color:var(--muted, #64748b);padding:.15rem .35rem}.onboarding-card__title{margin:0 0 .5rem;font-size:1.05rem}.onboarding-card__body{margin:0 0 .75rem;line-height:1.45}.onboarding-card__intro{margin:0 0 .75rem}.onboarding-card__hint{margin:0 0 .75rem;padding:.5rem .65rem;border-radius:var(--radius-sm);background:var(--warn-bg);border:1px solid var(--warn-border);color:inherit}.onboarding-card__links{margin:0 0 .75rem}.onboarding-card__actions{justify-content:flex-end;gap:.5rem}.onboarding-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1.25rem;padding:.85rem 1rem;border-radius:var(--radius);border:1px solid var(--accent-border, var(--accent-ring));background:var(--accent-muted)}.onboarding-banner__text{margin:0;flex:1 1 16rem}.onboarding-banner__actions{display:flex;flex-wrap:wrap;gap:.5rem}[data-onboarding].onboarding-target-active{position:relative;z-index:10001}.json-tree{background:var(--logs-bg);color:var(--logs-fg);border-radius:var(--radius-sm, 6px);font-family:var(--font-mono, ui-monospace, monospace);font-size:.8rem;line-height:1.45;overflow:auto;max-height:420px;padding:.5rem .65rem}.json-tree--compact{max-height:280px}.json-tree__toolbar{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.json-tree__node{margin:0}.json-tree__line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem;min-height:1.45em}.json-tree__toggle{display:inline-flex;align-items:baseline;gap:.35rem;margin:0;padding:.1rem 0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:3px}.json-tree__toggle:hover{background:color-mix(in srgb,var(--logs-fg) 8%,transparent)}.json-tree__toggle:focus-visible{outline:2px solid var(--accent, #6366f1);outline-offset:1px}.json-tree__caret{width:.75rem;flex-shrink:0;opacity:.65}.json-tree__key{color:color-mix(in srgb,var(--logs-fg) 72%,#7dd3fc)}.json-tree__key--index{color:color-mix(in srgb,var(--logs-fg) 55%,#a5b4fc)}.json-tree__preview,.json-tree__meta{opacity:.72}.json-tree__value--string{color:#86efac}.json-tree__value--number{color:#fcd34d}.json-tree__value--boolean{color:#f9a8d4}.json-tree__value--null,.json-tree__value--undefined{color:#94a3b8;font-style:italic}.json-tree__value--status-ok{color:#86efac}.json-tree__value--status-error{color:#fca5a5}.json-tree__value--status-skipped{color:#fcd34d}.json-tree__children{margin-left:1rem;padding-left:.5rem;border-left:1px solid color-mix(in srgb,var(--logs-fg) 12%,transparent)}.json-tree__empty{margin:0;padding:.75rem;opacity:.75}.run-gantt{display:flex;flex-direction:column;gap:.5rem}.run-gantt--compact .run-gantt-chart{overflow-x:auto}.run-gantt-meta{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}.run-gantt-chart{display:grid;gap:0;border:1px solid var(--border, #e2e8f0);border-radius:var(--radius-sm);background:var(--surface, #fff);overflow:hidden}.run-gantt-labels{border-right:1px solid var(--border, #e2e8f0);background:var(--surface-muted, #f8fafc);padding:20px .5rem .35rem}.run-gantt-label{display:flex;align-items:center;overflow:hidden}.run-gantt-label code{font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-gantt-tracks-wrap{min-width:0;padding:0 .5rem .35rem 0}.run-gantt-axis{width:100%;height:20px;display:block}.run-gantt-axis-tick{stroke:var(--border, #cbd5e1);stroke-width:1}.run-gantt-axis-label{fill:var(--muted, #64748b);font-size:10px}.run-gantt-tracks,.run-gantt-row{position:relative;width:100%}.run-gantt-parallel-band{position:absolute;top:2px;bottom:2px;background:var(--accent-muted);border-radius:3px;opacity:.45;pointer-events:none}.run-gantt-bar{position:absolute;top:4px;bottom:4px;min-width:4px;border-radius:4px;display:flex;align-items:center;padding:0 .35rem;overflow:hidden;box-shadow:var(--shadow-sm)}.run-gantt-bar-label{font-size:.65rem;font-weight:600;color:#fffffff2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.run-gantt-bar--ok{background:var(--success)}.run-gantt-bar--error{background:var(--danger)}.run-gantt-bar--skipped{background:#94a3b8}.run-gantt-legend{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.run-gantt-legend-item{display:inline-flex;align-items:center;gap:.35rem}.run-gantt-swatch{width:.75rem;height:.75rem;border-radius:3px;display:inline-block}.run-gantt-empty,.run-gantt-estimated{margin:0}.run-logs-view-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.run-logs-view-tabs .btn.is-active{background:var(--accent-muted);border-color:var(--accent);color:var(--accent)}.run-node-logs{display:flex;flex-direction:column;gap:.5rem}.run-node-logs-summary{margin:0}.run-node-logs-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.run-node-log{border:1px solid var(--border, #e2e8f0);border-radius:var(--radius-sm);background:var(--surface, #fff);padding:.55rem .65rem}.run-node-log--error{border-color:color-mix(in srgb,var(--danger) 35%,var(--border))}.run-node-log__head{display:flex;gap:.5rem;align-items:flex-start}.run-node-log__step{flex-shrink:0;width:1.5rem;height:1.5rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;background:var(--card-muted-bg);color:var(--muted)}.run-node-log__meta{flex:1;min-width:0}.run-node-log__title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .5rem}.run-node-log__id{font-size:.82rem;font-weight:600}.run-node-log__type{font-size:.68rem;text-transform:uppercase;letter-spacing:.03em;padding:.1rem .35rem;border-radius:4px;background:var(--card-muted-bg);color:var(--muted)}.run-node-log__status{font-size:.68rem;font-weight:600;text-transform:uppercase;padding:.1rem .35rem;border-radius:4px}.run-node-log__status--ok{background:color-mix(in srgb,var(--success) 18%,transparent);color:var(--success)}.run-node-log__status--error{background:color-mix(in srgb,var(--danger) 15%,transparent);color:var(--danger)}.run-node-log__status--skipped{background:#e2e8f0;color:#64748b}.run-node-log__timing{margin-top:.2rem}.run-node-log__error{margin:.35rem 0 0}.run-node-log__toggle{flex-shrink:0}.run-node-log__output{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border, #e2e8f0)}.run-node-log__no-output{margin:.35rem 0 0 2rem}.run-node-logs--compact .run-node-log__id{font-size:.78rem}.run-node-logs-empty{margin:0}.run-otel-trace__row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.run-otel-trace__code{display:block;word-break:break-all;white-space:pre-wrap}.run-otel-trace__actions{margin-top:.25rem}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;color-scheme:light;--fg: #1a1a1a;--page-bg: #f4f4f5;--link: var(--accent, #4f46e5);--muted: #5f5f68;--text: var(--fg);--text-muted: var(--muted);--panel: var(--card-bg);--bg: var(--page-bg);--surface: var(--card-bg);--surface-muted: var(--card-muted-bg);--surface-2: var(--card-muted-bg);--border-subtle: var(--border);--color-success: var(--success, #059669);--accent-border: var(--accent, #4f46e5);--radius-md: var(--radius, 10px);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.625rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--session-off-bg: #fef3c7;--session-off-border: #fcd34d;--session-off-text: #92400e;--session-pending-bg: #eff6ff;--session-pending-border: #93c5fd;--session-pending-text: #1e3a8a;--session-loading-bg: #f4f4f5;--session-loading-border: #d4d4d8;--session-loading-text: #52525b;--session-on-bg: #ecfdf5;--session-on-border: #6ee7b7;--session-on-text: #065f46;--card-muted-opacity: .72;--card-muted-bg: #fafafa;--card-bg: #fff;--card-shadow: 0 1px 3px rgba(0, 0, 0, .08);--border: #e4e4e7;--border-input: #d4d4d8;--btn-primary-bg: var(--accent, #4f46e5);--btn-primary-border: var(--accent, #4f46e5);--btn-primary-fg: #fff;--btn-secondary-bg: #fff;--btn-secondary-fg: var(--accent, #4f46e5);--btn-danger-bg: var(--danger, #dc2626);--btn-danger-border: var(--danger, #dc2626);--btn-danger-fg: #fff;--banner-error-bg: #fef2f2;--banner-error-border: #fecaca;--banner-error-text: #b91c1c;--logs-bg: #18181b;--logs-fg: #e4e4e7;--nav-bg: #fff;--nav-border: #e4e4e7;--doc-bg: #fff;--modal-overlay: rgba(0, 0, 0, .45);--modal-bg: #fff;--modal-shadow: 0 10px 40px rgba(0, 0, 0, .15);--modal-key-bg: #f4f4f5;--modal-key-border: #e4e4e7;--sidebar-bg: #18181b;--sidebar-fg: #fafafa;--sidebar-link: #e4e4e7;--sidebar-hover: #27272a;--sidebar-active: #27272a;--sidebar-active-fg: #fff;--sidebar-hint: #a1a1aa;--main-bg: #f4f4f5;--editor-border: #e4e4e7;--editor-shell-bg: #fff;--editor-toolbox-bg: #fafafa;--editor-toolbox-def-bg: #fff;--editor-toolbox-route-border: #f4f4f5;--editor-canvas-bg: #fafafa;--editor-inspector-bg: #fff;--toolbox-method: var(--accent, #4f46e5);--toolbox-path: #52525b;--wf-node-border: #d4d4d8;--wf-node-bg: #fff;--wf-node-shadow: 0 1px 2px rgba(0, 0, 0, .06);--wf-node-http-border: #93c5fd;--wf-node-guard-border: #f59e0b;--wf-node-if-border: #a855f7;--wf-node-fork-border: #22c55e;--wf-node-join-border: #0ea5e9;--wf-node-comment-badge: #f59e0b;--wf-node-selected-border: var(--accent, #4f46e5);--wf-node-selected-glow: var(--accent-ring, rgba(79, 70, 229, .25));--wf-node-kind: #5f5f68;--wf-node-label: #18181b;--button-link-bg: #fff;--button-link-fg: var(--accent, #4f46e5);--button-link-border: var(--accent, #4f46e5);--str-label: #3f3f46;--wizard-bg: #fafafa;--editor-toolbar-group-bg: var(--accent-muted, rgba(79, 70, 229, .07));--editor-empty-card-bg: rgba(255, 255, 255, .94);--wf-badge-draft-bg: #f4f4f5;--wf-badge-draft-fg: #52525b;--wf-badge-draft-border: #d4d4d8;--wf-badge-active-bg: #ecfdf5;--wf-badge-active-fg: #065f46;--wf-badge-active-border: #6ee7b7;--theme-toggle-bg: #27272a;--theme-toggle-border: #3f3f46;--theme-toggle-fg: #e4e4e7;--theme-toggle-hover: #3f3f46}[data-theme=dark]{color-scheme:dark;--fg: #fafafa;--page-bg: #09090b;--link: var(--accent, #818cf8);--muted: #a1a1aa;--text: var(--fg);--text-muted: var(--muted);--panel: var(--card-bg);--bg: var(--page-bg);--surface: var(--card-bg);--surface-muted: var(--card-muted-bg);--surface-2: var(--card-muted-bg);--border-subtle: var(--border);--color-success: var(--success, #34d399);--accent-border: var(--accent, #818cf8);--session-off-bg: #422006;--session-off-border: #854d0e;--session-off-text: #fde68a;--session-pending-bg: #1e3a5f;--session-pending-border: #2563eb;--session-pending-text: #bfdbfe;--session-loading-bg: #27272a;--session-loading-border: #52525b;--session-loading-text: #d4d4d8;--session-on-bg: #052e16;--session-on-border: #166534;--session-on-text: #86efac;--card-muted-bg: #27272a;--card-bg: #18181b;--card-shadow: 0 1px 3px rgba(0, 0, 0, .4);--border: #3f3f46;--border-input: #52525b;--btn-primary-bg: var(--accent, #818cf8);--btn-primary-border: var(--accent, #818cf8);--btn-primary-fg: #fff;--btn-secondary-bg: #27272a;--btn-secondary-fg: var(--accent, #818cf8);--btn-danger-bg: var(--danger, #f87171);--btn-danger-border: var(--danger, #f87171);--btn-danger-fg: #fff;--banner-error-bg: #450a0a;--banner-error-border: #991b1b;--banner-error-text: #fecaca;--logs-bg: #020617;--logs-fg: #e2e8f0;--nav-bg: #18181b;--nav-border: #3f3f46;--doc-bg: #09090b;--modal-overlay: rgba(0, 0, 0, .65);--modal-bg: #18181b;--modal-shadow: 0 10px 40px rgba(0, 0, 0, .5);--modal-key-bg: #27272a;--modal-key-border: #3f3f46;--sidebar-bg: #020617;--sidebar-fg: #f1f5f9;--sidebar-link: #cbd5e1;--sidebar-hover: #1e293b;--sidebar-active: #1e293b;--sidebar-active-fg: #fff;--sidebar-hint: #94a3b8;--main-bg: #09090b;--editor-border: #3f3f46;--editor-shell-bg: #18181b;--editor-toolbox-bg: #0f172a;--editor-toolbox-def-bg: #1e293b;--editor-toolbox-route-border: #334155;--editor-canvas-bg: #0c1222;--editor-inspector-bg: #18181b;--toolbox-method: var(--accent, #818cf8);--toolbox-path: #94a3b8;--wf-node-border: #52525b;--wf-node-bg: #27272a;--wf-node-shadow: 0 1px 2px rgba(0, 0, 0, .35);--wf-node-http-border: #3b82f6;--wf-node-guard-border: #fbbf24;--wf-node-if-border: #c084fc;--wf-node-fork-border: #4ade80;--wf-node-join-border: #38bdf8;--wf-node-comment-badge: #fbbf24;--wf-node-selected-border: var(--accent, #818cf8);--wf-node-selected-glow: var(--accent-ring, rgba(129, 140, 248, .35));--wf-node-kind: #a1a1aa;--wf-node-label: #fafafa;--button-link-bg: #27272a;--button-link-fg: var(--accent, #818cf8);--button-link-border: var(--accent, #818cf8);--str-label: #d4d4d8;--wizard-bg: #1e293b;--editor-toolbar-group-bg: var(--accent-muted, rgba(129, 140, 248, .12));--editor-empty-card-bg: rgba(24, 24, 27, .92);--wf-badge-draft-bg: #27272a;--wf-badge-draft-fg: #a1a1aa;--wf-badge-draft-border: #52525b;--wf-badge-active-bg: #052e16;--wf-badge-active-fg: #86efac;--wf-badge-active-border: #166534;--theme-toggle-bg: #1e293b;--theme-toggle-border: #334155;--theme-toggle-fg: #e2e8f0;--theme-toggle-hover: #334155}:root{color:var(--fg);background:var(--page-bg)}body{margin:0}a{color:var(--link)}.dashboard{max-width:960px;margin:0 auto;padding:1.5rem}.workflow-lead{line-height:1.55;max-width:44rem}.wf-howto{margin:1rem 0 0;padding-left:1.25rem;line-height:1.55;font-size:.9rem;color:var(--muted);max-width:42rem}.wf-howto li{margin-bottom:.4rem}.wf-howto strong{color:var(--fg)}.card--create-wf__hint{margin-top:-.15rem}.create-wf-form{display:flex;flex-wrap:wrap;gap:1rem 1.25rem;align-items:flex-end;margin-top:.65rem}.create-wf-field{flex:2 1 240px}.create-wf-field--narrow{flex:1 1 200px;max-width:260px}.create-wf-actions{flex:0 0 auto}.wf-empty-card__title{font-weight:600;margin:0 0 .35rem;font-size:1.05rem;color:var(--fg)}.workflow-table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -.25rem;padding:0 .25rem}.workflow-table__date{white-space:nowrap;font-variant-numeric:tabular-nums}.workflow-actions{gap:.35rem!important}.modal-actions{flex-wrap:wrap;gap:.5rem}.page-editor--narrow{max-width:520px;margin:0 auto;padding:0 1rem}.session-banner{border-radius:8px;padding:.85rem 1rem;margin-bottom:1rem;font-size:.95rem;line-height:1.45}.session-off{background:var(--session-off-bg);border:1px solid var(--session-off-border);color:var(--session-off-text)}.session-pending{background:var(--session-pending-bg);border:1px solid var(--session-pending-border);color:var(--session-pending-text)}.session-loading{background:var(--session-loading-bg);border:1px solid var(--session-loading-border);color:var(--session-loading-text)}.session-on{background:var(--session-on-bg);border:1px solid var(--session-on-border);color:var(--session-on-text)}.tenant-quota{margin-bottom:1rem}.tenant-quota__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.35rem}.tenant-quota__title{margin:0;font-size:1.05rem}.tenant-quota__bar{height:.55rem;border-radius:999px;background:var(--border-subtle, rgba(127, 127, 127, .25));overflow:hidden;margin:.75rem 0}.tenant-quota__bar-fill{height:100%;border-radius:inherit;background:var(--color-ok, #2e7d4f);transition:width .2s ease}.tenant-quota--warn .tenant-quota__bar-fill{background:var(--color-warn, #b8860b)}.tenant-quota--danger .tenant-quota__bar-fill{background:var(--color-danger, #c62828)}.tenant-quota__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:0}.tenant-quota__stats div{min-width:0}.tenant-quota__stats dt{margin:0;font-size:.78rem;color:var(--text-muted)}.tenant-quota__stats dd{margin:.15rem 0 0;font-size:1.1rem;font-weight:600}.card-muted{opacity:var(--card-muted-opacity);background:var(--card-muted-bg)!important}.key-hint{margin:.5rem 0 0;font-size:.82rem}.header h1{margin:0 0 .25rem;font-size:1.75rem}.muted{color:var(--muted);font-size:.9rem}.card{background:var(--card-bg);border-radius:var(--radius, 10px);border:1px solid var(--border);padding:1rem 1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-sm, var(--card-shadow))}.card h2{margin-top:0;font-size:1.1rem}.row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.input-wide{flex:1;min-width:200px;padding:.5rem .75rem;border:1px solid var(--border-input);border-radius:var(--radius-sm, 6px);font-size:.9rem;background:var(--card-bg);color:var(--fg)}.form-textarea{width:100%;min-height:160px;padding:.6rem .75rem;border:1px solid var(--border-input);border-radius:var(--radius-sm, 6px);font-size:.82rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;line-height:1.4;resize:vertical;background:var(--card-bg);color:var(--fg)}.form-label{display:block;font-size:.88rem;font-weight:600;margin:.5rem 0 .25rem}.form-stack{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}button{padding:.45rem .9rem;border-radius:var(--radius-sm, 6px);border:1px solid var(--btn-primary-border);background:var(--btn-primary-bg);color:var(--btn-primary-fg);cursor:pointer;font-size:.9rem}button.secondary,.btn--secondary{background:var(--btn-secondary-bg);border-color:var(--border);color:var(--btn-secondary-fg)}.btn--secondary:hover:not(:disabled){background:var(--card-muted-bg)}.btn--danger{background:var(--btn-danger-bg, var(--danger));border-color:var(--btn-danger-border, var(--danger));color:var(--btn-danger-fg, #fff)}.btn--danger:hover:not(:disabled){filter:brightness(1.05)}.btn--ghost.btn--danger{background:transparent;border-color:var(--danger-border, var(--danger));color:var(--danger)}.btn--ghost.btn--danger:hover:not(:disabled){background:var(--danger-bg)}.run-trigger-badge{display:inline-flex;align-items:center;font-size:.8rem;font-weight:600;padding:.15rem .55rem;border-radius:999px;border:1px solid var(--border);background:var(--card-muted-bg);color:var(--muted);white-space:nowrap}.run-trigger-badge--manual{background:var(--session-pending-bg);border-color:var(--session-pending-border);color:var(--session-pending-text)}.run-trigger-badge--scheduled{background:var(--success-bg, #ecfdf5);border-color:var(--success-border, #6ee7b7);color:var(--success, #065f46)}.run-trigger-badge--webhook{background:var(--accent-muted, rgba(79, 70, 229, .1));border-color:var(--accent, #4f46e5);color:var(--accent, #4f46e5)}.run-trigger-badge--unknown{background:var(--card-muted-bg);border-color:var(--border);color:var(--muted)}.row.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;margin-top:1rem}button:hover{filter:brightness(1.05)}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th,.table td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border)}.banner,.banner.error,.banner--error{background:var(--banner-error-bg);border:1px solid var(--banner-error-border);color:var(--banner-error-text);padding:.75rem 1rem;border-radius:var(--radius-sm, 6px);margin-bottom:1rem}.banner.muted,.banner--muted{background:var(--card-muted-bg);border:1px solid var(--border);color:var(--muted);padding:.75rem 1rem;border-radius:var(--radius-sm, 6px);margin-bottom:1rem}.banner--info{background:var(--session-pending-bg);border:1px solid var(--session-pending-border);color:var(--session-pending-text);padding:.75rem 1rem;border-radius:var(--radius-sm, 6px);margin-bottom:1rem}.error-text{color:var(--banner-error-text)}.logs{background:var(--logs-bg);color:var(--logs-fg);padding:1rem;border-radius:6px;overflow:auto;font-size:.8rem;max-height:320px}.nav-bar{padding:.75rem 1rem;background:var(--nav-bg);border-bottom:1px solid var(--nav-border)}.doc-viewer .swagger-wrap{min-height:60vh}.pipeit-op-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem}.pipeit-add-route-link{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:6px;border:1px solid var(--accent, #4f46e5);background:var(--accent-muted, rgba(79, 70, 229, .1));color:var(--accent, #4f46e5);font-size:.75rem;font-weight:600;text-decoration:none;white-space:nowrap}.pipeit-add-route-link:hover{background:var(--accent, #4f46e5);color:#fff}.pipeit-add-route-hint{display:block;margin-top:.25rem;max-width:28rem}.doc-viewer__editor-hint{margin-bottom:.75rem}.toolbox__doc-link{margin-left:auto;font-size:.75rem;font-weight:500;text-decoration:none}.toolbox__doc-route-link{text-decoration:none}.toolbox__doc-route-link:hover{text-decoration:underline}.doc-viewer{background:var(--doc-bg);min-height:100vh}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.modal-dialog{background:var(--modal-bg);color:var(--fg);border-radius:10px;padding:1.25rem 1.5rem;max-width:min(520px,100%);box-shadow:var(--modal-shadow)}.modal-dialog h3{margin:0 0 .5rem;font-size:1.1rem}.modal-key{font-size:.82rem;word-break:break-all;background:var(--modal-key-bg);padding:.75rem;border-radius:6px;margin:.75rem 0;border:1px solid var(--modal-key-border)}.small{font-size:.82rem}.empty-hint{margin-top:.75rem}.empty-state{padding:2rem 1rem;text-align:center;color:var(--muted)}.app-shell{display:flex;flex:1;min-height:100vh;min-height:100dvh;width:100%}.app-shell__sidebar{width:220px;flex-shrink:0;background:var(--sidebar-bg);color:var(--sidebar-fg);padding:1.25rem 1rem}.app-shell__brand{font-weight:700;font-size:1.15rem;margin-bottom:1.25rem;letter-spacing:-.02em}.app-shell__nav{display:flex;flex-direction:column;gap:.35rem}.theme-toggle{width:100%;margin-top:1rem;padding:.45rem .65rem;border-radius:6px;border:1px solid var(--theme-toggle-border);background:var(--theme-toggle-bg);color:var(--theme-toggle-fg);font-size:.82rem;cursor:pointer;text-align:center}.theme-toggle:hover{background:var(--theme-toggle-hover)}.app-shell__link{color:var(--sidebar-link);text-decoration:none;padding:.45rem .55rem;border-radius:6px;font-size:.92rem}.app-shell__link:hover{background:var(--sidebar-hover)}.app-shell__link--active{background:var(--sidebar-active);color:var(--sidebar-active-fg);font-weight:600}.app-shell__hint{margin-top:2rem;font-size:.78rem;line-height:1.45;color:var(--sidebar-hint)}.app-shell__main{flex:1;background:var(--main-bg);overflow:auto;padding:1.25rem 1.5rem}.page-editor{max-width:1400px;margin:0 auto}.page-editor--immersive{max-width:none;margin:0;flex:1;min-height:0;display:flex;flex-direction:column;height:100%}.app-shell:has(.page-editor--immersive){height:100dvh;max-height:100dvh;overflow:hidden}.app-shell--editor-focus .app-shell__sidebar{width:0;min-width:0;padding:0;overflow:hidden;opacity:0;pointer-events:none;border:none;transition:width .2s ease,opacity .2s ease}.app-shell__main:has(.page-editor--immersive){padding:0;overflow:hidden;display:flex;flex-direction:column;min-height:0}.page:has(.page-editor--immersive){max-width:none;margin:0;width:100%;flex:1;min-height:0;display:flex;flex-direction:column}.page-editor--immersive .editor-chrome{flex-shrink:0;padding:.4rem .75rem 0;border-bottom:1px solid var(--editor-border);background:var(--main-bg)}.page-editor--immersive .editor-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem .75rem;margin-bottom:0}.page-editor--immersive .editor-toolbar__title h1,.page-editor--immersive .editor-title-row h1,.page-editor--immersive .editor-template-name__input{margin:.1rem 0;font-size:1.05rem}.page-editor--immersive .editor-id-hint{margin-top:0;font-size:.75rem}.page-editor--immersive .editor-chrome-more{margin:.35rem 0 .4rem;border:none;background:transparent;padding:0}.page-editor--immersive .editor-chrome-more>summary{cursor:pointer;font-size:.78rem;font-weight:600;color:var(--muted);padding:.15rem 0;list-style-position:outside}.page-editor--immersive .editor-chrome-more__body{display:flex;flex-direction:column;gap:.4rem;margin-top:.35rem;max-height:min(36vh,280px);overflow-y:auto;padding-right:.25rem}.page-editor--immersive .editor-aux,.page-editor--immersive .editor-graph-semantics,.page-editor--immersive .editor-help-strip,.page-editor--immersive .editor-shortcuts-strip{margin:0}.page-editor--immersive .editor-aux>summary,.page-editor--immersive .editor-graph-semantics>summary,.page-editor--immersive .editor-help-strip>summary,.page-editor--immersive .editor-shortcuts-strip>summary{cursor:pointer;font-weight:600;font-size:.88rem;padding:.35rem 0;list-style-position:outside}.page-editor--immersive .editor-help-strip__body{margin:.35rem 0 0;line-height:1.45}.page-editor--immersive .editor-chrome .session-banner,.page-editor--immersive .editor-chrome .banner{margin-bottom:.5rem}.page-editor--immersive .editor-layout{flex:1 1 0;min-height:0;height:100%;border-radius:0;border-left:none;border-right:none;border-bottom:none;grid-template-columns:minmax(200px,260px) minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);align-content:stretch;overflow:hidden}.page-editor--immersive .editor-toolbox-wrap,.page-editor--immersive .editor-inspector-split{max-height:none;min-height:0;height:100%;overflow:hidden}.page-editor--immersive .editor-inspector{display:flex;flex-direction:column;overflow:auto}.page-editor--immersive .editor-canvas-wrap{flex:1;min-height:0;height:100%;overflow:hidden;display:flex;flex-direction:column}.page-editor--immersive .editor-canvas{flex:1 1 0;height:100%;min-height:0;width:100%}.page-editor--immersive .editor-canvas .react-flow{width:100%;height:100%;min-height:0}.page-editor--immersive .editor-run{flex-shrink:0;margin:0;border-radius:0;border-left:none;border-right:none;border-bottom:none;max-height:min(40vh,320px);overflow:auto}.page-editor--immersive .editor-run>summary{cursor:pointer;font-weight:600;padding:.65rem 1rem;position:sticky;top:0;background:var(--card-bg);border-bottom:1px solid var(--border);z-index:1}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:.75rem;top:.75rem;z-index:2000;padding:.5rem .85rem;background:var(--card-bg);color:var(--link);border:2px solid var(--link);border-radius:6px;font-weight:600;text-decoration:none;transform:translateY(-160%);transition:transform .15s ease}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0)}@media (max-width: 900px){.page-editor--immersive .editor-chrome{padding:.35rem .5rem 0}.page-editor--immersive .editor-toolbar__actions--wrap{gap:.4rem .5rem}.page-editor--immersive .toolbar-group{padding:.3rem .4rem}.page-editor--immersive .editor-layout{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr)}.page-editor--immersive .editor-canvas-wrap{min-height:0;flex:1 1 0;height:100%}}.editor-toolbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1rem}.editor-toolbar__title h1{margin:.35rem 0 .25rem;font-size:1.35rem}.editor-title-row{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.editor-template-name{display:flex;flex-direction:column;gap:.15rem;min-width:min(100%,14rem)}.editor-template-name__label{font-size:.72rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.editor-template-name__input{margin:0;padding:.35rem .55rem;font-size:1.05rem;font-weight:600;line-height:1.3;border:1px solid var(--border-input);border-radius:8px;background:var(--btn-secondary-bg);color:var(--text);min-width:12rem;max-width:min(28rem,100%)}.editor-template-name__input:focus{outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent);outline-offset:1px;border-color:var(--accent)}.page-editor--immersive .editor-template-name__input{font-size:1rem;padding:.3rem .5rem}.editor-title-row h1{margin:.35rem 0 .25rem;font-size:1.35rem}.editor-id-hint{display:block;margin-top:.15rem}.editor-back{text-decoration:none;font-size:.88rem}.editor-toolbar__actions{flex-wrap:wrap}.editor-toolbar__actions--wrap{display:flex;flex-wrap:wrap;gap:.65rem 1rem;align-items:flex-end;justify-content:flex-end;max-width:100%}.toolbar-group{display:flex;flex-direction:column;gap:.35rem;padding:.45rem .55rem;border-radius:8px;background:var(--editor-toolbar-group-bg);border:1px solid var(--editor-border);min-width:0}.toolbar-group__label{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.toolbar-group__btns{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.node-add-palette__wrap{position:relative}.node-add-palette__panel{position:absolute;top:calc(100% + .35rem);left:0;z-index:40;width:min(320px,80vw);max-height:360px;display:flex;flex-direction:column;gap:.4rem;padding:.5rem;border:1px solid var(--border);border-radius:var(--radius, 10px);background:var(--card-bg);box-shadow:var(--shadow, var(--card-shadow))}.node-add-palette__search{width:100%;box-sizing:border-box}.node-add-palette__list{list-style:none;margin:0;padding:0;overflow:auto;max-height:280px}.node-add-palette__item{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;text-align:left;padding:.45rem .5rem;border:none;border-radius:var(--radius-sm, 6px);background:transparent;cursor:pointer;color:inherit}.node-add-palette__item:hover,.node-add-palette__item:focus-visible{background:var(--editor-toolbar-group-bg)}.node-add-palette__item-label{font-weight:600;font-size:.88rem}.node-add-palette__item-hint{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.node-add-palette__empty{padding:.5rem}.wf-status-badge{font-size:.78rem;padding:.15rem .55rem;border-radius:999px;font-weight:600;border:1px solid transparent}.wf-status-badge--draft{background:var(--wf-badge-draft-bg);color:var(--wf-badge-draft-fg);border-color:var(--wf-badge-draft-border)}.wf-status-badge--active{background:var(--wf-badge-active-bg);color:var(--wf-badge-active-fg);border-color:var(--wf-badge-active-border)}.wf-merge-warn{font-size:.78rem;padding:.15rem .55rem;border-radius:999px;font-weight:600;border:1px solid var(--color-warn-border, #b45309);background:var(--color-warn-bg, #fffbeb);color:var(--color-warn-fg, #92400e)}.wf-graph-invalid-badge{font-size:.78rem;padding:.15rem .55rem;border-radius:999px;font-weight:600;border:1px solid var(--danger-border, #dc2626);background:var(--danger-bg, #fef2f2);color:var(--danger, #b91c1c)}.graph-validation{margin:0 0 .65rem;padding:.55rem .75rem;border-radius:var(--radius-sm);font-size:.85rem;line-height:1.45}.graph-validation--ok{display:flex;align-items:center;gap:.45rem;border:1px solid var(--success-border, #16a34a);background:var(--success-bg, #ecfdf5);color:var(--success, #15803d)}.graph-validation--error{border:1px solid var(--danger-border, #dc2626);background:var(--danger-bg, #fef2f2);color:var(--fg)}.graph-validation__title{margin:0 0 .35rem;font-weight:600;font-size:.85rem}.graph-validation__list{margin:0;padding-left:1.1rem}.graph-validation__list li+li{margin-top:.25rem}.graph-validation__link{all:unset;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.graph-validation__link:hover{color:var(--accent)}.react-flow__node.wf-node--invalid .wf-node{outline:2px solid #dc2626;outline-offset:2px;box-shadow:0 0 0 3px color-mix(in srgb,#dc2626 25%,transparent)}.editor-graph-semantics{margin:0 0 .75rem;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--editor-border);background:var(--editor-toolbox-bg)}.editor-graph-semantics>summary{cursor:pointer;font-weight:600;font-size:.9rem;list-style-position:outside}.editor-graph-semantics__body{margin-top:.5rem;line-height:1.45}.editor-graph-semantics__body p{margin:.35rem 0}.editor-help-strip{margin:0 0 .85rem;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--editor-border);background:var(--editor-toolbox-bg);line-height:1.45}.editor-help-strip>summary{cursor:pointer;font-weight:600;list-style-position:outside}.editor-help-strip__body{margin:.35rem 0 0}.editor-shortcuts-strip{margin:0 0 .85rem;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--editor-border);background:var(--editor-toolbox-bg);line-height:1.45}.editor-shortcuts-strip>summary{cursor:pointer;font-weight:600;list-style-position:outside}.editor-shortcuts-strip__body{margin-top:.35rem}.editor-shortcuts__hint{margin:0 0 .65rem}.editor-shortcuts__list{margin:0;display:grid;gap:.45rem}.editor-shortcuts__row{display:grid;grid-template-columns:minmax(9rem,auto) 1fr;gap:.75rem 1rem;align-items:baseline}.editor-shortcuts__row dt,.editor-shortcuts__row dd{margin:0}.editor-shortcuts__keys{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.15rem}.editor-shortcuts__plus{margin:0 .1rem;color:var(--muted);font-size:.75rem}.editor-shortcuts__kbd{display:inline-block;min-width:1.35rem;padding:.12rem .38rem;border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;background:var(--surface-elevated, var(--bg));font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.72rem;line-height:1.35;color:var(--fg);white-space:nowrap}@media (max-width: 640px){.editor-shortcuts__row{grid-template-columns:1fr;gap:.25rem}}.kbd-hint{display:inline-block;padding:.08rem .4rem;border-radius:4px;border:1px solid var(--border-input);font-size:.76rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;background:var(--card-bg);color:var(--fg)}.editor-canvas-wrap{position:relative;min-height:0;display:flex;flex-direction:column}.editor-empty-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:2;padding:1rem}.editor-empty-card{max-width:340px;padding:1rem 1.2rem;border-radius:10px;background:var(--editor-empty-card-bg);border:1px dashed var(--editor-border);box-shadow:var(--card-shadow);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.editor-empty-card__title{margin:0 0 .4rem;font-weight:600;font-size:1rem;color:var(--fg)}.run-panel-meta{margin:0 0 .65rem;line-height:1.5}.run-status{margin-left:.35rem;font-weight:600;font-size:.88rem}.run-status--ok{color:var(--session-on-text)}.run-status--err{color:var(--banner-error-text)}.run-status--pending{color:var(--session-pending-text)}.run-status--neutral{color:var(--muted)}.run-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.8rem;font-weight:600;line-height:1.3;border:1px solid var(--border);background:var(--card-muted-bg);color:var(--fg)}.run-badge--ok{background:var(--session-on-bg);border-color:var(--session-on-border);color:var(--session-on-text)}.run-badge--err{background:var(--banner-error-bg);border-color:var(--banner-error-border);color:var(--banner-error-text)}.run-badge--pending{background:var(--session-pending-bg);border-color:var(--session-pending-border);color:var(--session-pending-text)}.run-badge--neutral{background:var(--card-muted-bg);color:var(--muted)}.health-badge{display:inline-block;padding:.15rem .5rem;border-radius:999px;font-size:.8rem;font-weight:600;line-height:1.3;border:1px solid var(--border);background:var(--card-muted-bg);color:var(--fg)}.health-badge--ok{background:var(--session-on-bg);border-color:var(--session-on-border);color:var(--session-on-text)}.health-badge--warn{background:var(--session-off-bg);border-color:var(--session-off-border);color:var(--session-off-text)}.health-badge--err{background:var(--banner-error-bg);border-color:var(--banner-error-border);color:var(--banner-error-text)}.health-badge--neutral{background:var(--card-muted-bg);color:var(--muted)}.ops-health-table{width:100%;border-collapse:collapse}.ops-health-table th,.ops-health-table td{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--border);vertical-align:top}.ops-health-table th{width:38%;color:var(--muted);font-weight:600}.ops-health__links{display:flex;flex-wrap:wrap;gap:1rem;font-size:.9rem}.ops-health__json{margin:0;padding:1rem;border-radius:var(--radius, 8px);background:var(--card-muted-bg);overflow:auto;font-size:.8rem}.run-detail-summary{margin:0 0 1rem;padding:.75rem .85rem;border-radius:8px;border:1px solid var(--border);background:var(--card-muted-bg)}.run-detail-summary__row{margin:0 0 .45rem;line-height:1.45}.run-detail-summary__row:last-of-type{margin-bottom:0}.editor-layout{display:grid;grid-template-columns:260px minmax(0,1fr) auto;gap:0;border-radius:10px;overflow:hidden;border:1px solid var(--editor-border);background:var(--editor-shell-bg);position:relative;min-height:0}.editor-inspector-split{display:flex;flex-direction:row;min-width:0;min-height:0;height:100%;width:280px}.editor-inspector-split--dragging{-webkit-user-select:none;user-select:none}.editor-inspector-split--dragging,.editor-inspector-split--dragging *{cursor:col-resize!important}.editor-inspector-split__handle{flex:0 0 6px;width:6px;margin:0;padding:0;border:none;border-left:1px solid var(--editor-border);background:transparent;cursor:col-resize;touch-action:none}.editor-inspector-split__handle:hover,.editor-inspector-split__handle:focus-visible{background:color-mix(in srgb,var(--accent) 18%,transparent)}.editor-inspector-split__handle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.editor-inspector-split .editor-inspector{flex:1;min-width:0;border-left:none}.editor-mobile-panels,.editor-drawer-head,.editor-drawer-backdrop{display:none}.editor-drawer-close{padding:.25rem .5rem;font-size:.82rem;border-radius:6px;border:1px solid var(--border-input);background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);cursor:pointer}@media (max-width: 900px){.editor-mobile-panels{display:flex}.editor-layout{grid-template-columns:1fr;overflow:visible}.editor-toolbox-wrap,.editor-inspector-split{display:none}.editor-canvas-wrap{min-height:50vh}.page-editor--immersive .editor-canvas-wrap{min-height:0}.editor-layout.editor-layout--toolbox-drawer .editor-toolbox-wrap,.editor-layout.editor-layout--inspector-drawer .editor-inspector-split{display:flex;flex-direction:column;position:fixed;top:0;bottom:0;width:min(300px,90vw)!important;max-height:none;z-index:2100;box-shadow:0 0 24px #0000002e;border:1px solid var(--editor-border)}.editor-layout.editor-layout--toolbox-drawer .editor-toolbox-wrap .editor-toolbox{flex:1;min-height:0;overflow-y:auto}.editor-layout.editor-layout--inspector-drawer .editor-inspector-split .editor-inspector{display:flex;flex-direction:column;padding:0;overflow:hidden;max-height:none;flex:1;min-height:0}.editor-layout.editor-layout--inspector-drawer .editor-inspector-split .editor-inspector>:not(.editor-drawer-head){flex:1;min-height:0;overflow:auto;padding:1rem}.editor-layout.editor-layout--toolbox-drawer .editor-toolbox-wrap{left:0;border-radius:0 10px 10px 0}.editor-layout.editor-layout--inspector-drawer .editor-inspector-split{right:0;left:auto;border-radius:10px 0 0 10px}.editor-layout.editor-layout--drawer-open .editor-drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2050;border:none;padding:0;margin:0;cursor:pointer;background:var(--modal-overlay)}.editor-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-shrink:0;padding:.5rem .65rem;border-bottom:1px solid var(--editor-border);background:var(--editor-toolbox-bg);font-size:.88rem;font-weight:600}.editor-inspector .editor-drawer-head{background:var(--editor-inspector-bg)}.editor-drawer-head__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.editor-toolbox-wrap{border-right:1px solid var(--editor-border);background:var(--editor-toolbox-bg);display:flex;flex-direction:column;min-height:0;overflow:hidden}.editor-toolbox{padding:.85rem .75rem;overflow-y:auto;flex:1;font-size:.82rem}.toolbox__title{margin:0 0 .35rem;font-size:.92rem}.toolbox__hint,.toolbox__empty{margin:0 0 .65rem;line-height:1.4}.toolbox__list{display:flex;flex-direction:column;gap:.35rem}.toolbox__cat-block{margin-bottom:.65rem}.toolbox__cat-title{margin:0 0 .35rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.toolbox__cat-block .toolbox__def{margin-bottom:.35rem}.toolbox__def{border:1px solid var(--editor-border);border-radius:8px;background:var(--editor-toolbox-def-bg)}.toolbox__summary{cursor:pointer;padding:.45rem .55rem;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:.35rem;font-weight:500}.toolbox__summary::-webkit-details-marker{display:none}.toolbox__def-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbox__def-ver{flex-shrink:0;font-size:.75rem}.toolbox__routes-msg{margin:0 .55rem .55rem;padding:0 .55rem}.toolbox__routes{list-style:none;margin:0;padding:0 .45rem .45rem;max-height:240px;overflow-y:auto}.toolbox__route{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.35rem .5rem;padding:.35rem .25rem;border-top:1px solid var(--editor-toolbox-route-border)}.toolbox__route:first-child{border-top:none}.toolbox__route-info{min-width:0;flex:1;display:flex;flex-wrap:wrap;gap:.25rem;align-items:baseline}.toolbox__method{font-size:.72rem;font-weight:600;color:var(--toolbox-method);flex-shrink:0}.toolbox__path{font-size:.72rem;color:var(--toolbox-path);word-break:break-all}.toolbox__add-btn{flex-shrink:0;font-size:.72rem;padding:.2rem .45rem}.page-editor--immersive .toolbox__routes{max-height:none;overflow-y:visible}.editor-canvas{flex:1;min-height:320px;background:var(--editor-canvas-bg)}.editor-inspector{border-left:1px solid var(--editor-border);background:var(--editor-inspector-bg);padding:1rem;overflow:auto;min-height:0}.editor-run{margin-top:1rem}.inspector__title{margin:0 0 .5rem;font-size:1rem}.inspector__meta{margin:0 0 .75rem;font-size:.8rem}.inspector--empty{padding:1rem 0}.inspector__empty-lead{margin:0 0 .5rem;font-weight:600;font-size:.95rem;color:var(--fg)}.inspector-section,.tenant-health{margin:.75rem 0;border:1px solid var(--border);border-radius:var(--radius, 10px);padding:0 .75rem .5rem;background:var(--card-bg)}.inspector-section{margin:.5rem 0;border-radius:0;border-left:none;border-right:none;border-top:1px solid var(--border);border-bottom:none;padding:0;background:transparent}.inspector-section__summary,.tenant-health__summary{cursor:pointer;font-weight:600;font-size:.88rem;padding:.55rem 0;list-style:none;color:var(--fg)}.inspector-section__summary::-webkit-details-marker,.tenant-health__summary::-webkit-details-marker{display:none}.inspector-section__summary:before,.tenant-health__summary:before{content:"▸";display:inline-block;margin-right:.35rem;color:var(--muted);transition:transform .12s ease}.inspector-section[open]>.inspector-section__summary:before,.tenant-health[open]>.tenant-health__summary:before{transform:rotate(90deg)}.inspector-section__body{padding-bottom:.35rem}.tenant-health{margin:0 0 1rem}.tenant-health__hint{margin:0 0 .75rem}.wf-node{position:relative;padding:.45rem .65rem;border-radius:8px;border:2px solid var(--wf-node-border);background:var(--wf-node-bg);min-width:132px;font-size:.82rem;box-shadow:var(--wf-node-shadow)}.wf-node--http{border-color:var(--wf-node-http-border)}.wf-node--guard{border-color:var(--wf-node-guard-border)}.wf-node--if{border-color:var(--wf-node-if-border);padding-bottom:1.35rem}.wf-node--fork{border-color:var(--wf-node-fork-border);border-style:double}.wf-node--join{border-color:var(--wf-node-join-border);border-style:dashed}.wf-node__branch-labels{position:absolute;left:0;right:0;bottom:.2rem;height:0;pointer-events:none}.wf-node__branch-label{position:absolute;transform:translate(-50%);font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--wf-node-kind);white-space:nowrap}.wf-node--if,.wf-node--fork,.wf-node--join,.wf-node--noop,.wf-node--http,.wf-node--guard{position:relative}.wf-node.is-selected{border-color:var(--wf-node-selected-border);box-shadow:0 0 0 2px var(--wf-node-selected-glow)}.wf-node--has-comment{border-style:dashed}.wf-node__comment-badge{position:absolute;top:5px;right:5px;width:8px;height:8px;border-radius:50%;background:var(--wf-node-comment-badge);box-shadow:0 0 0 2px var(--wf-node-bg);pointer-events:none}.inspector-node-comment{margin:0 0 1rem;padding:0 0 .85rem;border:none;border-bottom:1px solid var(--border)}.inspector-node-comment__textarea{min-height:5.5rem;resize:vertical;font-family:inherit;line-height:1.45}.inspector-node-comment__hint{margin:.15rem 0 .45rem}.inspector-node-comment__count{margin:.35rem 0 0;text-align:right}.wf-node__kind{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--wf-node-kind);margin-bottom:.2rem}.wf-node__label{font-weight:600;color:var(--wf-node-label)}a.button-link{display:inline-block;padding:.35rem .65rem;border-radius:6px;border:1px solid var(--button-link-border);background:var(--button-link-bg);color:var(--button-link-fg);text-decoration:none;font-size:.88rem}a.button-link:hover{filter:brightness(1.05)}.str-record{margin:.75rem 0}.str-record__label{font-size:.8rem;font-weight:600;margin-bottom:.35rem;color:var(--str-label)}.str-record__empty{margin:0 0 .35rem}.str-record__list{list-style:none;margin:0 0 .35rem;padding:0}.str-record__row{display:flex;gap:.35rem;align-items:center;margin-bottom:.35rem}.str-record__key{flex:0 0 38%;min-width:0}.str-record__val{flex:1;min-width:0}.str-record__rm{flex-shrink:0;padding:.2rem .45rem;line-height:1.2}.inspector-textarea{font-family:ui-monospace,monospace;font-size:.78rem;resize:vertical;background:var(--card-bg);color:var(--fg);border:1px solid var(--border-input)}.http-body-editor{margin:.75rem 0 1rem}.http-body-editor__head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.http-body-editor__mode{flex-wrap:wrap}.http-body-editor__hint{margin:0 0 .5rem}.http-body-editor__meta{margin:.35rem 0 .65rem;padding:.55rem .65rem;border-radius:8px;border:1px solid var(--editor-border, var(--border-input));background:color-mix(in srgb,var(--muted) 8%,transparent)}.http-body-editor__meta-line{margin:0 0 .35rem}.http-body-editor__meta-line:last-child{margin-bottom:0}.http-body-editor__specs{margin:.35rem 0;padding-left:1.1rem;line-height:1.45}.http-body-editor__specs li{margin-bottom:.2rem}.doc-viewer__try-hint{margin-bottom:.75rem}.http-body-editor__schema-btn{margin-bottom:.5rem}.http-body-editor__snippets{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.http-body-editor__list{margin-bottom:.5rem}.http-body-editor__row{margin-bottom:.75rem}.http-body-editor__row-grid{display:grid;grid-template-columns:minmax(6rem,28%) 1fr auto;gap:.35rem;align-items:start}@media (max-width: 640px){.http-body-editor__row-grid{grid-template-columns:1fr}}.small-btn{font-size:.8rem;padding:.35rem .65rem}.table-input{width:100%;max-width:260px;padding:.35rem .5rem;border:1px solid var(--border-input);border-radius:6px;font-size:.88rem;background:var(--card-bg);color:var(--fg)}.table-input--narrow{max-width:140px}.ingest-panel summary{font-weight:600}.ingest-tabs{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.75rem}.ingest-tab{padding:.35rem .75rem;border-radius:6px;border:1px solid var(--border-input);background:var(--card-bg);color:var(--fg);cursor:pointer;font-size:.88rem}.ingest-tab:hover{filter:brightness(1.03)}.ingest-tab--active{border-color:var(--btn-primary-border);background:var(--btn-primary-bg);color:var(--btn-primary-fg)}.definition-flow-tabs{margin-bottom:.85rem}.definition-flow-heading{margin:0 0 .35rem;font-size:1rem;font-weight:600;color:var(--fg)}.category-blur-hint{margin:0 0 .65rem}.toast-stack{position:fixed;bottom:1rem;right:1rem;z-index:10000;display:flex;flex-direction:column;gap:.5rem;max-width:min(22rem,calc(100vw - 2rem));pointer-events:none}.toast{pointer-events:auto;padding:.65rem .9rem;border-radius:8px;font-size:.9rem;line-height:1.35;box-shadow:var(--modal-shadow);border:1px solid var(--border);background:var(--card-bg);color:var(--fg)}.toast--success{border-color:var(--session-on-border);background:var(--session-on-bg);color:var(--session-on-text)}.toast--error{border-color:var(--banner-error-border);background:var(--banner-error-bg);color:var(--banner-error-text)}.ingest-success{margin:.5rem 0 0;padding:.5rem .65rem;border-radius:6px;font-size:.9rem}.wizard-panel{margin-bottom:1rem;padding:.5rem .75rem;border:1px solid var(--editor-border);border-radius:8px;background:var(--wizard-bg)}.wizard-panel summary{cursor:pointer;font-weight:600;font-size:.92rem}.error-boundary{padding:2rem;font-family:system-ui,sans-serif;background:var(--page-bg);color:var(--fg);min-height:100vh}.error-boundary h1{color:var(--banner-error-text)}.error-boundary pre{background:var(--logs-bg);color:var(--logs-fg);padding:1rem;overflow:auto;border-radius:8px}.admin-dashboard .admin-header{flex-wrap:wrap;gap:1rem;align-items:flex-start}.admin-nav{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.admin-nav__link{color:var(--link);text-decoration:none;font-size:.92rem}.admin-nav__link--active{font-weight:600;text-decoration:underline}.admin-main{padding:0 1rem 2rem;max-width:72rem}.admin-table-wrap{overflow-x:auto}.admin-table{width:100%;border-collapse:collapse;font-size:.88rem}.admin-table th,.admin-table td{padding:.5rem .6rem;border-bottom:1px solid var(--border);text-align:left}.admin-table th{font-weight:600;color:var(--muted)}.admin-table__actions{white-space:nowrap;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.tenant-quota__effective{margin-top:.75rem}.tenant-quota__subtitle{margin:0;font-size:1rem}.tenant-quota__form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-subtle, #e5e7eb)}.tenant-quota--ok .tenant-quota__bar-fill{background:var(--ok, #16a34a)}background: var(--success); } .prod-checklist{margin-bottom:1.25rem}.prod-checklist--fail{border-color:var(--danger-border)}.prod-checklist--warn{border-color:var(--warn-border)}.prod-checklist--ok{border-color:var(--success-border)}.prod-checklist__header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;margin-bottom:.85rem}.prod-checklist__title{margin:0 0 .25rem;font-size:1.05rem}.prod-checklist__header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.prod-checklist__status{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.prod-checklist__status--ok{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.prod-checklist__status--warn{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-border)}.prod-checklist__status--fail{background:var(--danger-bg);color:var(--danger);border:1px solid var(--danger-border)}.prod-checklist__items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.prod-checklist__item{padding:.75rem .85rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface-muted, rgba(0, 0, 0, .02))}.prod-checklist__item-head{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;margin-bottom:.35rem}.prod-checklist__item-head strong{flex:1 1 auto}.admin-checklist{margin:0;padding-left:1.25rem}.admin-bulk-bar{flex-wrap:wrap;align-items:center;gap:.75rem;margin:.75rem 0 1rem;padding:.65rem .85rem;border:1px solid var(--session-pending-border);border-radius:8px;background:var(--session-pending-bg);color:var(--session-pending-text)}.admin-table__check{width:2.25rem;vertical-align:middle;text-align:center}.info-tooltip--rich .info-tooltip__panel{width:min(22rem,calc(100vw - 1rem));pointer-events:auto;overflow:auto}.persona-tooltip{display:flex;flex-direction:column;gap:.45rem}.persona-tooltip--compact .persona-tooltip__note{display:none}.persona-tooltip__title{margin:0;font-weight:700;font-size:.86rem;line-height:1.3}.persona-tooltip__auth,.persona-tooltip__summary,.persona-tooltip__section{margin:0}.persona-tooltip__label{margin:0 0 .2rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.persona-tooltip__section ul{margin:0;padding-left:1.1rem}.persona-tooltip__section li{margin:.15rem 0}.persona-tooltip__note{margin:0}.persona-tooltip__more{margin:.15rem 0 0;padding-top:.35rem;border-top:1px solid var(--border)}.persona-tooltip__more a{font-size:.78rem}.tabs__hint .info-tooltip--rich .info-tooltip__panel{width:min(20rem,calc(100vw - 1rem))}.editor-toolbar .persona-toolbar-help{align-self:center;margin-left:.25rem}.info-tooltip{position:relative;display:inline-flex;vertical-align:middle}.info-tooltip__trigger{display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;margin-left:.35rem;padding:0;border-radius:999px;border:1px solid var(--border-input);background:var(--card-bg);color:var(--muted);font-size:.72rem;font-weight:700;font-style:italic;font-family:Georgia,Times New Roman,serif;line-height:1;cursor:help}.info-tooltip__trigger:hover,.info-tooltip__trigger:focus-visible{color:var(--link);border-color:var(--link);outline:none}.info-tooltip__panel{position:fixed;z-index:1200;width:min(18rem,calc(100vw - 1rem));padding:.55rem .65rem;border-radius:var(--radius-sm, 8px);border:1px solid var(--border);background:var(--card-bg);box-shadow:var(--shadow, var(--card-shadow));color:var(--fg);font-size:.82rem;font-weight:400;line-height:1.45;text-align:left;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s ease;top:0;left:0;box-sizing:border-box}.info-tooltip--open .info-tooltip__panel{opacity:1;visibility:visible}.info-tooltip--rich.info-tooltip--open .info-tooltip__panel{pointer-events:auto}.tabs__btn{display:inline-flex;align-items:center;gap:.15rem}.btn--sm{padding:.3rem .65rem;font-size:.8rem}.help-intro{max-width:52rem;margin:0 0 1.25rem;line-height:1.55}.help-inline-strip{margin:0 0 .85rem;padding:.55rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--card-muted-bg, var(--card-bg))}.help-session-card{margin-bottom:1.25rem;border-left:3px solid var(--btn-primary-bg)}.help-session-card__title{margin:0 0 .35rem;font-weight:600}.help-section{margin:1.75rem 0}.help-section h2{margin:0 0 .75rem;font-size:1.15rem}.help-table-wrap{overflow-x:auto}.help-table code.help-code-inline{font-size:.78rem;word-break:break-word}.help-persona-grid{display:grid;gap:1rem}@media (min-width: 960px){.help-persona-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.help-persona-card__title{margin:0 0 .5rem;font-size:1.05rem}.help-persona-card__note{margin:.5rem 0;padding:.45rem .55rem;border-radius:6px;background:var(--session-on-bg);border:1px solid var(--session-on-border);color:var(--session-on-text);font-size:.88rem}.help-persona-card__cols{display:grid;gap:.75rem;margin-top:.75rem}@media (min-width: 640px){.help-persona-card__cols{grid-template-columns:1fr 1fr}}.help-persona-card__cols h4{margin:0 0 .35rem;font-size:.9rem}.help-persona-card__cols ul{margin:0;padding-left:1.1rem;font-size:.88rem}.help-role-list{margin:.5rem 0 0;padding-left:1.25rem}.help-role-list li{margin:.35rem 0}.help-footer{margin-top:2rem}.help-examples-intro{max-width:52rem;margin:0 0 1rem}.help-examples-grid{display:grid;gap:1rem}.help-example-card__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.85rem}.help-example-card__title{margin:0 0 .35rem;font-size:1.05rem}.help-example-card__summary{margin:0;max-width:42rem}.help-example-card__graph{margin:0 0 .85rem;padding:.55rem .75rem;border-radius:8px;border:1px dashed var(--border);background:var(--card-muted-bg, var(--card-bg));overflow-x:auto}.help-example-card__graph code{font-size:.82rem;white-space:nowrap}.help-example-card__hints{margin-bottom:.85rem}.help-example-code{margin:.35rem 0 .65rem;padding:.55rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--code-bg, rgba(0, 0, 0, .04));overflow-x:auto}.help-example-code code{font-size:.8rem}.help-example-steps{list-style:none;margin:0;padding:0;display:grid;gap:.85rem}.help-example-step{display:flex;gap:.75rem;align-items:flex-start;padding-left:.15rem;border-left:2px solid var(--border)}.help-example-step__num{flex:0 0 auto;width:1.6rem;height:1.6rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--btn-primary-bg);color:var(--btn-primary-fg, #fff)}.help-example-step__body{flex:1;min-width:0;padding-bottom:.15rem}.help-example-step__title{margin:0 0 .25rem;font-weight:600}.help-example-step__action{margin-top:.45rem}.help-tutorials-intro{max-width:52rem;margin:0 0 1rem}.help-tutorials-grid{display:grid;gap:1rem}@media (min-width: 960px){.help-tutorials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.help-tutorial-card{display:flex;flex-direction:column;overflow:hidden;padding:0}.tutorial-video{position:relative;width:100%;aspect-ratio:16 / 9;background:#0f172a}.tutorial-video iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.tutorial-video--placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;background:var(--logs-bg, #18181b)}.tutorial-video__placeholder-caption{padding:0 .75rem;text-align:center;color:var(--logs-fg, #e4e4e7)}.tutorial-video__placeholder-icon{font-size:2.5rem;color:var(--muted)}.help-tutorial-card__body{padding:1rem 1.1rem 1.1rem}.help-tutorial-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.5rem}.help-tutorial-card__badge{display:inline-block;padding:.15rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;background:var(--accent-muted);border:1px solid var(--accent-border, var(--border))}.help-tutorial-card__title{margin:0 0 .35rem;font-size:1.05rem}.help-tutorial-card__summary{margin:0 0 .5rem}.help-tutorial-card__video-hint{margin:0 0 .65rem}.help-tutorial-card__actions{display:flex;flex-wrap:wrap;gap:.5rem}.help-architecture-intro{margin-bottom:1rem}.help-architecture-layout{display:grid;gap:1.25rem}@media (min-width: 768px){.help-architecture-layout{grid-template-columns:minmax(240px,360px) 1fr;align-items:start}}.tutorial-video--compact{border-radius:var(--radius-md, 8px);overflow:hidden}.help-architecture-list{margin:.75rem 0;padding-left:1.25rem}.help-architecture-list li{margin-bottom:.35rem}.help-architecture-video-hint{margin-bottom:.5rem}.help-anchor{font-weight:600}.portal-page .portal-card{width:100%;max-width:52rem;background:var(--card-bg);border-radius:var(--radius-lg, 14px);padding:2rem;box-shadow:var(--card-shadow);border:1px solid var(--border)}.portal-brand-logo{width:2.75rem;height:2.75rem;object-fit:contain;border-radius:var(--radius-sm);flex-shrink:0}.portal-page--branded .login-card__brand{align-items:center}.portal-branding-preview{margin:0;padding:.65rem .85rem;border-left:4px solid;border-radius:var(--radius-sm);font-size:.9rem;font-weight:600}.portal-page__intro{margin:0 0 1.25rem;line-height:1.55}.portal-page__toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.portal-page__read-only{margin:0}.portal-notify-toggle{display:inline-flex;align-items:center;gap:.4rem;margin:0;cursor:pointer;-webkit-user-select:none;user-select:none}.portal-notify-toggle input{margin:0}.portal-section{margin-top:1.25rem}.portal-section-title{margin:0 0 .65rem;font-size:1.05rem}.portal-section__heading{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.65rem}.portal-section__heading .portal-section-title{margin:0}.portal-section__heading-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem}.portal-live-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .5rem;border-radius:999px;font-size:.75rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-success, #15803d);background:color-mix(in srgb,var(--color-success, #15803d) 12%,transparent)}.portal-live-badge:before{content:"";width:.45rem;height:.45rem;border-radius:50%;background:currentColor;animation:portal-live-pulse 1.4s ease-in-out infinite}@keyframes portal-live-pulse{0%,to{opacity:1}50%{opacity:.35}}.portal-dashboard__intro{margin:0 0 .75rem}.portal-dashboard__kpis{margin-top:.25rem}.portal-dashboard__charts{display:grid;gap:1rem;margin-top:1rem}@media (min-width: 720px){.portal-dashboard__charts{grid-template-columns:1fr 1fr}}.portal-dashboard__chart{padding:1rem}.portal-dashboard__chart-title{margin:0 0 .85rem;font-size:.95rem;font-weight:600}.simple-column-chart{display:flex;align-items:flex-end;gap:.5rem;min-height:9rem;padding-top:.25rem}.simple-column-chart__col{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:0}.simple-column-chart__value{font-size:.7rem;font-weight:600;color:var(--text-muted)}.simple-column-chart__track{display:flex;align-items:flex-end;width:100%;height:6.5rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--border) 35%,transparent)}.simple-column-chart__bar{width:100%;min-height:2px;border-radius:var(--radius-sm) var(--radius-sm) 0 0;background:var(--danger, #dc2626);transition:height .2s ease}.simple-column-chart__label{font-size:.65rem;color:var(--text-muted);text-align:center;line-height:1.2}.simple-bar-chart{display:flex;flex-direction:column;gap:.55rem}.simple-bar-chart__row{display:grid;grid-template-columns:minmax(4rem,28%) 1fr auto;gap:.5rem;align-items:center}.simple-bar-chart__label{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.simple-bar-chart__track{height:.55rem;border-radius:999px;background:color-mix(in srgb,var(--border) 35%,transparent);overflow:hidden}.simple-bar-chart__bar{height:100%;min-width:2px;border-radius:999px;background:var(--danger, #dc2626);transition:width .2s ease}.simple-bar-chart__value{font-size:.8rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-muted)}.portal-client-card__name{margin:0 0 .25rem;font-size:1.15rem;font-weight:600}.portal-table-wrap{overflow-x:auto}.portal-status-hint{display:inline-block;margin-left:.35rem}.portal-page__footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.portal-token-actions{margin:.75rem 0 0}.portal-token-expired{color:var(--warn-fg, #b45309);font-weight:500}.portal-subsection-title{margin:0;font-size:1rem}.portal-tokens-section .card--form{margin-top:.25rem}.portal-page__client-name{margin:.5rem 0 0;font-weight:600}.portal-filter{display:block;margin-bottom:.75rem}.portal-run-detail{margin-top:1rem}.portal-run-logs{max-height:16rem;overflow:auto;font-size:.75rem;background:var(--surface-2);padding:.75rem;border-radius:var(--radius-sm)}.portal-rotatable-section{margin-top:1.5rem}.success-text{color:var(--success, #0a7);margin:0}.schedule-card{gap:1rem}.schedule-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.schedule-card__intro h2{margin:0 0 .25rem;font-size:1.125rem}.schedule-card__summary{margin:0;padding:.75rem 1rem;border-radius:var(--radius-sm, 8px);background:var(--card-muted-bg);border:1px solid var(--border);font-size:.9375rem}.schedule-card__summary--on{background:var(--session-on-bg);border-color:var(--session-on-border);color:var(--session-on-text)}.schedule-toggle{display:inline-flex;align-items:center;gap:.625rem;cursor:pointer;-webkit-user-select:none;user-select:none;flex-shrink:0}.schedule-toggle input{position:absolute;opacity:0;width:0;height:0}.schedule-toggle__label{font-size:.875rem;font-weight:500;color:var(--muted)}.schedule-toggle input:checked+.schedule-toggle__track+.schedule-toggle__label{color:var(--session-on-text)}.schedule-toggle__track{position:relative;width:2.75rem;height:1.5rem;border-radius:999px;background:var(--border-input);transition:background .15s ease}.schedule-toggle__track:after{content:"";position:absolute;top:.125rem;left:.125rem;width:1.25rem;height:1.25rem;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000026;transition:transform .15s ease}.schedule-toggle input:checked+.schedule-toggle__track{background:var(--btn-primary-bg)}.schedule-toggle input:checked+.schedule-toggle__track:after{transform:translate(1.25rem)}.schedule-toggle input:focus-visible+.schedule-toggle__track{outline:2px solid var(--btn-primary-bg);outline-offset:2px}.schedule-mode-switch{display:inline-flex;padding:.25rem;border-radius:var(--radius-sm, 8px);background:var(--card-muted-bg);border:1px solid var(--border);gap:.25rem}.schedule-mode-switch__btn{border:none;background:transparent;color:var(--muted);padding:.5rem .875rem;border-radius:calc(var(--radius-sm, 8px) - 2px);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease}.schedule-mode-switch__btn:hover{color:var(--fg)}.schedule-mode-switch__btn.is-active{background:var(--card-bg);color:var(--fg);box-shadow:var(--card-shadow)}.schedule-panel{gap:.75rem}.schedule-panel__hint{margin:0}.schedule-chips{display:flex;flex-wrap:wrap;gap:.5rem}.schedule-chip{border:1px solid var(--border);background:var(--card-bg);color:var(--fg);padding:.4375rem .875rem;border-radius:999px;font-size:.875rem;cursor:pointer;transition:border-color .12s ease,background .12s ease,color .12s ease}.schedule-chip:hover{border-color:var(--btn-primary-border)}.schedule-chip.is-active{border-color:var(--btn-primary-border);background:color-mix(in srgb,var(--btn-primary-bg) 12%,var(--card-bg));color:var(--btn-primary-bg);font-weight:500}.schedule-custom-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;max-width:20rem}.schedule-custom-row__field{flex:1 1 6rem;min-width:5rem}.schedule-custom-row input,.schedule-custom-row select{width:100%}.schedule-timezone,.schedule-card__warn{margin:0}.schedule-card__actions{display:flex;justify-content:flex-end;padding-top:.25rem}@media (max-width: 540px){.schedule-card__header{flex-direction:column}.schedule-toggle{width:100%;justify-content:space-between}}.connector-edit-meta{display:grid;gap:.5rem 1.5rem;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));margin:0 0 .5rem}.connector-edit-meta dt{font-weight:600;margin:0}.connector-edit-meta dd{margin:.15rem 0 0}.connector-edit-tabs{display:flex;gap:.35rem;flex-wrap:wrap;margin:.25rem 0 .75rem}.connector-edit-tabs__tab{padding:.35rem .75rem;border-radius:999px;border:1px solid var(--border);background:transparent;font-size:.88rem;cursor:pointer}.connector-edit-tabs__tab.is-active{border-color:var(--accent, #2563eb);background:color-mix(in srgb,var(--accent, #2563eb) 12%,transparent);font-weight:600}.connector-lint__list{margin:.25rem 0 0;padding-left:1.25rem}.connector-lint__list--error{color:var(--danger, #c0392b)}.connector-lint__list--warning{color:var(--muted-fg, #666)}.connector-try-it{margin-top:.25rem}.connector-try-it__actions{display:flex;gap:.5rem;flex-wrap:wrap}.connector-try-it__result{margin-top:.5rem}.catalog-filters select{min-width:10rem}.connector-route-body__fields{margin-top:.75rem}.connector-route-body__field{flex-wrap:wrap}.connector-route-body__field-desc{flex:1 1 12rem;min-width:10rem}.catalog-category-manager__new{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.catalog-category-manager__new input{flex:1;min-width:12rem}.catalog-category-manager__list{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.35rem}.catalog-category-manager__row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;padding:.35rem 0;border-bottom:1px solid var(--border)}.catalog-category-manager__actions{display:flex;gap:.35rem;flex-wrap:wrap}.connector-visual-editor fieldset,.connector-auth-editor,.connector-routes-editor,.connector-route-params,.connector-route-body{border:1px solid var(--border);border-radius:8px;padding:.75rem .85rem;margin:0}.connector-visual-editor legend,.connector-auth-editor legend,.connector-routes-editor legend,.connector-route-params legend,.connector-route-body legend{font-weight:600;padding:0 .25rem}.connector-visual-editor__nums{display:grid;gap:.75rem 1rem;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.connector-routes-editor__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.connector-routes-editor__head legend{margin:0}.connector-routes-editor__list{list-style:none;margin:0;padding:0;display:grid;gap:.65rem}.connector-route-card{border:1px solid var(--border);border-radius:8px;background:var(--editor-toolbox-bg, var(--bg))}.connector-route-card__summary{cursor:pointer;display:flex;flex-wrap:wrap;align-items:baseline;gap:.45rem .65rem;padding:.55rem .75rem;list-style:none}.connector-route-card__summary::-webkit-details-marker{display:none}.connector-route-card__method{font-weight:700;font-size:.78rem;letter-spacing:.02em;color:var(--accent, #2563eb)}.connector-route-card__path{font-size:.82rem}.connector-route-card__op{margin-left:auto}.connector-route-editor{padding:0 .75rem .75rem;border-top:1px solid var(--border)}.connector-route-editor__op-row{display:grid;gap:.35rem}.connector-route-editor__op-inputs{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.connector-route-editor__op-inputs .input-wide{flex:1 1 12rem}.connector-route-params__list{list-style:none;margin:.5rem 0;padding:0;display:grid;gap:.45rem}.connector-route-params__item{display:grid;grid-template-columns:1fr 6.5rem auto auto;gap:.35rem;align-items:center}.connector-route-params__req{display:inline-flex;align-items:center;gap:.35rem;font-size:.82rem;white-space:nowrap}.connector-route-card__actions{padding:0 .75rem .75rem}@media (max-width: 720px){.connector-route-params__item{grid-template-columns:1fr 1fr}}.form-actions{display:flex;gap:.5rem;flex-wrap:wrap}.graph-diff--sync{border-color:color-mix(in srgb,#16a34a 35%,var(--card-border))}.graph-diff-legend{display:flex;flex-wrap:wrap;gap:.5rem 1rem}.graph-diff-legend__item{font-size:.78rem;padding-left:1.1rem;position:relative}.graph-diff-legend__item:before{content:"";position:absolute;left:0;top:.35em;width:.65rem;height:.65rem;border-radius:2px}.graph-diff-legend__item--added:before{background:#16a34a}.graph-diff-legend__item--removed:before{background:#dc2626}.graph-diff-legend__item--modified:before{background:#ca8a04}.graph-diff-summary{margin:0;padding-left:1.1rem;font-size:.85rem}.graph-diff-panels{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 900px){.graph-diff-panels{grid-template-columns:1fr}}.graph-diff-panel__title{margin:0;font-size:.92rem}.graph-diff-canvas{height:320px;border:1px solid var(--card-border);border-radius:8px;overflow:hidden;background:var(--editor-canvas-bg)}.graph-diff-canvas .react-flow{width:100%;height:100%}.react-flow__node.wf-node-diff--added .wf-node{box-shadow:0 0 0 2px #16a34a}.react-flow__node.wf-node-diff--removed .wf-node{box-shadow:0 0 0 2px #dc2626;opacity:.88}.react-flow__node.wf-node-diff--modified .wf-node{box-shadow:0 0 0 2px #ca8a04}.graph-rollback__actions{display:flex;flex-wrap:wrap;gap:.5rem}.graph-rollback__pick select{width:100%;max-width:12rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:var(--modal-overlay);display:flex;align-items:center;justify-content:center;padding:1rem}.modal{width:min(100%,32rem);max-height:90vh;overflow:auto}.modal__actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.publish-semver-bumps{display:flex;flex-wrap:wrap;gap:.35rem}.tenant-sla .card__header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.sla-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;margin:1rem 0}.sla-metric__value{font-size:1.25rem;font-weight:600;margin:.25rem 0}.sla-daily-table-wrap{overflow-x:auto;margin-bottom:1rem}.sla-form{border-top:1px solid var(--border-subtle);padding-top:1rem;margin-top:.5rem}.sla-reporting-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.sla-reporting-page .page-header__actions{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}@media (max-width: 900px){.login-page.portal-page{align-items:flex-start;padding:1.5rem 1rem 1rem}.portal-page .portal-card{padding:1.25rem;max-width:100%}.portal-page__toolbar,.portal-page__footer{flex-direction:column;align-items:stretch}.portal-table-wrap{-webkit-overflow-scrolling:touch}.portal-page .data-table th,.portal-page .data-table td{padding:.55rem .65rem}}.totp-qr-wrap{display:flex;justify-content:flex-start;padding:.75rem;background:#fff;border:1px solid var(--border, #e4e4e7);border-radius:var(--radius, 10px);width:fit-content}.totp-qr{display:block;image-rendering:pixelated}.totp-qr--loading{background:var(--card-muted-bg, #f4f4f5);border-radius:4px}.catalog-import-wizard__steps{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;list-style:none;margin:0;padding:0}.catalog-import-wizard__step{display:flex;align-items:center;gap:.45rem;color:var(--muted, #71717a);font-size:.9rem}.catalog-import-wizard__step.is-active{color:var(--text, #18181b);font-weight:600}.catalog-import-wizard__step.is-done{color:var(--text, #18181b)}.catalog-import-wizard__step-num{display:inline-flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:999px;border:1px solid var(--border, #d4d4d8);font-size:.8rem;font-weight:600}.catalog-import-wizard__step.is-active .catalog-import-wizard__step-num{border-color:var(--link, #2563eb);background:var(--link, #2563eb);color:#fff}.catalog-import-wizard__phase-title{margin:.25rem 0 0;font-size:1.05rem}.catalog-import-wizard__choices{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:.65rem}.catalog-import-wizard__choice{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem .85rem;border:1px solid var(--border, #d4d4d8);border-radius:8px;cursor:pointer}.catalog-import-wizard__choice:has(input:checked){border-color:var(--link, #2563eb)}.catalog-import-wizard__choice span{display:flex;flex-direction:column;gap:.2rem}.catalog-import-wizard__summary{display:grid;gap:.5rem;margin:0}.catalog-import-wizard__summary>div{display:grid;grid-template-columns:minmax(7rem,10rem) 1fr;gap:.5rem}.catalog-import-wizard__summary dt{font-weight:600;margin:0}.catalog-import-wizard__summary dd{margin:0;word-break:break-word}
