@useorgx/openclaw-plugin 0.7.8 → 0.7.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dashboard/dist/assets/{CnitK1MX.js → AqVoI3SF.js} +1 -1
- package/dashboard/dist/assets/AqVoI3SF.js.br +0 -0
- package/dashboard/dist/assets/AqVoI3SF.js.gz +0 -0
- package/dashboard/dist/assets/BC4WvnHJ.js +1 -0
- package/dashboard/dist/assets/BC4WvnHJ.js.br +0 -0
- package/dashboard/dist/assets/BC4WvnHJ.js.gz +0 -0
- package/dashboard/dist/assets/{DOFL9l8s.js → BG5mwTkg.js} +1 -1
- package/dashboard/dist/assets/BG5mwTkg.js.br +0 -0
- package/dashboard/dist/assets/BG5mwTkg.js.gz +0 -0
- package/dashboard/dist/assets/BNh-XYPV.js +1 -0
- package/dashboard/dist/assets/BNh-XYPV.js.br +0 -0
- package/dashboard/dist/assets/BNh-XYPV.js.gz +0 -0
- package/dashboard/dist/assets/{CFwPph5U.js → BepW_590.js} +1 -1
- package/dashboard/dist/assets/BepW_590.js.br +0 -0
- package/dashboard/dist/assets/BepW_590.js.gz +0 -0
- package/dashboard/dist/assets/BerAfzjq.js +1 -0
- package/dashboard/dist/assets/BerAfzjq.js.br +0 -0
- package/dashboard/dist/assets/BerAfzjq.js.gz +0 -0
- package/dashboard/dist/assets/Bp3N-QL5.js +212 -0
- package/dashboard/dist/assets/Bp3N-QL5.js.br +0 -0
- package/dashboard/dist/assets/Bp3N-QL5.js.gz +0 -0
- package/dashboard/dist/assets/C3dZRz9P.css +1 -0
- package/dashboard/dist/assets/C3dZRz9P.css.br +0 -0
- package/dashboard/dist/assets/C3dZRz9P.css.gz +0 -0
- package/dashboard/dist/assets/CD-q5mdP.js +1 -0
- package/dashboard/dist/assets/CD-q5mdP.js.br +0 -0
- package/dashboard/dist/assets/CD-q5mdP.js.gz +0 -0
- package/dashboard/dist/assets/{BgcAY5rE.js → CdvjC9G9.js} +1 -1
- package/dashboard/dist/assets/CdvjC9G9.js.br +0 -0
- package/dashboard/dist/assets/CdvjC9G9.js.gz +0 -0
- package/dashboard/dist/assets/Ck2agw-s.js +1 -0
- package/dashboard/dist/assets/Ck2agw-s.js.br +0 -0
- package/dashboard/dist/assets/Ck2agw-s.js.gz +0 -0
- package/dashboard/dist/assets/{D7DHFX0D.js → D2CH1H6k.js} +1 -1
- package/dashboard/dist/assets/D2CH1H6k.js.br +0 -0
- package/dashboard/dist/assets/D2CH1H6k.js.gz +0 -0
- package/dashboard/dist/assets/D9esz7jd.js +1 -0
- package/dashboard/dist/assets/D9esz7jd.js.br +0 -0
- package/dashboard/dist/assets/D9esz7jd.js.gz +0 -0
- package/dashboard/dist/assets/{77gGFBt6.js → DCP-C7fn.js} +1 -1
- package/dashboard/dist/assets/DCP-C7fn.js.br +0 -0
- package/dashboard/dist/assets/DCP-C7fn.js.gz +0 -0
- package/dashboard/dist/assets/{CSr2ZnTV.js → DJASCd69.js} +1 -1
- package/dashboard/dist/assets/DJASCd69.js.br +0 -0
- package/dashboard/dist/assets/DJASCd69.js.gz +0 -0
- package/dashboard/dist/assets/Dm9AybAp.js +1 -0
- package/dashboard/dist/assets/Dm9AybAp.js.br +0 -0
- package/dashboard/dist/assets/Dm9AybAp.js.gz +0 -0
- package/dashboard/dist/assets/{DxKG5zy8.js → Du1wfrXa.js} +1 -1
- package/dashboard/dist/assets/Du1wfrXa.js.br +0 -0
- package/dashboard/dist/assets/Du1wfrXa.js.gz +0 -0
- package/dashboard/dist/assets/{DpuQm1oF.js → beHYBbh6.js} +1 -1
- package/dashboard/dist/assets/beHYBbh6.js.br +0 -0
- package/dashboard/dist/assets/beHYBbh6.js.gz +0 -0
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist/index.html.br +0 -0
- package/dashboard/dist/index.html.gz +0 -0
- package/dist/http/helpers/auto-continue-engine.d.ts +36 -0
- package/dist/http/helpers/auto-continue-engine.js +83 -17
- package/dist/http/helpers/autopilot-runtime.d.ts +1 -0
- package/dist/http/helpers/autopilot-runtime.js +31 -3
- package/dist/http/helpers/autopilot-slice-utils.d.ts +10 -0
- package/dist/http/helpers/autopilot-slice-utils.js +58 -0
- package/dist/http/helpers/humanize-slice-failure.d.ts +35 -0
- package/dist/http/helpers/humanize-slice-failure.js +137 -0
- package/dist/http/helpers/mission-control.d.ts +1 -0
- package/dist/http/helpers/mission-control.js +68 -5
- package/dist/http/index.js +65 -3
- package/dist/http/routes/live-misc.js +9 -2
- package/dist/http/routes/live-snapshot.js +10 -4
- package/dist/http/routes/mission-control-actions.js +5 -0
- package/dist/http/routes/mission-control-read.d.ts +1 -0
- package/dist/http/routes/mission-control-read.js +65 -4
- package/dist/index.d.ts +8 -1
- package/dist/index.js +21 -1
- package/dist/tools/core-tools.d.ts +27 -0
- package/dist/tools/core-tools.js +89 -0
- package/package.json +1 -1
- package/dashboard/dist/assets/77gGFBt6.js.br +0 -0
- package/dashboard/dist/assets/77gGFBt6.js.gz +0 -0
- package/dashboard/dist/assets/BBpTN_SR.js +0 -1
- package/dashboard/dist/assets/BBpTN_SR.js.br +0 -0
- package/dashboard/dist/assets/BBpTN_SR.js.gz +0 -0
- package/dashboard/dist/assets/BVShoyjA.js +0 -1
- package/dashboard/dist/assets/BVShoyjA.js.br +0 -0
- package/dashboard/dist/assets/BVShoyjA.js.gz +0 -0
- package/dashboard/dist/assets/BgcAY5rE.js.br +0 -0
- package/dashboard/dist/assets/BgcAY5rE.js.gz +0 -0
- package/dashboard/dist/assets/C-PAoJF-.js +0 -1
- package/dashboard/dist/assets/C-PAoJF-.js.br +0 -0
- package/dashboard/dist/assets/C-PAoJF-.js.gz +0 -0
- package/dashboard/dist/assets/C0nA-iUG.js +0 -1
- package/dashboard/dist/assets/C0nA-iUG.js.br +0 -0
- package/dashboard/dist/assets/C0nA-iUG.js.gz +0 -0
- package/dashboard/dist/assets/C6GO-FKy.js +0 -1
- package/dashboard/dist/assets/C6GO-FKy.js.br +0 -0
- package/dashboard/dist/assets/C6GO-FKy.js.gz +0 -0
- package/dashboard/dist/assets/CFwPph5U.js.br +0 -0
- package/dashboard/dist/assets/CFwPph5U.js.gz +0 -0
- package/dashboard/dist/assets/CPjsbbgZ.js +0 -212
- package/dashboard/dist/assets/CPjsbbgZ.js.br +0 -0
- package/dashboard/dist/assets/CPjsbbgZ.js.gz +0 -0
- package/dashboard/dist/assets/CSr2ZnTV.js.br +0 -0
- package/dashboard/dist/assets/CSr2ZnTV.js.gz +0 -0
- package/dashboard/dist/assets/CgQDT6yL.js +0 -1
- package/dashboard/dist/assets/CgQDT6yL.js.br +0 -0
- package/dashboard/dist/assets/CgQDT6yL.js.gz +0 -0
- package/dashboard/dist/assets/CnitK1MX.js.br +0 -0
- package/dashboard/dist/assets/CnitK1MX.js.gz +0 -0
- package/dashboard/dist/assets/D7DHFX0D.js.br +0 -0
- package/dashboard/dist/assets/D7DHFX0D.js.gz +0 -0
- package/dashboard/dist/assets/DEip7uko.js +0 -1
- package/dashboard/dist/assets/DEip7uko.js.br +0 -0
- package/dashboard/dist/assets/DEip7uko.js.gz +0 -0
- package/dashboard/dist/assets/DHUSLc01.css +0 -1
- package/dashboard/dist/assets/DHUSLc01.css.br +0 -0
- package/dashboard/dist/assets/DHUSLc01.css.gz +0 -0
- package/dashboard/dist/assets/DOFL9l8s.js.br +0 -0
- package/dashboard/dist/assets/DOFL9l8s.js.gz +0 -0
- package/dashboard/dist/assets/DpuQm1oF.js.br +0 -0
- package/dashboard/dist/assets/DpuQm1oF.js.gz +0 -0
- package/dashboard/dist/assets/DxKG5zy8.js.br +0 -0
- package/dashboard/dist/assets/DxKG5zy8.js.gz +0 -0
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:var(--orgx-border)}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Geist,system-ui,-apple-system,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}body{font-family:Geist,system-ui,-apple-system,sans-serif;background:radial-gradient(1200px 700px at 12% -20%,rgba(191,255,0,.09),transparent 58%),radial-gradient(1000px 700px at 90% -20%,rgba(20,184,166,.09),transparent 64%),var(--orgx-bg);color:var(--orgx-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,.font-display{font-family:Geist,system-ui,-apple-system,sans-serif;letter-spacing:-.015em}code,.font-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace}button:focus-visible,a:focus-visible,input:focus-visible{outline:none;box-shadow:0 0 0 2px #bfff0059;transition:box-shadow .15s var(--orgx-ease-standard)}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.glass-panel{-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);background:linear-gradient(145deg,#ffffff08,#ffffff04),var(--orgx-surface);border:1px solid var(--orgx-border)}.soft-shadow{box-shadow:0 16px 48px #00000073,0 2px 8px #0003,inset 0 1px #ffffff0a}.hover-lift{transition:transform .22s var(--orgx-ease-standard),box-shadow .22s ease,border-color .22s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 18px 42px #0006}.fade-in-up{animation:fadeInUp .36s var(--orgx-ease-entrance) both}.pulse-soft{animation:pulseSoft 3.6s ease-in-out infinite}.chip{border:1px solid var(--orgx-border);background:#ffffff0a;color:#f2f7ffcc;border-radius:999px;padding:3px 10px;font-size:11px;line-height:1;font-weight:500}.chip-avatar{padding-left:3px;gap:6px}.chip-avatar [data-agent-avatar=true]{width:20px;height:20px}.surface-tier-1{border:1px solid var(--orgx-border-subtle);background:linear-gradient(160deg,#ffffff08,#ffffff03),var(--orgx-surface);box-shadow:inset 0 1px #ffffff09,0 14px 34px #0000005c}.surface-tier-2{border:1px solid var(--orgx-border);background:linear-gradient(150deg,#ffffff0a,#ffffff04),var(--orgx-surface-elevated);box-shadow:inset 0 1px #ffffff0b,0 16px 36px #00000061}.surface-hero{border:1px solid rgba(191,255,0,.16);background:linear-gradient(140deg,#bfff000f,#0ad4c40d 46%,#ffffff05),var(--orgx-surface-hero);box-shadow:inset 0 1px #ffffff0d,0 18px 40px #0006,0 0 0 1px #bfff0014}.control-pill{height:34px;display:inline-flex;align-items:center;justify-content:center;gap:6px;flex:0 0 auto;min-inline-size:-moz-max-content;min-inline-size:max-content;border-radius:10px;border:1px solid rgba(255,255,255,.11);background:#ffffff09;color:#f2f7ffa8;white-space:nowrap;text-wrap:nowrap;overflow-wrap:normal;line-height:1;transition:background-color .16s var(--orgx-ease-standard),border-color .16s var(--orgx-ease-standard),color .16s var(--orgx-ease-standard),transform .22s var(--orgx-ease-standard),box-shadow .2s var(--orgx-ease-standard)}.control-pill:hover{border-color:#fff3;background:#ffffff12;color:#f2f7ffe0;box-shadow:0 8px 18px #00000038}.control-pill:active{transform:translateY(.5px)}.control-pill[data-state=active]{border-color:#bfff003d;background:#bfff0017;color:#d8ffa1}.control-pill[data-tone=teal][data-state=active]{border-color:#0ad4c452;background:#0ad4c41a;color:#8ff7ec}.control-pill[data-tone=amber]{border-color:#fbbf244d;background:#fbbf241f;color:#fff6d6eb}.control-pill[data-tone=amber]:hover{border-color:#fbbf246b;background:#fbbf2429;color:#fffae6fa}.status-pill{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:#ffffff0a;padding:2px 9px;font-size:10px;line-height:1;letter-spacing:.05em;color:#f2f7ffb8}.status-pill:before{content:"";width:6px;height:6px;border-radius:999px;background:#ffffff73}.status-pill[data-tone=done]{border-color:#14b8a642;background:#14b8a61c;color:#87ffe9e6}.orgx-datepicker-popper{z-index:360}.orgx-datepicker-popper[data-placement^=bottom]{margin-top:6px!important}.orgx-datepicker{border:1px solid rgba(255,255,255,.12)!important;background:#0a0d14!important;color:#f2f7ffdb!important;font-family:Geist,system-ui,-apple-system,sans-serif!important;border-radius:12px!important;display:flex!important;align-items:flex-start!important;width:-moz-max-content!important;width:max-content!important;overflow:hidden!important;box-shadow:0 12px 30px #0006!important}.orgx-datepicker .react-datepicker__header{background:#0f141f!important;border-bottom:1px solid rgba(255,255,255,.1)!important}.orgx-datepicker .react-datepicker__header--time{background:#0f141f!important;border-left:1px solid rgba(255,255,255,.1)!important}.orgx-datepicker .react-datepicker__current-month,.orgx-datepicker .react-datepicker-time__header,.orgx-datepicker .react-datepicker__day-name{color:#f2f7ffd9!important}.orgx-datepicker .react-datepicker__day,.orgx-datepicker .react-datepicker__time-name,.orgx-datepicker .react-datepicker__time-list-item{color:#f2f7ffbf!important}.orgx-datepicker .react-datepicker__month-container,.orgx-datepicker .react-datepicker__time-container,.orgx-datepicker .react-datepicker__time,.orgx-datepicker .react-datepicker__time-box,.orgx-datepicker .react-datepicker__time-list,.orgx-datepicker .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box,.orgx-datepicker .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{background:#0a0d14!important}.orgx-datepicker .react-datepicker__month-container,.orgx-datepicker .react-datepicker__time-container{float:none!important}.orgx-datepicker .react-datepicker__time-container{border-left:1px solid rgba(255,255,255,.1)!important;width:160px!important}.orgx-datepicker .react-datepicker__time-list{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.orgx-datepicker .react-datepicker__time-list-item{display:flex;min-height:32px;align-items:center;justify-content:center;transition:background-color .12s ease,color .12s ease}.orgx-datepicker .react-datepicker__time-list-item--disabled{color:#f2f7ff47!important}.orgx-datepicker .react-datepicker__day:hover,.orgx-datepicker .react-datepicker__time-list-item:hover{background:#ffffff14!important}.orgx-datepicker .react-datepicker__day--selected,.orgx-datepicker .react-datepicker__day--keyboard-selected,.orgx-datepicker .react-datepicker__time-list-item--selected{background:#bfff0038!important;color:#e1ffb2!important}.orgx-datepicker .react-datepicker__day--in-range,.orgx-datepicker .react-datepicker__day--in-selecting-range{background:#bfff0024!important;color:#f2f7ffe6!important}.orgx-datepicker .react-datepicker__triangle{display:none!important}@media(max-width:640px){.react-datepicker__portal{background:#02040adb!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:12px!important}.react-datepicker__portal .orgx-datepicker{margin:68px auto 0!important}.orgx-datepicker-popper{max-width:calc(100vw - 24px);z-index:420}.orgx-datepicker{display:block!important;width:min(92vw,336px)!important}.orgx-datepicker .react-datepicker__month-container,.orgx-datepicker .react-datepicker__time-container{float:none!important;width:100%!important}.orgx-datepicker .react-datepicker__time-container{border-left:0!important;border-top:1px solid rgba(255,255,255,.1)!important;height:168px!important}.orgx-datepicker .react-datepicker__time-container .react-datepicker__time,.orgx-datepicker .react-datepicker__time-container .react-datepicker__time-box,.orgx-datepicker .react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{height:168px!important}.orgx-datepicker .react-datepicker__time-list-item{justify-content:flex-start;padding-left:14px;padding-right:14px}}.status-pill[data-tone=done]:before{background:#14b8a6f2}.status-pill[data-tone=active]{border-color:#bfff0047;background:#bfff001c;color:#dfff9ce6}.status-pill[data-tone=active]:before{background:#bfff00f2}.status-pill[data-tone=blocked]{border-color:#ff6b8847;background:#ff6b881f;color:#ffc3d0e6}.status-pill[data-tone=blocked]:before{background:#ff6b88fa}.status-pill[data-tone=planned]{border-color:#ffffff29;background:#ffffff0f;color:#ecf1ffbd}.status-pill[data-tone=planned]:before{background:#ffffff85}.toolbar-shell{border-radius:14px;border:1px solid rgba(255,255,255,.075);background:linear-gradient(180deg,#ffffff08,#ffffff04),#ffffff04;padding:8px;box-shadow:inset 0 1px #ffffff08}.section-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.09em;color:#ffffff61}.subsection-shell{border:1px solid var(--orgx-border-hairline);border-radius:12px;background:linear-gradient(180deg,#ffffff05,#ffffff02);box-shadow:inset 0 1px #ffffff06}.shimmer-skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite;border-radius:12px}.nextup-skeleton-card{position:relative;overflow:hidden}.nextup-skeleton-card:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;background:linear-gradient(90deg,#bfff0000,#bfff000f 45%,#bfff001a 52%,#bfff000f 58%,#bfff0000);transform:translate(-35%);animation:nextUpSweep 2.8s ease-in-out infinite;pointer-events:none;mix-blend-mode:screen}.card-enter{animation:cardEnter .35s var(--orgx-ease-entrance) both}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.\!sticky{position:sticky!important}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-x-2\.5{left:.625rem;right:.625rem}.inset-x-3{left:.75rem;right:.75rem}.inset-x-4{left:1rem;right:1rem}.inset-y-0{top:0;bottom:0}.-bottom-0\.5{bottom:-.125rem}.-bottom-1{bottom:-.25rem}.-bottom-\[6px\]{bottom:-6px}.-bottom-px{bottom:-1px}.-left-1{left:-.25rem}.-left-2{left:-.5rem}.-left-\[27px\]{left:-27px}.-left-\[29px\]{left:-29px}.-right-0\.5{right:-.125rem}.-right-1{right:-.25rem}.-right-1\.5{right:-.375rem}.-top-0\.5{top:-.125rem}.-top-1{top:-.25rem}.-top-1\.5{top:-.375rem}.bottom-0{bottom:0}.bottom-0\.5{bottom:.125rem}.bottom-3{bottom:.75rem}.bottom-6{bottom:1.5rem}.bottom-\[calc\(100\%\+6px\)\]{bottom:calc(100% + 6px)}.bottom-\[calc\(100\%\+8px\)\]{bottom:calc(100% + 8px)}.left-0{left:0}.left-0\.5{left:.125rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.left-\[17px\]{left:17px}.left-\[1px\]{left:1px}.left-\[20px\]{left:20px}.left-\[7px\]{left:7px}.right-0{right:0}.right-2{right:.5rem}.right-2\.5{right:.625rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-10{top:2.5rem}.top-2\.5{top:.625rem}.top-3{top:.75rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[60vh\]{top:60vh}.top-\[64px\]{top:64px}.top-\[calc\(100\%\+6px\)\]{top:calc(100% + 6px)}.top-\[calc\(100\%\+8px\)\]{top:calc(100% + 8px)}.top-\[calc\(env\(safe-area-inset-top\)\+72px\)\]{top:calc(env(safe-area-inset-top) + 72px)}.top-full{top:100%}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[180\]{z-index:180}.z-\[1\]{z-index:1}.z-\[240\]{z-index:240}.z-\[24\]{z-index:24}.z-\[250\]{z-index:250}.z-\[260\]{z-index:260}.z-\[280\]{z-index:280}.z-\[320\]{z-index:320}.z-\[330\]{z-index:330}.z-\[340\]{z-index:340}.z-\[420\]{z-index:420}.col-span-2{grid-column:span 2 / span 2}.-mx-3{margin-left:-.75rem;margin-right:-.75rem}.-mx-4{margin-left:-1rem;margin-right:-1rem}.mx-0\.5{margin-left:.125rem;margin-right:.125rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-2\.5{margin-bottom:.625rem}.mb-3{margin-bottom:.75rem}.mb-3\.5{margin-bottom:.875rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.ms-1{margin-inline-start:.25rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-2\.5{margin-top:.625rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.mt-\[1px\]{margin-top:1px}.mt-\[2px\]{margin-top:2px}.mt-\[3px\]{margin-top:3px}.mt-auto{margin-top:auto}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.list-item{display:list-item}.hidden{display:none}.h-0{height:0px}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-40{height:10rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[100dvh\]{height:100dvh}.h-\[14px\]{height:14px}.h-\[15px\]{height:15px}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[2px\]{height:2px}.h-\[3px\]{height:3px}.h-\[48px\]{height:48px}.h-\[92px\]{height:92px}.h-\[calc\(100vh-var\(--mc-toolbar-offset\)-24px\)\]{height:calc(100vh - var(--mc-toolbar-offset) - 24px)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-0{max-height:0px}.max-h-40{max-height:10rem}.max-h-\[100dvh\]{max-height:100dvh}.max-h-\[110px\]{max-height:110px}.max-h-\[150px\]{max-height:150px}.max-h-\[200px\]{max-height:200px}.max-h-\[220px\]{max-height:220px}.max-h-\[240px\]{max-height:240px}.max-h-\[320px\]{max-height:320px}.max-h-\[34\%\]{max-height:34%}.max-h-\[360px\]{max-height:360px}.max-h-\[38vh\]{max-height:38vh}.max-h-\[50\%\]{max-height:50%}.max-h-\[500px\]{max-height:500px}.max-h-\[520px\]{max-height:520px}.max-h-\[52vh\]{max-height:52vh}.max-h-\[58vh\]{max-height:58vh}.max-h-\[65vh\]{max-height:65vh}.max-h-\[80vh\]{max-height:80vh}.max-h-\[84px\]{max-height:84px}.max-h-\[calc\(100dvh-104px\)\]{max-height:calc(100dvh - 104px)}.max-h-\[min\(60vh\,480px\)\]{max-height:min(60vh,480px)}.max-h-\[min\(62vh\,560px\)\]{max-height:min(62vh,560px)}.min-h-0{min-height:0px}.min-h-\[160px\]{min-height:160px}.min-h-\[16px\]{min-height:16px}.min-h-\[180px\]{min-height:180px}.min-h-\[20px\]{min-height:20px}.min-h-\[214px\]{min-height:214px}.min-h-\[220px\]{min-height:220px}.min-h-\[240px\]{min-height:240px}.min-h-\[28px\]{min-height:28px}.min-h-\[32px\]{min-height:32px}.min-h-\[34px\]{min-height:34px}.min-h-\[38px\]{min-height:38px}.min-h-\[40px\]{min-height:40px}.min-h-\[44px\]{min-height:44px}.min-h-\[54px\]{min-height:54px}.min-h-\[60px\]{min-height:60px}.min-h-\[62px\]{min-height:62px}.min-h-\[66px\]{min-height:66px}.min-h-\[84px\]{min-height:84px}.min-h-\[96px\]{min-height:96px}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-0{width:0px}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-2\/3{width:66.666667%}.w-2\/5{width:40%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-3\/5{width:60%}.w-36{width:9rem}.w-4{width:1rem}.w-4\/5{width:80%}.w-40{width:10rem}.w-44{width:11rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[114px\]{width:114px}.w-\[124px\]{width:124px}.w-\[148px\]{width:148px}.w-\[15px\]{width:15px}.w-\[160px\]{width:160px}.w-\[168px\]{width:168px}.w-\[176px\]{width:176px}.w-\[180px\]{width:180px}.w-\[18px\]{width:18px}.w-\[190px\]{width:190px}.w-\[260px\]{width:260px}.w-\[280px\]{width:280px}.w-\[290px\]{width:290px}.w-\[2px\]{width:2px}.w-\[300px\]{width:300px}.w-\[320px\]{width:320px}.w-\[34px\]{width:34px}.w-\[360px\]{width:360px}.w-\[380px\]{width:380px}.w-\[38px\]{width:38px}.w-\[40px\]{width:40px}.w-\[42px\]{width:42px}.w-\[46px\]{width:46px}.w-\[480px\]{width:480px}.w-\[68\%\]{width:68%}.w-\[72px\]{width:72px}.w-\[78\%\]{width:78%}.w-\[80px\]{width:80px}.w-\[82px\]{width:82px}.w-\[90px\]{width:90px}.w-\[92px\]{width:92px}.w-\[min\(92vw\,380px\)\]{width:min(92vw,380px)}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-\[114px\]{min-width:114px}.min-w-\[1464px\]{min-width:1464px}.min-w-\[148px\]{min-width:148px}.min-w-\[14px\]{min-width:14px}.min-w-\[160px\]{min-width:160px}.min-w-\[168px\]{min-width:168px}.min-w-\[16px\]{min-width:16px}.min-w-\[170px\]{min-width:170px}.min-w-\[178px\]{min-width:178px}.min-w-\[180px\]{min-width:180px}.min-w-\[196px\]{min-width:196px}.min-w-\[198px\]{min-width:198px}.min-w-\[200px\]{min-width:200px}.min-w-\[20px\]{min-width:20px}.min-w-\[220px\]{min-width:220px}.min-w-\[240px\]{min-width:240px}.min-w-\[28px\]{min-width:28px}.min-w-\[40px\]{min-width:40px}.min-w-\[52px\]{min-width:52px}.min-w-\[76px\]{min-width:76px}.min-w-\[80px\]{min-width:80px}.min-w-\[88px\]{min-width:88px}.min-w-\[90px\]{min-width:90px}.min-w-\[92px\]{min-width:92px}.min-w-full{min-width:100%}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-\[100px\]{max-width:100px}.max-w-\[110px\]{max-width:110px}.max-w-\[1120px\]{max-width:1120px}.max-w-\[120px\]{max-width:120px}.max-w-\[132px\]{max-width:132px}.max-w-\[160px\]{max-width:160px}.max-w-\[180px\]{max-width:180px}.max-w-\[220px\]{max-width:220px}.max-w-\[248px\]{max-width:248px}.max-w-\[250px\]{max-width:250px}.max-w-\[320px\]{max-width:320px}.max-w-\[340px\]{max-width:340px}.max-w-\[420px\]{max-width:420px}.max-w-\[520px\]{max-width:520px}.max-w-\[560px\]{max-width:560px}.max-w-\[80\%\]{max-width:80%}.max-w-\[85\%\]{max-width:85%}.max-w-\[85vw\]{max-width:85vw}.max-w-\[86vw\]{max-width:86vw}.max-w-\[88vw\]{max-width:88vw}.max-w-\[90\%\]{max-width:90%}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-\[1_1_auto\]{flex:1 1 auto}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.table-fixed{table-layout:fixed}.border-collapse{border-collapse:collapse}.border-separate{border-collapse:separate}.border-spacing-y-0{--tw-border-spacing-y: 0px;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.border-spacing-y-1\.5{--tw-border-spacing-y: .375rem;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y)}.origin-left{transform-origin:left}.origin-top-right{transform-origin:top right}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[2px\]{--tw-translate-y: 2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{--tw-rotate: 0deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform-gpu{transform:translate3d(var(--tw-translate-x),var(--tw-translate-y),0) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-\[pulse_1\.4s_ease-in-out_0\.2s_infinite\]{animation:pulse 1.4s ease-in-out .2s infinite}.animate-\[pulse_1\.4s_ease-in-out_0\.4s_infinite\]{animation:pulse 1.4s ease-in-out .4s infinite}.animate-\[pulse_1\.4s_ease-in-out_infinite\]{animation:pulse 1.4s ease-in-out infinite}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.resize{resize:both}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[124px_34px\]{grid-template-columns:124px 34px}.grid-cols-\[86px_1fr\]{grid-template-columns:86px 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0px}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-12{gap:3rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.gap-y-4{row-gap:1rem}.-space-x-1\.5>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(-.375rem * var(--tw-space-x-reverse));margin-left:calc(-.375rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-3\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.875rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.875rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-white\/\[0\.06\]>:not([hidden])~:not([hidden]){border-color:#ffffff0f}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.overscroll-contain{overscroll-behavior:contain}.overscroll-y-contain{overscroll-behavior-y:contain}.scroll-smooth{scroll-behavior:smooth}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.\!rounded-none{border-radius:0!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[18px\]{border-radius:18px}.rounded-\[22px\]{border-radius:22px}.rounded-\[24px\]{border-radius:24px}.rounded-\[4px\]{border-radius:4px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.rounded-b-xl{border-bottom-right-radius:.75rem;border-bottom-left-radius:.75rem}.rounded-l-lg{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-lg{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.rounded-t-\[22px\]{border-top-left-radius:22px;border-top-right-radius:22px}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-bl-sm{border-bottom-left-radius:.125rem}.rounded-br-sm{border-bottom-right-radius:.125rem}.\!border-0{border-width:0px!important}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-\[6px\]{border-left-width:6px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0px}.border-r-\[6px\]{border-right-width:6px}.border-t{border-top-width:1px}.border-t-\[6px\]{border-top-width:6px}.\!border-none{border-style:none!important}.border-none{border-style:none}.\!border-transparent{border-color:transparent!important}.border-\[\#08090D\]{--tw-border-opacity: 1;border-color:rgb(8 9 13 / var(--tw-border-opacity, 1))}.border-\[\#0A0E16\]{--tw-border-opacity: 1;border-color:rgb(10 14 22 / var(--tw-border-opacity, 1))}.border-\[\#0AD4C4\]\/20{border-color:#0ad4c433}.border-\[\#0AD4C4\]\/30{border-color:#0ad4c44d}.border-\[\#14B8A6\]\/20{border-color:#14b8a633}.border-\[\#14B8A6\]\/30{border-color:#14b8a64d}.border-\[\#14B8A6\]\/35{border-color:#14b8a659}.border-\[\#14B8A6\]\/\[0\.2\]{border-color:#14b8a633}.border-\[\#7C7CFF\]\/25{border-color:#7c7cff40}.border-\[\#BFFF00\]\/15{border-color:#bfff0026}.border-\[\#BFFF00\]\/20{border-color:#bfff0033}.border-\[\#BFFF00\]\/25{border-color:#bfff0040}.border-\[\#BFFF00\]\/30{border-color:#bfff004d}.border-\[\#BFFF00\]\/35{border-color:#bfff0059}.border-\[\#BFFF00\]\/40{border-color:#bfff0066}.border-\[\#BFFF00\]\/\[0\.16\]{border-color:#bfff0029}.border-\[\#BFFF00\]\/\[0\.22\]{border-color:#bfff0038}.border-\[\#F5B700\]\/20{border-color:#f5b70033}.border-\[\#F5B700\]\/25{border-color:#f5b70040}.border-\[\#F5B700\]\/30{border-color:#f5b7004d}.border-\[\#FF6B6B\]\/20{border-color:#ff6b6b33}.border-\[\#FF6B88\]\/20{border-color:#ff6b8833}.border-\[--orgx-border\]{border-color:var(--orgx-border)}.border-amber-200\/20{border-color:#fde68a33}.border-amber-200\/25{border-color:#fde68a40}.border-amber-200\/45{border-color:#fde68a73}.border-amber-300\/15{border-color:#fcd34d26}.border-amber-300\/20{border-color:#fcd34d33}.border-amber-300\/25{border-color:#fcd34d40}.border-amber-300\/30{border-color:#fcd34d4d}.border-amber-300\/35{border-color:#fcd34d59}.border-amber-300\/45{border-color:#fcd34d73}.border-amber-300\/70{border-color:#fcd34db3}.border-amber-400\/20{border-color:#fbbf2433}.border-amber-400\/25{border-color:#fbbf2440}.border-amber-400\/30{border-color:#fbbf244d}.border-amber-400\/35{border-color:#fbbf2459}.border-amber-400\/\[0\.3\]{border-color:#fbbf244d}.border-amber-500\/30{border-color:#f59e0b4d}.border-black{--tw-border-opacity: 1;border-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-black\/35{border-color:#00000059}.border-black\/40{border-color:#0006}.border-current{border-color:currentColor}.border-cyan\/25{border-color:#0ad4c440}.border-emerald-300\/25{border-color:#6ee7b740}.border-emerald-400\/30{border-color:#34d3994d}.border-hairline{border-color:var(--orgx-border-hairline)}.border-lime\/20{border-color:#bfff0033}.border-lime\/25{border-color:#bfff0040}.border-lime\/30{border-color:#bfff004d}.border-lime\/35{border-color:#bfff0059}.border-lime\/45{border-color:#bfff0073}.border-lime\/60{border-color:#bfff0099}.border-lime\/80{border-color:#bfff00cc}.border-red-300\/20{border-color:#fca5a533}.border-red-300\/25{border-color:#fca5a540}.border-red-300\/35{border-color:#fca5a559}.border-red-400\/20{border-color:#f8717133}.border-red-400\/25{border-color:#f8717140}.border-red-400\/30{border-color:#f871714d}.border-red-400\/35{border-color:#f8717159}.border-red-500\/15{border-color:#ef444426}.border-red-500\/20{border-color:#ef444433}.border-red-500\/25{border-color:#ef444440}.border-red-500\/30{border-color:#ef44444d}.border-rose-200\/30{border-color:#fecdd34d}.border-rose-300\/20{border-color:#fda4af33}.border-rose-300\/25{border-color:#fda4af40}.border-rose-300\/30{border-color:#fda4af4d}.border-rose-400\/20{border-color:#fb718533}.border-rose-400\/30{border-color:#fb71854d}.border-strong{border-color:var(--orgx-border-strong)}.border-subtle{border-color:var(--orgx-border-subtle)}.border-teal\/25{border-color:#14b8a640}.border-teal\/30{border-color:#14b8a64d}.border-teal\/35{border-color:#14b8a659}.border-teal\/45{border-color:#14b8a673}.border-transparent{border-color:transparent}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/20{border-color:#fff3}.border-white\/25{border-color:#ffffff40}.border-white\/\[0\.04\]{border-color:#ffffff0a}.border-white\/\[0\.06\]{border-color:#ffffff0f}.border-white\/\[0\.075\]{border-color:#ffffff13}.border-white\/\[0\.07\]{border-color:#ffffff12}.border-white\/\[0\.08\]{border-color:#ffffff14}.border-white\/\[0\.10\]{border-color:#ffffff1a}.border-white\/\[0\.12\]{border-color:#ffffff1f}.border-white\/\[0\.14\]{border-color:#ffffff24}.border-white\/\[0\.16\]{border-color:#ffffff29}.border-white\/\[0\.18\]{border-color:#ffffff2e}.border-white\/\[0\.1\]{border-color:#ffffff1a}.border-white\/\[0\.24\]{border-color:#ffffff3d}.border-white\/\[0\.2\]{border-color:#fff3}.border-l-transparent{border-left-color:transparent}.border-r-transparent{border-right-color:transparent}.border-t-black{--tw-border-opacity: 1;border-top-color:rgb(0 0 0 / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.border-t-white\/\[0\.14\]{border-top-color:#ffffff24}.\!bg-transparent{background-color:transparent!important}.bg-\[\#040912\]{--tw-bg-opacity: 1;background-color:rgb(4 9 18 / var(--tw-bg-opacity, 1))}.bg-\[\#06080f\]\/70{background-color:#06080fb3}.bg-\[\#070a11\]\/95{background-color:#070a11f2}.bg-\[\#070b12\]\/85{background-color:#070b12d9}.bg-\[\#080808\]{--tw-bg-opacity: 1;background-color:rgb(8 8 8 / var(--tw-bg-opacity, 1))}.bg-\[\#08090D\]{--tw-bg-opacity: 1;background-color:rgb(8 9 13 / var(--tw-bg-opacity, 1))}.bg-\[\#08090d\]\/90{background-color:#08090de6}.bg-\[\#080d14\]\/85{background-color:#080d14d9}.bg-\[\#080d14\]\/95{background-color:#080d14f2}.bg-\[\#090d16\]\/90{background-color:#090d16e6}.bg-\[\#0A0D14\]\/95{background-color:#0a0d14f2}.bg-\[\#0A0E16\]{--tw-bg-opacity: 1;background-color:rgb(10 14 22 / var(--tw-bg-opacity, 1))}.bg-\[\#0A0E16\]\/80{background-color:#0a0e16cc}.bg-\[\#0A0E16\]\/90{background-color:#0a0e16e6}.bg-\[\#0A0E16\]\/95{background-color:#0a0e16f2}.bg-\[\#0A1012\]\/95{background-color:#0a1012f2}.bg-\[\#0A1210\]\/95{background-color:#0a1210f2}.bg-\[\#0AD4C4\]{--tw-bg-opacity: 1;background-color:rgb(10 212 196 / var(--tw-bg-opacity, 1))}.bg-\[\#0AD4C4\]\/10{background-color:#0ad4c41a}.bg-\[\#0AD4C4\]\/20{background-color:#0ad4c433}.bg-\[\#0AD4C4\]\/\[0\.04\]{background-color:#0ad4c40a}.bg-\[\#0AD4C4\]\/\[0\.08\]{background-color:#0ad4c414}.bg-\[\#0B0F16\]\/95{background-color:#0b0f16f2}.bg-\[\#0C0E14\]\/95{background-color:#0c0e14f2}.bg-\[\#0E0F11\]{--tw-bg-opacity: 1;background-color:rgb(14 15 17 / var(--tw-bg-opacity, 1))}.bg-\[\#0E0F11\]\/95{background-color:#0e0f11f2}.bg-\[\#0d0f16\]{--tw-bg-opacity: 1;background-color:rgb(13 15 22 / var(--tw-bg-opacity, 1))}.bg-\[\#120A0A\]\/95{background-color:#120a0af2}.bg-\[\#12100A\]\/95{background-color:#12100af2}.bg-\[\#14B8A6\]\/10{background-color:#14b8a61a}.bg-\[\#14B8A6\]\/\[0\.06\]{background-color:#14b8a60f}.bg-\[\#14B8A6\]\/\[0\.08\]{background-color:#14b8a614}.bg-\[\#14B8A6\]\/\[0\.12\]{background-color:#14b8a61f}.bg-\[\#7C7CFF\]\/10{background-color:#7c7cff1a}.bg-\[\#7dd3c0\]\/70{background-color:#7dd3c0b3}.bg-\[\#BFFF00\]{--tw-bg-opacity: 1;background-color:rgb(191 255 0 / var(--tw-bg-opacity, 1))}.bg-\[\#BFFF00\]\/10{background-color:#bfff001a}.bg-\[\#BFFF00\]\/15{background-color:#bfff0026}.bg-\[\#BFFF00\]\/30{background-color:#bfff004d}.bg-\[\#BFFF00\]\/50{background-color:#bfff0080}.bg-\[\#BFFF00\]\/70{background-color:#bfff00b3}.bg-\[\#BFFF00\]\/80{background-color:#bfff00cc}.bg-\[\#BFFF00\]\/\[0\.05\]{background-color:#bfff000d}.bg-\[\#BFFF00\]\/\[0\.06\]{background-color:#bfff000f}.bg-\[\#BFFF00\]\/\[0\.08\]{background-color:#bfff0014}.bg-\[\#BFFF00\]\/\[0\.10\]{background-color:#bfff001a}.bg-\[\#BFFF00\]\/\[0\.12\]{background-color:#bfff001f}.bg-\[\#BFFF00\]\/\[0\.1\]{background-color:#bfff001a}.bg-\[\#F5B700\]{--tw-bg-opacity: 1;background-color:rgb(245 183 0 / var(--tw-bg-opacity, 1))}.bg-\[\#F5B700\]\/10{background-color:#f5b7001a}.bg-\[\#F5B700\]\/\[0\.04\]{background-color:#f5b7000a}.bg-\[\#F5B700\]\/\[0\.08\]{background-color:#f5b70014}.bg-\[\#F5B700\]\/\[0\.12\]{background-color:#f5b7001f}.bg-\[\#FF6B6B\]{--tw-bg-opacity: 1;background-color:rgb(255 107 107 / var(--tw-bg-opacity, 1))}.bg-\[\#FF6B6B\]\/\[0\.04\]{background-color:#ff6b6b0a}.bg-\[\#FF6B88\]\/10{background-color:#ff6b881a}.bg-\[--orgx-surface-elevated\]{background-color:var(--orgx-surface-elevated)}.bg-\[--orgx-surface\]{background-color:var(--orgx-surface)}.bg-amber-200\/10{background-color:#fde68a1a}.bg-amber-200\/15{background-color:#fde68a26}.bg-amber-200\/80{background-color:#fde68acc}.bg-amber-300{--tw-bg-opacity: 1;background-color:rgb(252 211 77 / var(--tw-bg-opacity, 1))}.bg-amber-300\/10{background-color:#fcd34d1a}.bg-amber-300\/90{background-color:#fcd34de6}.bg-amber-300\/\[0\.10\]{background-color:#fcd34d1a}.bg-amber-300\/\[0\.12\]{background-color:#fcd34d1f}.bg-amber-400{--tw-bg-opacity: 1;background-color:rgb(251 191 36 / var(--tw-bg-opacity, 1))}.bg-amber-400\/10{background-color:#fbbf241a}.bg-amber-400\/\[0\.08\]{background-color:#fbbf2414}.bg-amber-400\/\[0\.10\]{background-color:#fbbf241a}.bg-amber-400\/\[0\.12\]{background-color:#fbbf241f}.bg-amber-400\/\[0\.16\]{background-color:#fbbf2429}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-amber-500\/\[0\.06\]{background-color:#f59e0b0f}.bg-amber-500\/\[0\.08\]{background-color:#f59e0b14}.bg-amber-500\/\[0\.09\]{background-color:#f59e0b17}.bg-amber-500\/\[0\.12\]{background-color:#f59e0b1f}.bg-amber-500\/\[0\.14\]{background-color:#f59e0b24}.bg-amber-500\/\[0\.1\]{background-color:#f59e0b1a}.bg-black\/15{background-color:#00000026}.bg-black\/20{background-color:#0003}.bg-black\/25{background-color:#00000040}.bg-black\/30{background-color:#0000004d}.bg-black\/35{background-color:#00000059}.bg-black\/40{background-color:#0006}.bg-black\/45{background-color:#00000073}.bg-black\/50{background-color:#00000080}.bg-black\/55{background-color:#0000008c}.bg-black\/60{background-color:#0009}.bg-black\/80{background-color:#000c}.bg-black\/\[0\.14\]{background-color:#00000024}.bg-black\/\[0\.18\]{background-color:#0000002e}.bg-current{background-color:currentColor}.bg-cyan\/\[0\.08\]{background-color:#0ad4c414}.bg-emerald-300\/90{background-color:#6ee7b7e6}.bg-emerald-400{--tw-bg-opacity: 1;background-color:rgb(52 211 153 / var(--tw-bg-opacity, 1))}.bg-emerald-400\/10{background-color:#34d3991a}.bg-emerald-400\/\[0\.08\]{background-color:#34d39914}.bg-emerald-500\/\[0\.1\]{background-color:#10b9811a}.bg-lime{--tw-bg-opacity: 1;background-color:rgb(191 255 0 / var(--tw-bg-opacity, 1))}.bg-lime\/10{background-color:#bfff001a}.bg-lime\/15{background-color:#bfff0026}.bg-lime\/30{background-color:#bfff004d}.bg-lime\/80{background-color:#bfff00cc}.bg-lime\/\[0\.05\]{background-color:#bfff000d}.bg-lime\/\[0\.06\]{background-color:#bfff000f}.bg-lime\/\[0\.07\]{background-color:#bfff0012}.bg-lime\/\[0\.08\]{background-color:#bfff0014}.bg-lime\/\[0\.10\]{background-color:#bfff001a}.bg-lime\/\[0\.11\]{background-color:#bfff001c}.bg-lime\/\[0\.12\]{background-color:#bfff001f}.bg-lime\/\[0\.14\]{background-color:#bfff0024}.bg-lime\/\[0\.15\]{background-color:#bfff0026}.bg-lime\/\[0\.18\]{background-color:#bfff002e}.bg-lime\/\[0\.1\]{background-color:#bfff001a}.bg-lime\/\[0\.20\]{background-color:#bfff0033}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(248 113 113 / var(--tw-bg-opacity, 1))}.bg-red-400\/80{background-color:#f87171cc}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/15{background-color:#ef444426}.bg-red-500\/\[0\.04\]{background-color:#ef44440a}.bg-red-500\/\[0\.06\]{background-color:#ef44440f}.bg-red-500\/\[0\.08\]{background-color:#ef444414}.bg-red-500\/\[0\.09\]{background-color:#ef444417}.bg-red-500\/\[0\.10\]{background-color:#ef44441a}.bg-red-500\/\[0\.12\]{background-color:#ef44441f}.bg-red-500\/\[0\.14\]{background-color:#ef444424}.bg-red-500\/\[0\.1\]{background-color:#ef44441a}.bg-rose-400\/10{background-color:#fb71851a}.bg-rose-400\/\[0\.08\]{background-color:#fb718514}.bg-rose-400\/\[0\.12\]{background-color:#fb71851f}.bg-rose-400\/\[0\.1\]{background-color:#fb71851a}.bg-rose-500\/\[0\.12\]{background-color:#f43f5e1f}.bg-teal\/10{background-color:#14b8a61a}.bg-teal\/\[0\.08\]{background-color:#14b8a614}.bg-teal\/\[0\.10\]{background-color:#14b8a61a}.bg-teal\/\[0\.12\]{background-color:#14b8a61f}.bg-teal\/\[0\.16\]{background-color:#14b8a629}.bg-teal\/\[0\.1\]{background-color:#14b8a61a}.bg-transparent{background-color:transparent}.bg-white\/10{background-color:#ffffff1a}.bg-white\/15{background-color:#ffffff26}.bg-white\/30{background-color:#ffffff4d}.bg-white\/35{background-color:#ffffff59}.bg-white\/40{background-color:#fff6}.bg-white\/5{background-color:#ffffff0d}.bg-white\/50{background-color:#ffffff80}.bg-white\/70{background-color:#ffffffb3}.bg-white\/\[0\.016\]{background-color:#ffffff04}.bg-white\/\[0\.025\]{background-color:#ffffff06}.bg-white\/\[0\.02\]{background-color:#ffffff05}.bg-white\/\[0\.03\]{background-color:#ffffff08}.bg-white\/\[0\.04\]{background-color:#ffffff0a}.bg-white\/\[0\.05\]{background-color:#ffffff0d}.bg-white\/\[0\.06\]{background-color:#ffffff0f}.bg-white\/\[0\.08\]{background-color:#ffffff14}.bg-white\/\[0\.09\]{background-color:#ffffff17}.bg-white\/\[0\.10\]{background-color:#ffffff1a}.bg-white\/\[0\.12\]{background-color:#ffffff1f}.bg-white\/\[0\.14\]{background-color:#ffffff24}.bg-white\/\[0\.16\]{background-color:#ffffff29}.bg-white\/\[0\.1\]{background-color:#ffffff1a}.bg-white\/\[0\.2\]{background-color:#fff3}.bg-\[linear-gradient\(150deg\,rgba\(20\,184\,166\,0\.15\)\,rgba\(2\,4\,10\,0\.7\)_42\%\,rgba\(2\,4\,10\,0\.95\)\)\]{background-image:linear-gradient(150deg,#14b8a626,#02040ab3 42%,#02040af2)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-l{background-image:linear-gradient(to left,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-\[\#02040A\]{--tw-gradient-from: #02040A var(--tw-gradient-from-position);--tw-gradient-to: rgb(2 4 10 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#0A0E16\]\/80{--tw-gradient-from: rgb(10 14 22 / .8) var(--tw-gradient-from-position);--tw-gradient-to: rgb(10 14 22 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-\[\#BFFF00\]\/0{--tw-gradient-from: rgb(191 255 0 / 0) var(--tw-gradient-from-position);--tw-gradient-to: rgb(191 255 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-amber-300\/0{--tw-gradient-from: rgb(252 211 77 / 0) var(--tw-gradient-from-position);--tw-gradient-to: rgb(252 211 77 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-lime\/10{--tw-gradient-from: rgb(191 255 0 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(191 255 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-300\/0{--tw-gradient-from: rgb(252 165 165 / 0) var(--tw-gradient-from-position);--tw-gradient-to: rgb(252 165 165 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-white\/0{--tw-gradient-from: rgb(255 255 255 / 0) var(--tw-gradient-from-position);--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-\[\#BFFF00\]\/70{--tw-gradient-to: rgb(191 255 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(191 255 0 / .7) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-amber-300\/55{--tw-gradient-to: rgb(252 211 77 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(252 211 77 / .55) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-amber-300\/65{--tw-gradient-to: rgb(252 211 77 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(252 211 77 / .65) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-cyan\/5{--tw-gradient-to: rgb(10 212 196 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(10 212 196 / .05) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-red-300\/65{--tw-gradient-to: rgb(252 165 165 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(252 165 165 / .65) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/35{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .35) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/45{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .45) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/50{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .5) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-white\/\[0\.06\]{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(255 255 255 / .06) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-\[\#BFFF00\]\/0{--tw-gradient-to: rgb(191 255 0 / 0) var(--tw-gradient-to-position)}.to-amber-300\/0{--tw-gradient-to: rgb(252 211 77 / 0) var(--tw-gradient-to-position)}.to-red-300\/0{--tw-gradient-to: rgb(252 165 165 / 0) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.to-white\/0{--tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-top:0;padding-bottom:0}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[0\.5px\]{padding-top:.5px;padding-bottom:.5px}.py-\[1px\],.py-px{padding-top:1px;padding-bottom:1px}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-1\.5{padding-bottom:.375rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-20{padding-bottom:5rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pb-\[92px\]{padding-bottom:92px}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pl-\[3px\]{padding-left:3px}.pr-0\.5{padding-right:.125rem}.pr-1{padding-right:.25rem}.pr-1\.5{padding-right:.375rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-8{padding-right:2rem}.pr-9{padding-right:2.25rem}.pt-0{padding-top:0}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-3{padding-top:.75rem}.pt-3\.5{padding-top:.875rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:JetBrains Mono,ui-monospace,SFMono-Regular,monospace}.font-sans{font-family:Geist,system-ui,-apple-system,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[0\.93em\]{font-size:.93em}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[28px\]{font-size:28px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-body{font-size:13px;line-height:20px}.text-caption{font-size:11px;line-height:16px}.text-heading{font-size:15px;line-height:22px}.text-micro{font-size:10px;line-height:14px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-title{font-size:20px;line-height:28px}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-4{line-height:1rem}.leading-\[1\.2\]{line-height:1.2}.leading-\[22px\]{line-height:22px}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[-0\.01em\]{letter-spacing:-.01em}.tracking-\[-0\.02em\]{letter-spacing:-.02em}.tracking-\[0\.01em\]{letter-spacing:.01em}.tracking-\[0\.02em\]{letter-spacing:.02em}.tracking-\[0\.06em\]{letter-spacing:.06em}.tracking-\[0\.07em\]{letter-spacing:.07em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.09em\]{letter-spacing:.09em}.tracking-\[0\.12em\]{letter-spacing:.12em}.tracking-\[0\.14em\]{letter-spacing:.14em}.tracking-\[0\.16em\]{letter-spacing:.16em}.tracking-\[0\.1em\]{letter-spacing:.1em}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-white\/90{color:#ffffffe6!important}.text-\[\#0A0E16\]{--tw-text-opacity: 1;color:rgb(10 14 22 / var(--tw-text-opacity, 1))}.text-\[\#0AD4C4\]{--tw-text-opacity: 1;color:rgb(10 212 196 / var(--tw-text-opacity, 1))}.text-\[\#0AD4C4\]\/70{color:#0ad4c4b3}.text-\[\#14B8A6\]{--tw-text-opacity: 1;color:rgb(20 184 166 / var(--tw-text-opacity, 1))}.text-\[\#43E7D8\]{--tw-text-opacity: 1;color:rgb(67 231 216 / var(--tw-text-opacity, 1))}.text-\[\#7AEDE5\]{--tw-text-opacity: 1;color:rgb(122 237 229 / var(--tw-text-opacity, 1))}.text-\[\#7AEDE5\]\/60{color:#7aede599}.text-\[\#7EEDE1\]{--tw-text-opacity: 1;color:rgb(126 237 225 / var(--tw-text-opacity, 1))}.text-\[\#87FFE9\]{--tw-text-opacity: 1;color:rgb(135 255 233 / var(--tw-text-opacity, 1))}.text-\[\#8FF7EC\]{--tw-text-opacity: 1;color:rgb(143 247 236 / var(--tw-text-opacity, 1))}.text-\[\#98FFF5\]{--tw-text-opacity: 1;color:rgb(152 255 245 / var(--tw-text-opacity, 1))}.text-\[\#A8A0FF\]{--tw-text-opacity: 1;color:rgb(168 160 255 / var(--tw-text-opacity, 1))}.text-\[\#BFFF00\]{--tw-text-opacity: 1;color:rgb(191 255 0 / var(--tw-text-opacity, 1))}.text-\[\#CFCBFF\]{--tw-text-opacity: 1;color:rgb(207 203 255 / var(--tw-text-opacity, 1))}.text-\[\#CFF8F3\]{--tw-text-opacity: 1;color:rgb(207 248 243 / var(--tw-text-opacity, 1))}.text-\[\#D8FFA1\]{--tw-text-opacity: 1;color:rgb(216 255 161 / var(--tw-text-opacity, 1))}.text-\[\#D8FFA1\]\/80{color:#d8ffa1cc}.text-\[\#D8FFA1\]\/85{color:#d8ffa1d9}.text-\[\#DFFFB5\]{--tw-text-opacity: 1;color:rgb(223 255 181 / var(--tw-text-opacity, 1))}.text-\[\#E1FFB2\]{--tw-text-opacity: 1;color:rgb(225 255 178 / var(--tw-text-opacity, 1))}.text-\[\#E1FFB2\]\/80{color:#e1ffb2cc}.text-\[\#E3FFAE\]{--tw-text-opacity: 1;color:rgb(227 255 174 / var(--tw-text-opacity, 1))}.text-\[\#E6E4FF\]{--tw-text-opacity: 1;color:rgb(230 228 255 / var(--tw-text-opacity, 1))}.text-\[\#E8FFD0\]{--tw-text-opacity: 1;color:rgb(232 255 208 / var(--tw-text-opacity, 1))}.text-\[\#E8FFD0\]\/95{color:#e8ffd0f2}.text-\[\#F5B700\]{--tw-text-opacity: 1;color:rgb(245 183 0 / var(--tw-text-opacity, 1))}.text-\[\#F5B700\]\/90{color:#f5b700e6}.text-\[\#F5D37A\]{--tw-text-opacity: 1;color:rgb(245 211 122 / var(--tw-text-opacity, 1))}.text-\[\#FF6B88\]{--tw-text-opacity: 1;color:rgb(255 107 136 / var(--tw-text-opacity, 1))}.text-\[\#FF6B88\]\/70{color:#ff6b88b3}.text-\[\#FFA8A8\]{--tw-text-opacity: 1;color:rgb(255 168 168 / var(--tw-text-opacity, 1))}.text-\[\#FFE7A8\]{--tw-text-opacity: 1;color:rgb(255 231 168 / var(--tw-text-opacity, 1))}.text-\[\#d8ffa1\]{--tw-text-opacity: 1;color:rgb(216 255 161 / var(--tw-text-opacity, 1))}.text-amber-100{--tw-text-opacity: 1;color:rgb(254 243 199 / var(--tw-text-opacity, 1))}.text-amber-100\/55{color:#fef3c78c}.text-amber-100\/70{color:#fef3c7b3}.text-amber-100\/75{color:#fef3c7bf}.text-amber-100\/80{color:#fef3c7cc}.text-amber-100\/85{color:#fef3c7d9}.text-amber-100\/90{color:#fef3c7e6}.text-amber-200{--tw-text-opacity: 1;color:rgb(253 230 138 / var(--tw-text-opacity, 1))}.text-amber-200\/70{color:#fde68ab3}.text-amber-200\/75{color:#fde68abf}.text-amber-200\/80{color:#fde68acc}.text-amber-300{--tw-text-opacity: 1;color:rgb(252 211 77 / var(--tw-text-opacity, 1))}.text-amber-400{--tw-text-opacity: 1;color:rgb(251 191 36 / var(--tw-text-opacity, 1))}.text-amber-50{--tw-text-opacity: 1;color:rgb(255 251 235 / var(--tw-text-opacity, 1))}.text-amber-50\/90{color:#fffbebe6}.text-black{--tw-text-opacity: 1;color:rgb(0 0 0 / var(--tw-text-opacity, 1))}.text-bright{color:var(--orgx-text-bright)}.text-current{color:currentColor}.text-emerald-100{--tw-text-opacity: 1;color:rgb(209 250 229 / var(--tw-text-opacity, 1))}.text-emerald-300{--tw-text-opacity: 1;color:rgb(110 231 183 / var(--tw-text-opacity, 1))}.text-faint{color:var(--orgx-text-faint)}.text-lime{--tw-text-opacity: 1;color:rgb(191 255 0 / var(--tw-text-opacity, 1))}.text-lime\/85{color:#bfff00d9}.text-muted{color:var(--orgx-text-muted)}.text-primary{color:var(--orgx-text-primary)}.text-red-100{--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity, 1))}.text-red-100\/75{color:#fee2e2bf}.text-red-100\/80{color:#fee2e2cc}.text-red-100\/85{color:#fee2e2d9}.text-red-100\/90{color:#fee2e2e6}.text-red-200{--tw-text-opacity: 1;color:rgb(254 202 202 / var(--tw-text-opacity, 1))}.text-red-200\/60{color:#fecaca99}.text-red-200\/65{color:#fecacaa6}.text-red-200\/70{color:#fecacab3}.text-red-200\/75{color:#fecacabf}.text-red-200\/80{color:#fecacacc}.text-red-200\/85{color:#fecacad9}.text-red-200\/90{color:#fecacae6}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-300\/80{color:#fca5a5cc}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-400\/70{color:#f87171b3}.text-red-50\/95{color:#fef2f2f2}.text-rose-100{--tw-text-opacity: 1;color:rgb(255 228 230 / var(--tw-text-opacity, 1))}.text-rose-100\/80{color:#ffe4e6cc}.text-rose-100\/85{color:#ffe4e6d9}.text-rose-200{--tw-text-opacity: 1;color:rgb(254 205 211 / var(--tw-text-opacity, 1))}.text-rose-200\/70{color:#fecdd3b3}.text-rose-400{--tw-text-opacity: 1;color:rgb(251 113 133 / var(--tw-text-opacity, 1))}.text-rose-50\/85{color:#fff1f2d9}.text-secondary{color:var(--orgx-text-secondary)}.text-teal{--tw-text-opacity: 1;color:rgb(20 184 166 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/20{color:#fff3}.text-white\/25{color:#ffffff40}.text-white\/30{color:#ffffff4d}.text-white\/35{color:#ffffff59}.text-white\/40{color:#fff6}.text-white\/45{color:#ffffff73}.text-white\/50{color:#ffffff80}.text-white\/55{color:#ffffff8c}.text-white\/60{color:#fff9}.text-white\/70{color:#ffffffb3}.text-white\/80{color:#fffc}.text-white\/90{color:#ffffffe6}.text-white\/\[0\.15\]{color:#ffffff26}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.\!no-underline{text-decoration-line:none!important}.decoration-white\/10{text-decoration-color:#ffffff1a}.decoration-white\/20{text-decoration-color:#fff3}.decoration-white\/35{text-decoration-color:#ffffff59}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.placeholder-white\/30::-moz-placeholder{color:#ffffff4d}.placeholder-white\/30::placeholder{color:#ffffff4d}.accent-\[\#0AD4C4\]{accent-color:#0AD4C4}.accent-\[\#BFFF00\]{accent-color:#BFFF00}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-30{opacity:.3}.opacity-35{opacity:.35}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-55{opacity:.55}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.opacity-85{opacity:.85}.opacity-90{opacity:.9}.opacity-95{opacity:.95}.\!shadow-none{--tw-shadow: 0 0 #0000 !important;--tw-shadow-colored: 0 0 #0000 !important;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)!important}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_-12px_40px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow: 0 -12px 40px rgba(0,0,0,.4);--tw-shadow-colored: 0 -12px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_1px_rgba\(191\,255\,0\,0\.12\)\]{--tw-shadow: 0 0 0 1px rgba(191,255,0,.12);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_12px_rgba\(191\,255\,0\,0\.25\)\]{--tw-shadow: 0 0 12px rgba(191,255,0,.25);--tw-shadow-colored: 0 0 12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_24px_rgba\(191\,255\,0\,0\.12\)\]{--tw-shadow: 0 0 24px rgba(191,255,0,.12);--tw-shadow-colored: 0 0 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_8px_rgba\(191\,255\,0\,0\.4\)\]{--tw-shadow: 0 0 8px rgba(191,255,0,.4);--tw-shadow-colored: 0 0 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_10px_24px_rgba\(0\,0\,0\,0\.22\)\]{--tw-shadow: 0 10px 24px rgba(0,0,0,.22);--tw-shadow-colored: 0 10px 24px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_10px_30px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow: 0 10px 30px rgba(0,0,0,.35);--tw-shadow-colored: 0 10px 30px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_12px_40px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow: 0 12px 40px rgba(0,0,0,.45);--tw-shadow-colored: 0 12px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_32px_rgba\(0\,0\,0\,0\.38\)\]{--tw-shadow: 0 16px 32px rgba(0,0,0,.38);--tw-shadow-colored: 0 16px 32px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_36px_rgba\(0\,0\,0\,0\.42\)\]{--tw-shadow: 0 16px 36px rgba(0,0,0,.42);--tw-shadow-colored: 0 16px 36px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_40px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow: 0 16px 40px rgba(0,0,0,.45);--tw-shadow-colored: 0 16px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_40px_rgba\(0\,0\,0\,0\.46\)\]{--tw-shadow: 0 16px 40px rgba(0,0,0,.46);--tw-shadow-colored: 0 16px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_16px_48px_rgba\(0\,0\,0\,0\.5\)\,0_0_0_1px_rgba\(255\,255\,255\,0\.04\)\]{--tw-shadow: 0 16px 48px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.04);--tw-shadow-colored: 0 16px 48px var(--tw-shadow-color), 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_40px_rgba\(0\,0\,0\,0\.42\)\]{--tw-shadow: 0 18px 40px rgba(0,0,0,.42);--tw-shadow-colored: 0 18px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_18px_42px_rgba\(0\,0\,0\,0\.46\)\]{--tw-shadow: 0 18px 42px rgba(0,0,0,.46);--tw-shadow-colored: 0 18px 42px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_20px_40px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow: 0 20px 40px rgba(0,0,0,.45);--tw-shadow-colored: 0 20px 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_20px_44px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow: 0 20px 44px rgba(0,0,0,.45);--tw-shadow-colored: 0 20px 44px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_20px_50px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow: 0 20px 50px rgba(0,0,0,.45);--tw-shadow-colored: 0 20px 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_20px_50px_rgba\(0\,0\,0\,0\.52\)\]{--tw-shadow: 0 20px 50px rgba(0,0,0,.52);--tw-shadow-colored: 0 20px 50px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_24px_60px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow: 0 24px 60px rgba(0,0,0,.5);--tw-shadow-colored: 0 24px 60px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_2px_8px_rgba\(0\,0\,0\,0\.35\)\]{--tw-shadow: 0 2px 8px rgba(0,0,0,.35);--tw-shadow-colored: 0 2px 8px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_18px_rgba\(0\,0\,0\,0\.24\)\]{--tw-shadow: 0 8px 18px rgba(0,0,0,.24);--tw-shadow-colored: 0 8px 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_20px_rgba\(0\,0\,0\,0\.3\)\]{--tw-shadow: 0 8px 20px rgba(0,0,0,.3);--tw-shadow-colored: 0 8px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_8px_32px_rgba\(0\,0\,0\,0\.4\)\,inset_0_1px_0_rgba\(255\,255\,255\,0\.05\)\]{--tw-shadow: 0 8px 32px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.05);--tw-shadow-colored: 0 8px 32px var(--tw-shadow-color), inset 0 1px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[12px_0_40px_rgba\(0\,0\,0\,0\.4\)\]{--tw-shadow: 12px 0 40px rgba(0,0,0,.4);--tw-shadow-colored: 12px 0 40px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.035\)\,0_14px_34px_rgba\(0\,0\,0\,0\.36\)\]{--tw-shadow: inset 0 1px 0 rgba(255,255,255,.035),0 14px 34px rgba(0,0,0,.36);--tw-shadow-colored: inset 0 1px 0 var(--tw-shadow-color), 0 14px 34px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-4{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-\[\#02040A\]{--tw-ring-opacity: 1;--tw-ring-color: rgb(2 4 10 / var(--tw-ring-opacity, 1))}.ring-\[\#BFFF00\]\/20{--tw-ring-color: rgb(191 255 0 / .2)}.ring-\[\#BFFF00\]\/30{--tw-ring-color: rgb(191 255 0 / .3)}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity, 1))}.ring-lime\/60{--tw-ring-color: rgb(191 255 0 / .6)}.ring-teal\/40{--tw-ring-color: rgb(20 184 166 / .4)}.ring-white\/\[0\.12\]{--tw-ring-color: rgb(255 255 255 / .12)}.ring-offset-1{--tw-ring-offset-width: 1px}.ring-offset-\[\#0A0E16\]{--tw-ring-offset-color: #0A0E16}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-2xl{--tw-backdrop-blur: blur(40px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[10px\]{--tw-backdrop-blur: blur(10px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[12px\],.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-xl{--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[background-color\,border-color\,box-shadow\]{transition-property:background-color,border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[background-color\,border-radius\,box-shadow\]{transition-property:background-color,border-radius,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[border-color\]{transition-property:border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[opacity\,transform\,background-color\,border-color\,color\]{transition-property:opacity,transform,background-color,border-color,color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[opacity\,transform\]{transition-property:opacity,transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[padding\,min-height\]{transition-property:padding,min-height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[transform\,background-color\,border-color\,color\]{transition-property:transform,background-color,border-color,color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-0{transition-duration:0s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.duration-\[120ms\]{transition-duration:.12s}.duration-\[60ms\]{transition-duration:60ms}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.cv-auto{content-visibility:auto;contain-intrinsic-size:120px 1px}.\[scrollbar-width\:none\]{scrollbar-width:none}:root{color-scheme:dark;--orgx-bg: #02040a;--orgx-surface: #08090d;--orgx-surface-elevated: #0c0e14;--orgx-surface-hero: #121824;--orgx-border: rgba(255, 255, 255, .08);--orgx-border-strong: rgba(255, 255, 255, .12);--orgx-border-subtle: rgba(255, 255, 255, .05);--orgx-border-hairline: rgba(255, 255, 255, .035);--orgx-text: #f2f7ff;--orgx-text-muted: #8f9ab7;--orgx-lime: #bfff00;--orgx-teal: #14b8a6;--orgx-cyan: #0ad4c4;--orgx-text-bright: rgba(242, 247, 255, .95);--orgx-text-primary: rgba(242, 247, 255, .78);--orgx-text-secondary: rgba(242, 247, 255, .55);--orgx-text-muted: rgba(242, 247, 255, .38);--orgx-text-faint: rgba(242, 247, 255, .22);--orgx-ease-standard: cubic-bezier(.22, 1, .36, 1);--orgx-ease-entrance: cubic-bezier(.16, 1, .3, 1)}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:999px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseSoft{0%,to{opacity:.5}50%{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes nextUpSweep{0%{transform:translate(-35%);opacity:0}12%{opacity:1}to{transform:translate(135%);opacity:0}}@keyframes drawIn{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes stepEntrance{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{0%,to{opacity:.85}50%{opacity:1}}.status-breathe{animation:breathe 6s ease-in-out infinite}.section-divider{height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.075) 20%,rgba(255,255,255,.075) 80%,transparent)}@keyframes livePulse{0%,to{box-shadow:0 0 #bfff0000}50%{box-shadow:0 0 8px 2px #bfff0040}}@keyframes undoCountdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes successGlow{0%{box-shadow:0 0 #bfff0066}50%{box-shadow:0 0 12px 4px #bfff0026}to{box-shadow:0 0 #bfff0000}}@keyframes selfHealProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes swipeApproveFlash{0%{background-color:#bfff0000}40%{background-color:#bfff001f}to{background-color:#bfff0000}}.live-pulse{animation:livePulse 2.4s ease-in-out infinite}.success-glow{animation:successGlow .6s var(--orgx-ease-standard) both}@keyframes autopilotActivate{0%{transform:scale(1);box-shadow:0 0 #0ad4c400}50%{transform:scale(1.08);box-shadow:0 0 16px 4px #0ad4c440}to{transform:scale(1);box-shadow:0 0 #0ad4c400}}@keyframes autopilotRailPulse{0%,to{opacity:.92}50%{opacity:1}}.autopilot-activate{animation:autopilotActivate .6s var(--orgx-ease-standard) both}.autopilot-rail-pulse{animation:autopilotRailPulse 4s ease-in-out infinite}.autopilot-rail{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#0ad4c414,#0ad4c408);border:1px solid rgba(10,212,196,.2)}.autopilot-rail[data-state=blocked],.autopilot-rail[data-state=error]{background:linear-gradient(135deg,#ff6b6b14,#ff6b6b08);border-color:#ff6b6b33}@keyframes pulseGlow{0%,to{box-shadow:0 0 0 2px var(--agent-glow-color, rgba(34, 197, 94, .2))}50%{box-shadow:0 0 8px 3px var(--agent-glow-color, rgba(34, 197, 94, .2))}}.agent-glow-ring{animation:pulseGlow 2.4s ease-in-out infinite}.shimmer-on-complete{position:relative;overflow:hidden}.shimmer-on-complete:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);background-size:200% 100%;animation:shimmer .6s ease-out 1;pointer-events:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.placeholder\:text-faint::-moz-placeholder{color:var(--orgx-text-faint)}.placeholder\:text-faint::placeholder{color:var(--orgx-text-faint)}.placeholder\:text-muted::-moz-placeholder{color:var(--orgx-text-muted)}.placeholder\:text-muted::placeholder{color:var(--orgx-text-muted)}.placeholder\:text-secondary::-moz-placeholder{color:var(--orgx-text-secondary)}.placeholder\:text-secondary::placeholder{color:var(--orgx-text-secondary)}.placeholder\:text-white\/25::-moz-placeholder{color:#ffffff40}.placeholder\:text-white\/25::placeholder{color:#ffffff40}.first\:mt-0:first-child{margin-top:0}.first\:pt-0:first-child{padding-top:0}.focus-within\:border-\[\#BFFF00\]\/40:focus-within{border-color:#bfff0066}.hover\:-translate-y-\[1px\]:hover{--tw-translate-y: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-\[\#F5B700\]\/40:hover{border-color:#f5b70066}.hover\:border-red-400\/30:hover{border-color:#f871714d}.hover\:border-strong:hover{border-color:var(--orgx-border-strong)}.hover\:border-subtle:hover{border-color:var(--orgx-border-subtle)}.hover\:border-white\/30:hover{border-color:#ffffff4d}.hover\:border-white\/\[0\.14\]:hover{border-color:#ffffff24}.hover\:border-white\/\[0\.15\]:hover{border-color:#ffffff26}.hover\:border-white\/\[0\.16\]:hover{border-color:#ffffff29}.hover\:border-white\/\[0\.18\]:hover{border-color:#ffffff2e}.hover\:border-white\/\[0\.22\]:hover{border-color:#ffffff38}.hover\:border-white\/\[0\.2\]:hover{border-color:#fff3}.hover\:bg-\[\#0A0E16\]:hover{--tw-bg-opacity: 1;background-color:rgb(10 14 22 / var(--tw-bg-opacity, 1))}.hover\:bg-\[\#0AD4C4\]\/30:hover{background-color:#0ad4c44d}.hover\:bg-\[\#0AD4C4\]\/\[0\.08\]:hover{background-color:#0ad4c414}.hover\:bg-\[\#BFFF00\]\/20:hover{background-color:#bfff0033}.hover\:bg-\[\#BFFF00\]\/25:hover{background-color:#bfff0040}.hover\:bg-\[\#BFFF00\]\/\[0\.1\]:hover{background-color:#bfff001a}.hover\:bg-\[\#F5B700\]\/\[0\.14\]:hover{background-color:#f5b70024}.hover\:bg-\[\#FF6B6B\]\/20:hover{background-color:#ff6b6b33}.hover\:bg-\[\#FF6B88\]\/20:hover{background-color:#ff6b8833}.hover\:bg-\[\#FF6B88\]\/\[0\.08\]:hover{background-color:#ff6b8814}.hover\:bg-\[\#d3ff42\]:hover{--tw-bg-opacity: 1;background-color:rgb(211 255 66 / var(--tw-bg-opacity, 1))}.hover\:bg-amber-200\/15:hover{background-color:#fde68a26}.hover\:bg-amber-200\/20:hover{background-color:#fde68a33}.hover\:bg-amber-400\/\[0\.16\]:hover{background-color:#fbbf2429}.hover\:bg-amber-500\/\[0\.18\]:hover{background-color:#f59e0b2e}.hover\:bg-amber-500\/\[0\.2\]:hover{background-color:#f59e0b33}.hover\:bg-black\/35:hover{background-color:#00000059}.hover\:bg-lime\/20:hover{background-color:#bfff0033}.hover\:bg-lime\/\[0\.08\]:hover{background-color:#bfff0014}.hover\:bg-lime\/\[0\.16\]:hover{background-color:#bfff0029}.hover\:bg-lime\/\[0\.18\]:hover{background-color:#bfff002e}.hover\:bg-lime\/\[0\.2\]:hover{background-color:#bfff0033}.hover\:bg-red-400\/\[0\.08\]:hover{background-color:#f8717114}.hover\:bg-red-500\/15:hover{background-color:#ef444426}.hover\:bg-red-500\/20:hover{background-color:#ef444433}.hover\:bg-red-500\/\[0\.09\]:hover{background-color:#ef444417}.hover\:bg-red-500\/\[0\.12\]:hover{background-color:#ef44441f}.hover\:bg-red-500\/\[0\.14\]:hover{background-color:#ef444424}.hover\:bg-rose-400\/10:hover{background-color:#fb71851a}.hover\:bg-rose-400\/20:hover,.hover\:bg-rose-400\/\[0\.2\]:hover{background-color:#fb718533}.hover\:bg-teal\/20:hover,.hover\:bg-teal\/\[0\.2\]:hover{background-color:#14b8a633}.hover\:bg-white\/\[0\.02\]:hover{background-color:#ffffff05}.hover\:bg-white\/\[0\.035\]:hover{background-color:#ffffff09}.hover\:bg-white\/\[0\.03\]:hover{background-color:#ffffff08}.hover\:bg-white\/\[0\.04\]:hover{background-color:#ffffff0a}.hover\:bg-white\/\[0\.05\]:hover{background-color:#ffffff0d}.hover\:bg-white\/\[0\.06\]:hover{background-color:#ffffff0f}.hover\:bg-white\/\[0\.07\]:hover{background-color:#ffffff12}.hover\:bg-white\/\[0\.08\]:hover{background-color:#ffffff14}.hover\:bg-white\/\[0\.09\]:hover{background-color:#ffffff17}.hover\:bg-white\/\[0\.12\]:hover{background-color:#ffffff1f}.hover\:bg-white\/\[0\.1\]:hover{background-color:#ffffff1a}.hover\:bg-white\/\[0\.2\]:hover{background-color:#fff3}.hover\:bg-\[linear-gradient\(150deg\,rgba\(20\,184\,166\,0\.22\)\,rgba\(2\,4\,10\,0\.72\)_42\%\,rgba\(2\,4\,10\,0\.95\)\)\]:hover{background-image:linear-gradient(150deg,#14b8a638,#02040ab8 42%,#02040af2)}.hover\:text-\[\#0AD4C4\]:hover{--tw-text-opacity: 1;color:rgb(10 212 196 / var(--tw-text-opacity, 1))}.hover\:text-\[\#E9FFBD\]:hover{--tw-text-opacity: 1;color:rgb(233 255 189 / var(--tw-text-opacity, 1))}.hover\:text-\[\#ECFFC6\]:hover{--tw-text-opacity: 1;color:rgb(236 255 198 / var(--tw-text-opacity, 1))}.hover\:text-\[\#FF6B88\]:hover{--tw-text-opacity: 1;color:rgb(255 107 136 / var(--tw-text-opacity, 1))}.hover\:text-bright:hover{color:var(--orgx-text-bright)}.hover\:text-current:hover{color:currentColor}.hover\:text-primary:hover{color:var(--orgx-text-primary)}.hover\:text-red-100:hover{--tw-text-opacity: 1;color:rgb(254 226 226 / var(--tw-text-opacity, 1))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-red-400:hover{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.hover\:text-rose-300:hover{--tw-text-opacity: 1;color:rgb(253 164 175 / var(--tw-text-opacity, 1))}.hover\:text-secondary:hover{color:var(--orgx-text-secondary)}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:text-white\/45:hover{color:#ffffff73}.hover\:text-white\/50:hover{color:#ffffff80}.hover\:text-white\/60:hover{color:#fff9}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:shadow-\[0_0_32px_rgba\(191\,255\,0\,0\.22\)\]:hover{--tw-shadow: 0 0 32px rgba(191,255,0,.22);--tw-shadow-colored: 0 0 32px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:ring-white\/\[0\.24\]:hover{--tw-ring-color: rgb(255 255 255 / .24)}.hover\:brightness-110:hover{--tw-brightness: brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-\[\#BFFF00\]\/30:focus{border-color:#bfff004d}.focus\:border-\[\#BFFF00\]\/35:focus{border-color:#bfff0059}.focus\:border-\[\#BFFF00\]\/40:focus{border-color:#bfff0066}.focus\:border-lime\/30:focus{border-color:#bfff004d}.focus\:border-lime\/35:focus{border-color:#bfff0059}.focus\:border-white\/15:focus{border-color:#ffffff26}.focus\:border-white\/20:focus{border-color:#fff3}.focus\:border-white\/25:focus{border-color:#ffffff40}.focus\:border-white\/30:focus{border-color:#ffffff4d}.focus\:border-white\/\[0\.16\]:focus{border-color:#ffffff29}.focus\:bg-white\/\[0\.04\]:focus{background-color:#ffffff0a}.focus\:bg-white\/\[0\.05\]:focus{background-color:#ffffff0d}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-\[\#BFFF00\]\/30:focus{--tw-ring-color: rgb(191 255 0 / .3)}.focus\:ring-\[\#BFFF00\]\/35:focus{--tw-ring-color: rgb(191 255 0 / .35)}.focus\:ring-\[\#BFFF00\]\/40:focus{--tw-ring-color: rgb(191 255 0 / .4)}.focus\:ring-lime\/40:focus{--tw-ring-color: rgb(191 255 0 / .4)}.focus\:ring-red-300\/40:focus{--tw-ring-color: rgb(252 165 165 / .4)}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-\[\#BFFF00\]\/35:focus-visible{--tw-ring-color: rgb(191 255 0 / .35)}.focus-visible\:ring-\[\#BFFF00\]\/45:focus-visible{--tw-ring-color: rgb(191 255 0 / .45)}.focus-visible\:ring-lime\/40:focus-visible{--tw-ring-color: rgb(191 255 0 / .4)}.focus-visible\:ring-lime\/45:focus-visible{--tw-ring-color: rgb(191 255 0 / .45)}.focus-visible\:ring-lime\/50:focus-visible{--tw-ring-color: rgb(191 255 0 / .5)}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-\[\#02040A\]:focus-visible{--tw-ring-offset-color: #02040A}.active\:scale-\[0\.995\]:active{--tw-scale-x: .995;--tw-scale-y: .995;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-white\/10:disabled{border-color:#ffffff1a}.disabled\:bg-white\/\[0\.08\]:disabled{background-color:#ffffff14}.disabled\:text-secondary:disabled{color:var(--orgx-text-secondary)}.disabled\:text-white\/25:disabled{color:#ffffff40}.disabled\:text-white\/35:disabled{color:#ffffff59}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-35:disabled{opacity:.35}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-45:disabled{opacity:.45}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-55:disabled{opacity:.55}.disabled\:opacity-60:disabled{opacity:.6}.disabled\:hover\:bg-white\/\[0\.05\]:hover:disabled{background-color:#ffffff0d}.disabled\:hover\:text-white\/25:hover:disabled{color:#ffffff40}.group[open] .group-open\:rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:focus-within .group-focus-within\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:focus-within .group-focus-within\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:focus-within .group-focus-within\:scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:focus-within .group-focus-within\:opacity-0{opacity:0}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-110{--tw-scale-x: 1.1;--tw-scale-y: 1.1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-90{--tw-scale-x: .9;--tw-scale-y: .9;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-white\/\[0\.02\]{background-color:#ffffff05}.group:hover .group-hover\:bg-white\/\[0\.03\]{background-color:#ffffff08}.group:hover .group-hover\:bg-white\/\[0\.06\]{background-color:#ffffff0f}.group:hover .group-hover\:text-lime{--tw-text-opacity: 1;color:rgb(191 255 0 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.group\/dock:hover .group-hover\/dock\:opacity-100{opacity:1}.group:hover .group-hover\:opacity-0{opacity:0}.group:hover .group-hover\:opacity-100{opacity:1}@media(min-width:640px){.sm\:absolute{position:absolute}.sm\:left-1\/2{left:50%}.sm\:left-auto{left:auto}.sm\:right-0{right:0}.sm\:right-6{right:1.5rem}.sm\:right-auto{right:auto}.sm\:top-12{top:3rem}.sm\:top-\[64px\]{top:64px}.sm\:z-30{z-index:30}.sm\:-mx-6{margin-left:-1.5rem;margin-right:-1.5rem}.sm\:mx-8{margin-left:2rem;margin-right:2rem}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:inline-flex{display:inline-flex}.sm\:h-\[86vh\]{height:86vh}.sm\:h-\[88vh\]{height:88vh}.sm\:max-h-\[86vh\]{max-height:86vh}.sm\:max-h-\[88vh\]{max-height:88vh}.sm\:max-h-\[min\(78vh\,680px\)\]{max-height:min(78vh,680px)}.sm\:w-\[102px\]{width:102px}.sm\:w-\[220px\]{width:220px}.sm\:w-\[360px\]{width:360px}.sm\:w-\[440px\]{width:440px}.sm\:w-\[460px\]{width:460px}.sm\:w-\[min\(84vw\,360px\)\]{width:min(84vw,360px)}.sm\:w-auto{width:auto}.sm\:min-w-\[102px\]{min-width:102px}.sm\:max-w-\[94vw\]{max-width:94vw}.sm\:-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[1fr_auto\]{grid-template-columns:1fr auto}.sm\:flex-row{flex-direction:row}.sm\:items-start{align-items:flex-start}.sm\:items-end{align-items:flex-end}.sm\:items-center{align-items:center}.sm\:justify-end{justify-content:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-1\.5{gap:.375rem}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:rounded-2xl{border-radius:1rem}.sm\:p-10{padding:2.5rem}.sm\:p-3{padding:.75rem}.sm\:p-5{padding:1.25rem}.sm\:p-6{padding:1.5rem}.sm\:p-7{padding:1.75rem}.sm\:p-8{padding:2rem}.sm\:px-3{padding-left:.75rem;padding-right:.75rem}.sm\:px-4{padding-left:1rem;padding-right:1rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-7{padding-left:1.75rem;padding-right:1.75rem}.sm\:px-8{padding-left:2rem;padding-right:2rem}.sm\:pb-20{padding-bottom:5rem}.sm\:pr-2{padding-right:.5rem}.sm\:pt-2{padding-top:.5rem}.sm\:pt-5{padding-top:1.25rem}.sm\:pt-6{padding-top:1.5rem}.sm\:pt-8{padding-top:2rem}.sm\:text-\[17px\]{font-size:17px}.sm\:text-\[28px\]{font-size:28px}.sm\:text-heading{font-size:15px;line-height:22px}}@media(min-width:768px){.md\:col-span-2{grid-column:span 2 / span 2}.md\:ml-auto{margin-left:auto}.md\:block{display:block}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[auto_minmax\(0\,1fr\)\]{grid-template-columns:auto minmax(0,1fr)}.md\:flex-row{flex-direction:row}.md\:flex-nowrap{flex-wrap:nowrap}.md\:items-center{align-items:center}}@media(min-width:1024px){.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:col-span-6{grid-column:span 6 / span 6}.lg\:mt-0{margin-top:0}.lg\:block{display:block}.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:grid{display:grid}.lg\:hidden{display:none}.lg\:h-screen{height:100vh}.lg\:min-h-0{min-height:0px}.lg\:w-\[132px\]{width:132px}.lg\:w-\[360px\]{width:360px}.lg\:min-w-\[132px\]{min-width:132px}.lg\:max-w-\[94vw\]{max-width:94vw}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[1\.12fr_1fr\]{grid-template-columns:1.12fr 1fr}.lg\:grid-cols-\[1\.24fr_0\.86fr\]{grid-template-columns:1.24fr .86fr}.lg\:grid-cols-\[1fr_auto_1fr\]{grid-template-columns:1fr auto 1fr}.lg\:grid-cols-\[250px_minmax\(0\,1fr\)\]{grid-template-columns:250px minmax(0,1fr)}.lg\:grid-cols-\[280px_minmax\(0\,1fr\)\]{grid-template-columns:280px minmax(0,1fr)}.lg\:grid-cols-\[minmax\(260px\,0\.8fr\)_minmax\(0\,1\.2fr\)\]{grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)}.lg\:flex-col{flex-direction:column}.lg\:gap-3{gap:.75rem}.lg\:overflow-hidden{overflow:hidden}.lg\:pb-0{padding-bottom:0}.lg\:pb-5{padding-bottom:1.25rem}.lg\:pl-2\.5{padding-left:.625rem}}@media(min-width:1280px){.xl\:block{display:block}.xl\:inline{display:inline}.xl\:flex{display:flex}.xl\:hidden{display:none}.xl\:h-full{height:100%}.xl\:min-h-\[70px\]{min-height:70px}.xl\:min-h-\[92px\]{min-height:92px}.xl\:w-\[150px\]{width:150px}.xl\:w-\[182px\]{width:182px}.xl\:w-\[48px\]{width:48px}.xl\:min-w-\[112px\]{min-width:112px}.xl\:min-w-\[150px\]{min-width:150px}.xl\:min-w-\[182px\]{min-width:182px}.xl\:max-w-\[380px\]{max-width:380px}.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-\[minmax\(0\,1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}.xl\:grid-cols-\[minmax\(0\,1fr\)_560px\]{grid-template-columns:minmax(0,1fr) 560px}.xl\:flex-row{flex-direction:row}.xl\:items-start{align-items:flex-start}.xl\:items-center{align-items:center}.xl\:justify-between{justify-content:space-between}.xl\:gap-0{gap:0px}.xl\:self-end{align-self:flex-end}.xl\:rounded-none{border-radius:0}.xl\:rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.xl\:border-b-0{border-bottom-width:0px}.xl\:border-l{border-left-width:1px}.xl\:border-r-0{border-right-width:0px}.xl\:border-t-0{border-top-width:0px}.xl\:border-white\/\[0\.10\]{border-color:#ffffff1a}.xl\:bg-transparent{background-color:transparent}.xl\:px-3{padding-left:.75rem;padding-right:.75rem}.xl\:py-2{padding-top:.5rem;padding-bottom:.5rem}.xl\:pr-1{padding-right:.25rem}.xl\:pr-4{padding-right:1rem}.xl\:text-caption{font-size:11px;line-height:16px}.xl\:shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.xl\:backdrop-blur-none{--tw-backdrop-blur: ;-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}}@media(min-width:1536px){.\32xl\:flex{display:flex}.\32xl\:w-\[206px\]{width:206px}.\32xl\:min-w-\[140px\]{min-width:140px}.\32xl\:min-w-\[206px\]{min-width:206px}}.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar{display:none}.\[\&\>\[data-agent-avatar\]\]\:h-5>[data-agent-avatar]{height:1.25rem}.\[\&\>\[data-agent-avatar\]\]\:w-5>[data-agent-avatar]{width:1.25rem}@media(min-width:1024px){.lg\:\[\&\>section\]\:h-full>section{height:100%}}
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as o,j as t}from"./cNrhgGc1.js";import{i as L,b as C,T as A,a7 as T}from"./Bp3N-QL5.js";function R(c){const i=Date.parse(c);if(!Number.isFinite(i))return null;const s=Date.now()-i,r=s<0,a=Math.abs(s),l=Math.round(a/6e4);if(l<1)return r?"soon":"just now";if(l<60)return r?`in ${l}m`:`${l}m ago`;const u=Math.round(a/36e5);if(u<48)return r?`in ${u}h`:`${u}h ago`;const p=Math.round(a/864e5);return p<30?r?`in ${p}d`:`${p}d ago`:new Date(i).toLocaleDateString()}async function M(c,i){const s=await fetch(c,i);if(!s.ok){const r=await s.json().catch(()=>null),a=typeof(r==null?void 0:r.error)=="string"&&r.error||typeof(r==null?void 0:r.message)=="string"&&r.message||`Request failed (${s.status})`;throw new Error(a)}return await s.json()}function J(c){const{entityType:i,entityId:s,authToken:r,embedMode:a,className:l,variant:u="default"}=c,[p,b]=o.useState(!0),[j,v]=o.useState(!1),[N,x]=o.useState(null),[E,S]=o.useState([]),[h,g]=o.useState(""),m=L(),y=o.useMemo(()=>{const e=encodeURIComponent(i),n=encodeURIComponent(s);return`/orgx/api/entities/${e}/${n}/comments`},[i,s]),f=o.useCallback(async()=>{if(m){S([]),x(null),b(!1);return}b(!0),x(null);try{const e=await M(y,{method:"GET",headers:C({authToken:r,embedMode:a})});S(Array.isArray(e.comments)?e.comments:[])}catch(e){x(e instanceof Error?e.message:String(e))}finally{b(!1)}},[r,m,a,y]);o.useEffect(()=>{f()},[f]);const w=o.useCallback(async()=>{if(m){g("");return}const e=h.trim();if(e){v(!0),x(null);try{await M(y,{method:"POST",headers:C({authToken:r,embedMode:a,contentTypeJson:!0}),body:JSON.stringify({body:e,commentType:"note",severity:"info",tags:[]})}),g(""),await f()}catch(n){x(n instanceof Error?n.message:String(n))}finally{v(!1)}}},[r,h,m,a,y,f]),_=o.useCallback(e=>{e.key==="Enter"&&(!e.metaKey&&!e.ctrlKey||(e.preventDefault(),w()))},[w]),d=u==="inline";return t.jsxs("div",{className:l,children:[t.jsxs("div",{className:d?"space-y-1":"space-y-2",children:[t.jsx("textarea",{value:h,onChange:e=>g(e.target.value),onKeyDown:_,placeholder:"Leave a note for humans or agents...",className:d?"min-h-[60px] w-full resize-y border-b border-white/[0.06] bg-transparent px-0 py-2 text-body text-bright outline-none placeholder:text-faint focus:border-white/15 transition-colors":"min-h-[96px] w-full resize-y rounded-xl border border-white/[0.10] bg-white/[0.03] px-4 py-3 text-body text-bright outline-none placeholder:text-faint focus:border-white/20 focus:bg-white/[0.05] transition-colors"}),t.jsxs("div",{className:`flex flex-wrap items-center justify-between gap-3 ${d?"opacity-70":""}`,children:[t.jsx("p",{className:"text-caption text-muted",children:"Cmd/Ctrl+Enter to post. Visible to agents and collaborators."}),t.jsx("button",{type:"button",onClick:w,disabled:j||h.trim().length===0,className:d?"text-caption font-semibold text-primary hover:text-white transition-colors disabled:opacity-50":"inline-flex items-center justify-center rounded-full border border-strong bg-white/[0.05] px-3.5 py-1.5 text-caption font-semibold tracking-wide text-primary transition-colors hover:bg-white/[0.09] disabled:opacity-50 disabled:hover:bg-white/[0.05]",children:j?"Saving…":"Post note"})]})]}),N?t.jsx("div",{className:`mt-2 text-caption text-red-200 ${d?"":"rounded-xl border border-red-500/20 bg-red-500/10 px-3.5 py-2"}`,children:N}):null,p?t.jsx("div",{className:"mt-2 text-body text-muted",children:"Loading notes…"}):E.length===0?t.jsx(A,{icon:"inbox",headline:"No notes yet",description:m?"Notes are unavailable in demo mode.":"Add a note to keep context for your team and agents.",className:"py-6"}):t.jsx("div",{className:`mt-2 space-y-2 ${d?"divide-y divide-white/[0.06]":"space-y-3"}`,children:E.map(e=>{const n=e.created_at?R(e.created_at):null,k=e.author_name??(e.author_type==="agent"?e.author_id:"Unknown");if(d)return t.jsxs("div",{className:"pt-2 first:pt-0",children:[t.jsxs("div",{className:"flex items-center gap-2 text-micro text-muted",children:[t.jsx("span",{className:"font-medium text-secondary",children:k}),n?t.jsx("span",{title:T(e.created_at),children:n}):null]}),t.jsx("p",{className:"mt-0.5 whitespace-pre-wrap text-body leading-relaxed text-primary",children:e.body})]},e.id);const D=e.comment_type??"note",$=typeof e.severity=="string"?e.severity:"info";return t.jsxs("div",{className:"rounded-2xl border border-white/[0.10] bg-white/[0.02] px-4 py-3",children:[t.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[t.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[t.jsx("span",{className:"text-body font-semibold text-bright",children:k}),t.jsx("span",{className:"rounded-full border border-strong bg-white/[0.06] px-2 py-0.5 text-micro uppercase tracking-[0.08em] text-secondary",children:e.author_type}),t.jsx("span",{className:"rounded-full border border-strong px-2 py-0.5 text-micro uppercase tracking-[0.08em] text-secondary",children:D}),$!=="info"?t.jsx("span",{className:"rounded-full border border-strong px-2 py-0.5 text-micro uppercase tracking-[0.08em] text-secondary",children:$}):null]}),n?t.jsx("span",{className:"text-caption text-muted",title:T(e.created_at),children:n}):null]}),t.jsx("p",{className:"mt-2 whitespace-pre-wrap text-body leading-relaxed text-primary",children:e.body})]},e.id)})})]})}export{J as E};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as s,j as t}from"./cNrhgGc1.js";import{w as ke}from"./CPjsbbgZ.js";import"./C-KIc3Wc.js";import"./BJgZIVUQ.js";import"./CxQ08qFN.js";const I={PREVIEW:"orgx_orchestrator_preview",APPLY:"orgx_orchestrator_apply",STATUS:"orgx_orchestrator_status"};function l(p){if(typeof p!="string")return null;const n=p.trim();return n.length?n:null}function Ce(p){if(!p.trim())return{};const n=JSON.parse(p);return!n||typeof n!="object"||Array.isArray(n)?{}:n}function Q(p){const n=l(p.transcript)??l(p.text)??l(p.delta??null);if(n)return n;const h=p.item&&typeof p.item=="object"?p.item:null,v=Array.isArray(h==null?void 0:h.content)?h==null?void 0:h.content:[];for(const y of v){if(!y||typeof y!="object")continue;const f=l(y.transcript)??l(y.text);if(f)return f}return null}function Se(p){const n=p.response&&typeof p.response=="object"?p.response:null,h=Array.isArray(n==null?void 0:n.output)?n==null?void 0:n.output:[],v=[];for(const y of h){if(!y||typeof y!="object")continue;const f=y;if(f.type!=="function_call")continue;const C=l(f.name),S=l(f.call_id)??l(f.id),A=typeof f.arguments=="string"?f.arguments:"{}";!C||!S||v.push({callId:S,name:C,arguments:A})}return v}function Ae(p){const n=Number.isFinite(p)?p*100:0;return`${Math.max(0,Math.min(100,Math.round(n)))}%`}const fe=[{type:"function",name:I.PREVIEW,description:"Preview orchestrator actions from a natural language command. Use this before apply.",parameters:{type:"object",additionalProperties:!1,properties:{input:{type:"string",description:"Natural language command from the operator."},workspace_id:{type:"string",description:"Optional OrgX workspace/command_center id."}},required:["input"]}},{type:"function",name:I.APPLY,description:"Apply selected action ids from a previewed command after user confirmation.",parameters:{type:"object",additionalProperties:!1,properties:{command_id:{type:"string",description:"Command id from preview response."},confirmed_action_ids:{type:"array",items:{type:"string"},description:"Optional subset of action ids to apply. Omit to apply all."},workspace_id:{type:"string",description:"Optional OrgX workspace/command_center id."}},required:["command_id"]}},{type:"function",name:I.STATUS,description:"Get latest status for a previously created command.",parameters:{type:"object",additionalProperties:!1,properties:{command_id:{type:"string",description:"Command id from preview/apply response."}},required:["command_id"]}}];function Oe({open:p,selectedWorkspaceId:n,onClose:h}){var le,de,pe;const[v,y]=s.useState(!1),[f,C]=s.useState(!1),[S,A]=s.useState(!1),[xe,he]=s.useState("gpt-realtime-1.5"),[$,Z]=s.useState(""),[W,M]=s.useState(""),[o,P]=s.useState(null),[T,X]=s.useState([]),[ee,te]=s.useState(!1),[re,oe]=s.useState(!1),[se,b]=s.useState(null),[ne,z]=s.useState([]),G=s.useRef(null),D=s.useRef(null),O=s.useRef(null),H=s.useRef(null),E=s.useRef(""),J=s.useRef(new Set),R=s.useCallback(e=>{z(r=>[e,...r].slice(0,10))},[]),N=s.useCallback(()=>{A(!1),C(!1),J.current=new Set;const e=D.current;if(e)try{e.close()}catch{}D.current=null;const r=G.current;if(r)try{r.close()}catch{}G.current=null;const a=O.current;if(a)for(const m of a.getTracks())try{m.stop()}catch{}O.current=null;const d=H.current;if(d){try{const m=d.srcObject;m==null||m.getTracks().forEach(i=>i.stop())}catch{}try{d.pause()}catch{}d.srcObject=null}H.current=null},[]);s.useEffect(()=>{p||(N(),b(null),M(""),z([]),E.current="")},[N,p]),s.useEffect(()=>()=>N(),[N]);const g=s.useCallback(e=>{const r=D.current;!r||r.readyState!=="open"||r.send(JSON.stringify(e))},[]),ae=s.useCallback(async e=>{const r=await fetch(e),a=await r.json().catch(()=>({}));if(!r.ok)throw new Error(a&&typeof a=="object"&&"error"in a&&a.error||`Request failed: ${r.status}`);return a},[]),j=s.useCallback(async(e,r)=>{const a=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}),d=await a.json().catch(()=>({}));if(!a.ok)throw new Error(d&&typeof d=="object"&&"error"in d&&d.error||`Request failed: ${a.status}`);return d},[]),L=s.useCallback(async e=>{if(!J.current.has(e.callId)){J.current.add(e.callId);try{const r=Ce(e.arguments);let a={ok:!1,error:"Unsupported tool call."};if(e.name===I.PREVIEW){const d=l(r.input);if(!d)throw new Error("Preview tool call requires input.");const m=await j("/orgx/api/orchestrator/commands/preview",{input:d,workspace_id:l(r.workspace_id)??n??void 0});if(!m.command)throw new Error(m.error??"Preview command failed.");P(m.command),X(m.command.proposedActions.map(i=>i.actionId)),a={ok:!0,command:m.command}}else if(e.name===I.APPLY){const d=l(r.command_id);if(!d)throw new Error("Apply tool call requires command_id.");const m=Array.isArray(r.confirmed_action_ids)?r.confirmed_action_ids.filter(F=>typeof F=="string"):void 0,i=await j("/orgx/api/orchestrator/commands/apply",{command_id:d,confirmed_action_ids:m,workspace_id:l(r.workspace_id)??n??void 0});if(!i.command)throw new Error(i.error??"Apply command failed.");P(i.command),a={ok:!0,command:i.command}}else if(e.name===I.STATUS){const d=l(r.command_id);if(!d)throw new Error("Status tool call requires command_id.");const m=await ae(`/orgx/api/orchestrator/commands/${encodeURIComponent(d)}`);if(!m.command)throw new Error(m.error??"Command status unavailable.");P(m.command),a={ok:!0,command:m.command}}g({type:"conversation.item.create",item:{type:"function_call_output",call_id:e.callId,output:JSON.stringify(a)}}),g({type:"response.create"}),R(`Tool executed: ${e.name}`)}catch(r){const a=r instanceof Error?r.message:"Tool execution failed.";b(a),g({type:"conversation.item.create",item:{type:"function_call_output",call_id:e.callId,output:JSON.stringify({ok:!1,error:a})}}),g({type:"response.create"}),R(`Tool failed: ${e.name}`)}}},[ae,R,j,n,g]),ye=s.useCallback(async()=>{var e,r,a,d,m;if(!((e=navigator.mediaDevices)!=null&&e.getUserMedia)){b("Microphone capture is unavailable in this browser/runtime.");return}b(null),y(!0),z([]);try{const i=await j("/orgx/api/realtime/session",{workspace_id:n??void 0,model:"gpt-realtime-1.5",voice:"alloy",tool_choice:"auto",tools:fe,instructions:"You are the OrgX realtime orchestrator copilot. Use tools for state-changing operations. Before applying actions, state the plan concisely."});if(!(i!=null&&i.session))throw new Error((i==null?void 0:i.error)??"Failed to create realtime session.");const F=l((r=i==null?void 0:i.session)==null?void 0:r.model)??l((a=i==null?void 0:i.defaults)==null?void 0:a.model)??"gpt-realtime-1.5";he(F);const me=l((m=(d=i==null?void 0:i.session)==null?void 0:d.client_secret)==null?void 0:m.value);if(!me)throw new Error("Realtime session is missing client_secret.");const U=await navigator.mediaDevices.getUserMedia({audio:!0});O.current=U;for(const _ of U.getAudioTracks())_.enabled=!1;const k=new RTCPeerConnection;G.current=k,U.getTracks().forEach(_=>k.addTrack(_,U));const q=document.createElement("audio");q.autoplay=!0,H.current=q,k.ontrack=_=>{const[u]=_.streams;u&&(q.srcObject=u,q.play().catch(()=>{}))};const V=k.createDataChannel("oai-events");D.current=V,V.onmessage=_=>{try{const u=JSON.parse(String(_.data)),x=l(u.type)??"";if(x==="error"){const c=u.error&&typeof u.error=="object"?u.error:null,w=l(c==null?void 0:c.message)??l(u.message)??"Realtime session error.";b(w),R(`Error: ${w}`);return}if(x==="conversation.item.input_audio_transcription.completed"){const c=Q(u);c&&Z(c)}if(x==="response.output_text.delta"||x==="response.text.delta"||x==="response.output_audio_transcript.delta"||x==="response.audio_transcript.delta"){const c=l(u.delta)??Q(u);c&&(E.current=`${E.current}${c}`,M(E.current))}if(x==="response.output_text.done"||x==="response.text.done"||x==="response.output_audio_transcript.done"||x==="response.audio_transcript.done"){const c=Q(u);c&&(E.current=c,M(c))}if(x==="response.function_call_arguments.done"){const c=l(u.call_id),w=l(u.name);if(c&&w){const B=typeof u.arguments=="string"?u.arguments:"{}";L({callId:c,name:w,arguments:B})}}if(x==="response.output_item.done"){const c=u.item&&typeof u.item=="object"?u.item:null;if((c==null?void 0:c.type)==="function_call"){const w=l(c.call_id)??l(c.id),B=l(c.name);if(w&&B){const Ne=typeof c.arguments=="string"?c.arguments:"{}";L({callId:w,name:B,arguments:Ne})}}}if(x==="response.done"){const c=Se(u);for(const w of c)L(w)}}catch{}},V.onopen=()=>{C(!0),g({type:"session.update",session:{tools:fe,tool_choice:"auto"}}),R("Realtime connected")},V.onclose=()=>{C(!1),A(!1)};const ue=await k.createOffer();await k.setLocalDescription(ue);const Y=await fetch(`https://api.openai.com/v1/realtime?model=${encodeURIComponent(F)}`,{method:"POST",headers:{Authorization:`Bearer ${me}`,"Content-Type":"application/sdp"},body:ue.sdp??""});if(!Y.ok){const _=await Y.text().catch(()=>Y.statusText);throw new Error(`Realtime SDP negotiation failed: ${_}`)}const ve=await Y.text();await k.setRemoteDescription({type:"answer",sdp:ve})}catch(i){N(),b(i instanceof Error?i.message:"Failed to connect realtime session.")}finally{y(!1)}},[N,L,R,j,n]),ie=s.useCallback(()=>{if(!f)return;const e=O.current;if(e){for(const r of e.getAudioTracks())r.enabled=!0;E.current="",M(""),A(!0),g({type:"input_audio_buffer.clear"})}},[f,g]),K=s.useCallback(()=>{const e=O.current;if(e)for(const r of e.getAudioTracks())r.enabled=!1;A(!1),g({type:"input_audio_buffer.commit"}),g({type:"response.create"})},[g]),ge=s.useCallback(async()=>{const e=$.trim();if(e){te(!0),b(null);try{const r=await j("/orgx/api/orchestrator/commands/preview",{input:e,workspace_id:n??void 0});if(!r.command)throw new Error(r.error??"Failed to preview command.");P(r.command),X(r.command.proposedActions.map(a=>a.actionId))}catch(r){b(r instanceof Error?r.message:"Failed to preview command.")}finally{te(!1)}}},[$,j,n]),be=s.useCallback(async()=>{if(o!=null&&o.id){oe(!0),b(null);try{const e=await j("/orgx/api/orchestrator/commands/apply",{command_id:o.id,confirmed_action_ids:T,workspace_id:n??void 0});if(!e.command)throw new Error(e.error??"Failed to apply command.");P(e.command)}catch(e){b(e instanceof Error?e.message:"Failed to apply command.")}finally{oe(!1)}}},[o==null?void 0:o.id,j,T,n]),ce=T.length,we=(((le=o==null?void 0:o.proposedActions)==null?void 0:le.length)??0)>0,je=!!(o!=null&&o.id)&&ce>0&&!re,_e=s.useMemo(()=>{const e=(o==null?void 0:o.status)??"draft";return e==="completed"?"text-lime":e==="completed_with_errors"||e==="failed"?"text-amber-300":e==="applying"?"text-teal":"text-secondary"},[o==null?void 0:o.status]);return t.jsxs(ke,{open:p,onClose:h,maxWidth:"max-w-5xl",fitContent:!0,closeOnEscapeWhenTyping:!1,children:[t.jsx("div",{className:"border-b border-strong px-4 py-3",children:t.jsxs("div",{className:"flex items-start justify-between gap-3",children:[t.jsxs("div",{children:[t.jsx("p",{className:"text-caption uppercase tracking-[0.14em] text-secondary",children:"Realtime Orchestrator"}),t.jsx("h2",{className:"text-heading font-semibold text-white",children:"GPT Realtime 1.5"}),t.jsx("p",{className:"text-micro text-secondary",children:"Voice + tool-calls for initiative launch, decision resolution, and Next Up control."})]}),t.jsx("button",{type:"button",onClick:h,className:"rounded-full border border-strong bg-white/[0.03] px-3 py-1.5 text-caption text-secondary transition-colors hover:bg-white/[0.08] hover:text-white",children:"Close"})]})}),t.jsxs("div",{className:"grid gap-4 px-4 pb-4 pt-3 lg:grid-cols-[1.12fr_1fr]",children:[t.jsxs("section",{className:"space-y-3",children:[t.jsxs("div",{className:"rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[t.jsx("span",{className:"text-caption uppercase tracking-[0.12em] text-secondary",children:"Session"}),t.jsx("span",{className:"text-micro text-secondary",children:xe})]}),t.jsx("div",{className:"flex flex-wrap items-center gap-2",children:f?t.jsxs(t.Fragment,{children:[t.jsx("button",{type:"button",onMouseDown:ie,onMouseUp:K,onMouseLeave:()=>{S&&K()},onTouchStart:e=>{e.preventDefault(),ie()},onTouchEnd:e=>{e.preventDefault(),K()},className:`rounded-full border px-3 py-1.5 text-caption font-semibold transition-colors ${S?"border-teal/45 bg-teal/[0.16] text-teal":"border-white/[0.2] bg-white/[0.04] text-primary hover:bg-white/[0.1]"}`,children:S?"Listening… release to send":"Hold to talk"}),t.jsx("button",{type:"button",onClick:N,className:"rounded-full border border-strong bg-white/[0.03] px-3 py-1.5 text-caption text-secondary transition-colors hover:bg-white/[0.08] hover:text-primary",children:"Disconnect"})]}):t.jsx("button",{type:"button",disabled:v,onClick:()=>void ye(),className:"rounded-full border border-lime/35 bg-lime/[0.12] px-3 py-1.5 text-caption font-semibold text-lime transition-colors hover:bg-lime/[0.2] disabled:cursor-not-allowed disabled:opacity-60",children:v?"Connecting…":"Connect Realtime"})}),ne.length>0?t.jsx("div",{className:"mt-3 rounded-lg border border-strong bg-black/20 p-2",children:ne.map((e,r)=>t.jsx("p",{className:"text-micro text-secondary",children:e},`${e}-${r}`))}):null]}),t.jsxs("div",{className:"rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsx("label",{className:"mb-2 block text-caption uppercase tracking-[0.12em] text-secondary",children:"Command Input"}),t.jsx("textarea",{value:$,onChange:e=>Z(e.target.value),rows:4,"data-modal-autofocus":"true",placeholder:"Example: create initiative called AI Readiness Audit for this workspace",className:"w-full rounded-lg border border-strong bg-[#040912] px-3 py-2 text-body text-primary placeholder:text-secondary focus:border-lime/35 focus:outline-none"}),W?t.jsxs("p",{className:"mt-2 text-caption text-secondary",children:["Assistant: ",t.jsx("span",{className:"text-primary",children:W})]}):null,t.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[t.jsx("button",{type:"button",disabled:ee||$.trim().length===0,onClick:()=>void ge(),className:"rounded-full border border-teal/35 bg-teal/[0.12] px-3 py-1.5 text-caption font-semibold text-teal transition-colors hover:bg-teal/[0.2] disabled:cursor-not-allowed disabled:opacity-60",children:ee?"Previewing…":"Preview Actions"}),t.jsx("button",{type:"button",disabled:!je,onClick:()=>void be(),className:"rounded-full border border-lime/35 bg-lime/[0.12] px-3 py-1.5 text-caption font-semibold text-lime transition-colors hover:bg-lime/[0.2] disabled:cursor-not-allowed disabled:opacity-60",children:re?"Applying…":`Apply (${ce})`})]})]})]}),t.jsxs("section",{className:"space-y-3",children:[t.jsxs("div",{className:"rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[t.jsx("span",{className:"text-caption uppercase tracking-[0.12em] text-secondary",children:"Command Status"}),t.jsx("span",{className:`text-caption font-semibold ${_e}`,children:(o==null?void 0:o.status)??"idle"})]}),t.jsx("p",{className:"text-body text-primary",children:(o==null?void 0:o.humanSummary)??"Preview a command or use voice to trigger tool calls."}),(de=o==null?void 0:o.riskFlags)!=null&&de.length?t.jsxs("p",{className:"mt-2 text-caption text-amber-200",children:["Risk flags: ",o.riskFlags.join(", ")]}):null]}),t.jsxs("div",{className:"max-h-[360px] space-y-2 overflow-y-auto rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsx("p",{className:"text-caption uppercase tracking-[0.12em] text-secondary",children:"Proposed Actions"}),we?o.proposedActions.map(e=>{const r=T.includes(e.actionId);return t.jsx("label",{className:"block rounded-lg border border-strong bg-[#040912] p-2 text-body",children:t.jsxs("div",{className:"flex items-start gap-2",children:[t.jsx("input",{type:"checkbox",checked:r,onChange:a=>{const d=a.target.checked?[...T,e.actionId]:T.filter(m=>m!==e.actionId);X(d)},className:"mt-1"}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("p",{className:"font-semibold text-primary",children:e.type}),t.jsx("p",{className:"text-caption text-secondary",children:e.reason}),t.jsxs("p",{className:"text-micro text-secondary",children:["confidence ",Ae(e.confidence)," • impact ",e.blockingImpact]})]})]})},e.actionId)}):t.jsx("p",{className:"text-body text-secondary",children:"No actions inferred yet."})]}),(((pe=o==null?void 0:o.results)==null?void 0:pe.length)??0)>0?t.jsxs("div",{className:"max-h-[220px] space-y-2 overflow-y-auto rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsx("p",{className:"text-caption uppercase tracking-[0.12em] text-secondary",children:"Apply Results"}),o.results.map(e=>t.jsxs("div",{className:`rounded-lg border p-2 text-body ${e.ok?"border-lime/30 bg-lime/[0.08] text-lime":"border-amber-400/35 bg-amber-500/[0.12] text-amber-100"}`,children:[t.jsx("p",{className:"font-semibold",children:e.type}),t.jsx("p",{className:"text-caption",children:e.message}),e.error?t.jsxs("p",{className:"text-micro text-amber-200",children:["error: ",e.error]}):null]},`${e.actionId}-${e.type}`))]}):null]})]}),se?t.jsx("div",{className:"border-t border-amber-500/30 bg-amber-500/[0.12] px-4 py-2 text-caption text-amber-100",children:se}):null]})}export{Oe as RealtimeOrchestratorModal};
|
|
1
|
+
import{r as s,j as t}from"./cNrhgGc1.js";import{y as ke}from"./Bp3N-QL5.js";import"./C-KIc3Wc.js";import"./BJgZIVUQ.js";import"./CxQ08qFN.js";const I={PREVIEW:"orgx_orchestrator_preview",APPLY:"orgx_orchestrator_apply",STATUS:"orgx_orchestrator_status"};function l(p){if(typeof p!="string")return null;const n=p.trim();return n.length?n:null}function Ce(p){if(!p.trim())return{};const n=JSON.parse(p);return!n||typeof n!="object"||Array.isArray(n)?{}:n}function Q(p){const n=l(p.transcript)??l(p.text)??l(p.delta??null);if(n)return n;const h=p.item&&typeof p.item=="object"?p.item:null,v=Array.isArray(h==null?void 0:h.content)?h==null?void 0:h.content:[];for(const y of v){if(!y||typeof y!="object")continue;const f=l(y.transcript)??l(y.text);if(f)return f}return null}function Se(p){const n=p.response&&typeof p.response=="object"?p.response:null,h=Array.isArray(n==null?void 0:n.output)?n==null?void 0:n.output:[],v=[];for(const y of h){if(!y||typeof y!="object")continue;const f=y;if(f.type!=="function_call")continue;const C=l(f.name),S=l(f.call_id)??l(f.id),A=typeof f.arguments=="string"?f.arguments:"{}";!C||!S||v.push({callId:S,name:C,arguments:A})}return v}function Ae(p){const n=Number.isFinite(p)?p*100:0;return`${Math.max(0,Math.min(100,Math.round(n)))}%`}const fe=[{type:"function",name:I.PREVIEW,description:"Preview orchestrator actions from a natural language command. Use this before apply.",parameters:{type:"object",additionalProperties:!1,properties:{input:{type:"string",description:"Natural language command from the operator."},workspace_id:{type:"string",description:"Optional OrgX workspace/command_center id."}},required:["input"]}},{type:"function",name:I.APPLY,description:"Apply selected action ids from a previewed command after user confirmation.",parameters:{type:"object",additionalProperties:!1,properties:{command_id:{type:"string",description:"Command id from preview response."},confirmed_action_ids:{type:"array",items:{type:"string"},description:"Optional subset of action ids to apply. Omit to apply all."},workspace_id:{type:"string",description:"Optional OrgX workspace/command_center id."}},required:["command_id"]}},{type:"function",name:I.STATUS,description:"Get latest status for a previously created command.",parameters:{type:"object",additionalProperties:!1,properties:{command_id:{type:"string",description:"Command id from preview/apply response."}},required:["command_id"]}}];function Oe({open:p,selectedWorkspaceId:n,onClose:h}){var le,de,pe;const[v,y]=s.useState(!1),[f,C]=s.useState(!1),[S,A]=s.useState(!1),[xe,he]=s.useState("gpt-realtime-1.5"),[$,Z]=s.useState(""),[W,M]=s.useState(""),[o,P]=s.useState(null),[T,X]=s.useState([]),[ee,te]=s.useState(!1),[re,oe]=s.useState(!1),[se,b]=s.useState(null),[ne,z]=s.useState([]),G=s.useRef(null),D=s.useRef(null),O=s.useRef(null),H=s.useRef(null),E=s.useRef(""),J=s.useRef(new Set),R=s.useCallback(e=>{z(r=>[e,...r].slice(0,10))},[]),N=s.useCallback(()=>{A(!1),C(!1),J.current=new Set;const e=D.current;if(e)try{e.close()}catch{}D.current=null;const r=G.current;if(r)try{r.close()}catch{}G.current=null;const a=O.current;if(a)for(const m of a.getTracks())try{m.stop()}catch{}O.current=null;const d=H.current;if(d){try{const m=d.srcObject;m==null||m.getTracks().forEach(i=>i.stop())}catch{}try{d.pause()}catch{}d.srcObject=null}H.current=null},[]);s.useEffect(()=>{p||(N(),b(null),M(""),z([]),E.current="")},[N,p]),s.useEffect(()=>()=>N(),[N]);const g=s.useCallback(e=>{const r=D.current;!r||r.readyState!=="open"||r.send(JSON.stringify(e))},[]),ae=s.useCallback(async e=>{const r=await fetch(e),a=await r.json().catch(()=>({}));if(!r.ok)throw new Error(a&&typeof a=="object"&&"error"in a&&a.error||`Request failed: ${r.status}`);return a},[]),j=s.useCallback(async(e,r)=>{const a=await fetch(e,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}),d=await a.json().catch(()=>({}));if(!a.ok)throw new Error(d&&typeof d=="object"&&"error"in d&&d.error||`Request failed: ${a.status}`);return d},[]),L=s.useCallback(async e=>{if(!J.current.has(e.callId)){J.current.add(e.callId);try{const r=Ce(e.arguments);let a={ok:!1,error:"Unsupported tool call."};if(e.name===I.PREVIEW){const d=l(r.input);if(!d)throw new Error("Preview tool call requires input.");const m=await j("/orgx/api/orchestrator/commands/preview",{input:d,workspace_id:l(r.workspace_id)??n??void 0});if(!m.command)throw new Error(m.error??"Preview command failed.");P(m.command),X(m.command.proposedActions.map(i=>i.actionId)),a={ok:!0,command:m.command}}else if(e.name===I.APPLY){const d=l(r.command_id);if(!d)throw new Error("Apply tool call requires command_id.");const m=Array.isArray(r.confirmed_action_ids)?r.confirmed_action_ids.filter(F=>typeof F=="string"):void 0,i=await j("/orgx/api/orchestrator/commands/apply",{command_id:d,confirmed_action_ids:m,workspace_id:l(r.workspace_id)??n??void 0});if(!i.command)throw new Error(i.error??"Apply command failed.");P(i.command),a={ok:!0,command:i.command}}else if(e.name===I.STATUS){const d=l(r.command_id);if(!d)throw new Error("Status tool call requires command_id.");const m=await ae(`/orgx/api/orchestrator/commands/${encodeURIComponent(d)}`);if(!m.command)throw new Error(m.error??"Command status unavailable.");P(m.command),a={ok:!0,command:m.command}}g({type:"conversation.item.create",item:{type:"function_call_output",call_id:e.callId,output:JSON.stringify(a)}}),g({type:"response.create"}),R(`Tool executed: ${e.name}`)}catch(r){const a=r instanceof Error?r.message:"Tool execution failed.";b(a),g({type:"conversation.item.create",item:{type:"function_call_output",call_id:e.callId,output:JSON.stringify({ok:!1,error:a})}}),g({type:"response.create"}),R(`Tool failed: ${e.name}`)}}},[ae,R,j,n,g]),ye=s.useCallback(async()=>{var e,r,a,d,m;if(!((e=navigator.mediaDevices)!=null&&e.getUserMedia)){b("Microphone capture is unavailable in this browser/runtime.");return}b(null),y(!0),z([]);try{const i=await j("/orgx/api/realtime/session",{workspace_id:n??void 0,model:"gpt-realtime-1.5",voice:"alloy",tool_choice:"auto",tools:fe,instructions:"You are the OrgX realtime orchestrator copilot. Use tools for state-changing operations. Before applying actions, state the plan concisely."});if(!(i!=null&&i.session))throw new Error((i==null?void 0:i.error)??"Failed to create realtime session.");const F=l((r=i==null?void 0:i.session)==null?void 0:r.model)??l((a=i==null?void 0:i.defaults)==null?void 0:a.model)??"gpt-realtime-1.5";he(F);const me=l((m=(d=i==null?void 0:i.session)==null?void 0:d.client_secret)==null?void 0:m.value);if(!me)throw new Error("Realtime session is missing client_secret.");const U=await navigator.mediaDevices.getUserMedia({audio:!0});O.current=U;for(const _ of U.getAudioTracks())_.enabled=!1;const k=new RTCPeerConnection;G.current=k,U.getTracks().forEach(_=>k.addTrack(_,U));const q=document.createElement("audio");q.autoplay=!0,H.current=q,k.ontrack=_=>{const[u]=_.streams;u&&(q.srcObject=u,q.play().catch(()=>{}))};const V=k.createDataChannel("oai-events");D.current=V,V.onmessage=_=>{try{const u=JSON.parse(String(_.data)),x=l(u.type)??"";if(x==="error"){const c=u.error&&typeof u.error=="object"?u.error:null,w=l(c==null?void 0:c.message)??l(u.message)??"Realtime session error.";b(w),R(`Error: ${w}`);return}if(x==="conversation.item.input_audio_transcription.completed"){const c=Q(u);c&&Z(c)}if(x==="response.output_text.delta"||x==="response.text.delta"||x==="response.output_audio_transcript.delta"||x==="response.audio_transcript.delta"){const c=l(u.delta)??Q(u);c&&(E.current=`${E.current}${c}`,M(E.current))}if(x==="response.output_text.done"||x==="response.text.done"||x==="response.output_audio_transcript.done"||x==="response.audio_transcript.done"){const c=Q(u);c&&(E.current=c,M(c))}if(x==="response.function_call_arguments.done"){const c=l(u.call_id),w=l(u.name);if(c&&w){const B=typeof u.arguments=="string"?u.arguments:"{}";L({callId:c,name:w,arguments:B})}}if(x==="response.output_item.done"){const c=u.item&&typeof u.item=="object"?u.item:null;if((c==null?void 0:c.type)==="function_call"){const w=l(c.call_id)??l(c.id),B=l(c.name);if(w&&B){const Ne=typeof c.arguments=="string"?c.arguments:"{}";L({callId:w,name:B,arguments:Ne})}}}if(x==="response.done"){const c=Se(u);for(const w of c)L(w)}}catch{}},V.onopen=()=>{C(!0),g({type:"session.update",session:{tools:fe,tool_choice:"auto"}}),R("Realtime connected")},V.onclose=()=>{C(!1),A(!1)};const ue=await k.createOffer();await k.setLocalDescription(ue);const Y=await fetch(`https://api.openai.com/v1/realtime?model=${encodeURIComponent(F)}`,{method:"POST",headers:{Authorization:`Bearer ${me}`,"Content-Type":"application/sdp"},body:ue.sdp??""});if(!Y.ok){const _=await Y.text().catch(()=>Y.statusText);throw new Error(`Realtime SDP negotiation failed: ${_}`)}const ve=await Y.text();await k.setRemoteDescription({type:"answer",sdp:ve})}catch(i){N(),b(i instanceof Error?i.message:"Failed to connect realtime session.")}finally{y(!1)}},[N,L,R,j,n]),ie=s.useCallback(()=>{if(!f)return;const e=O.current;if(e){for(const r of e.getAudioTracks())r.enabled=!0;E.current="",M(""),A(!0),g({type:"input_audio_buffer.clear"})}},[f,g]),K=s.useCallback(()=>{const e=O.current;if(e)for(const r of e.getAudioTracks())r.enabled=!1;A(!1),g({type:"input_audio_buffer.commit"}),g({type:"response.create"})},[g]),ge=s.useCallback(async()=>{const e=$.trim();if(e){te(!0),b(null);try{const r=await j("/orgx/api/orchestrator/commands/preview",{input:e,workspace_id:n??void 0});if(!r.command)throw new Error(r.error??"Failed to preview command.");P(r.command),X(r.command.proposedActions.map(a=>a.actionId))}catch(r){b(r instanceof Error?r.message:"Failed to preview command.")}finally{te(!1)}}},[$,j,n]),be=s.useCallback(async()=>{if(o!=null&&o.id){oe(!0),b(null);try{const e=await j("/orgx/api/orchestrator/commands/apply",{command_id:o.id,confirmed_action_ids:T,workspace_id:n??void 0});if(!e.command)throw new Error(e.error??"Failed to apply command.");P(e.command)}catch(e){b(e instanceof Error?e.message:"Failed to apply command.")}finally{oe(!1)}}},[o==null?void 0:o.id,j,T,n]),ce=T.length,we=(((le=o==null?void 0:o.proposedActions)==null?void 0:le.length)??0)>0,je=!!(o!=null&&o.id)&&ce>0&&!re,_e=s.useMemo(()=>{const e=(o==null?void 0:o.status)??"draft";return e==="completed"?"text-lime":e==="completed_with_errors"||e==="failed"?"text-amber-300":e==="applying"?"text-teal":"text-secondary"},[o==null?void 0:o.status]);return t.jsxs(ke,{open:p,onClose:h,maxWidth:"max-w-5xl",fitContent:!0,closeOnEscapeWhenTyping:!1,children:[t.jsx("div",{className:"border-b border-strong px-4 py-3",children:t.jsxs("div",{className:"flex items-start justify-between gap-3",children:[t.jsxs("div",{children:[t.jsx("p",{className:"text-caption uppercase tracking-[0.14em] text-secondary",children:"Realtime Orchestrator"}),t.jsx("h2",{className:"text-heading font-semibold text-white",children:"GPT Realtime 1.5"}),t.jsx("p",{className:"text-micro text-secondary",children:"Voice + tool-calls for initiative launch, decision resolution, and Next Up control."})]}),t.jsx("button",{type:"button",onClick:h,className:"rounded-full border border-strong bg-white/[0.03] px-3 py-1.5 text-caption text-secondary transition-colors hover:bg-white/[0.08] hover:text-white",children:"Close"})]})}),t.jsxs("div",{className:"grid gap-4 px-4 pb-4 pt-3 lg:grid-cols-[1.12fr_1fr]",children:[t.jsxs("section",{className:"space-y-3",children:[t.jsxs("div",{className:"rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[t.jsx("span",{className:"text-caption uppercase tracking-[0.12em] text-secondary",children:"Session"}),t.jsx("span",{className:"text-micro text-secondary",children:xe})]}),t.jsx("div",{className:"flex flex-wrap items-center gap-2",children:f?t.jsxs(t.Fragment,{children:[t.jsx("button",{type:"button",onMouseDown:ie,onMouseUp:K,onMouseLeave:()=>{S&&K()},onTouchStart:e=>{e.preventDefault(),ie()},onTouchEnd:e=>{e.preventDefault(),K()},className:`rounded-full border px-3 py-1.5 text-caption font-semibold transition-colors ${S?"border-teal/45 bg-teal/[0.16] text-teal":"border-white/[0.2] bg-white/[0.04] text-primary hover:bg-white/[0.1]"}`,children:S?"Listening… release to send":"Hold to talk"}),t.jsx("button",{type:"button",onClick:N,className:"rounded-full border border-strong bg-white/[0.03] px-3 py-1.5 text-caption text-secondary transition-colors hover:bg-white/[0.08] hover:text-primary",children:"Disconnect"})]}):t.jsx("button",{type:"button",disabled:v,onClick:()=>void ye(),className:"rounded-full border border-lime/35 bg-lime/[0.12] px-3 py-1.5 text-caption font-semibold text-lime transition-colors hover:bg-lime/[0.2] disabled:cursor-not-allowed disabled:opacity-60",children:v?"Connecting…":"Connect Realtime"})}),ne.length>0?t.jsx("div",{className:"mt-3 rounded-lg border border-strong bg-black/20 p-2",children:ne.map((e,r)=>t.jsx("p",{className:"text-micro text-secondary",children:e},`${e}-${r}`))}):null]}),t.jsxs("div",{className:"rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsx("label",{className:"mb-2 block text-caption uppercase tracking-[0.12em] text-secondary",children:"Command Input"}),t.jsx("textarea",{value:$,onChange:e=>Z(e.target.value),rows:4,"data-modal-autofocus":"true",placeholder:"Example: create initiative called AI Readiness Audit for this workspace",className:"w-full rounded-lg border border-strong bg-[#040912] px-3 py-2 text-body text-primary placeholder:text-secondary focus:border-lime/35 focus:outline-none"}),W?t.jsxs("p",{className:"mt-2 text-caption text-secondary",children:["Assistant: ",t.jsx("span",{className:"text-primary",children:W})]}):null,t.jsxs("div",{className:"mt-3 flex items-center gap-2",children:[t.jsx("button",{type:"button",disabled:ee||$.trim().length===0,onClick:()=>void ge(),className:"rounded-full border border-teal/35 bg-teal/[0.12] px-3 py-1.5 text-caption font-semibold text-teal transition-colors hover:bg-teal/[0.2] disabled:cursor-not-allowed disabled:opacity-60",children:ee?"Previewing…":"Preview Actions"}),t.jsx("button",{type:"button",disabled:!je,onClick:()=>void be(),className:"rounded-full border border-lime/35 bg-lime/[0.12] px-3 py-1.5 text-caption font-semibold text-lime transition-colors hover:bg-lime/[0.2] disabled:cursor-not-allowed disabled:opacity-60",children:re?"Applying…":`Apply (${ce})`})]})]})]}),t.jsxs("section",{className:"space-y-3",children:[t.jsxs("div",{className:"rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsxs("div",{className:"mb-2 flex items-center justify-between",children:[t.jsx("span",{className:"text-caption uppercase tracking-[0.12em] text-secondary",children:"Command Status"}),t.jsx("span",{className:`text-caption font-semibold ${_e}`,children:(o==null?void 0:o.status)??"idle"})]}),t.jsx("p",{className:"text-body text-primary",children:(o==null?void 0:o.humanSummary)??"Preview a command or use voice to trigger tool calls."}),(de=o==null?void 0:o.riskFlags)!=null&&de.length?t.jsxs("p",{className:"mt-2 text-caption text-amber-200",children:["Risk flags: ",o.riskFlags.join(", ")]}):null]}),t.jsxs("div",{className:"max-h-[360px] space-y-2 overflow-y-auto rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsx("p",{className:"text-caption uppercase tracking-[0.12em] text-secondary",children:"Proposed Actions"}),we?o.proposedActions.map(e=>{const r=T.includes(e.actionId);return t.jsx("label",{className:"block rounded-lg border border-strong bg-[#040912] p-2 text-body",children:t.jsxs("div",{className:"flex items-start gap-2",children:[t.jsx("input",{type:"checkbox",checked:r,onChange:a=>{const d=a.target.checked?[...T,e.actionId]:T.filter(m=>m!==e.actionId);X(d)},className:"mt-1"}),t.jsxs("div",{className:"min-w-0",children:[t.jsx("p",{className:"font-semibold text-primary",children:e.type}),t.jsx("p",{className:"text-caption text-secondary",children:e.reason}),t.jsxs("p",{className:"text-micro text-secondary",children:["confidence ",Ae(e.confidence)," • impact ",e.blockingImpact]})]})]})},e.actionId)}):t.jsx("p",{className:"text-body text-secondary",children:"No actions inferred yet."})]}),(((pe=o==null?void 0:o.results)==null?void 0:pe.length)??0)>0?t.jsxs("div",{className:"max-h-[220px] space-y-2 overflow-y-auto rounded-xl border border-strong bg-white/[0.02] p-3",children:[t.jsx("p",{className:"text-caption uppercase tracking-[0.12em] text-secondary",children:"Apply Results"}),o.results.map(e=>t.jsxs("div",{className:`rounded-lg border p-2 text-body ${e.ok?"border-lime/30 bg-lime/[0.08] text-lime":"border-amber-400/35 bg-amber-500/[0.12] text-amber-100"}`,children:[t.jsx("p",{className:"font-semibold",children:e.type}),t.jsx("p",{className:"text-caption",children:e.message}),e.error?t.jsxs("p",{className:"text-micro text-amber-200",children:["error: ",e.error]}):null]},`${e.actionId}-${e.type}`))]}):null]})]}),se?t.jsx("div",{className:"border-t border-amber-500/30 bg-amber-500/[0.12] px-4 py-2 text-caption text-amber-100",children:se}):null]})}export{Oe as RealtimeOrchestratorModal};
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as l,j as e}from"./cNrhgGc1.js";import{G as Dt,u as Vt,K as b,P as Ht,B as O,H as ut,T as Gt,C as $,r as bt,A as gt,E as je,e as mt,h as Ze,D as xt,F as Zt,U as Jt}from"./Bp3N-QL5.js";import{S as P}from"./DCP-C7fn.js";import{A as ke,m as z,u as yt,R as Xt,b as Yt,a as Ot}from"./CxQ08qFN.js";async function wt(n,s){var h;const o=await(await fetch(n,s)).json().catch(()=>null),x=((h=o==null?void 0:o.data)==null?void 0:h.url)??(o==null?void 0:o.url)??null;if(typeof x=="string"&&x.trim())return x.trim();throw new Error((o==null?void 0:o.error)??"Billing link unavailable")}async function en(n){var x;const s=((x=n==null?void 0:n.actions)==null?void 0:x.checkout)??"/orgx/api/billing/checkout",c=((n==null?void 0:n.requiredPlan)??"starter").trim().toLowerCase()||"starter",o=await wt(s,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({planId:c})});window.open(o,"_blank","noopener,noreferrer")}async function tn(n){var o;const s=((o=n==null?void 0:n.actions)==null?void 0:o.portal)??"/orgx/api/billing/portal",c=await wt(s,{method:"POST"});window.open(c,"_blank","noopener,noreferrer")}function nn(n){return n==="success"?"border-emerald-400/30 bg-[#0A1210]/95 text-emerald-100":n==="warning"?"border-amber-300/30 bg-[#12100A]/95 text-amber-100":n==="error"?"border-red-400/32 bg-[#120A0A]/95 text-red-100":n==="info"?"border-cyan-300/28 bg-[#0A1012]/95 text-cyan-100":"border-strong bg-[#0B0F16]/95 text-primary"}function sn({open:n,tone:s="neutral",title:c,message:o=null,className:x,primaryAction:h=null,secondaryAction:k=null,onDismiss:N=null,autoDismissMs:q=null}){return l.useEffect(()=>{if(!n||!N||!q)return;const Q=window.setTimeout(()=>N(),q);return()=>window.clearTimeout(Q)},[q,N,n,c,o]),e.jsx(ke,{initial:!1,children:n?e.jsx(z.div,{initial:{opacity:0,y:-8,scale:.985},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-8,scale:.985},transition:{duration:.2,ease:[.22,1,.36,1]},className:`pointer-events-none ${x??""}`,children:e.jsxs("div",{className:`pointer-events-none min-w-[220px] max-w-[420px] rounded-xl border px-3 py-2 shadow-[0_16px_36px_rgba(0,0,0,0.42)] backdrop-blur ${nn(s)}`,children:[e.jsxs("div",{className:"flex items-start gap-2.5",children:[e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("p",{className:"text-caption font-semibold",children:c}),o?e.jsx("p",{className:"mt-0.5 text-caption opacity-85",children:o}):null]}),N?e.jsx("button",{type:"button",onClick:N,className:"pointer-events-auto inline-flex h-6 w-6 items-center justify-center rounded-md text-current/70 transition-colors hover:bg-white/[0.08] hover:text-current","aria-label":"Dismiss toast",title:"Dismiss",children:e.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[e.jsx("path",{d:"M18 6 6 18"}),e.jsx("path",{d:"m6 6 12 12"})]})}):null]}),h||k?e.jsxs("div",{className:"mt-2 flex items-center gap-1.5",children:[k?e.jsx("button",{type:"button",onClick:k.onClick,className:"pointer-events-auto h-7 rounded-md border border-strong bg-white/[0.06] px-2.5 text-micro font-semibold text-current transition-colors hover:bg-white/[0.12]",children:k.label}):null,h?e.jsx("button",{type:"button",onClick:h.onClick,className:"pointer-events-auto h-7 rounded-md border border-white/25 bg-white/[0.14] px-2.5 text-micro font-semibold text-current transition-colors hover:bg-white/[0.2]",children:h.label}):null]}):null]})}):null})}function vt({className:n=""}){return e.jsx("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":!0,className:n,children:e.jsx("path",{d:"M7 5.4v9.2c0 .7.75 1.15 1.38.83l7.6-4.6a.95.95 0 0 0 0-1.62l-7.6-4.64A.95.95 0 0 0 7 5.4Z",fill:"currentColor"})})}function rn({className:n=""}){return e.jsxs("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":!0,className:n,children:[e.jsx("path",{d:"M6.2 9.4V6.7c0-.7.5-1.2 1.1-1.2s1.1.5 1.1 1.2v2.2",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"}),e.jsx("path",{d:"M8.4 8.9V5.8c0-.7.5-1.3 1.1-1.3s1.1.6 1.1 1.3v3",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"}),e.jsx("path",{d:"M10.6 8.9V6.2c0-.7.5-1.3 1.1-1.3s1.1.6 1.1 1.3v3.2",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"}),e.jsx("path",{d:"M12.8 9.6V7.2c0-.7.5-1.2 1.1-1.2s1.1.5 1.1 1.2v4.2c0 2.7-1.9 4.6-4.6 4.6H9.2c-2.1 0-3.7-1-4.6-2.8l-.9-1.7c-.3-.6 0-1.4.6-1.7.6-.3 1.3 0 1.6.6l.7 1.4",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})]})}function an({className:n=""}){return e.jsxs("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":!0,className:n,children:[e.jsx("path",{d:"M6.4 9.2V7.4c0-.7.5-1.2 1.1-1.2s1.1.5 1.1 1.2v1.3",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"}),e.jsx("path",{d:"M8.6 8.9V7c0-.7.5-1.2 1.1-1.2s1.1.5 1.1 1.2v2",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"}),e.jsx("path",{d:"M10.8 9.2V7.3c0-.7.5-1.2 1.1-1.2s1.1.5 1.1 1.2v2.6",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"}),e.jsx("path",{d:"M13 9.8V8.2c0-.7.5-1.2 1.1-1.2s1.1.5 1.1 1.2v3.6c0 2.4-1.7 4-4.1 4H9.7c-2 0-3.4-.9-4.2-2.5l-.8-1.4c-.3-.6 0-1.3.5-1.6.6-.3 1.2-.1 1.6.5l.6 1",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})]})}function pt(n){return n==="running"?"border-teal-300/35 bg-teal-400/[0.12] text-teal-100":n==="blocked"?"border-amber-300/35 bg-amber-400/[0.12] text-amber-100":n==="idle"?"border-strong bg-white/[0.05] text-secondary":"border-[#BFFF00]/30 bg-[#BFFF00]/12 text-[#E1FFB2]"}function ht(n){return n==="running"?"Running":n==="blocked"?"Needs input":n==="idle"?"Idle":"Queued"}function Ae(n){return n==="queued"||n==="idle"?0:n==="blocked"?1:n==="running"?2:n==="completed"?3:4}function on(n){return n.some(s=>s.queueState==="running")?"running":n.some(s=>s.queueState==="blocked")?"blocked":n.some(s=>s.queueState==="queued")?"queued":n.some(s=>s.queueState==="idle")?"idle":"completed"}function kt(n){return n==="running"?"from-teal-300/0 via-teal-300/60 to-teal-300/0":n==="blocked"?"from-amber-300/0 via-amber-300/55 to-amber-300/0":n==="idle"?"from-white/0 via-white/35 to-white/0":"from-[#BFFF00]/0 via-[#BFFF00]/70 to-[#BFFF00]/0"}function Ve(n){return n==="running"?"Current":n==="blocked"?"Blocked on":"Next"}function He(n){const s=typeof n.sliceTaskCount=="number"&&Number.isFinite(n.sliceTaskCount)?Math.max(0,Math.floor(n.sliceTaskCount)):null,c=n.sliceScope==="task"?"task":n.sliceScope==="milestone"?"milestone slice":"workstream slice",o=s&&s>0?`${s} ${s===1?"task":"tasks"}`:null;return n.queueState==="running"?o?`Executing ${o} in ${c}.`:"Execution in progress. Task detail will appear as the scheduler advances.":n.queueState==="blocked"?n.blockReason?"Blocked while waiting for dependency resolution.":"Blocked. Waiting for dependency or review.":n.queueState==="queued"?o?`Queued with ${o} in ${c}.`:"Queued at workstream scope. Task detail will populate after dispatch.":n.queueState==="completed"?"Completed. No queued tasks remain.":"Idle. Ready to dispatch when started."}function jt(n){const s=typeof n.initiativePriority=="string"?n.initiativePriority.trim().toLowerCase():"",c=typeof n.initiativePriorityNum=="number"&&Number.isFinite(n.initiativePriorityNum)?Math.max(1,Math.min(100,Math.round(n.initiativePriorityNum))):null,o=s==="urgent"||s==="high"||s==="medium"||s==="low"?s:c!==null?c<=12?"urgent":c<=30?"high":c<=60?"medium":"low":null;if(!o)return null;const x=o==="urgent"?"P1":o==="high"?"P2":o==="medium"?"P3":"P4",h=o==="urgent"?"Urgent":o==="high"?"High":o==="medium"?"Medium":"Low",k=o==="urgent"?"border-red-300/35 bg-red-500/[0.14] text-red-100":o==="high"?"border-amber-300/35 bg-amber-500/[0.14] text-amber-100":o==="medium"?"border-[#BFFF00]/35 bg-[#BFFF00]/14 text-[#E1FFB2]":"border-white/[0.2] bg-white/[0.08] text-white/70";return{shortLabel:`${x} ${h}`,longLabel:`Initiative priority ${h} (${x})`,toneClass:k}}function ln(n){const s=n.trim().toLowerCase();if(s.includes("timed out")||s.includes("timeout")||s.includes("request cancelled")||s.includes("signal is aborted"))return"Next Up is still syncing. Keep this panel open and it will repopulate automatically.";if(s.includes("unauthorized")||s.includes("forbidden")||s.includes("api key")||s.includes("auth"))return"Next Up is unavailable until OrgX authentication is reconnected in Settings.";if(s.includes("unknown api endpoint")||s.includes("route is unavailable"))return"This runtime is missing queue routes. Restart and update the plugin build.";const c=n.split("|").map(o=>o.trim()).filter(Boolean).map(o=>o.replace(/^[^:]+:\s*/,"").trim()).filter(Boolean).slice(0,2).join(" ");return Ze(c||n)||"Next Up is temporarily unavailable."}function cn(n){const s=n.trim().toLowerCase();return s.includes("timed out")||s.includes("timeout")||s.includes("request cancelled")||s.includes("signal is aborted")?"Signal is delayed right now. Queue data will appear as soon as sync catches up.":s.includes("fallback")?"Showing fallback queue data while full signal refreshes.":s.includes("unknown api endpoint")||s.includes("route is unavailable")?"Some queue controls are unavailable in this plugin build. Update and restart to restore full controls.":Ze(n.trim())}function Ne(n,s,c){const o=typeof n=="string"?n.trim():"";if(o&&!xt(o))return $(o);const x=typeof s=="string"?s.trim():"";return x?xt(x)?`${c} ${Zt(x)}`:$(x):c}function Nt(n){const s=typeof n.runnerAgentName=="string"?n.runnerAgentName.trim():"";if(!s)return"Unassigned";const c=s.toLowerCase();return c==="undefined"||c==="null"||c==="main"&&(n.runnerAgentId==="unassigned"||n.runnerSource==="fallback")?"Unassigned":s}function St(n){return n.runnerSource==="inferred"?"inferred":null}function Ct(n,s){const c=n.runnerSource==="assigned"?"assigned":n.runnerSource==="inferred"?"inferred":"fallback";return s==="Unassigned"?`Runner ${c}`:`${s} · ${c}`}function xe(n,s){return!n||n.trim().length===0?s:Ze(n.trim())||s}function ft(n){return!n||typeof n!="object"||Array.isArray(n)?null:n}function Ge(n,s){const c=$(n.workstreamTitle),o=ft(s),x=o&&typeof o.dispatchMode=="string"?o.dispatchMode:null,h=ft(o==null?void 0:o.run);return(h&&typeof h.stopReason=="string"?h.stopReason:h&&typeof h.stop_reason=="string"?h.stop_reason:null)==="budget_exhausted"?`Dispatch acknowledged for ${c}, but autopilot stopped: budget exhausted.`:x==="pending"?`Dispatching ${c}; waiting for slice start…`:x==="fallback"?`Dispatched ${c} using fallback runner.`:`Dispatched ${c}.`}function $t({className:n=""}){return e.jsxs("svg",{viewBox:"0 0 20 20",fill:"none","aria-hidden":!0,className:n,children:[e.jsx("circle",{cx:"4.5",cy:"10",r:"1.4",fill:"currentColor"}),e.jsx("circle",{cx:"10",cy:"10",r:"1.4",fill:"currentColor"}),e.jsx("circle",{cx:"15.5",cy:"10",r:"1.4",fill:"currentColor"})]})}function dn({compact:n}){const s=n?3:6;return e.jsxs("div",{className:"space-y-2.5",children:[e.jsxs("div",{className:"flex items-center gap-2 px-1 pt-1 text-micro uppercase tracking-[0.12em] text-muted",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-[#BFFF00]/70 status-breathe"}),e.jsx("span",{children:"Calibrating queue"})]}),Array.from({length:s}).map((c,o)=>e.jsxs("div",{className:"nextup-skeleton-card rounded-2xl border border-white/[0.08] bg-white/[0.02] px-3 py-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2.5",children:[e.jsxs("div",{className:"flex min-w-0 flex-1 items-start gap-2.5",children:[e.jsx(P,{className:"h-8 w-8 rounded-full"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx(P,{className:"h-3 w-40 rounded-md"}),e.jsx(P,{className:"mt-2 h-4 w-56 rounded-md"})]})]}),e.jsx(P,{className:"h-5 w-16 rounded-full"})]}),e.jsxs("div",{className:"mt-3 rounded-lg border border-white/[0.07] bg-black/[0.18] px-2.5 py-2",children:[e.jsx(P,{className:"h-3 w-14 rounded"}),e.jsx(P,{className:"mt-2 h-3 w-full rounded"}),e.jsx(P,{className:"mt-2 h-3 w-3/5 rounded"})]}),e.jsxs("div",{className:"mt-2.5 flex flex-wrap gap-1.5",children:[e.jsx(P,{className:"h-8 w-24 rounded-full"}),e.jsx(P,{className:"h-8 w-20 rounded-full"}),e.jsx(P,{className:"h-8 w-24 rounded-full"})]})]},`nextup-skeleton-${o}`))]})}function un({initiativeId:n=null,projectId:s=null,authToken:c=null,embedMode:o=!1,title:x="Next Up",showHeader:h=!0,compact:k=!1,className:N,disableEnterAnimation:q=!1,allowCompactToggle:Q=!1,onToggleCompact:pe,onOpenInitiative:I,onOpenSettings:F,onUpgradeGate:_,onOpenSliceDetail:U,selectionEnabled:D=!0,panelStyle:Se="card",showQueueSettings:Ce=!0,queueModel:$e,queueActions:Pe,onPlayWorkstream:V,snapshotVersion:qe=null,excludeRunning:R=!1,activeElsewhereCount:W}){var dt;const[Ie,j]=l.useState(k);l.useEffect(()=>j(k),[k]);const d=Q&&!pe?Ie:k,H=t=>{pe?pe(t):j(t)},[G,y]=l.useState(null),[f,ae]=l.useState("workstream"),he="bottom",[S,ee]=l.useState(null),[L,m]=l.useState(null),[oe,te]=l.useState(null),[Z,le]=l.useState(new Set),[Te,ce]=l.useState(null),[fe,be]=l.useState(!1),[qt,Me]=l.useState(!1),K=yt(),Je=l.useRef(null),It=Dt({initiativeId:n,projectId:s,authToken:c,embedMode:o,enabled:!$e,snapshotVersion:qe,zoomLevel:f}),Tt=$e??It,{items:de,degraded:ne,isLoading:B,isFetching:Xe,error:Fe,refetch:Mt,playWorkstream:Ft,startWorkstreamAutoContinue:Ye,initiativeGroups:ze,milestoneGroups:_e}=Tt,Bt=Vt({authToken:c,embedMode:o}),J=Pe??Bt,E=t=>`${t.initiativeId}:${t.workstreamId}`,X=f==="workstream",ge=l.useMemo(()=>typeof W=="number"&&Number.isFinite(W)?Math.max(0,Math.floor(W)):de.filter(t=>t.queueState==="running").length,[W,de]),Ue=l.useMemo(()=>K?{duration:.01}:b.surfaceSwitch,[K]),A=l.useMemo(()=>{if(R)return de.filter(r=>r.queueState!=="running");const t=de.filter(r=>r.queueState!=="running");return t.length>0?t:de},[R,de]),Oe=l.useMemo(()=>A.length===0?"empty":A.some(t=>t.queueState!=="running"&&t.queueState!=="blocked")?"queued":A.some(t=>t.queueState==="blocked")?"blocked":A.some(t=>t.queueState==="running")?"running":"queued",[A]),et=l.useMemo(()=>R?ze.map(t=>({...t,items:t.items.filter(r=>r.queueState!=="running")})).filter(t=>t.items.length>0).map(t=>({...t,queueState:on(t.items)})):ze,[R,ze]),ye=l.useMemo(()=>[...et].sort((t,r)=>{const a=Ae(t.queueState)-Ae(r.queueState);return a!==0?a:t.initiativeTitle.localeCompare(r.initiativeTitle)}),[et]),tt=l.useMemo(()=>R?_e.filter(t=>t.item.queueState!=="running"):_e,[R,_e]),we=l.useMemo(()=>[...tt].sort((t,r)=>{const a=Ae(t.queueState)-Ae(r.queueState);if(a!==0)return a;const i=t.initiativeTitle.localeCompare(r.initiativeTitle);if(i!==0)return i;const u=t.workstreamTitle.localeCompare(r.workstreamTitle);return u!==0?u:t.milestoneTitle.localeCompare(r.milestoneTitle)}),[tt]),We=l.useMemo(()=>d?ye.slice(0,5):ye,[d,ye]),Ke=l.useMemo(()=>d?we.slice(0,5):we,[d,we]),nt=l.useMemo(()=>f==="initiative"?ye.length:f==="milestone"?we.length:A.length,[A.length,ye.length,we.length,f]),Rt=[{value:"initiative",label:"Initiative"},{value:"workstream",label:"Workstream"},{value:"milestone",label:"Milestone"}],C=l.useMemo(()=>X?d?A.slice(0,5):A:[],[d,X,A]),Lt=l.useMemo(()=>C.filter(t=>Z.has(E(t))),[Z,C]),[ue,st]=l.useState([]),Qe=l.useRef([]),it=l.useMemo(()=>{const t=new Map;for(const r of C)t.set(E(r),r);return t},[C]),T=l.useMemo(()=>C.map(E),[C]),Et=l.useMemo(()=>T.join("|"),[T]);l.useEffect(()=>{st(t=>{if(d)return[];const r=[],a=new Set(T);for(const i of t)a.has(i)&&r.push(i);for(const i of T)r.includes(i)||r.push(i);return r})},[d,Et]),l.useEffect(()=>{Qe.current=ue},[ue]),l.useEffect(()=>{Te&&(T.includes(Te)||ce(null))},[Te,T]),l.useEffect(()=>{le(t=>{if(t.size===0)return t;const r=new Set(C.map(E)),a=new Set;for(const i of t)r.has(i)&&a.add(i);return a.size===t.size?t:a})},[C]),l.useEffect(()=>{if(!oe)return;C.some(r=>E(r)===oe)||te(null)},[oe,C]),l.useEffect(()=>{if(ne.length===0){Me(!1);return}Me(!1)},[ne]),l.useEffect(()=>{D&&!d&&Z.size>0&&be(!1)},[d,Z.size,D]),l.useEffect(()=>{if(!fe)return;const t=a=>{var u;const i=a.target;i&&((u=Je.current)!=null&&u.contains(i)||be(!1))},r=a=>{a.key==="Escape"&&be(!1)};return document.addEventListener("mousedown",t),document.addEventListener("touchstart",t),document.addEventListener("keydown",r),()=>{document.removeEventListener("mousedown",t),document.removeEventListener("touchstart",t),document.removeEventListener("keydown",r)}},[fe]);const rt=async t=>{const r=E(t),a=$(t.workstreamTitle);try{await J.remove({initiativeId:t.initiativeId,workstreamId:t.workstreamId}),le(i=>{if(!i.has(r))return i;const u=new Set(i);return u.delete(r),u}),ce(i=>i===r?null:i),y(`Removed ${a} from queue.`)}catch(i){const u=i instanceof Error?i.message:"";y(xe(u,"Failed to remove from queue"))}},At=(t,r,a)=>{const i=d?T:ue.length>0?ue:T;le(u=>{const p=new Set(u),M=Te;if(a&&M&&i.includes(M)){const g=i.indexOf(t),Y=i.indexOf(M);if(g>=0&&Y>=0){const[Le,Ee]=g<Y?[g,Y]:[Y,g];for(const ve of i.slice(Le,Ee+1))r?p.add(ve):p.delete(ve)}else r?p.add(t):p.delete(t)}else r?p.add(t):p.delete(t);return p}),ce(t)},Pt=()=>{le(new Set(T)),ce(T.length>0?T[T.length-1]:null)},zt=()=>{le(new Set),ce(null)},De=async t=>{if(Z.size===0){y("Select one or more queue items first.");return}const r=C.map(a=>({key:E(a),item:a})).filter(a=>Z.has(a.key));if(r.length===0){y("Selected queue items are no longer visible.");return}m(`bulk:${t}`),y(null);try{const a=r.map(({item:g})=>({initiativeId:g.initiativeId,workstreamId:g.workstreamId})),i=await J.bulk({action:t,items:a}),u=typeof(i==null?void 0:i.updated)=="number"?i.updated??0:0,p=typeof(i==null?void 0:i.failed)=="number"?i.failed??0:0,M=Array.isArray(i==null?void 0:i.errors)?i.errors.filter(g=>typeof g=="string").map(g=>g.trim()).filter(Boolean):[],w=t==="remove"?"removed":t==="move_top"?"moved to top":"moved to bottom";u===0&&p>0&&M.length>0?y(xe(M[0],`${p} queue action${p===1?"":"s"} failed.`)):y(p>0?`${u} item${u===1?"":"s"} ${w}; ${p} failed.`:`${u} item${u===1?"":"s"} ${w}.`),le(new Set),ce(null)}catch(a){const i=a instanceof Error?a.message:"";y(xe(i,"Bulk queue action failed"))}finally{m(null)}},_t=async()=>{const t=Qe.current.map(r=>it.get(r)).filter(Boolean).map(r=>({initiativeId:r.initiativeId,workstreamId:r.workstreamId}));t.length!==0&&await J.reorder({order:t})},se=async(t,r,a)=>{y(null),ee(null),_==null||_(null),m(t);try{const i=await r();y(typeof a=="function"?a(i):a)}catch(i){if(i instanceof Jt)ee(i),_==null||_(i);else{const u=i instanceof Error?i.message:"";y(xe(u,"Action failed"))}}finally{m(null)}},Be=async t=>V?await V(t):await Ft({initiativeId:t.initiativeId,workstreamId:t.workstreamId,agentId:t.runnerAgentId}),Re=S?"upgrade":Fe?"error":G?"notice":null,at=Fe?ln(Fe):null,ot=ne.length>0?cn(ne[0]):null,Ut=Re!==null,Wt=ne.length>0&&!qt&&oe===null&&!fe,ie=Lt.length,Kt=l.useMemo(()=>f==="initiative"?We.length>0:f==="milestone"?Ke.length>0:C.length>0,[We.length,C.length,Ke.length,f]),lt=D&&X&&!d&&ie>0,Qt=f==="initiative"?"No initiatives in the queue right now.":f==="milestone"?"No milestone slices in the queue right now.":ge>0?`No queued workstreams yet. ${ge} running item${ge===1?"":"s"} still in-flight.`:ne.length>0?"Queue signal is delayed right now.":"No queued workstreams right now.",ct=e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",onClick:Pt,className:"control-pill h-8 px-2.5 text-caption font-semibold",children:"Select all"}),e.jsx("button",{type:"button",onClick:zt,disabled:Z.size===0,className:"control-pill h-8 px-2.5 text-caption font-semibold disabled:opacity-45",children:"Clear"}),e.jsx("button",{type:"button",disabled:ie===0||L==="bulk:move_top",onClick:()=>void De("move_top"),className:"control-pill h-8 px-2.5 text-caption font-semibold disabled:opacity-45",children:"Move top"}),e.jsx("button",{type:"button",disabled:ie===0||L==="bulk:move_bottom",onClick:()=>void De("move_bottom"),className:"control-pill h-8 px-2.5 text-caption font-semibold disabled:opacity-45",children:"Move bottom"}),e.jsx("button",{type:"button",disabled:ie===0||L==="bulk:remove",onClick:()=>void De("remove"),className:"control-pill h-8 px-2.5 text-caption font-semibold disabled:opacity-45",children:"Remove"})]});return e.jsxs(Ht,{surface:Se==="card",className:`flex h-full min-h-0 flex-col overflow-hidden ${q?"":"card-enter"} ${Se==="flat"?"!rounded-none !border-none !bg-transparent !shadow-none":""} ${N??""}`,children:[h?e.jsxs("div",{className:"flex items-center justify-between gap-2 border-b border-subtle px-4 py-3",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-2",children:[e.jsx("h2",{className:"truncate text-heading font-semibold text-white",children:x}),e.jsx("span",{className:"chip inline-flex min-w-[52px] justify-center text-micro tabular-nums",children:B?e.jsx("span",{"aria-hidden":!0,className:"h-2.5 w-5 rounded bg-white/15 animate-pulse"}):nt}),e.jsx("span",{className:O("chip inline-flex min-w-[148px] justify-center text-micro tabular-nums transition-opacity",!B&&ge>0&&X?"text-secondary opacity-100":"pointer-events-none opacity-0"),children:`${ge} active elsewhere`}),e.jsx("span",{className:O("inline-flex min-w-[92px] justify-end text-micro text-muted transition-opacity",Xe&&!B?"opacity-100":"opacity-0"),"aria-live":"polite",children:"refreshing…"})]}),e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("div",{className:"inline-flex items-center rounded-xl border border-white/[0.1] bg-white/[0.03] p-1",role:"tablist","aria-label":"Next Up scope",children:Rt.map(t=>{const r=f===t.value;return e.jsxs(z.button,{type:"button",role:"tab","aria-selected":r,onClick:()=>ae(t.value),...b.segmentedTap,className:O("relative h-7 rounded-lg px-2.5 text-caption font-semibold transition-colors",r?"text-[#E8FFD0]":"text-secondary hover:text-white"),title:`Show ${t.label.toLowerCase()} queue`,children:[r?e.jsx(z.span,{layoutId:"next-up-scope-indicator",transition:K?{duration:.01}:b.railMorphSpring,className:"pointer-events-none absolute inset-0 rounded-lg border border-[#BFFF00]/35 bg-[#BFFF00]/16","aria-hidden":!0}):null,e.jsx("span",{className:"relative z-[1]",children:t.label})]},t.value)})}),Q?e.jsx("button",{type:"button",onClick:()=>H(!d),className:"control-pill h-8 flex-shrink-0 whitespace-nowrap px-3 text-caption font-semibold",title:d?"Switch to expanded cards":"Switch to compact list","aria-label":d?"Expand Next Up queue":"Compact Next Up queue",children:d?"Expand":"Compact"}):null]})]}):null,Ut&&e.jsx("div",{className:"px-3 pt-2",children:e.jsx(ke,{initial:!1,mode:"wait",children:Re==="upgrade"&&S?e.jsx(z.div,{initial:{opacity:0,y:-4,scale:.99},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-4,scale:.99},transition:Ue,className:"rounded-xl border border-amber-200/25 bg-amber-200/10 px-3 py-2 text-caption text-amber-100",children:e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"rounded-full border border-amber-200/25 bg-amber-200/10 px-2 py-0.5 text-micro font-semibold uppercase tracking-[0.08em] text-amber-100/90",children:"Upgrade required"}),e.jsxs("span",{className:"truncate text-micro text-secondary",children:[ut(S.currentPlan)," →"," ",ut(S.requiredPlan)]})]}),e.jsx("div",{className:"mt-1 line-clamp-2 text-caption leading-snug text-amber-50/90",title:S.message,children:S.message}),G?e.jsx("div",{className:"mt-1 text-micro text-rose-50/85",children:G}):null]}),e.jsxs("div",{className:"flex flex-shrink-0 flex-col items-end gap-1",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("button",{type:"button",onClick:()=>void en({actions:S.actions,requiredPlan:S.requiredPlan}).catch(t=>y(xe(t instanceof Error?t.message:"","Checkout failed"))),className:"h-7 rounded-full border border-amber-200/25 bg-amber-200/15 px-3 text-micro font-semibold text-amber-50 transition-colors hover:bg-amber-200/20",children:"Upgrade"}),e.jsx("button",{type:"button",onClick:()=>void tn({actions:S.actions}).catch(t=>y(xe(t instanceof Error?t.message:"","Portal failed"))),className:"h-7 rounded-full border border-strong bg-white/[0.04] px-3 text-micro font-semibold text-primary transition-colors hover:bg-white/[0.08]",children:"Billing"}),F&&e.jsx("button",{type:"button",onClick:F,className:"h-7 rounded-full border border-strong bg-white/[0.04] px-2.5 text-micro font-semibold text-primary transition-colors hover:bg-white/[0.08]",children:"Settings"})]}),(dt=S.actions)!=null&&dt.pricing?e.jsx("a",{href:S.actions.pricing,target:"_blank",rel:"noopener noreferrer",className:"text-micro text-secondary underline decoration-white/20 hover:text-primary",children:"View pricing"}):null]})]})},"upgrade"):Re==="error"&&at?e.jsx(z.div,{initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:Ue,className:"rounded-xl border border-red-400/25 bg-red-500/[0.08] px-3 py-2 text-caption text-red-100",children:at},"error"):Re==="notice"&&G?e.jsx(z.div,{initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:Ue,className:"rounded-xl border border-white/[0.1] bg-white/[0.03] px-3 py-2 text-caption text-primary",children:G},"notice"):null})}),e.jsxs("div",{className:`flex-1 space-y-2.5 overflow-y-auto overscroll-y-contain scroll-smooth px-3 pb-3 ${h?"pt-1":"pt-2.5"}`,children:[!B&&nt>0?e.jsxs("div",{className:"flex flex-col gap-2.5 px-0.5 sm:flex-row sm:items-start sm:justify-between",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"truncate text-micro uppercase tracking-[0.08em] text-muted",children:f==="initiative"?"Initiatives":f==="milestone"?"Milestone slices":Oe==="blocked"?"Needs attention":Oe==="running"?"Running now":"Queue"}),e.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-1.5",children:[ie>0?e.jsxs("span",{className:"chip text-micro",children:[ie," selected"]}):null,e.jsx("span",{className:O("inline-flex min-w-[92px] text-micro text-muted transition-opacity",Xe&&!B?"opacity-100":"opacity-0"),"aria-live":"polite",children:"refreshing…"}),D&&X&&!d&&ie===0?e.jsx("span",{className:"text-micro text-muted",children:"Shift+select to pick ranges."}):null]})]}),e.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-1.5 sm:justify-end",children:[Q?e.jsx("button",{type:"button",onClick:()=>H(!d),className:"control-pill h-8 px-2.5 text-caption font-semibold",title:d?"Switch to expanded cards":"Switch to compact list","aria-label":d?"Expand Next Up queue":"Compact Next Up queue",children:d?"Expand":"Compact"}):null,lt?e.jsx("div",{className:"flex flex-wrap justify-end gap-1.5",children:ct}):null,!lt&&Ce&&X?e.jsxs("div",{ref:Je,className:"relative",children:[e.jsxs("button",{type:"button",onClick:()=>be(t=>!t),className:"control-pill h-8 px-2.5 text-caption font-semibold","aria-haspopup":"menu","aria-expanded":fe,title:"Queue settings",children:[e.jsxs("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"opacity-85","aria-hidden":!0,children:[e.jsx("path",{d:"M4 6h16"}),e.jsx("path",{d:"M7 12h10"}),e.jsx("path",{d:"M10 18h4"})]}),e.jsx("span",{children:"Queue"})]}),fe?e.jsx("div",{className:"surface-tier-2 absolute right-0 top-[calc(100%+8px)] z-[280] w-[320px] max-w-[86vw] rounded-xl p-3 shadow-[0_18px_42px_rgba(0,0,0,0.46)] backdrop-blur-xl",children:e.jsxs("div",{className:"space-y-2.5",children:[D&&!d?e.jsxs("div",{children:[e.jsx("p",{className:"section-kicker",children:"Bulk actions"}),e.jsx("div",{className:"mt-1.5 flex flex-wrap items-center gap-1.5",children:ct})]}):null,F?e.jsx("button",{type:"button",onClick:()=>{be(!1),F()},className:"control-pill h-7 px-2.5 text-micro font-semibold",children:"Open settings"}):null]})}):null]}):null]})]}):null,B?e.jsx(dn,{compact:d}):null,!B&&!Kt&&!Fe&&e.jsx(Gt,{icon:"queue",headline:Qt,description:ot??"Create an initiative or add workstreams to populate the queue.",primaryAction:ne.length>0?{label:"Retry now",onClick:()=>{Me(!1),Mt()}}:void 0}),!B&&f==="initiative"?e.jsx(ke,{initial:!1,children:We.map((t,r)=>{const a=t.items.find(w=>w.queueState!=="running"&&w.queueState!=="completed")??t.items[0]??null,i=Ne(t.initiativeTitle,t.initiativeId,"Initiative"),u=ht(t.queueState),p=pt(t.queueState),M=t.items.reduce((w,g)=>w+(g.sliceTaskCount??0),0);return e.jsxs(z.article,{layout:!0,initial:{opacity:0,y:8,scale:.99},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-4,scale:.99},transition:{duration:K?.01:b.surfaceSwitch.duration,delay:K?0:Math.min(r,b.listStaggerMaxItems)*b.listStaggerStep,ease:b.surfaceSwitch.ease},className:"rounded-2xl border border-white/[0.08] bg-white/[0.02] px-3 py-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"text-micro uppercase tracking-[0.08em] text-muted",children:"Initiative"}),e.jsx("p",{className:"mt-0.5 truncate text-body font-semibold text-white",title:i,children:i})]}),e.jsx("span",{className:O("inline-flex items-center rounded-full border px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.08em]",p),children:u})]}),e.jsxs("p",{className:"mt-1 text-micro text-secondary",children:[t.workstreamCount," workstreams · ",M," tasks"]}),e.jsx("div",{className:"mt-2 space-y-1",children:t.items.slice(0,3).map((w,g)=>e.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-lg border border-white/[0.06] bg-black/[0.18] px-2.5 py-1.5 text-caption",children:[e.jsx("span",{className:"truncate text-white/84",children:$(w.workstreamTitle)}),e.jsxs("span",{className:"text-micro text-secondary",children:[w.sliceTaskCount??0," tasks"]})]},`${w.workstreamId}:${g}`))}),e.jsxs("div",{className:"mt-2.5 flex items-center gap-1.5",children:[e.jsx("button",{type:"button",onClick:()=>I==null?void 0:I(t.initiativeId,t.initiativeTitle),className:"control-pill h-7 px-2.5 text-micro font-semibold",children:"Open"}),e.jsx("button",{type:"button",disabled:!a||L===`initiative:${t.initiativeId}`,onClick:()=>{a&&se(`initiative:${t.initiativeId}`,()=>Be(a),`Dispatched ${$(a.workstreamTitle)}.`)},className:"control-pill h-7 px-2.5 text-micro font-semibold disabled:opacity-45",children:"Dispatch"})]})]},`initiative-group:${t.initiativeId}`)})}):null,!B&&f==="milestone"?e.jsx(ke,{initial:!1,children:Ke.map((t,r)=>{const a=t.item,i=`milestone:${t.workstreamId}:${t.milestoneId??"none"}`;return e.jsxs(z.article,{layout:!0,initial:{opacity:0,y:8,scale:.99},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-4,scale:.99},transition:{duration:K?.01:b.surfaceSwitch.duration,delay:K?0:Math.min(r,b.listStaggerMaxItems)*b.listStaggerStep,ease:b.surfaceSwitch.ease},className:"rounded-2xl border border-white/[0.08] bg-white/[0.02] px-3 py-3",children:[e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("p",{className:"text-micro uppercase tracking-[0.08em] text-muted",children:[$(t.initiativeTitle)," · ",$(t.workstreamTitle)]}),e.jsx("p",{className:"mt-0.5 truncate text-body font-semibold text-white",title:t.milestoneTitle,children:$(t.milestoneTitle)})]}),e.jsx("span",{className:O("inline-flex items-center rounded-full border px-2 py-0.5 text-[10px] font-semibold uppercase tracking-[0.08em]",pt(t.queueState)),children:ht(t.queueState)})]}),e.jsxs("p",{className:"mt-1 text-micro text-secondary",children:[t.taskCount," tasks in slice"]}),e.jsxs("div",{className:"mt-2.5 flex items-center gap-1.5",children:[e.jsx("button",{type:"button",onClick:()=>I==null?void 0:I(t.initiativeId,t.initiativeTitle),className:"control-pill h-7 px-2.5 text-micro font-semibold",children:"Open"}),e.jsx("button",{type:"button",disabled:L===i||t.queueState==="running",onClick:()=>void se(i,()=>Be(a),u=>Ge(a,u)),className:"control-pill h-7 px-2.5 text-micro font-semibold disabled:opacity-45",children:t.queueState==="running"?"Running":"Start"})]})]},`${t.initiativeId}:${t.workstreamId}:${t.milestoneId??"none"}`)})}):null,!B&&X&&d?e.jsx(ke,{initial:!1,children:C.map((t,r)=>{const a=E(t),i=L===a,u=t.queueState==="running",p=t.nextTaskDueAt?bt(t.nextTaskDueAt):null,M=Ne(t.initiativeTitle,t.initiativeId,"Initiative"),w=Ne(t.workstreamTitle,t.workstreamId,"Workstream"),g=jt(t),Y=t.nextTaskTitle?$(t.nextTaskTitle):null,Le=t.blockReason?$(t.blockReason):null,Ee=Nt(t),ve=St(t);return e.jsxs(z.article,{layout:!0,initial:{opacity:0,y:6,scale:.99},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-4,scale:.99},transition:{duration:K?.01:b.surfaceSwitch.duration,delay:K?0:Math.min(r,b.listStaggerMaxItems)*b.listStaggerStep,ease:b.surfaceSwitch.ease},className:"group relative overflow-visible rounded-2xl border border-white/[0.08] bg-white/[0.02] px-2.5 py-2 cursor-pointer transition-colors hover:border-white/[0.14]",onClick:()=>U==null?void 0:U(t),role:"button",tabIndex:0,onKeyDown:v=>{(v.key==="Enter"||v.key===" ")&&(v.preventDefault(),U==null||U(t))},children:[e.jsx("div",{className:`pointer-events-none absolute inset-x-2.5 top-0 h-px bg-gradient-to-r ${kt(t.queueState)}`,"aria-hidden":!0}),e.jsxs("div",{className:"flex min-w-0 items-center gap-2.5",children:[e.jsx(gt,{name:Ee,hint:Ct(t,Ee),size:"xs"}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[e.jsx(je,{type:"initiative",size:11,className:"flex-shrink-0 opacity-85"}),e.jsx("button",{type:"button",onClick:()=>I==null?void 0:I(t.initiativeId,t.initiativeTitle),className:"block min-w-0 flex-1 truncate text-left text-micro uppercase tracking-[0.08em] text-muted transition-colors hover:text-white/72",title:M,children:M}),g?e.jsx("span",{className:O("inline-flex flex-shrink-0 items-center rounded-full border px-2 py-0.5 text-[9px] font-semibold uppercase tracking-[0.08em]",g.toneClass),title:g.longLabel,children:g.shortLabel}):null]}),e.jsxs("p",{className:"mt-0.5 flex min-w-0 items-center gap-1.5 text-caption font-semibold leading-snug text-white",title:w,children:[e.jsx(je,{type:"workstream",size:12,className:"flex-shrink-0 opacity-95"}),e.jsx("span",{className:"line-clamp-2",children:w})]}),Y?e.jsxs("p",{className:"mt-0.5 line-clamp-2 text-micro leading-snug text-secondary",title:`${Ve(t.queueState)}: ${Y}${p?` · ${p}`:""}`,children:[Ve(t.queueState),": ",Y,p?` · ${p}`:""]}):e.jsx("p",{className:"mt-0.5 line-clamp-2 text-micro leading-snug text-secondary",title:He(t),children:He(t)}),ve?e.jsxs("p",{className:"mt-0.5 text-micro text-muted",children:["Runner ",ve]}):null,e.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-1.5",children:[(()=>{const v=t.objectiveScore??t.compositeScore??null;if(v==null)return null;const me=v>=80?"S":v>=60?"A":"B",re=me==="S"?"border-[#BFFF00]/30 bg-[#BFFF00]/[0.12] text-[#d8ffa1]":me==="A"?"border-[#14B8A6]/30 bg-[#14B8A6]/[0.12] text-[#87FFE9]":"border-white/[0.12] bg-white/[0.05] text-white/60";return e.jsxs("span",{className:`chip text-[9px] font-semibold ${re}`,children:[me,"-tier"]})})(),(()=>{const v=t.expectedValueUsd,me=t.sliceTaskCount??0,re=[];return me>0&&re.push(`${me} tasks`),typeof v=="number"&&v>0&&re.push(`$${v.toFixed(2)}`),p&&re.push(p),re.length===0?null:e.jsx("span",{className:"text-micro text-muted",children:re.join(" · ")})})()]})]})]}),(t.sliceTaskCount??0)>0&&e.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 h-[2px] rounded-b-2xl overflow-hidden",children:e.jsx("div",{className:"h-full rounded-full",style:{width:`${Math.max(t.queueState==="completed"?100:t.queueState==="running"?50:15,4)}%`,background:`linear-gradient(90deg, ${mt.lime}, ${mt.teal})`,opacity:.6}})}),Le&&e.jsxs("div",{className:"mt-1.5 rounded-lg border border-red-400/24 bg-red-500/[0.08] px-2.5 py-1 text-micro text-red-100/85",children:["Blocked: ",Le]}),e.jsxs("div",{className:"mt-1.5 flex items-center gap-1.5",onClick:v=>v.stopPropagation(),children:[e.jsx("button",{type:"button",disabled:i||u,onClick:()=>void se(a,()=>Be(t),v=>Ge(t,v)),className:"control-pill flex h-7 items-center justify-center px-2.5 text-micro font-semibold disabled:opacity-40",title:u?"Already running":"Start now",children:e.jsxs("span",{className:"inline-flex items-center gap-1",children:[e.jsx(vt,{className:"h-3 w-3 opacity-85"}),e.jsx("span",{children:u?"Running":"Start"})]})}),e.jsxs("div",{className:"relative ml-auto",children:[e.jsx("button",{type:"button",disabled:i,onClick:()=>te(v=>v===a?null:a),className:"control-pill flex h-7 items-center justify-center px-2.5 text-micro font-semibold disabled:opacity-40",title:"Queue actions",children:e.jsxs("span",{className:"inline-flex items-center gap-1",children:[e.jsx($t,{className:"h-3 w-3 opacity-85"}),e.jsx("span",{children:"More"})]})}),oe===a&&e.jsxs("div",{className:"absolute right-0 top-[calc(100%+6px)] z-[320] min-w-[178px] rounded-xl border border-white/[0.1] bg-[#080d14]/95 p-1.5 shadow-[0_16px_36px_rgba(0,0,0,0.42)] backdrop-blur",children:[e.jsx("button",{type:"button",onClick:()=>{te(null),se(`${a}:top`,()=>J.move({initiativeId:t.initiativeId,workstreamId:t.workstreamId,placement:"top"}),`Moved ${w} to top of queue.`)},className:"flex h-8 w-full items-center rounded-md px-2.5 text-left text-caption text-primary transition-colors hover:bg-white/[0.08]",children:"Move to top"}),e.jsx("button",{type:"button",onClick:()=>{te(null),se(`${a}:bottom`,()=>J.move({initiativeId:t.initiativeId,workstreamId:t.workstreamId,placement:"bottom"}),`Moved ${w} to bottom of queue.`)},className:"flex h-8 w-full items-center rounded-md px-2.5 text-left text-caption text-primary transition-colors hover:bg-white/[0.08]",children:"Move to bottom"}),e.jsx("button",{type:"button",onClick:()=>{te(null),se(`${a}:auto`,()=>Ye({initiativeId:t.initiativeId,workstreamId:t.workstreamId,agentId:t.runnerAgentId,scope:"initiative"}),`Auto enabled for ${M}.`)},className:"flex h-8 w-full items-center rounded-md px-2.5 text-left text-caption text-primary transition-colors hover:bg-white/[0.08]",children:"Auto on"}),e.jsx("button",{type:"button",disabled:J.isRemoving,onClick:()=>{te(null),rt(t)},className:"mt-1 flex h-8 w-full items-center rounded-md px-2.5 text-left text-caption text-red-100 transition-colors hover:bg-red-500/[0.12] disabled:opacity-45",children:"Remove from queue"})]})]})]})]},a)})}):!B&&X?e.jsx(Xt,{axis:"y",values:ue,onReorder:t=>{Qe.current=t,st(t)},className:"space-y-2.5",children:ue.map(t=>it.get(t)).filter(Boolean).map((t,r)=>e.jsx(mn,{item:t,index:r,actionKey:L,setNotice:y,setUpgradeGate:ee,onUpgradeGate:_,onOpenInitiative:I,onOpenSliceDetail:U,selected:Z.has(E(t)),selectionEnabled:D,onToggleSelection:At,menuKey:oe,setMenuKey:te,onPlayWorkstream:Be,startWorkstreamAutoContinue:Ye,triagePlacement:he,onPauseWorkstream:(a,i)=>J.stopTriage({initiativeId:a.initiativeId,workstreamId:a.workstreamId,placement:i,resetToTodo:!1}),onMoveWorkstream:(a,i)=>J.move({initiativeId:a.initiativeId,workstreamId:a.workstreamId,placement:i}),onCommitReorder:()=>void _t().catch(()=>null),onDismiss:rt,runAction:se},E(t)))}):null]}),e.jsx("div",{className:"pointer-events-none absolute bottom-3 right-3 z-[250]",children:e.jsx(sn,{open:Wt,tone:"warning",title:"Limited signal",message:ot,autoDismissMs:6e3,onDismiss:()=>Me(!0)})})]})}function mn({item:n,index:s,actionKey:c,setNotice:o,setUpgradeGate:x,onUpgradeGate:h,onOpenInitiative:k,onOpenSliceDetail:N,selected:q,selectionEnabled:Q,onToggleSelection:pe,menuKey:I,setMenuKey:F,onPlayWorkstream:_,startWorkstreamAutoContinue:U,triagePlacement:D,onPauseWorkstream:Se,onMoveWorkstream:Ce,onCommitReorder:$e,onDismiss:Pe,runAction:V}){const qe=Yt(),R=yt(),[W,Ie]=l.useState(!1),j=`${n.initiativeId}:${n.workstreamId}`,d=c===j,H=n.queueState==="running",G=n.nextTaskDueAt?bt(n.nextTaskDueAt):null,y=Ne(n.initiativeTitle,n.initiativeId,"Initiative"),f=Ne(n.workstreamTitle,n.workstreamId,"Workstream"),ae=jt(n),he=n.nextTaskTitle?$(n.nextTaskTitle):null,S=n.blockReason?$(n.blockReason):null,ee=Nt(n),L=St(n);return e.jsx(Ot,{value:j,id:j,dragListener:!1,dragControls:qe,onDragStart:()=>Ie(!0),onDragEnd:()=>{Ie(!1),$e()},whileDrag:{scale:1.02,boxShadow:"0 20px 48px rgba(0,0,0,0.5), 0 0 0 1px rgba(191,255,0,0.15)",zIndex:50,cursor:"grabbing"},className:"relative",children:e.jsxs(z.article,{layout:!0,initial:{opacity:0,y:12,scale:.97},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:-8,scale:.98},transition:{duration:R?.01:b.surfaceSwitch.duration,ease:b.surfaceSwitch.ease,delay:R?0:Math.min(s,b.listStaggerMaxItems)*b.listStaggerStep,opacity:{duration:R?.01:b.surfaceSwitch.duration,ease:b.surfaceSwitch.ease}},className:"group relative overflow-visible rounded-2xl border border-white/[0.08] bg-white/[0.02] px-3 py-3 cursor-pointer transition-colors hover:border-white/[0.14]",onClick:()=>N==null?void 0:N(n),role:"button",tabIndex:0,onKeyDown:m=>{(m.key==="Enter"||m.key===" ")&&(m.preventDefault(),N==null||N(n))},children:[e.jsx("div",{className:`pointer-events-none absolute inset-x-3 top-0 h-px bg-gradient-to-r ${kt(n.queueState)}`,"aria-hidden":!0}),e.jsx("div",{className:"flex items-start justify-between gap-2.5",children:e.jsxs("div",{className:"min-w-0 flex flex-1 items-start gap-2.5",children:[e.jsxs("div",{className:"relative h-8 w-8 flex-shrink-0",children:[e.jsx("div",{className:`absolute inset-0 transition-[opacity,transform] duration-200 ease-out ${Q?q?"opacity-0 scale-90":"opacity-100 scale-100 group-hover:opacity-0 group-hover:scale-90 group-focus-within:opacity-0 group-focus-within:scale-90":"opacity-100 scale-100"}`,children:e.jsx(gt,{name:ee,hint:Ct(n,ee),size:"sm"})}),Q?e.jsx("button",{type:"button",role:"checkbox","aria-checked":q,"aria-label":"Select queue row",title:q?"Selected (Shift+click for range)":"Select (Shift+click for range)",onClick:m=>{m.stopPropagation(),pe(j,!q,m.shiftKey)},onMouseDown:m=>m.stopPropagation(),onKeyDown:m=>m.stopPropagation(),className:`absolute inset-0 flex items-center justify-center rounded-full border transition-[opacity,transform,background-color,border-color,color] duration-200 ease-out ${q?"opacity-100 scale-100 border-[#BFFF00]/40 bg-[#BFFF00]/18 text-[#E1FFB2]":"opacity-0 scale-90 border-white/[0.24] bg-black/55 text-white/78 group-hover:opacity-100 group-hover:scale-100 group-focus-within:opacity-100 group-focus-within:scale-100 hover:bg-black/62"}`,children:e.jsx("span",{className:"inline-flex h-4 w-4 items-center justify-center rounded-full border border-current/45 bg-black/30",children:q?e.jsx("svg",{viewBox:"0 0 16 16",className:"h-2.5 w-2.5",fill:"none","aria-hidden":!0,children:e.jsx("path",{d:"M3.2 8.3 6.2 11l6.6-6.1",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):null})}):null]}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-1.5",children:[e.jsx(je,{type:"initiative",size:11,className:"flex-shrink-0 opacity-85"}),e.jsx("button",{type:"button",onClick:()=>k==null?void 0:k(n.initiativeId,n.initiativeTitle),className:"block min-w-0 flex-1 truncate text-left text-micro uppercase tracking-[0.08em] text-muted transition-colors hover:text-white/72",title:y,children:y}),ae?e.jsx("span",{className:O("inline-flex flex-shrink-0 items-center rounded-full border px-2 py-0.5 text-[9px] font-semibold uppercase tracking-[0.08em]",ae.toneClass),title:ae.longLabel,children:ae.shortLabel}):null]}),e.jsxs("div",{className:"mt-0.5 flex min-w-0 items-start gap-1.5",children:[e.jsx(je,{type:"workstream",size:12,className:"mt-[3px] flex-shrink-0 opacity-95"}),e.jsx("p",{className:"min-w-0 line-clamp-2 text-body font-semibold leading-snug text-white",title:f,children:f})]}),e.jsxs("div",{className:"mt-1.5 flex items-center gap-2 text-micro text-secondary",children:[e.jsx("span",{className:"rounded-full border border-strong bg-white/[0.03] px-2 py-0.5 text-micro uppercase tracking-[0.08em] text-secondary",children:"Runner"}),e.jsxs("span",{className:"truncate text-white/68",children:[ee,L?` · ${L}`:""]})]})]})]})}),e.jsx("div",{className:"mt-2 rounded-lg border border-white/[0.07] bg-black/[0.18] px-2.5 py-2 text-caption text-white/68",children:he?e.jsxs("div",{className:"space-y-1",children:[e.jsxs("div",{className:"flex min-w-0 items-center gap-1 text-micro uppercase tracking-[0.08em] text-white/44",children:[e.jsx(je,{type:"task",size:10,className:"flex-shrink-0 opacity-80"}),e.jsx("span",{children:Ve(n.queueState)}),G?e.jsxs("span",{className:"truncate text-micro normal-case tracking-normal text-muted",children:["· ",G]}):null]}),e.jsx("p",{className:"line-clamp-2 break-words text-caption leading-snug text-white/84",title:he,children:he})]}):e.jsx("span",{className:"text-secondary",children:He(n)})}),S&&e.jsxs("div",{className:"mt-1.5 rounded-lg border border-red-400/24 bg-red-500/[0.08] px-2.5 py-1 text-micro text-red-100/85",children:["Blocked: ",S]}),e.jsxs("div",{className:"mt-2 flex items-center gap-1.5",onClick:m=>m.stopPropagation(),children:[e.jsx("button",{type:"button",disabled:d||H,onClick:()=>void V(j,()=>_(n),m=>Ge(n,m)),className:"control-pill flex h-7 items-center justify-center px-2.5 text-micro font-semibold disabled:opacity-40",title:H?"Already running":"Start this workstream now",children:e.jsxs("span",{className:"inline-flex items-center gap-1",children:[e.jsx(vt,{className:"h-3 w-3 opacity-85"}),e.jsx("span",{children:H?"Running":"Start"})]})}),e.jsxs("button",{type:"button",onPointerDown:m=>qe.start(m),"aria-label":"Drag to reorder",title:W?"Reordering":"Drag to reorder",className:`control-pill flex h-7 items-center justify-center gap-1 px-2 text-micro font-semibold transition-colors ${W?"border-[#BFFF00]/35 bg-[#BFFF00]/14 text-[#E1FFB2] cursor-grabbing":"cursor-grab hover:bg-white/[0.08] hover:text-bright"}`,children:[W?e.jsx(an,{className:"h-3.5 w-3.5 opacity-90"}):e.jsx(rn,{className:"h-3.5 w-3.5 opacity-90"}),e.jsx("span",{children:W?"Reordering":"Drag"})]}),e.jsxs("div",{className:"relative ml-auto",children:[e.jsx("button",{type:"button",disabled:d,onClick:()=>F(m=>m===j?null:j),className:"control-pill flex h-7 items-center justify-center px-2.5 text-micro font-semibold disabled:opacity-40",title:"Queue actions",children:e.jsxs("span",{className:"inline-flex items-center gap-1",children:[e.jsx($t,{className:"h-3 w-3 opacity-85"}),e.jsx("span",{children:"More"})]})}),I===j&&e.jsxs("div",{className:"absolute right-0 top-[calc(100%+6px)] z-[320] min-w-[198px] rounded-xl border border-white/[0.1] bg-[#080d14]/95 p-1.5 shadow-[0_16px_36px_rgba(0,0,0,0.42)] backdrop-blur",children:[e.jsx("button",{type:"button",onClick:()=>{F(null),V(`${j}:top`,()=>Ce(n,"top"),`Moved ${f} to top of queue.`)},className:"flex h-8 w-full items-center rounded-md px-2.5 text-left text-caption text-primary transition-colors hover:bg-white/[0.08]",children:"Move to top"}),e.jsx("button",{type:"button",onClick:()=>{F(null),V(`${j}:bottom`,()=>Ce(n,"bottom"),`Moved ${f} to bottom of queue.`)},className:"flex h-8 w-full items-center rounded-md px-2.5 text-left text-caption text-primary transition-colors hover:bg-white/[0.08]",children:"Move to bottom"}),e.jsx("button",{type:"button",onClick:()=>{F(null),V(`${j}:auto`,()=>U({initiativeId:n.initiativeId,workstreamId:n.workstreamId,agentId:n.runnerAgentId,scope:"initiative"}),`Auto enabled for ${y}.`)},className:"flex h-8 w-full items-center rounded-md px-2.5 text-left text-caption text-primary transition-colors hover:bg-white/[0.08]",children:"Auto on"}),H?e.jsx("button",{type:"button",onClick:()=>{F(null),V(`${j}:pause`,()=>Se(n,D),`Paused ${f}.`)},className:"mt-1 flex h-8 w-full items-center rounded-md px-2.5 text-left text-caption text-primary transition-colors hover:bg-white/[0.08]",children:"Pause run"}):null,e.jsx("button",{type:"button",disabled:d||H,onClick:()=>{F(null),Pe(n)},className:"mt-1 flex h-8 w-full items-center rounded-md px-2.5 text-left text-caption text-red-100 transition-colors hover:bg-red-500/[0.12] disabled:opacity-45",children:"Remove from queue"})]})]})]})]})})}const bn=Object.freeze(Object.defineProperty({__proto__:null,NextUpPanel:un},Symbol.toStringTag,{value:"Module"}));export{sn as I,un as N,bn as a,en as o};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as l,j as e}from"./cNrhgGc1.js";import{
|
|
1
|
+
import{r as l,j as e}from"./cNrhgGc1.js";import{e as r,y as u,E as j,r as f}from"./Bp3N-QL5.js";import"./C-KIc3Wc.js";import"./BJgZIVUQ.js";import"./CxQ08qFN.js";function c(a){if(!a)return"unknown";try{return f(a)}catch{return"unknown"}}function k({open:a,onClose:o,outbox:t,onOpenSettings:p,onRefresh:m}){const[x,d]=l.useState(!1),h=l.useMemo(()=>Object.entries(t.pendingByQueue??{}).filter(([,s])=>typeof s=="number"&&s>0).sort((s,b)=>b[1]-s[1]),[t.pendingByQueue]),n=l.useMemo(()=>t.replayStatus==="error"?r.red:t.pendingTotal>0?r.amber:r.textMuted,[t.pendingTotal,t.replayStatus]),y=async()=>{try{await navigator.clipboard.writeText(JSON.stringify(t,null,2)),d(!0),setTimeout(()=>d(!1),1200)}catch{}};return e.jsx(u,{open:a,onClose:o,maxWidth:"max-w-3xl",fitContent:!0,children:e.jsxs("div",{className:"flex w-full flex-col",children:[e.jsxs("div",{className:"border-b border-subtle px-5 pt-5 pb-4",children:[e.jsxs("div",{className:"flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("h3",{className:"inline-flex items-center gap-2 text-heading font-semibold text-white",children:[e.jsx(j,{type:"outbox",size:14}),e.jsx("span",{className:"truncate",children:"Outbox"}),e.jsx("span",{className:"rounded-full border px-2 py-0.5 text-caption font-semibold",style:{borderColor:`${n}30`,backgroundColor:`${n}14`,color:n},children:t.pendingTotal})]}),e.jsx("p",{className:"mt-1 text-body leading-relaxed text-secondary",children:"Buffered updates queued for replay to OrgX when connectivity is healthy."})]}),e.jsx("button",{type:"button",onClick:o,className:"rounded-md border border-strong bg-white/[0.03] px-2.5 py-1.5 text-caption text-primary transition-colors hover:bg-white/[0.08]","aria-label":"Close outbox modal",children:"Close"})]}),e.jsxs("div",{className:"mt-3 grid grid-cols-1 gap-2 sm:grid-cols-2",children:[e.jsxs("div",{className:"rounded-xl border border-white/[0.08] bg-white/[0.02] px-3 py-2",children:[e.jsx("p",{className:"text-micro uppercase tracking-[0.12em] text-secondary",children:"Replay status"}),e.jsx("p",{className:"mt-1 text-body font-semibold",style:{color:n},children:t.replayStatus}),t.lastReplayError&&t.replayStatus==="error"&&e.jsx("p",{className:"mt-1 line-clamp-2 text-caption text-red-200/75",children:t.lastReplayError})]}),e.jsxs("div",{className:"rounded-xl border border-white/[0.08] bg-white/[0.02] px-3 py-2",children:[e.jsx("p",{className:"text-micro uppercase tracking-[0.12em] text-secondary",children:"Window"}),e.jsxs("p",{className:"mt-1 text-caption text-primary",children:["Oldest: ",e.jsx("span",{className:"font-semibold text-white",children:c(t.oldestEventAt)})]}),e.jsxs("p",{className:"mt-0.5 text-caption text-primary",children:["Newest: ",e.jsx("span",{className:"font-semibold text-white",children:c(t.newestEventAt)})]})]})]})]}),e.jsx("div",{className:"px-5 py-4",children:t.pendingTotal===0?e.jsx("div",{className:"rounded-xl border border-subtle bg-white/[0.02] p-4 text-body text-secondary",children:"Outbox is empty."}):e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between gap-2",children:[e.jsx("p",{className:"text-caption font-semibold uppercase tracking-[0.12em] text-secondary",children:"Queues"}),e.jsx("button",{type:"button",onClick:y,className:"rounded-md border border-strong bg-white/[0.03] px-2.5 py-1.5 text-caption text-secondary transition-colors hover:bg-white/[0.08]",children:x?"Copied":"Copy JSON"})]}),e.jsx("div",{className:"space-y-1.5",children:h.map(([i,s])=>e.jsxs("div",{className:"flex items-center justify-between gap-3 rounded-xl border border-white/[0.08] bg-white/[0.02] px-3 py-2",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsx("p",{className:"truncate text-body font-medium text-white",children:i}),e.jsxs("p",{className:"mt-0.5 text-micro text-secondary",children:[s," event",s===1?"":"s"]})]}),e.jsx("span",{className:"rounded-full border px-2 py-0.5 text-caption font-semibold",style:{borderColor:`${r.amber}30`,backgroundColor:`${r.amber}14`,color:r.amber},children:s})]},i))}),e.jsx("div",{className:"rounded-xl border border-subtle bg-white/[0.02] px-3 py-2 text-caption text-secondary",children:"Replay is handled automatically by the OrgX sync service. If events stay queued, check Settings for API key and last replay errors."})]})}),e.jsxs("div",{className:"flex items-center justify-end gap-2 border-t border-subtle px-5 py-3",children:[e.jsx("button",{type:"button",onClick:m,className:"rounded-md border border-strong bg-white/[0.03] px-3 py-1.5 text-caption text-primary transition-colors hover:bg-white/[0.08]",children:"Refresh"}),e.jsx("button",{type:"button",onClick:p,className:"rounded-md border border-lime/25 bg-lime/10 px-3 py-1.5 text-caption font-semibold text-lime transition-colors hover:bg-lime/20",children:"Open settings"})]})]})})}export{k as BulkOutboxModal};
|
|
Binary file
|
|
Binary file
|