uapp-communication-sdk 1.0.0-dev.105 → 1.0.0-dev.106

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.
@@ -1,9 +1,9 @@
1
- (function(){window.__COMMHUB_SDK_CSS__=`._spinner_164a8_1{border-style:solid;border-color:currentColor #0000 currentColor currentColor;border-radius:50%;animation:.6s linear infinite _spin_164a8_1;display:inline-block}._sm_164a8_10{border-width:2px;width:1rem;height:1rem}._md_164a8_15{border-width:3px;width:1.5rem;height:1.5rem}._lg_164a8_20{border-width:4px;width:2.5rem;height:2.5rem}@keyframes _spin_164a8_1{to{transform:rotate(360deg)}}._button_1xtk2_1{border-radius:var(--radius-md);font:inherit;letter-spacing:-.01em;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;font-weight:600;display:inline-flex}._button_1xtk2_1:disabled{opacity:.6;cursor:not-allowed}._button_1xtk2_1:active:not(:disabled){transform:translateY(1px)scale(.985)}._button_1xtk2_1:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}._sm_1xtk2_36{padding:.35rem .75rem;font-size:.85rem}._md_1xtk2_40{padding:.55rem 1rem;font-size:.95rem}._lg_1xtk2_44{padding:.75rem 1.4rem;font-size:1.05rem}._primary_1xtk2_50{background-color:var(--color-primary);color:var(--color-on-primary)}._primary_1xtk2_50:hover:not(:disabled){background-color:var(--color-primary-strong);box-shadow:0 6px 18px var(--color-primary-30);transform:translateY(-1px)}._primary_1xtk2_50:active:not(:disabled){box-shadow:0 2px 8px var(--color-primary-30)}._secondary_1xtk2_63{background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}._secondary_1xtk2_63:hover:not(:disabled){border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}._ghost_1xtk2_74{color:var(--color-text);background-color:#0000}._ghost_1xtk2_74:hover:not(:disabled){background-color:var(--color-surface-muted)}._danger_1xtk2_82{background-color:var(--color-danger);color:var(--color-on-primary)}._danger_1xtk2_82:hover:not(:disabled){background-color:var(--color-danger-strong);box-shadow:0 6px 18px var(--color-danger-soft);transform:translateY(-1px)}._fullWidth_1xtk2_92{width:100%}._loadingTextHidden_1xtk2_96{display:none}._alert_r5ybz_1{border-radius:var(--radius-md);border:1px solid #0000;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;font-size:.9rem;line-height:1.4;display:flex}._error_r5ybz_12{background-color:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger-strong)}._info_r5ybz_18{background-color:var(--color-surface-muted);border-color:var(--color-border);color:var(--color-text)}._success_r5ybz_24{background-color:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success-strong)}._title_r5ybz_30{margin:0 0 .15rem;font-weight:600}._body_r5ybz_35{white-space:pre-line;margin:0}._field_i2e93_1{flex-direction:column;gap:.35rem;display:flex}._label_i2e93_7{color:var(--color-text);font-size:.85rem;font-weight:600}._input_i2e93_13{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);font:inherit;padding:.6rem .75rem}._input_i2e93_13:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-focus);outline:none}._invalid_i2e93_28{border-color:var(--color-danger)}._error_i2e93_32{color:var(--color-danger-strong);font-size:.8rem}._select_1yaeg_3{height:var(--height-input,38px);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);appearance:none;color:var(--color-text);transition:border-color var(--dur-fast) var(--ease-out);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;outline:none;padding:0 34px 0 12px;font-family:inherit;font-size:13px}._select_1yaeg_3:focus-visible{border-color:var(--color-primary-border)}._select_1yaeg_3:disabled{opacity:.6;cursor:not-allowed}._iconButton_2jhbr_1{border-radius:var(--radius-md);width:2rem;height:2rem;color:var(--color-text);cursor:pointer;background-color:#0000;border:1px solid #0000;justify-content:center;align-items:center;padding:0;line-height:1;transition:background-color .15s,color .15s;display:inline-flex}._iconButton_2jhbr_1:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}._iconButton_2jhbr_1:disabled{opacity:.6;cursor:not-allowed}._ghost_2jhbr_29:hover:not(:disabled){background-color:var(--color-surface-muted)}._danger_2jhbr_33{color:var(--color-danger-strong)}._danger_2jhbr_33:hover:not(:disabled){background-color:var(--color-danger-soft)}._overlay_1u32w_1{background-color:var(--color-overlay);z-index:90;position:fixed;inset:0}._positioner_1u32w_11{z-index:91;width:calc(100% - 2rem);max-width:440px;height:fit-content;max-height:calc(100vh - 2rem);margin:auto;display:flex;position:fixed;inset:0}._positionerMedium_1u32w_25{max-width:560px}._positionerWide_1u32w_30{max-width:960px}._overlayHi_1u32w_35{z-index:100}._positionerHi_1u32w_39{z-index:101}._positioner_1u32w_11:focus-visible{outline:none}._content_1u32w_9{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-height:calc(100vh - 2rem);box-shadow:var(--shadow-lg);flex-direction:column;gap:1rem;padding:1.5rem;display:flex;overflow:hidden}._header_1u32w_62{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}._heading_1u32w_70{flex-direction:column;gap:.25rem;display:flex}._title_1u32w_76{color:var(--color-text);margin:0;font-size:1.15rem;font-weight:600}._description_1u32w_83{color:var(--color-text-muted);margin:0;font-size:.9rem}._body_1u32w_89{min-height:0;color:var(--color-text);margin:-2px -4px;padding:2px 4px;font-size:.95rem;overflow-y:auto}._footer_1u32w_98{flex-shrink:0;justify-content:flex-end;gap:.5rem;display:flex}@media (width<=768px){._positioner_1u32w_11{width:100%;max-width:none;height:auto;max-height:90vh;margin:0;inset:auto 0 0}._content_1u32w_9{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:90vh;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));border-bottom:none;border-left:none;border-right:none}}@media (width<=480px){._footer_1u32w_98{flex-direction:column-reverse;align-items:stretch}._footer_1u32w_98>*{border-color:var(--color-border-strong);width:100%}}._overlay_1rzp2_1{background-color:var(--color-overlay);z-index:80;position:fixed;inset:0}._overlay_1rzp2_1[data-state=open]{animation:.16s _drawerFadeIn_1rzp2_1}._overlay_1rzp2_1[data-state=closed]{animation:.14s forwards _drawerFadeOut_1rzp2_1}._panelLeft_1rzp2_17,._panelRight_1rzp2_18{background-color:var(--color-surface);width:min(286px,86vw);box-shadow:var(--shadow-lg);z-index:81;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;overflow:hidden}._body_1rzp2_32{flex:1;min-height:0;overflow-y:auto}._footer_1rzp2_38{flex-shrink:0}._panelLeft_1rzp2_17{left:0}._panelRight_1rzp2_18{width:min(420px,92vw);right:0}._panelWide_1rzp2_52{width:min(760px,96vw)}._panelLeft_1rzp2_17[data-state=open]{animation:.28s cubic-bezier(.16,1,.3,1) _drawerSlideInLeft_1rzp2_1}._panelLeft_1rzp2_17[data-state=closed]{animation:.2s ease-in forwards _drawerSlideOutLeft_1rzp2_1}._panelRight_1rzp2_18[data-state=open]{animation:.28s cubic-bezier(.16,1,.3,1) _drawerSlideInRight_1rzp2_1}._panelRight_1rzp2_18[data-state=closed]{animation:.2s ease-in forwards _drawerSlideOutRight_1rzp2_1}@keyframes _drawerFadeIn_1rzp2_1{0%{opacity:0}to{opacity:1}}@keyframes _drawerFadeOut_1rzp2_1{0%{opacity:1}to{opacity:0}}@keyframes _drawerSlideInLeft_1rzp2_1{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes _drawerSlideOutLeft_1rzp2_1{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes _drawerSlideInRight_1rzp2_1{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes _drawerSlideOutRight_1rzp2_1{0%{transform:translate(0)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){._overlay_1rzp2_1[data-state=open],._overlay_1rzp2_1[data-state=closed],._panelLeft_1rzp2_17[data-state=open],._panelLeft_1rzp2_17[data-state=closed],._panelRight_1rzp2_18[data-state=open],._panelRight_1rzp2_18[data-state=closed]{animation:none}}._srOnly_1rzp2_138{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._content_5rs2x_1{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:180px;box-shadow:var(--shadow-md);z-index:1000;flex-direction:column;gap:.125rem;padding:.35rem;display:flex}._header_5rs2x_14{padding:.35rem .35rem .15rem}._separator_5rs2x_18{background-color:var(--color-border);height:1px;margin:.2rem .15rem}._item_5rs2x_24{border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;align-items:center;gap:.5rem;padding:.45rem .6rem;font-size:.9rem;display:flex}._item_5rs2x_24[data-highlighted]{background-color:var(--color-surface-muted)}._item_5rs2x_24[data-disabled]{opacity:.5;pointer-events:none}._danger_5rs2x_46{color:var(--color-danger-strong)}._danger_5rs2x_46[data-highlighted]{background-color:var(--color-danger-soft)}._icon_5rs2x_54{align-items:center;display:inline-flex}._subChevron_5rs2x_60{opacity:.55;margin-left:auto}._item_5rs2x_24[data-state=open]{background-color:var(--color-surface-muted)}._content_bh2vo_1{z-index:80;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);outline:none;max-height:280px;padding:6px;overflow-y:auto;box-shadow:0 8px 24px #0000001f}._content_sto2s_1{--tooltip-bg:#334155;--tooltip-color:#fff;background-color:var(--tooltip-bg);color:var(--tooltip-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:1000;-webkit-user-select:none;user-select:none;padding:.35rem .55rem;font-size:.8rem;line-height:1.3}._arrow_sto2s_16{fill:var(--tooltip-bg)}@media (prefers-color-scheme:dark){:host(:not([data-theme=light])) ._content_sto2s_1{--tooltip-bg:#1d3135;--tooltip-color:#3fb5b7}}:host([data-theme=dark]) ._content_sto2s_1{--tooltip-bg:#1d3135;--tooltip-color:#3fb5b7}._container_yjtbg_1{top:var(--space-6);z-index:1000;align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}._toast_yjtbg_14{background-color:var(--color-surface);color:var(--color-text);padding:10px var(--space-4);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);pointer-events:auto;cursor:pointer;align-items:center;gap:10px;min-width:250px;display:flex}._iconWrap_yjtbg_29{justify-content:center;align-items:center;display:flex}._type_success_yjtbg_35{color:var(--color-success)}._type_error_yjtbg_39{color:var(--color-danger)}._type_info_yjtbg_43{color:var(--color-primary)}._message_yjtbg_47{font-size:var(--font-sm);font-weight:500}._card_mk3l2_1{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0}._padSm_mk3l2_8{padding:var(--space-3)}._padMd_mk3l2_12{padding:var(--space-4)}._padLg_mk3l2_16{padding:var(--space-5)}._shadowSm_mk3l2_20{box-shadow:var(--shadow-sm)}._shadowMd_mk3l2_24{box-shadow:var(--shadow-md)}._interactive_mk3l2_28{cursor:pointer;transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out)}._interactive_mk3l2_28:hover{border-color:var(--color-primary-border);box-shadow:var(--shadow-lg);transform:translateY(-2px)}._interactive_mk3l2_28:active{box-shadow:var(--shadow-sm);transform:translateY(0)}._avatar_eiy4h_1{width:var(--avatar-size,36px);height:var(--avatar-size,36px);background-color:var(--avatar-color,var(--color-primary));color:var(--color-on-primary);font-size:var(--avatar-font,13px);text-transform:uppercase;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}._circle_eiy4h_17{border-radius:50%}._rounded_eiy4h_21{border-radius:var(--radius-md)}._badge_cz5qm_1{border-radius:var(--radius-full);font-size:var(--font-xs);white-space:nowrap;border:1px solid #0000;align-items:center;gap:4px;padding:3px 9px;font-weight:700;line-height:1;display:inline-flex}._sm_cz5qm_14{padding:2px 7px;font-size:10px}._toneNeutral_cz5qm_20{--tone:var(--color-text-soft)}._tonePrimary_cz5qm_24{--tone:var(--color-primary)}._toneSecondary_cz5qm_28{--tone:var(--color-secondary)}._toneSuccess_cz5qm_32{--tone:var(--color-success)}._toneDanger_cz5qm_36{--tone:var(--color-danger)}._toneWarn_cz5qm_40{--tone:var(--color-warn)}._soft_cz5qm_44{background-color:color-mix(in srgb, var(--tone) 12%, transparent);color:var(--tone);border-color:color-mix(in srgb, var(--tone) 22%, transparent)}._solid_cz5qm_50{background-color:var(--tone);color:var(--color-on-primary)}._outline_cz5qm_55{color:var(--tone);border-color:color-mix(in srgb, var(--tone) 42%, transparent)}._skeleton_qqc08_1{background-color:var(--color-surface-muted);animation:1.5s ease-in-out infinite _skeletonPulse_qqc08_1;display:block}._line_qqc08_7{width:var(--sk-w,100%);height:var(--sk-h,12px);border-radius:var(--radius-sm)}._circle_qqc08_13{width:var(--sk-w,36px);height:var(--sk-h,36px);border-radius:50%}._block_qqc08_19{width:var(--sk-w,100%);height:var(--sk-h,80px);border-radius:var(--radius-md)}@keyframes _skeletonPulse_qqc08_1{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){._skeleton_qqc08_1{animation:none}}._group_dsmc8_1{border-radius:var(--radius-full);background-color:var(--color-surface-muted);flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}@media (width<=640px){._group_dsmc8_1{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;display:flex;overflow-x:auto}._group_dsmc8_1::-webkit-scrollbar{display:none}._seg_dsmc8_21{white-space:nowrap;flex-shrink:0}}._seg_dsmc8_21{border-radius:var(--radius-full);color:var(--color-text-soft);font:inherit;font-size:var(--font-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 14px;font-weight:600;transition:background-color .15s,color .15s;display:inline-flex}._seg_dsmc8_21:hover{color:var(--color-text)}._segActive_dsmc8_49,._segActive_dsmc8_49:hover{background-color:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}._seg_dsmc8_21:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}._count_dsmc8_61{border-radius:var(--radius-full);background-color:color-mix(in srgb, currentColor 16%, transparent);padding:0 6px;font-size:10px;font-weight:700}._container_wnsra_3{width:100%;display:inline-flex;position:relative}._trigger_wnsra_9{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);width:100%;height:32px;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);justify-content:space-between;align-items:center;gap:6px;padding:0 8px;font-family:inherit;font-size:12.5px;font-weight:600;display:inline-flex}._trigger_wnsra_9:hover:not(:disabled){border-color:var(--color-border-strong);background-color:var(--color-surface-hover,var(--color-surface))}._trigger_wnsra_9:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-10);outline:none}._triggerActive_wnsra_43{border-color:var(--color-primary)}._trigger_wnsra_9:disabled{opacity:.4;cursor:not-allowed}._timeText_wnsra_52{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}._icon_wnsra_58{color:var(--color-text-soft);flex-shrink:0}._popover_wnsra_65{z-index:1000;border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-lg,0 10px 25px -5px #0006);flex-direction:column;gap:8px;width:220px;padding:8px;display:flex;position:absolute}._popoverTop_wnsra_79{bottom:calc(100% + 4px)}._popoverBottom_wnsra_83{top:calc(100% + 4px)}._popoverLeft_wnsra_87{left:0}._popoverRight_wnsra_91{right:0}._headerPills_wnsra_97{gap:4px;width:100%;display:flex}._pill_wnsra_103{border-radius:var(--radius-sm,4px);background-color:var(--color-primary-10);border:1px solid var(--color-primary-border);height:28px;color:var(--color-primary);font-feature-settings:"tnum";flex:1;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}._pickerBody_wnsra_120{gap:4px;width:100%;height:160px;display:flex}._column_wnsra_127{scrollbar-width:thin;border-radius:var(--radius-sm,4px);background-color:var(--color-bg);border:1px solid var(--color-border);flex-direction:column;flex:1;gap:2px;padding:4px 2px;display:flex;overflow-y:auto}._column_wnsra_127::-webkit-scrollbar{width:3px}._column_wnsra_127::-webkit-scrollbar-thumb{background-color:var(--color-border-strong);border-radius:var(--radius-full)}._wheelItem_wnsra_149{border-radius:var(--radius-sm,4px);height:30px;min-height:30px;color:var(--color-text-mid);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:12.5px;font-weight:500;display:flex}._wheelItem_wnsra_149:hover{background-color:var(--color-surface-hover,#ffffff14);color:var(--color-text)}._wheelItemActive_wnsra_172,._wheelItemActive_wnsra_172:hover{background-color:var(--color-primary);color:var(--color-on-primary);font-weight:700}._wheelItemDisabled_wnsra_179,._wheelItemDisabled_wnsra_179:hover{opacity:.3;cursor:not-allowed;color:var(--color-text-soft);pointer-events:none;background:0 0}._root_lp8k4_1{height:100%;min-height:0;display:flex}._fullCenter_lp8k4_7{flex:1;place-items:center;display:grid}._list_lp8k4_14{border-right:1px solid var(--color-border);background-color:var(--color-surface);flex-direction:column;flex-shrink:0;width:360px;min-height:0;display:flex}._listHead_lp8k4_24{justify-content:space-between;align-items:center;padding:16px 18px 8px;display:flex}._listTitle_lp8k4_31{font-size:var(--font-lg);color:var(--color-text);margin:0;font-weight:600}._composeBtn_lp8k4_38{border-radius:var(--radius-md);background-color:var(--color-primary-10);width:32px;height:32px;color:var(--color-primary);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .14s,transform .14s;display:inline-flex}._composeBtn_lp8k4_38:hover{background-color:var(--color-primary);color:var(--color-on-primary);transform:translateY(-1px)}._menuItemContent_lp8k4_61{align-items:center;gap:12px;padding:4px 2px;display:flex}._chatIconTile_lp8k4_68,._groupIconTile_lp8k4_69{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}._chatIconTile_lp8k4_68{background-color:var(--color-primary-10);color:var(--color-primary)}._groupIconTile_lp8k4_69{background-color:var(--color-secondary-10);color:var(--color-secondary)}._menuItemText_lp8k4_89{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:flex}._menuItemTitle_lp8k4_97{color:var(--color-text);font-size:13.5px;font-weight:600;line-height:1.2}._menuItemSub_lp8k4_104{color:var(--color-text-soft);font-size:11.5px;line-height:1.2}._search_lp8k4_110{border-radius:var(--radius-md);background-color:var(--color-surface-muted);height:36px;color:var(--color-text-soft);align-items:center;gap:8px;margin:0 14px 8px;padding:0 10px;display:flex}._searchInput_lp8k4_122{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-size:13px}._searchClearBtn_lp8k4_131{color:var(--color-text-soft);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .14s;display:inline-flex}._searchClearBtn_lp8k4_131:hover{color:var(--color-text)}._tabsWrapper_lp8k4_148{align-items:center;display:flex;position:relative}._tabs_lp8k4_148{border-bottom:1px solid var(--color-border);scrollbar-width:none;gap:2px;width:100%;padding:0 12px 8px;display:flex;overflow-x:auto}._tabs_lp8k4_148::-webkit-scrollbar{display:none}._arrowBtn_lp8k4_168{border-radius:var(--radius-full);color:#045d5e;cursor:pointer;z-index:10;width:24px;height:24px;box-shadow:var(--shadow-sm);background-color:#aecacb;border:1px solid #045d5e;justify-content:center;align-items:center;margin-top:-4px;transition:background-color .14s,color .14s,border-color .14s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}._arrowBtn_lp8k4_168:hover{color:#045d5e;background-color:#aecacb;border-color:#045d5e}@media (prefers-color-scheme:dark){:host(:not([data-theme=light])) ._arrowBtn_lp8k4_168,:host(:not([data-theme=light])) ._arrowBtn_lp8k4_168:hover{color:#3fb5b7;background-color:#1d3135;border-color:#3fb5b7}}:host([data-theme=dark]) ._arrowBtn_lp8k4_168,:host([data-theme=dark]) ._arrowBtn_lp8k4_168:hover{color:#3fb5b7;background-color:#1d3135;border-color:#3fb5b7}._arrowLeft_lp8k4_223{left:4px}._arrowRight_lp8k4_227{right:4px}._tabs_lp8k4_148:after{content:"";flex:0 0 8px}._tab_lp8k4_148{color:var(--color-text-soft);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;align-items:center;gap:5px;padding:6px 10px;font-size:11.5px;font-weight:600;display:inline-flex;position:relative}._tab_lp8k4_148:hover{color:var(--color-text)}._tabActive_lp8k4_259,._tabActive_lp8k4_259:hover{color:var(--color-primary)}._tabBg_lp8k4_264{z-index:0;border-radius:var(--radius-full);background-color:var(--color-primary-10);box-shadow:inset 0 0 0 1px var(--color-primary-border);position:absolute;inset:0}._tabLabel_lp8k4_273{z-index:1;position:relative}._tabCount_lp8k4_278{z-index:1;border-radius:var(--radius-full);background-color:var(--color-secondary);min-width:16px;color:var(--color-on-primary);text-align:center;padding:0 5px;font-size:9px;font-weight:700;line-height:16px;position:relative}._tabDot_lp8k4_292{z-index:1;background-color:var(--color-secondary);border-radius:50%;width:6px;height:6px;position:relative}._rows_lp8k4_301{scrollbar-width:none;flex:1;min-height:0;padding:6px 0;overflow-y:auto}@media (width<=425px){._rows_lp8k4_301{padding-bottom:var(--bottom-nav-offset,50px);transition:padding-bottom var(--dur-base) var(--ease-out)}}._rows_lp8k4_301:hover{scrollbar-width:thin}._rows_lp8k4_301::-webkit-scrollbar{background:0 0;width:5px}._rows_lp8k4_301::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:0 0}._rows_lp8k4_301:hover::-webkit-scrollbar-thumb{background:var(--color-border)}._rows_lp8k4_301:hover::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}._empty_lp8k4_338{text-align:center;color:var(--color-text-soft);padding:24px 18px;font-size:13px}._sentinel_lp8k4_347{flex-shrink:0;height:1px}._loadMore_lp8k4_352{justify-content:center;align-items:center;padding:12px 0 16px;display:flex}._row_lp8k4_301{border-left:3px solid #0000;align-items:center;display:flex;position:relative}._row_lp8k4_301:hover{background-color:var(--color-surface-muted)}._rowActive_lp8k4_370{border-left-color:var(--color-primary);background-color:var(--color-primary-05)}._rowMain_lp8k4_375{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:11px;min-width:0;padding:9px 4px 9px 15px;display:flex}._rowMenuBtn_lp8k4_388{border-radius:var(--radius-md);width:28px;height:28px;color:var(--color-text-soft);cursor:pointer;opacity:1;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-right:10px;transition:background-color .12s,color .12s;display:inline-flex}._rowMenuBtn_lp8k4_388:hover{background-color:var(--color-border);color:var(--color-text)}._rowPin_lp8k4_412{width:12px;height:12px;color:var(--color-text-soft);flex-shrink:0}._rowStar_lp8k4_419{width:12px;height:12px;color:var(--color-secondary);flex-shrink:0}._rowAvatar_lp8k4_426{background-color:var(--avatar-color);width:36px;height:36px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:relative}._onlineDot_lp8k4_441{background-color:var(--color-success);border:2px solid var(--color-surface);border-radius:50%;width:9px;height:9px;position:absolute;bottom:0;right:0}._rowBody_lp8k4_452{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}._rowTop_lp8k4_460{justify-content:space-between;align-items:center;gap:6px;display:flex}._rowName_lp8k4_467{min-width:0;font-size:var(--font-base);color:var(--color-text);flex:1;align-items:center;gap:4px;font-weight:600;display:flex}._rowTitle_lp8k4_478{line-clamp:2;-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;flex:1;min-width:0;line-height:1.3;display:-webkit-box;overflow:hidden}._rowTime_lp8k4_490{font-size:var(--font-xs);color:var(--color-text-soft);flex-shrink:0}._rowBottom_lp8k4_496{justify-content:space-between;align-items:center;gap:6px;display:flex}._rowPreview_lp8k4_503{color:var(--color-text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}._rowRole_lp8k4_511{color:var(--color-primary);font-size:9px;font-weight:600}._unread_lp8k4_517{text-align:center;border-radius:var(--radius-full);background-color:var(--color-secondary);min-width:16px;color:var(--color-on-primary);flex-shrink:0;padding:1px 6px;font-size:9.5px;font-weight:700}._view_lp8k4_530{background-color:var(--color-bg);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}._viewEmpty_lp8k4_542{text-align:center;background-color:var(--color-bg);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}._emptyIconWrap_lp8k4_553{border-radius:var(--radius-full);background-color:var(--color-surface-muted);width:64px;height:64px;color:var(--color-text-soft);justify-content:center;align-items:center;margin-bottom:16px;display:flex}._emptyTitle_lp8k4_565{font-size:var(--font-lg);color:var(--color-text);margin:0 0 8px;font-weight:700}._emptyText_lp8k4_572{font-size:var(--font-sm);color:var(--color-text-soft);max-width:250px;margin:0;line-height:1.5}._viewHead_lp8k4_580{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:11px;padding:12px 20px;display:flex}._viewAvatarWrap_lp8k4_590{flex-shrink:0;display:inline-flex;position:relative}._viewAvatar_lp8k4_590{background-color:var(--avatar-color);width:36px;height:36px;color:var(--color-on-primary);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}._viewPresenceDot_lp8k4_609{width:12px;height:12px}._viewHeadText_lp8k4_614{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}._viewIcon_lp8k4_622{border-radius:var(--radius-md);background-color:color-mix(in srgb, var(--avatar-color) 16%, transparent);width:36px;height:36px;color:var(--avatar-color);flex-shrink:0;justify-content:center;align-items:center;display:flex}._viewTitleRow_lp8k4_634{flex:1;align-items:center;gap:6px;min-width:0;display:flex}._viewTitle_lp8k4_634{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;font-size:14px;font-weight:700;overflow:hidden}._statusPill_lp8k4_653{background-color:var(--pill);color:var(--color-on-primary);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:5px;flex-shrink:0;padding:3px 7px;font-size:9px;font-weight:700}._adminBadge_lp8k4_666{background-color:var(--color-primary-10);color:var(--color-primary);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:5px;flex-shrink:0;padding:2px 7px;font-size:8.5px;font-weight:800}._viewSub_lp8k4_679{color:var(--color-text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}._headEnd_lp8k4_687{flex-shrink:0;align-items:center;gap:6px;display:flex}._memberStack_lp8k4_694{align-items:center;display:flex}._memberAvatar_lp8k4_699{border:2px solid var(--color-surface);border-radius:50%;line-height:0;display:inline-flex}._memberAvatar_lp8k4_699:not(:first-child){margin-left:-8px}._memberMore_lp8k4_710{border:2px solid var(--color-surface);background-color:var(--color-surface-muted);width:26px;height:26px;color:var(--color-text-mid);border-radius:50%;justify-content:center;align-items:center;margin-left:-8px;font-size:10px;font-weight:700;display:inline-flex}._headMenuBtn_lp8k4_725{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-mid);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}._headMenuBtn_lp8k4_725:hover{background-color:var(--color-surface-muted)}._threadWrap_lp8k4_743{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}._messages_lp8k4_535{background-color:var(--color-bg);background-image:radial-gradient(var(--color-border-strong) .5px, transparent .5px);background-size:22px 22px;flex-direction:column;flex:1;padding:20px;display:flex;overflow:hidden auto}._thread_lp8k4_743{flex-direction:column;gap:2px;margin-top:auto;display:flex}._center_lp8k4_776{place-items:center;padding:24px 0;display:grid}._olderRow_lp8k4_783{flex-shrink:0;justify-content:center;padding:4px 0 8px;display:flex}._newPill_lp8k4_791{z-index:5;border:1px solid var(--color-primary-border);border-radius:var(--radius-full);background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;box-shadow:var(--shadow-lg);align-items:center;gap:4px;padding:6px 14px;font-size:11px;font-weight:600;transition:background-color .12s;display:inline-flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}._newPill_lp8k4_791:hover{background-color:var(--color-primary-strong)}._sendFailed_lp8k4_817{align-items:center;gap:4px;display:inline-flex}._sendFailedText_lp8k4_823{opacity:.85;font-size:9.5px;font-weight:600}._retryBtn_lp8k4_829{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:9.5px;font-weight:700;text-decoration:underline}._retryBtn_lp8k4_829:hover{opacity:.85}._systemRow_lp8k4_844{justify-content:center;margin:8px 0;padding:2px 0;display:flex}._systemPill_lp8k4_851{border-radius:var(--radius-full);background-color:var(--color-surface-muted);max-width:82%;color:var(--color-text-soft);text-align:center;padding:4px 12px;font-size:11px;font-weight:500}._msgRow_lp8k4_768{justify-content:flex-start;align-items:flex-end;gap:8px;display:flex}._msgRowGroupStart_lp8k4_768{margin-top:10px}._msgRowMe_lp8k4_875{justify-content:flex-end}._msgAvatarSpacer_lp8k4_880{flex-shrink:0;width:28px}._dateSep_lp8k4_886{justify-content:center;margin:8px 0 2px;display:flex}._dateSepPill_lp8k4_892{border-radius:var(--radius-full);background-color:var(--color-surface);color:var(--color-text-soft);letter-spacing:.02em;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:3px 12px;font-size:10.5px;font-weight:600}._msgBubbleWrap_lp8k4_904{align-items:center;gap:4px;display:flex;position:relative}._msgRowMe_lp8k4_875 ._msgBubbleWrap_lp8k4_904{flex-direction:row-reverse}._reactWrap_lp8k4_915{flex-shrink:0;position:relative}._reactBtn_lp8k4_920{width:24px;height:24px;color:var(--color-text-soft);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .12s,background-color .12s;display:inline-flex}._msgRow_lp8k4_768:hover ._reactBtn_lp8k4_920{opacity:1}._reactBtn_lp8k4_920:hover{background-color:var(--color-surface-muted);color:var(--color-primary)}._reactPop_lp8k4_946{z-index:20;border-radius:var(--radius-full);background-color:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);gap:2px;max-width:calc(100vw - 32px);padding:3px;display:flex;position:absolute;bottom:calc(100% + 6px)}._reactPopRight_lp8k4_961{left:-50px;right:auto}._reactPopLeft_lp8k4_967{left:auto;right:-27px}._reactPopBtn_lp8k4_972{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:26px;font-size:15px;transition:transform .1s;display:inline-flex}._reactPopBtn_lp8k4_972:hover{background-color:var(--color-surface-muted);transform:scale(1.18)}._msgAvatar_lp8k4_880{background-color:var(--avatar-color);width:28px;height:28px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}._msgCol_lp8k4_1005{flex-direction:column;min-width:0;max-width:65%;display:flex}._msgColWithReactions_lp8k4_1012{padding-bottom:12px}._bubble_lp8k4_1016{font-size:12.5px;line-height:var(--line-body);overflow-wrap:anywhere;flex-direction:column;padding:9px 13px;display:flex;box-shadow:0 1px 3px #045d5e0f}._bubbleThem_lp8k4_1026{background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:14px 14px 14px 4px}._bubbleMe_lp8k4_1033{background-color:var(--color-primary);color:var(--color-on-primary);border-radius:14px 14px 4px}._msgAuthor_lp8k4_1039{color:var(--color-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:11px;font-weight:700;overflow:hidden}._bubbleMe_lp8k4_1033 ._msgAuthor_lp8k4_1039{color:var(--color-on-primary)}._msgText_lp8k4_1053{white-space:pre-wrap;word-break:break-word}._msgTextDeleted_lp8k4_1058{opacity:.75;font-style:italic}._msgMeta_lp8k4_1063{white-space:nowrap;flex-shrink:0;align-self:flex-end;align-items:center;gap:4px;margin-top:1px;display:inline-flex}._msgTime_lp8k4_1073{opacity:.7;font-size:9.5px;font-weight:500}._tick_lp8k4_1080{opacity:.7;align-items:center;display:inline-flex}._tickRead_lp8k4_1086{opacity:1;color:var(--color-primary-light)}._reactionPill_lp8k4_1091{z-index:2;border-radius:var(--radius-full);background-color:var(--color-surface);border:1.5px solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:2px 6px;transition:transform .12s,border-color .12s,background-color .12s;display:inline-flex;position:absolute;bottom:-11px;box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a}._reactionPill_lp8k4_1091:hover{border-color:var(--color-primary-border);background-color:var(--color-surface-muted);transform:scale(1.05)}._reactionPillActive_lp8k4_1119{background-color:var(--color-primary-10);border-color:var(--color-primary-border)}._reactionsMe_lp8k4_1124{right:14px}._reactionsThem_lp8k4_1128{left:14px}._reactionEmojis_lp8k4_1132{letter-spacing:-1.5px;align-items:center;padding-right:1.5px;font-size:11px;display:inline-flex}._reactionCount_lp8k4_1140{color:var(--color-text-mid);font-size:10px;font-weight:700;line-height:1}._reactionPillActive_lp8k4_1119 ._reactionCount_lp8k4_1140{color:var(--color-primary)}._reactionOn_lp8k4_1151:hover{background-color:var(--color-primary-10)}._composer_lp8k4_1156{background-color:var(--color-surface);border-top:1px solid var(--color-border);flex-shrink:0;align-items:flex-end;gap:6px;padding:12px 20px;display:flex}._removedComposer_lp8k4_1167{background-color:var(--color-surface-muted);border-top:1px solid var(--color-border);color:var(--color-text-soft);text-align:center;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:12.5px;display:flex}._attachTray_lp8k4_1182{background-color:var(--color-surface-muted);border-top:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;max-height:176px;padding:10px 20px;display:flex;overflow-y:auto}._attachItem_lp8k4_1195{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);flex-shrink:0;width:72px;height:72px;position:relative;overflow:hidden}._attachThumb_lp8k4_1206{object-fit:cover;width:100%;height:100%;display:block}._attachFile_lp8k4_1213{width:100%;height:100%;color:var(--color-text-soft);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px;display:flex}._attachFileName_lp8k4_1225{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;line-height:1.2;overflow:hidden}._attachRemove_lp8k4_1234{border:1px solid var(--color-border);background-color:var(--color-surface);width:18px;height:18px;color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;transition:color .12s;display:inline-flex;position:absolute;top:3px;right:3px}._attachRemove_lp8k4_1234:hover{color:var(--color-danger)}._attachAdd_lp8k4_1256{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background-color:var(--color-surface);width:72px;height:72px;color:var(--color-text-soft);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:color .12s,border-color .12s;display:inline-flex}._attachAdd_lp8k4_1256:hover{color:var(--color-primary);border-color:var(--color-primary-border)}._composerIcon_lp8k4_1278{width:38px;height:38px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:inline-flex}._composerIcon_lp8k4_1278:hover{background-color:var(--color-surface-muted);color:var(--color-primary)}._composerInput_lp8k4_1300{border:1px solid var(--color-border);background-color:var(--color-bg);min-height:40px;max-height:120px;color:var(--color-text);resize:none;border-radius:19px;outline:none;flex:1;padding:10px 16px;font-family:inherit;font-size:13px;line-height:1.4;transition:border-color .12s,box-shadow .12s}._composerInput_lp8k4_1300:focus{border-color:var(--color-primary-border);box-shadow:0 0 0 3px var(--color-primary-10)}._emojiWrap_lp8k4_1325{flex-shrink:0;position:relative}._emojiBackdrop_lp8k4_1330{z-index:15;cursor:default;background:0 0;border:none;position:fixed;inset:0}._emojiPop_lp8k4_1339{z-index:20;border-radius:var(--radius-lg);background-color:var(--color-surface);border:1px solid var(--color-border);width:224px;box-shadow:var(--shadow-lg);grid-template-columns:repeat(5,1fr);gap:2px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0}._emojiBtn_lp8k4_1355{border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;transition:background-color .1s,transform .1s;display:inline-flex}._emojiBtn_lp8k4_1355:hover{background-color:var(--color-surface-muted);transform:scale(1.12)}._sendBtn_lp8k4_1376{background-color:var(--color-primary);width:40px;height:40px;color:var(--color-on-primary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}._sendBtn_lp8k4_1376:disabled{opacity:.5;cursor:not-allowed}._memberStackBtn_lp8k4_1396{border-radius:var(--radius-full);cursor:pointer;background:0 0;border:none;padding:2px;transition:background-color .12s;display:inline-flex}._memberStackBtn_lp8k4_1396:hover{background-color:var(--color-surface-muted)}._membersBody_lp8k4_1410{flex-direction:column;gap:10px;display:flex}._unsavedBar_lp8k4_1416{border-radius:var(--radius-full);background-color:var(--color-secondary-10);color:var(--color-secondary-strong);align-self:flex-start;padding:3px 10px;font-size:11px;font-weight:700}._addMemberCta_lp8k4_1426{border-radius:var(--radius-md);background-color:var(--color-primary-05);width:100%;color:var(--color-primary);border:1px dashed var(--color-primary-border);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-size:12.5px;font-weight:700;transition:background-color .12s;display:inline-flex}._addMemberCta_lp8k4_1426:hover{background-color:var(--color-primary-10)}._membersSectionLabel_lp8k4_1447{letter-spacing:.06em;color:var(--color-text-soft);font-size:9.5px;font-weight:700}._membersList_lp8k4_1454{flex-direction:column;gap:2px;display:flex}._memberRow_lp8k4_1460{border-radius:var(--radius-md);border:1px solid #0000;align-items:center;gap:11px;padding:8px;display:flex}._memberRow_lp8k4_1460:hover{background-color:var(--color-surface-muted)}._memberRowNew_lp8k4_1473{background-color:var(--color-success-soft);border-color:color-mix(in srgb, var(--color-success) 30%, transparent)}._memberRowNew_lp8k4_1473:hover{background-color:var(--color-success-soft)}._memberRowAvatar_lp8k4_1482{background-color:var(--avatar-color);width:36px;height:36px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}._memberRowBody_lp8k4_1496{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}._memberRowName_lp8k4_1504{color:var(--color-text);flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:flex}._memberRowYou_lp8k4_1514{color:var(--color-text-soft);font-weight:500}._memberRowRole_lp8k4_1519{font-size:var(--font-xs);color:var(--color-text-soft);align-items:center;gap:6px;display:inline-flex}._memberBadgeAdmin_lp8k4_1529{letter-spacing:.04em;background-color:var(--color-secondary);color:var(--color-on-primary);border-radius:3px;padding:1px 6px;font-size:8.5px;font-weight:800}._memberBadge_lp8k4_1529{letter-spacing:.04em;background-color:var(--color-bg);color:var(--color-text-soft);border:1px solid var(--color-border);border-radius:3px;padding:1px 6px;font-size:8.5px;font-weight:700}._memberPillNew_lp8k4_1550{letter-spacing:.04em;background-color:var(--color-success);color:var(--color-on-primary);border-radius:3px;padding:1px 6px;font-size:8.5px;font-weight:800}._memberPillUp_lp8k4_1560{letter-spacing:.04em;background-color:var(--color-secondary-10);color:var(--color-secondary-strong);border:1px solid var(--color-secondary-border);border-radius:3px;padding:1px 6px;font-size:8.5px;font-weight:800}._memberPillDown_lp8k4_1571{letter-spacing:.04em;background-color:var(--color-surface-muted);color:var(--color-text-mid);border-radius:3px;padding:1px 6px;font-size:8.5px;font-weight:800}._memberRowMenuBtn_lp8k4_1581{border-radius:var(--radius-md);width:30px;height:30px;color:var(--color-text-mid);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .12s;display:inline-flex}._memberRowMenuBtn_lp8k4_1581:hover{background-color:var(--color-border);color:var(--color-text)}._removedLabel_lp8k4_1601{letter-spacing:.06em;color:var(--color-danger);padding:10px 2px 4px;font-size:9.5px;font-weight:700}._removedRow_lp8k4_1609{border-radius:var(--radius-md);background-color:var(--color-danger-soft);border:1px solid color-mix(in srgb, var(--color-danger) 25%, transparent);align-items:center;gap:11px;margin-bottom:2px;padding:8px;display:flex}._removedRow_lp8k4_1609 ._memberRowAvatar_lp8k4_1482{opacity:.6}._removedName_lp8k4_1624{color:var(--color-text);text-decoration:line-through;-webkit-text-decoration-color:var(--color-danger);text-decoration-color:var(--color-danger);font-size:12.5px;font-weight:600}._undoBtn_lp8k4_1632{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);font-size:var(--font-xs);cursor:pointer;flex-shrink:0;align-items:center;gap:5px;padding:4px 10px;font-weight:700;transition:background-color .12s;display:inline-flex}._undoBtn_lp8k4_1632:hover{background-color:var(--color-surface-muted)}._addPanel_lp8k4_1653{flex-direction:column;gap:10px;display:flex}._addPanelHead_lp8k4_1659{align-items:center;gap:8px;display:flex}._addPanelTitle_lp8k4_1665{color:var(--color-text);font-size:13px;font-weight:700}._addPanelSearch_lp8k4_1671{border-radius:var(--radius-md);background-color:var(--color-surface-muted);height:36px;color:var(--color-text-soft);align-items:center;gap:8px;padding:0 10px;display:flex}._addPanelList_lp8k4_1682{flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}._addPanelEmpty_lp8k4_1690{text-align:center;color:var(--color-text-soft);padding:20px;font-size:13px}._addMemberBtn_lp8k4_1697{border-radius:var(--radius-md);background-color:var(--color-primary-10);color:var(--color-primary);font-size:var(--font-xs);cursor:pointer;border:none;flex-shrink:0;align-items:center;gap:5px;padding:5px 12px;font-weight:700;transition:background-color .12s,transform .12s;display:inline-flex}._addMemberBtn_lp8k4_1697:hover{background-color:var(--color-primary);color:var(--color-on-primary);transform:translateY(-1px)}._newGroupBody_lp8k4_1722{flex-direction:column;gap:12px;display:flex}._staffPickRow_lp8k4_1728{border-radius:var(--radius-md);text-align:left;cursor:pointer;background-color:#0000;border:1px solid #0000;align-items:center;gap:11px;width:100%;padding:8px;transition:background-color .12s,border-color .12s;display:flex}._staffPickRow_lp8k4_1728:hover{background-color:var(--color-surface-muted)}._staffPickRow_lp8k4_1728:disabled{opacity:.6;cursor:default}._staffPickRowOn_lp8k4_1753{background-color:var(--color-primary-10);border-color:color-mix(in srgb, var(--color-primary) 30%, transparent)}._staffPickRowOn_lp8k4_1753:hover{background-color:var(--color-primary-10)}._pickCheck_lp8k4_1762{border:1.5px solid var(--color-border);width:20px;height:20px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._pickCheckOn_lp8k4_1774{background-color:var(--color-primary);border-color:var(--color-primary)}._pickerPending_lp8k4_1779{justify-content:center;padding:10px 0 2px;display:flex}@media (width<=1023px){._composer_lp8k4_1156{padding:10px 14px}}._connPill_lp8k4_1793{border-radius:var(--radius-full);background-color:var(--color-warning-soft,var(--color-primary-10));color:var(--color-text-muted);font-size:var(--font-xs);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-weight:600;display:inline-flex}._typingRow_lp8k4_1807{color:var(--color-text-muted);flex-shrink:0;align-items:center;gap:8px;padding:4px 20px 8px;display:flex}._typingText_lp8k4_1816{font-size:var(--font-xs);font-weight:500}._typingDots_lp8k4_1821{align-items:center;gap:3px;display:inline-flex}._typingDots_lp8k4_1821 span{background-color:var(--color-text-muted);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite _typingBounce_lp8k4_1}._typingDots_lp8k4_1821 span:nth-child(2){animation-delay:.18s}._typingDots_lp8k4_1821 span:nth-child(3){animation-delay:.36s}@keyframes _typingBounce_lp8k4_1{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){._typingDots_lp8k4_1821 span{animation:none}}._memberRowAvatarWrap_lp8k4_1863{flex-shrink:0;display:inline-flex;position:relative}._presenceDot_lp8k4_1869{background-color:var(--color-success);border:2px solid var(--color-surface);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}._replyPreview_lp8k4_1880{border-left:3.5px solid var(--color-secondary);background-color:var(--color-surface-muted);color:var(--color-text-soft);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;border-radius:8px;margin-bottom:3px;padding:7px 10px;font-size:11.5px;transition:opacity .15s,transform .1s;display:block}._replyPreview_lp8k4_1880:hover{opacity:.85}._replyPreview_lp8k4_1880:active{transform:scale(.99)}._bubbleMe_lp8k4_1033 ._replyPreview_lp8k4_1880{border-left-color:var(--color-secondary)}:host([data-theme=dark]) ._replyPreview_lp8k4_1880,:host([data-theme=dark]) ._bubbleMe_lp8k4_1033 ._replyPreview_lp8k4_1880{border-left-color:var(--color-on-primary)}._replyPreviewAuthor_lp8k4_1914{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;max-width:300px;margin-bottom:1px;font-size:11.5px;font-weight:600;display:block;overflow:hidden}._replyPreviewText_lp8k4_1927{white-space:nowrap;text-overflow:ellipsis;max-width:300px;font-size:11.5px;display:block;overflow:hidden}@media (width<=480px){._replyPreviewAuthor_lp8k4_1914,._replyPreviewText_lp8k4_1927{max-width:220px}}.msg-highlight-flash{animation:1.5s ease-out forwards _msgFlash_lp8k4_1}@keyframes _msgFlash_lp8k4_1{0%{background-color:#045d5e40;border-radius:12px}30%{background-color:#045d5e59;border-radius:12px}to{background-color:#0000;border-radius:12px}}._replyBar_lp8k4_1962{border-radius:var(--radius-md);background-color:var(--color-surface-muted);align-items:center;gap:8px;margin:0 12px 8px;padding:8px 10px;font-size:13px;display:flex}._replyBarText_lp8k4_1973{min-width:0;color:var(--color-text-soft);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}._replyBarClose_lp8k4_1982{color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;padding:4px}._msgMedia_lp8k4_1990{border-radius:var(--radius-md);background:var(--color-surface-muted);border:1px solid var(--color-border);object-fit:cover;cursor:pointer;max-width:260px;max-height:300px;margin-top:6px;transition:transform .2s,box-shadow .2s,filter .2s;display:block}._msgMedia_lp8k4_1990:hover{box-shadow:var(--shadow-md);filter:brightness(1.03);transform:scale(1.02)}._msgMediaLoading_lp8k4_2014,._msgMediaFallback_lp8k4_2015{border-radius:var(--radius-md);background:var(--color-surface-muted);width:240px;max-width:100%;height:140px;color:var(--color-text-soft);justify-content:center;align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}._albumGrid_lp8k4_2031{grid-template-columns:repeat(2,1fr);gap:3px;width:240px;max-width:100%;margin-top:6px;display:grid}._albumCell_lp8k4_2040{aspect-ratio:1;cursor:pointer;position:relative}._albumCell_lp8k4_2040:first-child:nth-last-child(odd){aspect-ratio:16/9;grid-column:span 2}._albumCellMedia_lp8k4_2040{border-radius:var(--radius-sm);background:var(--color-surface-muted);position:absolute;inset:0;overflow:hidden}._albumCellMedia_lp8k4_2040 img,._albumCellMedia_lp8k4_2040>div{object-fit:cover;border:none;border-radius:0;width:100%;max-width:none;height:100%;max-height:none;margin-top:0;transition:transform .25s,filter .2s}._albumCell_lp8k4_2040:hover ._albumCellMedia_lp8k4_2040 img{filter:brightness(1.05);transform:scale(1.06)}._albumCellActions_lp8k4_2085{z-index:4;border-radius:var(--radius-full);background:var(--color-overlay);opacity:0;align-items:center;gap:2px;padding:2px;transition:opacity .14s;display:flex;position:absolute;top:5px;right:5px}._albumCell_lp8k4_2040:hover ._albumCellActions_lp8k4_2085{opacity:1}._albumCellActions_lp8k4_2085 ._reactBtn_lp8k4_920{opacity:1;color:var(--color-on-primary)}._albumCellActions_lp8k4_2085 ._reactBtn_lp8k4_920:hover,._albumActionBtn_lp8k4_2111:hover{background-color:var(--color-overlay);color:var(--color-on-primary)}._albumActionBtn_lp8k4_2111{border-radius:var(--radius-full);width:24px;height:24px;color:var(--color-on-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .12s;display:inline-flex}._albumCellReactions_lp8k4_2130{z-index:4;pointer-events:auto;position:absolute;bottom:4px;left:auto;right:5px}._albumCellReactions_lp8k4_2130 ._reactionPill_lp8k4_1091{background-color:var(--color-surface);padding:1px 5px;font-size:10px;position:static;bottom:auto;left:auto;right:auto;box-shadow:0 1px 3px #00000040}._albumCellReactions_lp8k4_2130 ._reactionEmojis_lp8k4_1132{font-size:10px}._mediaButton_lp8k4_2156{cursor:pointer;background:0 0;border:none;padding:0;line-height:0;display:inline-block}._mediaButtonFill_lp8k4_2165{width:100%;height:100%;display:block}._viewerBackdrop_lp8k4_2172{z-index:200;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}._viewerScrim_lp8k4_2182{background-color:var(--color-media-scrim);cursor:zoom-out;border:none;animation:.16s _viewerFade_lp8k4_1;position:absolute;inset:0}._viewerStage_lp8k4_2191{z-index:1;color:#ffffffe6;pointer-events:none;justify-content:center;align-items:center;max-width:92vw;max-height:86vh;display:flex;position:relative}._viewerImg_lp8k4_2205{object-fit:contain;border-radius:var(--radius-md);pointer-events:auto;max-width:92vw;max-height:86vh;animation:.18s _viewerZoom_lp8k4_1;box-shadow:0 20px 60px #00000080}._viewerFallback_lp8k4_2215{color:#ffffffbf;flex-direction:column;align-items:center;gap:10px;font-size:13px;display:flex}._viewerClose_lp8k4_2224,._viewerNav_lp8k4_2225{z-index:2;color:#fff;cursor:pointer;background-color:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background-color .15s,transform .15s;display:inline-flex;position:absolute}._viewerClose_lp8k4_2224:hover,._viewerNav_lp8k4_2225:hover:not(:disabled){background-color:#ffffff3d}._viewerNav_lp8k4_2225:disabled{opacity:.35;cursor:default}._viewerClose_lp8k4_2224{width:40px;height:40px;top:20px;right:24px}._viewerNav_lp8k4_2225{width:46px;height:46px;top:50%;transform:translateY(-50%)}._viewerNav_lp8k4_2225:hover:not(:disabled){transform:translateY(-50%)scale(1.06)}._viewerNavPrev_lp8k4_2269{left:20px}._viewerNavNext_lp8k4_2273{right:20px}._viewerCount_lp8k4_2277{z-index:2;border-radius:var(--radius-full);color:#fff;background-color:#ffffff1f;padding:4px 12px;font-size:12px;font-weight:600;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@keyframes _viewerFade_lp8k4_1{0%{opacity:0}to{opacity:1}}@keyframes _viewerZoom_lp8k4_1{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}._fileCard_lp8k4_2314{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);text-align:left;cursor:pointer;align-items:center;gap:10px;width:260px;max-width:100%;margin-top:6px;padding:9px 11px;transition:background .14s,opacity .14s;display:flex}._fileCardMe_lp8k4_2332{background:var(--color-surface)}._fileCard_lp8k4_2314:hover:not(:disabled){border-color:var(--color-border-strong)}._fileCard_lp8k4_2314:disabled{cursor:default;opacity:.65}._fileCardIcon_lp8k4_2345{border-radius:var(--radius-sm);background:var(--color-bg);width:38px;height:38px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}._fileCardInfo_lp8k4_2357{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}._fileCardName_lp8k4_2365{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}._fileCardMetaLabel_lp8k4_2374{color:var(--color-text-soft);font-size:11px}._fileCardDownload_lp8k4_2379{color:var(--color-text-soft);flex-shrink:0;justify-content:center;align-items:center;display:flex}._msgActions_lp8k4_2387{opacity:0;gap:4px;margin-left:6px;transition:opacity .14s;display:inline-flex}._msgRow_lp8k4_768:hover ._msgActions_lp8k4_2387{opacity:1}._msgActionBtn_lp8k4_2399{color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11px}._msgActionBtn_lp8k4_2399:hover{color:var(--color-text)}._editedLabel_lp8k4_2412{color:var(--color-text-soft);margin-left:4px;font-size:11px;font-style:italic}._hiddenFileInput_lp8k4_2419{display:none}._viewPaneWrapper_lp8k4_2423{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}._emptyFloating1_lp8k4_2431{color:var(--color-primary-20);opacity:.35;pointer-events:none;position:absolute;top:25%;left:28%}._emptyFloating2_lp8k4_2440{color:var(--color-secondary-20);opacity:.45;pointer-events:none;position:absolute;bottom:30%;right:28%}._emptyFloating3_lp8k4_2449{color:var(--color-primary-light);opacity:.25;pointer-events:none;position:absolute;top:55%;right:32%}._backBtn_lp8k4_2458{display:none}@media (width<=1024px){._viewTitleRow_lp8k4_634{flex-wrap:wrap;gap:4px 6px}._viewTitle_lp8k4_634{flex:100%;max-width:100%}._adminBadge_lp8k4_666,._statusPill_lp8k4_653{margin-top:1px}}@media (width<=1023px){._root_lp8k4_1{flex:1!important;height:100%!important}._msgCol_lp8k4_1005{max-width:88%}._viewHead_lp8k4_580{gap:8px;padding:10px 14px}._viewTitleRow_lp8k4_634{flex-wrap:wrap;gap:4px}._root_lp8k4_1:not(._hasActiveChat_lp8k4_2499) ._viewPaneWrapper_lp8k4_2423,._root_lp8k4_1:not(._hasActiveChat_lp8k4_2499) ._viewEmpty_lp8k4_542{display:none!important}._root_lp8k4_1:not(._hasActiveChat_lp8k4_2499) ._list_lp8k4_14{flex:1!important;width:100%!important;height:100%!important;max-height:100%!important}._root_lp8k4_1._hasActiveChat_lp8k4_2499 ._list_lp8k4_14{display:none!important}._root_lp8k4_1._hasActiveChat_lp8k4_2499 ._viewPaneWrapper_lp8k4_2423,._root_lp8k4_1._hasActiveChat_lp8k4_2499 ._viewEmpty_lp8k4_542{width:100%!important;height:100%!important;display:flex!important}._backBtn_lp8k4_2458{color:var(--color-text-soft);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-right:4px;padding:6px;transition:background-color .12s;display:inline-flex}._backBtn_lp8k4_2458:hover{background-color:var(--color-surface-muted);color:var(--color-text)}}@media (width<=1280px){._composer_lp8k4_1156{align-items:center;gap:4px;padding:10px 12px}._composerIcon_lp8k4_1278{width:34px;height:34px}._composerInput_lp8k4_1300{min-height:38px;padding:9px 12px;font-size:12.5px;line-height:1.35}._sendBtn_lp8k4_1376{width:36px;height:36px}}@media (width<=768px){._composer_lp8k4_1156{align-items:center;gap:4px;padding:8px}._composerIcon_lp8k4_1278{width:32px;height:32px}._composerInput_lp8k4_1300{min-height:36px;padding:9px 12px;font-size:12px;line-height:1.35}._sendBtn_lp8k4_1376{width:34px;height:34px}}@media (width<=480px){._viewHead_lp8k4_580{gap:4px;padding:8px}._memberStack_lp8k4_694 ._memberAvatar_lp8k4_699:nth-child(n+3){display:none}._memberStack_lp8k4_694 ._memberAvatar_lp8k4_699:not(:first-child){margin-left:-12px}._composer_lp8k4_1156{align-items:center;gap:3px;padding:8px 6px}._composerIcon_lp8k4_1278{width:30px;height:30px}._composerInput_lp8k4_1300{min-height:34px;padding:8px 10px;font-size:11.5px;line-height:1.35}._sendBtn_lp8k4_1376{width:32px;height:32px}}._standardHeader_lp8k4_2630{align-items:center;gap:12px;width:100%;display:flex}._mobileSelectionHeader_lp8k4_2637{justify-content:space-between;align-items:center;gap:8px;width:100%;padding:2px 0;display:none}._selectionLeft_lp8k4_2646{flex:1;align-items:center;gap:10px;min-width:0;display:flex}._selectionTitle_lp8k4_2654{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}._selectionActions_lp8k4_2663{flex-shrink:0;align-items:center;gap:4px;display:flex}._selectionActionBtn_lp8k4_2670{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:inline-flex}._selectionActionBtn_lp8k4_2670:hover,._selectionActionBtn_lp8k4_2670:active{background-color:var(--color-primary-10);color:var(--color-primary)}._selectionActionDanger_lp8k4_2692:hover,._selectionActionDanger_lp8k4_2692:active{background-color:var(--color-error-10,#ef44441a);color:var(--color-error,#ef4444)}@media (width<=1024px){._msgActions_lp8k4_2387,._hasMobileSelection_lp8k4_2703 ._standardHeader_lp8k4_2630{display:none!important}._hasMobileSelection_lp8k4_2703 ._mobileSelectionHeader_lp8k4_2637{display:flex!important}._bubbleSelected_lp8k4_2711{outline:2px solid var(--color-primary);background-color:var(--color-primary-10)!important}}._root_1tuup_1{height:100%;min-height:0;display:flex}._list_1tuup_7{border-right:1px solid var(--color-border);background-color:var(--color-surface);flex-direction:column;flex-shrink:0;width:340px;min-height:0;display:flex}._listHead_1tuup_17{padding:16px 18px 8px}._title_1tuup_21{border-radius:var(--radius-sm);background-color:var(--color-surface-muted);width:120px;height:24px;margin-bottom:16px;animation:1.5s ease-in-out infinite _pulse_1tuup_1}._search_1tuup_30{border-radius:var(--radius-md);background-color:var(--color-surface-muted);height:36px;margin:0 14px 16px;animation:1.5s ease-in-out infinite _pulse_1tuup_1}._rows_1tuup_38{flex-direction:column;flex:1;padding:6px 0;display:flex}._row_1tuup_38{align-items:center;gap:11px;width:100%;padding:9px 18px;display:flex}._rowAvatar_1tuup_53{background-color:var(--color-surface-muted);border-radius:50%;flex-shrink:0;width:36px;height:36px;animation:1.5s ease-in-out infinite _pulse_1tuup_1}._rowBody_1tuup_62{flex-direction:column;flex:1;gap:6px;display:flex}._line_1tuup_69{background-color:var(--color-surface-muted);border-radius:var(--radius-sm);height:12px;animation:1.5s ease-in-out infinite _pulse_1tuup_1}._line_1tuup_69._medium_1tuup_76{width:60%}._line_1tuup_69._full_1tuup_80{width:90%}._view_1tuup_84{background-color:var(--color-bg);flex-direction:column;flex:1;display:flex}._viewHead_1tuup_91{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:11px;padding:12px 20px;display:flex}._messages_1tuup_100{flex-direction:column;flex:1;gap:12px;padding:20px;display:flex}._bubbleWrap_1tuup_108{align-items:flex-end;gap:8px;display:flex}._bubbleWrap_1tuup_108._me_1tuup_76{justify-content:flex-end}._bubbleAvatar_1tuup_118{background-color:var(--color-surface-muted);border-radius:50%;width:28px;height:28px;animation:1.5s ease-in-out infinite _pulse_1tuup_1}._bubble_1tuup_108{background-color:var(--color-surface-muted);border-radius:14px 14px 14px 4px;width:200px;height:40px;animation:1.5s ease-in-out infinite _pulse_1tuup_1}._bubbleWrap_1tuup_108._me_1tuup_76 ._bubble_1tuup_108{border-radius:14px 14px 4px;width:150px}._line_1tuup_69._narrow_1tuup_139{width:30%}._bubble_1tuup_108._wide_1tuup_143{width:250px}@keyframes _pulse_1tuup_1{0%,to{opacity:1}50%{opacity:.5}}@media (width<=768px){._root_1tuup_1{flex-direction:column}._list_1tuup_7{border-right:none;border-bottom:1px solid var(--color-border);width:100%}._view_1tuup_84{display:none}}._screen_bso11_1{flex-direction:column;gap:14px;width:100%;padding:24px 32px 48px;display:flex}@media (width<=640px){._screen_bso11_1{padding:16px 16px 32px}}._center_bso11_15{place-items:center;padding:40px 0;display:grid}._head_bso11_21{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}._crumb_bso11_29{color:var(--color-text-soft);font-size:11.5px}._title_bso11_34{font-size:var(--font-xl);color:var(--color-text);align-items:center;gap:8px;margin:2px 0 0;font-weight:600;display:flex}._subtitle_bso11_44{color:var(--color-text-soft);margin:4px 0 0;font-size:13px}._muted_bso11_50{color:var(--color-text-soft);font-size:12.5px}._strong_bso11_55{color:var(--color-text);font-weight:600}._code_bso11_60{color:var(--color-text-mid);font-family:ui-monospace,monospace;font-size:11.5px}._tabs_bso11_67{border-bottom:1px solid var(--color-divider);scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}._tabs_bso11_67::-webkit-scrollbar{display:none}._tab_bso11_67{color:var(--color-text-soft);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-size:12.5px;font-weight:600}._tabActive_bso11_93{color:var(--color-primary);border-bottom-color:var(--color-primary)}._filterBar_bso11_99{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}._pillsContainer_bso11_107{flex-direction:column;align-items:flex-start;gap:8px;width:100%;display:flex}._pills_bso11_107{border-radius:var(--radius-full);background-color:var(--color-surface-muted);flex-wrap:wrap;gap:4px;width:100%;padding:4px;display:flex}@media (width<=640px){._pills_bso11_107{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;overflow-x:auto}._pills_bso11_107::-webkit-scrollbar{display:none}._pill_bso11_107,._pillAdd_bso11_142{white-space:nowrap;flex-shrink:0}}._pill_bso11_107{color:var(--color-text-soft);border-radius:var(--radius-full);cursor:pointer;background:0 0;border:none;padding:6px 13px;font-size:12px;font-weight:600;transition:color .16s;position:relative}._pill_bso11_107:hover{color:var(--color-text)}._pillBg_bso11_166{border-radius:var(--radius-full);background-color:var(--color-surface);box-shadow:var(--shadow-sm);position:absolute;inset:0}._pillLabel_bso11_174{z-index:1;position:relative}._pillActive_bso11_179{color:var(--color-primary)}._pillChipActive_bso11_183{background-color:var(--color-primary-10);color:var(--color-primary);border:1px solid var(--color-primary-border)}._select_bso11_189,._input_bso11_190{height:var(--height-input);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);width:100%;padding:0 10px;font-family:inherit;font-size:13px}._select_bso11_189:focus-visible,._input_bso11_190:focus-visible{outline:2px solid var(--color-border-strong);outline-offset:0px;border-color:var(--color-border-strong)}._inputInvalid_bso11_209,._inputInvalid_bso11_209:focus-visible{border-color:var(--color-danger);outline:none}._fieldError_bso11_215{color:var(--color-danger);font-size:11.5px;font-weight:500}._select_bso11_189{width:170px;min-width:170px}._kpiRow_bso11_227{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}._kpiCard_bso11_233{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:14px 16px;display:flex}._kpiIcon_bso11_244{border-radius:var(--radius-md);width:30px;height:30px;color:var(--color-on-primary);background-color:var(--kpi-color);justify-content:center;align-items:center;display:inline-flex}._kpiValue_bso11_255{font-size:var(--font-xl);color:var(--color-text);font-weight:700}._kpiLabel_bso11_261{color:var(--color-text-soft);font-size:11.5px;font-weight:600}._tableWrap_bso11_268{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);overflow-x:auto}._table_bso11_268{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12.5px}._th_bso11_283{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-soft);background-color:var(--color-surface-muted);border-bottom:1px solid var(--color-border);padding:10px 12px;font-size:11px;font-weight:700}._row_bso11_295 td{border-bottom:1px solid var(--color-divider);color:var(--color-text);vertical-align:middle;padding:10px 12px}._row_bso11_295:hover td{background-color:var(--color-surface-muted)}._barTrack_bso11_306{border-radius:var(--radius-full);background-color:var(--color-surface-muted);width:120px;height:6px;overflow:hidden}._barFill_bso11_314{height:100%;width:var(--bar);background-color:var(--bar-color);display:block}._barLabel_bso11_321{color:var(--color-text-soft);font-size:10.5px}._pillBadge_bso11_326{border-radius:var(--radius-full);padding:2px 9px;font-size:10.5px;font-weight:700}._pillOk_bso11_333{background-color:var(--color-success-soft);color:var(--color-success)}._pillBad_bso11_326{background-color:var(--color-danger-soft);color:var(--color-danger)}._field_bso11_215{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}._label_bso11_351{color:var(--color-text-mid);font-size:12px;font-weight:600}._req_bso11_357{color:var(--color-danger);margin-left:2px}._formGrid_bso11_362{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}._swatches_bso11_368{flex-wrap:wrap;gap:6px;display:flex}._swatch_bso11_368{background-color:var(--swatch);cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px}._swatchActive_bso11_383{border-color:var(--color-text)}._checkbox_bso11_387{color:var(--color-text-mid);cursor:pointer;align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:inline-flex}._checkbox_bso11_387 input{accent-color:var(--color-primary)}._formFooter_bso11_401{justify-content:flex-end;gap:10px;padding-top:6px;display:flex}._editBtn_bso11_408,._deleteBtn_bso11_409{border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}._editBtn_bso11_408{border:1px solid var(--color-primary-20);background-color:var(--color-primary-05);color:var(--color-primary)}._deleteBtn_bso11_409{border:1px solid color-mix(in srgb, var(--color-danger) 20%, transparent);background-color:var(--color-danger-soft);color:var(--color-danger)}._prefsWrap_bso11_433,._catWrap_bso11_434,._promoWrap_bso11_435,._tplWrap_bso11_436,._guide_bso11_437,._retryList_bso11_438{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:16px;display:flex}._prefBlock_bso11_449{flex-direction:column;gap:6px;display:flex}._prefHeading_bso11_455{color:var(--color-text);margin:0 0 4px;font-size:13px;font-weight:700}._prefRow_bso11_462,._catRow_bso11_463,._promoRow_bso11_464{background-color:var(--color-surface);border-bottom:1px solid var(--color-divider);align-items:center;gap:12px;padding:14px 18px;transition:opacity .15s,box-shadow .15s;display:flex}@media (width<=640px){._promoRow_bso11_464{border-bottom:1px solid var(--color-divider);background-color:var(--color-surface);grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;align-items:center;gap:12px 10px;padding:16px;display:grid}._promoRow_bso11_464 ._dragHandle_bso11_488{grid-area:1/1}._promoRow_bso11_464 ._priorityBadge_bso11_492{grid-area:1/2}._promoRow_bso11_464 ._prefDot_bso11_496{grid-area:1/4;justify-self:end}._promoRow_bso11_464 ._promoNameBtn_bso11_501{grid-area:1/3;padding-right:4px}._promoRow_bso11_464 ._activeCheck_bso11_506{border-top:1px dashed var(--color-divider);grid-area:2/1/2/5;align-items:center;margin-top:8px;padding-top:12px;display:flex}._promoRow_bso11_464 ._editBtn_bso11_408{z-index:2;grid-area:2/1/2/5;justify-self:end;margin-top:8px;margin-right:36px}._promoRow_bso11_464 ._deleteBtn_bso11_409{z-index:2;grid-area:2/1/2/5;justify-self:end;margin-top:8px}}._promoRowDragging_bso11_531{opacity:.5}._promoRowDragOver_bso11_535{box-shadow:inset 0 2px 0 0 var(--color-primary)}._prefDot_bso11_496{background-color:var(--dot);border-radius:50%;flex-shrink:0;width:10px;height:10px}._dragHandle_bso11_488{color:var(--color-text-very-soft);cursor:grab;flex-shrink:0;align-items:center;display:inline-flex}._dragHandle_bso11_488:active{cursor:grabbing}._dragHandleOff_bso11_559{color:var(--color-border-strong);cursor:not-allowed}._prefName_bso11_564,._catLabel_bso11_565{color:var(--color-text);flex:1;font-size:13px;font-weight:600}._prefBtns_bso11_572{gap:4px;display:flex}._prefBtn_bso11_572{border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-soft);border-radius:var(--radius-md);cursor:pointer;padding:5px 10px;font-size:11.5px;font-weight:600}._prefBtnActive_bso11_588{border-color:var(--color-primary-border);background-color:var(--color-primary-10);color:var(--color-primary)}._catActions_bso11_595{justify-content:flex-end;display:flex}._catHead_bso11_600{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:4px;display:flex}@media (width<=640px){._catHead_bso11_600{flex-direction:column;align-items:stretch;gap:12px}}._webhookFilterBar_bso11_616{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}@media (width<=640px){._webhookFilterBar_bso11_616{flex-direction:column;align-items:stretch;gap:12px}._webhookFilterBar_bso11_616>button{justify-content:center;width:100%}}._catHeadDesc_bso11_636{max-width:62ch;color:var(--color-text-soft);margin:0;font-size:13px;line-height:1.5}._catList_bso11_644{flex-direction:column;display:flex}._catKey_bso11_649{color:var(--color-text-soft);border-radius:var(--radius-sm);background-color:var(--color-surface-muted);padding:2px 6px;font-family:ui-monospace,monospace;font-size:11px}._promoList_bso11_659{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}._promoList_bso11_659>div:last-child>._promoRow_bso11_464{border-bottom:none}._promoRowOff_bso11_672{opacity:.6}._reorder_bso11_676{flex-direction:column;display:flex}._reorderBtn_bso11_681{color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;padding:0;line-height:1}._priorityBadge_bso11_492{background-color:var(--cat-tint);width:24px;height:24px;color:var(--cat);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}._priorityBadgeOff_bso11_704{background-color:var(--color-surface-muted);color:var(--color-text-very-soft)}._activeCheck_bso11_506{color:var(--color-text-soft);cursor:pointer;flex-shrink:0;align-items:center;gap:6px;font-size:11.5px;display:inline-flex}._activeCheck_bso11_506 input{width:15px;height:15px;accent-color:var(--color-primary);cursor:pointer}._tplHint_bso11_726{color:var(--color-text-soft);margin:0;font-size:12px}._tplEditLayout_bso11_732{grid-template-columns:1fr minmax(280px,360px);align-items:start;gap:20px;display:grid}._tplEditForm_bso11_739{flex-direction:column;display:flex}._tplEditPreview_bso11_744{flex-direction:column;gap:12px;display:flex;position:sticky;top:12px}._tplLiveHead_bso11_752{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-soft);align-items:center;gap:7px;font-size:11px;font-weight:700;display:inline-flex}._tplMirrorHead_bso11_764{border-top:1px dashed var(--color-divider);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-soft);align-items:center;gap:7px;margin-top:10px;padding-top:14px;font-size:11px;font-weight:700;display:inline-flex}._tplLiveDot_bso11_778{background-color:var(--color-success);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite _tplPulse_bso11_1}@keyframes _tplPulse_bso11_1{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}@media (prefers-reduced-motion:reduce){._tplLiveDot_bso11_778{animation:none}}@media (width<=860px){._tplEditLayout_bso11_732{grid-template-columns:1fr}}._promoNameBtn_bso11_501{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-width:0;padding:0;display:flex}._promoNameTop_bso11_826{color:var(--color-text-very-soft);align-items:center;gap:6px;display:inline-flex}._promoName_bso11_501{color:var(--color-text);font-size:14px;font-weight:600}._promoNameOff_bso11_839{color:var(--color-text-soft);text-decoration:line-through}._promoNameMeta_bso11_844{align-items:center;gap:8px;display:inline-flex}@media (width<=640px){._promoNameMeta_bso11_844{flex-direction:column;align-items:flex-start;gap:4px}}._tplBadge_bso11_858{background-color:var(--color-primary-10);color:var(--color-primary);border-radius:4px;padding:1px 6px;font-size:10.5px;font-weight:600}._catCount_bso11_867{color:var(--color-text-soft);font-size:11px}._campaignBox_bso11_872{background-color:var(--color-bg);border-bottom:1px solid var(--color-divider);flex-direction:column;gap:10px;padding:14px 18px 16px 56px;display:flex}._promoList_bso11_659>div:last-child>._campaignBox_bso11_872{border-bottom:none}._campaignHead_bso11_885{justify-content:space-between;align-items:center;gap:12px;display:flex}._campaignHeadTitle_bso11_892{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-soft);align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}._campaignCount_bso11_903{border-radius:var(--radius-full);background-color:var(--color-surface-muted);min-width:20px;height:18px;color:var(--color-text-mid);letter-spacing:0;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}._campaignList_bso11_918{flex-direction:column;gap:6px;display:flex}._seeAll_bso11_924{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:4px 2px;font-size:12px;font-weight:600}._seeAll_bso11_924:hover{text-decoration:underline}._cpTop_bso11_940{z-index:1;background-color:var(--color-surface);border-bottom:1px solid var(--color-divider);flex-direction:column;gap:12px;padding:20px 22px 14px;display:flex;position:sticky;top:0}._cpHead_bso11_952{justify-content:space-between;align-items:baseline;gap:12px;display:flex}._cpTitle_bso11_959{font-size:var(--font-lg);color:var(--color-text);margin:0;font-weight:700}._cpCount_bso11_966{color:var(--color-text-soft);flex-shrink:0;font-size:12px;font-weight:600}._cpSearch_bso11_973{align-items:center;display:flex;position:relative}._cpSearchIcon_bso11_979{color:var(--color-text-soft);position:absolute;left:10px}._cpSearchInput_bso11_985{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);width:100%;color:var(--color-text);padding:8px 12px 8px 30px;font-size:13px}._cpList_bso11_995{flex-direction:column;gap:8px;padding:14px 22px 18px;display:flex}._cpFooter_bso11_1002{border-top:1px solid var(--color-divider);background-color:var(--color-surface);padding:14px 22px}._cpFooter_bso11_1002 button{justify-content:center;width:100%}._campaignEmpty_bso11_1013{border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-soft);background-color:var(--color-surface);margin:0;padding:12px 14px;font-size:12px}._campaignRow_bso11_1023{border-radius:var(--radius-md);border:1px solid var(--color-border);border-left:3px solid var(--cat);background-color:var(--color-surface);align-items:center;gap:10px;padding:8px 12px;display:flex}._campaignText_bso11_1034{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}._campaignTitle_bso11_1042{color:var(--color-text);font-size:12.5px;font-weight:600}._campaignSub_bso11_1048{color:var(--color-text-soft);font-size:11px}._campaignMeta_bso11_1053{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}._campaignChip_bso11_1060{border-radius:var(--radius-full);background-color:var(--color-surface-muted);color:var(--color-text);align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}._campaignChipLabel_bso11_1072{color:var(--color-text-soft);font-weight:600}._campaignAmount_bso11_1077{color:var(--color-secondary);font-size:12px;font-weight:700}._campaignBadge_bso11_1083{border-radius:var(--radius-full);background-color:var(--color-surface-muted);color:var(--color-text-mid);padding:2px 8px;font-size:10.5px;font-weight:700}._promoPreview_bso11_1092{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-md);flex-direction:column;flex-shrink:0;gap:8px;max-width:420px;padding:20px 18px 16px;display:flex;position:relative;overflow:hidden}._promoCard_bso11_1110{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);flex-shrink:0;position:relative;overflow:hidden}._promoCardHeader_bso11_1119{background-color:color-mix(in srgb, var(--cat) 3.1%, transparent);border-bottom:1px solid color-mix(in srgb, var(--cat) 8.2%, transparent);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}._promoCardStatus_bso11_1128{letter-spacing:.06em;text-transform:uppercase;color:var(--cat);align-items:center;gap:7px;font-size:9px;font-weight:700;display:inline-flex}._promoCardHeading_bso11_1139{color:var(--color-text);margin:0;font-size:15px;font-weight:700;line-height:1.25}._promoCardBody_bso11_1147{flex-direction:column;gap:4px;padding:8px 10px;display:flex}._promoItem_bso11_1154{border-radius:var(--radius-sm);background-color:var(--color-bg);border:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}._promoItemText_bso11_1165{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}._promoItemTitle_bso11_1174{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:12.5px;font-weight:600;overflow:hidden}._promoItemSub_bso11_1184{color:var(--color-text-soft);white-space:pre-wrap;width:100%;font-size:11px}._promoItemDate_bso11_1191{color:var(--color-text-very-soft);text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:11px;overflow:hidden}._promoItemBadge_bso11_1200{background-color:color-mix(in srgb, var(--cat) 7%, transparent);color:var(--cat);border-radius:6px;padding:2px 6px;font-size:9px;font-weight:700}._promoItemAmount_bso11_1209{background-color:color-mix(in srgb, var(--cat) 7%, transparent);color:var(--cat);border-radius:6px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:700}._promoViewAll_bso11_1219{border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--cat) 12.5%, transparent);width:100%;color:var(--cat);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;text-align:center;background-color:#0000;margin-top:2px;padding:7px 8px;font-size:11px;font-weight:600;overflow:hidden}._promoPreview_bso11_1092:before{content:"";background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 35%, transparent));height:4px;position:absolute;inset:0 0 auto}._promoStatus_bso11_1249{letter-spacing:.04em;color:var(--accent);font-size:10.5px;font-weight:800}._promoHeader_bso11_1256{font-size:var(--font-md);color:var(--color-text);margin:0;font-weight:700}._promoCardInner_bso11_1263{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);flex-direction:column;gap:4px;padding:12px;display:flex}._promoCardTitle_bso11_1273{color:var(--color-text);font-weight:700}._promoCardSub_bso11_1278,._promoDate_bso11_1279{color:var(--color-text-soft);font-size:12px}._promoCardFoot_bso11_1284{justify-content:space-between;align-items:center;margin-top:4px;display:flex}._promoBadge_bso11_1291{border-radius:var(--radius-full);background-color:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);padding:2px 9px;font-size:10.5px;font-weight:700}._promoAmount_bso11_1300{color:var(--color-secondary);font-weight:800}._promoCta_bso11_1305{color:var(--accent);font-size:12px;font-weight:700}._tplLayout_bso11_1312{grid-template-columns:240px 1fr;align-items:start;gap:14px;width:100%;min-width:0;display:grid}._tplList_bso11_1321{flex-direction:column;gap:6px;min-width:0;display:flex}._tplItem_bso11_1328{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);cursor:pointer;text-align:left;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}._tplItemActive_bso11_1341{border-color:var(--color-primary-border);background-color:var(--color-primary-05)}._tplDot_bso11_1346{background-color:var(--dot);border-radius:50%;flex-shrink:0;width:12px;height:12px}._tplItemText_bso11_1354{flex-direction:column;min-width:0;display:flex;overflow:hidden}._tplItemName_bso11_1361{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}._tplItemMeta_bso11_1370{color:var(--color-text-soft);font-size:10.5px}._editorPane_bso11_1375{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;width:100%;min-width:0;padding:16px;display:flex}._editorName_bso11_1388{height:var(--height-input);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);font-size:var(--font-md);width:100%;min-width:0;padding:0 10px;font-weight:700}._editorMeta_bso11_1401{flex-wrap:wrap;align-items:center;gap:14px;display:flex}._editorMetaCard_bso11_1408{flex-direction:column;gap:10px;width:100%;min-width:0;display:flex}._editorMetaCard_bso11_1408 ._input_bso11_190{width:100%;min-width:0}._iconPicker_bso11_1422{flex-wrap:wrap;gap:6px;display:flex}._iconChoice_bso11_1428{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);width:32px;height:32px;color:var(--color-text-soft);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}._iconChoice_bso11_1428:hover{border-color:var(--color-border-strong);color:var(--color-text-mid)}._iconChoiceActive_bso11_1446{border-color:var(--color-primary-border);background-color:var(--color-primary-10);color:var(--color-primary)}._intGuide_bso11_1453{border-top:1px dashed var(--color-border);margin-top:2px;padding-top:10px}._intToggle_bso11_1459{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:12.5px;font-weight:600;display:inline-flex}._intChevron_bso11_1472{transition:transform .15s}._intChevronOpen_bso11_1476{transform:rotate(180deg)}._intSteps_bso11_1480{flex-direction:column;gap:14px;margin:12px 0 0;padding:0;list-style:none;display:flex}._intStep_bso11_1480{gap:10px;display:flex}._intNum_bso11_1494{background-color:var(--color-primary-10);width:22px;height:22px;color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}._intStepBody_bso11_1508{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}._intStepTitle_bso11_1516{color:var(--color-text);font-size:12.5px;font-weight:700}._intText_bso11_1522{color:var(--color-text-soft);margin:0;font-size:12px;line-height:1.5}._intText_bso11_1522 code{background-color:var(--color-surface-muted);border-radius:var(--radius-sm);color:var(--color-text-mid);padding:1px 5px;font-family:ui-monospace,monospace;font-size:11px}._intIntro_bso11_1538{color:var(--color-text-soft);margin:12px 0 0;font-size:12px;line-height:1.5}._intList_bso11_1545{border-left:2px solid var(--color-border);color:var(--color-text-soft);flex-direction:column;gap:6px;margin:4px 0 0;padding:2px 0 2px 12px;font-size:12px;line-height:1.5;list-style:none;display:flex}._intOl_bso11_1558{color:var(--color-text-soft);flex-direction:column;gap:4px;margin:4px 0 0;padding-left:20px;font-size:12px;line-height:1.5;list-style:decimal;display:flex}._intList_bso11_1545 code,._intOl_bso11_1558 code{background-color:var(--color-surface-muted);border-radius:var(--radius-sm);color:var(--color-text-mid);padding:1px 5px;font-family:ui-monospace,monospace;font-size:11px}._registry_bso11_1581{flex-direction:column;gap:14px;display:flex}._regStats_bso11_1587{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}._regList_bso11_1593{flex-direction:column;gap:8px;display:flex}._regRow_bso11_1599{text-align:left;border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;box-shadow:var(--shadow-sm);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}._regRow_bso11_1599:hover{border-color:var(--color-border-strong)}._regRowMain_bso11_1618{flex-direction:column;gap:3px;min-width:0;display:flex}._regRowName_bso11_1625{color:var(--color-text);font-size:13px;font-weight:600}._regRowMeta_bso11_1631{color:var(--color-text-soft);font-size:11.5px}._regRowEnd_bso11_1636{flex-shrink:0;align-items:center;gap:10px;display:flex}._regRate_bso11_1643{color:var(--color-text-mid);font-size:12px;font-weight:600}._regDetail_bso11_1649{flex-direction:column;gap:14px;width:100%;padding:20px;display:flex}._regDetailHead_bso11_1657{align-items:center;gap:10px;display:flex}._regDetailTitle_bso11_1663{font-size:var(--font-md);color:var(--color-text);font-weight:700}._feedEmpty_bso11_1670{border-radius:var(--radius-md);border:1px dashed var(--color-border-strong);color:var(--color-text-soft);align-items:center;gap:12px;padding:14px;display:flex}._feedEmptyText_bso11_1680{flex:1;min-width:0}._feedEmptyTitle_bso11_1685{color:var(--color-text);margin:0 0 2px;font-size:13px;font-weight:600}._feedHead_bso11_1692{justify-content:space-between;align-items:center;gap:10px;display:flex}._feedTitle_bso11_1699{color:var(--color-text);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}._feedMeta_bso11_1708{flex-wrap:wrap;gap:4px 16px;display:flex}._feedActions_bso11_1714{justify-content:flex-end;gap:8px;display:flex}._tplPreview_bso11_1721{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:linear-gradient(180deg, var(--color-surface-muted), var(--color-surface));flex-direction:column;gap:6px;padding:14px;display:flex}._tplPreviewLabel_bso11_1731{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-soft);font-size:10.5px;font-weight:700}._tplPreviewCard_bso11_1739{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);align-items:center;gap:12px;width:100%;min-width:0;padding:10px 12px;display:flex}._tplPreviewAvatar_bso11_1752{border-radius:var(--radius-md);width:38px;height:38px;color:var(--color-on-primary);background-color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._tplPreviewText_bso11_1764{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}._tplPreviewTitleRow_bso11_1772{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}._tplPreviewTitle_bso11_1772{font-size:var(--font-md);color:var(--color-text);word-break:break-word;overflow-wrap:anywhere;min-width:0;font-weight:700}._tplPreviewPill_bso11_1789{border-radius:var(--radius-full);color:var(--accent);background-color:color-mix(in srgb, var(--accent) 14%, transparent);padding:2px 9px;font-size:10.5px;font-weight:700}._tplPreviewSub_bso11_1798{color:var(--color-text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}._fieldsHead_bso11_1806{justify-content:space-between;align-items:center;margin-top:6px;display:flex}._fieldList_bso11_1813{flex-direction:column;gap:8px;display:flex}._fieldCard_bso11_1819{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);flex-direction:column;gap:8px;padding:10px 12px;display:flex}._fieldCardMain_bso11_1829{grid-template-columns:auto 1fr 132px auto auto;align-items:center;gap:8px;display:grid}._fieldLabelInput_bso11_1836{border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface);height:32px;color:var(--color-text);width:100%;padding:0 10px;font-family:inherit;font-size:13px;font-weight:600}._fieldTypeSelect_bso11_1849{border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface);height:32px;color:var(--color-text-mid);width:100%;padding:0 8px;font-family:inherit;font-size:12px}._fieldKeyRow_bso11_1861{align-items:center;gap:8px;padding-left:30px;display:flex}._fieldKeyLabel_bso11_1868{color:var(--color-text-soft);flex-shrink:0;font-size:11px;font-weight:600}._fieldKeyInput_bso11_1875{border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface-muted);height:28px;color:var(--color-text-mid);flex:1;padding:0 8px;font-family:ui-monospace,monospace;font-size:11.5px}._iconToggle_bso11_1887{border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface);width:28px;height:28px;color:var(--color-text-soft);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}._iconToggleOn_bso11_1900{border-color:var(--color-primary-border);background-color:var(--color-primary-10);color:var(--color-primary)}._webhookBox_bso11_1906{border-radius:var(--radius-md);border:1px dashed var(--color-border-strong);flex-direction:column;gap:10px;width:100%;min-width:0;margin-top:8px;padding:12px;display:flex}._schema_bso11_1919{border-radius:var(--radius-md);background-color:var(--color-surface-muted);color:var(--color-text);white-space:pre;margin:0;padding:12px;font-family:ui-monospace,monospace;font-size:11.5px;overflow-x:auto}._retryItem_bso11_1931{border-radius:var(--radius-md);border:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}._retryInfo_bso11_1941{flex-direction:column;gap:2px;display:flex}._retryError_bso11_1947{color:var(--color-danger);font-size:11.5px}._retryActions_bso11_1952{flex-shrink:0;gap:8px;display:flex}._tplGrid_bso11_1958{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}._tplCard_bso11_1964{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;align-items:flex-start;gap:8px;padding:14px;display:flex}._tplCardHead_bso11_1976{justify-content:space-between;align-items:center;width:100%;display:flex}._tplCat_bso11_1983{color:var(--color-primary);background-color:var(--color-primary-10);border-radius:var(--radius-full);padding:2px 8px;font-size:10.5px;font-weight:700}@media (width<=1024px){._kpiRow_bso11_227{grid-template-columns:repeat(2,1fr)}._tplLayout_bso11_1312{grid-template-columns:1fr}._fieldRow_bso11_2001{grid-template-columns:auto 1fr auto auto}}@media (width<=768px){._kpiRow_bso11_227{grid-template-columns:1fr}}@media (width<=480px){._feedEmpty_bso11_1670{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}._feedEmptyText_bso11_1680{width:100%}}._tplSidebar_bso11_2026{flex-direction:column;gap:10px;display:flex}._tplLock_bso11_2032{color:var(--color-text-soft);vertical-align:-1px;margin-left:6px}._lockBadge_bso11_2038{border-radius:var(--radius-full);background-color:var(--color-primary-10);color:var(--color-primary);letter-spacing:.04em;text-transform:uppercase;align-self:flex-start;align-items:center;padding:2px 8px;font-size:9.5px;font-weight:700;display:inline-flex}._footerBtns_bso11_2052{align-items:center;gap:8px;margin-left:auto;display:flex}._copyRow_bso11_2059{align-items:stretch;gap:6px;display:flex}._copyRow_bso11_2059 ._input_bso11_190{flex:1;min-width:0}._copyBtn_bso11_2070{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:34px;color:var(--color-text-mid);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}._copyBtn_bso11_2070:hover{background-color:var(--color-primary-05);color:var(--color-primary);border-color:var(--color-primary-border)}._webhookFoot_bso11_2092{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}._testBtn_bso11_2100{border-radius:var(--radius-md);border:1px solid var(--color-primary-border);background-color:var(--color-primary-05);color:var(--color-primary);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:11.5px;font-weight:600;display:inline-flex}._testBtn_bso11_2100:hover{background-color:var(--color-primary-10)}._fieldRef_bso11_2119{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-bg);margin-top:6px;overflow:hidden}._fieldRefHead_bso11_2127{border-bottom:1px solid var(--color-divider);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-mid);align-items:center;gap:7px;padding:10px 12px;font-size:11px;font-weight:700;display:flex}._fieldRefHead_bso11_2127 svg{color:var(--color-primary)}._fieldRefHint_bso11_2144{letter-spacing:0;text-transform:none;color:var(--color-text-soft);margin-left:auto;font-size:10.5px;font-weight:500}._fieldRefList_bso11_2153{flex-direction:column;display:flex}._fieldRefItem_bso11_2158{border:none;border-top:1px solid var(--color-divider);text-align:left;cursor:pointer;background:0 0;align-items:baseline;gap:10px;padding:8px 12px;transition:background-color .12s;display:flex}._fieldRefItem_bso11_2158:first-child{border-top:none}._fieldRefItem_bso11_2158:hover{background-color:var(--color-primary-05)}._fieldRefToken_bso11_2179{color:var(--color-primary);background-color:var(--color-primary-10);border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0;padding:2px 7px;font-family:ui-monospace,monospace;font-size:11.5px;font-weight:600}._fieldRefDesc_bso11_2191{color:var(--color-text-soft);font-size:11.5px;line-height:1.4}._tokenWarn_bso11_2197{border-radius:var(--radius-md);background-color:var(--color-secondary-10);border:1px solid var(--color-secondary-border);color:var(--color-secondary-strong);align-items:flex-start;gap:7px;margin-top:10px;padding:9px 11px;font-size:11.5px;line-height:1.45;display:flex}._tokenWarn_bso11_2197 svg{flex-shrink:0;margin-top:1px}._tplEditMain_bso11_2217{flex-direction:column;gap:10px;display:flex}._tplEditSide_bso11_2223{flex-direction:column;gap:14px;display:flex}._tplEditWrap_bso11_2230{flex-direction:column;gap:6px;display:flex}._tplEditBar_bso11_2236{border-top:1px solid var(--color-divider);align-items:center;gap:12px;margin-top:8px;padding-top:14px;display:flex}._tplBarSpacer_bso11_2245{flex:1}@media (width<=640px){._tplEditBar_bso11_2236{flex-wrap:wrap;gap:8px}._tplBarSpacer_bso11_2245{flex-basis:100%;height:0;margin:0}._tplBarSpacer_bso11_2245+span{margin-left:auto}}._pillAdd_bso11_142{border:1px dashed var(--color-border-strong);color:var(--color-text-soft);border-radius:var(--radius-full);cursor:pointer;background:0 0;align-self:flex-end;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:600;transition:color .16s,border-color .16s;display:inline-flex}._pillAdd_bso11_142:hover{color:var(--color-primary);border-color:var(--color-primary-border)}._tcFieldsHead_bso11_2291{justify-content:space-between;align-items:baseline;gap:10px;margin-top:6px;margin-bottom:6px;display:flex}._tcRows_bso11_2300{flex-direction:column;gap:10px;display:flex}._tcCard_bso11_2307{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);flex-direction:column;gap:7px;padding:11px 12px;display:flex}._tcCardTop_bso11_2317{align-items:center;gap:8px;display:flex}._tcGrow_bso11_2323{min-width:0;height:var(--height-input);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);flex:1;padding:0 10px;font-family:inherit;font-size:13px;font-weight:600}._tcType_bso11_2337{height:var(--height-input);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;flex-shrink:0;padding:0 8px;font-family:inherit;font-size:12px}._tcToken_bso11_2350{border-radius:var(--radius-sm);background-color:var(--color-primary-10);max-width:100%;color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;align-self:flex-start;padding:2px 7px;font-family:ui-monospace,monospace;font-size:10.5px;overflow:hidden}._currencyWrap_bso11_2365{align-items:center;gap:6px;padding:0 10px;display:flex}._currencyPrefix_bso11_2372{color:var(--color-text-soft);flex-shrink:0;font-weight:700}._currencyInput_bso11_2378{min-width:0;height:100%;color:var(--color-text);background:0 0;border:none;flex:1;font-family:inherit;font-size:13px}._currencyInput_bso11_2378:focus-visible{outline:none}._tokenRead_bso11_2394{cursor:text;border-radius:var(--radius-sm);outline-offset:2px;white-space:pre-wrap;word-break:break-word;outline:2px solid #0000;min-height:1.3em;transition:outline-color .12s,background-color .12s;display:block}._tokenRead_bso11_2394:hover{background-color:color-mix(in srgb, var(--accent) 6%, transparent)}._tokenRead_bso11_2394:focus-visible{outline-color:var(--accent)}._tokenReadOver_bso11_2416{outline-color:var(--accent);background-color:color-mix(in srgb, var(--accent) 12%, transparent)}._tokenReadStatic_bso11_2422{cursor:default}._tokenReadStatic_bso11_2422:hover{background-color:#0000}._tokenInput_bso11_2430{border-radius:var(--radius-sm);background-color:color-mix(in srgb, var(--accent) 8%, transparent);outline:1px solid var(--accent);border:none;width:100%;padding:0 2px;font-family:inherit;display:block}._tokenPlaceholder_bso11_2441{color:var(--color-text-very-soft);font-style:italic}._tokenChip_bso11_2446{border-radius:var(--radius-full);background-color:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);white-space:nowrap;align-items:center;gap:3px;margin:0 1px;padding:1px 4px 1px 7px;font-family:ui-monospace,monospace;font-size:10.5px;font-weight:700;display:inline-flex}._tokenChipBad_bso11_2462{background-color:var(--color-danger-soft);color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 30%, transparent)}._tokenChipX_bso11_2468{background-color:color-mix(in srgb, currentColor 15%, transparent);width:14px;height:14px;color:inherit;cursor:pointer;opacity:1;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;padding:0;display:inline-flex}._tokenChipX_bso11_2468 svg{stroke:currentColor;width:9px;height:9px;display:block}._tokenChipX_bso11_2468:hover{background-color:color-mix(in srgb, currentColor 30%, transparent)}._palette_bso11_2497{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-bg);flex-direction:column;gap:12px;padding:14px;display:flex}._paletteGroup_bso11_2507{flex-direction:column;gap:7px;display:flex}._paletteGroupLabel_bso11_2513{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-soft);font-size:9.5px;font-weight:700}._paletteChips_bso11_2521{flex-direction:column;gap:5px;display:flex}._paletteChipWrap_bso11_2527{display:block}._paletteChipWrap_bso11_2527>._paletteChip_bso11_2521{width:100%}._paletteChip_bso11_2521{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);cursor:grab;text-align:left;align-items:center;gap:8px;padding:7px 9px;transition:border-color .12s,box-shadow .12s;display:flex}._paletteChip_bso11_2521:hover{border-color:var(--color-primary-border);box-shadow:var(--shadow-sm)}._paletteChip_bso11_2521:active{cursor:grabbing}._paletteGrip_bso11_2559{color:var(--color-text-very-soft);flex-shrink:0}._paletteToken_bso11_2564{border-radius:var(--radius-sm);background-color:var(--color-primary-10);color:var(--color-primary);flex-shrink:0;padding:2px 7px;font-family:ui-monospace,monospace;font-size:11px;font-weight:700}._paletteDesc_bso11_2575{color:var(--color-text-soft);font-size:11px;line-height:1.35}._paletteHint_bso11_2581{font-size:var(--font-xs);color:var(--color-text-soft);margin:2px 0 0}._simMemberRow_bso11_2588{align-items:center;gap:8px;margin-bottom:6px;display:flex}._simMemberRemove_bso11_2595{border:1px solid var(--color-border);background:var(--color-surface);width:34px;height:34px;color:var(--color-danger,#dc2626);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._signatureContainer_bso11_2610{margin-top:12px;margin-bottom:12px;padding:8px 0}._signatureLabel_bso11_2616{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:flex}._signatureCheckbox_bso11_2624{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;margin:0}._signatureText_bso11_2633{flex-direction:column;gap:2px;display:flex}._signatureTitle_bso11_2639{color:var(--color-text);font-size:14px;font-weight:600;line-height:1.25}._signatureDesc_bso11_2646{color:var(--color-text-soft);font-size:12px}._usageSearch_bso11_2653{flex:220px;align-items:center;max-width:320px;display:flex;position:relative}._usageSearchIcon_bso11_2661{color:var(--color-text-soft);pointer-events:none;position:absolute;left:10px}._usageSearchInput_bso11_2668{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:100%;color:var(--color-text);padding:8px 10px 8px 32px;font-size:13px}._usageSearchInput_bso11_2668:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}._overlay_1agsz_5{z-index:200;pointer-events:none;position:fixed;inset:0}._card_1agsz_12{pointer-events:auto;border-radius:var(--radius-xl,22px);background-color:var(--color-surface);border:1px solid var(--color-border);width:min(340px,100vw - 40px);box-shadow:var(--shadow-lg);flex-direction:column;gap:14px;padding:16px 18px;display:flex;position:absolute;bottom:20px;left:20px}._draggable_1agsz_30{cursor:grab;touch-action:none}._draggable_1agsz_30:active{cursor:grabbing}._head_1agsz_40{align-items:center;gap:14px;display:flex}._info_1agsz_46{flex-direction:column;gap:2px;min-width:0;display:flex}._avatarRing_1agsz_53{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:relative}._avatarRingPulse_1agsz_65:before,._avatarRingPulse_1agsz_65:after{content:"";border:2px solid var(--avatar-color,var(--color-primary));opacity:0;border-radius:50%;animation:2s cubic-bezier(.4,0,.2,1) infinite _callPulse_1agsz_1;position:absolute;inset:0}._avatarRingPulse_1agsz_65:after{animation-delay:1s}@keyframes _callPulse_1agsz_1{0%{opacity:.6;transform:scale(.9)}to{opacity:0;transform:scale(1.5)}}._avatar_1agsz_53{background-color:var(--avatar-color,var(--color-primary));color:#fff;letter-spacing:.02em;z-index:1;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:19px;font-weight:700;display:flex;box-shadow:0 4px 14px #0000002e}._name_1agsz_107{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;line-height:1.25;overflow:hidden}._status_1agsz_117{color:var(--color-text-soft);font-size:13px;font-weight:500}._timer_1agsz_123{font-variant-numeric:tabular-nums;color:var(--color-text-mid);font-size:14px;font-weight:600}._actions_1agsz_130{justify-content:flex-end;align-items:center;gap:14px;display:flex}._btn_1agsz_137{cursor:pointer;color:#fff;width:46px;height:46px;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 6px 16px #0000002e}._btn_1agsz_137:hover{transform:translateY(-2px)scale(1.04);box-shadow:0 10px 22px #00000038}._btn_1agsz_137:active{transform:scale(.95)}._accept_1agsz_163{background-color:var(--color-success,#16a34a);animation:1.4s ease-in-out infinite _acceptBob_1agsz_1}@keyframes _acceptBob_1agsz_1{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}._decline_1agsz_178{background-color:var(--color-danger,#dc2626)}._mute_1agsz_182{background-color:var(--color-surface-muted);width:42px;height:42px;color:var(--color-text-mid);border:1px solid var(--color-border);box-shadow:none}._muteOn_1agsz_191{background-color:var(--color-text);color:var(--color-surface);border-color:var(--color-text)}@media (prefers-reduced-motion:reduce){._avatarRingPulse_1agsz_65:before,._avatarRingPulse_1agsz_65:after,._accept_1agsz_163{animation:none}}._popped_1agsz_208{pointer-events:auto;position:static}._popped_1agsz_208 ._card_1agsz_12{width:auto;height:100vh;box-shadow:none;border:none;border-radius:0;justify-content:center;position:static}._popOut_1agsz_224{width:28px;height:28px;color:var(--color-text-muted,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._popOut_1agsz_224:hover{background-color:var(--color-surface-hover,#0000000f);color:var(--color-text)}._callBtn_1q44j_1{border:1px solid var(--color-border);background-color:var(--color-surface);width:36px;height:36px;color:var(--color-primary);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}._callBtn_1q44j_1:hover:not(:disabled){background-color:var(--color-primary-10);border-color:var(--color-primary-border)}._callBtn_1q44j_1:disabled{opacity:.5;cursor:not-allowed}._card_1bdwl_1{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);text-align:left;cursor:pointer;appearance:none;width:100%;max-width:320px;margin-top:8px;padding:0;font-family:inherit;transition:border-color .2s,box-shadow .2s,transform .2s;display:block;overflow:hidden;box-shadow:0 2px 4px #0000000a}._card_1bdwl_1:hover,._card_1bdwl_1:focus-visible{border-color:var(--color-primary-40);outline:none;box-shadow:0 4px 12px #00000014}._header_1bdwl_29{background:var(--color-primary-05);border-bottom:1px solid var(--color-border);color:var(--color-primary);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:6px;padding:8px 14px;font-size:10px;font-weight:700;display:flex}._body_1bdwl_43{padding:14px}._authorRow_1bdwl_47{align-items:center;gap:10px;margin-bottom:10px;display:flex}._avatar_1bdwl_54{background:var(--avatar-color,var(--color-primary));width:26px;height:26px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}._authorInfo_1bdwl_68{flex:1;min-width:0}._authorName_1bdwl_73{color:var(--color-text);font-size:12px;font-weight:600;line-height:1.2}._category_1bdwl_80{color:var(--cat-color,var(--color-text-soft));align-items:center;gap:5px;margin-top:3px;font-size:10.5px;font-weight:600;display:inline-flex}._catDot_1bdwl_90{background:var(--cat-color,var(--color-text-soft));border-radius:50%;width:6px;height:6px}._title_1bdwl_97{color:var(--color-text);margin-bottom:6px;font-size:14px;font-weight:600;line-height:1.4}._snippet_1bdwl_105{color:var(--color-text-mid);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}._footer_1bdwl_116{border-top:1px solid var(--color-border);color:var(--color-primary);align-items:center;gap:4px;margin-top:12px;padding-top:10px;font-size:12px;font-weight:600;transition:color .2s;display:flex}._card_1bdwl_1:hover ._footer_1bdwl_116{color:var(--color-primary-dark,var(--color-primary))}:host{contain:layout style;height:100%;min-height:24rem;display:block}:host .commhub-widget-root{height:100%;font-family:var(--font-sans);font-size:var(--font-base);font-variant:normal;font-style:normal;font-weight:400;font-stretch:100%;line-height:var(--line-body);letter-spacing:-.01em;word-spacing:normal;text-align:start;text-indent:0;text-transform:none;text-shadow:none;white-space:normal;word-break:normal;overflow-wrap:normal;tab-size:4;color:var(--color-text);visibility:visible;opacity:1;writing-mode:horizontal-tb;cursor:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"cv05", "cv11", "ss01";direction:ltr;list-style:none;display:block;overflow-y:auto;container-type:inline-size}:host{--color-primary:#045d5e;--color-primary-strong:#033f40;--color-primary-light:#067a7b;--color-primary-30:#045d5e2e;--color-primary-20:#045d5e1f;--color-primary-10:#045d5e0f;--color-primary-05:#045d5e09;--color-primary-border:#045d5e38;--color-on-primary:#fff;--color-secondary:#fc7300;--color-secondary-strong:#e16500;--color-secondary-30:#fc730033;--color-secondary-20:#fc73001f;--color-secondary-10:#fc730012;--color-secondary-border:#fc73004d;--color-bg:#f8fafc;--color-surface:#fff;--color-surface-muted:#f1f5f9;--color-off-hours:#f4f6f9;--color-text:#0f172a;--color-text-mid:#475569;--color-text-soft:#64748b;--color-text-muted:#64748b;--color-text-very-soft:#94a3b8;--color-border:#0f172a0f;--color-border-strong:#0f172a1a;--color-divider:#0f172a0a;--shadow-sm:0 1px 2px #0f172a0a, 0 1px 1px #0f172a08;--shadow-md:0 2px 4px #0f172a0a, 0 8px 18px #0f172a12;--shadow-lg:0 4px 10px #0f172a0d, 0 18px 44px #0f172a1a;--color-success:#10b981;--color-success-strong:#15803d;--color-success-soft:#10b98114;--color-danger:#ef4444;--color-danger-strong:#b91c1c;--color-danger-soft:#ef44440f;--color-warn:#f59e0b;--color-warn-soft:#f59e0b14;--color-focus:#3b82f6;--color-overlay:#0f172a73;--color-media-scrim:#090c10eb;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-xs:11.5px;--font-sm:13px;--font-base:14px;--font-md:15px;--font-lg:19px;--font-xl:24px;--font-2xl:30px;--line-body:1.55;--line-tight:1.28;--tracking-tight:-.02em;--tracking-tighter:-.03em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:16px;--radius-full:999px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.14s;--dur-base:.2s;--dur-slow:.32s;--height-btn:36px;--height-input:40px;--height-row:52px;--height-nav:42px;--badge-h:20px;--badge-font:11px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:host(:not([data-theme=light])){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:#3fb5b7;--color-primary-strong:#2d9799;--color-primary-light:#67d4d6;--color-primary-30:#3fb5b747;--color-primary-20:#3fb5b72e;--color-primary-10:#3fb5b71a;--color-primary-05:#3fb5b70f;--color-primary-border:#3fb5b752;--color-secondary:#ff8a2e;--color-secondary-strong:#e16500;--color-secondary-30:#ff8a2e4d;--color-secondary-20:#ff8a2e2e;--color-secondary-10:#ff8a2e1f;--color-secondary-border:#ff8a2e61;--color-bg:#0f1517;--color-surface:#1a2226;--color-surface-muted:#222c30;--color-off-hours:#11181b;--color-text:#e8edef;--color-text-mid:#a8b5bd;--color-text-soft:#7c8a92;--color-text-muted:#7c8a92;--color-text-very-soft:#536069;--color-border:#ffffff12;--color-border-strong:#ffffff21;--color-divider:#ffffff0a;--shadow-sm:0 1px 2px #0000004d, 0 1px 1px #0003;--shadow-md:0 2px 4px #0000004d, 0 8px 18px #0006;--shadow-lg:0 4px 10px #00000059, 0 18px 44px #00000080;--color-success:#34d399;--color-success-soft:#34d3991f;--color-danger:#f87171;--color-danger-soft:#f871711f;--color-warn:#fbbf24;--color-warn-soft:#fbbf241f}}:host([data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:#3fb5b7;--color-primary-strong:#2d9799;--color-primary-light:#67d4d6;--color-primary-30:#3fb5b747;--color-primary-20:#3fb5b72e;--color-primary-10:#3fb5b71a;--color-primary-05:#3fb5b70f;--color-primary-border:#3fb5b752;--color-secondary:#ff8a2e;--color-secondary-strong:#e16500;--color-secondary-30:#ff8a2e4d;--color-secondary-20:#ff8a2e2e;--color-secondary-10:#ff8a2e1f;--color-secondary-border:#ff8a2e61;--color-bg:#0f1517;--color-surface:#1a2226;--color-surface-muted:#222c30;--color-off-hours:#11181b;--color-text:#e8edef;--color-text-mid:#a8b5bd;--color-text-soft:#7c8a92;--color-text-muted:#7c8a92;--color-text-very-soft:#536069;--color-border:#ffffff12;--color-border-strong:#ffffff21;--color-divider:#ffffff0a;--shadow-sm:0 1px 2px #00000040;--shadow-md:0 4px 12px #00000059;--shadow-lg:0 12px 32px #00000073;--color-success:#34d399;--color-success-soft:#34d3991f;--color-danger:#f87171;--color-danger-soft:#f871711f;--color-warn:#fbbf24;--color-warn-soft:#fbbf241f}:host,*{box-sizing:border-box}:host,.commhub-widget-root{height:100%}.route-fallback{place-items:center;min-height:100vh;display:grid}.content-fallback{place-items:center;height:100%;min-height:240px;display:grid}:host{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);font-size:var(--font-base);line-height:var(--line-body);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"cv05", "cv11", "ss01";margin:0}::selection{background-color:var(--color-primary-20);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}:host,*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--color-border-strong);border-radius:var(--radius-full);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-very-soft)}@media (width<=768px){:host{--height-btn:44px;--height-input:44px;--height-nav:56px}}._notice_184jj_6{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0;padding:16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.5}._title_184jj_23{margin-bottom:4px;font-weight:600;display:block}._detail_184jj_29{word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}._floatingWidget_933j8_1{z-index:120;border-radius:var(--radius-lg,14px);background:var(--color-surface,#fff);border:1px solid var(--color-border,#0f172a1f);box-shadow:var(--shadow-lg,0 10px 25px -5px #00000026);color:var(--color-text,#0f172a);align-items:center;gap:14px;padding:10px 16px;display:flex;position:fixed;bottom:24px;right:24px}._floatingInfo_933j8_17{flex-direction:column;gap:2px;min-width:140px;max-width:220px;display:flex}._floatingTitle_933j8_25{color:var(--color-text,#0f172a);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}._floatingStatus_933j8_34{color:var(--color-success,#10b981);align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}._statusDot_933j8_43{background-color:var(--color-success,#10b981);border-radius:50%;width:7px;height:7px;animation:1.8s ease-in-out infinite _pulse_933j8_1}@keyframes _pulse_933j8_1{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(1.2)}}._floatingActions_933j8_63{align-items:center;gap:6px;display:flex}._room_118cm_1{background:var(--color-surface,#0b1220);border-radius:12px;width:100%;height:100%;min-height:72vh;display:flex;position:relative;overflow:hidden}._center_118cm_12{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;min-height:60vh;display:flex}._topBar_118cm_25{z-index:20;pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;top:12px;left:12px}._clockChip_118cm_38{border-radius:var(--radius-full);color:#fff;font-variant-numeric:tabular-nums;background-color:#0000008c;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}._clockWarn_118cm_51{background-color:var(--color-warn);color:#1a1a1a}._clockDanger_118cm_56{background-color:var(--color-danger);color:#fff}._clockButton_118cm_62{pointer-events:auto;cursor:pointer;font:inherit;border:0}._extendChoices_118cm_69{flex-wrap:wrap;gap:8px;display:flex}._meetingOverlay_1ykdp_1{z-index:90;background:var(--color-bg);position:absolute;inset:0}._meetingTakeover_1ykdp_12{z-index:1000;position:fixed}._meetingHidden_1ykdp_18{visibility:hidden;pointer-events:none;width:0;height:0;position:fixed;overflow:hidden}._scope_p8b6f_6{display:contents}._screen_19h5l_1{flex-direction:column;min-height:100%;display:flex}._toolbar_19h5l_8{background-color:var(--color-surface);border-bottom:1px solid var(--color-divider);padding:14px 0}._toolbarContainer_19h5l_14{gap:22px;width:100%;max-width:1080px;margin:0 auto;padding:0 20px;display:flex}._search_19h5l_23{flex:720px;width:100%;min-width:0;max-width:720px;position:relative}._toolbarRailSpacer_19h5l_31{flex-shrink:0;width:330px}._searchIcon_19h5l_36{color:var(--color-text-soft);position:absolute;top:50%;left:13px;transform:translateY(-50%)}._searchInput_19h5l_44{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);width:100%;color:var(--color-text);outline:none;padding:10px 14px 10px 36px;font-size:13px}._searchInput_19h5l_44:focus{border-color:var(--color-primary-border)}._textareaError_19h5l_59,._commentComposerError_19h5l_60,._shareCommentError_19h5l_61{border-color:var(--color-danger)!important;border-radius:var(--radius-md)!important;box-shadow:inset 0 0 0 1.5px var(--color-danger), 0 0 8px #ef444440!important}._wrapper_19h5l_70{align-items:flex-start;gap:22px;width:100%;max-width:1080px;margin:0 auto;padding:22px 20px 48px;display:flex}._column_19h5l_80{flex-direction:column;flex:720px;gap:16px;width:100%;min-width:0;max-width:720px;display:flex}._rail_19h5l_91{flex-direction:column;flex-shrink:0;align-self:flex-start;width:330px;max-height:calc(100vh - 130px);display:flex;position:sticky;top:22px}._railHead_19h5l_102{justify-content:space-between;align-items:center;padding:2px 4px 10px;display:flex}._railHeadTitle_19h5l_109{font-size:var(--font-xs);color:var(--color-text-soft);letter-spacing:.08em;align-items:center;gap:6px;font-weight:700;display:inline-flex}._railHeadTitle_19h5l_109 svg{color:var(--color-secondary)}._railSeeAll_19h5l_123{color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;font-size:11px;font-weight:600}._railList_19h5l_132{flex-direction:column;flex:1;gap:12px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}._cardBody_19h5l_142{white-space:pre-wrap;word-break:break-word;color:var(--color-text-body);margin:0;font-size:14px;line-height:1.6}._seeMoreBtn_19h5l_151{color:var(--color-primary);cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0;font-size:14px;font-weight:600}._seeMoreBtn_19h5l_151:hover{text-decoration:underline}._railFoot_19h5l_166{border-top:1px solid var(--color-divider);font-size:var(--font-xs);color:var(--color-text-very-soft);text-align:center;flex-shrink:0;margin-top:8px;padding-top:8px}._missed_19h5l_177{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:12px 14px}._missedHead_19h5l_184{align-items:center;gap:9px;margin-bottom:10px;padding:0 2px;display:flex}._missedSpark_19h5l_192{color:var(--color-primary)}._missedTitle_19h5l_196{font-size:var(--font-xs);color:var(--color-text);letter-spacing:.1em;font-weight:700}._missedBadge_19h5l_203{background-color:var(--color-primary-10);color:var(--color-primary);border-radius:var(--radius-full);padding:1px 7px;font-size:9.5px;font-weight:700}._missedScroller_19h5l_212{position:relative}._missedScrollerFade_19h5l_217 ._missedTrack_19h5l_217{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 26px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 26px),#0000)}._missedTrack_19h5l_217{scroll-snap-type:x mandatory;gap:10px;padding:4px 2px 10px;display:flex;overflow-x:auto}._missedNav_19h5l_229{z-index:2;border:1px solid var(--color-border);background-color:var(--color-surface);width:30px;height:30px;color:var(--color-text-mid);box-shadow:var(--shadow-md);cursor:pointer;opacity:0;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s,background-color .15s,color .15s,border-color .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}._missedScroller_19h5l_212:hover ._missedNav_19h5l_229,._missedScroller_19h5l_212:focus-within ._missedNav_19h5l_229{opacity:1}._missedNav_19h5l_229:hover{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}._missedNavLeft_19h5l_264{left:-6px}._missedNavRight_19h5l_268{right:-6px}._missedCard_19h5l_272{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);scroll-snap-align:start;flex-shrink:0;width:280px;padding:11px 12px}._missedCardTop_19h5l_282{align-items:center;gap:6px;margin-bottom:7px;display:flex}._missedDot_19h5l_289{background-color:var(--dot);border-radius:50%;flex-shrink:0;width:6px;height:6px}._missedCat_19h5l_297{color:var(--color-text-mid);letter-spacing:.02em;font-size:9.5px;font-weight:600}._missedTime_19h5l_304{font-size:var(--font-xs);color:var(--color-text-soft);margin-left:auto;margin-right:24px}._missedSummary_19h5l_311{color:var(--color-text);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0 0 8px;font-size:11.5px;line-height:1.5;display:-webkit-box;overflow:hidden}._missedFoot_19h5l_323{justify-content:space-between;align-items:center;display:flex}._missedCta_19h5l_329{font-size:var(--font-xs);color:var(--color-primary);align-items:center;gap:3px;font-weight:700;display:inline-flex}._missedPriority_19h5l_338{color:var(--color-primary);background-color:var(--color-primary-05);border:1px solid var(--color-primary-30);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;align-items:center;gap:3px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-flex}._compChips_19h5l_354{flex-wrap:wrap;gap:6px;padding:0 16px 8px;display:flex}._compChip_19h5l_354{border-radius:var(--radius-full);background-color:var(--color-bg);border:1px solid var(--color-border);font-size:var(--font-xs);color:var(--color-text);align-items:center;gap:4px;padding:3px 9px;font-weight:600;display:inline-flex}._actionBar_19h5l_374{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);justify-content:space-between;align-items:center;gap:8px;margin:0 16px 12px;padding:8px 12px;display:flex}._actionBarLabel_19h5l_386{color:var(--color-text-mid);font-size:11.5px;font-weight:600}._actionBarBtns_19h5l_392{gap:2px;display:flex}._actionIcon_19h5l_397{width:32px;height:32px;color:var(--color-text-mid);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;display:flex}._actionIcon_19h5l_397:hover{background-color:var(--color-bg)}._actionIconActive_19h5l_414{background-color:var(--color-primary-05);color:var(--color-primary)}._sheet_19h5l_419{border-radius:var(--radius-md);background-color:var(--color-bg);border:1px solid var(--color-border);margin:0 16px 12px;padding:12px 14px}._sheetHead_19h5l_427{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}._sheetLabel_19h5l_435{font-size:var(--font-xs);color:var(--color-text-mid);letter-spacing:.06em;text-transform:uppercase;font-weight:700}._sheetClose_19h5l_443{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}._sheetClose_19h5l_443:hover{background-color:var(--color-surface-muted);color:var(--color-text)}._sheetChips_19h5l_465{flex-wrap:wrap;gap:6px;display:flex}._catChip_19h5l_471{border-radius:var(--radius-full);font-size:var(--font-xs);background-color:color-mix(in srgb, var(--chip) 10%, transparent);color:var(--chip);border:1px solid color-mix(in srgb, var(--chip) 30%, transparent);cursor:pointer;letter-spacing:.03em;padding:5px 11px;font-weight:700}._catChipOn_19h5l_483{background-color:var(--chip);color:var(--color-on-primary)}._feelGrid_19h5l_488{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}._feelBtn_19h5l_494{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-mid);cursor:pointer;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;font-size:10.5px;font-weight:600;display:flex}._feelBtnOn_19h5l_509{border-color:var(--color-primary-border);background-color:var(--color-primary-10);color:var(--color-primary)}._feelEmoji_19h5l_515{font-size:20px}._photoInput_19h5l_519{display:none}._photoZone_19h5l_523{border-radius:var(--radius-md);margin:0 16px 24px}._photoZoneDrag_19h5l_528{outline:2px dashed var(--color-primary);outline-offset:3px}._dropzone_19h5l_533{border-radius:var(--radius-md);border:1.5px dashed var(--color-border-strong);background-color:var(--color-surface);cursor:pointer;flex-direction:column;align-items:center;gap:4px;width:100%;padding:22px 16px;transition:border-color .15s,background-color .15s;display:flex}._dropzone_19h5l_533:hover{border-color:var(--color-primary);background-color:var(--color-primary-05)}._dropIcon_19h5l_554{background-color:var(--color-primary-10);width:40px;height:40px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:2px;display:flex}._dropTitle_19h5l_566{color:var(--color-text);font-size:12.5px;font-weight:600}._dropHint_19h5l_572{font-size:var(--font-xs);color:var(--color-text-soft)}._photoGrid_19h5l_577{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}._photoThumb_19h5l_584{aspect-ratio:1;border-radius:var(--radius-md);border:1px solid var(--color-border);position:relative;overflow:hidden}._photoImg_19h5l_592{object-fit:cover;width:100%;height:100%;display:block}._photoRemove_19h5l_599{color:#fff;cursor:pointer;background-color:#0d1f1f8c;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:5px;right:5px}._photoRemove_19h5l_599:hover{background-color:#0d1f1fc7}._photoAddMore_19h5l_619{aspect-ratio:1;border-radius:var(--radius-md);border:1.5px dashed var(--color-border-strong);background-color:var(--color-surface);color:var(--color-text-soft);cursor:pointer;justify-content:center;align-items:center;transition:border-color .15s,color .15s,background-color .15s;display:flex}._photoAddMore_19h5l_619:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-primary-05)}._mobilePromoTrigger_19h5l_642{display:none}@keyframes _promoPulseGlow_19h5l_1{0%{box-shadow:0 0 #00909f73,0 8px 24px #00000059}70%{box-shadow:0 0 0 12px #00909f00,0 8px 24px #00000059}to{box-shadow:0 0 #00909f00,0 8px 24px #00000059}}@keyframes _promoShimmer_19h5l_758{0%{transform:translate(-120%)rotate(25deg)}20%,to{transform:translate(180%)rotate(25deg)}}@keyframes _sparkleTwinkle_19h5l_1{0%,to{opacity:.9;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.18)rotate(12deg)}}@media (width<=1024px){._rail_19h5l_91,._toolbarRailSpacer_19h5l_31{display:none}._mobilePromoTrigger_19h5l_642{z-index:90;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(14px);color:#fff;letter-spacing:-.01em;cursor:pointer;background:linear-gradient(135deg,#095e5ff2,#00909ffa);border:1px solid #ffffff47;align-items:center;gap:0;min-width:44px;max-width:44px;height:44px;padding:9px;font-size:13px;font-weight:600;transition:bottom .22s cubic-bezier(.22,1,.36,1),max-width .35s cubic-bezier(.16,1,.3,1),padding .35s cubic-bezier(.16,1,.3,1),gap .35s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;animation:3s infinite _promoPulseGlow_19h5l_1;display:inline-flex;position:fixed;bottom:24px;right:20px;overflow:hidden;box-shadow:0 4px 16px #00000040}@media (width<=425px){._mobilePromoTrigger_19h5l_642{bottom:76px}._mobilePromoTriggerBarHidden_19h5l_739{bottom:20px}}._mobilePromoTrigger_19h5l_642:hover,._mobilePromoExpanded_19h5l_745{background:linear-gradient(135deg,#0b797afa,#00a8ba);border-color:#ffffff73;gap:10px;max-width:230px;padding-right:16px;transform:translateY(-3px)scale(1.02)}._mobilePromoTrigger_19h5l_642:active{transform:translateY(0)scale(.97)}._promoShimmerSweep_19h5l_758{pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff59,#0000);width:40%;height:200%;animation:4s ease-in-out infinite _promoShimmer_19h5l_758;position:absolute;top:-50%;left:-50%}._promoIconWrap_19h5l_774{border-radius:var(--radius-full);color:#ffd166;background:#ffffff2e;border:1px solid #ffffff40;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}._sparkleIcon_19h5l_787{animation:2.5s ease-in-out infinite _sparkleTwinkle_19h5l_1}._promoBtnText_19h5l_791{color:#fff;text-shadow:0 1px 2px #0003;white-space:nowrap;opacity:0;max-width:0;font-weight:600;transition:opacity .28s,max-width .35s cubic-bezier(.16,1,.3,1);overflow:hidden}._mobilePromoTrigger_19h5l_642:hover ._promoBtnText_19h5l_791,._mobilePromoExpanded_19h5l_745 ._promoBtnText_19h5l_791{opacity:1;max-width:180px}._mobilePromoBadge_19h5l_810{border-radius:var(--radius-full);color:#fff;letter-spacing:0;background:linear-gradient(135deg,#f37321,#ff9f1c);justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:11px;font-weight:800;display:inline-flex;box-shadow:0 2px 8px #f3732166}}._promoPopoverOverlay_19h5l_827{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:#000000a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}._promoPopoverCard_19h5l_839{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:440px;max-height:85vh;box-shadow:var(--shadow-xl);flex-direction:column;display:flex;position:relative;overflow:hidden}._popoverHeader_19h5l_853{text-align:center;flex-direction:column;align-items:center;padding:28px 24px 16px;display:flex;position:relative}._popoverCloseX_19h5l_862{color:var(--color-text-soft);cursor:pointer;border-radius:var(--radius-full);transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex;position:absolute;top:16px;right:16px}._popoverCloseX_19h5l_862:hover{background-color:var(--color-surface-muted);color:var(--color-text)}._popoverBadgeIcon_19h5l_883{border-radius:var(--radius-full);background-color:var(--color-primary-10);width:56px;height:56px;color:var(--color-primary);justify-content:center;align-items:center;margin-bottom:14px;display:flex}._popoverTitleRow_19h5l_895{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-bottom:6px;display:flex}._popoverTitle_19h5l_895{color:var(--color-text);margin:0;font-size:18px;font-weight:700}._popoverSeeAllBtn_19h5l_911{background-color:var(--color-primary-10);color:var(--color-primary);border:1px solid color-mix(in srgb, var(--color-primary) 20%, transparent);border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);padding:3px 10px;font-size:11px;font-weight:700}._popoverSeeAllBtn_19h5l_911:hover{background-color:var(--color-primary-20,#00000026)}._popoverSub_19h5l_927{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.4}._popoverContent_19h5l_934{flex-direction:column;flex:1;gap:14px;padding:12px 24px 24px;display:flex;overflow-y:auto}._popoverEmpty_19h5l_943{text-align:center;color:var(--color-text-muted);padding:20px 0;font-size:13px}._railList_19h5l_132{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}._railList_19h5l_132::-webkit-scrollbar{width:6px}._railList_19h5l_132::-webkit-scrollbar-thumb{background-color:var(--color-border-strong);border-radius:var(--radius-full)}._railList_19h5l_132::-webkit-scrollbar-track{background:0 0}._missedTrack_19h5l_217{scrollbar-width:none}._missedTrack_19h5l_217::-webkit-scrollbar{display:none}._missedCard_19h5l_272{transition:transform .18s,border-color .18s,box-shadow .18s;position:relative}._missedCard_19h5l_272:hover{border-color:var(--color-primary-30);transform:translateY(-1px);box-shadow:0 4px 14px #045d5e14}._missedClose_19h5l_992{background:var(--color-surface-muted);width:20px;height:20px;color:var(--color-text-soft);cursor:pointer;opacity:.6;border:none;border-radius:5px;justify-content:center;align-items:center;transition:opacity .15s,background-color .15s,color .15s;display:flex;position:absolute;top:6px;right:6px}._missedCard_19h5l_272:hover ._missedClose_19h5l_992{opacity:1}._missedClose_19h5l_992:hover{background-color:var(--color-border);color:var(--color-text)}._missedCta_19h5l_329{cursor:pointer;background:0 0;border:none;padding:0}._missedRead_19h5l_1029{color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:6px;margin-left:auto;padding:4px 8px;font-size:11px;font-weight:600}._missedRead_19h5l_1029:hover{background-color:var(--color-bg);color:var(--color-text)}._railSeeAll_19h5l_123{cursor:pointer}._railSeeAll_19h5l_123:hover{color:var(--color-primary)}._comments_19h5l_1055{border-top:1px solid var(--color-divider);background-color:var(--color-bg);flex-direction:column;gap:8px;padding:12px 18px;display:flex}._commentRow_19h5l_1064{gap:9px;display:flex}._commentAvatar_19h5l_1069{background-color:var(--avatar-color);width:26px;height:26px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}._commentBubble_19h5l_1083{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;flex:1;padding:7px 10px}._commentAuthor_19h5l_1091{color:var(--color-text);font-size:11px;font-weight:700}._commentTime_19h5l_1097{color:var(--color-text-soft);font-weight:500}._commentText_19h5l_1102{color:var(--color-text-mid);margin-top:2px;font-size:11.5px;line-height:1.45}._commentComposer_19h5l_60{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;flex:1;align-items:center;gap:8px;padding:4px 4px 4px 12px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:flex}._commentComposer_19h5l_60:focus-within:not(._commentComposerDisabled_19h5l_1123){border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-10)}._commentComposerDisabled_19h5l_1123{opacity:.6;cursor:not-allowed;background-color:var(--color-bg)}._commentInput_19h5l_1134{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;padding:4px 0;font-size:11.5px}._commentInput_19h5l_1134:disabled{cursor:not-allowed}._commentSend_19h5l_1148{background-color:var(--color-primary);width:28px;height:28px;color:var(--color-on-primary);cursor:pointer;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s,opacity .15s;display:flex}._commentSend_19h5l_1148:hover:not(:disabled){background-color:var(--color-primary-strong)}._commentSend_19h5l_1148:disabled{background-color:var(--color-surface-muted);color:var(--color-text-soft);cursor:not-allowed;opacity:.6}._sharePreviewWrap_19h5l_1178{background-color:var(--color-bg);border-bottom:1px solid var(--color-border);padding:12px 20px}._sharePreview_19h5l_1178{border-radius:var(--radius-md);background-color:var(--color-surface);border:1px solid var(--color-border);align-items:flex-start;gap:10px;padding:10px;display:flex}._sharePreviewAvatar_19h5l_1194{background-color:var(--avatar-color);width:28px;height:28px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}._sharePreviewBody_19h5l_1208{flex:1;min-width:0}._sharePreviewMeta_19h5l_1213{color:var(--color-text-soft);margin-bottom:2px;font-size:11px}._sharePreviewCat_19h5l_1219{color:var(--cat);font-weight:600}._sharePreviewTitle_19h5l_1224{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}._shareField_19h5l_1234{padding:12px 20px 4px}._shareComment_19h5l_61{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;color:var(--color-text);padding:9px 12px;font-family:inherit;font-size:12.5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}._shareComment_19h5l_61:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-10);outline:none}._shareSearchWrap_19h5l_1258{padding:8px 20px 6px}._shareSearch_19h5l_1258{position:relative}._shareSearch_19h5l_1258 svg{color:var(--color-text-soft);position:absolute;top:50%;left:11px;transform:translateY(-50%)}._shareSearchInput_19h5l_1274{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);width:100%;color:var(--color-text);padding:8px 12px 8px 32px;font-family:inherit;font-size:12px}._shareSearchInput_19h5l_1274:focus{border-color:var(--color-primary);outline:none}._shareList_19h5l_1291{flex:1;min-height:0;padding:4px 20px 12px;overflow-y:auto}._shareSectionLabel_19h5l_1298{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-soft);padding:10px 4px 6px;font-size:9.5px;font-weight:700}._shareRow_19h5l_1307{text-align:left;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:10px;width:100%;margin-bottom:2px;padding:8px;display:flex}._shareRow_19h5l_1307:hover{background-color:var(--color-bg)}._shareRowOn_19h5l_1325,._shareRowOn_19h5l_1325:hover{background-color:var(--color-primary-10);border-color:var(--color-primary-30)}._shareAvatar_19h5l_1331{background-color:var(--avatar-color);width:32px;height:32px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}._shareAvatarSquare_19h5l_1345{border-radius:8px}._shareRowBody_19h5l_1349{flex-direction:column;flex:1;min-width:0;display:flex}._shareRowName_19h5l_1356{color:var(--color-text);font-size:12.5px;font-weight:600}._shareRowSub_19h5l_1362{font-size:var(--font-xs);color:var(--color-text-soft)}._shareCheck_19h5l_1367{border:1.5px solid var(--color-border-strong);width:18px;height:18px;color:var(--color-on-primary);background:0 0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:flex}._shareCheckOn_19h5l_1380{background-color:var(--color-primary);border-color:var(--color-primary)}._shareEmpty_19h5l_1385{text-align:center;color:var(--color-text-soft);padding:30px 0;font-size:12px}._shareFootText_19h5l_1393{color:var(--color-text-mid);font-size:11.5px}._shareFootBtns_19h5l_1398{gap:8px;display:flex}._shareCancelBtn_19h5l_1403{border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-text-mid);cursor:pointer;background:0 0;padding:8px 14px;font-size:12px;font-weight:600}._shareCancelBtn_19h5l_1403:hover{background-color:var(--color-bg)}._shareSendBtn_19h5l_1418{border-radius:var(--radius-md);background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:700;display:inline-flex}._shareSendBtn_19h5l_1418:disabled{background-color:var(--color-bg);color:var(--color-text-very-soft);border:1px solid var(--color-border);cursor:not-allowed}._shareRoot_19h5l_1439{z-index:11000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}._shareBackdrop_19h5l_1449{background-color:var(--color-overlay);cursor:pointer;border:none;padding:0;animation:.16s _shareFade_19h5l_1;position:absolute;inset:0}._shareModal_19h5l_1459{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(540px,100%);max-height:85vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.16s _shareIn_19h5l_1;display:flex;position:relative;overflow:hidden}@keyframes _shareFade_19h5l_1{0%{opacity:0}}@keyframes _shareIn_19h5l_1{0%{opacity:0;transform:translateY(8px)scale(.98)}}@media (prefers-reduced-motion:reduce){._shareBackdrop_19h5l_1449,._shareModal_19h5l_1459{animation:none}}._shareHead_19h5l_1493{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:16px 20px 12px;display:flex}._shareHeadIcon_19h5l_1501{background-color:var(--color-primary-10);width:30px;height:30px;color:var(--color-primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}._shareHeadText_19h5l_1513{flex:1;min-width:0}._shareTitle_19h5l_1518{font-size:var(--font-md);color:var(--color-text);margin:0;font-weight:700}._shareDesc_19h5l_1525{color:var(--color-text-soft);margin:1px 0 0;font-size:11px}._shareCloseBtn_19h5l_1531{width:32px;height:32px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}._shareCloseBtn_19h5l_1531:hover{background-color:var(--color-surface-muted);color:var(--color-text)}._shareFooter_19h5l_1550{border-top:1px solid var(--color-border);background-color:var(--color-bg);justify-content:space-between;align-items:center;gap:8px;padding:12px 20px;display:flex}._ppRoot_19h5l_1561{z-index:60;justify-content:flex-end;display:flex;position:fixed;inset:0}._ppOverlay_19h5l_1569{background-color:var(--color-overlay);cursor:pointer;border:none;padding:0;animation:.18s _ppFade_19h5l_1;position:absolute;inset:0}._ppPanel_19h5l_1579{background-color:var(--color-surface);width:min(480px,100%);height:100%;box-shadow:var(--shadow-lg);flex-direction:column;animation:.22s _ppSlide_19h5l_1;display:flex;position:relative;overflow:hidden}@keyframes _ppFade_19h5l_1{0%{opacity:0}}@keyframes _ppSlide_19h5l_1{0%{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){._ppOverlay_19h5l_1569,._ppPanel_19h5l_1579{animation:none}}._ppHead_19h5l_1611{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));color:var(--color-on-primary);align-items:flex-start;gap:13px;padding:22px 22px 20px;display:flex}._ppHeadIcon_19h5l_1620{border-radius:var(--radius-md);background-color:#ffffff2e;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}._ppHeadText_19h5l_1631{flex:1;min-width:0}._ppTitle_19h5l_1636{font-size:var(--font-xl);color:var(--color-on-primary);letter-spacing:-.01em;margin:0;font-weight:700}@media (width<=640px){._ppTitle_19h5l_1636{white-space:nowrap;text-overflow:ellipsis;font-size:19px;overflow:hidden}}._ppSubtitle_19h5l_1653{color:#ffffffe0;margin:4px 0 3px;font-size:12.5px}._ppManaged_19h5l_1659{color:#ffffffb8;font-size:11px}._ppClose_19h5l_1664{color:#ffffffe6;cursor:pointer;background:0 0;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background-color .15s;display:flex}._ppClose_19h5l_1664:hover{color:#fff;background-color:#ffffff2e}._ppTabs_19h5l_1684{border-bottom:1px solid var(--color-divider);flex-wrap:wrap;gap:6px;padding:14px 22px;display:flex}._ppTabs_19h5l_1684:has(._ppTab_19h5l_1684:only-child){display:none}._ppTabs_19h5l_1684:has(._ppTab_19h5l_1684:only-child)+._ppSearch_19h5l_1693{display:none}._ppTab_19h5l_1684{border-radius:var(--radius-full);background-color:var(--color-surface-muted);color:var(--color-text-soft);cursor:pointer;border:none;padding:7px 14px;font-size:12.5px;font-weight:600;transition:color .16s;position:relative}._ppTab_19h5l_1684:hover{color:var(--color-text)}._ppTabActive_19h5l_1714{color:var(--color-primary)}._ppTabBg_19h5l_1718{border-radius:var(--radius-full);background-color:var(--color-primary-10);box-shadow:inset 0 0 0 1px var(--color-primary-border);position:absolute;inset:0}._ppTabLabel_19h5l_1726{z-index:1;position:relative}._ppSearch_19h5l_1693{margin:14px 22px 6px;position:relative}._ppSearchIcon_19h5l_1736{color:var(--color-text-soft);position:absolute;top:50%;left:13px;transform:translateY(-50%)}._ppSearchInput_19h5l_1744{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);width:100%;color:var(--color-text);outline:none;padding:10px 14px 10px 36px;font-size:13px;transition:border-color .15s,box-shadow .15s}._ppSearchInput_19h5l_1744:focus{border-color:var(--color-primary-border);box-shadow:0 0 0 3px var(--color-primary-10)}._ppList_19h5l_1763{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent;flex:1;padding:8px 22px 24px;overflow-y:auto}._ppListInner_19h5l_1771{flex-direction:column;gap:12px;display:flex}._ppList_19h5l_1763::-webkit-scrollbar{width:6px}._ppList_19h5l_1763::-webkit-scrollbar-thumb{background-color:var(--color-border-strong);border-radius:var(--radius-full)}._ppEmpty_19h5l_1786{text-align:center;color:var(--color-text-soft);padding:32px 0;font-size:13px}@media (width<=768px){._ppPanel_19h5l_1579{width:100%}}._emptyState_19h5l_1800{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px dashed var(--color-border-strong);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:64px 20px;display:flex}._emptyIconWrap_19h5l_1812{border-radius:var(--radius-full);background-color:var(--color-surface-muted);width:64px;height:64px;color:var(--color-text-soft);justify-content:center;align-items:center;margin-bottom:16px;display:flex}._emptyTitle_19h5l_1824{font-size:var(--font-lg);color:var(--color-text);margin:0 0 8px;font-weight:700}._emptyText_19h5l_1831{font-size:var(--font-sm);color:var(--color-text-soft);max-width:300px;margin:0;line-height:1.5}._tabs_19h5l_1840{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}._tab_19h5l_1840{border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-soft);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:600;display:inline-flex}._tabActive_19h5l_1862{background-color:var(--color-primary-20);border-color:var(--color-primary-border);color:var(--color-primary)}._tabBadge_19h5l_1868{color:var(--color-primary);margin-left:2px;font-size:11.5px;font-weight:700}._composerCollapsed_19h5l_1876{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);align-items:center;gap:10px;padding:10px 14px;display:flex}._ccAvatar_19h5l_1886,._compAvatar_19h5l_1887,._avatar_19h5l_1888{background-color:var(--avatar-color);color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}._ccAvatar_19h5l_1886{width:32px;height:32px;font-size:12px}._ccInput_19h5l_1905{text-align:left;border-radius:var(--radius-full);background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-soft);cursor:pointer;flex:1;padding:9px 14px;font-size:13px;font-weight:500}._ccInput_19h5l_1905:hover{background-color:var(--color-surface);border-color:var(--color-border-strong)}._composer_19h5l_1876{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-md);overflow:hidden}._compHead_19h5l_1931{align-items:flex-start;gap:11px;padding:14px 16px 0;display:flex}._compAvatarWrapper_19h5l_1938{flex-shrink:0;position:relative}._statusDot_19h5l_1943{background-color:var(--color-success,#10b981);border:1.5px solid var(--color-surface,#fff);border-radius:50%;width:10px;height:10px;position:absolute;bottom:0;right:0}._compAvatar_19h5l_1887{width:40px;height:40px;font-size:13px}._compHeaderTagline_19h5l_1960{color:var(--color-text);font-size:13px;line-height:1.4}._compMutedText_19h5l_1966{color:var(--color-text-soft,#64748b);font-weight:400}._taggedTagline_19h5l_1971{color:var(--color-text-soft,#64748b);margin-top:1px;margin-bottom:2px;font-size:.85rem}._taggedTagline_19h5l_1971 strong{color:var(--color-text,#0f172a);font-weight:700}._audiencePill_19h5l_1983{border-radius:var(--radius-full);background-color:var(--color-bg);border:1px solid var(--color-border);font-size:var(--font-xs);color:var(--color-text-mid);cursor:pointer;align-items:center;gap:5px;margin-top:4px;padding:3px 10px;font-weight:600;display:inline-flex}._audiencePill_19h5l_1983:hover{border-color:var(--color-border-strong)}._audienceSection_19h5l_2002{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);flex-direction:column;gap:9px;margin:0 16px 12px;padding:12px 14px;display:flex}._audienceLabel_19h5l_2013{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-soft);font-size:10px;font-weight:700}._audienceRow_19h5l_2021{flex-wrap:wrap;gap:8px;display:flex}._audienceBtn_19h5l_2027{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-mid);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:600;display:inline-flex}._audienceBtn_19h5l_2027:hover{border-color:var(--color-border-strong)}._audienceBtnActive_19h5l_2045{border-color:var(--color-primary-border);background-color:var(--color-primary-10);color:var(--color-primary)}._compClose_19h5l_2051{width:28px;height:28px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;margin-left:auto;display:flex}._compClose_19h5l_2051:hover{background-color:var(--color-bg);color:var(--color-text)}._titleInput_19h5l_2070{width:100%;color:var(--color-text);background:0 0;border:none;outline:none;padding:8px 16px 0;font-family:inherit;font-size:16px;font-weight:700;transition:box-shadow .15s ease-in-out}._titleInput_19h5l_2070::placeholder{color:var(--color-text-very-soft);font-weight:600}._textarea_19h5l_59{width:100%;min-height:72px;color:var(--color-text);resize:none;background:0 0;border:none;outline:none;padding:6px 16px 10px;font-family:inherit;font-size:14px;line-height:1.5;transition:box-shadow .15s ease-in-out}._compOption_19h5l_2103{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);justify-content:space-between;align-items:center;gap:10px;margin:0 16px 12px;padding:10px 14px;display:flex}._compOptionLabel_19h5l_2115{color:var(--color-text);align-items:center;gap:7px;font-size:12.5px;font-weight:600;display:inline-flex}._compOptionLabel_19h5l_2115 svg{color:var(--color-primary)}._compFooter_19h5l_2128{border-top:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}._submitRight_19h5l_2137{align-items:center;gap:10px;display:flex}._modeToggle_19h5l_2143{font-size:11px}._cancelBtn_19h5l_2147{color:var(--color-text-mid);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:8px;padding:8px 14px;font-size:12px;font-weight:600}._cancelBtn_19h5l_2147:hover{background-color:var(--color-bg)}._postBtn_19h5l_2162{background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;border-radius:8px;padding:8px 22px;font-size:12px;font-weight:700}._postBtn_19h5l_2162:disabled{background-color:var(--color-primary-20);cursor:not-allowed}._card_19h5l_142{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:box-shadow .18s,border-color .18s;position:relative;overflow:hidden}._card_19h5l_142:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}._urgentStripe_19h5l_2196{background-color:var(--color-primary);z-index:10;pointer-events:none;width:3px;position:absolute;top:0;bottom:0;left:0}._pinnedRow_19h5l_2207{border-bottom:1px solid var(--color-divider);color:var(--color-text-soft);align-items:center;gap:5px;padding:5px 20px;font-size:11px;font-weight:600;display:flex}._pin_19h5l_2207{color:var(--color-primary)}._cardHead_19h5l_2222{gap:12px;padding:16px 20px 10px;display:flex}._avatar_19h5l_1888{width:42px;height:42px;font-size:14px}._cardAuthor_19h5l_2234{flex:1;min-width:0}._authorName_19h5l_2239{color:var(--color-text);letter-spacing:-.005em;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}._metaRow_19h5l_2249{color:var(--color-text-soft);flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:11.5px;display:flex}._cardRight_19h5l_2259{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}._badge_19h5l_2267{border-radius:var(--radius-full);color:var(--badge-color);background-color:color-mix(in srgb, var(--badge-color) 10%, transparent);border:1px solid color-mix(in srgb, var(--badge-color) 22%, transparent);align-items:center;gap:5px;padding:3px 9px;font-size:9.5px;font-weight:700;display:inline-flex}._badgeDot_19h5l_2280{background-color:var(--badge-color);border-radius:50%;width:5px;height:5px}._bookmarkBtn_19h5l_2287{width:26px;height:26px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}._bookmarkBtn_19h5l_2287:hover{background-color:var(--color-bg);color:var(--color-text)}._bookmarkActive_19h5l_2305{background-color:var(--color-primary-10);color:var(--color-primary)}._pinBtn_19h5l_2310{width:26px;height:26px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}._pinBtn_19h5l_2310:hover{background-color:var(--color-bg);color:var(--color-text)}._pinActive_19h5l_2328{background-color:var(--color-primary-10);color:var(--color-primary)}._editBtn_19h5l_2333{width:26px;height:26px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}._editBtn_19h5l_2333:hover{background-color:var(--color-bg);color:var(--color-text)}._deleteBtn_19h5l_2351{width:26px;height:26px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}._deleteBtn_19h5l_2351:hover{background-color:var(--color-bg);color:#ef4444}._cardActions_19h5l_2369{align-items:center;gap:4px;display:flex}._cardTitle_19h5l_2375{color:var(--color-text);letter-spacing:-.01em;margin:0;padding:0 20px 8px;font-size:17px;font-weight:700;line-height:1.3}._cardBody_19h5l_142{color:var(--color-text-mid);white-space:pre-wrap;word-break:break-word;margin:0;padding:0 20px 12px;font-size:12.5px;line-height:1.6}._ackBanner_19h5l_2395{background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:9px;justify-content:space-between;align-items:center;gap:10px;margin:0 20px 12px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}._ackBtn_19h5l_2410{background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;white-space:nowrap;border:none;border-radius:7px;padding:6px 12px;font-size:11px;font-weight:700}._ackDone_19h5l_2422{background-color:var(--color-success-soft);border:1px solid color-mix(in srgb, var(--color-success) 20%, transparent);color:var(--color-success);border-radius:9px;align-items:center;gap:8px;margin:0 20px 12px;padding:8px 12px;font-size:11px;font-weight:700;display:flex}._summary_19h5l_2436{color:var(--color-text-soft);justify-content:space-between;align-items:center;margin:0 20px;padding:2px 0 10px;font-size:11px;display:flex}._summaryLeft_19h5l_2446{align-items:center;gap:6px;display:flex}._summaryIcons_19h5l_2452{align-items:center;display:flex}._summaryDot_19h5l_2457{background-color:var(--react-color,var(--color-primary));width:19px;height:19px;color:var(--color-on-primary);border:2px solid var(--color-surface);border-radius:50%;justify-content:center;align-items:center;display:flex}._summaryDot_19h5l_2457:not(:first-child){margin-left:-5px}._summaryCount_19h5l_2473{color:var(--color-text-mid);font-weight:600}._summaryComments_19h5l_2478{color:var(--color-text-soft)}._summaryCommentsClickable_19h5l_2482{cursor:pointer;-webkit-user-select:none;user-select:none}._summaryCommentsClickable_19h5l_2482:hover{color:#045d5e}._postBar_19h5l_2492{border-top:1px solid var(--color-divider);align-items:center;gap:6px;padding:6px 10px;display:flex}._reactWrap_19h5l_2500{flex:1;display:flex;position:relative}._actionBtn_19h5l_2506{color:var(--color-text-mid);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 10px;font-size:11.5px;font-weight:600;display:flex}._actionBtn_19h5l_2506:disabled{cursor:not-allowed;opacity:.5;pointer-events:auto}._actionBtn_19h5l_2506:disabled:hover{background-color:#0000}._actionBtn_19h5l_2506:disabled:active{transform:none}._actionBtn_19h5l_2506:hover:not(:disabled){background-color:var(--color-surface-muted)}._actionBtn_19h5l_2506:active:not(:disabled){transform:scale(.97)}._actionActive_19h5l_2544{background-color:color-mix(in srgb, var(--react-color,var(--color-primary)) 12%, transparent);color:var(--react-color,var(--color-primary))}._actionActive_19h5l_2544:hover{background-color:color-mix(in srgb, var(--react-color,var(--color-primary)) 16%, transparent)}._picker_19h5l_2561{background-color:var(--color-surface);border-radius:var(--radius-full);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);z-index:10;opacity:0;transform-origin:0 100%;pointer-events:none;gap:4px;padding:5px;transition:opacity .16s,transform .16s;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;transform:translateY(6px)scale(.96)}._picker_19h5l_2561:before{content:"";height:10px;position:absolute;top:100%;left:0;right:0}._pickerVisible_19h5l_2593{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}._pickerBtn_19h5l_2599{width:36px;height:36px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .14s,background-color .14s;display:flex}._pickerBtn_19h5l_2599:hover{background-color:color-mix(in srgb, var(--react-color) 14%, transparent);color:var(--react-color);transform:scale(1.25)translateY(-2px)}._pickerActive_19h5l_2621{background-color:color-mix(in srgb, var(--react-color) 16%, transparent);color:var(--react-color)}@media (width<=768px){._toolbar_19h5l_8{padding:10px 14px}}@media (width<=640px){._wrapper_19h5l_70{padding:14px 12px 40px}._cardHead_19h5l_2222{padding:14px 14px 8px}._cardTitle_19h5l_2375{padding:0 14px 8px}._cardBody_19h5l_142{padding:0 14px 12px}._summary_19h5l_2436{margin:0 14px}._postBar_19h5l_2492{padding:4px 6px}._actionBtn_19h5l_2506{padding:9px 6px}}._schedule_19h5l_2664{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-bg);flex-direction:column;gap:12px;margin:0 16px 12px;padding:14px;display:flex}._scheduleHead_19h5l_2675{letter-spacing:.08em;color:var(--color-text-soft);align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}._scheduleHead_19h5l_2675 svg{color:var(--color-primary)}._scheduleGrid_19h5l_2689{grid-template-columns:1fr 1fr;gap:12px;display:grid}._scheduleField_19h5l_2695{flex-direction:column;gap:5px;display:flex}._scheduleLabel_19h5l_2701{font-size:var(--font-xs);color:var(--color-text-mid);font-weight:600}._scheduleInput_19h5l_2707{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;color:var(--color-text);padding:9px 12px;font-family:inherit;font-size:13px}._scheduleInput_19h5l_2707:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-10);outline:none}._scheduleRow_19h5l_2724{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}._scheduleRowLabel_19h5l_2734{color:var(--color-text);align-items:center;gap:7px;font-size:12.5px;font-weight:600;display:inline-flex}._scheduleRowLabel_19h5l_2734 svg{color:var(--color-text-soft)}._switch_19h5l_2747{border-radius:var(--radius-full);background-color:var(--color-border-strong);cursor:pointer;border:none;flex-shrink:0;width:38px;height:22px;transition:background-color .18s;position:relative}._switchOn_19h5l_2759{background-color:var(--color-primary)}._switchKnob_19h5l_2763{background-color:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:3px;left:3px}._switchOn_19h5l_2759 ._switchKnob_19h5l_2763{transform:translate(16px)}._scheduleFreq_19h5l_2778{align-self:flex-start}._scheduleTz_19h5l_2782{font-size:var(--font-xs);color:var(--color-text-soft);align-items:center;gap:6px;display:flex}._scheduleTz_19h5l_2782 strong{color:var(--color-text-mid);font-weight:700}._tagSearch_19h5l_2796{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}._tagSearchInput_19h5l_2807{font-size:var(--font-sm);color:var(--color-text);background:0 0;border:none;outline:none;flex:1}._tagList_19h5l_2816{flex-direction:column;gap:6px;max-height:240px;display:flex;overflow-y:auto}._tagRow_19h5l_2824{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;width:100%;padding:8px 12px;display:flex}._tagRow_19h5l_2824:hover{background-color:var(--color-surface-muted)}._tagRowActive_19h5l_2841{background-color:color-mix(in srgb, var(--color-primary) 6%, var(--color-bg));border-color:var(--color-primary-22)}._tagRowContent_19h5l_2846{align-items:center;gap:12px;display:flex}._tagAvatar_19h5l_2852{background-color:var(--avatar-color,#ccc);color:#fff;width:32px;height:32px;font-size:var(--font-xs);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}._tagInfo_19h5l_2865{flex-direction:column;display:flex}._tagName_19h5l_2870{font-size:var(--font-sm);color:var(--color-text);font-weight:600}._tagRole_19h5l_2876{font-size:var(--font-xs);color:var(--color-text-soft)}._tagCheckbox_19h5l_2881{border:2px solid var(--color-border);color:#0000;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;display:flex}._tagCheckboxActive_19h5l_2892{border-color:var(--color-primary);background-color:var(--color-primary);color:#fff}._postImagesGrid_19h5l_2899{border-radius:var(--radius-lg);aspect-ratio:16/10;gap:6px;width:100%;max-height:500px;margin-top:12px;margin-bottom:14px;display:grid;overflow:hidden}@media (width<=600px){._postImagesGrid_19h5l_2899{aspect-ratio:4/3;max-height:320px}}._grid1_19h5l_2918{grid-template-columns:1fr}._grid2_19h5l_2922{grid-template-columns:1fr 1fr}._grid3_19h5l_2926{grid-template-rows:1fr 1fr;grid-template-columns:1.5fr 1fr}._grid4_19h5l_2931{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}._gridImageWrap_19h5l_2936{cursor:pointer;background-color:var(--color-surface-hover);width:100%;height:100%;position:relative;overflow:hidden}._gridImage_19h5l_2936{object-fit:cover;width:100%;height:100%;transition:transform .3s}._gridImageWrap_19h5l_2936:hover ._gridImage_19h5l_2936{transform:scale(1.02)}._grid3_19h5l_2926 ._gridImageWrap_19h5l_2936:first-child{grid-row:span 2}._moreImagesOverlay_19h5l_2962:before{content:attr(data-more);color:#fff;z-index:2;background:#0009;justify-content:center;align-items:center;font-size:24px;font-weight:700;transition:background .3s;display:flex;position:absolute;inset:0}._moreImagesOverlay_19h5l_2962:hover:before{background:#00000080}._lightboxOverlay_19h5l_2985{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10000;-webkit-user-select:none;user-select:none;background-color:#0a0f1ebf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._lightboxContainer_19h5l_3002{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);width:92vw;max-width:1200px;height:85vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}._lightboxLeft_19h5l_3015{background-color:#0c0d12;flex:1.5;justify-content:center;align-items:center;height:100%;display:flex;position:relative}._lightboxRight_19h5l_3025{background-color:var(--color-surface);border-left:1px solid var(--color-divider);flex-direction:column;flex:1;height:100%;display:flex;overflow-y:auto}._lightboxScrollableContent_19h5l_3035{flex-direction:column;gap:16px;padding:24px;display:flex}._lightboxScrollableContent_19h5l_3035 header{padding-right:48px}._lightboxDivider_19h5l_3046{background-color:var(--color-divider);height:1px;margin:8px 0}@media (width<=900px){._lightboxContainer_19h5l_3002{flex-direction:column;width:95vw;height:95vh}._lightboxLeft_19h5l_3015{flex:1;min-height:250px}._lightboxRight_19h5l_3025{border-left:none;border-top:1px solid var(--color-divider);flex:1.5}._lightboxClose_19h5l_3070{color:#ffffffe6;background:#0006;top:12px;right:12px}._lightboxClose_19h5l_3070:hover{color:#fff;background:#0009}}._lightboxImage_19h5l_3083{object-fit:contain;border-radius:var(--radius-lg);border:1px solid #ffffff26;max-width:85%;max-height:80%;box-shadow:0 25px 50px -12px #000000b3,0 0 0 1px #ffffff14}._lightboxClose_19h5l_3070{background:var(--color-bg-hover,#0000000d);color:var(--color-text-soft,#65676b);cursor:pointer;z-index:10002;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}._lightboxClose_19h5l_3070:hover{background:var(--color-bg-hover-strong,#0000001a);color:var(--color-text,#1c1e21);transform:scale(1.05)}._lightboxArrow_19h5l_3119{color:#fff;cursor:pointer;z-index:10001;background:#ffffff14;border:1px solid #ffffff0d;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:50%;transform:translateY(-50%)}._lightboxArrow_19h5l_3119:hover{background:#ffffff2e}._lightboxArrowLeft_19h5l_3141{left:24px}._lightboxArrowLeft_19h5l_3141:hover{transform:translateY(-50%)scale(1.08)}._lightboxArrowRight_19h5l_3149{right:24px}._lightboxArrowRight_19h5l_3149:hover{transform:translateY(-50%)scale(1.08)}._lightboxCounter_19h5l_3157{color:#fffffff2;z-index:10001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);letter-spacing:.05em;background-color:#ffffff14;border:1px solid #ffffff1f;border-radius:9999px;padding:6px 14px;font-size:13px;font-weight:600;position:absolute;bottom:24px;box-shadow:0 4px 12px #0003}._templateSheet_19h5l_3175{flex-direction:column;gap:0;display:flex}._templateSheetHeader_19h5l_3181{border-bottom:1px solid var(--color-border);align-items:flex-start;gap:10px;padding:12px 14px 10px;display:flex}._templateBackBtn_19h5l_3189{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-soft);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;transition:background-color .15s,color .15s;display:flex}._templateBackBtn_19h5l_3189:hover{background-color:var(--color-surface-muted);color:var(--color-text)}._templateSheetTitle_19h5l_3212{font-size:var(--font-xs);color:var(--color-text-mid);letter-spacing:.06em;text-transform:uppercase;font-weight:700;display:block}._templateSheetMeta_19h5l_3221{font-size:var(--font-xs);color:var(--color-text-soft);margin-top:2px;display:block}._templateSheetMeta_19h5l_3221 strong{color:var(--color-primary);font-weight:600}._templateSearch_19h5l_3233{border-bottom:1px solid var(--color-border);padding:8px 14px;position:relative}._templateSearchIcon_19h5l_3239{color:var(--color-text-soft);pointer-events:none;position:absolute;top:50%;left:26px;transform:translateY(-50%)}._templateSearchInput_19h5l_3248{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-muted);width:100%;color:var(--color-text);font-size:var(--font-sm);box-sizing:border-box;outline:none;padding:6px 10px 6px 30px;transition:border-color .15s}._templateSearchInput_19h5l_3248:focus{border-color:var(--color-primary)}._templateList_19h5l_3265{flex-direction:column;max-height:240px;display:flex;overflow-y:auto}._templateItem_19h5l_3272{border-bottom:1px solid var(--color-border);cursor:pointer;text-align:left;background:0 0;border-top:none;border-left:none;border-right:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;transition:background-color .12s;display:flex}._templateItem_19h5l_3272:last-child{border-bottom:none}._templateItem_19h5l_3272:hover{background-color:var(--color-surface-muted)}._templateItemBody_19h5l_3296{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}._templateItemTitle_19h5l_3304{font-size:var(--font-sm);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}._templateItemSub_19h5l_3313{font-size:var(--font-xs);color:var(--color-text-soft);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}._templateUseBtn_19h5l_3321{border-radius:var(--radius-sm);background-color:var(--color-primary);color:#fff;letter-spacing:.06em;cursor:pointer;border:none;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-size:10px;font-weight:700;transition:opacity .15s;display:flex}._templateUseBtn_19h5l_3321:hover{opacity:.85}._templateEmpty_19h5l_3342{text-align:center;font-size:var(--font-sm);color:var(--color-text-soft);padding:20px 14px}._itemIconContainer_19h5l_3349{border-radius:var(--radius-md);background-color:color-mix(in srgb, var(--color-primary) 10%, transparent);width:32px;height:32px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}._itemBadge_19h5l_3361{border-radius:var(--radius-sm);background-color:var(--color-surface-muted);color:var(--color-text-soft);max-width:fit-content;padding:2px 6px;font-size:10px;font-weight:500}._itemMetaRow_19h5l_3371{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}._lightboxOverlay_z9s6t_5{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10000;-webkit-user-select:none;user-select:none;background-color:#0a0f1ebf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._lightboxContainer_z9s6t_20{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);width:92vw;max-width:1200px;height:85vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}._lightboxContainerTextOnly_z9s6t_33{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);flex-direction:column;width:92vw;max-width:680px;height:auto;max-height:85vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}._lightboxLeft_z9s6t_48{background-color:#0c0d12;flex:1.5;justify-content:center;align-items:center;height:100%;display:flex;position:relative}._lightboxRight_z9s6t_58{background-color:var(--color-surface);border-left:1px solid var(--color-divider);flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}._lightboxRightFull_z9s6t_69{background-color:var(--color-surface);flex-direction:column;flex:1;width:100%;max-width:680px;height:100%;min-height:0;margin:0 auto;display:flex;overflow:hidden}._lightboxHeaderWrapper_z9s6t_82{border-bottom:1px solid var(--color-divider);background-color:var(--color-surface);flex-shrink:0;padding-right:40px}._lightboxScrollableContent_z9s6t_91{flex-direction:column;flex:1;gap:16px;min-height:0;padding:24px;display:flex;overflow-y:auto}._lightboxScrollableContent_z9s6t_91:after{content:"";flex-shrink:0;min-height:16px;display:block}._lightboxDivider_z9s6t_108{background-color:var(--color-divider);height:1px;margin:8px 0}@media (width<=900px){._lightboxContainer_z9s6t_20,._lightboxContainerTextOnly_z9s6t_33{flex-direction:column;width:95vw;height:95vh;max-height:95vh}._lightboxHeaderWrapper_z9s6t_82{padding-right:32px}._lightboxLeft_z9s6t_48{flex:1;min-height:250px}._lightboxRight_z9s6t_58{border-left:none;border-top:1px solid var(--color-divider);flex:1.5}._lightboxClose_z9s6t_138{color:#ffffffe6;background:#0006;top:12px;right:12px}._lightboxClose_z9s6t_138:hover{color:#fff;background:#0009}}._lightboxImage_z9s6t_151{object-fit:contain;border-radius:var(--radius-lg);border:1px solid #ffffff26;max-width:85%;max-height:80%;box-shadow:0 25px 50px -12px #000000b3,0 0 0 1px #ffffff14}._lightboxClose_z9s6t_138{background:var(--color-bg-hover,#0000000d);color:var(--color-text-soft,#65676b);cursor:pointer;z-index:10002;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}._lightboxClose_z9s6t_138:hover{background:var(--color-bg-hover-strong,#0000001a);color:var(--color-text,#1c1e21);transform:scale(1.05)}._lightboxArrow_z9s6t_186{color:#fff;cursor:pointer;z-index:10001;background:#ffffff14;border:1px solid #ffffff0d;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:50%;transform:translateY(-50%)}._lightboxArrow_z9s6t_186:hover{background:#ffffff2e}._lightboxArrowLeft_z9s6t_208{left:24px}._lightboxArrowLeft_z9s6t_208:hover{transform:translateY(-50%)scale(1.08)}._lightboxArrowRight_z9s6t_216{right:24px}._lightboxArrowRight_z9s6t_216:hover{transform:translateY(-50%)scale(1.08)}._lightboxCounter_z9s6t_224{color:#fffffff2;z-index:10001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);letter-spacing:.05em;background-color:#ffffff14;border:1px solid #ffffff1f;border-radius:9999px;padding:6px 14px;font-size:13px;font-weight:600;position:absolute;bottom:24px;box-shadow:0 4px 12px #0003}._skeletonCard_7d381_1{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);flex-direction:column;gap:16px;padding:16px;display:flex}._skeletonHeader_7d381_11{align-items:center;gap:12px;display:flex}._skeletonAvatar_7d381_17{border-radius:var(--radius-full);background-color:var(--color-surface-muted);width:40px;height:40px;animation:1.5s ease-in-out infinite _pulse_7d381_1}._skeletonMeta_7d381_25{flex-direction:column;flex:1;gap:6px;display:flex}._skeletonLine_7d381_32{background-color:var(--color-surface-muted);border-radius:var(--radius-sm);height:12px;animation:1.5s ease-in-out infinite _pulse_7d381_1}._skeletonLine_7d381_32._short_7d381_39{width:40%}._skeletonLine_7d381_32._medium_7d381_43{width:70%}._skeletonLine_7d381_32._full_7d381_47{width:100%}._skeletonBody_7d381_51{flex-direction:column;gap:8px;display:flex}@keyframes _pulse_7d381_1{0%,to{opacity:1}50%{opacity:.5}}._bookCard_11n7l_7{border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-surface);box-shadow:var(--shadow-md);margin:20px 24px 24px;overflow:hidden}._bookTopBar_11n7l_16{border-bottom:1px solid var(--color-divider);background:linear-gradient(180deg, var(--color-primary-05), transparent);justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;display:flex}._bookGrid_11n7l_26{grid-template-columns:256px 1fr 236px;display:grid}._colCalendar_11n7l_31{border-left:1px solid var(--color-divider);border-right:1px solid var(--color-divider);padding:18px 22px}._search_11n7l_37{margin-bottom:12px;position:relative}._searchIcon_11n7l_42{color:var(--color-text-soft);position:absolute;top:50%;left:11px;transform:translateY(-50%)}._searchInput_11n7l_50{border:1px solid var(--color-border);background-color:var(--color-bg);width:100%;color:var(--color-text);border-radius:8px;outline:none;padding:8px 10px 8px 32px;font-size:12px}._contactList_11n7l_61{flex-direction:column;flex:1;gap:4px;min-height:0;max-height:440px;display:flex;overflow:hidden auto}._contactRow_11n7l_72{border-radius:var(--radius-md);cursor:pointer;text-align:left;background:0 0;border:1.5px solid #0000;align-items:center;gap:12px;padding:9px 12px;transition:background-color .15s,border-color .15s;display:flex}._contactRow_11n7l_72:hover{background-color:var(--color-surface-muted)}._contactActive_11n7l_91{background-color:var(--color-primary-10);border-color:var(--color-primary-border)}._contactAvatar_11n7l_96{background-color:var(--avatar-color);width:36px;height:36px;color:var(--color-on-primary);letter-spacing:.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:flex}._contactText_11n7l_112{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}._contactName_11n7l_120{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:1.25;overflow:hidden}._contactActive_11n7l_91 ._contactName_11n7l_120{color:var(--color-primary);font-weight:700}._contactRole_11n7l_135{color:var(--color-text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.2;overflow:hidden}._contactCheck_11n7l_144{border:2px solid var(--color-border-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:border-color .15s,background-color .15s;display:flex}._contactCheckOn_11n7l_158{border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-on-primary)}._contactCheckIcon_11n7l_164{justify-content:center;align-items:center;display:inline-flex}._contactEmpty_11n7l_170{color:var(--color-text-soft);margin:8px 4px;font-size:12px}._calHead_11n7l_177{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}._calMonth_11n7l_184{color:var(--color-text);font-size:14px;font-weight:600}._calNav_11n7l_190{gap:4px;display:flex}._calNavBtn_11n7l_195{border:1px solid var(--color-border);background-color:var(--color-surface);width:26px;height:26px;color:var(--color-text-mid);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;display:flex}._calDays_11n7l_208{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}._calDayLabel_11n7l_214{text-align:center;color:var(--color-text-soft);padding:6px 0;font-size:11px;font-weight:600}._calGrid_11n7l_222{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}._calCell_11n7l_228{width:36px;height:36px;color:var(--color-text);cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:50%;justify-content:center;align-items:center;margin:auto;font-size:12px;font-weight:500;display:flex}._calCell_11n7l_228:hover{background-color:var(--color-surface-muted)}._calCellToday_11n7l_248{border-color:var(--color-secondary);color:var(--color-secondary);font-weight:700}._calCellSelected_11n7l_254,._calCellSelected_11n7l_254:hover{background-color:var(--color-secondary);color:var(--color-on-primary);border-color:#0000;font-weight:700}._calCellPast_11n7l_262{color:var(--color-text-very-soft);cursor:not-allowed}._calCellBlank_11n7l_267{visibility:hidden}._bookBar_11n7l_272{border-top:1px solid var(--color-divider);background:linear-gradient(0deg, var(--color-primary-05), transparent);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}._bookHint_11n7l_282{color:var(--color-text-soft);font-size:12.5px}._bookSummary_11n7l_287{color:var(--color-text-mid);align-items:center;gap:6px;font-size:12.5px;display:flex}._bookSummaryName_11n7l_295{color:var(--color-text);font-weight:600}._bookSummarySlot_11n7l_300{color:var(--color-primary);font-weight:600}._bookBtn_11n7l_305{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));color:var(--color-on-primary);cursor:pointer;border:none;align-items:center;gap:7px;padding:10px 24px;font-size:12.5px;font-weight:700;display:flex;box-shadow:0 4px 14px #045d5e38}._bookBtn_11n7l_305:disabled{background:var(--color-primary-20);box-shadow:none;cursor:not-allowed}._disabledBtnWrapper_11n7l_326{display:inline-flex}._confirmBody_11n7l_331{flex-direction:column;gap:16px;display:flex}._confirmWho_11n7l_337{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-primary-10), var(--color-primary-05));border:1px solid var(--color-primary-border);align-items:center;gap:12px;padding:14px;display:flex}._confirmAvatar_11n7l_347{background-color:var(--avatar-color);width:44px;height:44px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}._confirmWhoText_11n7l_361{flex-direction:column;gap:2px;min-width:0;display:flex}._confirmName_11n7l_368{color:var(--color-text);font-size:15px;font-weight:700}._confirmRole_11n7l_374{color:var(--color-text-soft);font-size:12px}._confirmRows_11n7l_379{flex-direction:column;display:flex}._confirmRow_11n7l_379{border-bottom:1px solid var(--color-divider);align-items:center;gap:10px;padding:10px 2px;display:flex}._confirmRow_11n7l_379:last-child{border-bottom:none}._confirmRowIcon_11n7l_396{border-radius:var(--radius-md);background-color:var(--color-surface-muted);width:30px;height:30px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._confirmRowLabel_11n7l_408{width:76px;color:var(--color-text-soft);flex-shrink:0;font-size:12.5px;font-weight:600}._confirmRowValue_11n7l_416{min-width:0;color:var(--color-text);flex:1;font-size:12.5px;font-weight:600}._bookedNote_11n7l_424{color:var(--color-success);align-items:center;gap:6px;font-size:12.5px;font-weight:700;display:inline-flex}._typeSelector_11n7l_434{background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;padding:3px;display:inline-flex}._typeBtn_11n7l_442{color:var(--color-text-soft);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:11.5px;font-weight:500}._typeBtn_11n7l_442:hover{color:var(--color-text)}._typeBtnActive_11n7l_460{background-color:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:600}@media (width>=1440px){._contactList_11n7l_61{max-height:460px}}@media (width<=1024px){._bookGrid_11n7l_26{grid-template-columns:1fr}._colCalendar_11n7l_31{border-left:none;border-right:none;border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}}@media (width<=768px){._bookCard_11n7l_7{margin:12px 10px}._bookGrid_11n7l_26{grid-template-columns:1fr}._colCalendar_11n7l_31{border-left:none;border-right:none;border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}._bookBar_11n7l_272{text-align:center;flex-direction:column;align-items:stretch;gap:10px}._bookBtn_11n7l_305{justify-content:center}}._col_18ut1_6{flex-direction:column;min-width:0;padding:18px;display:flex}._colTitle_18ut1_13{color:var(--color-text);align-items:center;margin-bottom:12px;font-size:13.5px;font-weight:700;display:flex}._stepDot_18ut1_22{background-color:var(--color-primary-10);width:18px;height:18px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin-right:8px;font-size:10px;font-weight:800;display:inline-flex}._titleWrap_18nb9_3{margin-bottom:10px}._titleInput_18nb9_7{width:100%;padding-left:10px}._wizardContainer_pyr7v_8{background-color:var(--color-surface);border-radius:0 0 12px 12px;flex-direction:column;flex:1;display:flex;overflow:hidden}._stepper_pyr7v_17{background-color:var(--color-surface-muted);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}._stepItem_pyr7v_27{flex-shrink:0;align-items:center;gap:8px;display:flex}._stepLine_pyr7v_34{background-color:var(--color-border);flex:1;height:2px}._stepLineActive_pyr7v_40{background-color:var(--color-primary)}._stepCircle_pyr7v_44{background-color:var(--color-surface);border:2px solid var(--color-border);width:24px;height:24px;color:var(--color-text-soft);transition:all var(--dur-fast) var(--ease-out);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}._stepCircleActive_pyr7v_60{border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}._stepCircleDone_pyr7v_66{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}._stepText_pyr7v_72{color:var(--color-text-soft);font-size:12px;font-weight:500}._stepTextActive_pyr7v_78{color:var(--color-text);font-weight:600}._wizardContent_pyr7v_83{flex-direction:column;flex:1;display:flex;overflow:hidden}._wizardRow_pyr7v_90{flex:1;display:flex;overflow:hidden}._wizardPanelLeft_pyr7v_96{border-right:1px solid var(--color-border);background-color:var(--color-surface);flex-direction:column;flex:1;padding:16px;display:flex;overflow:hidden}._wizardPanelRight_pyr7v_106{background-color:var(--color-surface-muted);flex-direction:column;width:320px;display:flex;overflow:hidden}._timePanelLeft_pyr7v_114{flex:0 0 240px}._timePanelLeft_pyr7v_114 ._wizardList_pyr7v_118{max-height:480px}@media (width>=1440px){._timePanelLeft_pyr7v_114 ._wizardList_pyr7v_118{max-height:580px}}._timePanelRight_pyr7v_128{flex:1}._panelHeading_pyr7v_132{color:var(--color-text);margin:0 0 4px;font-size:15px;font-weight:700}._wizardSearch_pyr7v_139{border:1px solid var(--color-border);background-color:var(--color-surface-muted);width:100%;color:var(--color-text);border-radius:6px;margin-top:8px;padding:8px 12px;font-size:12px}._wizardList_pyr7v_118{flex-direction:column;flex:1;gap:4px;max-height:440px;display:flex;overflow-y:auto}._wizardListBtn_pyr7v_159{cursor:pointer;width:100%;transition:all var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:10px;display:flex}._wizardListBtn_pyr7v_159:hover{background-color:var(--color-surface-hover)}._wizardListBtnActive_pyr7v_176{background-color:var(--color-primary-soft);border-color:var(--color-primary-soft-border)}._avatar_pyr7v_181{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:inline-flex}._avatarSmall_pyr7v_193{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:inline-flex}._contactName_pyr7v_205{color:var(--color-text);font-size:12.5px;font-weight:600}._contactRole_pyr7v_211{color:var(--color-text-soft);margin-top:1px;font-size:11px}._checkbox_pyr7v_217{border:1.5px solid var(--color-border-strong);width:16px;height:16px;transition:all var(--dur-fast) var(--ease-out);border-radius:4px;justify-content:center;align-items:center;display:flex}._checkboxActive_pyr7v_228{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}._panelHeader_pyr7v_234{border-bottom:1px solid var(--color-border);letter-spacing:.04em;color:var(--color-text-soft);justify-content:space-between;align-items:center;padding:16px;font-size:11px;font-weight:700;display:flex}._badge_pyr7v_246{background-color:var(--color-primary-soft);color:var(--color-primary);border-radius:12px;padding:2px 6px;font-size:10px}._selectedGrid_pyr7v_254{flex-direction:column;flex:1;gap:8px;max-height:485px;padding:12px;display:flex;overflow-y:auto}@media (width>=1440px){._wizardList_pyr7v_118{max-height:460px}._selectedGrid_pyr7v_254{max-height:505px}}._selectedEmpty_pyr7v_274{text-align:center;color:var(--color-text-soft);flex-direction:column;align-items:center;padding:32px 16px;font-size:11px;line-height:1.5;display:flex}._selectedEmptyIcon_pyr7v_285{color:var(--color-text-soft);opacity:.5;margin-bottom:8px}._selectedItemCard_pyr7v_291{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;align-items:center;gap:8px;padding:8px;display:flex}._cardName_pyr7v_301{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;overflow:hidden}._cardRole_pyr7v_310{color:var(--color-text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}._removeBtn_pyr7v_318{color:var(--color-text-soft);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}._removeBtn_pyr7v_318:hover{background-color:var(--color-danger-soft);color:var(--color-danger)}._attendeeStatusItem_pyr7v_337{background-color:var(--color-surface-muted);border-radius:6px;align-items:center;gap:8px;padding:8px;display:flex}._statusIndicator_pyr7v_346{background-color:var(--color-border-strong);border-radius:50%;width:8px;height:8px}._statusIndicatorAvail_pyr7v_353{background-color:var(--color-success)}._statusIndicatorBusy_pyr7v_357{background-color:var(--color-danger)}._statusIndicatorOoh_pyr7v_361{background-color:var(--color-text-soft);opacity:.5}._gridToolbar_pyr7v_366{border-bottom:1px solid var(--color-border);background-color:var(--color-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}._datePickerInput_pyr7v_377{border:1px solid var(--color-border);color:var(--color-text);background-color:var(--color-surface-muted);border-radius:6px;padding:4px 8px;font-size:12px}._durationSelector_pyr7v_386{background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:6px;padding:2px;display:inline-flex}._durBtn_pyr7v_394{color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600}._durBtnActive_pyr7v_405{background-color:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}._legend_pyr7v_411{align-items:center;gap:12px;font-size:11px;display:flex}._legendItem_pyr7v_418{color:var(--color-text-soft);align-items:center;gap:4px;display:flex}._dotAvail_pyr7v_425,._dotBusy_pyr7v_426,._dotOoh_pyr7v_427{border-radius:50%;width:8px;height:8px}._dotAvail_pyr7v_425{background-color:var(--color-success)}._dotBusy_pyr7v_426{background-color:var(--color-danger)}._dotOoh_pyr7v_427{background-color:var(--color-border-strong)}._suggestedStrip_pyr7v_443{border-bottom:1px solid var(--color-border);background-color:var(--color-surface-muted);padding:12px 16px}._suggestedRow_pyr7v_449{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}._suggestedCard_pyr7v_456{background-color:var(--color-surface);border:1px solid var(--color-border);text-align:left;cursor:pointer;min-width:140px;transition:all var(--dur-fast) var(--ease-out);border-radius:8px;flex-shrink:0;padding:8px 12px}._suggestedCard_pyr7v_456:hover{border-color:var(--color-primary)}._suggestedCardActive_pyr7v_472{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-md)}._suggestedCardFree_pyr7v_479{border-color:var(--color-success-border);background-color:var(--color-success-soft)}._suggestedCardActive_pyr7v_472._suggestedCardFree_pyr7v_479{background-color:var(--color-primary);color:#fff}._gridEmpty_pyr7v_489{color:var(--color-text-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:64px 32px;font-size:12px;display:flex}._wizardConfirmContainer_pyr7v_501{width:100%;max-width:580px;margin:0 auto;padding:24px;overflow-y:auto}._confirmHeading_pyr7v_509{color:var(--color-text);margin:0 0 4px;font-size:18px;font-weight:700}._confirmSub_pyr7v_516{color:var(--color-text-soft);margin:0 0 20px;font-size:12px}._confirmCard_pyr7v_522{background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:16px;padding:16px;display:flex}._confirmRow_pyr7v_532{border-bottom:1px solid var(--color-border);flex-direction:column;gap:4px;padding-bottom:12px;display:flex}._confirmLabel_pyr7v_540{letter-spacing:.04em;color:var(--color-text-soft);text-transform:uppercase;font-size:10px;font-weight:700}._confirmVal_pyr7v_548{color:var(--color-text);font-size:13.5px;font-weight:500}._confirmAttendeeBadge_pyr7v_554{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:11.5px;font-weight:600;display:inline-flex}._avatarTiny_pyr7v_567{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;font-weight:700;display:inline-flex}._wizardFooter_pyr7v_580{background-color:var(--color-surface-muted);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}._wizardBackBtn_pyr7v_589{border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-soft);cursor:pointer;transition:all var(--dur-fast);border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;display:inline-flex}._wizardBackBtn_pyr7v_589:hover{background-color:var(--color-surface-hover);color:var(--color-text)}._wizardNextBtn_pyr7v_609{background-color:var(--color-primary);color:#fff;cursor:pointer;transition:all var(--dur-fast);box-shadow:var(--shadow-sm);border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:700;display:inline-flex}._wizardNextBtn_pyr7v_609:hover:not(:disabled){background-color:var(--color-primary-strong)}._wizardNextBtn_pyr7v_609:disabled{opacity:.5;cursor:not-allowed}._selectedStatusAlert_pyr7v_634{background-color:var(--color-primary-soft);color:var(--color-primary);border-radius:16px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;display:flex}._successContainer_pyr7v_647{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:520px;margin:0 auto;padding:48px 24px;display:flex}._successHeader_pyr7v_659{flex-direction:column;align-items:center;gap:12px;margin-bottom:24px;display:flex}._successTitle_pyr7v_667{color:var(--color-text);margin:0;font-size:20px;font-weight:700}._successSub_pyr7v_674{color:var(--color-text-soft);margin:4px 0 0;font-size:13px}._successCard_pyr7v_680{background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:left;width:100%;box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;margin-bottom:28px;padding:20px;display:flex}._successRow_pyr7v_694{border-bottom:1px dashed var(--color-border);align-items:flex-start;gap:10px;padding-bottom:10px;display:flex}._successRow_pyr7v_694:last-child{border-bottom:none;padding-bottom:0}._successLabel_pyr7v_707{color:var(--color-text-soft);text-transform:uppercase;flex-shrink:0;width:90px;font-size:11px;font-weight:700}._successVal_pyr7v_716{color:var(--color-text);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}._successActions_pyr7v_725{justify-content:center;align-items:center;gap:12px;width:100%;display:flex}._successBtn_pyr7v_733{cursor:pointer;transition:all var(--dur-fast);border:none;border-radius:8px;padding:10px 20px;font-size:12.5px;font-weight:700}._successBtnPrimary_pyr7v_743{background-color:var(--color-primary);color:#fff}._successBtnPrimary_pyr7v_743:hover{background-color:var(--color-primary-strong)}._successBtnSecondary_pyr7v_752{border:1px solid var(--color-border);color:var(--color-text-mid);background-color:#0000}._successBtnSecondary_pyr7v_752:hover{background-color:var(--color-surface-hover);color:var(--color-text)}@media (width<=768px){._wizardRow_pyr7v_90{flex-direction:column;overflow-y:auto}._wizardPanelLeft_pyr7v_96{border-right:none;border-bottom:1px solid var(--color-border)}._wizardPanelRight_pyr7v_106{border-left:none;border-top:1px solid var(--color-border);width:100%!important}._timePanelLeft_pyr7v_114{max-height:200px;overflow-y:auto;flex:none!important;width:100%!important}._timePanelRight_pyr7v_128{flex:1!important;width:100%!important}._gridToolbar_pyr7v_366{flex-direction:column;align-items:stretch;gap:10px;padding:12px}._wizardConfirmContainer_pyr7v_501{padding:16px}._stepper_pyr7v_17{gap:8px;padding:12px 16px}._stepText_pyr7v_72{display:none}._wizardFooter_pyr7v_580{flex-direction:column;align-items:stretch;gap:8px;padding:12px}._wizardBackBtn_pyr7v_589,._wizardNextBtn_pyr7v_609{justify-content:center;width:100%}._successActions_pyr7v_725{flex-direction:column;gap:8px}._successBtn_pyr7v_733{text-align:center;width:100%}}._titleVal_195yt_3{font-size:15px;font-weight:700}._inlineIcon_195yt_8{vertical-align:text-bottom;margin-right:4px}._agendaVal_195yt_13{font-style:italic}._lastRow_195yt_17{border-bottom:none}._guestList_195yt_21{flex-wrap:wrap;gap:6px;display:flex}._wizardDetailsForm_79bfd_3{width:100%;max-width:580px;margin:0 auto;padding:24px;overflow-y:auto}._detailsHeading_79bfd_11{color:var(--color-text);margin:0 0 4px;font-size:18px;font-weight:700}._detailsSub_79bfd_18{color:var(--color-text-soft);margin:0 0 24px;font-size:12px}._formGroup_79bfd_24{margin-bottom:16px}._formLabel_79bfd_28{letter-spacing:.04em;color:var(--color-text-soft);margin-bottom:6px;font-size:10px;font-weight:700;display:block}._formInput_79bfd_37{border:1px solid var(--color-border);background-color:var(--color-surface-muted);width:100%;color:var(--color-text);transition:border-color var(--dur-fast);border-radius:8px;padding:10px 12px;font-size:13px;font-weight:500}._formInput_79bfd_37:focus{border-color:var(--color-primary);outline:none}._formTextarea_79bfd_54{border:1px solid var(--color-border);background-color:var(--color-surface-muted);width:100%;color:var(--color-text);resize:vertical;transition:border-color var(--dur-fast);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:12.5px}._formTextarea_79bfd_54:focus{border-color:var(--color-primary);outline:none}@media (width<=768px){._wizardDetailsForm_79bfd_3{padding:16px}}._searchWrap_3i51q_3{padding:0 8px 12px}._contactMeta_3i51q_7{text-align:left;flex:1;min-width:0}._selectedMeta_3i51q_13{flex:1;min-width:0}._timelineContainer_1799e_3{-webkit-user-select:none;user-select:none;flex-direction:column;flex:1;max-height:380px;display:flex;overflow:auto}@media (width>=1440px){._timelineContainer_1799e_3{max-height:500px}}._timelineHeaderRow_1799e_18{background-color:var(--color-surface);border-bottom:1px solid var(--color-border-strong);z-index:5;display:flex;position:sticky;top:0}._timelineTimeCell_1799e_27{width:64px;color:var(--color-text-soft);border-right:1px solid var(--color-border);background-color:var(--color-surface);flex-shrink:0;padding:8px;font-size:10px;font-weight:700}._timelineHeaderCell_1799e_38{color:var(--color-text);border-right:1px solid var(--color-border);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:70px;padding:8px;font-size:11px;font-weight:600;overflow:hidden}._timelineBody_1799e_52{flex-direction:column;display:flex}._timelineRow_1799e_57{border-bottom:1px dashed var(--color-border);height:28px;display:flex}._timelineRow_1799e_57:nth-child(2n){border-bottom:1px solid var(--color-border-strong)}._timelineRow_1799e_57 ._timelineTimeCell_1799e_27{cursor:pointer;transition:background-color var(--dur-fast);justify-content:center;align-items:center;display:flex}._timelineTimeCellActive_1799e_75{background-color:var(--color-primary-soft);color:var(--color-primary);font-weight:700}._timelineCell_1799e_81{border-right:1px solid var(--color-border);cursor:pointer;transition:all var(--dur-fast);flex:1;min-width:70px;position:relative}._cellAvail_1799e_90{background-color:var(--color-success-soft)}._cellBusy_1799e_94{background-color:var(--color-danger-soft)}._cellOoh_1799e_98{background-color:var(--color-surface-muted);background-image:repeating-linear-gradient(45deg,#0000,#0000 4px,#00000008 4px 8px)}._cellSelected_1799e_109{box-shadow:inset 0 0 0 2px var(--color-primary);z-index:2}._gridTooltip_1799e_114{background-color:var(--color-text);color:var(--color-surface);z-index:10;white-space:nowrap;box-shadow:var(--shadow-md);pointer-events:none;border-radius:4px;margin-bottom:6px;padding:4px 8px;font-size:10px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}._cellPast_1799e_133{opacity:.35;cursor:not-allowed;background-image:none}._timelineTimeCell_1799e_27:disabled{opacity:.35;cursor:not-allowed}._header_1afpk_3{padding:0 8px 12px}._slotNote_1afpk_7{color:var(--color-text-soft);font-size:11px}._cardMeta_1afpk_12{flex:1;min-width:0}._toolbarGroup_1hpun_3{align-items:center;gap:8px;display:flex}._toolbarLabel_1hpun_9{color:var(--color-text-soft);font-size:10px;font-weight:600}._suggestedHeader_1hpun_15{align-items:center;gap:6px;margin-bottom:8px;display:flex}._suggestedTitle_1hpun_22{letter-spacing:.04em;color:var(--color-text-mid);font-size:10px;font-weight:700}._freeBadge_1hpun_29{font-size:9px;font-weight:700}._slotTime_1hpun_34{margin-top:2px;font-size:12px;font-weight:700}._noSlots_1hpun_40{color:var(--color-text-mid);padding:4px 0;font-size:11px}._emptyIcon_1hpun_46{color:var(--color-text-soft);margin-bottom:8px}._wizardContentClip_14i7n_3{position:relative;overflow:hidden}._wizardStep_14i7n_8{flex:1;height:100%;min-height:0;display:flex}._slotsDate_1rdif_3{color:var(--color-text-mid);margin-bottom:12px;font-size:11.5px;font-weight:600}._slotsEmpty_1rdif_10{text-align:center;min-height:180px;color:var(--color-text-soft);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}._slotsEmptyIcon_1rdif_24{border-radius:var(--radius-full);background-color:var(--color-primary-05);width:56px;height:56px;color:var(--color-primary);justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}._slotsEmptyTitle_1rdif_36{color:var(--color-text);font-size:14px;font-weight:700}._slotList_1rdif_42{flex-direction:column;flex:1;gap:6px;min-height:0;max-height:440px;padding-right:2px;display:flex;overflow-y:auto}@media (width>=1440px){._slotList_1rdif_42{max-height:460px}}._slot_1rdif_3{border-radius:var(--radius-md);border:1.5px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:11px 14px;font-size:12.5px;font-weight:600;display:flex}._slot_1rdif_3:hover{border-color:var(--color-primary-border);box-shadow:var(--shadow-sm)}._slotActive_1rdif_86{border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-on-primary);box-shadow:0 4px 14px var(--color-primary-30)}._slot_1rdif_3{flex-direction:column;align-items:stretch;gap:4px;display:flex}._slotWithConflicts_1rdif_102{border-style:dashed;border-color:var(--color-warning,#d97706);background-color:var(--color-warning-soft,#d9770614)}._slotWithConflicts_1rdif_102:hover{border-color:var(--color-warning,#d97706);box-shadow:var(--shadow-sm)}._slotMain_1rdif_113{justify-content:space-between;align-items:center;width:100%;display:flex}._slotConflictList_1rdif_120{border-top:1px dashed var(--color-border);color:var(--color-danger);align-items:center;gap:4px;margin-top:4px;padding-top:4px;font-size:10px;display:flex}._conflictLabel_1rdif_131{margin-right:2px;font-weight:500}._conflictAvatar_1rdif_136{background-color:var(--color-danger-soft);width:16px;height:16px;color:var(--color-danger);border:1px solid var(--color-danger);border-radius:50%;justify-content:center;align-items:center;font-size:8px;font-weight:700;display:inline-flex}._slotActive_1rdif_86 ._slotConflictList_1rdif_120{color:#ffffffe6;border-top-color:#ffffff40}._slotActive_1rdif_86 ._conflictAvatar_1rdif_136{background-color:var(--color-surface);color:var(--color-danger);border-color:var(--color-surface)}._noSlots_1rdif_162{text-align:center;color:var(--color-text-soft);padding:20px 0;font-size:13px}._tzWrap_n6w9w_3{flex-shrink:0;position:relative}._tzBtn_n6w9w_8{border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);align-items:center;gap:7px;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex}._tzBtn_n6w9w_8:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}._tzBtnOffset_n6w9w_30{color:var(--color-primary);font-size:11px;font-weight:700}._tzChevron_n6w9w_36{color:var(--color-text-soft)}._tzBackdrop_n6w9w_40{z-index:30;cursor:default;background:0 0;border:none;position:fixed;inset:0}._tzPop_n6w9w_49{z-index:40;border-radius:var(--radius-lg);background-color:var(--color-surface);border:1px solid var(--color-border);width:248px;box-shadow:var(--shadow-lg);padding:8px;position:absolute;top:calc(100% + 6px);right:0}._tzSearch_n6w9w_62{border-radius:var(--radius-md);background-color:var(--color-surface-muted);height:34px;color:var(--color-text-soft);align-items:center;gap:8px;margin-bottom:6px;padding:0 10px;display:flex}._tzSearchInput_n6w9w_74{min-width:0;color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-size:12.5px}._tzList_n6w9w_84{scrollbar-width:none;flex-direction:column;gap:1px;max-height:260px;display:flex;overflow-y:auto}._tzList_n6w9w_84:hover{scrollbar-width:thin}._tzList_n6w9w_84::-webkit-scrollbar{background:0 0;width:5px}._tzList_n6w9w_84::-webkit-scrollbar-track{background:0 0}._tzList_n6w9w_84::-webkit-scrollbar-thumb{border-radius:var(--radius-full,4px);background:0 0}._tzList_n6w9w_84:hover::-webkit-scrollbar-thumb{background:var(--color-border,#cbd5e1)}._tzList_n6w9w_84:hover::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong,#94a3b8)}._tzRow_n6w9w_119{border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;text-align:left;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}._tzRow_n6w9w_119:hover{background-color:var(--color-surface-muted)}._tzRowActive_n6w9w_138{background-color:var(--color-primary-10)}._tzCity_n6w9w_142{flex:1;font-weight:600}._tzRowActive_n6w9w_138 ._tzCity_n6w9w_142{color:var(--color-primary)}._tzRowOffset_n6w9w_151{color:var(--color-text-soft);font-size:11px;font-weight:600}._tzCheck_n6w9w_157{color:var(--color-primary)}._tzEmpty_n6w9w_161{color:var(--color-text-soft);margin:8px 4px;font-size:12px}._badgeWrap_swq6w_3{width:64px;height:64px;margin:0 auto 12px;position:relative}._badgeCircle_swq6w_10{background-color:var(--color-success-soft);border:2px solid var(--color-success);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex}._guestRow_swq6w_21{flex-flow:wrap;gap:6px;display:flex}._eventVal_swq6w_28{font-size:14px;font-weight:700}._iconRow_swq6w_33{align-items:center;gap:6px;display:flex}._iconRowMuted_swq6w_39{color:var(--color-text-mid);align-items:center;gap:6px;margin-top:2px;display:flex}._iconRowTop_swq6w_47{align-items:flex-start;gap:6px;display:flex}._agendaVal_swq6w_53{font-style:italic;font-weight:500}._iconTop_swq6w_58{margin-top:2px}._schedWrap_d5mtd_4{flex-direction:column;gap:14px;padding:18px 28px 40px;display:flex}._bucketTabs_d5mtd_11{flex-wrap:wrap;gap:6px;display:flex}._bucketTab_d5mtd_11{border-radius:var(--radius-full);color:var(--color-text-soft);border:1px solid var(--color-border);cursor:pointer;transition:color var(--dur-fast) var(--ease-out);background:0 0;align-items:center;gap:7px;padding:7px 15px;font-size:12.5px;font-weight:500;display:flex;position:relative;overflow:hidden}._bucketTab_d5mtd_11:hover{color:var(--color-text)}._bucketTabActive_d5mtd_38,._bucketTabActive_d5mtd_38:hover{color:var(--color-primary);border-color:var(--color-primary-border);font-weight:600}._bucketBg_d5mtd_45{z-index:0;border-radius:var(--radius-full);background-color:var(--color-primary-10);position:absolute;inset:0}._bucketLabel_d5mtd_53{z-index:1;position:relative}._bucketCount_d5mtd_58{z-index:1;border-radius:var(--radius-full);text-align:center;background-color:var(--color-surface-muted);min-width:18px;color:var(--color-text-mid);padding:0 6px;font-size:11px;font-weight:700;position:relative}._bucketTabActive_d5mtd_38 ._bucketCount_d5mtd_58{background-color:var(--color-primary-10);color:var(--color-primary)}._meetingList_d5mtd_76{flex-direction:column;gap:10px;display:flex}._meeting_d5mtd_76{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);align-items:center;gap:14px;padding:14px 18px;display:flex}._meeting_d5mtd_76:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}._datePlate_d5mtd_101{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-primary-10);flex-direction:column;justify-content:center;align-items:center;width:48px;min-width:48px;height:56px;display:flex}._datePlatePassed_d5mtd_114{background-color:var(--color-bg)}._datePlateCanceled_d5mtd_118{background-color:var(--color-danger-soft)}._datePlateMonth_d5mtd_122{letter-spacing:.06em;color:var(--color-primary);font-size:9px;font-weight:700}._datePlateDay_d5mtd_129{color:var(--color-primary);font-size:18px;font-weight:800;line-height:1}._datePlateCanceled_d5mtd_118 ._datePlateMonth_d5mtd_122,._datePlateCanceled_d5mtd_118 ._datePlateDay_d5mtd_129{color:var(--color-danger)}._meetingAvatar_d5mtd_141{background-color:var(--avatar-color);width:36px;height:36px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}._meetingBody_d5mtd_155{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}._meetingTitle_d5mtd_163{color:var(--color-text);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}._meetingMeta_d5mtd_174{color:var(--color-text-mid);flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;display:flex}._meetingMetaItem_d5mtd_183{align-items:center;gap:4px;display:inline-flex}._meetingActions_d5mtd_189{flex-shrink:0;align-items:center;gap:6px;display:flex}._acceptBtn_d5mtd_196,._joinBtn_d5mtd_197{background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:5px;padding:7px 13px;font-size:11.5px;font-weight:600;transition:opacity .15s,background-color .15s;display:inline-flex}._acceptBtnDisabled_d5mtd_214,._acceptBtn_d5mtd_196:disabled,._joinBtnDisabled_d5mtd_216,._joinBtn_d5mtd_197:disabled{background-color:var(--color-surface-muted);color:var(--color-text-mid);cursor:not-allowed;opacity:.7}._declineBtn_d5mtd_224{border:1px solid var(--color-border);color:var(--color-text-mid);cursor:pointer;background:0 0;border-radius:8px;padding:7px 12px;font-size:11.5px;font-weight:600}._declineBtnDisabled_d5mtd_235,._declineBtn_d5mtd_224:disabled{opacity:.5;cursor:not-allowed}._cancelBtn_d5mtd_241{border:1px solid var(--color-danger);color:var(--color-danger);cursor:pointer;background:0 0;border-radius:8px;padding:7px 12px;font-size:11.5px;font-weight:600}._cancelBtnDisabled_d5mtd_252,._cancelBtn_d5mtd_241:disabled{border-color:var(--color-border);color:var(--color-text-mid);cursor:not-allowed;opacity:.5}._statusPill_d5mtd_260{border-radius:var(--radius-full);align-items:center;gap:4px;padding:5px 11px;font-size:11px;font-weight:700;display:inline-flex}._statusAccepted_d5mtd_270{background-color:var(--color-success-soft);color:var(--color-success)}._statusPending_d5mtd_275{background-color:var(--color-warn-soft);color:var(--color-warn)}._statusRejected_d5mtd_280,._statusCanceled_d5mtd_281{background-color:var(--color-danger-soft);color:var(--color-danger)}._liveNow_d5mtd_288{background-color:var(--color-success-soft);color:var(--color-success)}._liveNowDot_d5mtd_293{border-radius:var(--radius-full);background-color:var(--color-success);width:7px;height:7px;animation:1.6s ease-in-out infinite _live-now-breathe_d5mtd_1}@keyframes _live-now-breathe_d5mtd_1{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}@media (prefers-reduced-motion:reduce){._liveNowDot_d5mtd_293{animation:none}}._statusCompleted_d5mtd_319{background-color:var(--color-bg);color:var(--color-text-mid)}._empty_d5mtd_324{text-align:center;background-color:#0000;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}._emptyIconWrap_d5mtd_334{border-radius:var(--radius-full);background-color:var(--color-surface-muted);width:64px;height:64px;color:var(--color-text-soft);justify-content:center;align-items:center;margin-bottom:16px;display:flex}._emptyTitle_d5mtd_346{font-size:var(--font-lg);color:var(--color-text);margin:0 0 8px;font-weight:700}._emptyText_d5mtd_353{font-size:var(--font-sm);color:var(--color-text-soft);max-width:300px;margin:0;line-height:1.5}@media (width<=640px){._meeting_d5mtd_76{flex-wrap:wrap;align-items:flex-start;gap:12px 14px;padding:14px}._meetingActions_d5mtd_189{flex-wrap:wrap;flex-basis:100%;gap:8px;width:100%}._acceptBtn_d5mtd_196,._joinBtn_d5mtd_197,._declineBtn_d5mtd_224,._cancelBtn_d5mtd_241{padding:9px 14px;font-size:12px}}._participantsChip_d5mtd_389{border:1px solid var(--color-border);border-radius:var(--radius-full);background-color:var(--color-surface);color:var(--color-text-mid);cursor:pointer;align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}._participantsChip_d5mtd_389:hover{color:var(--color-text);border-color:var(--color-text-mid)}._participantsPanel_d5mtd_409{flex-direction:column;gap:2px;min-width:230px;display:flex}._participantRow_d5mtd_416{border-radius:var(--radius-md);align-items:center;gap:8px;padding:6px 8px;display:flex}._participantRow_d5mtd_416:hover{background-color:var(--color-bg)}._participantAvatar_d5mtd_428{border-radius:var(--radius-full);background-color:var(--avatar-color);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:9px;font-weight:700;display:inline-flex}._participantName_d5mtd_442{min-width:0;color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-weight:600;overflow:hidden}._participantOrganizer_d5mtd_453{color:var(--color-text-mid);font-weight:500}._participantStatus_d5mtd_458{flex-shrink:0;font-size:10px;font-weight:700}._participantAccepted_d5mtd_464{color:var(--color-success)}._participantRejected_d5mtd_468{color:var(--color-danger)}._participantPending_d5mtd_472{color:var(--color-warn)}._list_1vv5w_1{flex-direction:column;gap:10px;display:flex}._meeting_1vv5w_7{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);align-items:center;gap:14px;padding:14px 18px;display:flex}._datePlate_1vv5w_17{border-radius:var(--radius-md);background-color:var(--color-surface-muted);width:48px;min-width:48px;height:56px;animation:1.5s ease-in-out infinite _pulse_1vv5w_1}._avatar_1vv5w_26{background-color:var(--color-surface-muted);border-radius:50%;flex-shrink:0;width:36px;height:36px;animation:1.5s ease-in-out infinite _pulse_1vv5w_1}._body_1vv5w_35{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}._title_1vv5w_43{background-color:var(--color-surface-muted);border-radius:4px;width:120px;height:14px;animation:1.5s ease-in-out infinite _pulse_1vv5w_1}._meta_1vv5w_51{background-color:var(--color-surface-muted);border-radius:4px;width:180px;height:12px;animation:1.5s ease-in-out infinite _pulse_1vv5w_1}._actions_1vv5w_59{flex-shrink:0;align-items:center;gap:6px;display:flex}._btn_1vv5w_66{background-color:var(--color-surface-muted);border-radius:8px;width:64px;height:28px;animation:1.5s ease-in-out infinite _pulse_1vv5w_1}@keyframes _pulse_1vv5w_1{0%,to{opacity:1}50%{opacity:.5}}._screen_18kgg_6{flex-direction:column;min-height:100%;display:flex}._head_18kgg_13{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:22px 28px 0}._headTop_18kgg_19{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}._title_18kgg_27{font-size:var(--font-xl);color:var(--color-text);letter-spacing:-.02em;margin:0 0 2px;font-weight:600}._subtitle_18kgg_35{color:var(--color-text-soft);margin:0;font-size:12.5px}._headBadge_18kgg_41{border-radius:var(--radius-sm);background-color:var(--color-primary-05);padding:6px 14px}._headBadgeNum_18kgg_47{font-size:var(--font-md);color:var(--color-primary);font-weight:700}._headBadgeLabel_18kgg_53{color:var(--color-text-soft);margin-left:6px;font-size:11px}._tabs_18kgg_59{gap:0;margin-top:14px;display:flex}._tab_18kgg_59{color:var(--color-text-soft);cursor:pointer;transition:color var(--dur-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:7px;padding:11px 22px;font-size:14px;font-weight:500;display:flex;position:relative}._tab_18kgg_59:hover{color:var(--color-text)}._tabActive_18kgg_84,._tabActive_18kgg_84:hover{color:var(--color-primary);font-weight:600}._tabUnderline_18kgg_90{background-color:var(--color-primary);border-radius:2px 2px 0 0;height:2.5px;position:absolute;bottom:-1px;left:16px;right:16px}._body_18kgg_100{flex:1;min-height:0;position:relative;overflow:hidden}._tabContent_18kgg_107{height:100%;overflow-y:auto}@media (width<=425px){._tabContent_18kgg_107{padding-bottom:calc(var(--bottom-nav-offset,50px) - 10px);transition:padding-bottom var(--dur-base) var(--ease-out)}}._notesInput_1ut2q_7{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);width:100%;color:var(--color-text);resize:vertical;padding:8px 10px;font-family:inherit;font-size:13px}._notesInput_1ut2q_7:focus{border-color:var(--color-primary-border);outline:none}._actionSpacer_1ut2q_24{flex:1}._panelHead_1ut2q_29{z-index:2;background-color:var(--color-surface);border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:sticky;top:0}._panelTitle_1ut2q_41{font-size:var(--font-lg);color:var(--color-text);font-weight:700}._panelForm_1ut2q_47{flex-direction:column;gap:16px;padding:18px 20px 24px;display:flex}._microLabel_1ut2q_54{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-very-soft);font-size:10px;font-weight:700}._panelInput_1ut2q_62{width:100%;height:var(--height-input);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);padding:0 10px;font-family:inherit;font-size:13px}._panelInput_1ut2q_62:focus{border-color:var(--color-primary-border);outline:none}._inputError_1ut2q_79,._inputError_1ut2q_79:focus{border-color:var(--color-danger)}._fieldError_1ut2q_84{font-size:var(--font-xs);color:var(--color-danger);margin-top:2px}._statusPills_1ut2q_90{flex-wrap:wrap;gap:6px;display:flex}._statusPill_1ut2q_90{border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-soft);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex}._statusPillActive_1ut2q_110{background-color:color-mix(in srgb, var(--status-color) 14%, transparent);border-color:color-mix(in srgb, var(--status-color) 45%, transparent);color:var(--status-color)}._dtGrid_1ut2q_116{grid-template-columns:1.3fr 1fr 1fr;align-items:end;gap:10px;display:grid}@media (width<=480px){._dtGrid_1ut2q_116{grid-template-columns:1fr 1fr}._dtGrid_1ut2q_116>:first-child{grid-column:1/-1}}._checkRow_1ut2q_133{width:fit-content;color:var(--color-text);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}._checkbox_1ut2q_143{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}._recurToggle_1ut2q_150{border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 12px;display:flex}._recurToggleOn_1ut2q_163{background-color:var(--color-primary-05);border-color:var(--color-primary-30)}._recurToggleLabel_1ut2q_168{color:var(--color-text-mid);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}._recurToggleOn_1ut2q_163 ._recurToggleLabel_1ut2q_168{color:var(--color-primary)}._recurSwitch_1ut2q_181{border-radius:var(--radius-full);background-color:var(--color-border-strong);flex-shrink:0;width:34px;height:18px;transition:background-color .15s;position:relative}._recurSwitchOn_1ut2q_191{background-color:var(--color-primary)}._recurKnob_1ut2q_195{background-color:var(--color-on-primary);border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px}._recurSwitchOn_1ut2q_191 ._recurKnob_1ut2q_195{transform:translate(16px)}._panelFooter_1ut2q_210{border-top:1px solid var(--color-divider);background-color:var(--color-surface)}._panelSummary_1ut2q_215{background-color:var(--color-primary-05);color:var(--color-text-mid);align-items:center;gap:8px;padding:12px 20px;font-size:12.5px;font-weight:600;display:flex}._panelActions_1ut2q_226{align-items:center;gap:8px;padding:14px 20px;display:flex}._recurSection_1ut2q_234{flex-direction:column;gap:12px;display:flex}._recurBuilder_1ut2q_240{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);flex-direction:column;gap:12px;padding:12px;display:flex}._recurChips_1ut2q_250{flex-wrap:wrap;gap:6px;display:flex}._recurChip_1ut2q_250{border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-soft);cursor:pointer;background:0 0;padding:6px 12px;font-size:12px;font-weight:600}._recurChipActive_1ut2q_267{background-color:var(--color-primary-10);border-color:var(--color-primary-border);color:var(--color-primary)}._recurInline_1ut2q_273{color:var(--color-text-mid);align-items:center;gap:8px;font-size:13px;display:flex}._recurInlineLabel_1ut2q_281{color:var(--color-text-mid);font-size:13px}._recurNumber_1ut2q_286{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);width:56px;height:32px;color:var(--color-text);padding:0 8px;font-size:13px}._recurWeekdays_1ut2q_297{flex-wrap:wrap;gap:6px;display:flex}._recurDay_1ut2q_303{border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-text-soft);cursor:pointer;background:0 0;border-radius:50%;font-size:12px;font-weight:700}._recurDayActive_1ut2q_315{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}._recurEnds_1ut2q_321{flex-direction:column;gap:8px;display:flex}._recurRadio_1ut2q_327{color:var(--color-text-mid);align-items:center;gap:8px;font-size:13px;display:flex}._recurRadio_1ut2q_327 input[type=radio]{accent-color:var(--color-primary)}._recurDate_1ut2q_339{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);height:32px;color:var(--color-text);padding:0 8px;font-size:12.5px}._recurSummaryBox_1ut2q_349{border-radius:var(--radius-sm);background-color:var(--color-primary-05);color:var(--color-primary);text-transform:capitalize;padding:8px 10px;font-size:12px;font-weight:600}._panelSummaryError_1ut2q_360{align-items:center;gap:var(--space-1);font-weight:600;display:inline-flex;color:var(--color-danger)!important}._disabledButtonWrapper_1ut2q_368{cursor:not-allowed;display:inline-block}._resolveConflictBtn_1ut2q_373{background-color:var(--color-danger);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--dur-fast) var(--ease-out);border:none;align-items:center;gap:4px;margin-left:8px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}._resolveConflictBtn_1ut2q_373:hover{opacity:.85}._upcomingCard_1ut2q_394{background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);margin-top:var(--space-4)}._upcomingHeader_1ut2q_402{font-size:var(--font-xs);color:var(--color-text-mid);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2);align-items:center;gap:var(--space-1);font-weight:700;display:flex}._upcomingRow_1ut2q_414{font-size:var(--font-sm);color:var(--color-text);padding:var(--space-1) 0;border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;display:flex}._upcomingRow_1ut2q_414:last-child{border-bottom:none}._upcomingRowDate_1ut2q_427{font-weight:500}._upcomingRowTime_1ut2q_431{color:var(--color-text-soft);font-variant-numeric:tabular-nums}._upcomingMore_1ut2q_436{font-size:var(--font-xs);color:var(--color-text-soft);margin-top:var(--space-2);text-align:center;font-style:italic}._differentTimeRow_1ut2q_445{align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--font-sm);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}._differentTimeList_1ut2q_456{gap:var(--space-2);margin-top:var(--space-3);background-color:var(--color-surface-muted);border:1px dashed var(--color-border);border-radius:var(--radius-md);flex-direction:column;padding:10px;display:flex}._differentTimeRowItem_1ut2q_467{align-items:center;gap:var(--space-2);display:flex}._differentTimeRowItem_1ut2q_467 input[type=time]{box-sizing:border-box;flex-shrink:0;width:90px}._differentTimeDayLabel_1ut2q_479{width:40px;font-size:var(--font-sm);color:var(--color-text);flex-shrink:0;font-weight:600;display:inline-block}._differentTimeNote_1ut2q_488{font-size:var(--font-xs);color:var(--color-text-soft);margin-top:var(--space-2);line-height:1.4}._differentTimeRowGroup_1ut2q_495{gap:var(--space-2);flex-direction:column;display:flex}._differentTimeDayLabelSpacer_1ut2q_501{flex-shrink:0;width:40px;display:inline-block}._slotActionBtn_1ut2q_507{color:var(--color-primary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:background-color var(--dur-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}._slotActionBtn_1ut2q_507:hover{background-color:var(--color-primary-10)}._slotActionBtnTrash_1ut2q_524{color:var(--color-text-soft);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:color var(--dur-fast), background-color var(--dur-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}._slotActionBtnTrash_1ut2q_524:hover{color:var(--color-danger);background-color:color-mix(in srgb, var(--color-danger) 10%, transparent)}._center_10cfo_6{place-items:center;padding:40px 0;display:grid}._field_10cfo_12{flex-direction:column;gap:6px;display:flex}._dash_10cfo_18{color:var(--color-text-soft);font-size:var(--font-sm)}._timeInput_ik08d_4{margin:0;padding:4px 8px}._errorStack_q9qoj_4{flex-direction:column;align-items:flex-start;gap:4px;display:flex}._errorLine_q9qoj_11{align-items:center;gap:4px;display:inline-flex}._tzWrap_horpb_4{position:relative}._tzTrigger_horpb_8{width:100%;height:var(--height-input);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);align-items:center;gap:8px;padding:0 10px;font-size:13px;display:flex}._tzTrigger_horpb_8:hover{border-color:var(--color-primary)}._tzGlobe_horpb_30{color:var(--color-text-soft);flex-shrink:0}._tzTriggerLabel_horpb_35{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}._tzTriggerOffset_horpb_44{color:var(--color-primary);flex-shrink:0;font-size:11px;font-weight:700}._tzChevron_horpb_51{color:var(--color-text-soft);flex-shrink:0}._tzBackdrop_horpb_56{z-index:30;cursor:default;background:0 0;border:none;position:fixed;inset:0}._tzPop_horpb_65{z-index:40;border-radius:var(--radius-lg);background-color:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);padding:8px;position:absolute;top:calc(100% + 6px);left:0;right:0}._tzSearch_horpb_78{border-radius:var(--radius-md);background-color:var(--color-surface-muted);height:34px;color:var(--color-text-soft);align-items:center;gap:8px;margin-bottom:6px;padding:0 10px;display:flex}._tzSearchInput_horpb_90{min-width:0;color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-size:12.5px}._tzList_horpb_100{scrollbar-width:none;flex-direction:column;gap:1px;max-height:280px;display:flex;overflow-y:auto}._tzList_horpb_100:hover{scrollbar-width:thin}._tzList_horpb_100::-webkit-scrollbar{background:0 0;width:5px}._tzList_horpb_100::-webkit-scrollbar-track{background:0 0}._tzList_horpb_100::-webkit-scrollbar-thumb{border-radius:var(--radius-full,4px);background:0 0}._tzList_horpb_100:hover::-webkit-scrollbar-thumb{background:var(--color-border,#cbd5e1)}._tzList_horpb_100:hover::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong,#94a3b8)}._tzRow_horpb_135{border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;text-align:left;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}._tzRow_horpb_135:hover{background-color:var(--color-surface-muted)}._tzRowActive_horpb_154{background-color:var(--color-primary-10)}._tzRowLabel_horpb_158{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}._tzRowActive_horpb_154 ._tzRowLabel_horpb_158{color:var(--color-primary)}._tzRowOffset_horpb_171{color:var(--color-text-soft);flex-shrink:0;font-size:11px;font-weight:600}._tzCheck_horpb_178{color:var(--color-primary);flex-shrink:0}._tzEmpty_horpb_183{text-align:center;color:var(--color-text-soft);padding:12px;font-size:12px}._gridScroll_1vnsd_7{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;flex:1;min-width:0;overflow:auto}._gridScroll_1vnsd_7::-webkit-scrollbar{width:6px;height:6px}._gridScroll_1vnsd_7::-webkit-scrollbar-track{background:0 0}._gridScroll_1vnsd_7::-webkit-scrollbar-thumb{background-color:var(--color-border-strong);border-radius:4px}._gridScroll_1vnsd_7::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-soft)}._gridInner_1vnsd_33{min-width:700px;display:flex}._gutter_1vnsd_38{border-right:1px solid var(--color-divider);flex-shrink:0;width:56px}._gutterHead_1vnsd_44{height:60px}._gutterAllDay_1vnsd_48{height:calc(var(--all-day-rows,1) * 24px + 6px);border-bottom:1px solid var(--color-divider);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-very-soft);justify-content:flex-end;align-items:center;padding-right:8px;font-size:9px;font-weight:600;display:flex}._gutterHour_1vnsd_62{height:52px;font-size:var(--font-xs);color:var(--color-text-soft);justify-content:flex-end;align-items:flex-start;padding-right:8px;font-weight:500;display:flex}._dayCol_1vnsd_73{border-right:1px solid var(--color-divider);flex:1;min-width:90px}._dayHeader_1vnsd_79{z-index:15;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;justify-content:center;align-items:center;gap:1px;height:60px;display:flex;position:sticky;top:0}._colDay_1vnsd_93{font-size:var(--font-xs);color:var(--color-text-soft);text-transform:uppercase;letter-spacing:.04em;font-weight:600}._colDayToday_1vnsd_101{color:var(--color-primary)}._dayNum_1vnsd_105{color:var(--color-text);justify-content:center;align-items:center;width:26px;height:26px;font-size:18px;font-weight:700;line-height:1;display:flex}@media (width<=480px){._dayNum_1vnsd_105{width:22px;height:22px;font-size:14px}}._dayNumToday_1vnsd_125{background-color:var(--color-primary);color:var(--color-on-primary);border-radius:50%}._dayCount_1vnsd_131{color:var(--color-text-very-soft);font-size:9px;font-weight:600}._allDayBand_1vnsd_137{min-height:30px;height:calc(var(--all-day-rows,1) * 24px + 6px);border-bottom:1px solid var(--color-divider);flex-direction:column;gap:2px;padding:3px 4px;display:flex;overflow-y:auto}._allDayChip_1vnsd_148{border:none;border-left:3px solid var(--status-color);background-color:color-mix(in srgb, var(--status-color) 16%, transparent);color:var(--status-color);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:5px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;font-weight:600;display:flex;overflow:hidden}._hoursWrap_1vnsd_168{height:var(--grid-h);background-color:var(--color-off-hours);position:relative}._workBand_1vnsd_174{left:0;right:0;top:var(--top);height:var(--h);z-index:0;background-color:var(--color-surface);position:absolute}._hourRow_1vnsd_184{z-index:1;border:none;border-bottom:1px solid var(--color-divider);cursor:pointer;width:100%;height:52px;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;padding:0;display:block;position:relative}._hourRow_1vnsd_184:hover{background-color:var(--color-primary-10)}._nowLine_1vnsd_203{left:0;right:0;top:var(--top);z-index:4;border-top:2px solid var(--color-secondary);pointer-events:none;height:0;position:absolute}._nowDot_1vnsd_214{background-color:var(--color-secondary);border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;left:-1px}._block_1vnsd_224{top:var(--top);height:var(--h);left:calc(2px + var(--lane) * (100% - 4px) / var(--lanes));width:calc((100% - 4px) / var(--lanes) - 2px);z-index:3;background-color:color-mix(in srgb, var(--status-color) 14%, var(--color-surface));border:none;border-left:3px solid var(--status-color);cursor:pointer;text-align:left;font:inherit;box-shadow:var(--shadow-sm);transition:background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:4px 7px;display:flex;position:absolute;overflow:hidden}._block_1vnsd_224:hover{z-index:10;background-color:color-mix(in srgb, var(--status-color) 26%, var(--color-surface));box-shadow:var(--shadow-md,0 4px 14px #0006)}._block_1vnsd_224:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}._blockTitle_1vnsd_261{width:100%;color:var(--status-color);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:11px;font-weight:600;line-height:1.35;display:block;overflow:hidden}._blockTitle_1vnsd_261 svg{vertical-align:-2px;margin-right:3px}._blockTime_1vnsd_279{font-size:var(--font-xs);color:var(--status-color);opacity:.75;white-space:nowrap}@media (width<=640px){._blockTime_1vnsd_279{font-size:10px}}._monthScroll_1vnsd_293{background-color:var(--color-surface);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}._monthHead_1vnsd_302{border-bottom:1px solid var(--color-border);flex-shrink:0;grid-template-columns:repeat(7,1fr);display:grid}._monthHeadCell_1vnsd_309{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-soft);padding:10px 8px;font-size:11px;font-weight:700}._monthGrid_1vnsd_319{flex:1;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(96px,1fr);display:grid}._monthCell_1vnsd_326{border-right:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);cursor:pointer;min-height:0;transition:background-color var(--dur-fast) var(--ease-out);flex-direction:column;gap:3px;padding:5px 6px;display:flex;overflow:hidden}._monthCell_1vnsd_326:nth-child(7n){border-right:none}._monthCell_1vnsd_326:hover{background-color:var(--color-primary-05)}._monthCellOff_1vnsd_347{background-color:var(--color-off-hours)}._monthCellOff_1vnsd_347 ._monthDayNum_1vnsd_351{color:var(--color-text-very-soft)}._monthCellToday_1vnsd_355{background-color:var(--color-primary-05)}._monthDayNum_1vnsd_351{text-align:right;color:var(--color-text);font-size:12px;font-weight:600}._monthDayNumToday_1vnsd_366{border-radius:var(--radius-full);background-color:var(--color-primary);min-width:20px;height:20px;color:var(--color-on-primary);text-align:center;align-self:flex-end;padding:0 2px;font-weight:800;line-height:20px}._monthChip_1vnsd_379{text-align:left;border:none;border-left:2px solid var(--status-color);background-color:color-mix(in srgb, var(--status-color) 14%, var(--color-surface));width:100%;color:var(--status-color);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);border-radius:4px;padding:1px 6px;font-size:10.5px;font-weight:600;display:block;overflow:hidden}._monthChip_1vnsd_379:hover{background-color:color-mix(in srgb, var(--status-color) 26%, var(--color-surface))}._monthMore_1vnsd_402{color:var(--color-text-soft);padding-left:4px;font-size:9.5px;font-weight:600}._agendaScroll_1vnsd_410{background-color:var(--color-bg);flex:1;min-height:0;padding:18px 24px;overflow-y:auto}._agendaGroup_1vnsd_418{margin-bottom:20px}._agendaDay_1vnsd_422{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:8px;padding-left:4px;font-size:12px;font-weight:700}._agendaItems_1vnsd_432{flex-direction:column;gap:6px;display:flex}._agendaRow_1vnsd_438{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);cursor:pointer;text-align:left;width:100%;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);align-items:center;gap:12px;padding:11px 14px;display:flex}._agendaRow_1vnsd_438:hover{border-color:var(--status-color);box-shadow:var(--shadow-sm)}._agendaAccent_1vnsd_459{background-color:var(--status-color);border-radius:2px;flex-shrink:0;width:4px;height:36px}._agendaBody_1vnsd_467{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}._agendaTitle_1vnsd_475{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}._agendaMeta_1vnsd_484{color:var(--color-text-soft);font-size:11.5px}._agendaMeta_1vnsd_484 svg{vertical-align:-1px}._agendaPill_1vnsd_493{color:var(--status-color);background-color:color-mix(in srgb, var(--status-color) 14%, transparent);border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}._agendaEmpty_1vnsd_506{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:60px 20px;display:flex}._agendaEmptyIcon_1vnsd_517{color:var(--color-text-very-soft);margin-bottom:4px}._agendaEmptyTitle_1vnsd_522{font-size:var(--font-md);color:var(--color-text);font-weight:700}._agendaEmptyText_1vnsd_528{color:var(--color-text-soft);font-size:13px}._agendaEmptyBtn_1vnsd_533{border-radius:var(--radius-md);background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;margin-top:8px;padding:9px 18px;font-size:13px;font-weight:700}._availabilityBand_1vnsd_546{left:3px;right:5px;top:var(--top);height:var(--h);z-index:2;cursor:pointer;box-sizing:border-box;transition:background-color var(--dur-fast) var(--ease-out), backdrop-filter var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background-color:#22c55e14;border-top:1px dashed #22c55e40;border-bottom:1px dashed #22c55e40;border-left:3px solid #22c55e;justify-content:space-between;align-items:flex-start;padding:4px 8px;display:flex;position:absolute;overflow:hidden}._availabilityBand_1vnsd_546:hover{z-index:10;background-color:color-mix(in srgb, #22c55e 20%, var(--color-surface));-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-md,0 4px 14px #0006)}._availabilityBandLabel_1vnsd_579{color:#15803d;align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}._availabilityBandEditBtn_1vnsd_589{color:#15803d;cursor:pointer;opacity:0;transition:opacity var(--dur-fast) var(--ease-out);background:#ffffffd9;border:1px solid #16653433;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}._availabilityBand_1vnsd_546:hover ._availabilityBandEditBtn_1vnsd_589{opacity:1}._availabilityBandEditBtn_1vnsd_589:hover{background:#fff;border-color:#15803d}._dragSelectionHighlight_1vnsd_612{left:0;right:0;top:var(--top);height:var(--h);z-index:10;border:2px dashed var(--color-primary);pointer-events:none;box-sizing:border-box;background-color:#3b82f626;border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute}._dragSelectionLabel_1vnsd_631{color:var(--color-primary);background-color:var(--color-surface);border:1px solid var(--color-primary-border);box-shadow:var(--shadow-sm);border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700}._sidebar_p4iov_4{border-left:1px solid var(--color-border);background-color:var(--color-surface);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;flex-direction:column;flex-shrink:0;gap:18px;width:260px;padding:18px 16px;display:flex;overflow-y:auto}._sidebar_p4iov_4::-webkit-scrollbar{width:6px;height:6px}._sidebar_p4iov_4::-webkit-scrollbar-track{background:0 0}._sidebar_p4iov_4::-webkit-scrollbar-thumb{background-color:var(--color-border-strong);border-radius:4px}._sidebar_p4iov_4::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-soft)}._summaryGrid_p4iov_36{grid-template-columns:1fr 1fr;gap:8px;display:grid}._summaryCard_p4iov_42{border-radius:var(--radius-lg);background-color:color-mix(in srgb, var(--v) 7%, var(--color-surface));border:1px solid color-mix(in srgb, var(--v) 22%, transparent);flex-direction:column;gap:6px;padding:12px;display:flex;position:relative;overflow:hidden}._summaryTop_p4iov_54{align-items:center;gap:6px;display:flex}._summaryTopIcon_p4iov_60{color:var(--v);flex-shrink:0}._summaryValue_p4iov_65{letter-spacing:-.02em;color:var(--v);font-size:20px;font-weight:800;line-height:1}._summaryLabel_p4iov_73{color:var(--color-text-soft);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}._sideHeader_p4iov_82{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-mid);margin-bottom:8px;font-size:11px;font-weight:800}._quickRow_p4iov_92{gap:6px;display:flex}._quickBtn_p4iov_97{color:var(--status-color);background-color:color-mix(in srgb, var(--status-color) 12%, transparent);border:1px solid color-mix(in srgb, var(--status-color) 35%, transparent);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);border-radius:9px;flex:1;justify-content:center;align-items:center;gap:5px;padding:8px;font-size:11.5px;font-weight:600;display:inline-flex}._quickBtn_p4iov_97:hover{background-color:color-mix(in srgb, var(--status-color) 22%, transparent)}._legendIcon_p4iov_118{color:var(--status-color);flex-shrink:0}._legend_p4iov_118{flex-direction:column;gap:4px;display:flex}._legendItem_p4iov_129{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;text-align:left;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;border-radius:9px;align-items:center;gap:9px;padding:8px 10px;font-size:12.5px;font-weight:600;display:flex}._legendItem_p4iov_129:hover{border-color:var(--color-border-strong)}._legendItemOn_p4iov_151{background-color:color-mix(in srgb, var(--status-color) 9%, transparent);border-color:color-mix(in srgb, var(--status-color) 35%, transparent)}._legendOff_p4iov_156{opacity:.55}._legendSwatch_p4iov_160{background-color:var(--status-color);width:18px;height:18px;color:var(--color-on-primary);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:flex}._legendSwatchOff_p4iov_172{border:1.5px solid var(--status-color);background-color:#0000}._drawerHeader_p4iov_177{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}._drawerTitle_p4iov_185{color:var(--color-text);font-size:14px;font-weight:700}._drawerCloseBtn_p4iov_191{border-radius:var(--radius-md);border:1px solid var(--color-border);width:28px;height:28px;color:var(--color-text-mid);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;display:inline-flex}._drawerCloseBtn_p4iov_191:hover{background-color:var(--color-surface-muted);color:var(--color-text)}@media (width<=1024px){._sidebar_p4iov_4{border-left:none;width:100%;height:100%;overflow-y:auto}._summaryGrid_p4iov_36{grid-template-columns:repeat(2,1fr)}}._scheduleRoot_5za8e_7{background-color:var(--color-bg);flex-direction:column;height:100%;display:flex;overflow:hidden}._toolbar_5za8e_16{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:14px 20px;display:flex}._scheduleSelect_5za8e_27{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);height:36px;color:var(--color-text);cursor:pointer;padding:0 10px;font-size:14px;font-weight:600}._weekNav_5za8e_39{align-items:center;gap:4px;display:flex}._dateLabel_5za8e_45{text-align:center;min-width:150px;font-size:var(--font-md);color:var(--color-text-mid);padding:0 6px;font-weight:600}._navBtn_5za8e_54{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);width:30px;height:30px;color:var(--color-text-mid);cursor:pointer;justify-content:center;align-items:center;transition:background-color .15s,border-color .15s;display:inline-flex}._navBtn_5za8e_54:hover{border-color:var(--color-primary-border);color:var(--color-primary)}._todayBtn_5za8e_75{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-mid);cursor:pointer;margin-left:2px;padding:6px 12px;font-size:12.5px;font-weight:600}._todayBtn_5za8e_75:hover{border-color:var(--color-primary-border);color:var(--color-primary)}._viewChips_5za8e_92{background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;margin-left:auto;padding:3px;display:inline-flex}._viewChip_5za8e_92{color:var(--color-text-soft);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:11.5px;font-weight:500;position:relative}._viewChip_5za8e_92:hover{color:var(--color-text)}._viewChipBg_5za8e_119{z-index:0;background-color:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:6px;position:absolute;inset:0}._viewChipLabel_5za8e_128{z-index:1;white-space:nowrap;position:relative}._viewChipActive_5za8e_134,._viewChipActive_5za8e_134:hover{color:var(--color-primary);font-weight:600}._newBtn_5za8e_140{background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;border-radius:9px;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:700;display:flex;box-shadow:0 4px 12px #045d5e38}._main_5za8e_156{flex:1;min-height:0;display:flex;overflow:hidden}._calArea_5za8e_163{background-color:var(--color-surface);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}._hoursArea_5za8e_172{flex:1;width:100%;max-width:760px;margin:0 auto;padding:20px;overflow-y:auto}._sidebarToggleBtn_5za8e_181{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);width:32px;height:32px;color:var(--color-text-mid);cursor:pointer;justify-content:center;align-items:center;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}._sidebarToggleBtn_5za8e_181:hover,._sidebarToggleBtnActive_5za8e_199{border-color:var(--color-primary-border);color:var(--color-primary);background-color:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface))}@media (width>=1025px){._sidebarToggleBtn_5za8e_181{display:none}}@media (width<=1024px){._sidebarToggleBtn_5za8e_181{margin-left:auto}}@media (width<=640px){._toolbar_5za8e_16{gap:8px;padding:10px}._hoursArea_5za8e_172{padding:10px 6px}._weekNav_5za8e_39{justify-content:flex-start;gap:6px;width:auto}._dateLabel_5za8e_45{min-width:auto;padding:0 4px;font-size:13px}._viewChips_5za8e_92{scrollbar-width:none;justify-content:space-between;width:100%;margin-left:0;overflow-x:auto}._viewChips_5za8e_92::-webkit-scrollbar{display:none}._viewChip_5za8e_92{flex-shrink:0;padding:5px 6px;font-size:11px}._newBtn_5za8e_140{justify-content:center;width:100%}}._hours_ftj0h_5{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;max-width:100%;padding:16px;display:flex;overflow-x:auto}._fieldLabel_ftj0h_18{color:var(--color-text-mid);font-size:12px;font-weight:700}._chips_ftj0h_24{flex-wrap:wrap;gap:6px;display:flex}._chipBtn_ftj0h_30{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-mid);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);padding:7px 14px;font-size:12.5px;font-weight:600;position:relative}._chipBtn_ftj0h_30:hover{border-color:var(--color-border-strong);color:var(--color-text)}._chipBtnActive_ftj0h_50,._chipBtnActive_ftj0h_50:hover{color:var(--color-primary);border-color:var(--color-primary-border)}._chipBg_ftj0h_56{z-index:0;border-radius:var(--radius-md);background-color:var(--color-primary-10);position:absolute;inset:0}._chipLabel_ftj0h_64{z-index:1;position:relative}._dayRow_ftj0h_69{border-bottom:1px solid var(--color-divider);align-items:center;gap:12px;padding:6px 0;display:flex}._toggle_ftj0h_77{border-radius:var(--radius-full);background-color:var(--color-border-strong);cursor:pointer;border:none;flex-shrink:0;align-items:center;width:36px;height:20px;padding:2px;display:flex}._toggleOn_ftj0h_90{background-color:var(--color-primary);justify-content:flex-end}._toggleKnob_ftj0h_95{background-color:var(--color-on-primary);border-radius:50%;width:16px;height:16px}._dayName_ftj0h_102{min-width:110px;color:var(--color-text);flex-direction:column;gap:2px;font-size:13.5px;font-weight:600;display:flex}._overflowLabel_ftj0h_112{color:var(--color-text-soft);white-space:nowrap;font-size:10px;font-weight:500}._dayTimes_ftj0h_119{align-items:center;gap:8px;width:100%;max-width:240px;display:flex}._timeInput_ftj0h_127{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);height:32px;color:var(--color-text);flex:1;min-width:0;padding:0 8px;font-family:inherit;font-size:12.5px}._timeInput_ftj0h_127:disabled{opacity:.4}._resetBtn_ftj0h_144{color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-left:auto;font-size:11.5px;font-weight:600;display:inline-flex}._resetBtn_ftj0h_144:hover{color:var(--color-primary)}._readonlyField_ftj0h_162{height:var(--height-input);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface-muted);color:var(--color-text-mid);align-items:center;width:100%;padding:0 10px;font-size:13px;display:flex}._fieldHint_ftj0h_175{font-size:var(--font-xs);color:var(--color-text-soft)}._formFooter_ftj0h_180{justify-content:flex-end;align-items:center;gap:12px;padding-top:6px;display:flex}._formStatus_ftj0h_188{color:var(--color-text-soft);font-size:12px;font-weight:600}._saveBtn_ftj0h_194{height:var(--height-btn);border-radius:var(--radius-md);background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;padding:0 18px;font-size:13px;font-weight:700}._saveBtn_ftj0h_194:disabled{opacity:.5;cursor:not-allowed}._inheritedBanner_ftj0h_212{border-radius:var(--radius-md);margin-bottom:20px;overflow:hidden}._inheritedBadge_ftj0h_218{background-color:var(--color-surface-muted);border:1px solid var(--color-border);font-size:var(--font-sm);color:var(--color-text-mid);flex-direction:column;gap:2px;padding:12px 16px;display:flex}._badgeSub_ftj0h_229{font-size:var(--font-xs);color:var(--color-text-soft)}._customBadge_ftj0h_234{background-color:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));border:1px solid var(--color-primary-border);font-size:var(--font-sm);color:var(--color-primary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}._customBadgeText_ftj0h_247{font-weight:600}._resetToBranchBtn_ftj0h_251{font-size:var(--font-xs);color:var(--color-primary);border:1px solid var(--color-primary-border);background-color:var(--color-surface);border-radius:var(--radius-md);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);align-items:center;gap:4px;padding:6px 12px;font-weight:600;display:inline-flex}._resetToBranchBtn_ftj0h_251:hover{background-color:var(--color-primary-10);border-color:var(--color-primary)}._settingsGrid_ftj0h_271{gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);grid-template-columns:1fr 1fr;display:grid}@media (width<=640px){._settingsGrid_ftj0h_271{grid-template-columns:1fr}._hours_ftj0h_5{padding:12px 10px}._dayRow_ftj0h_69{gap:6px;min-width:0;padding:6px 0}._dayName_ftj0h_102{flex:0 0 72px;width:72px;min-width:72px;font-size:12px}._dayTimes_ftj0h_119{gap:4px}._timeInput_ftj0h_127{height:28px;padding:0 4px;font-size:11px}._resetBtn_ftj0h_144{margin-left:4px;padding-right:11px;font-size:11px}._formFooter_ftj0h_180{justify-content:center}}._fill_qtoxk_1{width:100%;height:100%;min-height:72vh}._center_qtoxk_7{justify-content:center;align-items:center;width:100%;min-height:60vh;display:flex}._rtkTheme_qtoxk_16{background-color:var(--color-surface);width:100%;height:100%;min-height:72vh;color:var(--color-text);--rtk-bg-color:var(--color-surface);--rtk-surface-color:var(--color-bg);--rtk-surface-border-color:var(--color-border);--rtk-text-color:var(--color-text);--rtk-text-secondary-color:var(--color-text-mid);--rtk-primary-color:var(--color-primary)}:host([zoom-data-theme=light]){--color-primary:#4a90e2;--color-secondary:#ff2d55;--color-background:#fff;--color-surface:#f5f5f5;--color-surface-elevated:#e8e8e8;--color-text:#1d1c1c;--color-text-secondary:#313d44;--color-text-button:#fff;--color-accent:#71c4ef;--color-divider:#e0e0e0}:host([zoom-data-theme=dark]){--color-primary:#1d75c3;--color-secondary:#ff1a47;--color-background:#000;--color-surface:#2d2d2d;--color-surface-elevated:#3d3d3d;--color-text:#fff;--color-text-secondary:#b0b0b0;--color-text-button:#fff;--color-accent:#00668c;--color-divider:#404040}:host([zoom-data-theme=blue]){--color-primary:#003a80;--color-secondary:#cc0027;--color-background:#e6f3ff;--color-surface:#f0f8ff;--color-surface-elevated:#d9ecff;--color-text:#001f40;--color-text-secondary:#036;--color-text-button:#fff;--color-accent:#0056b3;--color-divider:#cce0ff}:host([zoom-data-theme=green]){--color-primary:#2e7d32;--color-secondary:#c62828;--color-background:#f1f8e9;--color-surface:#f9fbe7;--color-surface-elevated:#e8f5d9;--color-text:#1b5e20;--color-text-secondary:#33691e;--color-text-button:#fff;--color-accent:#558b2f;--color-divider:#dcedc8}:host,*,:before,:after,::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:#3b82f680;--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: }:host,*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;line-height:inherit;margin:0}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.zoom-ui-toolkit-root{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;line-height:1.625}.zoom-ui-toolkit-root *,.zoom-ui-toolkit-root :before,.zoom-ui-toolkit-root :after{box-sizing:border-box;margin:0;padding:0}.\\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\\!container{max-width:1536px!important}.container{max-width:1536px}}.zoom-ui-toolkit-root .sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.zoom-ui-toolkit-root .pointer-events-none{pointer-events:none}.zoom-ui-toolkit-root .pointer-events-auto{pointer-events:auto}.zoom-ui-toolkit-root .visible{visibility:visible}.zoom-ui-toolkit-root .collapse{visibility:collapse}.zoom-ui-toolkit-root .static{position:static}.zoom-ui-toolkit-root .fixed{position:fixed}.zoom-ui-toolkit-root .absolute{position:absolute}.zoom-ui-toolkit-root .relative{position:relative}.zoom-ui-toolkit-root .sticky{position:sticky}.zoom-ui-toolkit-root .inset-0{inset:0}.zoom-ui-toolkit-root .inset-3{inset:.75rem}.zoom-ui-toolkit-root .inset-7{inset:1.75rem}.zoom-ui-toolkit-root .inset-x-0{left:0;right:0}.zoom-ui-toolkit-root .inset-y-0{top:0;bottom:0}.zoom-ui-toolkit-root .-bottom-1{bottom:-.25rem}.zoom-ui-toolkit-root .-left-6{left:-1.5rem}.zoom-ui-toolkit-root .-right-1{right:-.25rem}.zoom-ui-toolkit-root .-right-2{right:-.5rem}.zoom-ui-toolkit-root .-top-2{top:-.5rem}.zoom-ui-toolkit-root .-top-8{top:-2rem}.zoom-ui-toolkit-root .bottom-0{bottom:0}.zoom-ui-toolkit-root .bottom-10{bottom:2.5rem}.zoom-ui-toolkit-root .bottom-2{bottom:.5rem}.zoom-ui-toolkit-root .bottom-4{bottom:1rem}.zoom-ui-toolkit-root .bottom-40{bottom:10rem}.zoom-ui-toolkit-root .bottom-\\[10px\\]{bottom:10px}.zoom-ui-toolkit-root .bottom-\\[40px\\]{bottom:40px}.zoom-ui-toolkit-root .bottom-\\[60px\\]{bottom:60px}.zoom-ui-toolkit-root .bottom-full{bottom:100%}.zoom-ui-toolkit-root .left-0{left:0}.zoom-ui-toolkit-root .left-0\\.5{left:.125rem}.zoom-ui-toolkit-root .left-1{left:.25rem}.zoom-ui-toolkit-root .left-1\\/2{left:50%}.zoom-ui-toolkit-root .left-2{left:.5rem}.zoom-ui-toolkit-root .left-2\\.5{left:.625rem}.zoom-ui-toolkit-root .left-3{left:.75rem}.zoom-ui-toolkit-root .left-4{left:1rem}.zoom-ui-toolkit-root .left-5{left:1.25rem}.zoom-ui-toolkit-root .left-\\[-10000px\\]{left:-10000px}.zoom-ui-toolkit-root .left-\\[10px\\]{left:10px}.zoom-ui-toolkit-root .left-\\[18px\\]{left:18px}.zoom-ui-toolkit-root .right-0{right:0}.zoom-ui-toolkit-root .right-2{right:.5rem}.zoom-ui-toolkit-root .right-3{right:.75rem}.zoom-ui-toolkit-root .right-4{right:1rem}.zoom-ui-toolkit-root .right-5{right:1.25rem}.zoom-ui-toolkit-root .right-6{right:1.5rem}.zoom-ui-toolkit-root .top-0{top:0}.zoom-ui-toolkit-root .top-0\\.5{top:.125rem}.zoom-ui-toolkit-root .top-1{top:.25rem}.zoom-ui-toolkit-root .top-1\\/2{top:50%}.zoom-ui-toolkit-root .top-16{top:4rem}.zoom-ui-toolkit-root .top-2{top:.5rem}.zoom-ui-toolkit-root .top-4{top:1rem}.zoom-ui-toolkit-root .top-\\[50px\\]{top:50px}.zoom-ui-toolkit-root .top-\\[calc\\(100\\%\\+0\\.25rem\\)\\]{top:calc(100% + .25rem)}.zoom-ui-toolkit-root .top-full{top:100%}.zoom-ui-toolkit-root .-z-10{z-index:-10}.zoom-ui-toolkit-root .z-10{z-index:10}.zoom-ui-toolkit-root .z-20{z-index:20}.zoom-ui-toolkit-root .z-30{z-index:30}.zoom-ui-toolkit-root .z-40{z-index:40}.zoom-ui-toolkit-root .z-50{z-index:50}.zoom-ui-toolkit-root .z-\\[1000\\]{z-index:1000}.zoom-ui-toolkit-root .z-\\[9999\\]{z-index:9999}.zoom-ui-toolkit-root .col-span-2{grid-column:span 2/span 2}.zoom-ui-toolkit-root .row-span-2{grid-row:span 2/span 2}.zoom-ui-toolkit-root .m-0{margin:0}.zoom-ui-toolkit-root .m-2{margin:.5rem}.zoom-ui-toolkit-root .mx-1{margin-left:.25rem;margin-right:.25rem}.zoom-ui-toolkit-root .mx-2{margin-left:.5rem;margin-right:.5rem}.zoom-ui-toolkit-root .mx-3{margin-left:.75rem;margin-right:.75rem}.zoom-ui-toolkit-root .mx-4{margin-left:1rem;margin-right:1rem}.zoom-ui-toolkit-root .mx-auto{margin-left:auto;margin-right:auto}.zoom-ui-toolkit-root .my-1{margin-top:.25rem;margin-bottom:.25rem}.zoom-ui-toolkit-root .my-2{margin-top:.5rem;margin-bottom:.5rem}.zoom-ui-toolkit-root .my-8{margin-top:2rem;margin-bottom:2rem}.zoom-ui-toolkit-root .my-auto{margin-top:auto;margin-bottom:auto}.zoom-ui-toolkit-root .-ml-1{margin-left:-.25rem}.zoom-ui-toolkit-root .-mr-1{margin-right:-.25rem}.zoom-ui-toolkit-root .mb-1{margin-bottom:.25rem}.zoom-ui-toolkit-root .mb-2{margin-bottom:.5rem}.zoom-ui-toolkit-root .mb-3{margin-bottom:.75rem}.zoom-ui-toolkit-root .mb-4{margin-bottom:1rem}.zoom-ui-toolkit-root .mb-6{margin-bottom:1.5rem}.zoom-ui-toolkit-root .mb-8{margin-bottom:2rem}.zoom-ui-toolkit-root .ml-1{margin-left:.25rem}.zoom-ui-toolkit-root .ml-2{margin-left:.5rem}.zoom-ui-toolkit-root .ml-3{margin-left:.75rem}.zoom-ui-toolkit-root .ml-4{margin-left:1rem}.zoom-ui-toolkit-root .ml-6{margin-left:1.5rem}.zoom-ui-toolkit-root .ml-auto{margin-left:auto}.zoom-ui-toolkit-root .mr-1{margin-right:.25rem}.zoom-ui-toolkit-root .mr-2{margin-right:.5rem}.zoom-ui-toolkit-root .mr-3{margin-right:.75rem}.zoom-ui-toolkit-root .mr-4{margin-right:1rem}.zoom-ui-toolkit-root .ms-0{margin-inline-start:0}.zoom-ui-toolkit-root .mt-0\\.5{margin-top:.125rem}.zoom-ui-toolkit-root .mt-1{margin-top:.25rem}.zoom-ui-toolkit-root .mt-10{margin-top:2.5rem}.zoom-ui-toolkit-root .mt-14{margin-top:3.5rem}.zoom-ui-toolkit-root .mt-2{margin-top:.5rem}.zoom-ui-toolkit-root .mt-3{margin-top:.75rem}.zoom-ui-toolkit-root .mt-4{margin-top:1rem}.zoom-ui-toolkit-root .mt-5{margin-top:1.25rem}.zoom-ui-toolkit-root .mt-6{margin-top:1.5rem}.zoom-ui-toolkit-root .mt-8{margin-top:2rem}.zoom-ui-toolkit-root .mt-auto{margin-top:auto}.zoom-ui-toolkit-root .line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.zoom-ui-toolkit-root .block{display:block}.zoom-ui-toolkit-root .inline-block{display:inline-block}.zoom-ui-toolkit-root .inline{display:inline}.zoom-ui-toolkit-root .flex{display:flex}.zoom-ui-toolkit-root .inline-flex{display:inline-flex}.zoom-ui-toolkit-root .table{display:table}.zoom-ui-toolkit-root .grid{display:grid}.zoom-ui-toolkit-root .hidden{display:none}.zoom-ui-toolkit-root .aspect-\\[16\\/9\\]{aspect-ratio:16/9}.zoom-ui-toolkit-root .aspect-\\[3\\/4\\]{aspect-ratio:3/4}.zoom-ui-toolkit-root .aspect-video{aspect-ratio:16/9}.zoom-ui-toolkit-root .h-0{height:0}.zoom-ui-toolkit-root .h-1{height:.25rem}.zoom-ui-toolkit-root .h-10{height:2.5rem}.zoom-ui-toolkit-root .h-12{height:3rem}.zoom-ui-toolkit-root .h-16{height:4rem}.zoom-ui-toolkit-root .h-2{height:.5rem}.zoom-ui-toolkit-root .h-20{height:5rem}.zoom-ui-toolkit-root .h-24{height:6rem}.zoom-ui-toolkit-root .h-3{height:.75rem}.zoom-ui-toolkit-root .h-32{height:8rem}.zoom-ui-toolkit-root .h-4{height:1rem}.zoom-ui-toolkit-root .h-40{height:10rem}.zoom-ui-toolkit-root .h-44{height:11rem}.zoom-ui-toolkit-root .h-5{height:1.25rem}.zoom-ui-toolkit-root .h-6{height:1.5rem}.zoom-ui-toolkit-root .h-7{height:1.75rem}.zoom-ui-toolkit-root .h-8{height:2rem}.zoom-ui-toolkit-root .h-\\[120px\\]{height:120px}.zoom-ui-toolkit-root .h-\\[175px\\]{height:175px}.zoom-ui-toolkit-root .h-\\[20px\\]{height:20px}.zoom-ui-toolkit-root .h-\\[280px\\]{height:280px}.zoom-ui-toolkit-root .h-\\[72px\\]{height:72px}.zoom-ui-toolkit-root .h-\\[80\\%\\]{height:80%}.zoom-ui-toolkit-root .h-\\[80px\\]{height:80px}.zoom-ui-toolkit-root .h-\\[86\\%\\]{height:86%}.zoom-ui-toolkit-root .h-\\[89\\%\\]{height:89%}.zoom-ui-toolkit-root .h-\\[95\\%\\]{height:95%}.zoom-ui-toolkit-root .h-\\[calc\\(100\\%-44px\\)\\]{height:calc(100% - 44px)}.zoom-ui-toolkit-root .h-\\[env\\(safe-area-inset-bottom\\)\\]{height:env(safe-area-inset-bottom)}.zoom-ui-toolkit-root .h-auto{height:auto}.zoom-ui-toolkit-root .h-full{height:100%}.zoom-ui-toolkit-root .h-px{height:1px}.zoom-ui-toolkit-root .h-screen{height:100vh}.zoom-ui-toolkit-root .max-h-64{max-height:16rem}.zoom-ui-toolkit-root .max-h-96{max-height:24rem}.zoom-ui-toolkit-root .max-h-\\[100dvh\\]{max-height:100dvh}.zoom-ui-toolkit-root .max-h-\\[200px\\]{max-height:200px}.zoom-ui-toolkit-root .max-h-\\[300px\\]{max-height:300px}.zoom-ui-toolkit-root .max-h-\\[350px\\]{max-height:350px}.zoom-ui-toolkit-root .max-h-\\[60px\\]{max-height:60px}.zoom-ui-toolkit-root .max-h-\\[70vh\\]{max-height:70vh}.zoom-ui-toolkit-root .max-h-\\[80vh\\]{max-height:80vh}.zoom-ui-toolkit-root .max-h-\\[90vh\\]{max-height:90vh}.zoom-ui-toolkit-root .max-h-\\[calc\\(100vh-1rem\\)\\]{max-height:calc(100vh - 1rem)}.zoom-ui-toolkit-root .max-h-\\[calc\\(100vh-3rem\\)\\]{max-height:calc(100vh - 3rem)}.zoom-ui-toolkit-root .max-h-\\[calc\\(100vh-5rem\\)\\]{max-height:calc(100vh - 5rem)}.zoom-ui-toolkit-root .max-h-full{max-height:100%}.zoom-ui-toolkit-root .min-h-0{min-height:0}.zoom-ui-toolkit-root .min-h-\\[100dvh\\]{min-height:100dvh}.zoom-ui-toolkit-root .min-h-\\[300px\\]{min-height:300px}.zoom-ui-toolkit-root .min-h-screen{min-height:100vh}.zoom-ui-toolkit-root .w-0{width:0}.zoom-ui-toolkit-root .w-1{width:.25rem}.zoom-ui-toolkit-root .w-1\\/2{width:50%}.zoom-ui-toolkit-root .w-1\\/3{width:33.3333%}.zoom-ui-toolkit-root .w-1\\/4{width:25%}.zoom-ui-toolkit-root .w-1\\/5{width:20%}.zoom-ui-toolkit-root .w-10{width:2.5rem}.zoom-ui-toolkit-root .w-11{width:2.75rem}.zoom-ui-toolkit-root .w-12{width:3rem}.zoom-ui-toolkit-root .w-16{width:4rem}.zoom-ui-toolkit-root .w-2{width:.5rem}.zoom-ui-toolkit-root .w-2\\/3{width:66.6667%}.zoom-ui-toolkit-root .w-20{width:5rem}.zoom-ui-toolkit-root .w-24{width:6rem}.zoom-ui-toolkit-root .w-3{width:.75rem}.zoom-ui-toolkit-root .w-3\\/4{width:75%}.zoom-ui-toolkit-root .w-3\\/5{width:60%}.zoom-ui-toolkit-root .w-32{width:8rem}.zoom-ui-toolkit-root .w-36{width:9rem}.zoom-ui-toolkit-root .w-4{width:1rem}.zoom-ui-toolkit-root .w-4\\/5{width:80%}.zoom-ui-toolkit-root .w-40{width:10rem}.zoom-ui-toolkit-root .w-44{width:11rem}.zoom-ui-toolkit-root .w-48{width:12rem}.zoom-ui-toolkit-root .w-5{width:1.25rem}.zoom-ui-toolkit-root .w-6{width:1.5rem}.zoom-ui-toolkit-root .w-64{width:16rem}.zoom-ui-toolkit-root .w-7{width:1.75rem}.zoom-ui-toolkit-root .w-72{width:18rem}.zoom-ui-toolkit-root .w-8{width:2rem}.zoom-ui-toolkit-root .w-80{width:20rem}.zoom-ui-toolkit-root .w-9{width:2.25rem}.zoom-ui-toolkit-root .w-96{width:24rem}.zoom-ui-toolkit-root .w-\\[10\\%\\]{width:10%}.zoom-ui-toolkit-root .w-\\[100px\\]{width:100px}.zoom-ui-toolkit-root .w-\\[120px\\]{width:120px}.zoom-ui-toolkit-root .w-\\[130px\\]{width:130px}.zoom-ui-toolkit-root .w-\\[16\\.5rem\\]{width:16.5rem}.zoom-ui-toolkit-root .w-\\[200px\\]{width:200px}.zoom-ui-toolkit-root .w-\\[20px\\]{width:20px}.zoom-ui-toolkit-root .w-\\[24\\%\\]{width:24%}.zoom-ui-toolkit-root .w-\\[250px\\]{width:250px}.zoom-ui-toolkit-root .w-\\[350px\\]{width:350px}.zoom-ui-toolkit-root .w-\\[3px\\]{width:3px}.zoom-ui-toolkit-root .w-\\[400px\\]{width:400px}.zoom-ui-toolkit-root .w-\\[490px\\]{width:490px}.zoom-ui-toolkit-root .w-\\[60px\\]{width:60px}.zoom-ui-toolkit-root .w-\\[66\\%\\]{width:66%}.zoom-ui-toolkit-root .w-\\[760px\\]{width:760px}.zoom-ui-toolkit-root .w-\\[80\\%\\]{width:80%}.zoom-ui-toolkit-root .w-\\[90\\%\\]{width:90%}.zoom-ui-toolkit-root .w-\\[90vw\\]{width:90vw}.zoom-ui-toolkit-root .w-\\[95\\%\\]{width:95%}.zoom-ui-toolkit-root .w-auto{width:auto}.zoom-ui-toolkit-root .w-full{width:100%}.zoom-ui-toolkit-root .w-px{width:1px}.zoom-ui-toolkit-root .min-w-0{min-width:0}.zoom-ui-toolkit-root .min-w-\\[16rem\\]{min-width:16rem}.zoom-ui-toolkit-root .min-w-\\[200px\\]{min-width:200px}.zoom-ui-toolkit-root .min-w-\\[240px\\]{min-width:240px}.zoom-ui-toolkit-root .min-w-\\[300px\\]{min-width:300px}.zoom-ui-toolkit-root .min-w-\\[320px\\]{min-width:320px}.zoom-ui-toolkit-root .min-w-\\[400px\\]{min-width:400px}.zoom-ui-toolkit-root .min-w-\\[680px\\]{min-width:680px}.zoom-ui-toolkit-root .min-w-full{min-width:100%}.zoom-ui-toolkit-root .max-w-3xl{max-width:48rem}.zoom-ui-toolkit-root .max-w-4xl{max-width:56rem}.zoom-ui-toolkit-root .max-w-5xl{max-width:64rem}.zoom-ui-toolkit-root .max-w-7xl{max-width:80rem}.zoom-ui-toolkit-root .max-w-\\[100px\\]{max-width:100px}.zoom-ui-toolkit-root .max-w-\\[1200px\\]{max-width:1200px}.zoom-ui-toolkit-root .max-w-\\[120px\\]{max-width:120px}.zoom-ui-toolkit-root .max-w-\\[150px\\]{max-width:150px}.zoom-ui-toolkit-root .max-w-\\[180px\\]{max-width:180px}.zoom-ui-toolkit-root .max-w-\\[200px\\]{max-width:200px}.zoom-ui-toolkit-root .max-w-\\[220px\\]{max-width:220px}.zoom-ui-toolkit-root .max-w-\\[250px\\]{max-width:250px}.zoom-ui-toolkit-root .max-w-\\[300px\\]{max-width:300px}.zoom-ui-toolkit-root .max-w-\\[320px\\]{max-width:320px}.zoom-ui-toolkit-root .max-w-\\[380px\\]{max-width:380px}.zoom-ui-toolkit-root .max-w-\\[38rem\\]{max-width:38rem}.zoom-ui-toolkit-root .max-w-\\[400px\\]{max-width:400px}.zoom-ui-toolkit-root .max-w-\\[500px\\]{max-width:500px}.zoom-ui-toolkit-root .max-w-\\[800px\\]{max-width:800px}.zoom-ui-toolkit-root .max-w-\\[90\\%\\]{max-width:90%}.zoom-ui-toolkit-root .max-w-\\[900px\\]{max-width:900px}.zoom-ui-toolkit-root .max-w-\\[90vw\\]{max-width:90vw}.zoom-ui-toolkit-root .max-w-full{max-width:100%}.zoom-ui-toolkit-root .max-w-lg{max-width:32rem}.zoom-ui-toolkit-root .max-w-md{max-width:28rem}.zoom-ui-toolkit-root .max-w-xl{max-width:36rem}.zoom-ui-toolkit-root .flex-1{flex:1}.zoom-ui-toolkit-root .flex-shrink-0,.zoom-ui-toolkit-root .shrink-0{flex-shrink:0}.zoom-ui-toolkit-root .flex-grow{flex-grow:1}.zoom-ui-toolkit-root .table-fixed{table-layout:fixed}.zoom-ui-toolkit-root .border-collapse{border-collapse:collapse}.zoom-ui-toolkit-root .-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))}.zoom-ui-toolkit-root .-translate-x-full{--tw-translate-x:-100%;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))}.zoom-ui-toolkit-root .-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))}.zoom-ui-toolkit-root .-translate-y-full{--tw-translate-y:-100%;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))}.zoom-ui-toolkit-root .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))}.zoom-ui-toolkit-root .translate-x-4{--tw-translate-x:1rem;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))}.zoom-ui-toolkit-root .translate-y-0{--tw-translate-y: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))}.zoom-ui-toolkit-root .translate-y-\\[-10px\\]{--tw-translate-y:-10px;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))}.zoom-ui-toolkit-root .translate-y-full{--tw-translate-y:100%;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))}.zoom-ui-toolkit-root .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))}.zoom-ui-toolkit-root .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))}.zoom-ui-toolkit-root .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))}.zoom-ui-toolkit-root .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))}.zoom-ui-toolkit-root .scale-95{--tw-scale-x:.95;--tw-scale-y:.95;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))}.zoom-ui-toolkit-root .scale-\\[0\\.98\\]{--tw-scale-x:.98;--tw-scale-y:.98;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))}.zoom-ui-toolkit-root .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))}@keyframes pulse{50%{opacity:.5}}.zoom-ui-toolkit-root .animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.zoom-ui-toolkit-root .animate-spin{animation:1s linear infinite spin}.zoom-ui-toolkit-root .cursor-default{cursor:default}.zoom-ui-toolkit-root .cursor-move{cursor:move}.zoom-ui-toolkit-root .cursor-not-allowed{cursor:not-allowed}.zoom-ui-toolkit-root .cursor-pointer{cursor:pointer}.zoom-ui-toolkit-root .select-none{-webkit-user-select:none;user-select:none}.zoom-ui-toolkit-root .resize-none{resize:none}.zoom-ui-toolkit-root .resize{resize:both}.zoom-ui-toolkit-root .list-inside{list-style-position:inside}.zoom-ui-toolkit-root .list-disc{list-style-type:disc}.zoom-ui-toolkit-root .list-none{list-style-type:none}.zoom-ui-toolkit-root .appearance-none{appearance:none}.zoom-ui-toolkit-root .auto-rows-min{grid-auto-rows:min-content}.zoom-ui-toolkit-root .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.zoom-ui-toolkit-root .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.zoom-ui-toolkit-root .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.zoom-ui-toolkit-root .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.zoom-ui-toolkit-root .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.zoom-ui-toolkit-root .flex-col{flex-direction:column}.zoom-ui-toolkit-root .flex-wrap{flex-wrap:wrap}.zoom-ui-toolkit-root .content-center{align-content:center}.zoom-ui-toolkit-root .items-start{align-items:flex-start}.zoom-ui-toolkit-root .items-end{align-items:flex-end}.zoom-ui-toolkit-root .items-center{align-items:center}.zoom-ui-toolkit-root .items-stretch{align-items:stretch}.zoom-ui-toolkit-root .justify-start{justify-content:flex-start}.zoom-ui-toolkit-root .justify-end{justify-content:flex-end}.zoom-ui-toolkit-root .justify-center{justify-content:center}.zoom-ui-toolkit-root .justify-between{justify-content:space-between}.zoom-ui-toolkit-root .gap-1{gap:.25rem}.zoom-ui-toolkit-root .gap-1\\.5{gap:.375rem}.zoom-ui-toolkit-root .gap-12{gap:3rem}.zoom-ui-toolkit-root .gap-2{gap:.5rem}.zoom-ui-toolkit-root .gap-3{gap:.75rem}.zoom-ui-toolkit-root .gap-4{gap:1rem}.zoom-ui-toolkit-root .gap-5{gap:1.25rem}.zoom-ui-toolkit-root .gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.zoom-ui-toolkit-root :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.zoom-ui-toolkit-root :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.zoom-ui-toolkit-root :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.zoom-ui-toolkit-root :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.zoom-ui-toolkit-root :is(.space-x-6>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.zoom-ui-toolkit-root :is(.space-x-\\[2px\\]>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(2px * var(--tw-space-x-reverse));margin-left:calc(2px * calc(1 - var(--tw-space-x-reverse)))}.zoom-ui-toolkit-root :is(.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))}.zoom-ui-toolkit-root :is(.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))}.zoom-ui-toolkit-root :is(.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))}.zoom-ui-toolkit-root :is(.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))}.zoom-ui-toolkit-root :is(.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))}.zoom-ui-toolkit-root :is(.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))}.zoom-ui-toolkit-root :is(.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))}.zoom-ui-toolkit-root :is(.divide-gray-200>:not([hidden])~:not([hidden])){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.zoom-ui-toolkit-root .overflow-auto{overflow:auto}.zoom-ui-toolkit-root .overflow-hidden{overflow:hidden}.zoom-ui-toolkit-root .overflow-visible{overflow:visible}.zoom-ui-toolkit-root .overflow-x-auto{overflow-x:auto}.zoom-ui-toolkit-root .overflow-y-auto{overflow-y:auto}.zoom-ui-toolkit-root .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.zoom-ui-toolkit-root .text-ellipsis{text-overflow:ellipsis}.zoom-ui-toolkit-root .whitespace-normal{white-space:normal}.zoom-ui-toolkit-root .whitespace-nowrap{white-space:nowrap}.zoom-ui-toolkit-root .break-words{overflow-wrap:break-word}.zoom-ui-toolkit-root .break-all{word-break:break-all}.zoom-ui-toolkit-root .rounded{border-radius:.25rem}.zoom-ui-toolkit-root .rounded-2xl{border-radius:1rem}.zoom-ui-toolkit-root .rounded-\\[12px\\]{border-radius:12px}.zoom-ui-toolkit-root .rounded-\\[8px\\]{border-radius:8px}.zoom-ui-toolkit-root .rounded-full{border-radius:9999px}.zoom-ui-toolkit-root .rounded-lg{border-radius:.5rem}.zoom-ui-toolkit-root .rounded-md{border-radius:.375rem}.zoom-ui-toolkit-root .rounded-xl{border-radius:.75rem}.zoom-ui-toolkit-root .rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.zoom-ui-toolkit-root .rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.zoom-ui-toolkit-root .rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.zoom-ui-toolkit-root .rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.zoom-ui-toolkit-root .rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.zoom-ui-toolkit-root .rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.zoom-ui-toolkit-root .rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.zoom-ui-toolkit-root .border{border-width:1px}.zoom-ui-toolkit-root .border-0{border-width:0}.zoom-ui-toolkit-root .border-2{border-width:2px}.zoom-ui-toolkit-root .border-b{border-bottom-width:1px}.zoom-ui-toolkit-root .border-b-2{border-bottom-width:2px}.zoom-ui-toolkit-root .border-l{border-left-width:1px}.zoom-ui-toolkit-root .border-r{border-right-width:1px}.zoom-ui-toolkit-root .border-t{border-top-width:1px}.zoom-ui-toolkit-root .border-t-0{border-top-width:0}.zoom-ui-toolkit-root .border-solid{border-style:solid}.zoom-ui-toolkit-root .border-none{border-style:none}.zoom-ui-toolkit-root .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-current{border-color:currentColor}.zoom-ui-toolkit-root .border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-gray-200\\/50{border-color:#e5e7eb80}.zoom-ui-toolkit-root .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-green-700{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-theme-divider{border-color:var(--color-divider)}.zoom-ui-toolkit-root .border-theme-primary{border-color:var(--color-primary)}.zoom-ui-toolkit-root .border-transparent{border-color:#0000}.zoom-ui-toolkit-root .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-white\\/20{border-color:#fff3}.zoom-ui-toolkit-root .border-white\\/5{border-color:#ffffff0d}.zoom-ui-toolkit-root .bg-\\[\\#007AFF\\]{--tw-bg-opacity:1;background-color:rgb(0 122 255/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-\\[\\#007AFF\\]\\/10{background-color:#007aff1a}.zoom-ui-toolkit-root .bg-\\[\\#2d2d2d\\]{--tw-bg-opacity:1;background-color:rgb(45 45 45/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-\\[\\#E20074\\]{--tw-bg-opacity:1;background-color:rgb(226 0 116/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-\\[\\#f5f5f7\\]{--tw-bg-opacity:1;background-color:rgb(245 245 247/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-black\\/20{background-color:#0003}.zoom-ui-toolkit-root .bg-black\\/50{background-color:#00000080}.zoom-ui-toolkit-root .bg-black\\/60{background-color:#0009}.zoom-ui-toolkit-root .bg-black\\/90{background-color:#000000e6}.zoom-ui-toolkit-root .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-blue-50\\/50{background-color:#eff6ff80}.zoom-ui-toolkit-root .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-blue-500\\/20{background-color:#3b82f633}.zoom-ui-toolkit-root .bg-blue-500\\/50{background-color:#3b82f680}.zoom-ui-toolkit-root .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-cyan-500{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-50\\/50{background-color:#f9fafb80}.zoom-ui-toolkit-root .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-800\\/80{background-color:#1f2937cc}.zoom-ui-toolkit-root .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-900\\/50{background-color:#11182780}.zoom-ui-toolkit-root .bg-gray-900\\/80{background-color:#111827cc}.zoom-ui-toolkit-root .bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-neutral-400{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-neutral-600{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-red-500\\/100{background-color:#ef4444}.zoom-ui-toolkit-root .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-theme-background{background-color:var(--color-background)}.zoom-ui-toolkit-root .bg-theme-primary{background-color:var(--color-primary)}.zoom-ui-toolkit-root .bg-theme-secondary{background-color:var(--color-secondary)}.zoom-ui-toolkit-root .bg-theme-surface{background-color:var(--color-surface)}.zoom-ui-toolkit-root .bg-theme-surface-elevated{background-color:var(--color-surface-elevated)}.zoom-ui-toolkit-root .bg-transparent{background-color:#0000}.zoom-ui-toolkit-root .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-white\\/10{background-color:#ffffff1a}.zoom-ui-toolkit-root .bg-white\\/20{background-color:#fff3}.zoom-ui-toolkit-root .bg-white\\/5{background-color:#ffffff0d}.zoom-ui-toolkit-root .bg-white\\/50{background-color:#ffffff80}.zoom-ui-toolkit-root .bg-white\\/80{background-color:#fffc}.zoom-ui-toolkit-root .bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-opacity-15{--tw-bg-opacity:.15}.zoom-ui-toolkit-root .bg-opacity-20{--tw-bg-opacity:.2}.zoom-ui-toolkit-root .bg-opacity-50{--tw-bg-opacity:.5}.zoom-ui-toolkit-root .bg-opacity-70{--tw-bg-opacity:.7}.zoom-ui-toolkit-root .bg-opacity-75{--tw-bg-opacity:.75}.zoom-ui-toolkit-root .bg-opacity-90{--tw-bg-opacity:.9}.zoom-ui-toolkit-root .bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.zoom-ui-toolkit-root .bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.zoom-ui-toolkit-root .from-black\\/90{--tw-gradient-from:#000000e6 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.zoom-ui-toolkit-root .from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:#2563eb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.zoom-ui-toolkit-root .from-gray-900{--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:#11182700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.zoom-ui-toolkit-root .via-blue-400{--tw-gradient-to:#60a5fa00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #60a5fa var(--tw-gradient-via-position), var(--tw-gradient-to)}.zoom-ui-toolkit-root .to-black{--tw-gradient-to:#000 var(--tw-gradient-to-position)}.zoom-ui-toolkit-root .to-blue-300{--tw-gradient-to:#93c5fd var(--tw-gradient-to-position)}.zoom-ui-toolkit-root .to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.zoom-ui-toolkit-root .fill-red-500{fill:#ef4444}.zoom-ui-toolkit-root .object-contain{-o-object-fit:contain;object-fit:contain}.zoom-ui-toolkit-root .object-cover{-o-object-fit:cover;object-fit:cover}.zoom-ui-toolkit-root .p-0{padding:0}.zoom-ui-toolkit-root .p-0\\.5{padding:.125rem}.zoom-ui-toolkit-root .p-1{padding:.25rem}.zoom-ui-toolkit-root .p-1\\.5{padding:.375rem}.zoom-ui-toolkit-root .p-2{padding:.5rem}.zoom-ui-toolkit-root .p-2\\.5{padding:.625rem}.zoom-ui-toolkit-root .p-3{padding:.75rem}.zoom-ui-toolkit-root .p-3\\.5{padding:.875rem}.zoom-ui-toolkit-root .p-4{padding:1rem}.zoom-ui-toolkit-root .p-5{padding:1.25rem}.zoom-ui-toolkit-root .p-6{padding:1.5rem}.zoom-ui-toolkit-root .p-8{padding:2rem}.zoom-ui-toolkit-root .px-1{padding-left:.25rem;padding-right:.25rem}.zoom-ui-toolkit-root .px-10{padding-left:2.5rem;padding-right:2.5rem}.zoom-ui-toolkit-root .px-2{padding-left:.5rem;padding-right:.5rem}.zoom-ui-toolkit-root .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.zoom-ui-toolkit-root .px-3{padding-left:.75rem;padding-right:.75rem}.zoom-ui-toolkit-root .px-4{padding-left:1rem;padding-right:1rem}.zoom-ui-toolkit-root .px-5{padding-left:1.25rem;padding-right:1.25rem}.zoom-ui-toolkit-root .px-6{padding-left:1.5rem;padding-right:1.5rem}.zoom-ui-toolkit-root .px-8{padding-left:2rem;padding-right:2rem}.zoom-ui-toolkit-root .py-0{padding-top:0;padding-bottom:0}.zoom-ui-toolkit-root .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.zoom-ui-toolkit-root .py-1{padding-top:.25rem;padding-bottom:.25rem}.zoom-ui-toolkit-root .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.zoom-ui-toolkit-root .py-2{padding-top:.5rem;padding-bottom:.5rem}.zoom-ui-toolkit-root .py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.zoom-ui-toolkit-root .py-3{padding-top:.75rem;padding-bottom:.75rem}.zoom-ui-toolkit-root .py-4{padding-top:1rem;padding-bottom:1rem}.zoom-ui-toolkit-root .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.zoom-ui-toolkit-root .pb-0{padding-bottom:0}.zoom-ui-toolkit-root .pb-1{padding-bottom:.25rem}.zoom-ui-toolkit-root .pb-2{padding-bottom:.5rem}.zoom-ui-toolkit-root .pb-20{padding-bottom:5rem}.zoom-ui-toolkit-root .pb-4{padding-bottom:1rem}.zoom-ui-toolkit-root .pb-6{padding-bottom:1.5rem}.zoom-ui-toolkit-root .pb-\\[56\\.25\\%\\]{padding-bottom:56.25%}.zoom-ui-toolkit-root .pl-1{padding-left:.25rem}.zoom-ui-toolkit-root .pl-10{padding-left:2.5rem}.zoom-ui-toolkit-root .pl-16{padding-left:4rem}.zoom-ui-toolkit-root .pl-2{padding-left:.5rem}.zoom-ui-toolkit-root .pl-3{padding-left:.75rem}.zoom-ui-toolkit-root .pl-4{padding-left:1rem}.zoom-ui-toolkit-root .pl-5{padding-left:1.25rem}.zoom-ui-toolkit-root .pr-10{padding-right:2.5rem}.zoom-ui-toolkit-root .pr-2{padding-right:.5rem}.zoom-ui-toolkit-root .pr-4{padding-right:1rem}.zoom-ui-toolkit-root .pr-8{padding-right:2rem}.zoom-ui-toolkit-root .ps-0{padding-inline-start:0}.zoom-ui-toolkit-root .pt-1{padding-top:.25rem}.zoom-ui-toolkit-root .pt-16{padding-top:4rem}.zoom-ui-toolkit-root .pt-2{padding-top:.5rem}.zoom-ui-toolkit-root .pt-4{padding-top:1rem}.zoom-ui-toolkit-root .pt-6{padding-top:1.5rem}.zoom-ui-toolkit-root .pt-7{padding-top:1.75rem}.zoom-ui-toolkit-root .pt-8{padding-top:2rem}.zoom-ui-toolkit-root .pt-\\[88px\\]{padding-top:88px}.zoom-ui-toolkit-root .text-left{text-align:left}.zoom-ui-toolkit-root .text-center{text-align:center}.zoom-ui-toolkit-root .text-right{text-align:right}.zoom-ui-toolkit-root .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.zoom-ui-toolkit-root .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.zoom-ui-toolkit-root .text-2xl{font-size:1.5rem;line-height:2rem}.zoom-ui-toolkit-root .text-3xl{font-size:1.875rem;line-height:2.25rem}.zoom-ui-toolkit-root .text-\\[11px\\]{font-size:11px}.zoom-ui-toolkit-root .text-\\[13px\\]{font-size:13px}.zoom-ui-toolkit-root .text-\\[17px\\]{font-size:17px}.zoom-ui-toolkit-root .text-\\[20px\\]{font-size:20px}.zoom-ui-toolkit-root .text-base{font-size:1rem;line-height:1.5rem}.zoom-ui-toolkit-root .text-lg{font-size:1.125rem;line-height:1.75rem}.zoom-ui-toolkit-root .text-sm{font-size:.875rem;line-height:1.25rem}.zoom-ui-toolkit-root .text-xl{font-size:1.25rem;line-height:1.75rem}.zoom-ui-toolkit-root .text-xs{font-size:.75rem;line-height:1rem}.zoom-ui-toolkit-root .font-bold{font-weight:700}.zoom-ui-toolkit-root .font-medium{font-weight:500}.zoom-ui-toolkit-root .font-semibold{font-weight:600}.zoom-ui-toolkit-root .uppercase{text-transform:uppercase}.zoom-ui-toolkit-root .capitalize{text-transform:capitalize}.zoom-ui-toolkit-root .leading-\\[1\\.45\\]{line-height:1.45}.zoom-ui-toolkit-root .leading-\\[1\\.5\\]{line-height:1.5}.zoom-ui-toolkit-root .leading-none{line-height:1}.zoom-ui-toolkit-root .leading-relaxed{line-height:1.625}.zoom-ui-toolkit-root .leading-tight{line-height:1.25}.zoom-ui-toolkit-root .tracking-\\[0\\.16em\\]{letter-spacing:.16em}.zoom-ui-toolkit-root .tracking-tight{letter-spacing:-.025em}.zoom-ui-toolkit-root .tracking-wider{letter-spacing:.05em}.zoom-ui-toolkit-root .text-\\[\\#007AFF\\]{--tw-text-opacity:1;color:rgb(0 122 255/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-theme-background{color:var(--color-background)}.zoom-ui-toolkit-root .text-theme-primary{color:var(--color-primary)}.zoom-ui-toolkit-root .text-theme-text{color:var(--color-text)}.zoom-ui-toolkit-root .text-theme-text-button{color:var(--color-text-button)}.zoom-ui-toolkit-root .text-theme-text-secondary{color:var(--color-text-secondary)}.zoom-ui-toolkit-root .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-white\\/90{color:#ffffffe6}.zoom-ui-toolkit-root .text-white\\/95{color:#fffffff2}.zoom-ui-toolkit-root .text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .opacity-0{opacity:0}.zoom-ui-toolkit-root .opacity-100{opacity:1}.zoom-ui-toolkit-root .opacity-25{opacity:.25}.zoom-ui-toolkit-root .opacity-50{opacity:.5}.zoom-ui-toolkit-root .opacity-60{opacity:.6}.zoom-ui-toolkit-root .opacity-70{opacity:.7}.zoom-ui-toolkit-root .opacity-75{opacity:.75}.zoom-ui-toolkit-root .opacity-80{opacity:.8}.zoom-ui-toolkit-root .opacity-90{opacity:.9}.zoom-ui-toolkit-root .shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -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)}.zoom-ui-toolkit-root .shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--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)}.zoom-ui-toolkit-root .shadow-\\[0_-2px_10px_-1px_rgba\\(0\\,0\\,0\\,0\\.05\\)\\]{--tw-shadow:0 -2px 10px -1px #0000000d;--tw-shadow-colored:0 -2px 10px -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)}.zoom-ui-toolkit-root .shadow-\\[0_0_15px_rgba\\(0\\,0\\,0\\,0\\.2\\)\\]{--tw-shadow:0 0 15px #0003;--tw-shadow-colored:0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.zoom-ui-toolkit-root .shadow-\\[0_0_18px_rgba\\(248\\,113\\,113\\,0\\.8\\)\\]{--tw-shadow:0 0 18px #f87171cc;--tw-shadow-colored:0 0 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)}.zoom-ui-toolkit-root .shadow-\\[0_0_8px_rgba\\(254\\,226\\,226\\,0\\.9\\)\\]{--tw-shadow:0 0 8px #fee2e2e6;--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)}.zoom-ui-toolkit-root .shadow-\\[0_2px_10px_-1px_rgba\\(0\\,0\\,0\\,0\\.05\\)\\]{--tw-shadow:0 2px 10px -1px #0000000d;--tw-shadow-colored:0 2px 10px -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)}.zoom-ui-toolkit-root .shadow-\\[0_40px_90px_rgba\\(0\\,0\\,0\\,0\\.9\\)\\]{--tw-shadow:0 40px 90px #000000e6;--tw-shadow-colored:0 40px 90px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.zoom-ui-toolkit-root .shadow-inner{--tw-shadow:inset 0 2px 4px 0 #0000000d;--tw-shadow-colored:inset 0 2px 4px 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)}.zoom-ui-toolkit-root .shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--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)}.zoom-ui-toolkit-root .shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.zoom-ui-toolkit-root .shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--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)}.zoom-ui-toolkit-root .shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--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)}.zoom-ui-toolkit-root .outline{outline-style:solid}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .ring-black\\/5{--tw-ring-color:#0000000d}.zoom-ui-toolkit-root .ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .blur-xl{--tw-blur:blur(24px);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)}.zoom-ui-toolkit-root .drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px #0000000a) drop-shadow(0 4px 3px #0000001a);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)}.zoom-ui-toolkit-root .drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px #0000000d);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)}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .backdrop-blur-lg{--tw-backdrop-blur:blur(16px);-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)}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .transition-shadow{transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .duration-100{transition-duration:.1s}.zoom-ui-toolkit-root .duration-150{transition-duration:.15s}.zoom-ui-toolkit-root .duration-200{transition-duration:.2s}.zoom-ui-toolkit-root .duration-300{transition-duration:.3s}.zoom-ui-toolkit-root .duration-500{transition-duration:.5s}.zoom-ui-toolkit-root .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .ease-linear{transition-timing-function:linear}.zoom-ui-toolkit-root .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.uikit-custom-scrollbar::-webkit-scrollbar{background:#ffffff17;border-radius:6px;width:8px}.uikit-custom-scrollbar::-webkit-scrollbar-thumb{background-color:#0000;border-radius:6px}.uikit-custom-scrollbar:hover::-webkit-scrollbar-thumb{background-color:#7070706f}.uikit-custom-scrollbar:focus-visible{outline-offset:-2px;outline:2px solid #2d8cff}.uikit-custom-scrollbar .ReactVirtualized__List::-webkit-scrollbar{background:#ffffff17;border-radius:6px;width:8px}.uikit-custom-scrollbar .ReactVirtualized__List::-webkit-scrollbar-thumb{background-color:#707070;border-radius:6px}.uikit-custom-scrollbar .ReactVirtualized__List:focus-visible{outline-offset:-2px;outline:2px solid #2d8cff}.uikit-custom-scrollbar__menu-list::-webkit-scrollbar{background:#ffffff17;border-radius:6px;width:8px}.uikit-custom-scrollbar__menu-list::-webkit-scrollbar-thumb{background-color:#707070;border-radius:6px}.uikit-custom-scrollbar__menu-list:focus-visible{outline-offset:-2px;outline:2px solid #2d8cff}.uikit-custom-scrollbar .epr-body::-webkit-scrollbar{background:#ffffff17;border-radius:6px;width:8px}.uikit-custom-scrollbar .epr-body::-webkit-scrollbar-thumb{background-color:#707070;border-radius:6px}.uikit-custom-scrollbar .epr-body:focus-visible{outline-offset:-2px;outline:2px solid #2d8cff}.uikit-keyboard-open{width:100%;height:100%;position:fixed;overflow:hidden}.zoom-ui-toolkit-root .before\\:absolute:before{content:var(--tw-content);position:absolute}.zoom-ui-toolkit-root .before\\:right-0:before{content:var(--tw-content);right:0}.zoom-ui-toolkit-root .before\\:top-\\[-25px\\]:before{content:var(--tw-content);top:-25px}.zoom-ui-toolkit-root .before\\:rounded:before{content:var(--tw-content);border-radius:.25rem}.zoom-ui-toolkit-root .before\\:bg-gray-800:before{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .before\\:px-2:before{content:var(--tw-content);padding-left:.5rem;padding-right:.5rem}.zoom-ui-toolkit-root .before\\:py-1:before{content:var(--tw-content);padding-top:.25rem;padding-bottom:.25rem}.zoom-ui-toolkit-root .before\\:text-sm:before{content:var(--tw-content);font-size:.875rem;line-height:1.25rem}.zoom-ui-toolkit-root .before\\:text-theme-text-button:before{content:var(--tw-content);color:var(--color-text-button)}.zoom-ui-toolkit-root .before\\:opacity-0:before{content:var(--tw-content);opacity:0}.zoom-ui-toolkit-root .before\\:transition-opacity:before{content:var(--tw-content);transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .before\\:duration-200:before{content:var(--tw-content);transition-duration:.2s}.zoom-ui-toolkit-root .before\\:content-\\[\\'Copied\\!\\'\\]:before{--tw-content:"Copied!";content:var(--tw-content)}.zoom-ui-toolkit-root .after\\:absolute:after{content:var(--tw-content);position:absolute}.zoom-ui-toolkit-root .after\\:left-\\[2px\\]:after{content:var(--tw-content);left:2px}.zoom-ui-toolkit-root .after\\:top-\\[2px\\]:after{content:var(--tw-content);top:2px}.zoom-ui-toolkit-root .after\\:h-5:after{content:var(--tw-content);height:1.25rem}.zoom-ui-toolkit-root .after\\:w-5:after{content:var(--tw-content);width:1.25rem}.zoom-ui-toolkit-root .after\\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.zoom-ui-toolkit-root .after\\:border:after{content:var(--tw-content);border-width:1px}.zoom-ui-toolkit-root .after\\:border-gray-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .after\\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .after\\:transition-all:after{content:var(--tw-content);transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .after\\:content-\\[\\'\\'\\]:after{--tw-content:"";content:var(--tw-content)}.zoom-ui-toolkit-root .first\\:rounded-t-md:first-child{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.zoom-ui-toolkit-root .last\\:rounded-b-md:last-child{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.zoom-ui-toolkit-root .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;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))}.zoom-ui-toolkit-root .hover\\:scale-110:hover{--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))}.zoom-ui-toolkit-root .hover\\:scale-\\[1\\.02\\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;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))}.zoom-ui-toolkit-root .hover\\:cursor-pointer:hover{cursor:pointer}.zoom-ui-toolkit-root .hover\\:border-r:hover{border-right-width:1px}.zoom-ui-toolkit-root .hover\\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .hover\\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .hover\\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .hover\\:border-red-300:hover{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .hover\\:border-theme-primary:hover{border-color:var(--color-primary)}.zoom-ui-toolkit-root .hover\\:bg-\\[\\#0066CC\\]:hover{--tw-bg-opacity:1;background-color:rgb(0 102 204/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-black\\/80:hover{background-color:#000c}.zoom-ui-toolkit-root .hover\\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-cyan-600:hover{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-100\\/50:hover{background-color:#f3f4f680}.zoom-ui-toolkit-root .hover\\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-50\\/50:hover{background-color:#f9fafb80}.zoom-ui-toolkit-root .hover\\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-700\\/90:hover{background-color:#374151e6}.zoom-ui-toolkit-root .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-800\\/50:hover{background-color:#1f293780}.zoom-ui-toolkit-root .hover\\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-red-600\\/100:hover{background-color:#dc2626}.zoom-ui-toolkit-root .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-theme-background:hover{background-color:var(--color-background)}.zoom-ui-toolkit-root .hover\\:bg-theme-primary:hover{background-color:var(--color-primary)}.zoom-ui-toolkit-root .hover\\:bg-theme-secondary:hover{background-color:var(--color-secondary)}.zoom-ui-toolkit-root .hover\\:bg-theme-surface-elevated:hover{background-color:var(--color-surface-elevated)}.zoom-ui-toolkit-root .hover\\:bg-white\\/10:hover{background-color:#ffffff1a}.zoom-ui-toolkit-root .hover\\:bg-white\\/20:hover{background-color:#fff3}.zoom-ui-toolkit-root .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-opacity-10:hover{--tw-bg-opacity:.1}.zoom-ui-toolkit-root .hover\\:bg-opacity-70:hover{--tw-bg-opacity:.7}.zoom-ui-toolkit-root .hover\\:bg-opacity-90:hover{--tw-bg-opacity:.9}.zoom-ui-toolkit-root .hover\\:from-blue-500:hover{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:#3b82f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.zoom-ui-toolkit-root .hover\\:via-blue-300:hover{--tw-gradient-to:#93c5fd00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #93c5fd var(--tw-gradient-via-position), var(--tw-gradient-to)}.zoom-ui-toolkit-root .hover\\:to-blue-200:hover{--tw-gradient-to:#bfdbfe var(--tw-gradient-to-position)}.zoom-ui-toolkit-root .hover\\:text-\\[\\#0051FF\\]:hover{--tw-text-opacity:1;color:rgb(0 81 255/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-\\[\\#0066CC\\]:hover{--tw-text-opacity:1;color:rgb(0 102 204/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-green-700:hover{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-theme-text-button:hover{color:var(--color-text-button)}.zoom-ui-toolkit-root .hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:underline:hover{text-decoration-line:underline}.zoom-ui-toolkit-root .hover\\:opacity-100:hover{opacity:1}.zoom-ui-toolkit-root .hover\\:opacity-70:hover{opacity:.7}.zoom-ui-toolkit-root .hover\\:opacity-80:hover{opacity:.8}.zoom-ui-toolkit-root .hover\\:opacity-90:hover{opacity:.9}.zoom-ui-toolkit-root .hover\\:opacity-95:hover{opacity:.95}.zoom-ui-toolkit-root .hover\\:shadow:hover{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -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)}.zoom-ui-toolkit-root .hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--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)}.zoom-ui-toolkit-root .hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.zoom-ui-toolkit-root .hover\\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 #0000000d;--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)}.zoom-ui-toolkit-root .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--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)}.zoom-ui-toolkit-root .focus\\:border-\\[\\#007AFF\\]:focus{--tw-border-opacity:1;border-color:rgb(0 122 255/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .focus\\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .focus\\:border-theme-text:focus{border-color:var(--color-text)}.zoom-ui-toolkit-root .focus\\:border-transparent:focus{border-color:#0000}.zoom-ui-toolkit-root .focus\\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.zoom-ui-toolkit-root .focus\\:ring-0: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(0px + 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)}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .focus\\:ring-2: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(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)}.zoom-ui-toolkit-root .focus\\:ring-\\[\\#007AFF\\]:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 122 255/var(--tw-ring-opacity,1))}.zoom-ui-toolkit-root .focus\\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.zoom-ui-toolkit-root .focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.zoom-ui-toolkit-root .focus\\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.zoom-ui-toolkit-root .focus\\:ring-theme-primary:focus{--tw-ring-color:var(--color-primary)}.zoom-ui-toolkit-root .focus\\:ring-theme-text:focus{--tw-ring-color:var(--color-text)}.zoom-ui-toolkit-root .focus\\:ring-white\\/40:focus{--tw-ring-color:#fff6}.zoom-ui-toolkit-root .focus\\:ring-opacity-50:focus{--tw-ring-opacity:.5}.zoom-ui-toolkit-root .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.zoom-ui-toolkit-root .focus-visible\\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .focus-visible\\:ring-blue-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.zoom-ui-toolkit-root .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.zoom-ui-toolkit-root .active\\:scale-90:active{--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))}.zoom-ui-toolkit-root .active\\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;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))}.zoom-ui-toolkit-root .active\\:bg-red-800:active{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .active\\:bg-theme-surface-elevated:active{background-color:var(--color-surface-elevated)}.zoom-ui-toolkit-root .active\\:shadow-inner:active{--tw-shadow:inset 0 2px 4px 0 #0000000d;--tw-shadow-colored:inset 0 2px 4px 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)}.zoom-ui-toolkit-root .disabled\\:pointer-events-none:disabled{pointer-events:none}.zoom-ui-toolkit-root .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.zoom-ui-toolkit-root .disabled\\:bg-gray-400:disabled{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .disabled\\:text-gray-400:disabled{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .disabled\\:opacity-50:disabled{opacity:.5}.zoom-ui-toolkit-root .disabled\\:opacity-60:disabled{opacity:.6}.zoom-ui-toolkit-root :is(.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))}.zoom-ui-toolkit-root :is(.group:hover .group-hover\\:opacity-100){opacity:1}.zoom-ui-toolkit-root :is(.peer:checked~.peer-checked\\:translate-x-4){--tw-translate-x:1rem;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))}.zoom-ui-toolkit-root :is(.peer:checked~.peer-checked\\:bg-\\[\\#007AFF\\]){--tw-bg-opacity:1;background-color:rgb(0 122 255/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root :is(.peer:checked~.peer-checked\\:bg-blue-500){--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root :is(.peer:checked~.peer-checked\\:after\\:translate-x-full):after{content:var(--tw-content);--tw-translate-x:100%;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))}.zoom-ui-toolkit-root :is(.peer:checked~.peer-checked\\:after\\:border-white):after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root :is(.peer:focus~.peer-focus\\:outline-none){outline-offset:2px;outline:2px solid #0000}.zoom-ui-toolkit-root :is(.peer:focus~.peer-focus\\: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)}.zoom-ui-toolkit-root :is(.peer:focus~.peer-focus\\: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)}.zoom-ui-toolkit-root :is(.peer:focus~.peer-focus\\:ring-\\[\\#007AFF\\]\\/20){--tw-ring-color:#007aff33}.zoom-ui-toolkit-root :is(.peer:focus~.peer-focus\\:ring-blue-500){--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.zoom-ui-toolkit-root .dark\\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .dark\\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .dark\\:border-gray-700\\/30:is(.dark *){border-color:#3741514d}.zoom-ui-toolkit-root .dark\\:bg-blue-400:is(.dark *){--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .dark\\:bg-blue-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .dark\\:bg-blue-950\\/30:is(.dark *){background-color:#1725544d}.zoom-ui-toolkit-root .dark\\:bg-gray-200:is(.dark *){--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .dark\\:bg-gray-500:is(.dark *){--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .dark\\:bg-gray-900\\/20:is(.dark *){background-color:#11182733}.zoom-ui-toolkit-root .dark\\:bg-red-950\\/30:is(.dark *){background-color:#450a0a4d}.zoom-ui-toolkit-root .dark\\:text-blue-200:is(.dark *){--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .dark\\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .dark\\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .dark\\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .dark\\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .dark\\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .dark\\:ring-white\\/10:is(.dark *){--tw-ring-color:#ffffff1a}.zoom-ui-toolkit-root .dark\\:hover\\:bg-blue-900\\/20:hover:is(.dark *){background-color:#1e3a8a33}.zoom-ui-toolkit-root .dark\\:hover\\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .dark\\:hover\\:text-blue-400:hover:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}@media (width>=640px){.zoom-ui-toolkit-root .sm\\:mb-0{margin-bottom:0}.zoom-ui-toolkit-root .sm\\:mr-4{margin-right:1rem}.zoom-ui-toolkit-root .sm\\:inline{display:inline}.zoom-ui-toolkit-root .sm\\:table-cell{display:table-cell}.zoom-ui-toolkit-root .sm\\:h-auto{height:auto}.zoom-ui-toolkit-root .sm\\:w-auto{width:auto}.zoom-ui-toolkit-root .sm\\:max-w-\\[150px\\]{max-width:150px}.zoom-ui-toolkit-root .sm\\:max-w-\\[200px\\]{max-width:200px}.zoom-ui-toolkit-root .sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.zoom-ui-toolkit-root .sm\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.zoom-ui-toolkit-root .sm\\:flex-row{flex-direction:row}.zoom-ui-toolkit-root .sm\\:items-center{align-items:center}.zoom-ui-toolkit-root .sm\\:justify-center{justify-content:center}.zoom-ui-toolkit-root .sm\\:justify-between{justify-content:space-between}.zoom-ui-toolkit-root .sm\\:gap-4{gap:1rem}.zoom-ui-toolkit-root :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.zoom-ui-toolkit-root :is(.sm\\:space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.zoom-ui-toolkit-root :is(.sm\\:space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.zoom-ui-toolkit-root .sm\\:p-6{padding:1.5rem}.zoom-ui-toolkit-root .sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.zoom-ui-toolkit-root .sm\\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (width>=768px){.zoom-ui-toolkit-root .md\\:static{position:static}.zoom-ui-toolkit-root .md\\:relative{position:relative}.zoom-ui-toolkit-root .md\\:z-auto{z-index:auto}.zoom-ui-toolkit-root .md\\:flex{display:flex}.zoom-ui-toolkit-root .md\\:hidden{display:none}.zoom-ui-toolkit-root .md\\:h-auto{height:auto}.zoom-ui-toolkit-root .md\\: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))}.zoom-ui-toolkit-root .md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.zoom-ui-toolkit-root .md\\:flex-row{flex-direction:row}.zoom-ui-toolkit-root .md\\:overflow-visible{overflow:visible}.zoom-ui-toolkit-root .md\\:bg-transparent{background-color:#0000}.zoom-ui-toolkit-root .md\\:p-0{padding:0}.zoom-ui-toolkit-root .md\\:p-6{padding:1.5rem}.zoom-ui-toolkit-root .md\\:p-8{padding:2rem}.zoom-ui-toolkit-root .md\\:pt-6{padding-top:1.5rem}.zoom-ui-toolkit-root .md\\:pt-8{padding-top:2rem}.zoom-ui-toolkit-root .md\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.zoom-ui-toolkit-root .md\\:text-base{font-size:1rem;line-height:1.5rem}.zoom-ui-toolkit-root .md\\:opacity-100{opacity:1}.zoom-ui-toolkit-root .md\\: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)}.zoom-ui-toolkit-root .md\\: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 (width>=1024px){.zoom-ui-toolkit-root .lg\\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.zoom-ui-toolkit-root .lg\\:px-8{padding-left:2rem;padding-right:2rem}}/*$vite$:1*/`})();
1
+ (function(){window.__COMMHUB_SDK_CSS__=`._spinner_164a8_1{border-style:solid;border-color:currentColor #0000 currentColor currentColor;border-radius:50%;animation:.6s linear infinite _spin_164a8_1;display:inline-block}._sm_164a8_10{border-width:2px;width:1rem;height:1rem}._md_164a8_15{border-width:3px;width:1.5rem;height:1.5rem}._lg_164a8_20{border-width:4px;width:2.5rem;height:2.5rem}@keyframes _spin_164a8_1{to{transform:rotate(360deg)}}._button_1xtk2_1{border-radius:var(--radius-md);font:inherit;letter-spacing:-.01em;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;font-weight:600;display:inline-flex}._button_1xtk2_1:disabled{opacity:.6;cursor:not-allowed}._button_1xtk2_1:active:not(:disabled){transform:translateY(1px)scale(.985)}._button_1xtk2_1:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}._sm_1xtk2_36{padding:.35rem .75rem;font-size:.85rem}._md_1xtk2_40{padding:.55rem 1rem;font-size:.95rem}._lg_1xtk2_44{padding:.75rem 1.4rem;font-size:1.05rem}._primary_1xtk2_50{background-color:var(--color-primary);color:var(--color-on-primary)}._primary_1xtk2_50:hover:not(:disabled){background-color:var(--color-primary-strong);box-shadow:0 6px 18px var(--color-primary-30);transform:translateY(-1px)}._primary_1xtk2_50:active:not(:disabled){box-shadow:0 2px 8px var(--color-primary-30)}._secondary_1xtk2_63{background-color:var(--color-surface);color:var(--color-text);border-color:var(--color-border-strong)}._secondary_1xtk2_63:hover:not(:disabled){border-color:var(--color-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}._ghost_1xtk2_74{color:var(--color-text);background-color:#0000}._ghost_1xtk2_74:hover:not(:disabled){background-color:var(--color-surface-muted)}._danger_1xtk2_82{background-color:var(--color-danger);color:var(--color-on-primary)}._danger_1xtk2_82:hover:not(:disabled){background-color:var(--color-danger-strong);box-shadow:0 6px 18px var(--color-danger-soft);transform:translateY(-1px)}._fullWidth_1xtk2_92{width:100%}._loadingTextHidden_1xtk2_96{display:none}._alert_r5ybz_1{border-radius:var(--radius-md);border:1px solid #0000;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;font-size:.9rem;line-height:1.4;display:flex}._error_r5ybz_12{background-color:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger-strong)}._info_r5ybz_18{background-color:var(--color-surface-muted);border-color:var(--color-border);color:var(--color-text)}._success_r5ybz_24{background-color:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success-strong)}._title_r5ybz_30{margin:0 0 .15rem;font-weight:600}._body_r5ybz_35{white-space:pre-line;margin:0}._field_i2e93_1{flex-direction:column;gap:.35rem;display:flex}._label_i2e93_7{color:var(--color-text);font-size:.85rem;font-weight:600}._input_i2e93_13{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);font:inherit;padding:.6rem .75rem}._input_i2e93_13:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-focus);outline:none}._invalid_i2e93_28{border-color:var(--color-danger)}._error_i2e93_32{color:var(--color-danger-strong);font-size:.8rem}._select_1yaeg_3{height:var(--height-input,38px);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);appearance:none;color:var(--color-text);transition:border-color var(--dur-fast) var(--ease-out);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;outline:none;padding:0 34px 0 12px;font-family:inherit;font-size:13px}._select_1yaeg_3:focus-visible{border-color:var(--color-primary-border)}._select_1yaeg_3:disabled{opacity:.6;cursor:not-allowed}._iconButton_2jhbr_1{border-radius:var(--radius-md);width:2rem;height:2rem;color:var(--color-text);cursor:pointer;background-color:#0000;border:1px solid #0000;justify-content:center;align-items:center;padding:0;line-height:1;transition:background-color .15s,color .15s;display:inline-flex}._iconButton_2jhbr_1:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}._iconButton_2jhbr_1:disabled{opacity:.6;cursor:not-allowed}._ghost_2jhbr_29:hover:not(:disabled){background-color:var(--color-surface-muted)}._danger_2jhbr_33{color:var(--color-danger-strong)}._danger_2jhbr_33:hover:not(:disabled){background-color:var(--color-danger-soft)}._overlay_1u32w_1{background-color:var(--color-overlay);z-index:90;position:fixed;inset:0}._positioner_1u32w_11{z-index:91;width:calc(100% - 2rem);max-width:440px;height:fit-content;max-height:calc(100vh - 2rem);margin:auto;display:flex;position:fixed;inset:0}._positionerMedium_1u32w_25{max-width:560px}._positionerWide_1u32w_30{max-width:960px}._overlayHi_1u32w_35{z-index:100}._positionerHi_1u32w_39{z-index:101}._positioner_1u32w_11:focus-visible{outline:none}._content_1u32w_9{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-height:calc(100vh - 2rem);box-shadow:var(--shadow-lg);flex-direction:column;gap:1rem;padding:1.5rem;display:flex;overflow:hidden}._header_1u32w_62{flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}._heading_1u32w_70{flex-direction:column;gap:.25rem;display:flex}._title_1u32w_76{color:var(--color-text);margin:0;font-size:1.15rem;font-weight:600}._description_1u32w_83{color:var(--color-text-muted);margin:0;font-size:.9rem}._body_1u32w_89{min-height:0;color:var(--color-text);margin:-2px -4px;padding:2px 4px;font-size:.95rem;overflow-y:auto}._footer_1u32w_98{flex-shrink:0;justify-content:flex-end;gap:.5rem;display:flex}@media (width<=768px){._positioner_1u32w_11{width:100%;max-width:none;height:auto;max-height:90vh;margin:0;inset:auto 0 0}._content_1u32w_9{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-height:90vh;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));border-bottom:none;border-left:none;border-right:none}}@media (width<=480px){._footer_1u32w_98{flex-direction:column-reverse;align-items:stretch}._footer_1u32w_98>*{border-color:var(--color-border-strong);width:100%}}._overlay_1rzp2_1{background-color:var(--color-overlay);z-index:80;position:fixed;inset:0}._overlay_1rzp2_1[data-state=open]{animation:.16s _drawerFadeIn_1rzp2_1}._overlay_1rzp2_1[data-state=closed]{animation:.14s forwards _drawerFadeOut_1rzp2_1}._panelLeft_1rzp2_17,._panelRight_1rzp2_18{background-color:var(--color-surface);width:min(286px,86vw);box-shadow:var(--shadow-lg);z-index:81;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;overflow:hidden}._body_1rzp2_32{flex:1;min-height:0;overflow-y:auto}._footer_1rzp2_38{flex-shrink:0}._panelLeft_1rzp2_17{left:0}._panelRight_1rzp2_18{width:min(420px,92vw);right:0}._panelWide_1rzp2_52{width:min(760px,96vw)}._panelLeft_1rzp2_17[data-state=open]{animation:.28s cubic-bezier(.16,1,.3,1) _drawerSlideInLeft_1rzp2_1}._panelLeft_1rzp2_17[data-state=closed]{animation:.2s ease-in forwards _drawerSlideOutLeft_1rzp2_1}._panelRight_1rzp2_18[data-state=open]{animation:.28s cubic-bezier(.16,1,.3,1) _drawerSlideInRight_1rzp2_1}._panelRight_1rzp2_18[data-state=closed]{animation:.2s ease-in forwards _drawerSlideOutRight_1rzp2_1}@keyframes _drawerFadeIn_1rzp2_1{0%{opacity:0}to{opacity:1}}@keyframes _drawerFadeOut_1rzp2_1{0%{opacity:1}to{opacity:0}}@keyframes _drawerSlideInLeft_1rzp2_1{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes _drawerSlideOutLeft_1rzp2_1{0%{transform:translate(0)}to{transform:translate(-100%)}}@keyframes _drawerSlideInRight_1rzp2_1{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes _drawerSlideOutRight_1rzp2_1{0%{transform:translate(0)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){._overlay_1rzp2_1[data-state=open],._overlay_1rzp2_1[data-state=closed],._panelLeft_1rzp2_17[data-state=open],._panelLeft_1rzp2_17[data-state=closed],._panelRight_1rzp2_18[data-state=open],._panelRight_1rzp2_18[data-state=closed]{animation:none}}._srOnly_1rzp2_138{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}._content_5rs2x_1{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:180px;box-shadow:var(--shadow-md);z-index:1000;flex-direction:column;gap:.125rem;padding:.35rem;display:flex}._header_5rs2x_14{padding:.35rem .35rem .15rem}._separator_5rs2x_18{background-color:var(--color-border);height:1px;margin:.2rem .15rem}._item_5rs2x_24{border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;outline:none;align-items:center;gap:.5rem;padding:.45rem .6rem;font-size:.9rem;display:flex}._item_5rs2x_24[data-highlighted]{background-color:var(--color-surface-muted)}._item_5rs2x_24[data-disabled]{opacity:.5;pointer-events:none}._danger_5rs2x_46{color:var(--color-danger-strong)}._danger_5rs2x_46[data-highlighted]{background-color:var(--color-danger-soft)}._icon_5rs2x_54{align-items:center;display:inline-flex}._subChevron_5rs2x_60{opacity:.55;margin-left:auto}._item_5rs2x_24[data-state=open]{background-color:var(--color-surface-muted)}._content_bh2vo_1{z-index:80;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-surface);outline:none;max-height:280px;padding:6px;overflow-y:auto;box-shadow:0 8px 24px #0000001f}._content_sto2s_1{--tooltip-bg:#334155;--tooltip-color:#fff;background-color:var(--tooltip-bg);color:var(--tooltip-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:1000;-webkit-user-select:none;user-select:none;padding:.35rem .55rem;font-size:.8rem;line-height:1.3}._arrow_sto2s_16{fill:var(--tooltip-bg)}@media (prefers-color-scheme:dark){:host(:not([data-theme=light])) ._content_sto2s_1{--tooltip-bg:#1d3135;--tooltip-color:#3fb5b7}}:host([data-theme=dark]) ._content_sto2s_1{--tooltip-bg:#1d3135;--tooltip-color:#3fb5b7}._container_yjtbg_1{top:var(--space-6);z-index:1000;align-items:center;gap:var(--space-2);pointer-events:none;flex-direction:column;display:flex;position:fixed;left:50%;transform:translate(-50%)}._toast_yjtbg_14{background-color:var(--color-surface);color:var(--color-text);padding:10px var(--space-4);border-radius:var(--radius-full);box-shadow:var(--shadow-lg);border:1px solid var(--color-border);pointer-events:auto;cursor:pointer;align-items:center;gap:10px;min-width:250px;display:flex}._iconWrap_yjtbg_29{justify-content:center;align-items:center;display:flex}._type_success_yjtbg_35{color:var(--color-success)}._type_error_yjtbg_39{color:var(--color-danger)}._type_info_yjtbg_43{color:var(--color-primary)}._message_yjtbg_47{font-size:var(--font-sm);font-weight:500}._card_mk3l2_1{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);min-width:0}._padSm_mk3l2_8{padding:var(--space-3)}._padMd_mk3l2_12{padding:var(--space-4)}._padLg_mk3l2_16{padding:var(--space-5)}._shadowSm_mk3l2_20{box-shadow:var(--shadow-sm)}._shadowMd_mk3l2_24{box-shadow:var(--shadow-md)}._interactive_mk3l2_28{cursor:pointer;transition:border-color var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out)}._interactive_mk3l2_28:hover{border-color:var(--color-primary-border);box-shadow:var(--shadow-lg);transform:translateY(-2px)}._interactive_mk3l2_28:active{box-shadow:var(--shadow-sm);transform:translateY(0)}._avatar_eiy4h_1{width:var(--avatar-size,36px);height:var(--avatar-size,36px);background-color:var(--avatar-color,var(--color-primary));color:var(--color-on-primary);font-size:var(--avatar-font,13px);text-transform:uppercase;-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;line-height:1;display:inline-flex}._circle_eiy4h_17{border-radius:50%}._rounded_eiy4h_21{border-radius:var(--radius-md)}._badge_cz5qm_1{border-radius:var(--radius-full);font-size:var(--font-xs);white-space:nowrap;border:1px solid #0000;align-items:center;gap:4px;padding:3px 9px;font-weight:700;line-height:1;display:inline-flex}._sm_cz5qm_14{padding:2px 7px;font-size:10px}._toneNeutral_cz5qm_20{--tone:var(--color-text-soft)}._tonePrimary_cz5qm_24{--tone:var(--color-primary)}._toneSecondary_cz5qm_28{--tone:var(--color-secondary)}._toneSuccess_cz5qm_32{--tone:var(--color-success)}._toneDanger_cz5qm_36{--tone:var(--color-danger)}._toneWarn_cz5qm_40{--tone:var(--color-warn)}._soft_cz5qm_44{background-color:color-mix(in srgb, var(--tone) 12%, transparent);color:var(--tone);border-color:color-mix(in srgb, var(--tone) 22%, transparent)}._solid_cz5qm_50{background-color:var(--tone);color:var(--color-on-primary)}._outline_cz5qm_55{color:var(--tone);border-color:color-mix(in srgb, var(--tone) 42%, transparent)}._skeleton_qqc08_1{background-color:var(--color-surface-muted);animation:1.5s ease-in-out infinite _skeletonPulse_qqc08_1;display:block}._line_qqc08_7{width:var(--sk-w,100%);height:var(--sk-h,12px);border-radius:var(--radius-sm)}._circle_qqc08_13{width:var(--sk-w,36px);height:var(--sk-h,36px);border-radius:50%}._block_qqc08_19{width:var(--sk-w,100%);height:var(--sk-h,80px);border-radius:var(--radius-md)}@keyframes _skeletonPulse_qqc08_1{0%,to{opacity:1}50%{opacity:.5}}@media (prefers-reduced-motion:reduce){._skeleton_qqc08_1{animation:none}}._group_dsmc8_1{border-radius:var(--radius-full);background-color:var(--color-surface-muted);flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}@media (width<=640px){._group_dsmc8_1{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;display:flex;overflow-x:auto}._group_dsmc8_1::-webkit-scrollbar{display:none}._seg_dsmc8_21{white-space:nowrap;flex-shrink:0}}._seg_dsmc8_21{border-radius:var(--radius-full);color:var(--color-text-soft);font:inherit;font-size:var(--font-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 14px;font-weight:600;transition:background-color .15s,color .15s;display:inline-flex}._seg_dsmc8_21:hover{color:var(--color-text)}._segActive_dsmc8_49,._segActive_dsmc8_49:hover{background-color:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}._seg_dsmc8_21:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}._count_dsmc8_61{border-radius:var(--radius-full);background-color:color-mix(in srgb, currentColor 16%, transparent);padding:0 6px;font-size:10px;font-weight:700}._container_wnsra_3{width:100%;display:inline-flex;position:relative}._trigger_wnsra_9{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);width:100%;height:32px;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);justify-content:space-between;align-items:center;gap:6px;padding:0 8px;font-family:inherit;font-size:12.5px;font-weight:600;display:inline-flex}._trigger_wnsra_9:hover:not(:disabled){border-color:var(--color-border-strong);background-color:var(--color-surface-hover,var(--color-surface))}._trigger_wnsra_9:focus-visible{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-10);outline:none}._triggerActive_wnsra_43{border-color:var(--color-primary)}._trigger_wnsra_9:disabled{opacity:.4;cursor:not-allowed}._timeText_wnsra_52{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}._icon_wnsra_58{color:var(--color-text-soft);flex-shrink:0}._popover_wnsra_65{z-index:1000;border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-lg,0 10px 25px -5px #0006);flex-direction:column;gap:8px;width:220px;padding:8px;display:flex;position:absolute}._popoverTop_wnsra_79{bottom:calc(100% + 4px)}._popoverBottom_wnsra_83{top:calc(100% + 4px)}._popoverLeft_wnsra_87{left:0}._popoverRight_wnsra_91{right:0}._headerPills_wnsra_97{gap:4px;width:100%;display:flex}._pill_wnsra_103{border-radius:var(--radius-sm,4px);background-color:var(--color-primary-10);border:1px solid var(--color-primary-border);height:28px;color:var(--color-primary);font-feature-settings:"tnum";flex:1;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}._pickerBody_wnsra_120{gap:4px;width:100%;height:160px;display:flex}._column_wnsra_127{scrollbar-width:thin;border-radius:var(--radius-sm,4px);background-color:var(--color-bg);border:1px solid var(--color-border);flex-direction:column;flex:1;gap:2px;padding:4px 2px;display:flex;overflow-y:auto}._column_wnsra_127::-webkit-scrollbar{width:3px}._column_wnsra_127::-webkit-scrollbar-thumb{background-color:var(--color-border-strong);border-radius:var(--radius-full)}._wheelItem_wnsra_149{border-radius:var(--radius-sm,4px);height:30px;min-height:30px;color:var(--color-text-mid);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:12.5px;font-weight:500;display:flex}._wheelItem_wnsra_149:hover{background-color:var(--color-surface-hover,#ffffff14);color:var(--color-text)}._wheelItemActive_wnsra_172,._wheelItemActive_wnsra_172:hover{background-color:var(--color-primary);color:var(--color-on-primary);font-weight:700}._wheelItemDisabled_wnsra_179,._wheelItemDisabled_wnsra_179:hover{opacity:.3;cursor:not-allowed;color:var(--color-text-soft);pointer-events:none;background:0 0}._root_lp8k4_1{height:100%;min-height:0;display:flex}._fullCenter_lp8k4_7{flex:1;place-items:center;display:grid}._list_lp8k4_14{border-right:1px solid var(--color-border);background-color:var(--color-surface);flex-direction:column;flex-shrink:0;width:360px;min-height:0;display:flex}._listHead_lp8k4_24{justify-content:space-between;align-items:center;padding:16px 18px 8px;display:flex}._listTitle_lp8k4_31{font-size:var(--font-lg);color:var(--color-text);margin:0;font-weight:600}._composeBtn_lp8k4_38{border-radius:var(--radius-md);background-color:var(--color-primary-10);width:32px;height:32px;color:var(--color-primary);cursor:pointer;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .14s,transform .14s;display:inline-flex}._composeBtn_lp8k4_38:hover{background-color:var(--color-primary);color:var(--color-on-primary);transform:translateY(-1px)}._menuItemContent_lp8k4_61{align-items:center;gap:12px;padding:4px 2px;display:flex}._chatIconTile_lp8k4_68,._groupIconTile_lp8k4_69{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}._chatIconTile_lp8k4_68{background-color:var(--color-primary-10);color:var(--color-primary)}._groupIconTile_lp8k4_69{background-color:var(--color-secondary-10);color:var(--color-secondary)}._menuItemText_lp8k4_89{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;display:flex}._menuItemTitle_lp8k4_97{color:var(--color-text);font-size:13.5px;font-weight:600;line-height:1.2}._menuItemSub_lp8k4_104{color:var(--color-text-soft);font-size:11.5px;line-height:1.2}._search_lp8k4_110{border-radius:var(--radius-md);background-color:var(--color-surface-muted);height:36px;color:var(--color-text-soft);align-items:center;gap:8px;margin:0 14px 8px;padding:0 10px;display:flex}._searchInput_lp8k4_122{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-size:13px}._searchClearBtn_lp8k4_131{color:var(--color-text-soft);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:color .14s;display:inline-flex}._searchClearBtn_lp8k4_131:hover{color:var(--color-text)}._tabsWrapper_lp8k4_148{align-items:center;display:flex;position:relative}._tabs_lp8k4_148{border-bottom:1px solid var(--color-border);scrollbar-width:none;gap:2px;width:100%;padding:0 12px 8px;display:flex;overflow-x:auto}._tabs_lp8k4_148::-webkit-scrollbar{display:none}._arrowBtn_lp8k4_168{border-radius:var(--radius-full);color:#045d5e;cursor:pointer;z-index:10;width:24px;height:24px;box-shadow:var(--shadow-sm);background-color:#aecacb;border:1px solid #045d5e;justify-content:center;align-items:center;margin-top:-4px;transition:background-color .14s,color .14s,border-color .14s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}._arrowBtn_lp8k4_168:hover{color:#045d5e;background-color:#aecacb;border-color:#045d5e}@media (prefers-color-scheme:dark){:host(:not([data-theme=light])) ._arrowBtn_lp8k4_168,:host(:not([data-theme=light])) ._arrowBtn_lp8k4_168:hover{color:#3fb5b7;background-color:#1d3135;border-color:#3fb5b7}}:host([data-theme=dark]) ._arrowBtn_lp8k4_168,:host([data-theme=dark]) ._arrowBtn_lp8k4_168:hover{color:#3fb5b7;background-color:#1d3135;border-color:#3fb5b7}._arrowLeft_lp8k4_223{left:4px}._arrowRight_lp8k4_227{right:4px}._tabs_lp8k4_148:after{content:"";flex:0 0 8px}._tab_lp8k4_148{color:var(--color-text-soft);border-radius:var(--radius-full);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex-shrink:0;align-items:center;gap:5px;padding:6px 10px;font-size:11.5px;font-weight:600;display:inline-flex;position:relative}._tab_lp8k4_148:hover{color:var(--color-text)}._tabActive_lp8k4_259,._tabActive_lp8k4_259:hover{color:var(--color-primary)}._tabBg_lp8k4_264{z-index:0;border-radius:var(--radius-full);background-color:var(--color-primary-10);box-shadow:inset 0 0 0 1px var(--color-primary-border);position:absolute;inset:0}._tabLabel_lp8k4_273{z-index:1;position:relative}._tabCount_lp8k4_278{z-index:1;border-radius:var(--radius-full);background-color:var(--color-secondary);min-width:16px;color:var(--color-on-primary);text-align:center;padding:0 5px;font-size:9px;font-weight:700;line-height:16px;position:relative}._tabDot_lp8k4_292{z-index:1;background-color:var(--color-secondary);border-radius:50%;width:6px;height:6px;position:relative}._rows_lp8k4_301{scrollbar-width:none;flex:1;min-height:0;padding:6px 0;overflow-y:auto}@media (width<=425px){._rows_lp8k4_301{padding-bottom:var(--bottom-nav-offset,50px);transition:padding-bottom var(--dur-base) var(--ease-out)}}._rows_lp8k4_301:hover{scrollbar-width:thin}._rows_lp8k4_301::-webkit-scrollbar{background:0 0;width:5px}._rows_lp8k4_301::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:0 0}._rows_lp8k4_301:hover::-webkit-scrollbar-thumb{background:var(--color-border)}._rows_lp8k4_301:hover::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}._empty_lp8k4_338{text-align:center;color:var(--color-text-soft);padding:24px 18px;font-size:13px}._sentinel_lp8k4_347{flex-shrink:0;height:1px}._loadMore_lp8k4_352{justify-content:center;align-items:center;padding:12px 0 16px;display:flex}._row_lp8k4_301{border-left:3px solid #0000;align-items:center;display:flex;position:relative}._row_lp8k4_301:hover{background-color:var(--color-surface-muted)}._rowActive_lp8k4_370{border-left-color:var(--color-primary);background-color:var(--color-primary-05)}._rowMain_lp8k4_375{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:11px;min-width:0;padding:9px 4px 9px 15px;display:flex}._rowMenuBtn_lp8k4_388{border-radius:var(--radius-md);width:28px;height:28px;color:var(--color-text-soft);cursor:pointer;opacity:1;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-right:10px;transition:background-color .12s,color .12s;display:inline-flex}._rowMenuBtn_lp8k4_388:hover{background-color:var(--color-border);color:var(--color-text)}._rowPin_lp8k4_412{width:12px;height:12px;color:var(--color-text-soft);flex-shrink:0}._rowStar_lp8k4_419{width:12px;height:12px;color:var(--color-secondary);flex-shrink:0}._rowAvatar_lp8k4_426{background-color:var(--avatar-color);width:36px;height:36px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;position:relative}._onlineDot_lp8k4_441{background-color:var(--color-success);border:2px solid var(--color-surface);border-radius:50%;width:9px;height:9px;position:absolute;bottom:0;right:0}._rowBody_lp8k4_452{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}._rowTop_lp8k4_460{justify-content:space-between;align-items:center;gap:6px;display:flex}._rowName_lp8k4_467{min-width:0;font-size:var(--font-base);color:var(--color-text);flex:1;align-items:center;gap:4px;font-weight:600;display:flex}._rowTitle_lp8k4_478{line-clamp:2;-webkit-line-clamp:2;word-break:break-word;-webkit-box-orient:vertical;flex:1;min-width:0;line-height:1.3;display:-webkit-box;overflow:hidden}._rowTime_lp8k4_490{font-size:var(--font-xs);color:var(--color-text-soft);flex-shrink:0}._rowBottom_lp8k4_496{justify-content:space-between;align-items:center;gap:6px;display:flex}._rowPreview_lp8k4_503{color:var(--color-text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}._rowRole_lp8k4_511{color:var(--color-primary);font-size:9px;font-weight:600}._unread_lp8k4_517{text-align:center;border-radius:var(--radius-full);background-color:var(--color-secondary);min-width:16px;color:var(--color-on-primary);flex-shrink:0;padding:1px 6px;font-size:9.5px;font-weight:700}._view_lp8k4_530{background-color:var(--color-bg);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}._viewEmpty_lp8k4_542{text-align:center;background-color:var(--color-bg);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}._emptyIconWrap_lp8k4_553{border-radius:var(--radius-full);background-color:var(--color-surface-muted);width:64px;height:64px;color:var(--color-text-soft);justify-content:center;align-items:center;margin-bottom:16px;display:flex}._emptyTitle_lp8k4_565{font-size:var(--font-lg);color:var(--color-text);margin:0 0 8px;font-weight:700}._emptyText_lp8k4_572{font-size:var(--font-sm);color:var(--color-text-soft);max-width:250px;margin:0;line-height:1.5}._viewHead_lp8k4_580{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:11px;padding:12px 20px;display:flex}._viewAvatarWrap_lp8k4_590{flex-shrink:0;display:inline-flex;position:relative}._viewAvatar_lp8k4_590{background-color:var(--avatar-color);width:36px;height:36px;color:var(--color-on-primary);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}._viewPresenceDot_lp8k4_609{width:12px;height:12px}._viewHeadText_lp8k4_614{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}._viewIcon_lp8k4_622{border-radius:var(--radius-md);background-color:color-mix(in srgb, var(--avatar-color) 16%, transparent);width:36px;height:36px;color:var(--avatar-color);flex-shrink:0;justify-content:center;align-items:center;display:flex}._viewTitleRow_lp8k4_634{flex:1;align-items:center;gap:6px;min-width:0;display:flex}._viewTitle_lp8k4_634{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;flex-shrink:1;min-width:0;font-size:14px;font-weight:700;overflow:hidden}._statusPill_lp8k4_653{background-color:var(--pill);color:var(--color-on-primary);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:5px;flex-shrink:0;padding:3px 7px;font-size:9px;font-weight:700}._adminBadge_lp8k4_666{background-color:var(--color-primary-10);color:var(--color-primary);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:5px;flex-shrink:0;padding:2px 7px;font-size:8.5px;font-weight:800}._viewSub_lp8k4_679{color:var(--color-text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}._headEnd_lp8k4_687{flex-shrink:0;align-items:center;gap:6px;display:flex}._memberStack_lp8k4_694{align-items:center;display:flex}._memberAvatar_lp8k4_699{border:2px solid var(--color-surface);border-radius:50%;line-height:0;display:inline-flex}._memberAvatar_lp8k4_699:not(:first-child){margin-left:-8px}._memberMore_lp8k4_710{border:2px solid var(--color-surface);background-color:var(--color-surface-muted);width:26px;height:26px;color:var(--color-text-mid);border-radius:50%;justify-content:center;align-items:center;margin-left:-8px;font-size:10px;font-weight:700;display:inline-flex}._headMenuBtn_lp8k4_725{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-mid);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}._headMenuBtn_lp8k4_725:hover{background-color:var(--color-surface-muted)}._threadWrap_lp8k4_743{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}._messages_lp8k4_535{background-color:var(--color-bg);background-image:radial-gradient(var(--color-border-strong) .5px, transparent .5px);background-size:22px 22px;flex-direction:column;flex:1;padding:20px;display:flex;overflow:hidden auto}._thread_lp8k4_743{flex-direction:column;gap:2px;margin-top:auto;display:flex}._center_lp8k4_776{place-items:center;padding:24px 0;display:grid}._olderRow_lp8k4_783{flex-shrink:0;justify-content:center;padding:4px 0 8px;display:flex}._newPill_lp8k4_791{z-index:5;border:1px solid var(--color-primary-border);border-radius:var(--radius-full);background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;box-shadow:var(--shadow-lg);align-items:center;gap:4px;padding:6px 14px;font-size:11px;font-weight:600;transition:background-color .12s;display:inline-flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}._newPill_lp8k4_791:hover{background-color:var(--color-primary-strong)}._sendFailed_lp8k4_817{align-items:center;gap:4px;display:inline-flex}._sendFailedText_lp8k4_823{opacity:.85;font-size:9.5px;font-weight:600}._retryBtn_lp8k4_829{color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:9.5px;font-weight:700;text-decoration:underline}._retryBtn_lp8k4_829:hover{opacity:.85}._systemRow_lp8k4_844{justify-content:center;margin:8px 0;padding:2px 0;display:flex}._systemPill_lp8k4_851{border-radius:var(--radius-full);background-color:var(--color-surface-muted);max-width:82%;color:var(--color-text-soft);text-align:center;padding:4px 12px;font-size:11px;font-weight:500}._msgRow_lp8k4_768{justify-content:flex-start;align-items:flex-end;gap:8px;display:flex}._msgRowGroupStart_lp8k4_768{margin-top:10px}._msgRowMe_lp8k4_875{justify-content:flex-end}._msgAvatarSpacer_lp8k4_880{flex-shrink:0;width:28px}._dateSep_lp8k4_886{justify-content:center;margin:8px 0 2px;display:flex}._dateSepPill_lp8k4_892{border-radius:var(--radius-full);background-color:var(--color-surface);color:var(--color-text-soft);letter-spacing:.02em;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);padding:3px 12px;font-size:10.5px;font-weight:600}._msgBubbleWrap_lp8k4_904{align-items:center;gap:4px;display:flex;position:relative}._msgRowMe_lp8k4_875 ._msgBubbleWrap_lp8k4_904{flex-direction:row-reverse}._reactWrap_lp8k4_915{flex-shrink:0;position:relative}._reactBtn_lp8k4_920{width:24px;height:24px;color:var(--color-text-soft);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .12s,background-color .12s;display:inline-flex}._msgRow_lp8k4_768:hover ._reactBtn_lp8k4_920{opacity:1}._reactBtn_lp8k4_920:hover{background-color:var(--color-surface-muted);color:var(--color-primary)}._reactPop_lp8k4_946{z-index:20;border-radius:var(--radius-full);background-color:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);gap:2px;max-width:calc(100vw - 32px);padding:3px;display:flex;position:absolute;bottom:calc(100% + 6px)}._reactPopRight_lp8k4_961{left:-50px;right:auto}._reactPopLeft_lp8k4_967{left:auto;right:-27px}._reactPopBtn_lp8k4_972{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:26px;font-size:15px;transition:transform .1s;display:inline-flex}._reactPopBtn_lp8k4_972:hover{background-color:var(--color-surface-muted);transform:scale(1.18)}._msgAvatar_lp8k4_880{background-color:var(--avatar-color);width:28px;height:28px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}._msgCol_lp8k4_1005{flex-direction:column;min-width:0;max-width:65%;display:flex}._msgColWithReactions_lp8k4_1012{padding-bottom:12px}._bubble_lp8k4_1016{font-size:12.5px;line-height:var(--line-body);overflow-wrap:anywhere;flex-direction:column;padding:9px 13px;display:flex;box-shadow:0 1px 3px #045d5e0f}._bubbleThem_lp8k4_1026{background-color:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:14px 14px 14px 4px}._bubbleMe_lp8k4_1033{background-color:var(--color-primary);color:var(--color-on-primary);border-radius:14px 14px 4px}._msgAuthor_lp8k4_1039{color:var(--color-primary);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:11px;font-weight:700;overflow:hidden}._bubbleMe_lp8k4_1033 ._msgAuthor_lp8k4_1039{color:var(--color-on-primary)}._msgText_lp8k4_1053{white-space:pre-wrap;word-break:break-word}._msgTextDeleted_lp8k4_1058{opacity:.75;font-style:italic}._msgMeta_lp8k4_1063{white-space:nowrap;flex-shrink:0;align-self:flex-end;align-items:center;gap:4px;margin-top:1px;display:inline-flex}._msgTime_lp8k4_1073{opacity:.7;font-size:9.5px;font-weight:500}._tick_lp8k4_1080{opacity:.7;align-items:center;display:inline-flex}._tickRead_lp8k4_1086{opacity:1;color:var(--color-primary-light)}._reactionPill_lp8k4_1091{z-index:2;border-radius:var(--radius-full);background-color:var(--color-surface);border:1.5px solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:2px 6px;transition:transform .12s,border-color .12s,background-color .12s;display:inline-flex;position:absolute;bottom:-11px;box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a}._reactionPill_lp8k4_1091:hover{border-color:var(--color-primary-border);background-color:var(--color-surface-muted);transform:scale(1.05)}._reactionPillActive_lp8k4_1119{background-color:var(--color-primary-10);border-color:var(--color-primary-border)}._reactionsMe_lp8k4_1124{right:14px}._reactionsThem_lp8k4_1128{left:14px}._reactionEmojis_lp8k4_1132{letter-spacing:-1.5px;align-items:center;padding-right:1.5px;font-size:11px;display:inline-flex}._reactionCount_lp8k4_1140{color:var(--color-text-mid);font-size:10px;font-weight:700;line-height:1}._reactionPillActive_lp8k4_1119 ._reactionCount_lp8k4_1140{color:var(--color-primary)}._reactionOn_lp8k4_1151:hover{background-color:var(--color-primary-10)}._composer_lp8k4_1156{background-color:var(--color-surface);border-top:1px solid var(--color-border);flex-shrink:0;align-items:flex-end;gap:6px;padding:12px 20px;display:flex}._removedComposer_lp8k4_1167{background-color:var(--color-surface-muted);border-top:1px solid var(--color-border);color:var(--color-text-soft);text-align:center;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:12.5px;display:flex}._attachTray_lp8k4_1182{background-color:var(--color-surface-muted);border-top:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;max-height:176px;padding:10px 20px;display:flex;overflow-y:auto}._attachItem_lp8k4_1195{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);flex-shrink:0;width:72px;height:72px;position:relative;overflow:hidden}._attachThumb_lp8k4_1206{object-fit:cover;width:100%;height:100%;display:block}._attachFile_lp8k4_1213{width:100%;height:100%;color:var(--color-text-soft);flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:6px;display:flex}._attachFileName_lp8k4_1225{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:9px;line-height:1.2;overflow:hidden}._attachRemove_lp8k4_1234{border:1px solid var(--color-border);background-color:var(--color-surface);width:18px;height:18px;color:var(--color-text);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items:center;transition:color .12s;display:inline-flex;position:absolute;top:3px;right:3px}._attachRemove_lp8k4_1234:hover{color:var(--color-danger)}._attachAdd_lp8k4_1256{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background-color:var(--color-surface);width:72px;height:72px;color:var(--color-text-soft);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:color .12s,border-color .12s;display:inline-flex}._attachAdd_lp8k4_1256:hover{color:var(--color-primary);border-color:var(--color-primary-border)}._composerIcon_lp8k4_1278{width:38px;height:38px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:inline-flex}._composerIcon_lp8k4_1278:hover{background-color:var(--color-surface-muted);color:var(--color-primary)}._composerInput_lp8k4_1300{border:1px solid var(--color-border);background-color:var(--color-bg);min-height:40px;max-height:120px;color:var(--color-text);resize:none;border-radius:19px;outline:none;flex:1;padding:10px 16px;font-family:inherit;font-size:13px;line-height:1.4;transition:border-color .12s,box-shadow .12s}._composerInput_lp8k4_1300:focus{border-color:var(--color-primary-border);box-shadow:0 0 0 3px var(--color-primary-10)}._emojiWrap_lp8k4_1325{flex-shrink:0;position:relative}._emojiBackdrop_lp8k4_1330{z-index:15;cursor:default;background:0 0;border:none;position:fixed;inset:0}._emojiPop_lp8k4_1339{z-index:20;border-radius:var(--radius-lg);background-color:var(--color-surface);border:1px solid var(--color-border);width:224px;box-shadow:var(--shadow-lg);grid-template-columns:repeat(5,1fr);gap:2px;padding:8px;display:grid;position:absolute;bottom:calc(100% + 8px);left:0}._emojiBtn_lp8k4_1355{border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;transition:background-color .1s,transform .1s;display:inline-flex}._emojiBtn_lp8k4_1355:hover{background-color:var(--color-surface-muted);transform:scale(1.12)}._sendBtn_lp8k4_1376{background-color:var(--color-primary);width:40px;height:40px;color:var(--color-on-primary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}._sendBtn_lp8k4_1376:disabled{opacity:.5;cursor:not-allowed}._memberStackBtn_lp8k4_1396{border-radius:var(--radius-full);cursor:pointer;background:0 0;border:none;padding:2px;transition:background-color .12s;display:inline-flex}._memberStackBtn_lp8k4_1396:hover{background-color:var(--color-surface-muted)}._membersBody_lp8k4_1410{flex-direction:column;gap:10px;display:flex}._unsavedBar_lp8k4_1416{border-radius:var(--radius-full);background-color:var(--color-secondary-10);color:var(--color-secondary-strong);align-self:flex-start;padding:3px 10px;font-size:11px;font-weight:700}._addMemberCta_lp8k4_1426{border-radius:var(--radius-md);background-color:var(--color-primary-05);width:100%;color:var(--color-primary);border:1px dashed var(--color-primary-border);cursor:pointer;justify-content:center;align-items:center;gap:7px;padding:10px 14px;font-size:12.5px;font-weight:700;transition:background-color .12s;display:inline-flex}._addMemberCta_lp8k4_1426:hover{background-color:var(--color-primary-10)}._membersSectionLabel_lp8k4_1447{letter-spacing:.06em;color:var(--color-text-soft);font-size:9.5px;font-weight:700}._membersList_lp8k4_1454{flex-direction:column;gap:2px;display:flex}._memberRow_lp8k4_1460{border-radius:var(--radius-md);border:1px solid #0000;align-items:center;gap:11px;padding:8px;display:flex}._memberRow_lp8k4_1460:hover{background-color:var(--color-surface-muted)}._memberRowNew_lp8k4_1473{background-color:var(--color-success-soft);border-color:color-mix(in srgb, var(--color-success) 30%, transparent)}._memberRowNew_lp8k4_1473:hover{background-color:var(--color-success-soft)}._memberRowAvatar_lp8k4_1482{background-color:var(--avatar-color);width:36px;height:36px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}._memberRowBody_lp8k4_1496{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}._memberRowName_lp8k4_1504{color:var(--color-text);flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:flex}._memberRowYou_lp8k4_1514{color:var(--color-text-soft);font-weight:500}._memberRowRole_lp8k4_1519{font-size:var(--font-xs);color:var(--color-text-soft);align-items:center;gap:6px;display:inline-flex}._memberBadgeAdmin_lp8k4_1529{letter-spacing:.04em;background-color:var(--color-secondary);color:var(--color-on-primary);border-radius:3px;padding:1px 6px;font-size:8.5px;font-weight:800}._memberBadge_lp8k4_1529{letter-spacing:.04em;background-color:var(--color-bg);color:var(--color-text-soft);border:1px solid var(--color-border);border-radius:3px;padding:1px 6px;font-size:8.5px;font-weight:700}._memberPillNew_lp8k4_1550{letter-spacing:.04em;background-color:var(--color-success);color:var(--color-on-primary);border-radius:3px;padding:1px 6px;font-size:8.5px;font-weight:800}._memberPillUp_lp8k4_1560{letter-spacing:.04em;background-color:var(--color-secondary-10);color:var(--color-secondary-strong);border:1px solid var(--color-secondary-border);border-radius:3px;padding:1px 6px;font-size:8.5px;font-weight:800}._memberPillDown_lp8k4_1571{letter-spacing:.04em;background-color:var(--color-surface-muted);color:var(--color-text-mid);border-radius:3px;padding:1px 6px;font-size:8.5px;font-weight:800}._memberRowMenuBtn_lp8k4_1581{border-radius:var(--radius-md);width:30px;height:30px;color:var(--color-text-mid);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .12s;display:inline-flex}._memberRowMenuBtn_lp8k4_1581:hover{background-color:var(--color-border);color:var(--color-text)}._removedLabel_lp8k4_1601{letter-spacing:.06em;color:var(--color-danger);padding:10px 2px 4px;font-size:9.5px;font-weight:700}._removedRow_lp8k4_1609{border-radius:var(--radius-md);background-color:var(--color-danger-soft);border:1px solid color-mix(in srgb, var(--color-danger) 25%, transparent);align-items:center;gap:11px;margin-bottom:2px;padding:8px;display:flex}._removedRow_lp8k4_1609 ._memberRowAvatar_lp8k4_1482{opacity:.6}._removedName_lp8k4_1624{color:var(--color-text);text-decoration:line-through;-webkit-text-decoration-color:var(--color-danger);text-decoration-color:var(--color-danger);font-size:12.5px;font-weight:600}._undoBtn_lp8k4_1632{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);font-size:var(--font-xs);cursor:pointer;flex-shrink:0;align-items:center;gap:5px;padding:4px 10px;font-weight:700;transition:background-color .12s;display:inline-flex}._undoBtn_lp8k4_1632:hover{background-color:var(--color-surface-muted)}._addPanel_lp8k4_1653{flex-direction:column;gap:10px;display:flex}._addPanelHead_lp8k4_1659{align-items:center;gap:8px;display:flex}._addPanelTitle_lp8k4_1665{color:var(--color-text);font-size:13px;font-weight:700}._addPanelSearch_lp8k4_1671{border-radius:var(--radius-md);background-color:var(--color-surface-muted);height:36px;color:var(--color-text-soft);align-items:center;gap:8px;padding:0 10px;display:flex}._addPanelList_lp8k4_1682{flex-direction:column;gap:2px;max-height:320px;display:flex;overflow-y:auto}._addPanelEmpty_lp8k4_1690{text-align:center;color:var(--color-text-soft);padding:20px;font-size:13px}._addMemberBtn_lp8k4_1697{border-radius:var(--radius-md);background-color:var(--color-primary-10);color:var(--color-primary);font-size:var(--font-xs);cursor:pointer;border:none;flex-shrink:0;align-items:center;gap:5px;padding:5px 12px;font-weight:700;transition:background-color .12s,transform .12s;display:inline-flex}._addMemberBtn_lp8k4_1697:hover{background-color:var(--color-primary);color:var(--color-on-primary);transform:translateY(-1px)}._newGroupBody_lp8k4_1722{flex-direction:column;gap:12px;display:flex}._staffPickRow_lp8k4_1728{border-radius:var(--radius-md);text-align:left;cursor:pointer;background-color:#0000;border:1px solid #0000;align-items:center;gap:11px;width:100%;padding:8px;transition:background-color .12s,border-color .12s;display:flex}._staffPickRow_lp8k4_1728:hover{background-color:var(--color-surface-muted)}._staffPickRow_lp8k4_1728:disabled{opacity:.6;cursor:default}._staffPickRowOn_lp8k4_1753{background-color:var(--color-primary-10);border-color:color-mix(in srgb, var(--color-primary) 30%, transparent)}._staffPickRowOn_lp8k4_1753:hover{background-color:var(--color-primary-10)}._pickCheck_lp8k4_1762{border:1.5px solid var(--color-border);width:20px;height:20px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._pickCheckOn_lp8k4_1774{background-color:var(--color-primary);border-color:var(--color-primary)}._pickerPending_lp8k4_1779{justify-content:center;padding:10px 0 2px;display:flex}@media (width<=1023px){._composer_lp8k4_1156{padding:10px 14px}}._connPill_lp8k4_1793{border-radius:var(--radius-full);background-color:var(--color-warning-soft,var(--color-primary-10));color:var(--color-text-muted);font-size:var(--font-xs);white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-weight:600;display:inline-flex}._typingRow_lp8k4_1807{color:var(--color-text-muted);flex-shrink:0;align-items:center;gap:8px;padding:4px 20px 8px;display:flex}._typingText_lp8k4_1816{font-size:var(--font-xs);font-weight:500}._typingDots_lp8k4_1821{align-items:center;gap:3px;display:inline-flex}._typingDots_lp8k4_1821 span{background-color:var(--color-text-muted);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite _typingBounce_lp8k4_1}._typingDots_lp8k4_1821 span:nth-child(2){animation-delay:.18s}._typingDots_lp8k4_1821 span:nth-child(3){animation-delay:.36s}@keyframes _typingBounce_lp8k4_1{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){._typingDots_lp8k4_1821 span{animation:none}}._memberRowAvatarWrap_lp8k4_1863{flex-shrink:0;display:inline-flex;position:relative}._presenceDot_lp8k4_1869{background-color:var(--color-success);border:2px solid var(--color-surface);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-1px;right:-1px}._replyPreview_lp8k4_1880{border-left:3.5px solid var(--color-secondary);background-color:var(--color-surface-muted);color:var(--color-text-soft);cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;border-radius:8px;margin-bottom:3px;padding:7px 10px;font-size:11.5px;transition:opacity .15s,transform .1s;display:block}._replyPreview_lp8k4_1880:hover{opacity:.85}._replyPreview_lp8k4_1880:active{transform:scale(.99)}._bubbleMe_lp8k4_1033 ._replyPreview_lp8k4_1880{border-left-color:var(--color-secondary)}:host([data-theme=dark]) ._replyPreview_lp8k4_1880,:host([data-theme=dark]) ._bubbleMe_lp8k4_1033 ._replyPreview_lp8k4_1880{border-left-color:var(--color-on-primary)}._replyPreviewAuthor_lp8k4_1914{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;max-width:300px;margin-bottom:1px;font-size:11.5px;font-weight:600;display:block;overflow:hidden}._replyPreviewText_lp8k4_1927{white-space:nowrap;text-overflow:ellipsis;max-width:300px;font-size:11.5px;display:block;overflow:hidden}@media (width<=480px){._replyPreviewAuthor_lp8k4_1914,._replyPreviewText_lp8k4_1927{max-width:220px}}.msg-highlight-flash{animation:1.5s ease-out forwards _msgFlash_lp8k4_1}@keyframes _msgFlash_lp8k4_1{0%{background-color:#045d5e40;border-radius:12px}30%{background-color:#045d5e59;border-radius:12px}to{background-color:#0000;border-radius:12px}}._replyBar_lp8k4_1962{border-radius:var(--radius-md);background-color:var(--color-surface-muted);align-items:center;gap:8px;margin:0 12px 8px;padding:8px 10px;font-size:13px;display:flex}._replyBarText_lp8k4_1973{min-width:0;color:var(--color-text-soft);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}._replyBarClose_lp8k4_1982{color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;padding:4px}._msgMedia_lp8k4_1990{border-radius:var(--radius-md);background:var(--color-surface-muted);border:1px solid var(--color-border);object-fit:cover;cursor:pointer;max-width:260px;max-height:300px;margin-top:6px;transition:transform .2s,box-shadow .2s,filter .2s;display:block}._msgMedia_lp8k4_1990:hover{box-shadow:var(--shadow-md);filter:brightness(1.03);transform:scale(1.02)}._msgMediaLoading_lp8k4_2014,._msgMediaFallback_lp8k4_2015{border-radius:var(--radius-md);background:var(--color-surface-muted);width:240px;max-width:100%;height:140px;color:var(--color-text-soft);justify-content:center;align-items:center;gap:6px;margin-top:6px;font-size:12px;display:flex}._albumGrid_lp8k4_2031{grid-template-columns:repeat(2,1fr);gap:3px;width:240px;max-width:100%;margin-top:6px;display:grid}._albumCell_lp8k4_2040{aspect-ratio:1;cursor:pointer;position:relative}._albumCell_lp8k4_2040:first-child:nth-last-child(odd){aspect-ratio:16/9;grid-column:span 2}._albumCellMedia_lp8k4_2040{border-radius:var(--radius-sm);background:var(--color-surface-muted);position:absolute;inset:0;overflow:hidden}._albumCellMedia_lp8k4_2040 img,._albumCellMedia_lp8k4_2040>div{object-fit:cover;border:none;border-radius:0;width:100%;max-width:none;height:100%;max-height:none;margin-top:0;transition:transform .25s,filter .2s}._albumCell_lp8k4_2040:hover ._albumCellMedia_lp8k4_2040 img{filter:brightness(1.05);transform:scale(1.06)}._albumCellActions_lp8k4_2085{z-index:4;border-radius:var(--radius-full);background:var(--color-overlay);opacity:0;align-items:center;gap:2px;padding:2px;transition:opacity .14s;display:flex;position:absolute;top:5px;right:5px}._albumCell_lp8k4_2040:hover ._albumCellActions_lp8k4_2085{opacity:1}._albumCellActions_lp8k4_2085 ._reactBtn_lp8k4_920{opacity:1;color:var(--color-on-primary)}._albumCellActions_lp8k4_2085 ._reactBtn_lp8k4_920:hover,._albumActionBtn_lp8k4_2111:hover{background-color:var(--color-overlay);color:var(--color-on-primary)}._albumActionBtn_lp8k4_2111{border-radius:var(--radius-full);width:24px;height:24px;color:var(--color-on-primary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .12s;display:inline-flex}._albumCellReactions_lp8k4_2130{z-index:4;pointer-events:auto;position:absolute;bottom:4px;left:auto;right:5px}._albumCellReactions_lp8k4_2130 ._reactionPill_lp8k4_1091{background-color:var(--color-surface);padding:1px 5px;font-size:10px;position:static;bottom:auto;left:auto;right:auto;box-shadow:0 1px 3px #00000040}._albumCellReactions_lp8k4_2130 ._reactionEmojis_lp8k4_1132{font-size:10px}._mediaButton_lp8k4_2156{cursor:pointer;background:0 0;border:none;padding:0;line-height:0;display:inline-block}._mediaButtonFill_lp8k4_2165{width:100%;height:100%;display:block}._viewerBackdrop_lp8k4_2172{z-index:200;justify-content:center;align-items:center;padding:40px;display:flex;position:fixed;inset:0}._viewerScrim_lp8k4_2182{background-color:var(--color-media-scrim);cursor:zoom-out;border:none;animation:.16s _viewerFade_lp8k4_1;position:absolute;inset:0}._viewerStage_lp8k4_2191{z-index:1;color:#ffffffe6;pointer-events:none;justify-content:center;align-items:center;max-width:92vw;max-height:86vh;display:flex;position:relative}._viewerImg_lp8k4_2205{object-fit:contain;border-radius:var(--radius-md);pointer-events:auto;max-width:92vw;max-height:86vh;animation:.18s _viewerZoom_lp8k4_1;box-shadow:0 20px 60px #00000080}._viewerFallback_lp8k4_2215{color:#ffffffbf;flex-direction:column;align-items:center;gap:10px;font-size:13px;display:flex}._viewerClose_lp8k4_2224,._viewerNav_lp8k4_2225{z-index:2;color:#fff;cursor:pointer;background-color:#ffffff1f;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background-color .15s,transform .15s;display:inline-flex;position:absolute}._viewerClose_lp8k4_2224:hover,._viewerNav_lp8k4_2225:hover:not(:disabled){background-color:#ffffff3d}._viewerNav_lp8k4_2225:disabled{opacity:.35;cursor:default}._viewerClose_lp8k4_2224{width:40px;height:40px;top:20px;right:24px}._viewerNav_lp8k4_2225{width:46px;height:46px;top:50%;transform:translateY(-50%)}._viewerNav_lp8k4_2225:hover:not(:disabled){transform:translateY(-50%)scale(1.06)}._viewerNavPrev_lp8k4_2269{left:20px}._viewerNavNext_lp8k4_2273{right:20px}._viewerCount_lp8k4_2277{z-index:2;border-radius:var(--radius-full);color:#fff;background-color:#ffffff1f;padding:4px 12px;font-size:12px;font-weight:600;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}@keyframes _viewerFade_lp8k4_1{0%{opacity:0}to{opacity:1}}@keyframes _viewerZoom_lp8k4_1{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}._fileCard_lp8k4_2314{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);text-align:left;cursor:pointer;align-items:center;gap:10px;width:260px;max-width:100%;margin-top:6px;padding:9px 11px;transition:background .14s,opacity .14s;display:flex}._fileCardMe_lp8k4_2332{background:var(--color-surface)}._fileCard_lp8k4_2314:hover:not(:disabled){border-color:var(--color-border-strong)}._fileCard_lp8k4_2314:disabled{cursor:default;opacity:.65}._fileCardIcon_lp8k4_2345{border-radius:var(--radius-sm);background:var(--color-bg);width:38px;height:38px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}._fileCardInfo_lp8k4_2357{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}._fileCardName_lp8k4_2365{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}._fileCardMetaLabel_lp8k4_2374{color:var(--color-text-soft);font-size:11px}._fileCardDownload_lp8k4_2379{color:var(--color-text-soft);flex-shrink:0;justify-content:center;align-items:center;display:flex}._msgActions_lp8k4_2387{opacity:0;gap:4px;margin-left:6px;transition:opacity .14s;display:inline-flex}._msgRow_lp8k4_768:hover ._msgActions_lp8k4_2387{opacity:1}._msgActionBtn_lp8k4_2399{color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:11px}._msgActionBtn_lp8k4_2399:hover{color:var(--color-text)}._editedLabel_lp8k4_2412{color:var(--color-text-soft);margin-left:4px;font-size:11px;font-style:italic}._hiddenFileInput_lp8k4_2419{display:none}._viewPaneWrapper_lp8k4_2423{flex-direction:column;flex:1;min-width:0;height:100%;display:flex}._emptyFloating1_lp8k4_2431{color:var(--color-primary-20);opacity:.35;pointer-events:none;position:absolute;top:25%;left:28%}._emptyFloating2_lp8k4_2440{color:var(--color-secondary-20);opacity:.45;pointer-events:none;position:absolute;bottom:30%;right:28%}._emptyFloating3_lp8k4_2449{color:var(--color-primary-light);opacity:.25;pointer-events:none;position:absolute;top:55%;right:32%}._backBtn_lp8k4_2458{display:none}@media (width<=1024px){._viewTitleRow_lp8k4_634{flex-wrap:wrap;gap:4px 6px}._viewTitle_lp8k4_634{flex:100%;max-width:100%}._adminBadge_lp8k4_666,._statusPill_lp8k4_653{margin-top:1px}}@media (width<=1023px){._root_lp8k4_1{flex:1!important;height:100%!important}._msgCol_lp8k4_1005{max-width:88%}._viewHead_lp8k4_580{gap:8px;padding:10px 14px}._viewTitleRow_lp8k4_634{flex-wrap:wrap;gap:4px}._root_lp8k4_1:not(._hasActiveChat_lp8k4_2499) ._viewPaneWrapper_lp8k4_2423,._root_lp8k4_1:not(._hasActiveChat_lp8k4_2499) ._viewEmpty_lp8k4_542{display:none!important}._root_lp8k4_1:not(._hasActiveChat_lp8k4_2499) ._list_lp8k4_14{flex:1!important;width:100%!important;height:100%!important;max-height:100%!important}._root_lp8k4_1._hasActiveChat_lp8k4_2499 ._list_lp8k4_14{display:none!important}._root_lp8k4_1._hasActiveChat_lp8k4_2499 ._viewPaneWrapper_lp8k4_2423,._root_lp8k4_1._hasActiveChat_lp8k4_2499 ._viewEmpty_lp8k4_542{width:100%!important;height:100%!important;display:flex!important}._backBtn_lp8k4_2458{color:var(--color-text-soft);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;margin-right:4px;padding:6px;transition:background-color .12s;display:inline-flex}._backBtn_lp8k4_2458:hover{background-color:var(--color-surface-muted);color:var(--color-text)}}@media (width<=1280px){._composer_lp8k4_1156{align-items:center;gap:4px;padding:10px 12px}._composerIcon_lp8k4_1278{width:34px;height:34px}._composerInput_lp8k4_1300{min-height:38px;padding:9px 12px;font-size:12.5px;line-height:1.35}._sendBtn_lp8k4_1376{width:36px;height:36px}}@media (width<=768px){._composer_lp8k4_1156{align-items:center;gap:4px;padding:8px}._composerIcon_lp8k4_1278{width:32px;height:32px}._composerInput_lp8k4_1300{min-height:36px;padding:9px 12px;font-size:12px;line-height:1.35}._sendBtn_lp8k4_1376{width:34px;height:34px}}@media (width<=480px){._viewHead_lp8k4_580{gap:4px;padding:8px}._memberStack_lp8k4_694 ._memberAvatar_lp8k4_699:nth-child(n+3){display:none}._memberStack_lp8k4_694 ._memberAvatar_lp8k4_699:not(:first-child){margin-left:-12px}._composer_lp8k4_1156{align-items:center;gap:3px;padding:8px 6px}._composerIcon_lp8k4_1278{width:30px;height:30px}._composerInput_lp8k4_1300{min-height:34px;padding:8px 10px;font-size:11.5px;line-height:1.35}._sendBtn_lp8k4_1376{width:32px;height:32px}}._standardHeader_lp8k4_2630{align-items:center;gap:12px;width:100%;display:flex}._mobileSelectionHeader_lp8k4_2637{justify-content:space-between;align-items:center;gap:8px;width:100%;padding:2px 0;display:none}._selectionLeft_lp8k4_2646{flex:1;align-items:center;gap:10px;min-width:0;display:flex}._selectionTitle_lp8k4_2654{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}._selectionActions_lp8k4_2663{flex-shrink:0;align-items:center;gap:4px;display:flex}._selectionActionBtn_lp8k4_2670{border-radius:var(--radius-md);width:32px;height:32px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;transition:background-color .12s,color .12s;display:inline-flex}._selectionActionBtn_lp8k4_2670:hover,._selectionActionBtn_lp8k4_2670:active{background-color:var(--color-primary-10);color:var(--color-primary)}._selectionActionDanger_lp8k4_2692:hover,._selectionActionDanger_lp8k4_2692:active{background-color:var(--color-error-10,#ef44441a);color:var(--color-error,#ef4444)}@media (width<=1024px){._msgActions_lp8k4_2387,._hasMobileSelection_lp8k4_2703 ._standardHeader_lp8k4_2630{display:none!important}._hasMobileSelection_lp8k4_2703 ._mobileSelectionHeader_lp8k4_2637{display:flex!important}._bubbleSelected_lp8k4_2711{outline:2px solid var(--color-primary);background-color:var(--color-primary-10)!important}}._root_1tuup_1{height:100%;min-height:0;display:flex}._list_1tuup_7{border-right:1px solid var(--color-border);background-color:var(--color-surface);flex-direction:column;flex-shrink:0;width:340px;min-height:0;display:flex}._listHead_1tuup_17{padding:16px 18px 8px}._title_1tuup_21{border-radius:var(--radius-sm);background-color:var(--color-surface-muted);width:120px;height:24px;margin-bottom:16px;animation:1.5s ease-in-out infinite _pulse_1tuup_1}._search_1tuup_30{border-radius:var(--radius-md);background-color:var(--color-surface-muted);height:36px;margin:0 14px 16px;animation:1.5s ease-in-out infinite _pulse_1tuup_1}._rows_1tuup_38{flex-direction:column;flex:1;padding:6px 0;display:flex}._row_1tuup_38{align-items:center;gap:11px;width:100%;padding:9px 18px;display:flex}._rowAvatar_1tuup_53{background-color:var(--color-surface-muted);border-radius:50%;flex-shrink:0;width:36px;height:36px;animation:1.5s ease-in-out infinite _pulse_1tuup_1}._rowBody_1tuup_62{flex-direction:column;flex:1;gap:6px;display:flex}._line_1tuup_69{background-color:var(--color-surface-muted);border-radius:var(--radius-sm);height:12px;animation:1.5s ease-in-out infinite _pulse_1tuup_1}._line_1tuup_69._medium_1tuup_76{width:60%}._line_1tuup_69._full_1tuup_80{width:90%}._view_1tuup_84{background-color:var(--color-bg);flex-direction:column;flex:1;display:flex}._viewHead_1tuup_91{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;gap:11px;padding:12px 20px;display:flex}._messages_1tuup_100{flex-direction:column;flex:1;gap:12px;padding:20px;display:flex}._bubbleWrap_1tuup_108{align-items:flex-end;gap:8px;display:flex}._bubbleWrap_1tuup_108._me_1tuup_76{justify-content:flex-end}._bubbleAvatar_1tuup_118{background-color:var(--color-surface-muted);border-radius:50%;width:28px;height:28px;animation:1.5s ease-in-out infinite _pulse_1tuup_1}._bubble_1tuup_108{background-color:var(--color-surface-muted);border-radius:14px 14px 14px 4px;width:200px;height:40px;animation:1.5s ease-in-out infinite _pulse_1tuup_1}._bubbleWrap_1tuup_108._me_1tuup_76 ._bubble_1tuup_108{border-radius:14px 14px 4px;width:150px}._line_1tuup_69._narrow_1tuup_139{width:30%}._bubble_1tuup_108._wide_1tuup_143{width:250px}@keyframes _pulse_1tuup_1{0%,to{opacity:1}50%{opacity:.5}}@media (width<=768px){._root_1tuup_1{flex-direction:column}._list_1tuup_7{border-right:none;border-bottom:1px solid var(--color-border);width:100%}._view_1tuup_84{display:none}}._screen_1r2pu_1{flex-direction:column;gap:14px;width:100%;padding:24px 32px 48px;display:flex}@media (width<=640px){._screen_1r2pu_1{padding:16px 16px 32px}}._center_1r2pu_15{place-items:center;padding:40px 0;display:grid}._head_1r2pu_21{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}._crumb_1r2pu_29{color:var(--color-text-soft);font-size:11.5px}._title_1r2pu_34{font-size:var(--font-xl);color:var(--color-text);align-items:center;gap:8px;margin:2px 0 0;font-weight:600;display:flex}._subtitle_1r2pu_44{color:var(--color-text-soft);margin:4px 0 0;font-size:13px}._muted_1r2pu_50{color:var(--color-text-soft);font-size:12.5px}._strong_1r2pu_55{color:var(--color-text);font-weight:600}._code_1r2pu_60{color:var(--color-text-mid);font-family:ui-monospace,monospace;font-size:11.5px}._tabs_1r2pu_67{border-bottom:1px solid var(--color-divider);scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}._tabs_1r2pu_67::-webkit-scrollbar{display:none}._tab_1r2pu_67{color:var(--color-text-soft);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 14px;font-size:12.5px;font-weight:600}._tabActive_1r2pu_93{color:var(--color-primary);border-bottom-color:var(--color-primary)}._filterBar_1r2pu_99{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}._pillsContainer_1r2pu_107{flex-direction:column;align-items:flex-start;gap:8px;width:100%;display:flex}._pills_1r2pu_107{border-radius:var(--radius-full);background-color:var(--color-surface-muted);flex-wrap:wrap;gap:4px;width:100%;padding:4px;display:flex}@media (width<=640px){._pills_1r2pu_107{scrollbar-width:none;-ms-overflow-style:none;flex-wrap:nowrap;overflow-x:auto}._pills_1r2pu_107::-webkit-scrollbar{display:none}._pill_1r2pu_107,._pillAdd_1r2pu_142{white-space:nowrap;flex-shrink:0}}._pill_1r2pu_107{color:var(--color-text-soft);border-radius:var(--radius-full);cursor:pointer;background:0 0;border:none;padding:6px 13px;font-size:12px;font-weight:600;transition:color .16s;position:relative}._pill_1r2pu_107:hover{color:var(--color-text)}._pillBg_1r2pu_166{border-radius:var(--radius-full);background-color:var(--color-surface);box-shadow:var(--shadow-sm);position:absolute;inset:0}._pillLabel_1r2pu_174{z-index:1;position:relative}._pillActive_1r2pu_179{color:var(--color-primary)}._pillChipActive_1r2pu_183{background-color:var(--color-primary-10);color:var(--color-primary);border:1px solid var(--color-primary-border)}._select_1r2pu_189,._input_1r2pu_190{height:var(--height-input);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);width:100%;padding:0 10px;font-family:inherit;font-size:13px}._select_1r2pu_189:focus-visible,._input_1r2pu_190:focus-visible{outline:2px solid var(--color-border-strong);outline-offset:0px;border-color:var(--color-border-strong)}._inputInvalid_1r2pu_209,._inputInvalid_1r2pu_209:focus-visible{border-color:var(--color-danger);outline:none}._fieldError_1r2pu_215{color:var(--color-danger);font-size:11.5px;font-weight:500}._select_1r2pu_189{width:170px;min-width:170px}._kpiRow_1r2pu_227{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}._kpiCard_1r2pu_233{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:14px 16px;display:flex}._kpiIcon_1r2pu_244{border-radius:var(--radius-md);width:30px;height:30px;color:var(--color-on-primary);background-color:var(--kpi-color);justify-content:center;align-items:center;display:inline-flex}._kpiValue_1r2pu_255{font-size:var(--font-xl);color:var(--color-text);font-weight:700}._kpiLabel_1r2pu_261{color:var(--color-text-soft);font-size:11.5px;font-weight:600}._tableWrap_1r2pu_268{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);overflow-x:auto}._table_1r2pu_268{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12.5px}._th_1r2pu_283{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-soft);background-color:var(--color-surface-muted);border-bottom:1px solid var(--color-border);padding:10px 12px;font-size:11px;font-weight:700}._row_1r2pu_295 td{border-bottom:1px solid var(--color-divider);color:var(--color-text);vertical-align:middle;padding:10px 12px}._row_1r2pu_295:hover td{background-color:var(--color-surface-muted)}._barTrack_1r2pu_306{border-radius:var(--radius-full);background-color:var(--color-surface-muted);width:120px;height:6px;overflow:hidden}._barFill_1r2pu_314{height:100%;width:var(--bar);background-color:var(--bar-color);display:block}._barLabel_1r2pu_321{color:var(--color-text-soft);font-size:10.5px}._pillBadge_1r2pu_326{border-radius:var(--radius-full);padding:2px 9px;font-size:10.5px;font-weight:700}._pillOk_1r2pu_333{background-color:var(--color-success-soft);color:var(--color-success)}._pillBad_1r2pu_326{background-color:var(--color-danger-soft);color:var(--color-danger)}._field_1r2pu_215{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}._label_1r2pu_351{color:var(--color-text-mid);font-size:12px;font-weight:600}._req_1r2pu_357{color:var(--color-danger);margin-left:2px}._formGrid_1r2pu_362{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}._swatches_1r2pu_368{flex-wrap:wrap;gap:6px;display:flex}._swatch_1r2pu_368{background-color:var(--swatch);cursor:pointer;border:2px solid #0000;border-radius:50%;width:22px;height:22px}._swatchActive_1r2pu_383{border-color:var(--color-text)}._checkbox_1r2pu_387{color:var(--color-text-mid);cursor:pointer;align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:inline-flex}._checkbox_1r2pu_387 input{accent-color:var(--color-primary)}._formFooter_1r2pu_401{justify-content:flex-end;gap:10px;padding-top:6px;display:flex}._editBtn_1r2pu_408,._deleteBtn_1r2pu_409{border-radius:var(--radius-sm);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}._editBtn_1r2pu_408{border:1px solid var(--color-primary-20);background-color:var(--color-primary-05);color:var(--color-primary)}._deleteBtn_1r2pu_409{border:1px solid color-mix(in srgb, var(--color-danger) 20%, transparent);background-color:var(--color-danger-soft);color:var(--color-danger)}._prefsWrap_1r2pu_433,._catWrap_1r2pu_434,._promoWrap_1r2pu_435,._tplWrap_1r2pu_436,._guide_1r2pu_437,._retryList_1r2pu_438{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:12px;padding:16px;display:flex}._prefBlock_1r2pu_449{flex-direction:column;gap:6px;display:flex}._prefHeading_1r2pu_455{color:var(--color-text);margin:0 0 4px;font-size:13px;font-weight:700}._prefRow_1r2pu_462,._catRow_1r2pu_463,._promoRow_1r2pu_464{background-color:var(--color-surface);border-bottom:1px solid var(--color-divider);align-items:center;gap:12px;padding:14px 18px;transition:opacity .15s,box-shadow .15s;display:flex}@media (width<=640px){._promoRow_1r2pu_464{border-bottom:1px solid var(--color-divider);background-color:var(--color-surface);grid-template-rows:auto auto;grid-template-columns:auto auto 1fr auto;align-items:center;gap:12px 10px;padding:16px;display:grid}._promoRow_1r2pu_464 ._dragHandle_1r2pu_488{grid-area:1/1}._promoRow_1r2pu_464 ._priorityBadge_1r2pu_492{grid-area:1/2}._promoRow_1r2pu_464 ._prefDot_1r2pu_496{grid-area:1/4;justify-self:end}._promoRow_1r2pu_464 ._promoNameBtn_1r2pu_501{grid-area:1/3;padding-right:4px}._promoRow_1r2pu_464 ._activeCheck_1r2pu_506{border-top:1px dashed var(--color-divider);grid-area:2/1/2/5;align-items:center;margin-top:8px;padding-top:12px;display:flex}._promoRow_1r2pu_464 ._editBtn_1r2pu_408{z-index:2;grid-area:2/1/2/5;justify-self:end;margin-top:8px;margin-right:36px}._promoRow_1r2pu_464 ._deleteBtn_1r2pu_409{z-index:2;grid-area:2/1/2/5;justify-self:end;margin-top:8px}}._promoRowDragging_1r2pu_531{opacity:.5}._promoRowDragOver_1r2pu_535{box-shadow:inset 0 2px 0 0 var(--color-primary)}._prefDot_1r2pu_496{background-color:var(--dot);border-radius:50%;flex-shrink:0;width:10px;height:10px}._dragHandle_1r2pu_488{color:var(--color-text-very-soft);cursor:grab;flex-shrink:0;align-items:center;display:inline-flex}._dragHandle_1r2pu_488:active{cursor:grabbing}._dragHandleOff_1r2pu_559{color:var(--color-border-strong);cursor:not-allowed}._prefName_1r2pu_564,._catLabel_1r2pu_565{color:var(--color-text);flex:1;font-size:13px;font-weight:600}._prefBtns_1r2pu_572{gap:4px;display:flex}._prefBtn_1r2pu_572{border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-soft);border-radius:var(--radius-md);cursor:pointer;padding:5px 10px;font-size:11.5px;font-weight:600}._prefBtnActive_1r2pu_588{border-color:var(--color-primary-border);background-color:var(--color-primary-10);color:var(--color-primary)}._catActions_1r2pu_595{justify-content:flex-end;display:flex}._catHead_1r2pu_600{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:4px;display:flex}@media (width<=640px){._catHead_1r2pu_600{flex-direction:column;align-items:stretch;gap:12px}}._webhookFilterBar_1r2pu_616{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}@media (width<=640px){._webhookFilterBar_1r2pu_616{flex-direction:column;align-items:stretch;gap:12px}._webhookFilterBar_1r2pu_616>button,._webhookFilterBar_1r2pu_616>span{justify-content:center;width:100%}}._catHeadDesc_1r2pu_637{max-width:62ch;color:var(--color-text-soft);margin:0;font-size:13px;line-height:1.5}._catList_1r2pu_645{flex-direction:column;display:flex}._catKey_1r2pu_650{color:var(--color-text-soft);border-radius:var(--radius-sm);background-color:var(--color-surface-muted);padding:2px 6px;font-family:ui-monospace,monospace;font-size:11px}._promoList_1r2pu_660{border:1px solid var(--color-border);background-color:var(--color-surface);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}._promoList_1r2pu_660>div:last-child>._promoRow_1r2pu_464{border-bottom:none}._promoRowOff_1r2pu_673{opacity:.6}._reorder_1r2pu_677{flex-direction:column;display:flex}._reorderBtn_1r2pu_682{color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;padding:0;line-height:1}._priorityBadge_1r2pu_492{background-color:var(--cat-tint);width:24px;height:24px;color:var(--cat);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:800;display:inline-flex}._priorityBadgeOff_1r2pu_705{background-color:var(--color-surface-muted);color:var(--color-text-very-soft)}._activeCheck_1r2pu_506{color:var(--color-text-soft);cursor:pointer;flex-shrink:0;align-items:center;gap:6px;font-size:11.5px;display:inline-flex}._activeCheck_1r2pu_506 input{width:15px;height:15px;accent-color:var(--color-primary);cursor:pointer}._tplHint_1r2pu_727{color:var(--color-text-soft);margin:0;font-size:12px}._tplEditLayout_1r2pu_733{grid-template-columns:1fr minmax(280px,360px);align-items:start;gap:20px;display:grid}._tplEditForm_1r2pu_740{flex-direction:column;display:flex}._tplEditPreview_1r2pu_745{flex-direction:column;gap:12px;display:flex;position:sticky;top:12px}._tplLiveHead_1r2pu_753{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-soft);align-items:center;gap:7px;font-size:11px;font-weight:700;display:inline-flex}._tplMirrorHead_1r2pu_765{border-top:1px dashed var(--color-divider);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-soft);align-items:center;gap:7px;margin-top:10px;padding-top:14px;font-size:11px;font-weight:700;display:inline-flex}._tplLiveDot_1r2pu_779{background-color:var(--color-success);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite _tplPulse_1r2pu_1}@keyframes _tplPulse_1r2pu_1{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}@media (prefers-reduced-motion:reduce){._tplLiveDot_1r2pu_779{animation:none}}@media (width<=860px){._tplEditLayout_1r2pu_733{grid-template-columns:1fr}}._promoNameBtn_1r2pu_501{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:3px;min-width:0;padding:0;display:flex}._promoNameTop_1r2pu_827{color:var(--color-text-very-soft);align-items:center;gap:6px;display:inline-flex}._promoName_1r2pu_501{color:var(--color-text);font-size:14px;font-weight:600}._promoNameOff_1r2pu_840{color:var(--color-text-soft);text-decoration:line-through}._promoNameMeta_1r2pu_845{align-items:center;gap:8px;display:inline-flex}@media (width<=640px){._promoNameMeta_1r2pu_845{flex-direction:column;align-items:flex-start;gap:4px}}._tplBadge_1r2pu_859{background-color:var(--color-primary-10);color:var(--color-primary);border-radius:4px;padding:1px 6px;font-size:10.5px;font-weight:600}._catCount_1r2pu_868{color:var(--color-text-soft);font-size:11px}._campaignBox_1r2pu_873{background-color:var(--color-bg);border-bottom:1px solid var(--color-divider);flex-direction:column;gap:10px;padding:14px 18px 16px 56px;display:flex}._promoList_1r2pu_660>div:last-child>._campaignBox_1r2pu_873{border-bottom:none}._campaignHead_1r2pu_886{justify-content:space-between;align-items:center;gap:12px;display:flex}._campaignHeadTitle_1r2pu_893{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-soft);align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}._campaignCount_1r2pu_904{border-radius:var(--radius-full);background-color:var(--color-surface-muted);min-width:20px;height:18px;color:var(--color-text-mid);letter-spacing:0;justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}._campaignList_1r2pu_919{flex-direction:column;gap:6px;display:flex}._seeAll_1r2pu_925{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:4px 2px;font-size:12px;font-weight:600}._seeAll_1r2pu_925:hover{text-decoration:underline}._cpTop_1r2pu_941{z-index:1;background-color:var(--color-surface);border-bottom:1px solid var(--color-divider);flex-direction:column;gap:12px;padding:20px 22px 14px;display:flex;position:sticky;top:0}._cpHead_1r2pu_953{justify-content:space-between;align-items:baseline;gap:12px;display:flex}._cpTitle_1r2pu_960{font-size:var(--font-lg);color:var(--color-text);margin:0;font-weight:700}._cpCount_1r2pu_967{color:var(--color-text-soft);flex-shrink:0;font-size:12px;font-weight:600}._cpSearch_1r2pu_974{align-items:center;display:flex;position:relative}._cpSearchIcon_1r2pu_980{color:var(--color-text-soft);position:absolute;left:10px}._cpSearchInput_1r2pu_986{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);width:100%;color:var(--color-text);padding:8px 12px 8px 30px;font-size:13px}._cpList_1r2pu_996{flex-direction:column;gap:8px;padding:14px 22px 18px;display:flex}._cpFooter_1r2pu_1003{border-top:1px solid var(--color-divider);background-color:var(--color-surface);padding:14px 22px}._cpFooter_1r2pu_1003 button{justify-content:center;width:100%}._campaignEmpty_1r2pu_1014{border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-soft);background-color:var(--color-surface);margin:0;padding:12px 14px;font-size:12px}._campaignRow_1r2pu_1024{border-radius:var(--radius-md);border:1px solid var(--color-border);border-left:3px solid var(--cat);background-color:var(--color-surface);align-items:center;gap:10px;padding:8px 12px;display:flex}._campaignText_1r2pu_1035{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}._campaignTitle_1r2pu_1043{color:var(--color-text);font-size:12.5px;font-weight:600}._campaignSub_1r2pu_1049{color:var(--color-text-soft);font-size:11px}._campaignMeta_1r2pu_1054{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}._campaignChip_1r2pu_1061{border-radius:var(--radius-full);background-color:var(--color-surface-muted);color:var(--color-text);align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}._campaignChipLabel_1r2pu_1073{color:var(--color-text-soft);font-weight:600}._campaignAmount_1r2pu_1078{color:var(--color-secondary);font-size:12px;font-weight:700}._campaignBadge_1r2pu_1084{border-radius:var(--radius-full);background-color:var(--color-surface-muted);color:var(--color-text-mid);padding:2px 8px;font-size:10.5px;font-weight:700}._promoPreview_1r2pu_1093{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-md);flex-direction:column;flex-shrink:0;gap:8px;max-width:420px;padding:20px 18px 16px;display:flex;position:relative;overflow:hidden}._promoCard_1r2pu_1111{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);flex-shrink:0;position:relative;overflow:hidden}._promoCardHeader_1r2pu_1120{background-color:color-mix(in srgb, var(--cat) 3.1%, transparent);border-bottom:1px solid color-mix(in srgb, var(--cat) 8.2%, transparent);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}._promoCardStatus_1r2pu_1129{letter-spacing:.06em;text-transform:uppercase;color:var(--cat);align-items:center;gap:7px;font-size:9px;font-weight:700;display:inline-flex}._promoCardHeading_1r2pu_1140{color:var(--color-text);margin:0;font-size:15px;font-weight:700;line-height:1.25}._promoCardBody_1r2pu_1148{flex-direction:column;gap:4px;padding:8px 10px;display:flex}._promoItem_1r2pu_1155{border-radius:var(--radius-sm);background-color:var(--color-bg);border:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:8px;padding:8px 10px;display:flex}._promoItemText_1r2pu_1166{flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;display:flex}._promoItemTitle_1r2pu_1175{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:12.5px;font-weight:600;overflow:hidden}._promoItemSub_1r2pu_1185{color:var(--color-text-soft);white-space:pre-wrap;width:100%;font-size:11px}._promoItemDate_1r2pu_1192{color:var(--color-text-very-soft);text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:11px;overflow:hidden}._promoItemBadge_1r2pu_1201{background-color:color-mix(in srgb, var(--cat) 7%, transparent);color:var(--cat);border-radius:6px;padding:2px 6px;font-size:9px;font-weight:700}._promoItemAmount_1r2pu_1210{background-color:color-mix(in srgb, var(--cat) 7%, transparent);color:var(--cat);border-radius:6px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:700}._promoViewAll_1r2pu_1220{border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--cat) 12.5%, transparent);width:100%;color:var(--cat);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;text-align:center;background-color:#0000;margin-top:2px;padding:7px 8px;font-size:11px;font-weight:600;overflow:hidden}._promoPreview_1r2pu_1093:before{content:"";background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 35%, transparent));height:4px;position:absolute;inset:0 0 auto}._promoStatus_1r2pu_1250{letter-spacing:.04em;color:var(--accent);font-size:10.5px;font-weight:800}._promoHeader_1r2pu_1257{font-size:var(--font-md);color:var(--color-text);margin:0;font-weight:700}._promoCardInner_1r2pu_1264{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);flex-direction:column;gap:4px;padding:12px;display:flex}._promoCardTitle_1r2pu_1274{color:var(--color-text);font-weight:700}._promoCardSub_1r2pu_1279,._promoDate_1r2pu_1280{color:var(--color-text-soft);font-size:12px}._promoCardFoot_1r2pu_1285{justify-content:space-between;align-items:center;margin-top:4px;display:flex}._promoBadge_1r2pu_1292{border-radius:var(--radius-full);background-color:color-mix(in srgb, var(--accent) 12%, transparent);color:var(--accent);padding:2px 9px;font-size:10.5px;font-weight:700}._promoAmount_1r2pu_1301{color:var(--color-secondary);font-weight:800}._promoCta_1r2pu_1306{color:var(--accent);font-size:12px;font-weight:700}._tplLayout_1r2pu_1313{grid-template-columns:240px 1fr;align-items:start;gap:14px;width:100%;min-width:0;display:grid}._tplList_1r2pu_1322{flex-direction:column;gap:6px;min-width:0;display:flex}._tplItem_1r2pu_1329{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);cursor:pointer;text-align:left;align-items:center;gap:10px;min-width:0;padding:10px 12px;display:flex}._tplItemActive_1r2pu_1342{border-color:var(--color-primary-border);background-color:var(--color-primary-05)}._tplDot_1r2pu_1347{background-color:var(--dot);border-radius:50%;flex-shrink:0;width:12px;height:12px}._tplItemText_1r2pu_1355{flex-direction:column;min-width:0;display:flex;overflow:hidden}._tplItemName_1r2pu_1362{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}._tplItemMeta_1r2pu_1371{color:var(--color-text-soft);font-size:10.5px}._editorPane_1r2pu_1376{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;width:100%;min-width:0;padding:16px;display:flex}._editorName_1r2pu_1389{height:var(--height-input);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);font-size:var(--font-md);width:100%;min-width:0;padding:0 10px;font-weight:700}._editorMeta_1r2pu_1402{flex-wrap:wrap;align-items:center;gap:14px;display:flex}._editorMetaCard_1r2pu_1409{flex-direction:column;gap:10px;width:100%;min-width:0;display:flex}._editorMetaCard_1r2pu_1409 ._input_1r2pu_190{width:100%;min-width:0}._iconPicker_1r2pu_1423{flex-wrap:wrap;gap:6px;display:flex}._iconChoice_1r2pu_1429{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);width:32px;height:32px;color:var(--color-text-soft);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}._iconChoice_1r2pu_1429:hover{border-color:var(--color-border-strong);color:var(--color-text-mid)}._iconChoiceActive_1r2pu_1447{border-color:var(--color-primary-border);background-color:var(--color-primary-10);color:var(--color-primary)}._intGuide_1r2pu_1454{border-top:1px dashed var(--color-border);margin-top:2px;padding-top:10px}._intToggle_1r2pu_1460{color:var(--color-primary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:12.5px;font-weight:600;display:inline-flex}._intChevron_1r2pu_1473{transition:transform .15s}._intChevronOpen_1r2pu_1477{transform:rotate(180deg)}._intSteps_1r2pu_1481{flex-direction:column;gap:14px;margin:12px 0 0;padding:0;list-style:none;display:flex}._intStep_1r2pu_1481{gap:10px;display:flex}._intNum_1r2pu_1495{background-color:var(--color-primary-10);width:22px;height:22px;color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}._intStepBody_1r2pu_1509{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}._intStepTitle_1r2pu_1517{color:var(--color-text);font-size:12.5px;font-weight:700}._intText_1r2pu_1523{color:var(--color-text-soft);margin:0;font-size:12px;line-height:1.5}._intText_1r2pu_1523 code{background-color:var(--color-surface-muted);border-radius:var(--radius-sm);color:var(--color-text-mid);padding:1px 5px;font-family:ui-monospace,monospace;font-size:11px}._intIntro_1r2pu_1539{color:var(--color-text-soft);margin:12px 0 0;font-size:12px;line-height:1.5}._intList_1r2pu_1546{border-left:2px solid var(--color-border);color:var(--color-text-soft);flex-direction:column;gap:6px;margin:4px 0 0;padding:2px 0 2px 12px;font-size:12px;line-height:1.5;list-style:none;display:flex}._intOl_1r2pu_1559{color:var(--color-text-soft);flex-direction:column;gap:4px;margin:4px 0 0;padding-left:20px;font-size:12px;line-height:1.5;list-style:decimal;display:flex}._intList_1r2pu_1546 code,._intOl_1r2pu_1559 code{background-color:var(--color-surface-muted);border-radius:var(--radius-sm);color:var(--color-text-mid);padding:1px 5px;font-family:ui-monospace,monospace;font-size:11px}._registry_1r2pu_1582{flex-direction:column;gap:14px;display:flex}._regStats_1r2pu_1588{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}._regList_1r2pu_1594{flex-direction:column;gap:8px;display:flex}._regRow_1r2pu_1600{text-align:left;border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;box-shadow:var(--shadow-sm);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}._regRow_1r2pu_1600:hover{border-color:var(--color-border-strong)}._regRowMain_1r2pu_1619{flex-direction:column;gap:3px;min-width:0;display:flex}._regRowName_1r2pu_1626{color:var(--color-text);font-size:13px;font-weight:600}._regRowMeta_1r2pu_1632{color:var(--color-text-soft);font-size:11.5px}._regRowEnd_1r2pu_1637{flex-shrink:0;align-items:center;gap:10px;display:flex}._regRate_1r2pu_1644{color:var(--color-text-mid);font-size:12px;font-weight:600}._regDetail_1r2pu_1650{flex-direction:column;gap:14px;width:100%;padding:20px;display:flex}._regDetailHead_1r2pu_1658{align-items:center;gap:10px;display:flex}._regDetailTitle_1r2pu_1664{font-size:var(--font-md);color:var(--color-text);font-weight:700}._feedEmpty_1r2pu_1671{border-radius:var(--radius-md);border:1px dashed var(--color-border-strong);color:var(--color-text-soft);align-items:center;gap:12px;padding:14px;display:flex}._feedEmptyText_1r2pu_1681{flex:1;min-width:0}._feedEmptyTitle_1r2pu_1686{color:var(--color-text);margin:0 0 2px;font-size:13px;font-weight:600}._feedHead_1r2pu_1693{justify-content:space-between;align-items:center;gap:10px;display:flex}._feedTitle_1r2pu_1700{color:var(--color-text);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}._feedMeta_1r2pu_1709{flex-wrap:wrap;gap:4px 16px;display:flex}._feedActions_1r2pu_1715{justify-content:flex-end;gap:8px;display:flex}._tplPreview_1r2pu_1722{border-radius:var(--radius-lg);border:1px solid var(--color-border);background:linear-gradient(180deg, var(--color-surface-muted), var(--color-surface));flex-direction:column;gap:6px;padding:14px;display:flex}._tplPreviewLabel_1r2pu_1732{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-soft);font-size:10.5px;font-weight:700}._tplPreviewCard_1r2pu_1740{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);align-items:center;gap:12px;width:100%;min-width:0;padding:10px 12px;display:flex}._tplPreviewAvatar_1r2pu_1753{border-radius:var(--radius-md);width:38px;height:38px;color:var(--color-on-primary);background-color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._tplPreviewText_1r2pu_1765{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}._tplPreviewTitleRow_1r2pu_1773{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}._tplPreviewTitle_1r2pu_1773{font-size:var(--font-md);color:var(--color-text);word-break:break-word;overflow-wrap:anywhere;min-width:0;font-weight:700}._tplPreviewPill_1r2pu_1790{border-radius:var(--radius-full);color:var(--accent);background-color:color-mix(in srgb, var(--accent) 14%, transparent);padding:2px 9px;font-size:10.5px;font-weight:700}._tplPreviewSub_1r2pu_1799{color:var(--color-text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}._fieldsHead_1r2pu_1807{justify-content:space-between;align-items:center;margin-top:6px;display:flex}._fieldList_1r2pu_1814{flex-direction:column;gap:8px;display:flex}._fieldCard_1r2pu_1820{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);flex-direction:column;gap:8px;padding:10px 12px;display:flex}._fieldCardMain_1r2pu_1830{grid-template-columns:auto 1fr 132px auto auto;align-items:center;gap:8px;display:grid}._fieldLabelInput_1r2pu_1837{border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface);height:32px;color:var(--color-text);width:100%;padding:0 10px;font-family:inherit;font-size:13px;font-weight:600}._fieldTypeSelect_1r2pu_1850{border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface);height:32px;color:var(--color-text-mid);width:100%;padding:0 8px;font-family:inherit;font-size:12px}._fieldKeyRow_1r2pu_1862{align-items:center;gap:8px;padding-left:30px;display:flex}._fieldKeyLabel_1r2pu_1869{color:var(--color-text-soft);flex-shrink:0;font-size:11px;font-weight:600}._fieldKeyInput_1r2pu_1876{border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface-muted);height:28px;color:var(--color-text-mid);flex:1;padding:0 8px;font-family:ui-monospace,monospace;font-size:11.5px}._iconToggle_1r2pu_1888{border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-surface);width:28px;height:28px;color:var(--color-text-soft);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}._iconToggleOn_1r2pu_1901{border-color:var(--color-primary-border);background-color:var(--color-primary-10);color:var(--color-primary)}._webhookBox_1r2pu_1907{border-radius:var(--radius-md);border:1px dashed var(--color-border-strong);flex-direction:column;gap:10px;width:100%;min-width:0;margin-top:8px;padding:12px;display:flex}._schema_1r2pu_1920{border-radius:var(--radius-md);background-color:var(--color-surface-muted);color:var(--color-text);white-space:pre;margin:0;padding:12px;font-family:ui-monospace,monospace;font-size:11.5px;overflow-x:auto}._retryItem_1r2pu_1932{border-radius:var(--radius-md);border:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}._retryInfo_1r2pu_1942{flex-direction:column;gap:2px;display:flex}._retryError_1r2pu_1948{color:var(--color-danger);font-size:11.5px}._retryActions_1r2pu_1953{flex-shrink:0;gap:8px;display:flex}._tplGrid_1r2pu_1959{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;display:grid}._tplCard_1r2pu_1965{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;align-items:flex-start;gap:8px;padding:14px;display:flex}._tplCardHead_1r2pu_1977{justify-content:space-between;align-items:center;width:100%;display:flex}._tplCat_1r2pu_1984{color:var(--color-primary);background-color:var(--color-primary-10);border-radius:var(--radius-full);padding:2px 8px;font-size:10.5px;font-weight:700}@media (width<=1024px){._kpiRow_1r2pu_227{grid-template-columns:repeat(2,1fr)}._tplLayout_1r2pu_1313{grid-template-columns:1fr}._fieldRow_1r2pu_2002{grid-template-columns:auto 1fr auto auto}}@media (width<=768px){._kpiRow_1r2pu_227{grid-template-columns:1fr}}@media (width<=480px){._feedEmpty_1r2pu_1671{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}._feedEmptyText_1r2pu_1681{width:100%}}._tplSidebar_1r2pu_2027{flex-direction:column;gap:10px;display:flex}._tplLock_1r2pu_2033{color:var(--color-text-soft);vertical-align:-1px;margin-left:6px}._lockBadge_1r2pu_2039{border-radius:var(--radius-full);background-color:var(--color-primary-10);color:var(--color-primary);letter-spacing:.04em;text-transform:uppercase;align-self:flex-start;align-items:center;padding:2px 8px;font-size:9.5px;font-weight:700;display:inline-flex}._footerBtns_1r2pu_2053{align-items:center;gap:8px;margin-left:auto;display:flex}._copyRow_1r2pu_2060{align-items:stretch;gap:6px;display:flex}._copyRow_1r2pu_2060 ._input_1r2pu_190{flex:1;min-width:0}._copyBtn_1r2pu_2071{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:34px;color:var(--color-text-mid);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}._copyBtn_1r2pu_2071:hover{background-color:var(--color-primary-05);color:var(--color-primary);border-color:var(--color-primary-border)}._webhookFoot_1r2pu_2093{justify-content:space-between;align-items:center;gap:10px;margin-top:4px;display:flex}._testBtn_1r2pu_2101{border-radius:var(--radius-md);border:1px solid var(--color-primary-border);background-color:var(--color-primary-05);color:var(--color-primary);cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:11.5px;font-weight:600;display:inline-flex}._testBtn_1r2pu_2101:hover{background-color:var(--color-primary-10)}._fieldRef_1r2pu_2120{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-bg);margin-top:6px;overflow:hidden}._fieldRefHead_1r2pu_2128{border-bottom:1px solid var(--color-divider);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-mid);align-items:center;gap:7px;padding:10px 12px;font-size:11px;font-weight:700;display:flex}._fieldRefHead_1r2pu_2128 svg{color:var(--color-primary)}._fieldRefHint_1r2pu_2145{letter-spacing:0;text-transform:none;color:var(--color-text-soft);margin-left:auto;font-size:10.5px;font-weight:500}._fieldRefList_1r2pu_2154{flex-direction:column;display:flex}._fieldRefItem_1r2pu_2159{border:none;border-top:1px solid var(--color-divider);text-align:left;cursor:pointer;background:0 0;align-items:baseline;gap:10px;padding:8px 12px;transition:background-color .12s;display:flex}._fieldRefItem_1r2pu_2159:first-child{border-top:none}._fieldRefItem_1r2pu_2159:hover{background-color:var(--color-primary-05)}._fieldRefToken_1r2pu_2180{color:var(--color-primary);background-color:var(--color-primary-10);border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0;padding:2px 7px;font-family:ui-monospace,monospace;font-size:11.5px;font-weight:600}._fieldRefDesc_1r2pu_2192{color:var(--color-text-soft);font-size:11.5px;line-height:1.4}._tokenWarn_1r2pu_2198{border-radius:var(--radius-md);background-color:var(--color-secondary-10);border:1px solid var(--color-secondary-border);color:var(--color-secondary-strong);align-items:flex-start;gap:7px;margin-top:10px;padding:9px 11px;font-size:11.5px;line-height:1.45;display:flex}._tokenWarn_1r2pu_2198 svg{flex-shrink:0;margin-top:1px}._tplEditMain_1r2pu_2218{flex-direction:column;gap:10px;display:flex}._tplEditSide_1r2pu_2224{flex-direction:column;gap:14px;display:flex}._tplEditWrap_1r2pu_2231{flex-direction:column;gap:6px;display:flex}._tplEditBar_1r2pu_2237{border-top:1px solid var(--color-divider);align-items:center;gap:12px;margin-top:8px;padding-top:14px;display:flex}._tplBarSpacer_1r2pu_2246{flex:1}@media (width<=640px){._tplEditBar_1r2pu_2237{flex-wrap:wrap;gap:8px}._tplBarSpacer_1r2pu_2246{flex-basis:100%;height:0;margin:0}._tplBarSpacer_1r2pu_2246+span{margin-left:auto}}._pillAdd_1r2pu_142{border:1px dashed var(--color-border-strong);color:var(--color-text-soft);border-radius:var(--radius-full);cursor:pointer;background:0 0;align-self:flex-end;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:600;transition:color .16s,border-color .16s;display:inline-flex}._pillAdd_1r2pu_142:hover{color:var(--color-primary);border-color:var(--color-primary-border)}._tcFieldsHead_1r2pu_2292{justify-content:space-between;align-items:baseline;gap:10px;margin-top:6px;margin-bottom:6px;display:flex}._tcRows_1r2pu_2301{flex-direction:column;gap:10px;display:flex}._tcCard_1r2pu_2308{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);flex-direction:column;gap:7px;padding:11px 12px;display:flex}._tcCardTop_1r2pu_2318{align-items:center;gap:8px;display:flex}._tcGrow_1r2pu_2324{min-width:0;height:var(--height-input);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);flex:1;padding:0 10px;font-family:inherit;font-size:13px;font-weight:600}._tcType_1r2pu_2338{height:var(--height-input);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;flex-shrink:0;padding:0 8px;font-family:inherit;font-size:12px}._tcToken_1r2pu_2351{border-radius:var(--radius-sm);background-color:var(--color-primary-10);max-width:100%;color:var(--color-primary);text-overflow:ellipsis;white-space:nowrap;align-self:flex-start;padding:2px 7px;font-family:ui-monospace,monospace;font-size:10.5px;overflow:hidden}._currencyWrap_1r2pu_2366{align-items:center;gap:6px;padding:0 10px;display:flex}._currencyPrefix_1r2pu_2373{color:var(--color-text-soft);flex-shrink:0;font-weight:700}._currencyInput_1r2pu_2379{min-width:0;height:100%;color:var(--color-text);background:0 0;border:none;flex:1;font-family:inherit;font-size:13px}._currencyInput_1r2pu_2379:focus-visible{outline:none}._tokenRead_1r2pu_2395{cursor:text;border-radius:var(--radius-sm);outline-offset:2px;white-space:pre-wrap;word-break:break-word;outline:2px solid #0000;min-height:1.3em;transition:outline-color .12s,background-color .12s;display:block}._tokenRead_1r2pu_2395:hover{background-color:color-mix(in srgb, var(--accent) 6%, transparent)}._tokenRead_1r2pu_2395:focus-visible{outline-color:var(--accent)}._tokenReadOver_1r2pu_2417{outline-color:var(--accent);background-color:color-mix(in srgb, var(--accent) 12%, transparent)}._tokenReadStatic_1r2pu_2423{cursor:default}._tokenReadStatic_1r2pu_2423:hover{background-color:#0000}._tokenInput_1r2pu_2431{border-radius:var(--radius-sm);background-color:color-mix(in srgb, var(--accent) 8%, transparent);outline:1px solid var(--accent);border:none;width:100%;padding:0 2px;font-family:inherit;display:block}._tokenPlaceholder_1r2pu_2442{color:var(--color-text-very-soft);font-style:italic}._tokenChip_1r2pu_2447{border-radius:var(--radius-full);background-color:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);white-space:nowrap;align-items:center;gap:3px;margin:0 1px;padding:1px 4px 1px 7px;font-family:ui-monospace,monospace;font-size:10.5px;font-weight:700;display:inline-flex}._tokenChipBad_1r2pu_2463{background-color:var(--color-danger-soft);color:var(--color-danger);border-color:color-mix(in srgb, var(--color-danger) 30%, transparent)}._tokenChipX_1r2pu_2469{background-color:color-mix(in srgb, currentColor 15%, transparent);width:14px;height:14px;color:inherit;cursor:pointer;opacity:1;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:2px;padding:0;display:inline-flex}._tokenChipX_1r2pu_2469 svg{stroke:currentColor;width:9px;height:9px;display:block}._tokenChipX_1r2pu_2469:hover{background-color:color-mix(in srgb, currentColor 30%, transparent)}._palette_1r2pu_2498{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-bg);flex-direction:column;gap:12px;padding:14px;display:flex}._paletteGroup_1r2pu_2508{flex-direction:column;gap:7px;display:flex}._paletteGroupLabel_1r2pu_2514{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-soft);font-size:9.5px;font-weight:700}._paletteChips_1r2pu_2522{flex-direction:column;gap:5px;display:flex}._paletteChipWrap_1r2pu_2528{display:block}._paletteChipWrap_1r2pu_2528>._paletteChip_1r2pu_2522{width:100%}._paletteChip_1r2pu_2522{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);cursor:grab;text-align:left;align-items:center;gap:8px;padding:7px 9px;transition:border-color .12s,box-shadow .12s;display:flex}._paletteChip_1r2pu_2522:hover{border-color:var(--color-primary-border);box-shadow:var(--shadow-sm)}._paletteChip_1r2pu_2522:active{cursor:grabbing}._paletteGrip_1r2pu_2560{color:var(--color-text-very-soft);flex-shrink:0}._paletteToken_1r2pu_2565{border-radius:var(--radius-sm);background-color:var(--color-primary-10);color:var(--color-primary);flex-shrink:0;padding:2px 7px;font-family:ui-monospace,monospace;font-size:11px;font-weight:700}._paletteDesc_1r2pu_2576{color:var(--color-text-soft);font-size:11px;line-height:1.35}._paletteHint_1r2pu_2582{font-size:var(--font-xs);color:var(--color-text-soft);margin:2px 0 0}._simMemberRow_1r2pu_2589{align-items:center;gap:8px;margin-bottom:6px;display:flex}._simMemberRemove_1r2pu_2596{border:1px solid var(--color-border);background:var(--color-surface);width:34px;height:34px;color:var(--color-danger,#dc2626);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._signatureContainer_1r2pu_2611{margin-top:12px;margin-bottom:12px;padding:8px 0}._signatureLabel_1r2pu_2617{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;display:flex}._signatureCheckbox_1r2pu_2625{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;margin:0}._signatureText_1r2pu_2634{flex-direction:column;gap:2px;display:flex}._signatureTitle_1r2pu_2640{color:var(--color-text);font-size:14px;font-weight:600;line-height:1.25}._signatureDesc_1r2pu_2647{color:var(--color-text-soft);font-size:12px}._usageSearch_1r2pu_2654{flex:220px;align-items:center;max-width:320px;display:flex;position:relative}._usageSearchIcon_1r2pu_2662{color:var(--color-text-soft);pointer-events:none;position:absolute;left:10px}._usageSearchInput_1r2pu_2669{border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-surface);width:100%;color:var(--color-text);padding:8px 10px 8px 32px;font-size:13px}._usageSearchInput_1r2pu_2669:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}._overlay_1agsz_5{z-index:200;pointer-events:none;position:fixed;inset:0}._card_1agsz_12{pointer-events:auto;border-radius:var(--radius-xl,22px);background-color:var(--color-surface);border:1px solid var(--color-border);width:min(340px,100vw - 40px);box-shadow:var(--shadow-lg);flex-direction:column;gap:14px;padding:16px 18px;display:flex;position:absolute;bottom:20px;left:20px}._draggable_1agsz_30{cursor:grab;touch-action:none}._draggable_1agsz_30:active{cursor:grabbing}._head_1agsz_40{align-items:center;gap:14px;display:flex}._info_1agsz_46{flex-direction:column;gap:2px;min-width:0;display:flex}._avatarRing_1agsz_53{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:relative}._avatarRingPulse_1agsz_65:before,._avatarRingPulse_1agsz_65:after{content:"";border:2px solid var(--avatar-color,var(--color-primary));opacity:0;border-radius:50%;animation:2s cubic-bezier(.4,0,.2,1) infinite _callPulse_1agsz_1;position:absolute;inset:0}._avatarRingPulse_1agsz_65:after{animation-delay:1s}@keyframes _callPulse_1agsz_1{0%{opacity:.6;transform:scale(.9)}to{opacity:0;transform:scale(1.5)}}._avatar_1agsz_53{background-color:var(--avatar-color,var(--color-primary));color:#fff;letter-spacing:.02em;z-index:1;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;font-size:19px;font-weight:700;display:flex;box-shadow:0 4px 14px #0000002e}._name_1agsz_107{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:700;line-height:1.25;overflow:hidden}._status_1agsz_117{color:var(--color-text-soft);font-size:13px;font-weight:500}._timer_1agsz_123{font-variant-numeric:tabular-nums;color:var(--color-text-mid);font-size:14px;font-weight:600}._actions_1agsz_130{justify-content:flex-end;align-items:center;gap:14px;display:flex}._btn_1agsz_137{cursor:pointer;color:#fff;width:46px;height:46px;transition:transform var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 6px 16px #0000002e}._btn_1agsz_137:hover{transform:translateY(-2px)scale(1.04);box-shadow:0 10px 22px #00000038}._btn_1agsz_137:active{transform:scale(.95)}._accept_1agsz_163{background-color:var(--color-success,#16a34a);animation:1.4s ease-in-out infinite _acceptBob_1agsz_1}@keyframes _acceptBob_1agsz_1{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}._decline_1agsz_178{background-color:var(--color-danger,#dc2626)}._mute_1agsz_182{background-color:var(--color-surface-muted);width:42px;height:42px;color:var(--color-text-mid);border:1px solid var(--color-border);box-shadow:none}._muteOn_1agsz_191{background-color:var(--color-text);color:var(--color-surface);border-color:var(--color-text)}@media (prefers-reduced-motion:reduce){._avatarRingPulse_1agsz_65:before,._avatarRingPulse_1agsz_65:after,._accept_1agsz_163{animation:none}}._popped_1agsz_208{pointer-events:auto;position:static}._popped_1agsz_208 ._card_1agsz_12{width:auto;height:100vh;box-shadow:none;border:none;border-radius:0;justify-content:center;position:static}._popOut_1agsz_224{width:28px;height:28px;color:var(--color-text-muted,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._popOut_1agsz_224:hover{background-color:var(--color-surface-hover,#0000000f);color:var(--color-text)}._callBtn_1q44j_1{border:1px solid var(--color-border);background-color:var(--color-surface);width:36px;height:36px;color:var(--color-primary);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}._callBtn_1q44j_1:hover:not(:disabled){background-color:var(--color-primary-10);border-color:var(--color-primary-border)}._callBtn_1q44j_1:disabled{opacity:.5;cursor:not-allowed}._card_1bdwl_1{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);text-align:left;cursor:pointer;appearance:none;width:100%;max-width:320px;margin-top:8px;padding:0;font-family:inherit;transition:border-color .2s,box-shadow .2s,transform .2s;display:block;overflow:hidden;box-shadow:0 2px 4px #0000000a}._card_1bdwl_1:hover,._card_1bdwl_1:focus-visible{border-color:var(--color-primary-40);outline:none;box-shadow:0 4px 12px #00000014}._header_1bdwl_29{background:var(--color-primary-05);border-bottom:1px solid var(--color-border);color:var(--color-primary);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:6px;padding:8px 14px;font-size:10px;font-weight:700;display:flex}._body_1bdwl_43{padding:14px}._authorRow_1bdwl_47{align-items:center;gap:10px;margin-bottom:10px;display:flex}._avatar_1bdwl_54{background:var(--avatar-color,var(--color-primary));width:26px;height:26px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:flex}._authorInfo_1bdwl_68{flex:1;min-width:0}._authorName_1bdwl_73{color:var(--color-text);font-size:12px;font-weight:600;line-height:1.2}._category_1bdwl_80{color:var(--cat-color,var(--color-text-soft));align-items:center;gap:5px;margin-top:3px;font-size:10.5px;font-weight:600;display:inline-flex}._catDot_1bdwl_90{background:var(--cat-color,var(--color-text-soft));border-radius:50%;width:6px;height:6px}._title_1bdwl_97{color:var(--color-text);margin-bottom:6px;font-size:14px;font-weight:600;line-height:1.4}._snippet_1bdwl_105{color:var(--color-text-mid);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}._footer_1bdwl_116{border-top:1px solid var(--color-border);color:var(--color-primary);align-items:center;gap:4px;margin-top:12px;padding-top:10px;font-size:12px;font-weight:600;transition:color .2s;display:flex}._card_1bdwl_1:hover ._footer_1bdwl_116{color:var(--color-primary-dark,var(--color-primary))}:host{contain:layout style;height:100%;min-height:24rem;display:block}:host .commhub-widget-root{height:100%;font-family:var(--font-sans);font-size:var(--font-base);font-variant:normal;font-style:normal;font-weight:400;font-stretch:100%;line-height:var(--line-body);letter-spacing:-.01em;word-spacing:normal;text-align:start;text-indent:0;text-transform:none;text-shadow:none;white-space:normal;word-break:normal;overflow-wrap:normal;tab-size:4;color:var(--color-text);visibility:visible;opacity:1;writing-mode:horizontal-tb;cursor:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"cv05", "cv11", "ss01";direction:ltr;list-style:none;display:block;overflow-y:auto;container-type:inline-size}:host{--color-primary:#045d5e;--color-primary-strong:#033f40;--color-primary-light:#067a7b;--color-primary-30:#045d5e2e;--color-primary-20:#045d5e1f;--color-primary-10:#045d5e0f;--color-primary-05:#045d5e09;--color-primary-border:#045d5e38;--color-on-primary:#fff;--color-secondary:#fc7300;--color-secondary-strong:#e16500;--color-secondary-30:#fc730033;--color-secondary-20:#fc73001f;--color-secondary-10:#fc730012;--color-secondary-border:#fc73004d;--color-bg:#f8fafc;--color-surface:#fff;--color-surface-muted:#f1f5f9;--color-off-hours:#f4f6f9;--color-text:#0f172a;--color-text-mid:#475569;--color-text-soft:#64748b;--color-text-muted:#64748b;--color-text-very-soft:#94a3b8;--color-border:#0f172a0f;--color-border-strong:#0f172a1a;--color-divider:#0f172a0a;--shadow-sm:0 1px 2px #0f172a0a, 0 1px 1px #0f172a08;--shadow-md:0 2px 4px #0f172a0a, 0 8px 18px #0f172a12;--shadow-lg:0 4px 10px #0f172a0d, 0 18px 44px #0f172a1a;--color-success:#10b981;--color-success-strong:#15803d;--color-success-soft:#10b98114;--color-danger:#ef4444;--color-danger-strong:#b91c1c;--color-danger-soft:#ef44440f;--color-warn:#f59e0b;--color-warn-soft:#f59e0b14;--color-focus:#3b82f6;--color-overlay:#0f172a73;--color-media-scrim:#090c10eb;--font-sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-xs:11.5px;--font-sm:13px;--font-base:14px;--font-md:15px;--font-lg:19px;--font-xl:24px;--font-2xl:30px;--line-body:1.55;--line-tight:1.28;--tracking-tight:-.02em;--tracking-tighter:-.03em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:16px;--radius-full:999px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.14s;--dur-base:.2s;--dur-slow:.32s;--height-btn:36px;--height-input:40px;--height-row:52px;--height-nav:42px;--badge-h:20px;--badge-font:11px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:host(:not([data-theme=light])){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:#3fb5b7;--color-primary-strong:#2d9799;--color-primary-light:#67d4d6;--color-primary-30:#3fb5b747;--color-primary-20:#3fb5b72e;--color-primary-10:#3fb5b71a;--color-primary-05:#3fb5b70f;--color-primary-border:#3fb5b752;--color-secondary:#ff8a2e;--color-secondary-strong:#e16500;--color-secondary-30:#ff8a2e4d;--color-secondary-20:#ff8a2e2e;--color-secondary-10:#ff8a2e1f;--color-secondary-border:#ff8a2e61;--color-bg:#0f1517;--color-surface:#1a2226;--color-surface-muted:#222c30;--color-off-hours:#11181b;--color-text:#e8edef;--color-text-mid:#a8b5bd;--color-text-soft:#7c8a92;--color-text-muted:#7c8a92;--color-text-very-soft:#536069;--color-border:#ffffff12;--color-border-strong:#ffffff21;--color-divider:#ffffff0a;--shadow-sm:0 1px 2px #0000004d, 0 1px 1px #0003;--shadow-md:0 2px 4px #0000004d, 0 8px 18px #0006;--shadow-lg:0 4px 10px #00000059, 0 18px 44px #00000080;--color-success:#34d399;--color-success-soft:#34d3991f;--color-danger:#f87171;--color-danger-soft:#f871711f;--color-warn:#fbbf24;--color-warn-soft:#fbbf241f}}:host([data-theme=dark]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:#3fb5b7;--color-primary-strong:#2d9799;--color-primary-light:#67d4d6;--color-primary-30:#3fb5b747;--color-primary-20:#3fb5b72e;--color-primary-10:#3fb5b71a;--color-primary-05:#3fb5b70f;--color-primary-border:#3fb5b752;--color-secondary:#ff8a2e;--color-secondary-strong:#e16500;--color-secondary-30:#ff8a2e4d;--color-secondary-20:#ff8a2e2e;--color-secondary-10:#ff8a2e1f;--color-secondary-border:#ff8a2e61;--color-bg:#0f1517;--color-surface:#1a2226;--color-surface-muted:#222c30;--color-off-hours:#11181b;--color-text:#e8edef;--color-text-mid:#a8b5bd;--color-text-soft:#7c8a92;--color-text-muted:#7c8a92;--color-text-very-soft:#536069;--color-border:#ffffff12;--color-border-strong:#ffffff21;--color-divider:#ffffff0a;--shadow-sm:0 1px 2px #00000040;--shadow-md:0 4px 12px #00000059;--shadow-lg:0 12px 32px #00000073;--color-success:#34d399;--color-success-soft:#34d3991f;--color-danger:#f87171;--color-danger-soft:#f871711f;--color-warn:#fbbf24;--color-warn-soft:#fbbf241f}:host,*{box-sizing:border-box}:host,.commhub-widget-root{height:100%}.route-fallback{place-items:center;min-height:100vh;display:grid}.content-fallback{place-items:center;height:100%;min-height:240px;display:grid}:host{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);font-size:var(--font-base);line-height:var(--line-body);letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"cv05", "cv11", "ss01";margin:0}::selection{background-color:var(--color-primary-20);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}:host,*{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--color-border-strong);border-radius:var(--radius-full);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-very-soft)}@media (width<=768px){:host{--height-btn:44px;--height-input:44px;--height-nav:56px}}._notice_184jj_6{color:#b91c1c;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0;padding:16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px;line-height:1.5}._title_184jj_23{margin-bottom:4px;font-weight:600;display:block}._detail_184jj_29{word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}._floatingWidget_933j8_1{z-index:120;border-radius:var(--radius-lg,14px);background:var(--color-surface,#fff);border:1px solid var(--color-border,#0f172a1f);box-shadow:var(--shadow-lg,0 10px 25px -5px #00000026);color:var(--color-text,#0f172a);align-items:center;gap:14px;padding:10px 16px;display:flex;position:fixed;bottom:24px;right:24px}._floatingInfo_933j8_17{flex-direction:column;gap:2px;min-width:140px;max-width:220px;display:flex}._floatingTitle_933j8_25{color:var(--color-text,#0f172a);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}._floatingStatus_933j8_34{color:var(--color-success,#10b981);align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}._statusDot_933j8_43{background-color:var(--color-success,#10b981);border-radius:50%;width:7px;height:7px;animation:1.8s ease-in-out infinite _pulse_933j8_1}@keyframes _pulse_933j8_1{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(1.2)}}._floatingActions_933j8_63{align-items:center;gap:6px;display:flex}._room_118cm_1{background:var(--color-surface,#0b1220);border-radius:12px;width:100%;height:100%;min-height:72vh;display:flex;position:relative;overflow:hidden}._center_118cm_12{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;width:100%;min-height:60vh;display:flex}._topBar_118cm_25{z-index:20;pointer-events:none;align-items:center;gap:8px;display:flex;position:absolute;top:12px;left:12px}._clockChip_118cm_38{border-radius:var(--radius-full);color:#fff;font-variant-numeric:tabular-nums;background-color:#0000008c;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}._clockWarn_118cm_51{background-color:var(--color-warn);color:#1a1a1a}._clockDanger_118cm_56{background-color:var(--color-danger);color:#fff}._clockButton_118cm_62{pointer-events:auto;cursor:pointer;font:inherit;border:0}._extendChoices_118cm_69{flex-wrap:wrap;gap:8px;display:flex}._meetingOverlay_1ykdp_1{z-index:90;background:var(--color-bg);position:absolute;inset:0}._meetingTakeover_1ykdp_12{z-index:1000;position:fixed}._meetingHidden_1ykdp_18{visibility:hidden;pointer-events:none;width:0;height:0;position:fixed;overflow:hidden}._scope_p8b6f_6{display:contents}._screen_19h5l_1{flex-direction:column;min-height:100%;display:flex}._toolbar_19h5l_8{background-color:var(--color-surface);border-bottom:1px solid var(--color-divider);padding:14px 0}._toolbarContainer_19h5l_14{gap:22px;width:100%;max-width:1080px;margin:0 auto;padding:0 20px;display:flex}._search_19h5l_23{flex:720px;width:100%;min-width:0;max-width:720px;position:relative}._toolbarRailSpacer_19h5l_31{flex-shrink:0;width:330px}._searchIcon_19h5l_36{color:var(--color-text-soft);position:absolute;top:50%;left:13px;transform:translateY(-50%)}._searchInput_19h5l_44{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);width:100%;color:var(--color-text);outline:none;padding:10px 14px 10px 36px;font-size:13px}._searchInput_19h5l_44:focus{border-color:var(--color-primary-border)}._textareaError_19h5l_59,._commentComposerError_19h5l_60,._shareCommentError_19h5l_61{border-color:var(--color-danger)!important;border-radius:var(--radius-md)!important;box-shadow:inset 0 0 0 1.5px var(--color-danger), 0 0 8px #ef444440!important}._wrapper_19h5l_70{align-items:flex-start;gap:22px;width:100%;max-width:1080px;margin:0 auto;padding:22px 20px 48px;display:flex}._column_19h5l_80{flex-direction:column;flex:720px;gap:16px;width:100%;min-width:0;max-width:720px;display:flex}._rail_19h5l_91{flex-direction:column;flex-shrink:0;align-self:flex-start;width:330px;max-height:calc(100vh - 130px);display:flex;position:sticky;top:22px}._railHead_19h5l_102{justify-content:space-between;align-items:center;padding:2px 4px 10px;display:flex}._railHeadTitle_19h5l_109{font-size:var(--font-xs);color:var(--color-text-soft);letter-spacing:.08em;align-items:center;gap:6px;font-weight:700;display:inline-flex}._railHeadTitle_19h5l_109 svg{color:var(--color-secondary)}._railSeeAll_19h5l_123{color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;font-size:11px;font-weight:600}._railList_19h5l_132{flex-direction:column;flex:1;gap:12px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}._cardBody_19h5l_142{white-space:pre-wrap;word-break:break-word;color:var(--color-text-body);margin:0;font-size:14px;line-height:1.6}._seeMoreBtn_19h5l_151{color:var(--color-primary);cursor:pointer;background:0 0;border:none;margin-left:4px;padding:0;font-size:14px;font-weight:600}._seeMoreBtn_19h5l_151:hover{text-decoration:underline}._railFoot_19h5l_166{border-top:1px solid var(--color-divider);font-size:var(--font-xs);color:var(--color-text-very-soft);text-align:center;flex-shrink:0;margin-top:8px;padding-top:8px}._missed_19h5l_177{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:12px 14px}._missedHead_19h5l_184{align-items:center;gap:9px;margin-bottom:10px;padding:0 2px;display:flex}._missedSpark_19h5l_192{color:var(--color-primary)}._missedTitle_19h5l_196{font-size:var(--font-xs);color:var(--color-text);letter-spacing:.1em;font-weight:700}._missedBadge_19h5l_203{background-color:var(--color-primary-10);color:var(--color-primary);border-radius:var(--radius-full);padding:1px 7px;font-size:9.5px;font-weight:700}._missedScroller_19h5l_212{position:relative}._missedScrollerFade_19h5l_217 ._missedTrack_19h5l_217{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 26px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 26px),#0000)}._missedTrack_19h5l_217{scroll-snap-type:x mandatory;gap:10px;padding:4px 2px 10px;display:flex;overflow-x:auto}._missedNav_19h5l_229{z-index:2;border:1px solid var(--color-border);background-color:var(--color-surface);width:30px;height:30px;color:var(--color-text-mid);box-shadow:var(--shadow-md);cursor:pointer;opacity:0;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s,background-color .15s,color .15s,border-color .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}._missedScroller_19h5l_212:hover ._missedNav_19h5l_229,._missedScroller_19h5l_212:focus-within ._missedNav_19h5l_229{opacity:1}._missedNav_19h5l_229:hover{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}._missedNavLeft_19h5l_264{left:-6px}._missedNavRight_19h5l_268{right:-6px}._missedCard_19h5l_272{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);scroll-snap-align:start;flex-shrink:0;width:280px;padding:11px 12px}._missedCardTop_19h5l_282{align-items:center;gap:6px;margin-bottom:7px;display:flex}._missedDot_19h5l_289{background-color:var(--dot);border-radius:50%;flex-shrink:0;width:6px;height:6px}._missedCat_19h5l_297{color:var(--color-text-mid);letter-spacing:.02em;font-size:9.5px;font-weight:600}._missedTime_19h5l_304{font-size:var(--font-xs);color:var(--color-text-soft);margin-left:auto;margin-right:24px}._missedSummary_19h5l_311{color:var(--color-text);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;margin:0 0 8px;font-size:11.5px;line-height:1.5;display:-webkit-box;overflow:hidden}._missedFoot_19h5l_323{justify-content:space-between;align-items:center;display:flex}._missedCta_19h5l_329{font-size:var(--font-xs);color:var(--color-primary);align-items:center;gap:3px;font-weight:700;display:inline-flex}._missedPriority_19h5l_338{color:var(--color-primary);background-color:var(--color-primary-05);border:1px solid var(--color-primary-30);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;align-items:center;gap:3px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-flex}._compChips_19h5l_354{flex-wrap:wrap;gap:6px;padding:0 16px 8px;display:flex}._compChip_19h5l_354{border-radius:var(--radius-full);background-color:var(--color-bg);border:1px solid var(--color-border);font-size:var(--font-xs);color:var(--color-text);align-items:center;gap:4px;padding:3px 9px;font-weight:600;display:inline-flex}._actionBar_19h5l_374{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);justify-content:space-between;align-items:center;gap:8px;margin:0 16px 12px;padding:8px 12px;display:flex}._actionBarLabel_19h5l_386{color:var(--color-text-mid);font-size:11.5px;font-weight:600}._actionBarBtns_19h5l_392{gap:2px;display:flex}._actionIcon_19h5l_397{width:32px;height:32px;color:var(--color-text-mid);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;display:flex}._actionIcon_19h5l_397:hover{background-color:var(--color-bg)}._actionIconActive_19h5l_414{background-color:var(--color-primary-05);color:var(--color-primary)}._sheet_19h5l_419{border-radius:var(--radius-md);background-color:var(--color-bg);border:1px solid var(--color-border);margin:0 16px 12px;padding:12px 14px}._sheetHead_19h5l_427{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}._sheetLabel_19h5l_435{font-size:var(--font-xs);color:var(--color-text-mid);letter-spacing:.06em;text-transform:uppercase;font-weight:700}._sheetClose_19h5l_443{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s;display:flex}._sheetClose_19h5l_443:hover{background-color:var(--color-surface-muted);color:var(--color-text)}._sheetChips_19h5l_465{flex-wrap:wrap;gap:6px;display:flex}._catChip_19h5l_471{border-radius:var(--radius-full);font-size:var(--font-xs);background-color:color-mix(in srgb, var(--chip) 10%, transparent);color:var(--chip);border:1px solid color-mix(in srgb, var(--chip) 30%, transparent);cursor:pointer;letter-spacing:.03em;padding:5px 11px;font-weight:700}._catChipOn_19h5l_483{background-color:var(--chip);color:var(--color-on-primary)}._feelGrid_19h5l_488{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}._feelBtn_19h5l_494{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-mid);cursor:pointer;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;font-size:10.5px;font-weight:600;display:flex}._feelBtnOn_19h5l_509{border-color:var(--color-primary-border);background-color:var(--color-primary-10);color:var(--color-primary)}._feelEmoji_19h5l_515{font-size:20px}._photoInput_19h5l_519{display:none}._photoZone_19h5l_523{border-radius:var(--radius-md);margin:0 16px 24px}._photoZoneDrag_19h5l_528{outline:2px dashed var(--color-primary);outline-offset:3px}._dropzone_19h5l_533{border-radius:var(--radius-md);border:1.5px dashed var(--color-border-strong);background-color:var(--color-surface);cursor:pointer;flex-direction:column;align-items:center;gap:4px;width:100%;padding:22px 16px;transition:border-color .15s,background-color .15s;display:flex}._dropzone_19h5l_533:hover{border-color:var(--color-primary);background-color:var(--color-primary-05)}._dropIcon_19h5l_554{background-color:var(--color-primary-10);width:40px;height:40px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin-bottom:2px;display:flex}._dropTitle_19h5l_566{color:var(--color-text);font-size:12.5px;font-weight:600}._dropHint_19h5l_572{font-size:var(--font-xs);color:var(--color-text-soft)}._photoGrid_19h5l_577{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}._photoThumb_19h5l_584{aspect-ratio:1;border-radius:var(--radius-md);border:1px solid var(--color-border);position:relative;overflow:hidden}._photoImg_19h5l_592{object-fit:cover;width:100%;height:100%;display:block}._photoRemove_19h5l_599{color:#fff;cursor:pointer;background-color:#0d1f1f8c;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;display:flex;position:absolute;top:5px;right:5px}._photoRemove_19h5l_599:hover{background-color:#0d1f1fc7}._photoAddMore_19h5l_619{aspect-ratio:1;border-radius:var(--radius-md);border:1.5px dashed var(--color-border-strong);background-color:var(--color-surface);color:var(--color-text-soft);cursor:pointer;justify-content:center;align-items:center;transition:border-color .15s,color .15s,background-color .15s;display:flex}._photoAddMore_19h5l_619:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-primary-05)}._mobilePromoTrigger_19h5l_642{display:none}@keyframes _promoPulseGlow_19h5l_1{0%{box-shadow:0 0 #00909f73,0 8px 24px #00000059}70%{box-shadow:0 0 0 12px #00909f00,0 8px 24px #00000059}to{box-shadow:0 0 #00909f00,0 8px 24px #00000059}}@keyframes _promoShimmer_19h5l_758{0%{transform:translate(-120%)rotate(25deg)}20%,to{transform:translate(180%)rotate(25deg)}}@keyframes _sparkleTwinkle_19h5l_1{0%,to{opacity:.9;transform:scale(1)rotate(0)}50%{opacity:1;transform:scale(1.18)rotate(12deg)}}@media (width<=1024px){._rail_19h5l_91,._toolbarRailSpacer_19h5l_31{display:none}._mobilePromoTrigger_19h5l_642{z-index:90;border-radius:var(--radius-full);-webkit-backdrop-filter:blur(14px);color:#fff;letter-spacing:-.01em;cursor:pointer;background:linear-gradient(135deg,#095e5ff2,#00909ffa);border:1px solid #ffffff47;align-items:center;gap:0;min-width:44px;max-width:44px;height:44px;padding:9px;font-size:13px;font-weight:600;transition:bottom .22s cubic-bezier(.22,1,.36,1),max-width .35s cubic-bezier(.16,1,.3,1),padding .35s cubic-bezier(.16,1,.3,1),gap .35s cubic-bezier(.16,1,.3,1),transform .25s cubic-bezier(.16,1,.3,1),box-shadow .25s;animation:3s infinite _promoPulseGlow_19h5l_1;display:inline-flex;position:fixed;bottom:24px;right:20px;overflow:hidden;box-shadow:0 4px 16px #00000040}@media (width<=425px){._mobilePromoTrigger_19h5l_642{bottom:76px}._mobilePromoTriggerBarHidden_19h5l_739{bottom:20px}}._mobilePromoTrigger_19h5l_642:hover,._mobilePromoExpanded_19h5l_745{background:linear-gradient(135deg,#0b797afa,#00a8ba);border-color:#ffffff73;gap:10px;max-width:230px;padding-right:16px;transform:translateY(-3px)scale(1.02)}._mobilePromoTrigger_19h5l_642:active{transform:translateY(0)scale(.97)}._promoShimmerSweep_19h5l_758{pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff59,#0000);width:40%;height:200%;animation:4s ease-in-out infinite _promoShimmer_19h5l_758;position:absolute;top:-50%;left:-50%}._promoIconWrap_19h5l_774{border-radius:var(--radius-full);color:#ffd166;background:#ffffff2e;border:1px solid #ffffff40;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:flex}._sparkleIcon_19h5l_787{animation:2.5s ease-in-out infinite _sparkleTwinkle_19h5l_1}._promoBtnText_19h5l_791{color:#fff;text-shadow:0 1px 2px #0003;white-space:nowrap;opacity:0;max-width:0;font-weight:600;transition:opacity .28s,max-width .35s cubic-bezier(.16,1,.3,1);overflow:hidden}._mobilePromoTrigger_19h5l_642:hover ._promoBtnText_19h5l_791,._mobilePromoExpanded_19h5l_745 ._promoBtnText_19h5l_791{opacity:1;max-width:180px}._mobilePromoBadge_19h5l_810{border-radius:var(--radius-full);color:#fff;letter-spacing:0;background:linear-gradient(135deg,#f37321,#ff9f1c);justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 7px;font-size:11px;font-weight:800;display:inline-flex;box-shadow:0 2px 8px #f3732166}}._promoPopoverOverlay_19h5l_827{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background-color:#000000a6;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}._promoPopoverCard_19h5l_839{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:440px;max-height:85vh;box-shadow:var(--shadow-xl);flex-direction:column;display:flex;position:relative;overflow:hidden}._popoverHeader_19h5l_853{text-align:center;flex-direction:column;align-items:center;padding:28px 24px 16px;display:flex;position:relative}._popoverCloseX_19h5l_862{color:var(--color-text-soft);cursor:pointer;border-radius:var(--radius-full);transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;display:flex;position:absolute;top:16px;right:16px}._popoverCloseX_19h5l_862:hover{background-color:var(--color-surface-muted);color:var(--color-text)}._popoverBadgeIcon_19h5l_883{border-radius:var(--radius-full);background-color:var(--color-primary-10);width:56px;height:56px;color:var(--color-primary);justify-content:center;align-items:center;margin-bottom:14px;display:flex}._popoverTitleRow_19h5l_895{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-bottom:6px;display:flex}._popoverTitle_19h5l_895{color:var(--color-text);margin:0;font-size:18px;font-weight:700}._popoverSeeAllBtn_19h5l_911{background-color:var(--color-primary-10);color:var(--color-primary);border:1px solid color-mix(in srgb, var(--color-primary) 20%, transparent);border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);padding:3px 10px;font-size:11px;font-weight:700}._popoverSeeAllBtn_19h5l_911:hover{background-color:var(--color-primary-20,#00000026)}._popoverSub_19h5l_927{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.4}._popoverContent_19h5l_934{flex-direction:column;flex:1;gap:14px;padding:12px 24px 24px;display:flex;overflow-y:auto}._popoverEmpty_19h5l_943{text-align:center;color:var(--color-text-muted);padding:20px 0;font-size:13px}._railList_19h5l_132{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent}._railList_19h5l_132::-webkit-scrollbar{width:6px}._railList_19h5l_132::-webkit-scrollbar-thumb{background-color:var(--color-border-strong);border-radius:var(--radius-full)}._railList_19h5l_132::-webkit-scrollbar-track{background:0 0}._missedTrack_19h5l_217{scrollbar-width:none}._missedTrack_19h5l_217::-webkit-scrollbar{display:none}._missedCard_19h5l_272{transition:transform .18s,border-color .18s,box-shadow .18s;position:relative}._missedCard_19h5l_272:hover{border-color:var(--color-primary-30);transform:translateY(-1px);box-shadow:0 4px 14px #045d5e14}._missedClose_19h5l_992{background:var(--color-surface-muted);width:20px;height:20px;color:var(--color-text-soft);cursor:pointer;opacity:.6;border:none;border-radius:5px;justify-content:center;align-items:center;transition:opacity .15s,background-color .15s,color .15s;display:flex;position:absolute;top:6px;right:6px}._missedCard_19h5l_272:hover ._missedClose_19h5l_992{opacity:1}._missedClose_19h5l_992:hover{background-color:var(--color-border);color:var(--color-text)}._missedCta_19h5l_329{cursor:pointer;background:0 0;border:none;padding:0}._missedRead_19h5l_1029{color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:6px;margin-left:auto;padding:4px 8px;font-size:11px;font-weight:600}._missedRead_19h5l_1029:hover{background-color:var(--color-bg);color:var(--color-text)}._railSeeAll_19h5l_123{cursor:pointer}._railSeeAll_19h5l_123:hover{color:var(--color-primary)}._comments_19h5l_1055{border-top:1px solid var(--color-divider);background-color:var(--color-bg);flex-direction:column;gap:8px;padding:12px 18px;display:flex}._commentRow_19h5l_1064{gap:9px;display:flex}._commentAvatar_19h5l_1069{background-color:var(--avatar-color);width:26px;height:26px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}._commentBubble_19h5l_1083{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;flex:1;padding:7px 10px}._commentAuthor_19h5l_1091{color:var(--color-text);font-size:11px;font-weight:700}._commentTime_19h5l_1097{color:var(--color-text-soft);font-weight:500}._commentText_19h5l_1102{color:var(--color-text-mid);margin-top:2px;font-size:11.5px;line-height:1.45}._commentComposer_19h5l_60{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:9px;flex:1;align-items:center;gap:8px;padding:4px 4px 4px 12px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;display:flex}._commentComposer_19h5l_60:focus-within:not(._commentComposerDisabled_19h5l_1123){border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-10)}._commentComposerDisabled_19h5l_1123{opacity:.6;cursor:not-allowed;background-color:var(--color-bg)}._commentInput_19h5l_1134{color:var(--color-text);background:0 0;border:none;outline:none;flex:1;padding:4px 0;font-size:11.5px}._commentInput_19h5l_1134:disabled{cursor:not-allowed}._commentSend_19h5l_1148{background-color:var(--color-primary);width:28px;height:28px;color:var(--color-on-primary);cursor:pointer;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background-color .15s,color .15s,opacity .15s;display:flex}._commentSend_19h5l_1148:hover:not(:disabled){background-color:var(--color-primary-strong)}._commentSend_19h5l_1148:disabled{background-color:var(--color-surface-muted);color:var(--color-text-soft);cursor:not-allowed;opacity:.6}._sharePreviewWrap_19h5l_1178{background-color:var(--color-bg);border-bottom:1px solid var(--color-border);padding:12px 20px}._sharePreview_19h5l_1178{border-radius:var(--radius-md);background-color:var(--color-surface);border:1px solid var(--color-border);align-items:flex-start;gap:10px;padding:10px;display:flex}._sharePreviewAvatar_19h5l_1194{background-color:var(--avatar-color);width:28px;height:28px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}._sharePreviewBody_19h5l_1208{flex:1;min-width:0}._sharePreviewMeta_19h5l_1213{color:var(--color-text-soft);margin-bottom:2px;font-size:11px}._sharePreviewCat_19h5l_1219{color:var(--cat);font-weight:600}._sharePreviewTitle_19h5l_1224{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}._shareField_19h5l_1234{padding:12px 20px 4px}._shareComment_19h5l_61{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;color:var(--color-text);padding:9px 12px;font-family:inherit;font-size:12.5px;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}._shareComment_19h5l_61:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-10);outline:none}._shareSearchWrap_19h5l_1258{padding:8px 20px 6px}._shareSearch_19h5l_1258{position:relative}._shareSearch_19h5l_1258 svg{color:var(--color-text-soft);position:absolute;top:50%;left:11px;transform:translateY(-50%)}._shareSearchInput_19h5l_1274{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);width:100%;color:var(--color-text);padding:8px 12px 8px 32px;font-family:inherit;font-size:12px}._shareSearchInput_19h5l_1274:focus{border-color:var(--color-primary);outline:none}._shareList_19h5l_1291{flex:1;min-height:0;padding:4px 20px 12px;overflow-y:auto}._shareSectionLabel_19h5l_1298{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-soft);padding:10px 4px 6px;font-size:9.5px;font-weight:700}._shareRow_19h5l_1307{text-align:left;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:1px solid #0000;align-items:center;gap:10px;width:100%;margin-bottom:2px;padding:8px;display:flex}._shareRow_19h5l_1307:hover{background-color:var(--color-bg)}._shareRowOn_19h5l_1325,._shareRowOn_19h5l_1325:hover{background-color:var(--color-primary-10);border-color:var(--color-primary-30)}._shareAvatar_19h5l_1331{background-color:var(--avatar-color);width:32px;height:32px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}._shareAvatarSquare_19h5l_1345{border-radius:8px}._shareRowBody_19h5l_1349{flex-direction:column;flex:1;min-width:0;display:flex}._shareRowName_19h5l_1356{color:var(--color-text);font-size:12.5px;font-weight:600}._shareRowSub_19h5l_1362{font-size:var(--font-xs);color:var(--color-text-soft)}._shareCheck_19h5l_1367{border:1.5px solid var(--color-border-strong);width:18px;height:18px;color:var(--color-on-primary);background:0 0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:flex}._shareCheckOn_19h5l_1380{background-color:var(--color-primary);border-color:var(--color-primary)}._shareEmpty_19h5l_1385{text-align:center;color:var(--color-text-soft);padding:30px 0;font-size:12px}._shareFootText_19h5l_1393{color:var(--color-text-mid);font-size:11.5px}._shareFootBtns_19h5l_1398{gap:8px;display:flex}._shareCancelBtn_19h5l_1403{border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-text-mid);cursor:pointer;background:0 0;padding:8px 14px;font-size:12px;font-weight:600}._shareCancelBtn_19h5l_1403:hover{background-color:var(--color-bg)}._shareSendBtn_19h5l_1418{border-radius:var(--radius-md);background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:700;display:inline-flex}._shareSendBtn_19h5l_1418:disabled{background-color:var(--color-bg);color:var(--color-text-very-soft);border:1px solid var(--color-border);cursor:not-allowed}._shareRoot_19h5l_1439{z-index:11000;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}._shareBackdrop_19h5l_1449{background-color:var(--color-overlay);cursor:pointer;border:none;padding:0;animation:.16s _shareFade_19h5l_1;position:absolute;inset:0}._shareModal_19h5l_1459{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:min(540px,100%);max-height:85vh;box-shadow:var(--shadow-lg);flex-direction:column;animation:.16s _shareIn_19h5l_1;display:flex;position:relative;overflow:hidden}@keyframes _shareFade_19h5l_1{0%{opacity:0}}@keyframes _shareIn_19h5l_1{0%{opacity:0;transform:translateY(8px)scale(.98)}}@media (prefers-reduced-motion:reduce){._shareBackdrop_19h5l_1449,._shareModal_19h5l_1459{animation:none}}._shareHead_19h5l_1493{border-bottom:1px solid var(--color-border);align-items:center;gap:10px;padding:16px 20px 12px;display:flex}._shareHeadIcon_19h5l_1501{background-color:var(--color-primary-10);width:30px;height:30px;color:var(--color-primary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}._shareHeadText_19h5l_1513{flex:1;min-width:0}._shareTitle_19h5l_1518{font-size:var(--font-md);color:var(--color-text);margin:0;font-weight:700}._shareDesc_19h5l_1525{color:var(--color-text-soft);margin:1px 0 0;font-size:11px}._shareCloseBtn_19h5l_1531{width:32px;height:32px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}._shareCloseBtn_19h5l_1531:hover{background-color:var(--color-surface-muted);color:var(--color-text)}._shareFooter_19h5l_1550{border-top:1px solid var(--color-border);background-color:var(--color-bg);justify-content:space-between;align-items:center;gap:8px;padding:12px 20px;display:flex}._ppRoot_19h5l_1561{z-index:60;justify-content:flex-end;display:flex;position:fixed;inset:0}._ppOverlay_19h5l_1569{background-color:var(--color-overlay);cursor:pointer;border:none;padding:0;animation:.18s _ppFade_19h5l_1;position:absolute;inset:0}._ppPanel_19h5l_1579{background-color:var(--color-surface);width:min(480px,100%);height:100%;box-shadow:var(--shadow-lg);flex-direction:column;animation:.22s _ppSlide_19h5l_1;display:flex;position:relative;overflow:hidden}@keyframes _ppFade_19h5l_1{0%{opacity:0}}@keyframes _ppSlide_19h5l_1{0%{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){._ppOverlay_19h5l_1569,._ppPanel_19h5l_1579{animation:none}}._ppHead_19h5l_1611{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));color:var(--color-on-primary);align-items:flex-start;gap:13px;padding:22px 22px 20px;display:flex}._ppHeadIcon_19h5l_1620{border-radius:var(--radius-md);background-color:#ffffff2e;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}._ppHeadText_19h5l_1631{flex:1;min-width:0}._ppTitle_19h5l_1636{font-size:var(--font-xl);color:var(--color-on-primary);letter-spacing:-.01em;margin:0;font-weight:700}@media (width<=640px){._ppTitle_19h5l_1636{white-space:nowrap;text-overflow:ellipsis;font-size:19px;overflow:hidden}}._ppSubtitle_19h5l_1653{color:#ffffffe0;margin:4px 0 3px;font-size:12.5px}._ppManaged_19h5l_1659{color:#ffffffb8;font-size:11px}._ppClose_19h5l_1664{color:#ffffffe6;cursor:pointer;background:0 0;border:none;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:background-color .15s;display:flex}._ppClose_19h5l_1664:hover{color:#fff;background-color:#ffffff2e}._ppTabs_19h5l_1684{border-bottom:1px solid var(--color-divider);flex-wrap:wrap;gap:6px;padding:14px 22px;display:flex}._ppTabs_19h5l_1684:has(._ppTab_19h5l_1684:only-child){display:none}._ppTabs_19h5l_1684:has(._ppTab_19h5l_1684:only-child)+._ppSearch_19h5l_1693{display:none}._ppTab_19h5l_1684{border-radius:var(--radius-full);background-color:var(--color-surface-muted);color:var(--color-text-soft);cursor:pointer;border:none;padding:7px 14px;font-size:12.5px;font-weight:600;transition:color .16s;position:relative}._ppTab_19h5l_1684:hover{color:var(--color-text)}._ppTabActive_19h5l_1714{color:var(--color-primary)}._ppTabBg_19h5l_1718{border-radius:var(--radius-full);background-color:var(--color-primary-10);box-shadow:inset 0 0 0 1px var(--color-primary-border);position:absolute;inset:0}._ppTabLabel_19h5l_1726{z-index:1;position:relative}._ppSearch_19h5l_1693{margin:14px 22px 6px;position:relative}._ppSearchIcon_19h5l_1736{color:var(--color-text-soft);position:absolute;top:50%;left:13px;transform:translateY(-50%)}._ppSearchInput_19h5l_1744{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);width:100%;color:var(--color-text);outline:none;padding:10px 14px 10px 36px;font-size:13px;transition:border-color .15s,box-shadow .15s}._ppSearchInput_19h5l_1744:focus{border-color:var(--color-primary-border);box-shadow:0 0 0 3px var(--color-primary-10)}._ppList_19h5l_1763{scrollbar-width:thin;scrollbar-color:var(--color-border-strong) transparent;flex:1;padding:8px 22px 24px;overflow-y:auto}._ppListInner_19h5l_1771{flex-direction:column;gap:12px;display:flex}._ppList_19h5l_1763::-webkit-scrollbar{width:6px}._ppList_19h5l_1763::-webkit-scrollbar-thumb{background-color:var(--color-border-strong);border-radius:var(--radius-full)}._ppEmpty_19h5l_1786{text-align:center;color:var(--color-text-soft);padding:32px 0;font-size:13px}@media (width<=768px){._ppPanel_19h5l_1579{width:100%}}._emptyState_19h5l_1800{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px dashed var(--color-border-strong);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:64px 20px;display:flex}._emptyIconWrap_19h5l_1812{border-radius:var(--radius-full);background-color:var(--color-surface-muted);width:64px;height:64px;color:var(--color-text-soft);justify-content:center;align-items:center;margin-bottom:16px;display:flex}._emptyTitle_19h5l_1824{font-size:var(--font-lg);color:var(--color-text);margin:0 0 8px;font-weight:700}._emptyText_19h5l_1831{font-size:var(--font-sm);color:var(--color-text-soft);max-width:300px;margin:0;line-height:1.5}._tabs_19h5l_1840{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}._tab_19h5l_1840{border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-soft);cursor:pointer;white-space:nowrap;background:0 0;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:600;display:inline-flex}._tabActive_19h5l_1862{background-color:var(--color-primary-20);border-color:var(--color-primary-border);color:var(--color-primary)}._tabBadge_19h5l_1868{color:var(--color-primary);margin-left:2px;font-size:11.5px;font-weight:700}._composerCollapsed_19h5l_1876{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);align-items:center;gap:10px;padding:10px 14px;display:flex}._ccAvatar_19h5l_1886,._compAvatar_19h5l_1887,._avatar_19h5l_1888{background-color:var(--avatar-color);color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}._ccAvatar_19h5l_1886{width:32px;height:32px;font-size:12px}._ccInput_19h5l_1905{text-align:left;border-radius:var(--radius-full);background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-soft);cursor:pointer;flex:1;padding:9px 14px;font-size:13px;font-weight:500}._ccInput_19h5l_1905:hover{background-color:var(--color-surface);border-color:var(--color-border-strong)}._composer_19h5l_1876{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-md);overflow:hidden}._compHead_19h5l_1931{align-items:flex-start;gap:11px;padding:14px 16px 0;display:flex}._compAvatarWrapper_19h5l_1938{flex-shrink:0;position:relative}._statusDot_19h5l_1943{background-color:var(--color-success,#10b981);border:1.5px solid var(--color-surface,#fff);border-radius:50%;width:10px;height:10px;position:absolute;bottom:0;right:0}._compAvatar_19h5l_1887{width:40px;height:40px;font-size:13px}._compHeaderTagline_19h5l_1960{color:var(--color-text);font-size:13px;line-height:1.4}._compMutedText_19h5l_1966{color:var(--color-text-soft,#64748b);font-weight:400}._taggedTagline_19h5l_1971{color:var(--color-text-soft,#64748b);margin-top:1px;margin-bottom:2px;font-size:.85rem}._taggedTagline_19h5l_1971 strong{color:var(--color-text,#0f172a);font-weight:700}._audiencePill_19h5l_1983{border-radius:var(--radius-full);background-color:var(--color-bg);border:1px solid var(--color-border);font-size:var(--font-xs);color:var(--color-text-mid);cursor:pointer;align-items:center;gap:5px;margin-top:4px;padding:3px 10px;font-weight:600;display:inline-flex}._audiencePill_19h5l_1983:hover{border-color:var(--color-border-strong)}._audienceSection_19h5l_2002{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);flex-direction:column;gap:9px;margin:0 16px 12px;padding:12px 14px;display:flex}._audienceLabel_19h5l_2013{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-soft);font-size:10px;font-weight:700}._audienceRow_19h5l_2021{flex-wrap:wrap;gap:8px;display:flex}._audienceBtn_19h5l_2027{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-mid);cursor:pointer;align-items:center;gap:6px;padding:8px 14px;font-size:12.5px;font-weight:600;display:inline-flex}._audienceBtn_19h5l_2027:hover{border-color:var(--color-border-strong)}._audienceBtnActive_19h5l_2045{border-color:var(--color-primary-border);background-color:var(--color-primary-10);color:var(--color-primary)}._compClose_19h5l_2051{width:28px;height:28px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;margin-left:auto;display:flex}._compClose_19h5l_2051:hover{background-color:var(--color-bg);color:var(--color-text)}._titleInput_19h5l_2070{width:100%;color:var(--color-text);background:0 0;border:none;outline:none;padding:8px 16px 0;font-family:inherit;font-size:16px;font-weight:700;transition:box-shadow .15s ease-in-out}._titleInput_19h5l_2070::placeholder{color:var(--color-text-very-soft);font-weight:600}._textarea_19h5l_59{width:100%;min-height:72px;color:var(--color-text);resize:none;background:0 0;border:none;outline:none;padding:6px 16px 10px;font-family:inherit;font-size:14px;line-height:1.5;transition:box-shadow .15s ease-in-out}._compOption_19h5l_2103{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);justify-content:space-between;align-items:center;gap:10px;margin:0 16px 12px;padding:10px 14px;display:flex}._compOptionLabel_19h5l_2115{color:var(--color-text);align-items:center;gap:7px;font-size:12.5px;font-weight:600;display:inline-flex}._compOptionLabel_19h5l_2115 svg{color:var(--color-primary)}._compFooter_19h5l_2128{border-top:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}._submitRight_19h5l_2137{align-items:center;gap:10px;display:flex}._modeToggle_19h5l_2143{font-size:11px}._cancelBtn_19h5l_2147{color:var(--color-text-mid);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:8px;padding:8px 14px;font-size:12px;font-weight:600}._cancelBtn_19h5l_2147:hover{background-color:var(--color-bg)}._postBtn_19h5l_2162{background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;border-radius:8px;padding:8px 22px;font-size:12px;font-weight:700}._postBtn_19h5l_2162:disabled{background-color:var(--color-primary-20);cursor:not-allowed}._card_19h5l_142{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);transition:box-shadow .18s,border-color .18s;position:relative;overflow:hidden}._card_19h5l_142:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}._urgentStripe_19h5l_2196{background-color:var(--color-primary);z-index:10;pointer-events:none;width:3px;position:absolute;top:0;bottom:0;left:0}._pinnedRow_19h5l_2207{border-bottom:1px solid var(--color-divider);color:var(--color-text-soft);align-items:center;gap:5px;padding:5px 20px;font-size:11px;font-weight:600;display:flex}._pin_19h5l_2207{color:var(--color-primary)}._cardHead_19h5l_2222{gap:12px;padding:16px 20px 10px;display:flex}._avatar_19h5l_1888{width:42px;height:42px;font-size:14px}._cardAuthor_19h5l_2234{flex:1;min-width:0}._authorName_19h5l_2239{color:var(--color-text);letter-spacing:-.005em;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}._metaRow_19h5l_2249{color:var(--color-text-soft);flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:11.5px;display:flex}._cardRight_19h5l_2259{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:6px;display:flex}._badge_19h5l_2267{border-radius:var(--radius-full);color:var(--badge-color);background-color:color-mix(in srgb, var(--badge-color) 10%, transparent);border:1px solid color-mix(in srgb, var(--badge-color) 22%, transparent);align-items:center;gap:5px;padding:3px 9px;font-size:9.5px;font-weight:700;display:inline-flex}._badgeDot_19h5l_2280{background-color:var(--badge-color);border-radius:50%;width:5px;height:5px}._bookmarkBtn_19h5l_2287{width:26px;height:26px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}._bookmarkBtn_19h5l_2287:hover{background-color:var(--color-bg);color:var(--color-text)}._bookmarkActive_19h5l_2305{background-color:var(--color-primary-10);color:var(--color-primary)}._pinBtn_19h5l_2310{width:26px;height:26px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}._pinBtn_19h5l_2310:hover{background-color:var(--color-bg);color:var(--color-text)}._pinActive_19h5l_2328{background-color:var(--color-primary-10);color:var(--color-primary)}._editBtn_19h5l_2333{width:26px;height:26px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}._editBtn_19h5l_2333:hover{background-color:var(--color-bg);color:var(--color-text)}._deleteBtn_19h5l_2351{width:26px;height:26px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}._deleteBtn_19h5l_2351:hover{background-color:var(--color-bg);color:#ef4444}._cardActions_19h5l_2369{align-items:center;gap:4px;display:flex}._cardTitle_19h5l_2375{color:var(--color-text);letter-spacing:-.01em;margin:0;padding:0 20px 8px;font-size:17px;font-weight:700;line-height:1.3}._cardBody_19h5l_142{color:var(--color-text-mid);white-space:pre-wrap;word-break:break-word;margin:0;padding:0 20px 12px;font-size:12.5px;line-height:1.6}._ackBanner_19h5l_2395{background-color:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);border-radius:9px;justify-content:space-between;align-items:center;gap:10px;margin:0 20px 12px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}._ackBtn_19h5l_2410{background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;white-space:nowrap;border:none;border-radius:7px;padding:6px 12px;font-size:11px;font-weight:700}._ackDone_19h5l_2422{background-color:var(--color-success-soft);border:1px solid color-mix(in srgb, var(--color-success) 20%, transparent);color:var(--color-success);border-radius:9px;align-items:center;gap:8px;margin:0 20px 12px;padding:8px 12px;font-size:11px;font-weight:700;display:flex}._summary_19h5l_2436{color:var(--color-text-soft);justify-content:space-between;align-items:center;margin:0 20px;padding:2px 0 10px;font-size:11px;display:flex}._summaryLeft_19h5l_2446{align-items:center;gap:6px;display:flex}._summaryIcons_19h5l_2452{align-items:center;display:flex}._summaryDot_19h5l_2457{background-color:var(--react-color,var(--color-primary));width:19px;height:19px;color:var(--color-on-primary);border:2px solid var(--color-surface);border-radius:50%;justify-content:center;align-items:center;display:flex}._summaryDot_19h5l_2457:not(:first-child){margin-left:-5px}._summaryCount_19h5l_2473{color:var(--color-text-mid);font-weight:600}._summaryComments_19h5l_2478{color:var(--color-text-soft)}._summaryCommentsClickable_19h5l_2482{cursor:pointer;-webkit-user-select:none;user-select:none}._summaryCommentsClickable_19h5l_2482:hover{color:#045d5e}._postBar_19h5l_2492{border-top:1px solid var(--color-divider);align-items:center;gap:6px;padding:6px 10px;display:flex}._reactWrap_19h5l_2500{flex:1;display:flex;position:relative}._actionBtn_19h5l_2506{color:var(--color-text-mid);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;padding:9px 10px;font-size:11.5px;font-weight:600;display:flex}._actionBtn_19h5l_2506:disabled{cursor:not-allowed;opacity:.5;pointer-events:auto}._actionBtn_19h5l_2506:disabled:hover{background-color:#0000}._actionBtn_19h5l_2506:disabled:active{transform:none}._actionBtn_19h5l_2506:hover:not(:disabled){background-color:var(--color-surface-muted)}._actionBtn_19h5l_2506:active:not(:disabled){transform:scale(.97)}._actionActive_19h5l_2544{background-color:color-mix(in srgb, var(--react-color,var(--color-primary)) 12%, transparent);color:var(--react-color,var(--color-primary))}._actionActive_19h5l_2544:hover{background-color:color-mix(in srgb, var(--react-color,var(--color-primary)) 16%, transparent)}._picker_19h5l_2561{background-color:var(--color-surface);border-radius:var(--radius-full);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);z-index:10;opacity:0;transform-origin:0 100%;pointer-events:none;gap:4px;padding:5px;transition:opacity .16s,transform .16s;display:flex;position:absolute;bottom:calc(100% + 6px);left:0;transform:translateY(6px)scale(.96)}._picker_19h5l_2561:before{content:"";height:10px;position:absolute;top:100%;left:0;right:0}._pickerVisible_19h5l_2593{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}._pickerBtn_19h5l_2599{width:36px;height:36px;color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .14s,background-color .14s;display:flex}._pickerBtn_19h5l_2599:hover{background-color:color-mix(in srgb, var(--react-color) 14%, transparent);color:var(--react-color);transform:scale(1.25)translateY(-2px)}._pickerActive_19h5l_2621{background-color:color-mix(in srgb, var(--react-color) 16%, transparent);color:var(--react-color)}@media (width<=768px){._toolbar_19h5l_8{padding:10px 14px}}@media (width<=640px){._wrapper_19h5l_70{padding:14px 12px 40px}._cardHead_19h5l_2222{padding:14px 14px 8px}._cardTitle_19h5l_2375{padding:0 14px 8px}._cardBody_19h5l_142{padding:0 14px 12px}._summary_19h5l_2436{margin:0 14px}._postBar_19h5l_2492{padding:4px 6px}._actionBtn_19h5l_2506{padding:9px 6px}}._schedule_19h5l_2664{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-bg);flex-direction:column;gap:12px;margin:0 16px 12px;padding:14px;display:flex}._scheduleHead_19h5l_2675{letter-spacing:.08em;color:var(--color-text-soft);align-items:center;gap:6px;font-size:10px;font-weight:700;display:flex}._scheduleHead_19h5l_2675 svg{color:var(--color-primary)}._scheduleGrid_19h5l_2689{grid-template-columns:1fr 1fr;gap:12px;display:grid}._scheduleField_19h5l_2695{flex-direction:column;gap:5px;display:flex}._scheduleLabel_19h5l_2701{font-size:var(--font-xs);color:var(--color-text-mid);font-weight:600}._scheduleInput_19h5l_2707{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);width:100%;color:var(--color-text);padding:9px 12px;font-family:inherit;font-size:13px}._scheduleInput_19h5l_2707:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-10);outline:none}._scheduleRow_19h5l_2724{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);justify-content:space-between;align-items:center;padding:10px 12px;display:flex}._scheduleRowLabel_19h5l_2734{color:var(--color-text);align-items:center;gap:7px;font-size:12.5px;font-weight:600;display:inline-flex}._scheduleRowLabel_19h5l_2734 svg{color:var(--color-text-soft)}._switch_19h5l_2747{border-radius:var(--radius-full);background-color:var(--color-border-strong);cursor:pointer;border:none;flex-shrink:0;width:38px;height:22px;transition:background-color .18s;position:relative}._switchOn_19h5l_2759{background-color:var(--color-primary)}._switchKnob_19h5l_2763{background-color:#fff;border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:3px;left:3px}._switchOn_19h5l_2759 ._switchKnob_19h5l_2763{transform:translate(16px)}._scheduleFreq_19h5l_2778{align-self:flex-start}._scheduleTz_19h5l_2782{font-size:var(--font-xs);color:var(--color-text-soft);align-items:center;gap:6px;display:flex}._scheduleTz_19h5l_2782 strong{color:var(--color-text-mid);font-weight:700}._tagSearch_19h5l_2796{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}._tagSearchInput_19h5l_2807{font-size:var(--font-sm);color:var(--color-text);background:0 0;border:none;outline:none;flex:1}._tagList_19h5l_2816{flex-direction:column;gap:6px;max-height:240px;display:flex;overflow-y:auto}._tagRow_19h5l_2824{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);cursor:pointer;text-align:left;justify-content:space-between;align-items:center;width:100%;padding:8px 12px;display:flex}._tagRow_19h5l_2824:hover{background-color:var(--color-surface-muted)}._tagRowActive_19h5l_2841{background-color:color-mix(in srgb, var(--color-primary) 6%, var(--color-bg));border-color:var(--color-primary-22)}._tagRowContent_19h5l_2846{align-items:center;gap:12px;display:flex}._tagAvatar_19h5l_2852{background-color:var(--avatar-color,#ccc);color:#fff;width:32px;height:32px;font-size:var(--font-xs);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex}._tagInfo_19h5l_2865{flex-direction:column;display:flex}._tagName_19h5l_2870{font-size:var(--font-sm);color:var(--color-text);font-weight:600}._tagRole_19h5l_2876{font-size:var(--font-xs);color:var(--color-text-soft)}._tagCheckbox_19h5l_2881{border:2px solid var(--color-border);color:#0000;border-radius:4px;justify-content:center;align-items:center;width:18px;height:18px;display:flex}._tagCheckboxActive_19h5l_2892{border-color:var(--color-primary);background-color:var(--color-primary);color:#fff}._postImagesGrid_19h5l_2899{border-radius:var(--radius-lg);aspect-ratio:16/10;gap:6px;width:100%;max-height:500px;margin-top:12px;margin-bottom:14px;display:grid;overflow:hidden}@media (width<=600px){._postImagesGrid_19h5l_2899{aspect-ratio:4/3;max-height:320px}}._grid1_19h5l_2918{grid-template-columns:1fr}._grid2_19h5l_2922{grid-template-columns:1fr 1fr}._grid3_19h5l_2926{grid-template-rows:1fr 1fr;grid-template-columns:1.5fr 1fr}._grid4_19h5l_2931{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}._gridImageWrap_19h5l_2936{cursor:pointer;background-color:var(--color-surface-hover);width:100%;height:100%;position:relative;overflow:hidden}._gridImage_19h5l_2936{object-fit:cover;width:100%;height:100%;transition:transform .3s}._gridImageWrap_19h5l_2936:hover ._gridImage_19h5l_2936{transform:scale(1.02)}._grid3_19h5l_2926 ._gridImageWrap_19h5l_2936:first-child{grid-row:span 2}._moreImagesOverlay_19h5l_2962:before{content:attr(data-more);color:#fff;z-index:2;background:#0009;justify-content:center;align-items:center;font-size:24px;font-weight:700;transition:background .3s;display:flex;position:absolute;inset:0}._moreImagesOverlay_19h5l_2962:hover:before{background:#00000080}._lightboxOverlay_19h5l_2985{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10000;-webkit-user-select:none;user-select:none;background-color:#0a0f1ebf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._lightboxContainer_19h5l_3002{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);width:92vw;max-width:1200px;height:85vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}._lightboxLeft_19h5l_3015{background-color:#0c0d12;flex:1.5;justify-content:center;align-items:center;height:100%;display:flex;position:relative}._lightboxRight_19h5l_3025{background-color:var(--color-surface);border-left:1px solid var(--color-divider);flex-direction:column;flex:1;height:100%;display:flex;overflow-y:auto}._lightboxScrollableContent_19h5l_3035{flex-direction:column;gap:16px;padding:24px;display:flex}._lightboxScrollableContent_19h5l_3035 header{padding-right:48px}._lightboxDivider_19h5l_3046{background-color:var(--color-divider);height:1px;margin:8px 0}@media (width<=900px){._lightboxContainer_19h5l_3002{flex-direction:column;width:95vw;height:95vh}._lightboxLeft_19h5l_3015{flex:1;min-height:250px}._lightboxRight_19h5l_3025{border-left:none;border-top:1px solid var(--color-divider);flex:1.5}._lightboxClose_19h5l_3070{color:#ffffffe6;background:#0006;top:12px;right:12px}._lightboxClose_19h5l_3070:hover{color:#fff;background:#0009}}._lightboxImage_19h5l_3083{object-fit:contain;border-radius:var(--radius-lg);border:1px solid #ffffff26;max-width:85%;max-height:80%;box-shadow:0 25px 50px -12px #000000b3,0 0 0 1px #ffffff14}._lightboxClose_19h5l_3070{background:var(--color-bg-hover,#0000000d);color:var(--color-text-soft,#65676b);cursor:pointer;z-index:10002;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}._lightboxClose_19h5l_3070:hover{background:var(--color-bg-hover-strong,#0000001a);color:var(--color-text,#1c1e21);transform:scale(1.05)}._lightboxArrow_19h5l_3119{color:#fff;cursor:pointer;z-index:10001;background:#ffffff14;border:1px solid #ffffff0d;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:50%;transform:translateY(-50%)}._lightboxArrow_19h5l_3119:hover{background:#ffffff2e}._lightboxArrowLeft_19h5l_3141{left:24px}._lightboxArrowLeft_19h5l_3141:hover{transform:translateY(-50%)scale(1.08)}._lightboxArrowRight_19h5l_3149{right:24px}._lightboxArrowRight_19h5l_3149:hover{transform:translateY(-50%)scale(1.08)}._lightboxCounter_19h5l_3157{color:#fffffff2;z-index:10001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);letter-spacing:.05em;background-color:#ffffff14;border:1px solid #ffffff1f;border-radius:9999px;padding:6px 14px;font-size:13px;font-weight:600;position:absolute;bottom:24px;box-shadow:0 4px 12px #0003}._templateSheet_19h5l_3175{flex-direction:column;gap:0;display:flex}._templateSheetHeader_19h5l_3181{border-bottom:1px solid var(--color-border);align-items:flex-start;gap:10px;padding:12px 14px 10px;display:flex}._templateBackBtn_19h5l_3189{border:1px solid var(--color-border);border-radius:var(--radius-sm);width:28px;height:28px;color:var(--color-text-soft);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;transition:background-color .15s,color .15s;display:flex}._templateBackBtn_19h5l_3189:hover{background-color:var(--color-surface-muted);color:var(--color-text)}._templateSheetTitle_19h5l_3212{font-size:var(--font-xs);color:var(--color-text-mid);letter-spacing:.06em;text-transform:uppercase;font-weight:700;display:block}._templateSheetMeta_19h5l_3221{font-size:var(--font-xs);color:var(--color-text-soft);margin-top:2px;display:block}._templateSheetMeta_19h5l_3221 strong{color:var(--color-primary);font-weight:600}._templateSearch_19h5l_3233{border-bottom:1px solid var(--color-border);padding:8px 14px;position:relative}._templateSearchIcon_19h5l_3239{color:var(--color-text-soft);pointer-events:none;position:absolute;top:50%;left:26px;transform:translateY(-50%)}._templateSearchInput_19h5l_3248{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface-muted);width:100%;color:var(--color-text);font-size:var(--font-sm);box-sizing:border-box;outline:none;padding:6px 10px 6px 30px;transition:border-color .15s}._templateSearchInput_19h5l_3248:focus{border-color:var(--color-primary)}._templateList_19h5l_3265{flex-direction:column;max-height:240px;display:flex;overflow-y:auto}._templateItem_19h5l_3272{border-bottom:1px solid var(--color-border);cursor:pointer;text-align:left;background:0 0;border-top:none;border-left:none;border-right:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;transition:background-color .12s;display:flex}._templateItem_19h5l_3272:last-child{border-bottom:none}._templateItem_19h5l_3272:hover{background-color:var(--color-surface-muted)}._templateItemBody_19h5l_3296{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}._templateItemTitle_19h5l_3304{font-size:var(--font-sm);color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}._templateItemSub_19h5l_3313{font-size:var(--font-xs);color:var(--color-text-soft);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}._templateUseBtn_19h5l_3321{border-radius:var(--radius-sm);background-color:var(--color-primary);color:#fff;letter-spacing:.06em;cursor:pointer;border:none;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-size:10px;font-weight:700;transition:opacity .15s;display:flex}._templateUseBtn_19h5l_3321:hover{opacity:.85}._templateEmpty_19h5l_3342{text-align:center;font-size:var(--font-sm);color:var(--color-text-soft);padding:20px 14px}._itemIconContainer_19h5l_3349{border-radius:var(--radius-md);background-color:color-mix(in srgb, var(--color-primary) 10%, transparent);width:32px;height:32px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}._itemBadge_19h5l_3361{border-radius:var(--radius-sm);background-color:var(--color-surface-muted);color:var(--color-text-soft);max-width:fit-content;padding:2px 6px;font-size:10px;font-weight:500}._itemMetaRow_19h5l_3371{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}._lightboxOverlay_z9s6t_5{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10000;-webkit-user-select:none;user-select:none;background-color:#0a0f1ebf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}._lightboxContainer_z9s6t_20{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);width:92vw;max-width:1200px;height:85vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}._lightboxContainerTextOnly_z9s6t_33{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);flex-direction:column;width:92vw;max-width:680px;height:auto;max-height:85vh;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}._lightboxLeft_z9s6t_48{background-color:#0c0d12;flex:1.5;justify-content:center;align-items:center;height:100%;display:flex;position:relative}._lightboxRight_z9s6t_58{background-color:var(--color-surface);border-left:1px solid var(--color-divider);flex-direction:column;flex:1;height:100%;display:flex;overflow:hidden}._lightboxRightFull_z9s6t_69{background-color:var(--color-surface);flex-direction:column;flex:1;width:100%;max-width:680px;height:100%;min-height:0;margin:0 auto;display:flex;overflow:hidden}._lightboxHeaderWrapper_z9s6t_82{border-bottom:1px solid var(--color-divider);background-color:var(--color-surface);flex-shrink:0;padding-right:40px}._lightboxScrollableContent_z9s6t_91{flex-direction:column;flex:1;gap:16px;min-height:0;padding:24px;display:flex;overflow-y:auto}._lightboxScrollableContent_z9s6t_91:after{content:"";flex-shrink:0;min-height:16px;display:block}._lightboxDivider_z9s6t_108{background-color:var(--color-divider);height:1px;margin:8px 0}@media (width<=900px){._lightboxContainer_z9s6t_20,._lightboxContainerTextOnly_z9s6t_33{flex-direction:column;width:95vw;height:95vh;max-height:95vh}._lightboxHeaderWrapper_z9s6t_82{padding-right:32px}._lightboxLeft_z9s6t_48{flex:1;min-height:250px}._lightboxRight_z9s6t_58{border-left:none;border-top:1px solid var(--color-divider);flex:1.5}._lightboxClose_z9s6t_138{color:#ffffffe6;background:#0006;top:12px;right:12px}._lightboxClose_z9s6t_138:hover{color:#fff;background:#0009}}._lightboxImage_z9s6t_151{object-fit:contain;border-radius:var(--radius-lg);border:1px solid #ffffff26;max-width:85%;max-height:80%;box-shadow:0 25px 50px -12px #000000b3,0 0 0 1px #ffffff14}._lightboxClose_z9s6t_138{background:var(--color-bg-hover,#0000000d);color:var(--color-text-soft,#65676b);cursor:pointer;z-index:10002;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:16px;right:16px}._lightboxClose_z9s6t_138:hover{background:var(--color-bg-hover-strong,#0000001a);color:var(--color-text,#1c1e21);transform:scale(1.05)}._lightboxArrow_z9s6t_186{color:#fff;cursor:pointer;z-index:10001;background:#ffffff14;border:1px solid #ffffff0d;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;top:50%;transform:translateY(-50%)}._lightboxArrow_z9s6t_186:hover{background:#ffffff2e}._lightboxArrowLeft_z9s6t_208{left:24px}._lightboxArrowLeft_z9s6t_208:hover{transform:translateY(-50%)scale(1.08)}._lightboxArrowRight_z9s6t_216{right:24px}._lightboxArrowRight_z9s6t_216:hover{transform:translateY(-50%)scale(1.08)}._lightboxCounter_z9s6t_224{color:#fffffff2;z-index:10001;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);letter-spacing:.05em;background-color:#ffffff14;border:1px solid #ffffff1f;border-radius:9999px;padding:6px 14px;font-size:13px;font-weight:600;position:absolute;bottom:24px;box-shadow:0 4px 12px #0003}._skeletonCard_7d381_1{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);flex-direction:column;gap:16px;padding:16px;display:flex}._skeletonHeader_7d381_11{align-items:center;gap:12px;display:flex}._skeletonAvatar_7d381_17{border-radius:var(--radius-full);background-color:var(--color-surface-muted);width:40px;height:40px;animation:1.5s ease-in-out infinite _pulse_7d381_1}._skeletonMeta_7d381_25{flex-direction:column;flex:1;gap:6px;display:flex}._skeletonLine_7d381_32{background-color:var(--color-surface-muted);border-radius:var(--radius-sm);height:12px;animation:1.5s ease-in-out infinite _pulse_7d381_1}._skeletonLine_7d381_32._short_7d381_39{width:40%}._skeletonLine_7d381_32._medium_7d381_43{width:70%}._skeletonLine_7d381_32._full_7d381_47{width:100%}._skeletonBody_7d381_51{flex-direction:column;gap:8px;display:flex}@keyframes _pulse_7d381_1{0%,to{opacity:1}50%{opacity:.5}}._bookCard_11n7l_7{border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-surface);box-shadow:var(--shadow-md);margin:20px 24px 24px;overflow:hidden}._bookTopBar_11n7l_16{border-bottom:1px solid var(--color-divider);background:linear-gradient(180deg, var(--color-primary-05), transparent);justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;display:flex}._bookGrid_11n7l_26{grid-template-columns:256px 1fr 236px;display:grid}._colCalendar_11n7l_31{border-left:1px solid var(--color-divider);border-right:1px solid var(--color-divider);padding:18px 22px}._search_11n7l_37{margin-bottom:12px;position:relative}._searchIcon_11n7l_42{color:var(--color-text-soft);position:absolute;top:50%;left:11px;transform:translateY(-50%)}._searchInput_11n7l_50{border:1px solid var(--color-border);background-color:var(--color-bg);width:100%;color:var(--color-text);border-radius:8px;outline:none;padding:8px 10px 8px 32px;font-size:12px}._contactList_11n7l_61{flex-direction:column;flex:1;gap:4px;min-height:0;max-height:440px;display:flex;overflow:hidden auto}._contactRow_11n7l_72{border-radius:var(--radius-md);cursor:pointer;text-align:left;background:0 0;border:1.5px solid #0000;align-items:center;gap:12px;padding:9px 12px;transition:background-color .15s,border-color .15s;display:flex}._contactRow_11n7l_72:hover{background-color:var(--color-surface-muted)}._contactActive_11n7l_91{background-color:var(--color-primary-10);border-color:var(--color-primary-border)}._contactAvatar_11n7l_96{background-color:var(--avatar-color);width:36px;height:36px;color:var(--color-on-primary);letter-spacing:.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12.5px;font-weight:700;display:flex}._contactText_11n7l_112{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}._contactName_11n7l_120{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;line-height:1.25;overflow:hidden}._contactActive_11n7l_91 ._contactName_11n7l_120{color:var(--color-primary);font-weight:700}._contactRole_11n7l_135{color:var(--color-text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:11px;line-height:1.2;overflow:hidden}._contactCheck_11n7l_144{border:2px solid var(--color-border-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:border-color .15s,background-color .15s;display:flex}._contactCheckOn_11n7l_158{border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-on-primary)}._contactCheckIcon_11n7l_164{justify-content:center;align-items:center;display:inline-flex}._contactEmpty_11n7l_170{color:var(--color-text-soft);margin:8px 4px;font-size:12px}._calHead_11n7l_177{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}._calMonth_11n7l_184{color:var(--color-text);font-size:14px;font-weight:600}._calNav_11n7l_190{gap:4px;display:flex}._calNavBtn_11n7l_195{border:1px solid var(--color-border);background-color:var(--color-surface);width:26px;height:26px;color:var(--color-text-mid);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;display:flex}._calDays_11n7l_208{grid-template-columns:repeat(7,1fr);margin-bottom:4px;display:grid}._calDayLabel_11n7l_214{text-align:center;color:var(--color-text-soft);padding:6px 0;font-size:11px;font-weight:600}._calGrid_11n7l_222{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}._calCell_11n7l_228{width:36px;height:36px;color:var(--color-text);cursor:pointer;background:0 0;border:1.5px solid #0000;border-radius:50%;justify-content:center;align-items:center;margin:auto;font-size:12px;font-weight:500;display:flex}._calCell_11n7l_228:hover{background-color:var(--color-surface-muted)}._calCellToday_11n7l_248{border-color:var(--color-secondary);color:var(--color-secondary);font-weight:700}._calCellSelected_11n7l_254,._calCellSelected_11n7l_254:hover{background-color:var(--color-secondary);color:var(--color-on-primary);border-color:#0000;font-weight:700}._calCellPast_11n7l_262{color:var(--color-text-very-soft);cursor:not-allowed}._calCellBlank_11n7l_267{visibility:hidden}._bookBar_11n7l_272{border-top:1px solid var(--color-divider);background:linear-gradient(0deg, var(--color-primary-05), transparent);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}._bookHint_11n7l_282{color:var(--color-text-soft);font-size:12.5px}._bookSummary_11n7l_287{color:var(--color-text-mid);align-items:center;gap:6px;font-size:12.5px;display:flex}._bookSummaryName_11n7l_295{color:var(--color-text);font-weight:600}._bookSummarySlot_11n7l_300{color:var(--color-primary);font-weight:600}._bookBtn_11n7l_305{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-light));color:var(--color-on-primary);cursor:pointer;border:none;align-items:center;gap:7px;padding:10px 24px;font-size:12.5px;font-weight:700;display:flex;box-shadow:0 4px 14px #045d5e38}._bookBtn_11n7l_305:disabled{background:var(--color-primary-20);box-shadow:none;cursor:not-allowed}._disabledBtnWrapper_11n7l_326{display:inline-flex}._confirmBody_11n7l_331{flex-direction:column;gap:16px;display:flex}._confirmWho_11n7l_337{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--color-primary-10), var(--color-primary-05));border:1px solid var(--color-primary-border);align-items:center;gap:12px;padding:14px;display:flex}._confirmAvatar_11n7l_347{background-color:var(--avatar-color);width:44px;height:44px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;font-weight:700;display:flex}._confirmWhoText_11n7l_361{flex-direction:column;gap:2px;min-width:0;display:flex}._confirmName_11n7l_368{color:var(--color-text);font-size:15px;font-weight:700}._confirmRole_11n7l_374{color:var(--color-text-soft);font-size:12px}._confirmRows_11n7l_379{flex-direction:column;display:flex}._confirmRow_11n7l_379{border-bottom:1px solid var(--color-divider);align-items:center;gap:10px;padding:10px 2px;display:flex}._confirmRow_11n7l_379:last-child{border-bottom:none}._confirmRowIcon_11n7l_396{border-radius:var(--radius-md);background-color:var(--color-surface-muted);width:30px;height:30px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}._confirmRowLabel_11n7l_408{width:76px;color:var(--color-text-soft);flex-shrink:0;font-size:12.5px;font-weight:600}._confirmRowValue_11n7l_416{min-width:0;color:var(--color-text);flex:1;font-size:12.5px;font-weight:600}._bookedNote_11n7l_424{color:var(--color-success);align-items:center;gap:6px;font-size:12.5px;font-weight:700;display:inline-flex}._typeSelector_11n7l_434{background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;padding:3px;display:inline-flex}._typeBtn_11n7l_442{color:var(--color-text-soft);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:11.5px;font-weight:500}._typeBtn_11n7l_442:hover{color:var(--color-text)}._typeBtnActive_11n7l_460{background-color:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:600}@media (width>=1440px){._contactList_11n7l_61{max-height:460px}}@media (width<=1024px){._bookGrid_11n7l_26{grid-template-columns:1fr}._colCalendar_11n7l_31{border-left:none;border-right:none;border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}}@media (width<=768px){._bookCard_11n7l_7{margin:12px 10px}._bookGrid_11n7l_26{grid-template-columns:1fr}._colCalendar_11n7l_31{border-left:none;border-right:none;border-top:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider)}._bookBar_11n7l_272{text-align:center;flex-direction:column;align-items:stretch;gap:10px}._bookBtn_11n7l_305{justify-content:center}}._col_18ut1_6{flex-direction:column;min-width:0;padding:18px;display:flex}._colTitle_18ut1_13{color:var(--color-text);align-items:center;margin-bottom:12px;font-size:13.5px;font-weight:700;display:flex}._stepDot_18ut1_22{background-color:var(--color-primary-10);width:18px;height:18px;color:var(--color-primary);border-radius:50%;justify-content:center;align-items:center;margin-right:8px;font-size:10px;font-weight:800;display:inline-flex}._titleWrap_18nb9_3{margin-bottom:10px}._titleInput_18nb9_7{width:100%;padding-left:10px}._wizardContainer_pyr7v_8{background-color:var(--color-surface);border-radius:0 0 12px 12px;flex-direction:column;flex:1;display:flex;overflow:hidden}._stepper_pyr7v_17{background-color:var(--color-surface-muted);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}._stepItem_pyr7v_27{flex-shrink:0;align-items:center;gap:8px;display:flex}._stepLine_pyr7v_34{background-color:var(--color-border);flex:1;height:2px}._stepLineActive_pyr7v_40{background-color:var(--color-primary)}._stepCircle_pyr7v_44{background-color:var(--color-surface);border:2px solid var(--color-border);width:24px;height:24px;color:var(--color-text-soft);transition:all var(--dur-fast) var(--ease-out);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}._stepCircleActive_pyr7v_60{border-color:var(--color-primary);color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}._stepCircleDone_pyr7v_66{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}._stepText_pyr7v_72{color:var(--color-text-soft);font-size:12px;font-weight:500}._stepTextActive_pyr7v_78{color:var(--color-text);font-weight:600}._wizardContent_pyr7v_83{flex-direction:column;flex:1;display:flex;overflow:hidden}._wizardRow_pyr7v_90{flex:1;display:flex;overflow:hidden}._wizardPanelLeft_pyr7v_96{border-right:1px solid var(--color-border);background-color:var(--color-surface);flex-direction:column;flex:1;padding:16px;display:flex;overflow:hidden}._wizardPanelRight_pyr7v_106{background-color:var(--color-surface-muted);flex-direction:column;width:320px;display:flex;overflow:hidden}._timePanelLeft_pyr7v_114{flex:0 0 240px}._timePanelLeft_pyr7v_114 ._wizardList_pyr7v_118{max-height:480px}@media (width>=1440px){._timePanelLeft_pyr7v_114 ._wizardList_pyr7v_118{max-height:580px}}._timePanelRight_pyr7v_128{flex:1}._panelHeading_pyr7v_132{color:var(--color-text);margin:0 0 4px;font-size:15px;font-weight:700}._wizardSearch_pyr7v_139{border:1px solid var(--color-border);background-color:var(--color-surface-muted);width:100%;color:var(--color-text);border-radius:6px;margin-top:8px;padding:8px 12px;font-size:12px}._wizardList_pyr7v_118{flex-direction:column;flex:1;gap:4px;max-height:440px;display:flex;overflow-y:auto}._wizardListBtn_pyr7v_159{cursor:pointer;width:100%;transition:all var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:12px;padding:10px;display:flex}._wizardListBtn_pyr7v_159:hover{background-color:var(--color-surface-hover)}._wizardListBtnActive_pyr7v_176{background-color:var(--color-primary-soft);border-color:var(--color-primary-soft-border)}._avatar_pyr7v_181{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:inline-flex}._avatarSmall_pyr7v_193{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:inline-flex}._contactName_pyr7v_205{color:var(--color-text);font-size:12.5px;font-weight:600}._contactRole_pyr7v_211{color:var(--color-text-soft);margin-top:1px;font-size:11px}._checkbox_pyr7v_217{border:1.5px solid var(--color-border-strong);width:16px;height:16px;transition:all var(--dur-fast) var(--ease-out);border-radius:4px;justify-content:center;align-items:center;display:flex}._checkboxActive_pyr7v_228{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}._panelHeader_pyr7v_234{border-bottom:1px solid var(--color-border);letter-spacing:.04em;color:var(--color-text-soft);justify-content:space-between;align-items:center;padding:16px;font-size:11px;font-weight:700;display:flex}._badge_pyr7v_246{background-color:var(--color-primary-soft);color:var(--color-primary);border-radius:12px;padding:2px 6px;font-size:10px}._selectedGrid_pyr7v_254{flex-direction:column;flex:1;gap:8px;max-height:485px;padding:12px;display:flex;overflow-y:auto}@media (width>=1440px){._wizardList_pyr7v_118{max-height:460px}._selectedGrid_pyr7v_254{max-height:505px}}._selectedEmpty_pyr7v_274{text-align:center;color:var(--color-text-soft);flex-direction:column;align-items:center;padding:32px 16px;font-size:11px;line-height:1.5;display:flex}._selectedEmptyIcon_pyr7v_285{color:var(--color-text-soft);opacity:.5;margin-bottom:8px}._selectedItemCard_pyr7v_291{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;align-items:center;gap:8px;padding:8px;display:flex}._cardName_pyr7v_301{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;overflow:hidden}._cardRole_pyr7v_310{color:var(--color-text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}._removeBtn_pyr7v_318{color:var(--color-text-soft);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}._removeBtn_pyr7v_318:hover{background-color:var(--color-danger-soft);color:var(--color-danger)}._attendeeStatusItem_pyr7v_337{background-color:var(--color-surface-muted);border-radius:6px;align-items:center;gap:8px;padding:8px;display:flex}._statusIndicator_pyr7v_346{background-color:var(--color-border-strong);border-radius:50%;width:8px;height:8px}._statusIndicatorAvail_pyr7v_353{background-color:var(--color-success)}._statusIndicatorBusy_pyr7v_357{background-color:var(--color-danger)}._statusIndicatorOoh_pyr7v_361{background-color:var(--color-text-soft);opacity:.5}._gridToolbar_pyr7v_366{border-bottom:1px solid var(--color-border);background-color:var(--color-surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}._datePickerInput_pyr7v_377{border:1px solid var(--color-border);color:var(--color-text);background-color:var(--color-surface-muted);border-radius:6px;padding:4px 8px;font-size:12px}._durationSelector_pyr7v_386{background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:6px;padding:2px;display:inline-flex}._durBtn_pyr7v_394{color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600}._durBtnActive_pyr7v_405{background-color:var(--color-surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}._legend_pyr7v_411{align-items:center;gap:12px;font-size:11px;display:flex}._legendItem_pyr7v_418{color:var(--color-text-soft);align-items:center;gap:4px;display:flex}._dotAvail_pyr7v_425,._dotBusy_pyr7v_426,._dotOoh_pyr7v_427{border-radius:50%;width:8px;height:8px}._dotAvail_pyr7v_425{background-color:var(--color-success)}._dotBusy_pyr7v_426{background-color:var(--color-danger)}._dotOoh_pyr7v_427{background-color:var(--color-border-strong)}._suggestedStrip_pyr7v_443{border-bottom:1px solid var(--color-border);background-color:var(--color-surface-muted);padding:12px 16px}._suggestedRow_pyr7v_449{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}._suggestedCard_pyr7v_456{background-color:var(--color-surface);border:1px solid var(--color-border);text-align:left;cursor:pointer;min-width:140px;transition:all var(--dur-fast) var(--ease-out);border-radius:8px;flex-shrink:0;padding:8px 12px}._suggestedCard_pyr7v_456:hover{border-color:var(--color-primary)}._suggestedCardActive_pyr7v_472{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:var(--shadow-md)}._suggestedCardFree_pyr7v_479{border-color:var(--color-success-border);background-color:var(--color-success-soft)}._suggestedCardActive_pyr7v_472._suggestedCardFree_pyr7v_479{background-color:var(--color-primary);color:#fff}._gridEmpty_pyr7v_489{color:var(--color-text-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:64px 32px;font-size:12px;display:flex}._wizardConfirmContainer_pyr7v_501{width:100%;max-width:580px;margin:0 auto;padding:24px;overflow-y:auto}._confirmHeading_pyr7v_509{color:var(--color-text);margin:0 0 4px;font-size:18px;font-weight:700}._confirmSub_pyr7v_516{color:var(--color-text-soft);margin:0 0 20px;font-size:12px}._confirmCard_pyr7v_522{background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:12px;flex-direction:column;gap:16px;padding:16px;display:flex}._confirmRow_pyr7v_532{border-bottom:1px solid var(--color-border);flex-direction:column;gap:4px;padding-bottom:12px;display:flex}._confirmLabel_pyr7v_540{letter-spacing:.04em;color:var(--color-text-soft);text-transform:uppercase;font-size:10px;font-weight:700}._confirmVal_pyr7v_548{color:var(--color-text);font-size:13.5px;font-weight:500}._confirmAttendeeBadge_pyr7v_554{background-color:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:6px;align-items:center;gap:6px;padding:4px 8px;font-size:11.5px;font-weight:600;display:inline-flex}._avatarTiny_pyr7v_567{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:9px;font-weight:700;display:inline-flex}._wizardFooter_pyr7v_580{background-color:var(--color-surface-muted);border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 24px;display:flex}._wizardBackBtn_pyr7v_589{border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-soft);cursor:pointer;transition:all var(--dur-fast);border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;display:inline-flex}._wizardBackBtn_pyr7v_589:hover{background-color:var(--color-surface-hover);color:var(--color-text)}._wizardNextBtn_pyr7v_609{background-color:var(--color-primary);color:#fff;cursor:pointer;transition:all var(--dur-fast);box-shadow:var(--shadow-sm);border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:12px;font-weight:700;display:inline-flex}._wizardNextBtn_pyr7v_609:hover:not(:disabled){background-color:var(--color-primary-strong)}._wizardNextBtn_pyr7v_609:disabled{opacity:.5;cursor:not-allowed}._selectedStatusAlert_pyr7v_634{background-color:var(--color-primary-soft);color:var(--color-primary);border-radius:16px;align-items:center;gap:6px;padding:6px 12px;font-size:11px;font-weight:600;display:flex}._successContainer_pyr7v_647{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:520px;margin:0 auto;padding:48px 24px;display:flex}._successHeader_pyr7v_659{flex-direction:column;align-items:center;gap:12px;margin-bottom:24px;display:flex}._successTitle_pyr7v_667{color:var(--color-text);margin:0;font-size:20px;font-weight:700}._successSub_pyr7v_674{color:var(--color-text-soft);margin:4px 0 0;font-size:13px}._successCard_pyr7v_680{background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-align:left;width:100%;box-shadow:var(--shadow-sm);flex-direction:column;gap:14px;margin-bottom:28px;padding:20px;display:flex}._successRow_pyr7v_694{border-bottom:1px dashed var(--color-border);align-items:flex-start;gap:10px;padding-bottom:10px;display:flex}._successRow_pyr7v_694:last-child{border-bottom:none;padding-bottom:0}._successLabel_pyr7v_707{color:var(--color-text-soft);text-transform:uppercase;flex-shrink:0;width:90px;font-size:11px;font-weight:700}._successVal_pyr7v_716{color:var(--color-text);flex-direction:column;gap:4px;font-size:13px;font-weight:600;display:flex}._successActions_pyr7v_725{justify-content:center;align-items:center;gap:12px;width:100%;display:flex}._successBtn_pyr7v_733{cursor:pointer;transition:all var(--dur-fast);border:none;border-radius:8px;padding:10px 20px;font-size:12.5px;font-weight:700}._successBtnPrimary_pyr7v_743{background-color:var(--color-primary);color:#fff}._successBtnPrimary_pyr7v_743:hover{background-color:var(--color-primary-strong)}._successBtnSecondary_pyr7v_752{border:1px solid var(--color-border);color:var(--color-text-mid);background-color:#0000}._successBtnSecondary_pyr7v_752:hover{background-color:var(--color-surface-hover);color:var(--color-text)}@media (width<=768px){._wizardRow_pyr7v_90{flex-direction:column;overflow-y:auto}._wizardPanelLeft_pyr7v_96{border-right:none;border-bottom:1px solid var(--color-border)}._wizardPanelRight_pyr7v_106{border-left:none;border-top:1px solid var(--color-border);width:100%!important}._timePanelLeft_pyr7v_114{max-height:200px;overflow-y:auto;flex:none!important;width:100%!important}._timePanelRight_pyr7v_128{flex:1!important;width:100%!important}._gridToolbar_pyr7v_366{flex-direction:column;align-items:stretch;gap:10px;padding:12px}._wizardConfirmContainer_pyr7v_501{padding:16px}._stepper_pyr7v_17{gap:8px;padding:12px 16px}._stepText_pyr7v_72{display:none}._wizardFooter_pyr7v_580{flex-direction:column;align-items:stretch;gap:8px;padding:12px}._wizardBackBtn_pyr7v_589,._wizardNextBtn_pyr7v_609{justify-content:center;width:100%}._successActions_pyr7v_725{flex-direction:column;gap:8px}._successBtn_pyr7v_733{text-align:center;width:100%}}._titleVal_195yt_3{font-size:15px;font-weight:700}._inlineIcon_195yt_8{vertical-align:text-bottom;margin-right:4px}._agendaVal_195yt_13{font-style:italic}._lastRow_195yt_17{border-bottom:none}._guestList_195yt_21{flex-wrap:wrap;gap:6px;display:flex}._wizardDetailsForm_79bfd_3{width:100%;max-width:580px;margin:0 auto;padding:24px;overflow-y:auto}._detailsHeading_79bfd_11{color:var(--color-text);margin:0 0 4px;font-size:18px;font-weight:700}._detailsSub_79bfd_18{color:var(--color-text-soft);margin:0 0 24px;font-size:12px}._formGroup_79bfd_24{margin-bottom:16px}._formLabel_79bfd_28{letter-spacing:.04em;color:var(--color-text-soft);margin-bottom:6px;font-size:10px;font-weight:700;display:block}._formInput_79bfd_37{border:1px solid var(--color-border);background-color:var(--color-surface-muted);width:100%;color:var(--color-text);transition:border-color var(--dur-fast);border-radius:8px;padding:10px 12px;font-size:13px;font-weight:500}._formInput_79bfd_37:focus{border-color:var(--color-primary);outline:none}._formTextarea_79bfd_54{border:1px solid var(--color-border);background-color:var(--color-surface-muted);width:100%;color:var(--color-text);resize:vertical;transition:border-color var(--dur-fast);border-radius:8px;padding:10px 12px;font-family:inherit;font-size:12.5px}._formTextarea_79bfd_54:focus{border-color:var(--color-primary);outline:none}@media (width<=768px){._wizardDetailsForm_79bfd_3{padding:16px}}._searchWrap_3i51q_3{padding:0 8px 12px}._contactMeta_3i51q_7{text-align:left;flex:1;min-width:0}._selectedMeta_3i51q_13{flex:1;min-width:0}._timelineContainer_1799e_3{-webkit-user-select:none;user-select:none;flex-direction:column;flex:1;max-height:380px;display:flex;overflow:auto}@media (width>=1440px){._timelineContainer_1799e_3{max-height:500px}}._timelineHeaderRow_1799e_18{background-color:var(--color-surface);border-bottom:1px solid var(--color-border-strong);z-index:5;display:flex;position:sticky;top:0}._timelineTimeCell_1799e_27{width:64px;color:var(--color-text-soft);border-right:1px solid var(--color-border);background-color:var(--color-surface);flex-shrink:0;padding:8px;font-size:10px;font-weight:700}._timelineHeaderCell_1799e_38{color:var(--color-text);border-right:1px solid var(--color-border);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:70px;padding:8px;font-size:11px;font-weight:600;overflow:hidden}._timelineBody_1799e_52{flex-direction:column;display:flex}._timelineRow_1799e_57{border-bottom:1px dashed var(--color-border);height:28px;display:flex}._timelineRow_1799e_57:nth-child(2n){border-bottom:1px solid var(--color-border-strong)}._timelineRow_1799e_57 ._timelineTimeCell_1799e_27{cursor:pointer;transition:background-color var(--dur-fast);justify-content:center;align-items:center;display:flex}._timelineTimeCellActive_1799e_75{background-color:var(--color-primary-soft);color:var(--color-primary);font-weight:700}._timelineCell_1799e_81{border-right:1px solid var(--color-border);cursor:pointer;transition:all var(--dur-fast);flex:1;min-width:70px;position:relative}._cellAvail_1799e_90{background-color:var(--color-success-soft)}._cellBusy_1799e_94{background-color:var(--color-danger-soft)}._cellOoh_1799e_98{background-color:var(--color-surface-muted);background-image:repeating-linear-gradient(45deg,#0000,#0000 4px,#00000008 4px 8px)}._cellSelected_1799e_109{box-shadow:inset 0 0 0 2px var(--color-primary);z-index:2}._gridTooltip_1799e_114{background-color:var(--color-text);color:var(--color-surface);z-index:10;white-space:nowrap;box-shadow:var(--shadow-md);pointer-events:none;border-radius:4px;margin-bottom:6px;padding:4px 8px;font-size:10px;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}._cellPast_1799e_133{opacity:.35;cursor:not-allowed;background-image:none}._timelineTimeCell_1799e_27:disabled{opacity:.35;cursor:not-allowed}._header_1afpk_3{padding:0 8px 12px}._slotNote_1afpk_7{color:var(--color-text-soft);font-size:11px}._cardMeta_1afpk_12{flex:1;min-width:0}._toolbarGroup_1hpun_3{align-items:center;gap:8px;display:flex}._toolbarLabel_1hpun_9{color:var(--color-text-soft);font-size:10px;font-weight:600}._suggestedHeader_1hpun_15{align-items:center;gap:6px;margin-bottom:8px;display:flex}._suggestedTitle_1hpun_22{letter-spacing:.04em;color:var(--color-text-mid);font-size:10px;font-weight:700}._freeBadge_1hpun_29{font-size:9px;font-weight:700}._slotTime_1hpun_34{margin-top:2px;font-size:12px;font-weight:700}._noSlots_1hpun_40{color:var(--color-text-mid);padding:4px 0;font-size:11px}._emptyIcon_1hpun_46{color:var(--color-text-soft);margin-bottom:8px}._wizardContentClip_14i7n_3{position:relative;overflow:hidden}._wizardStep_14i7n_8{flex:1;height:100%;min-height:0;display:flex}._slotsDate_1rdif_3{color:var(--color-text-mid);margin-bottom:12px;font-size:11.5px;font-weight:600}._slotsEmpty_1rdif_10{text-align:center;min-height:180px;color:var(--color-text-soft);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}._slotsEmptyIcon_1rdif_24{border-radius:var(--radius-full);background-color:var(--color-primary-05);width:56px;height:56px;color:var(--color-primary);justify-content:center;align-items:center;margin-bottom:4px;display:inline-flex}._slotsEmptyTitle_1rdif_36{color:var(--color-text);font-size:14px;font-weight:700}._slotList_1rdif_42{flex-direction:column;flex:1;gap:6px;min-height:0;max-height:440px;padding-right:2px;display:flex;overflow-y:auto}@media (width>=1440px){._slotList_1rdif_42{max-height:460px}}._slot_1rdif_3{border-radius:var(--radius-md);border:1.5px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:11px 14px;font-size:12.5px;font-weight:600;display:flex}._slot_1rdif_3:hover{border-color:var(--color-primary-border);box-shadow:var(--shadow-sm)}._slotActive_1rdif_86{border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-on-primary);box-shadow:0 4px 14px var(--color-primary-30)}._slot_1rdif_3{flex-direction:column;align-items:stretch;gap:4px;display:flex}._slotWithConflicts_1rdif_102{border-style:dashed;border-color:var(--color-warning,#d97706);background-color:var(--color-warning-soft,#d9770614)}._slotWithConflicts_1rdif_102:hover{border-color:var(--color-warning,#d97706);box-shadow:var(--shadow-sm)}._slotMain_1rdif_113{justify-content:space-between;align-items:center;width:100%;display:flex}._slotConflictList_1rdif_120{border-top:1px dashed var(--color-border);color:var(--color-danger);align-items:center;gap:4px;margin-top:4px;padding-top:4px;font-size:10px;display:flex}._conflictLabel_1rdif_131{margin-right:2px;font-weight:500}._conflictAvatar_1rdif_136{background-color:var(--color-danger-soft);width:16px;height:16px;color:var(--color-danger);border:1px solid var(--color-danger);border-radius:50%;justify-content:center;align-items:center;font-size:8px;font-weight:700;display:inline-flex}._slotActive_1rdif_86 ._slotConflictList_1rdif_120{color:#ffffffe6;border-top-color:#ffffff40}._slotActive_1rdif_86 ._conflictAvatar_1rdif_136{background-color:var(--color-surface);color:var(--color-danger);border-color:var(--color-surface)}._noSlots_1rdif_162{text-align:center;color:var(--color-text-soft);padding:20px 0;font-size:13px}._tzWrap_n6w9w_3{flex-shrink:0;position:relative}._tzBtn_n6w9w_8{border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);align-items:center;gap:7px;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex}._tzBtn_n6w9w_8:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}._tzBtnOffset_n6w9w_30{color:var(--color-primary);font-size:11px;font-weight:700}._tzChevron_n6w9w_36{color:var(--color-text-soft)}._tzBackdrop_n6w9w_40{z-index:30;cursor:default;background:0 0;border:none;position:fixed;inset:0}._tzPop_n6w9w_49{z-index:40;border-radius:var(--radius-lg);background-color:var(--color-surface);border:1px solid var(--color-border);width:248px;box-shadow:var(--shadow-lg);padding:8px;position:absolute;top:calc(100% + 6px);right:0}._tzSearch_n6w9w_62{border-radius:var(--radius-md);background-color:var(--color-surface-muted);height:34px;color:var(--color-text-soft);align-items:center;gap:8px;margin-bottom:6px;padding:0 10px;display:flex}._tzSearchInput_n6w9w_74{min-width:0;color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-size:12.5px}._tzList_n6w9w_84{scrollbar-width:none;flex-direction:column;gap:1px;max-height:260px;display:flex;overflow-y:auto}._tzList_n6w9w_84:hover{scrollbar-width:thin}._tzList_n6w9w_84::-webkit-scrollbar{background:0 0;width:5px}._tzList_n6w9w_84::-webkit-scrollbar-track{background:0 0}._tzList_n6w9w_84::-webkit-scrollbar-thumb{border-radius:var(--radius-full,4px);background:0 0}._tzList_n6w9w_84:hover::-webkit-scrollbar-thumb{background:var(--color-border,#cbd5e1)}._tzList_n6w9w_84:hover::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong,#94a3b8)}._tzRow_n6w9w_119{border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;text-align:left;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}._tzRow_n6w9w_119:hover{background-color:var(--color-surface-muted)}._tzRowActive_n6w9w_138{background-color:var(--color-primary-10)}._tzCity_n6w9w_142{flex:1;font-weight:600}._tzRowActive_n6w9w_138 ._tzCity_n6w9w_142{color:var(--color-primary)}._tzRowOffset_n6w9w_151{color:var(--color-text-soft);font-size:11px;font-weight:600}._tzCheck_n6w9w_157{color:var(--color-primary)}._tzEmpty_n6w9w_161{color:var(--color-text-soft);margin:8px 4px;font-size:12px}._badgeWrap_swq6w_3{width:64px;height:64px;margin:0 auto 12px;position:relative}._badgeCircle_swq6w_10{background-color:var(--color-success-soft);border:2px solid var(--color-success);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;display:flex}._guestRow_swq6w_21{flex-flow:wrap;gap:6px;display:flex}._eventVal_swq6w_28{font-size:14px;font-weight:700}._iconRow_swq6w_33{align-items:center;gap:6px;display:flex}._iconRowMuted_swq6w_39{color:var(--color-text-mid);align-items:center;gap:6px;margin-top:2px;display:flex}._iconRowTop_swq6w_47{align-items:flex-start;gap:6px;display:flex}._agendaVal_swq6w_53{font-style:italic;font-weight:500}._iconTop_swq6w_58{margin-top:2px}._schedWrap_d5mtd_4{flex-direction:column;gap:14px;padding:18px 28px 40px;display:flex}._bucketTabs_d5mtd_11{flex-wrap:wrap;gap:6px;display:flex}._bucketTab_d5mtd_11{border-radius:var(--radius-full);color:var(--color-text-soft);border:1px solid var(--color-border);cursor:pointer;transition:color var(--dur-fast) var(--ease-out);background:0 0;align-items:center;gap:7px;padding:7px 15px;font-size:12.5px;font-weight:500;display:flex;position:relative;overflow:hidden}._bucketTab_d5mtd_11:hover{color:var(--color-text)}._bucketTabActive_d5mtd_38,._bucketTabActive_d5mtd_38:hover{color:var(--color-primary);border-color:var(--color-primary-border);font-weight:600}._bucketBg_d5mtd_45{z-index:0;border-radius:var(--radius-full);background-color:var(--color-primary-10);position:absolute;inset:0}._bucketLabel_d5mtd_53{z-index:1;position:relative}._bucketCount_d5mtd_58{z-index:1;border-radius:var(--radius-full);text-align:center;background-color:var(--color-surface-muted);min-width:18px;color:var(--color-text-mid);padding:0 6px;font-size:11px;font-weight:700;position:relative}._bucketTabActive_d5mtd_38 ._bucketCount_d5mtd_58{background-color:var(--color-primary-10);color:var(--color-primary)}._meetingList_d5mtd_76{flex-direction:column;gap:10px;display:flex}._meeting_d5mtd_76{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);transition:box-shadow var(--dur-base) var(--ease-out), border-color var(--dur-base) var(--ease-out);align-items:center;gap:14px;padding:14px 18px;display:flex}._meeting_d5mtd_76:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}._datePlate_d5mtd_101{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-primary-10);flex-direction:column;justify-content:center;align-items:center;width:48px;min-width:48px;height:56px;display:flex}._datePlatePassed_d5mtd_114{background-color:var(--color-bg)}._datePlateCanceled_d5mtd_118{background-color:var(--color-danger-soft)}._datePlateMonth_d5mtd_122{letter-spacing:.06em;color:var(--color-primary);font-size:9px;font-weight:700}._datePlateDay_d5mtd_129{color:var(--color-primary);font-size:18px;font-weight:800;line-height:1}._datePlateCanceled_d5mtd_118 ._datePlateMonth_d5mtd_122,._datePlateCanceled_d5mtd_118 ._datePlateDay_d5mtd_129{color:var(--color-danger)}._meetingAvatar_d5mtd_141{background-color:var(--avatar-color);width:36px;height:36px;color:var(--color-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}._meetingBody_d5mtd_155{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}._meetingTitle_d5mtd_163{color:var(--color-text);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}._meetingMeta_d5mtd_174{color:var(--color-text-mid);flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;display:flex}._meetingMetaItem_d5mtd_183{align-items:center;gap:4px;display:inline-flex}._meetingActions_d5mtd_189{flex-shrink:0;align-items:center;gap:6px;display:flex}._acceptBtn_d5mtd_196,._joinBtn_d5mtd_197{background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:5px;padding:7px 13px;font-size:11.5px;font-weight:600;transition:opacity .15s,background-color .15s;display:inline-flex}._acceptBtnDisabled_d5mtd_214,._acceptBtn_d5mtd_196:disabled,._joinBtnDisabled_d5mtd_216,._joinBtn_d5mtd_197:disabled{background-color:var(--color-surface-muted);color:var(--color-text-mid);cursor:not-allowed;opacity:.7}._declineBtn_d5mtd_224{border:1px solid var(--color-border);color:var(--color-text-mid);cursor:pointer;background:0 0;border-radius:8px;padding:7px 12px;font-size:11.5px;font-weight:600}._declineBtnDisabled_d5mtd_235,._declineBtn_d5mtd_224:disabled{opacity:.5;cursor:not-allowed}._cancelBtn_d5mtd_241{border:1px solid var(--color-danger);color:var(--color-danger);cursor:pointer;background:0 0;border-radius:8px;padding:7px 12px;font-size:11.5px;font-weight:600}._cancelBtnDisabled_d5mtd_252,._cancelBtn_d5mtd_241:disabled{border-color:var(--color-border);color:var(--color-text-mid);cursor:not-allowed;opacity:.5}._statusPill_d5mtd_260{border-radius:var(--radius-full);align-items:center;gap:4px;padding:5px 11px;font-size:11px;font-weight:700;display:inline-flex}._statusAccepted_d5mtd_270{background-color:var(--color-success-soft);color:var(--color-success)}._statusPending_d5mtd_275{background-color:var(--color-warn-soft);color:var(--color-warn)}._statusRejected_d5mtd_280,._statusCanceled_d5mtd_281{background-color:var(--color-danger-soft);color:var(--color-danger)}._liveNow_d5mtd_288{background-color:var(--color-success-soft);color:var(--color-success)}._liveNowDot_d5mtd_293{border-radius:var(--radius-full);background-color:var(--color-success);width:7px;height:7px;animation:1.6s ease-in-out infinite _live-now-breathe_d5mtd_1}@keyframes _live-now-breathe_d5mtd_1{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}@media (prefers-reduced-motion:reduce){._liveNowDot_d5mtd_293{animation:none}}._statusCompleted_d5mtd_319{background-color:var(--color-bg);color:var(--color-text-mid)}._empty_d5mtd_324{text-align:center;background-color:#0000;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}._emptyIconWrap_d5mtd_334{border-radius:var(--radius-full);background-color:var(--color-surface-muted);width:64px;height:64px;color:var(--color-text-soft);justify-content:center;align-items:center;margin-bottom:16px;display:flex}._emptyTitle_d5mtd_346{font-size:var(--font-lg);color:var(--color-text);margin:0 0 8px;font-weight:700}._emptyText_d5mtd_353{font-size:var(--font-sm);color:var(--color-text-soft);max-width:300px;margin:0;line-height:1.5}@media (width<=640px){._meeting_d5mtd_76{flex-wrap:wrap;align-items:flex-start;gap:12px 14px;padding:14px}._meetingActions_d5mtd_189{flex-wrap:wrap;flex-basis:100%;gap:8px;width:100%}._acceptBtn_d5mtd_196,._joinBtn_d5mtd_197,._declineBtn_d5mtd_224,._cancelBtn_d5mtd_241{padding:9px 14px;font-size:12px}}._participantsChip_d5mtd_389{border:1px solid var(--color-border);border-radius:var(--radius-full);background-color:var(--color-surface);color:var(--color-text-mid);cursor:pointer;align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}._participantsChip_d5mtd_389:hover{color:var(--color-text);border-color:var(--color-text-mid)}._participantsPanel_d5mtd_409{flex-direction:column;gap:2px;min-width:230px;display:flex}._participantRow_d5mtd_416{border-radius:var(--radius-md);align-items:center;gap:8px;padding:6px 8px;display:flex}._participantRow_d5mtd_416:hover{background-color:var(--color-bg)}._participantAvatar_d5mtd_428{border-radius:var(--radius-full);background-color:var(--avatar-color);color:#fff;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:9px;font-weight:700;display:inline-flex}._participantName_d5mtd_442{min-width:0;color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-weight:600;overflow:hidden}._participantOrganizer_d5mtd_453{color:var(--color-text-mid);font-weight:500}._participantStatus_d5mtd_458{flex-shrink:0;font-size:10px;font-weight:700}._participantAccepted_d5mtd_464{color:var(--color-success)}._participantRejected_d5mtd_468{color:var(--color-danger)}._participantPending_d5mtd_472{color:var(--color-warn)}._list_1vv5w_1{flex-direction:column;gap:10px;display:flex}._meeting_1vv5w_7{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);align-items:center;gap:14px;padding:14px 18px;display:flex}._datePlate_1vv5w_17{border-radius:var(--radius-md);background-color:var(--color-surface-muted);width:48px;min-width:48px;height:56px;animation:1.5s ease-in-out infinite _pulse_1vv5w_1}._avatar_1vv5w_26{background-color:var(--color-surface-muted);border-radius:50%;flex-shrink:0;width:36px;height:36px;animation:1.5s ease-in-out infinite _pulse_1vv5w_1}._body_1vv5w_35{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}._title_1vv5w_43{background-color:var(--color-surface-muted);border-radius:4px;width:120px;height:14px;animation:1.5s ease-in-out infinite _pulse_1vv5w_1}._meta_1vv5w_51{background-color:var(--color-surface-muted);border-radius:4px;width:180px;height:12px;animation:1.5s ease-in-out infinite _pulse_1vv5w_1}._actions_1vv5w_59{flex-shrink:0;align-items:center;gap:6px;display:flex}._btn_1vv5w_66{background-color:var(--color-surface-muted);border-radius:8px;width:64px;height:28px;animation:1.5s ease-in-out infinite _pulse_1vv5w_1}@keyframes _pulse_1vv5w_1{0%,to{opacity:1}50%{opacity:.5}}._screen_18kgg_6{flex-direction:column;min-height:100%;display:flex}._head_18kgg_13{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);padding:22px 28px 0}._headTop_18kgg_19{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}._title_18kgg_27{font-size:var(--font-xl);color:var(--color-text);letter-spacing:-.02em;margin:0 0 2px;font-weight:600}._subtitle_18kgg_35{color:var(--color-text-soft);margin:0;font-size:12.5px}._headBadge_18kgg_41{border-radius:var(--radius-sm);background-color:var(--color-primary-05);padding:6px 14px}._headBadgeNum_18kgg_47{font-size:var(--font-md);color:var(--color-primary);font-weight:700}._headBadgeLabel_18kgg_53{color:var(--color-text-soft);margin-left:6px;font-size:11px}._tabs_18kgg_59{gap:0;margin-top:14px;display:flex}._tab_18kgg_59{color:var(--color-text-soft);cursor:pointer;transition:color var(--dur-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:7px;padding:11px 22px;font-size:14px;font-weight:500;display:flex;position:relative}._tab_18kgg_59:hover{color:var(--color-text)}._tabActive_18kgg_84,._tabActive_18kgg_84:hover{color:var(--color-primary);font-weight:600}._tabUnderline_18kgg_90{background-color:var(--color-primary);border-radius:2px 2px 0 0;height:2.5px;position:absolute;bottom:-1px;left:16px;right:16px}._body_18kgg_100{flex:1;min-height:0;position:relative;overflow:hidden}._tabContent_18kgg_107{height:100%;overflow-y:auto}@media (width<=425px){._tabContent_18kgg_107{padding-bottom:calc(var(--bottom-nav-offset,50px) - 10px);transition:padding-bottom var(--dur-base) var(--ease-out)}}._notesInput_1ut2q_7{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);width:100%;color:var(--color-text);resize:vertical;padding:8px 10px;font-family:inherit;font-size:13px}._notesInput_1ut2q_7:focus{border-color:var(--color-primary-border);outline:none}._actionSpacer_1ut2q_24{flex:1}._panelHead_1ut2q_29{z-index:2;background-color:var(--color-surface);border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:sticky;top:0}._panelTitle_1ut2q_41{font-size:var(--font-lg);color:var(--color-text);font-weight:700}._panelForm_1ut2q_47{flex-direction:column;gap:16px;padding:18px 20px 24px;display:flex}._microLabel_1ut2q_54{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-very-soft);font-size:10px;font-weight:700}._panelInput_1ut2q_62{width:100%;height:var(--height-input);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);padding:0 10px;font-family:inherit;font-size:13px}._panelInput_1ut2q_62:focus{border-color:var(--color-primary-border);outline:none}._inputError_1ut2q_79,._inputError_1ut2q_79:focus{border-color:var(--color-danger)}._fieldError_1ut2q_84{font-size:var(--font-xs);color:var(--color-danger);margin-top:2px}._statusPills_1ut2q_90{flex-wrap:wrap;gap:6px;display:flex}._statusPill_1ut2q_90{border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-soft);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:7px 12px;font-size:12px;font-weight:600;display:inline-flex}._statusPillActive_1ut2q_110{background-color:color-mix(in srgb, var(--status-color) 14%, transparent);border-color:color-mix(in srgb, var(--status-color) 45%, transparent);color:var(--status-color)}._dtGrid_1ut2q_116{grid-template-columns:1.3fr 1fr 1fr;align-items:end;gap:10px;display:grid}@media (width<=480px){._dtGrid_1ut2q_116{grid-template-columns:1fr 1fr}._dtGrid_1ut2q_116>:first-child{grid-column:1/-1}}._checkRow_1ut2q_133{width:fit-content;color:var(--color-text);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}._checkbox_1ut2q_143{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}._recurToggle_1ut2q_150{border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:8px;width:100%;padding:10px 12px;display:flex}._recurToggleOn_1ut2q_163{background-color:var(--color-primary-05);border-color:var(--color-primary-30)}._recurToggleLabel_1ut2q_168{color:var(--color-text-mid);align-items:center;gap:8px;font-size:13px;font-weight:600;display:inline-flex}._recurToggleOn_1ut2q_163 ._recurToggleLabel_1ut2q_168{color:var(--color-primary)}._recurSwitch_1ut2q_181{border-radius:var(--radius-full);background-color:var(--color-border-strong);flex-shrink:0;width:34px;height:18px;transition:background-color .15s;position:relative}._recurSwitchOn_1ut2q_191{background-color:var(--color-primary)}._recurKnob_1ut2q_195{background-color:var(--color-on-primary);border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px}._recurSwitchOn_1ut2q_191 ._recurKnob_1ut2q_195{transform:translate(16px)}._panelFooter_1ut2q_210{border-top:1px solid var(--color-divider);background-color:var(--color-surface)}._panelSummary_1ut2q_215{background-color:var(--color-primary-05);color:var(--color-text-mid);align-items:center;gap:8px;padding:12px 20px;font-size:12.5px;font-weight:600;display:flex}._panelActions_1ut2q_226{align-items:center;gap:8px;padding:14px 20px;display:flex}._recurSection_1ut2q_234{flex-direction:column;gap:12px;display:flex}._recurBuilder_1ut2q_240{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);flex-direction:column;gap:12px;padding:12px;display:flex}._recurChips_1ut2q_250{flex-wrap:wrap;gap:6px;display:flex}._recurChip_1ut2q_250{border-radius:var(--radius-full);border:1px solid var(--color-border);color:var(--color-text-soft);cursor:pointer;background:0 0;padding:6px 12px;font-size:12px;font-weight:600}._recurChipActive_1ut2q_267{background-color:var(--color-primary-10);border-color:var(--color-primary-border);color:var(--color-primary)}._recurInline_1ut2q_273{color:var(--color-text-mid);align-items:center;gap:8px;font-size:13px;display:flex}._recurInlineLabel_1ut2q_281{color:var(--color-text-mid);font-size:13px}._recurNumber_1ut2q_286{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);width:56px;height:32px;color:var(--color-text);padding:0 8px;font-size:13px}._recurWeekdays_1ut2q_297{flex-wrap:wrap;gap:6px;display:flex}._recurDay_1ut2q_303{border:1px solid var(--color-border);width:32px;height:32px;color:var(--color-text-soft);cursor:pointer;background:0 0;border-radius:50%;font-size:12px;font-weight:700}._recurDayActive_1ut2q_315{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}._recurEnds_1ut2q_321{flex-direction:column;gap:8px;display:flex}._recurRadio_1ut2q_327{color:var(--color-text-mid);align-items:center;gap:8px;font-size:13px;display:flex}._recurRadio_1ut2q_327 input[type=radio]{accent-color:var(--color-primary)}._recurDate_1ut2q_339{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);height:32px;color:var(--color-text);padding:0 8px;font-size:12.5px}._recurSummaryBox_1ut2q_349{border-radius:var(--radius-sm);background-color:var(--color-primary-05);color:var(--color-primary);text-transform:capitalize;padding:8px 10px;font-size:12px;font-weight:600}._panelSummaryError_1ut2q_360{align-items:center;gap:var(--space-1);font-weight:600;display:inline-flex;color:var(--color-danger)!important}._disabledButtonWrapper_1ut2q_368{cursor:not-allowed;display:inline-block}._resolveConflictBtn_1ut2q_373{background-color:var(--color-danger);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:opacity var(--dur-fast) var(--ease-out);border:none;align-items:center;gap:4px;margin-left:8px;padding:4px 8px;font-size:11px;font-weight:600;display:inline-flex}._resolveConflictBtn_1ut2q_373:hover{opacity:.85}._upcomingCard_1ut2q_394{background-color:var(--color-surface-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);margin-top:var(--space-4)}._upcomingHeader_1ut2q_402{font-size:var(--font-xs);color:var(--color-text-mid);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2);align-items:center;gap:var(--space-1);font-weight:700;display:flex}._upcomingRow_1ut2q_414{font-size:var(--font-sm);color:var(--color-text);padding:var(--space-1) 0;border-bottom:1px solid var(--color-border-subtle);justify-content:space-between;display:flex}._upcomingRow_1ut2q_414:last-child{border-bottom:none}._upcomingRowDate_1ut2q_427{font-weight:500}._upcomingRowTime_1ut2q_431{color:var(--color-text-soft);font-variant-numeric:tabular-nums}._upcomingMore_1ut2q_436{font-size:var(--font-xs);color:var(--color-text-soft);margin-top:var(--space-2);text-align:center;font-style:italic}._differentTimeRow_1ut2q_445{align-items:center;gap:var(--space-2);margin-top:var(--space-3);font-size:var(--font-sm);color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}._differentTimeList_1ut2q_456{gap:var(--space-2);margin-top:var(--space-3);background-color:var(--color-surface-muted);border:1px dashed var(--color-border);border-radius:var(--radius-md);flex-direction:column;padding:10px;display:flex}._differentTimeRowItem_1ut2q_467{align-items:center;gap:var(--space-2);display:flex}._differentTimeRowItem_1ut2q_467 input[type=time]{box-sizing:border-box;flex-shrink:0;width:90px}._differentTimeDayLabel_1ut2q_479{width:40px;font-size:var(--font-sm);color:var(--color-text);flex-shrink:0;font-weight:600;display:inline-block}._differentTimeNote_1ut2q_488{font-size:var(--font-xs);color:var(--color-text-soft);margin-top:var(--space-2);line-height:1.4}._differentTimeRowGroup_1ut2q_495{gap:var(--space-2);flex-direction:column;display:flex}._differentTimeDayLabelSpacer_1ut2q_501{flex-shrink:0;width:40px;display:inline-block}._slotActionBtn_1ut2q_507{color:var(--color-primary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:background-color var(--dur-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}._slotActionBtn_1ut2q_507:hover{background-color:var(--color-primary-10)}._slotActionBtnTrash_1ut2q_524{color:var(--color-text-soft);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);transition:color var(--dur-fast), background-color var(--dur-fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}._slotActionBtnTrash_1ut2q_524:hover{color:var(--color-danger);background-color:color-mix(in srgb, var(--color-danger) 10%, transparent)}._center_10cfo_6{place-items:center;padding:40px 0;display:grid}._field_10cfo_12{flex-direction:column;gap:6px;display:flex}._dash_10cfo_18{color:var(--color-text-soft);font-size:var(--font-sm)}._timeInput_ik08d_4{margin:0;padding:4px 8px}._errorStack_q9qoj_4{flex-direction:column;align-items:flex-start;gap:4px;display:flex}._errorLine_q9qoj_11{align-items:center;gap:4px;display:inline-flex}._tzWrap_horpb_4{position:relative}._tzTrigger_horpb_8{width:100%;height:var(--height-input);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);color:var(--color-text);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);align-items:center;gap:8px;padding:0 10px;font-size:13px;display:flex}._tzTrigger_horpb_8:hover{border-color:var(--color-primary)}._tzGlobe_horpb_30{color:var(--color-text-soft);flex-shrink:0}._tzTriggerLabel_horpb_35{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}._tzTriggerOffset_horpb_44{color:var(--color-primary);flex-shrink:0;font-size:11px;font-weight:700}._tzChevron_horpb_51{color:var(--color-text-soft);flex-shrink:0}._tzBackdrop_horpb_56{z-index:30;cursor:default;background:0 0;border:none;position:fixed;inset:0}._tzPop_horpb_65{z-index:40;border-radius:var(--radius-lg);background-color:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-lg);padding:8px;position:absolute;top:calc(100% + 6px);left:0;right:0}._tzSearch_horpb_78{border-radius:var(--radius-md);background-color:var(--color-surface-muted);height:34px;color:var(--color-text-soft);align-items:center;gap:8px;margin-bottom:6px;padding:0 10px;display:flex}._tzSearchInput_horpb_90{min-width:0;color:var(--color-text);background:0 0;border:none;outline:none;flex:1;font-size:12.5px}._tzList_horpb_100{scrollbar-width:none;flex-direction:column;gap:1px;max-height:280px;display:flex;overflow-y:auto}._tzList_horpb_100:hover{scrollbar-width:thin}._tzList_horpb_100::-webkit-scrollbar{background:0 0;width:5px}._tzList_horpb_100::-webkit-scrollbar-track{background:0 0}._tzList_horpb_100::-webkit-scrollbar-thumb{border-radius:var(--radius-full,4px);background:0 0}._tzList_horpb_100:hover::-webkit-scrollbar-thumb{background:var(--color-border,#cbd5e1)}._tzList_horpb_100:hover::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong,#94a3b8)}._tzRow_horpb_135{border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;text-align:left;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:none;align-items:center;gap:8px;padding:8px 10px;font-size:12.5px;display:flex}._tzRow_horpb_135:hover{background-color:var(--color-surface-muted)}._tzRowActive_horpb_154{background-color:var(--color-primary-10)}._tzRowLabel_horpb_158{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}._tzRowActive_horpb_154 ._tzRowLabel_horpb_158{color:var(--color-primary)}._tzRowOffset_horpb_171{color:var(--color-text-soft);flex-shrink:0;font-size:11px;font-weight:600}._tzCheck_horpb_178{color:var(--color-primary);flex-shrink:0}._tzEmpty_horpb_183{text-align:center;color:var(--color-text-soft);padding:12px;font-size:12px}._gridScroll_1vnsd_7{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;flex:1;min-width:0;overflow:auto}._gridScroll_1vnsd_7::-webkit-scrollbar{width:6px;height:6px}._gridScroll_1vnsd_7::-webkit-scrollbar-track{background:0 0}._gridScroll_1vnsd_7::-webkit-scrollbar-thumb{background-color:var(--color-border-strong);border-radius:4px}._gridScroll_1vnsd_7::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-soft)}._gridInner_1vnsd_33{min-width:700px;display:flex}._gutter_1vnsd_38{border-right:1px solid var(--color-divider);flex-shrink:0;width:56px}._gutterHead_1vnsd_44{height:60px}._gutterAllDay_1vnsd_48{height:calc(var(--all-day-rows,1) * 24px + 6px);border-bottom:1px solid var(--color-divider);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-very-soft);justify-content:flex-end;align-items:center;padding-right:8px;font-size:9px;font-weight:600;display:flex}._gutterHour_1vnsd_62{height:52px;font-size:var(--font-xs);color:var(--color-text-soft);justify-content:flex-end;align-items:flex-start;padding-right:8px;font-weight:500;display:flex}._dayCol_1vnsd_73{border-right:1px solid var(--color-divider);flex:1;min-width:90px}._dayHeader_1vnsd_79{z-index:15;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;justify-content:center;align-items:center;gap:1px;height:60px;display:flex;position:sticky;top:0}._colDay_1vnsd_93{font-size:var(--font-xs);color:var(--color-text-soft);text-transform:uppercase;letter-spacing:.04em;font-weight:600}._colDayToday_1vnsd_101{color:var(--color-primary)}._dayNum_1vnsd_105{color:var(--color-text);justify-content:center;align-items:center;width:26px;height:26px;font-size:18px;font-weight:700;line-height:1;display:flex}@media (width<=480px){._dayNum_1vnsd_105{width:22px;height:22px;font-size:14px}}._dayNumToday_1vnsd_125{background-color:var(--color-primary);color:var(--color-on-primary);border-radius:50%}._dayCount_1vnsd_131{color:var(--color-text-very-soft);font-size:9px;font-weight:600}._allDayBand_1vnsd_137{min-height:30px;height:calc(var(--all-day-rows,1) * 24px + 6px);border-bottom:1px solid var(--color-divider);flex-direction:column;gap:2px;padding:3px 4px;display:flex;overflow-y:auto}._allDayChip_1vnsd_148{border:none;border-left:3px solid var(--status-color);background-color:color-mix(in srgb, var(--status-color) 16%, transparent);color:var(--status-color);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:5px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;font-weight:600;display:flex;overflow:hidden}._hoursWrap_1vnsd_168{height:var(--grid-h);background-color:var(--color-off-hours);position:relative}._workBand_1vnsd_174{left:0;right:0;top:var(--top);height:var(--h);z-index:0;background-color:var(--color-surface);position:absolute}._hourRow_1vnsd_184{z-index:1;border:none;border-bottom:1px solid var(--color-divider);cursor:pointer;width:100%;height:52px;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;padding:0;display:block;position:relative}._hourRow_1vnsd_184:hover{background-color:var(--color-primary-10)}._nowLine_1vnsd_203{left:0;right:0;top:var(--top);z-index:4;border-top:2px solid var(--color-secondary);pointer-events:none;height:0;position:absolute}._nowDot_1vnsd_214{background-color:var(--color-secondary);border-radius:50%;width:7px;height:7px;position:absolute;top:-4px;left:-1px}._block_1vnsd_224{top:var(--top);height:var(--h);left:calc(2px + var(--lane) * (100% - 4px) / var(--lanes));width:calc((100% - 4px) / var(--lanes) - 2px);z-index:3;background-color:color-mix(in srgb, var(--status-color) 14%, var(--color-surface));border:none;border-left:3px solid var(--status-color);cursor:pointer;text-align:left;font:inherit;box-shadow:var(--shadow-sm);transition:background-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);border-radius:6px;flex-direction:column;align-items:flex-start;gap:2px;padding:4px 7px;display:flex;position:absolute;overflow:hidden}._block_1vnsd_224:hover{z-index:10;background-color:color-mix(in srgb, var(--status-color) 26%, var(--color-surface));box-shadow:var(--shadow-md,0 4px 14px #0006)}._block_1vnsd_224:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}._blockTitle_1vnsd_261{width:100%;color:var(--status-color);white-space:nowrap;text-overflow:ellipsis;flex-shrink:0;font-size:11px;font-weight:600;line-height:1.35;display:block;overflow:hidden}._blockTitle_1vnsd_261 svg{vertical-align:-2px;margin-right:3px}._blockTime_1vnsd_279{font-size:var(--font-xs);color:var(--status-color);opacity:.75;white-space:nowrap}@media (width<=640px){._blockTime_1vnsd_279{font-size:10px}}._monthScroll_1vnsd_293{background-color:var(--color-surface);flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}._monthHead_1vnsd_302{border-bottom:1px solid var(--color-border);flex-shrink:0;grid-template-columns:repeat(7,1fr);display:grid}._monthHeadCell_1vnsd_309{text-align:center;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-soft);padding:10px 8px;font-size:11px;font-weight:700}._monthGrid_1vnsd_319{flex:1;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(96px,1fr);display:grid}._monthCell_1vnsd_326{border-right:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);cursor:pointer;min-height:0;transition:background-color var(--dur-fast) var(--ease-out);flex-direction:column;gap:3px;padding:5px 6px;display:flex;overflow:hidden}._monthCell_1vnsd_326:nth-child(7n){border-right:none}._monthCell_1vnsd_326:hover{background-color:var(--color-primary-05)}._monthCellOff_1vnsd_347{background-color:var(--color-off-hours)}._monthCellOff_1vnsd_347 ._monthDayNum_1vnsd_351{color:var(--color-text-very-soft)}._monthCellToday_1vnsd_355{background-color:var(--color-primary-05)}._monthDayNum_1vnsd_351{text-align:right;color:var(--color-text);font-size:12px;font-weight:600}._monthDayNumToday_1vnsd_366{border-radius:var(--radius-full);background-color:var(--color-primary);min-width:20px;height:20px;color:var(--color-on-primary);text-align:center;align-self:flex-end;padding:0 2px;font-weight:800;line-height:20px}._monthChip_1vnsd_379{text-align:left;border:none;border-left:2px solid var(--status-color);background-color:color-mix(in srgb, var(--status-color) 14%, var(--color-surface));width:100%;color:var(--status-color);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);border-radius:4px;padding:1px 6px;font-size:10.5px;font-weight:600;display:block;overflow:hidden}._monthChip_1vnsd_379:hover{background-color:color-mix(in srgb, var(--status-color) 26%, var(--color-surface))}._monthMore_1vnsd_402{color:var(--color-text-soft);padding-left:4px;font-size:9.5px;font-weight:600}._agendaScroll_1vnsd_410{background-color:var(--color-bg);flex:1;min-height:0;padding:18px 24px;overflow-y:auto}._agendaGroup_1vnsd_418{margin-bottom:20px}._agendaDay_1vnsd_422{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-soft);margin-bottom:8px;padding-left:4px;font-size:12px;font-weight:700}._agendaItems_1vnsd_432{flex-direction:column;gap:6px;display:flex}._agendaRow_1vnsd_438{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);cursor:pointer;text-align:left;width:100%;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);align-items:center;gap:12px;padding:11px 14px;display:flex}._agendaRow_1vnsd_438:hover{border-color:var(--status-color);box-shadow:var(--shadow-sm)}._agendaAccent_1vnsd_459{background-color:var(--status-color);border-radius:2px;flex-shrink:0;width:4px;height:36px}._agendaBody_1vnsd_467{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}._agendaTitle_1vnsd_475{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:13.5px;font-weight:600;overflow:hidden}._agendaMeta_1vnsd_484{color:var(--color-text-soft);font-size:11.5px}._agendaMeta_1vnsd_484 svg{vertical-align:-1px}._agendaPill_1vnsd_493{color:var(--status-color);background-color:color-mix(in srgb, var(--status-color) 14%, transparent);border-radius:6px;flex-shrink:0;align-items:center;gap:4px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-flex}._agendaEmpty_1vnsd_506{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:60px 20px;display:flex}._agendaEmptyIcon_1vnsd_517{color:var(--color-text-very-soft);margin-bottom:4px}._agendaEmptyTitle_1vnsd_522{font-size:var(--font-md);color:var(--color-text);font-weight:700}._agendaEmptyText_1vnsd_528{color:var(--color-text-soft);font-size:13px}._agendaEmptyBtn_1vnsd_533{border-radius:var(--radius-md);background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;margin-top:8px;padding:9px 18px;font-size:13px;font-weight:700}._availabilityBand_1vnsd_546{left:3px;right:5px;top:var(--top);height:var(--h);z-index:2;cursor:pointer;box-sizing:border-box;transition:background-color var(--dur-fast) var(--ease-out), backdrop-filter var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);background-color:#22c55e14;border-top:1px dashed #22c55e40;border-bottom:1px dashed #22c55e40;border-left:3px solid #22c55e;justify-content:space-between;align-items:flex-start;padding:4px 8px;display:flex;position:absolute;overflow:hidden}._availabilityBand_1vnsd_546:hover{z-index:10;background-color:color-mix(in srgb, #22c55e 20%, var(--color-surface));-webkit-backdrop-filter:blur(8px);box-shadow:var(--shadow-md,0 4px 14px #0006)}._availabilityBandLabel_1vnsd_579{color:#15803d;align-items:center;gap:4px;font-size:11px;font-weight:700;display:flex}._availabilityBandEditBtn_1vnsd_589{color:#15803d;cursor:pointer;opacity:0;transition:opacity var(--dur-fast) var(--ease-out);background:#ffffffd9;border:1px solid #16653433;border-radius:4px;padding:1px 5px;font-size:9px;font-weight:700}._availabilityBand_1vnsd_546:hover ._availabilityBandEditBtn_1vnsd_589{opacity:1}._availabilityBandEditBtn_1vnsd_589:hover{background:#fff;border-color:#15803d}._dragSelectionHighlight_1vnsd_612{left:0;right:0;top:var(--top);height:var(--h);z-index:10;border:2px dashed var(--color-primary);pointer-events:none;box-sizing:border-box;background-color:#3b82f626;border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute}._dragSelectionLabel_1vnsd_631{color:var(--color-primary);background-color:var(--color-surface);border:1px solid var(--color-primary-border);box-shadow:var(--shadow-sm);border-radius:4px;padding:3px 8px;font-size:11px;font-weight:700}._sidebar_p4iov_4{border-left:1px solid var(--color-border);background-color:var(--color-surface);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;flex-direction:column;flex-shrink:0;gap:18px;width:260px;padding:18px 16px;display:flex;overflow-y:auto}._sidebar_p4iov_4::-webkit-scrollbar{width:6px;height:6px}._sidebar_p4iov_4::-webkit-scrollbar-track{background:0 0}._sidebar_p4iov_4::-webkit-scrollbar-thumb{background-color:var(--color-border-strong);border-radius:4px}._sidebar_p4iov_4::-webkit-scrollbar-thumb:hover{background-color:var(--color-text-soft)}._summaryGrid_p4iov_36{grid-template-columns:1fr 1fr;gap:8px;display:grid}._summaryCard_p4iov_42{border-radius:var(--radius-lg);background-color:color-mix(in srgb, var(--v) 7%, var(--color-surface));border:1px solid color-mix(in srgb, var(--v) 22%, transparent);flex-direction:column;gap:6px;padding:12px;display:flex;position:relative;overflow:hidden}._summaryTop_p4iov_54{align-items:center;gap:6px;display:flex}._summaryTopIcon_p4iov_60{color:var(--v);flex-shrink:0}._summaryValue_p4iov_65{letter-spacing:-.02em;color:var(--v);font-size:20px;font-weight:800;line-height:1}._summaryLabel_p4iov_73{color:var(--color-text-soft);text-transform:uppercase;letter-spacing:.05em;font-size:10px;font-weight:700}._sideHeader_p4iov_82{letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-mid);margin-bottom:8px;font-size:11px;font-weight:800}._quickRow_p4iov_92{gap:6px;display:flex}._quickBtn_p4iov_97{color:var(--status-color);background-color:color-mix(in srgb, var(--status-color) 12%, transparent);border:1px solid color-mix(in srgb, var(--status-color) 35%, transparent);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);border-radius:9px;flex:1;justify-content:center;align-items:center;gap:5px;padding:8px;font-size:11.5px;font-weight:600;display:inline-flex}._quickBtn_p4iov_97:hover{background-color:color-mix(in srgb, var(--status-color) 22%, transparent)}._legendIcon_p4iov_118{color:var(--status-color);flex-shrink:0}._legend_p4iov_118{flex-direction:column;gap:4px;display:flex}._legendItem_p4iov_129{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;text-align:left;transition:border-color var(--dur-fast) var(--ease-out), background-color var(--dur-fast) var(--ease-out);background:0 0;border-radius:9px;align-items:center;gap:9px;padding:8px 10px;font-size:12.5px;font-weight:600;display:flex}._legendItem_p4iov_129:hover{border-color:var(--color-border-strong)}._legendItemOn_p4iov_151{background-color:color-mix(in srgb, var(--status-color) 9%, transparent);border-color:color-mix(in srgb, var(--status-color) 35%, transparent)}._legendOff_p4iov_156{opacity:.55}._legendSwatch_p4iov_160{background-color:var(--status-color);width:18px;height:18px;color:var(--color-on-primary);border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;display:flex}._legendSwatchOff_p4iov_172{border:1.5px solid var(--status-color);background-color:#0000}._drawerHeader_p4iov_177{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}._drawerTitle_p4iov_185{color:var(--color-text);font-size:14px;font-weight:700}._drawerCloseBtn_p4iov_191{border-radius:var(--radius-md);border:1px solid var(--color-border);width:28px;height:28px;color:var(--color-text-mid);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;justify-content:center;align-items:center;display:inline-flex}._drawerCloseBtn_p4iov_191:hover{background-color:var(--color-surface-muted);color:var(--color-text)}@media (width<=1024px){._sidebar_p4iov_4{border-left:none;width:100%;height:100%;overflow-y:auto}._summaryGrid_p4iov_36{grid-template-columns:repeat(2,1fr)}}._scheduleRoot_5za8e_7{background-color:var(--color-bg);flex-direction:column;height:100%;display:flex;overflow:hidden}._toolbar_5za8e_16{background-color:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;padding:14px 20px;display:flex}._scheduleSelect_5za8e_27{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);height:36px;color:var(--color-text);cursor:pointer;padding:0 10px;font-size:14px;font-weight:600}._weekNav_5za8e_39{align-items:center;gap:4px;display:flex}._dateLabel_5za8e_45{text-align:center;min-width:150px;font-size:var(--font-md);color:var(--color-text-mid);padding:0 6px;font-weight:600}._navBtn_5za8e_54{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);width:30px;height:30px;color:var(--color-text-mid);cursor:pointer;justify-content:center;align-items:center;transition:background-color .15s,border-color .15s;display:inline-flex}._navBtn_5za8e_54:hover{border-color:var(--color-primary-border);color:var(--color-primary)}._todayBtn_5za8e_75{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-mid);cursor:pointer;margin-left:2px;padding:6px 12px;font-size:12.5px;font-weight:600}._todayBtn_5za8e_75:hover{border-color:var(--color-primary-border);color:var(--color-primary)}._viewChips_5za8e_92{background-color:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;margin-left:auto;padding:3px;display:inline-flex}._viewChip_5za8e_92{color:var(--color-text-soft);cursor:pointer;white-space:nowrap;transition:color var(--dur-fast) var(--ease-out);background:0 0;border:none;border-radius:6px;padding:5px 12px;font-size:11.5px;font-weight:500;position:relative}._viewChip_5za8e_92:hover{color:var(--color-text)}._viewChipBg_5za8e_119{z-index:0;background-color:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:6px;position:absolute;inset:0}._viewChipLabel_5za8e_128{z-index:1;white-space:nowrap;position:relative}._viewChipActive_5za8e_134,._viewChipActive_5za8e_134:hover{color:var(--color-primary);font-weight:600}._newBtn_5za8e_140{background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;border-radius:9px;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:700;display:flex;box-shadow:0 4px 12px #045d5e38}._main_5za8e_156{flex:1;min-height:0;display:flex;overflow:hidden}._calArea_5za8e_163{background-color:var(--color-surface);flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}._hoursArea_5za8e_172{flex:1;width:100%;max-width:760px;margin:0 auto;padding:20px;overflow-y:auto}._sidebarToggleBtn_5za8e_181{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);width:32px;height:32px;color:var(--color-text-mid);cursor:pointer;justify-content:center;align-items:center;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}._sidebarToggleBtn_5za8e_181:hover,._sidebarToggleBtnActive_5za8e_199{border-color:var(--color-primary-border);color:var(--color-primary);background-color:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface))}@media (width>=1025px){._sidebarToggleBtn_5za8e_181{display:none}}@media (width<=1024px){._sidebarToggleBtn_5za8e_181{margin-left:auto}}@media (width<=640px){._toolbar_5za8e_16{gap:8px;padding:10px}._hoursArea_5za8e_172{padding:10px 6px}._weekNav_5za8e_39{justify-content:flex-start;gap:6px;width:auto}._dateLabel_5za8e_45{min-width:auto;padding:0 4px;font-size:13px}._viewChips_5za8e_92{scrollbar-width:none;justify-content:space-between;width:100%;margin-left:0;overflow-x:auto}._viewChips_5za8e_92::-webkit-scrollbar{display:none}._viewChip_5za8e_92{flex-shrink:0;padding:5px 6px;font-size:11px}._newBtn_5za8e_140{justify-content:center;width:100%}}._hours_ftj0h_5{border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;max-width:100%;padding:16px;display:flex;overflow-x:auto}._fieldLabel_ftj0h_18{color:var(--color-text-mid);font-size:12px;font-weight:700}._chips_ftj0h_24{flex-wrap:wrap;gap:6px;display:flex}._chipBtn_ftj0h_30{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text-mid);cursor:pointer;transition:color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);padding:7px 14px;font-size:12.5px;font-weight:600;position:relative}._chipBtn_ftj0h_30:hover{border-color:var(--color-border-strong);color:var(--color-text)}._chipBtnActive_ftj0h_50,._chipBtnActive_ftj0h_50:hover{color:var(--color-primary);border-color:var(--color-primary-border)}._chipBg_ftj0h_56{z-index:0;border-radius:var(--radius-md);background-color:var(--color-primary-10);position:absolute;inset:0}._chipLabel_ftj0h_64{z-index:1;position:relative}._dayRow_ftj0h_69{border-bottom:1px solid var(--color-divider);align-items:center;gap:12px;padding:6px 0;display:flex}._toggle_ftj0h_77{border-radius:var(--radius-full);background-color:var(--color-border-strong);cursor:pointer;border:none;flex-shrink:0;align-items:center;width:36px;height:20px;padding:2px;display:flex}._toggleOn_ftj0h_90{background-color:var(--color-primary);justify-content:flex-end}._toggleKnob_ftj0h_95{background-color:var(--color-on-primary);border-radius:50%;width:16px;height:16px}._dayName_ftj0h_102{min-width:110px;color:var(--color-text);flex-direction:column;gap:2px;font-size:13.5px;font-weight:600;display:flex}._overflowLabel_ftj0h_112{color:var(--color-text-soft);white-space:nowrap;font-size:10px;font-weight:500}._dayTimes_ftj0h_119{align-items:center;gap:8px;width:100%;max-width:240px;display:flex}._timeInput_ftj0h_127{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-bg);height:32px;color:var(--color-text);flex:1;min-width:0;padding:0 8px;font-family:inherit;font-size:12.5px}._timeInput_ftj0h_127:disabled{opacity:.4}._resetBtn_ftj0h_144{color:var(--color-text-soft);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;margin-left:auto;font-size:11.5px;font-weight:600;display:inline-flex}._resetBtn_ftj0h_144:hover{color:var(--color-primary)}._readonlyField_ftj0h_162{height:var(--height-input);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface-muted);color:var(--color-text-mid);align-items:center;width:100%;padding:0 10px;font-size:13px;display:flex}._fieldHint_ftj0h_175{font-size:var(--font-xs);color:var(--color-text-soft)}._formFooter_ftj0h_180{justify-content:flex-end;align-items:center;gap:12px;padding-top:6px;display:flex}._formStatus_ftj0h_188{color:var(--color-text-soft);font-size:12px;font-weight:600}._saveBtn_ftj0h_194{height:var(--height-btn);border-radius:var(--radius-md);background-color:var(--color-primary);color:var(--color-on-primary);cursor:pointer;border:none;padding:0 18px;font-size:13px;font-weight:700}._saveBtn_ftj0h_194:disabled{opacity:.5;cursor:not-allowed}._inheritedBanner_ftj0h_212{border-radius:var(--radius-md);margin-bottom:20px;overflow:hidden}._inheritedBadge_ftj0h_218{background-color:var(--color-surface-muted);border:1px solid var(--color-border);font-size:var(--font-sm);color:var(--color-text-mid);flex-direction:column;gap:2px;padding:12px 16px;display:flex}._badgeSub_ftj0h_229{font-size:var(--font-xs);color:var(--color-text-soft)}._customBadge_ftj0h_234{background-color:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));border:1px solid var(--color-primary-border);font-size:var(--font-sm);color:var(--color-primary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}._customBadgeText_ftj0h_247{font-weight:600}._resetToBranchBtn_ftj0h_251{font-size:var(--font-xs);color:var(--color-primary);border:1px solid var(--color-primary-border);background-color:var(--color-surface);border-radius:var(--radius-md);cursor:pointer;transition:all var(--dur-fast) var(--ease-out);align-items:center;gap:4px;padding:6px 12px;font-weight:600;display:inline-flex}._resetToBranchBtn_ftj0h_251:hover{background-color:var(--color-primary-10);border-color:var(--color-primary)}._settingsGrid_ftj0h_271{gap:var(--space-4);margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);grid-template-columns:1fr 1fr;display:grid}@media (width<=640px){._settingsGrid_ftj0h_271{grid-template-columns:1fr}._hours_ftj0h_5{padding:12px 10px}._dayRow_ftj0h_69{gap:6px;min-width:0;padding:6px 0}._dayName_ftj0h_102{flex:0 0 72px;width:72px;min-width:72px;font-size:12px}._dayTimes_ftj0h_119{gap:4px}._timeInput_ftj0h_127{height:28px;padding:0 4px;font-size:11px}._resetBtn_ftj0h_144{margin-left:4px;padding-right:11px;font-size:11px}._formFooter_ftj0h_180{justify-content:center}}._fill_qtoxk_1{width:100%;height:100%;min-height:72vh}._center_qtoxk_7{justify-content:center;align-items:center;width:100%;min-height:60vh;display:flex}._rtkTheme_qtoxk_16{background-color:var(--color-surface);width:100%;height:100%;min-height:72vh;color:var(--color-text);--rtk-bg-color:var(--color-surface);--rtk-surface-color:var(--color-bg);--rtk-surface-border-color:var(--color-border);--rtk-text-color:var(--color-text);--rtk-text-secondary-color:var(--color-text-mid);--rtk-primary-color:var(--color-primary)}:host([zoom-data-theme=light]){--color-primary:#4a90e2;--color-secondary:#ff2d55;--color-background:#fff;--color-surface:#f5f5f5;--color-surface-elevated:#e8e8e8;--color-text:#1d1c1c;--color-text-secondary:#313d44;--color-text-button:#fff;--color-accent:#71c4ef;--color-divider:#e0e0e0}:host([zoom-data-theme=dark]){--color-primary:#1d75c3;--color-secondary:#ff1a47;--color-background:#000;--color-surface:#2d2d2d;--color-surface-elevated:#3d3d3d;--color-text:#fff;--color-text-secondary:#b0b0b0;--color-text-button:#fff;--color-accent:#00668c;--color-divider:#404040}:host([zoom-data-theme=blue]){--color-primary:#003a80;--color-secondary:#cc0027;--color-background:#e6f3ff;--color-surface:#f0f8ff;--color-surface-elevated:#d9ecff;--color-text:#001f40;--color-text-secondary:#036;--color-text-button:#fff;--color-accent:#0056b3;--color-divider:#cce0ff}:host([zoom-data-theme=green]){--color-primary:#2e7d32;--color-secondary:#c62828;--color-background:#f1f8e9;--color-surface:#f9fbe7;--color-surface-elevated:#e8f5d9;--color-text:#1b5e20;--color-text-secondary:#33691e;--color-text-button:#fff;--color-accent:#558b2f;--color-divider:#dcedc8}:host,*,:before,:after,::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:#3b82f680;--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: }:host,*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5;line-height:inherit;margin:0}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.zoom-ui-toolkit-root{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1));--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;line-height:1.625}.zoom-ui-toolkit-root *,.zoom-ui-toolkit-root :before,.zoom-ui-toolkit-root :after{box-sizing:border-box;margin:0;padding:0}.\\!container{width:100%!important}.container{width:100%}@media (width>=640px){.\\!container{max-width:640px!important}.container{max-width:640px}}@media (width>=768px){.\\!container{max-width:768px!important}.container{max-width:768px}}@media (width>=1024px){.\\!container{max-width:1024px!important}.container{max-width:1024px}}@media (width>=1280px){.\\!container{max-width:1280px!important}.container{max-width:1280px}}@media (width>=1536px){.\\!container{max-width:1536px!important}.container{max-width:1536px}}.zoom-ui-toolkit-root .sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.zoom-ui-toolkit-root .pointer-events-none{pointer-events:none}.zoom-ui-toolkit-root .pointer-events-auto{pointer-events:auto}.zoom-ui-toolkit-root .visible{visibility:visible}.zoom-ui-toolkit-root .collapse{visibility:collapse}.zoom-ui-toolkit-root .static{position:static}.zoom-ui-toolkit-root .fixed{position:fixed}.zoom-ui-toolkit-root .absolute{position:absolute}.zoom-ui-toolkit-root .relative{position:relative}.zoom-ui-toolkit-root .sticky{position:sticky}.zoom-ui-toolkit-root .inset-0{inset:0}.zoom-ui-toolkit-root .inset-3{inset:.75rem}.zoom-ui-toolkit-root .inset-7{inset:1.75rem}.zoom-ui-toolkit-root .inset-x-0{left:0;right:0}.zoom-ui-toolkit-root .inset-y-0{top:0;bottom:0}.zoom-ui-toolkit-root .-bottom-1{bottom:-.25rem}.zoom-ui-toolkit-root .-left-6{left:-1.5rem}.zoom-ui-toolkit-root .-right-1{right:-.25rem}.zoom-ui-toolkit-root .-right-2{right:-.5rem}.zoom-ui-toolkit-root .-top-2{top:-.5rem}.zoom-ui-toolkit-root .-top-8{top:-2rem}.zoom-ui-toolkit-root .bottom-0{bottom:0}.zoom-ui-toolkit-root .bottom-10{bottom:2.5rem}.zoom-ui-toolkit-root .bottom-2{bottom:.5rem}.zoom-ui-toolkit-root .bottom-4{bottom:1rem}.zoom-ui-toolkit-root .bottom-40{bottom:10rem}.zoom-ui-toolkit-root .bottom-\\[10px\\]{bottom:10px}.zoom-ui-toolkit-root .bottom-\\[40px\\]{bottom:40px}.zoom-ui-toolkit-root .bottom-\\[60px\\]{bottom:60px}.zoom-ui-toolkit-root .bottom-full{bottom:100%}.zoom-ui-toolkit-root .left-0{left:0}.zoom-ui-toolkit-root .left-0\\.5{left:.125rem}.zoom-ui-toolkit-root .left-1{left:.25rem}.zoom-ui-toolkit-root .left-1\\/2{left:50%}.zoom-ui-toolkit-root .left-2{left:.5rem}.zoom-ui-toolkit-root .left-2\\.5{left:.625rem}.zoom-ui-toolkit-root .left-3{left:.75rem}.zoom-ui-toolkit-root .left-4{left:1rem}.zoom-ui-toolkit-root .left-5{left:1.25rem}.zoom-ui-toolkit-root .left-\\[-10000px\\]{left:-10000px}.zoom-ui-toolkit-root .left-\\[10px\\]{left:10px}.zoom-ui-toolkit-root .left-\\[18px\\]{left:18px}.zoom-ui-toolkit-root .right-0{right:0}.zoom-ui-toolkit-root .right-2{right:.5rem}.zoom-ui-toolkit-root .right-3{right:.75rem}.zoom-ui-toolkit-root .right-4{right:1rem}.zoom-ui-toolkit-root .right-5{right:1.25rem}.zoom-ui-toolkit-root .right-6{right:1.5rem}.zoom-ui-toolkit-root .top-0{top:0}.zoom-ui-toolkit-root .top-0\\.5{top:.125rem}.zoom-ui-toolkit-root .top-1{top:.25rem}.zoom-ui-toolkit-root .top-1\\/2{top:50%}.zoom-ui-toolkit-root .top-16{top:4rem}.zoom-ui-toolkit-root .top-2{top:.5rem}.zoom-ui-toolkit-root .top-4{top:1rem}.zoom-ui-toolkit-root .top-\\[50px\\]{top:50px}.zoom-ui-toolkit-root .top-\\[calc\\(100\\%\\+0\\.25rem\\)\\]{top:calc(100% + .25rem)}.zoom-ui-toolkit-root .top-full{top:100%}.zoom-ui-toolkit-root .-z-10{z-index:-10}.zoom-ui-toolkit-root .z-10{z-index:10}.zoom-ui-toolkit-root .z-20{z-index:20}.zoom-ui-toolkit-root .z-30{z-index:30}.zoom-ui-toolkit-root .z-40{z-index:40}.zoom-ui-toolkit-root .z-50{z-index:50}.zoom-ui-toolkit-root .z-\\[1000\\]{z-index:1000}.zoom-ui-toolkit-root .z-\\[9999\\]{z-index:9999}.zoom-ui-toolkit-root .col-span-2{grid-column:span 2/span 2}.zoom-ui-toolkit-root .row-span-2{grid-row:span 2/span 2}.zoom-ui-toolkit-root .m-0{margin:0}.zoom-ui-toolkit-root .m-2{margin:.5rem}.zoom-ui-toolkit-root .mx-1{margin-left:.25rem;margin-right:.25rem}.zoom-ui-toolkit-root .mx-2{margin-left:.5rem;margin-right:.5rem}.zoom-ui-toolkit-root .mx-3{margin-left:.75rem;margin-right:.75rem}.zoom-ui-toolkit-root .mx-4{margin-left:1rem;margin-right:1rem}.zoom-ui-toolkit-root .mx-auto{margin-left:auto;margin-right:auto}.zoom-ui-toolkit-root .my-1{margin-top:.25rem;margin-bottom:.25rem}.zoom-ui-toolkit-root .my-2{margin-top:.5rem;margin-bottom:.5rem}.zoom-ui-toolkit-root .my-8{margin-top:2rem;margin-bottom:2rem}.zoom-ui-toolkit-root .my-auto{margin-top:auto;margin-bottom:auto}.zoom-ui-toolkit-root .-ml-1{margin-left:-.25rem}.zoom-ui-toolkit-root .-mr-1{margin-right:-.25rem}.zoom-ui-toolkit-root .mb-1{margin-bottom:.25rem}.zoom-ui-toolkit-root .mb-2{margin-bottom:.5rem}.zoom-ui-toolkit-root .mb-3{margin-bottom:.75rem}.zoom-ui-toolkit-root .mb-4{margin-bottom:1rem}.zoom-ui-toolkit-root .mb-6{margin-bottom:1.5rem}.zoom-ui-toolkit-root .mb-8{margin-bottom:2rem}.zoom-ui-toolkit-root .ml-1{margin-left:.25rem}.zoom-ui-toolkit-root .ml-2{margin-left:.5rem}.zoom-ui-toolkit-root .ml-3{margin-left:.75rem}.zoom-ui-toolkit-root .ml-4{margin-left:1rem}.zoom-ui-toolkit-root .ml-6{margin-left:1.5rem}.zoom-ui-toolkit-root .ml-auto{margin-left:auto}.zoom-ui-toolkit-root .mr-1{margin-right:.25rem}.zoom-ui-toolkit-root .mr-2{margin-right:.5rem}.zoom-ui-toolkit-root .mr-3{margin-right:.75rem}.zoom-ui-toolkit-root .mr-4{margin-right:1rem}.zoom-ui-toolkit-root .ms-0{margin-inline-start:0}.zoom-ui-toolkit-root .mt-0\\.5{margin-top:.125rem}.zoom-ui-toolkit-root .mt-1{margin-top:.25rem}.zoom-ui-toolkit-root .mt-10{margin-top:2.5rem}.zoom-ui-toolkit-root .mt-14{margin-top:3.5rem}.zoom-ui-toolkit-root .mt-2{margin-top:.5rem}.zoom-ui-toolkit-root .mt-3{margin-top:.75rem}.zoom-ui-toolkit-root .mt-4{margin-top:1rem}.zoom-ui-toolkit-root .mt-5{margin-top:1.25rem}.zoom-ui-toolkit-root .mt-6{margin-top:1.5rem}.zoom-ui-toolkit-root .mt-8{margin-top:2rem}.zoom-ui-toolkit-root .mt-auto{margin-top:auto}.zoom-ui-toolkit-root .line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.zoom-ui-toolkit-root .block{display:block}.zoom-ui-toolkit-root .inline-block{display:inline-block}.zoom-ui-toolkit-root .inline{display:inline}.zoom-ui-toolkit-root .flex{display:flex}.zoom-ui-toolkit-root .inline-flex{display:inline-flex}.zoom-ui-toolkit-root .table{display:table}.zoom-ui-toolkit-root .grid{display:grid}.zoom-ui-toolkit-root .hidden{display:none}.zoom-ui-toolkit-root .aspect-\\[16\\/9\\]{aspect-ratio:16/9}.zoom-ui-toolkit-root .aspect-\\[3\\/4\\]{aspect-ratio:3/4}.zoom-ui-toolkit-root .aspect-video{aspect-ratio:16/9}.zoom-ui-toolkit-root .h-0{height:0}.zoom-ui-toolkit-root .h-1{height:.25rem}.zoom-ui-toolkit-root .h-10{height:2.5rem}.zoom-ui-toolkit-root .h-12{height:3rem}.zoom-ui-toolkit-root .h-16{height:4rem}.zoom-ui-toolkit-root .h-2{height:.5rem}.zoom-ui-toolkit-root .h-20{height:5rem}.zoom-ui-toolkit-root .h-24{height:6rem}.zoom-ui-toolkit-root .h-3{height:.75rem}.zoom-ui-toolkit-root .h-32{height:8rem}.zoom-ui-toolkit-root .h-4{height:1rem}.zoom-ui-toolkit-root .h-40{height:10rem}.zoom-ui-toolkit-root .h-44{height:11rem}.zoom-ui-toolkit-root .h-5{height:1.25rem}.zoom-ui-toolkit-root .h-6{height:1.5rem}.zoom-ui-toolkit-root .h-7{height:1.75rem}.zoom-ui-toolkit-root .h-8{height:2rem}.zoom-ui-toolkit-root .h-\\[120px\\]{height:120px}.zoom-ui-toolkit-root .h-\\[175px\\]{height:175px}.zoom-ui-toolkit-root .h-\\[20px\\]{height:20px}.zoom-ui-toolkit-root .h-\\[280px\\]{height:280px}.zoom-ui-toolkit-root .h-\\[72px\\]{height:72px}.zoom-ui-toolkit-root .h-\\[80\\%\\]{height:80%}.zoom-ui-toolkit-root .h-\\[80px\\]{height:80px}.zoom-ui-toolkit-root .h-\\[86\\%\\]{height:86%}.zoom-ui-toolkit-root .h-\\[89\\%\\]{height:89%}.zoom-ui-toolkit-root .h-\\[95\\%\\]{height:95%}.zoom-ui-toolkit-root .h-\\[calc\\(100\\%-44px\\)\\]{height:calc(100% - 44px)}.zoom-ui-toolkit-root .h-\\[env\\(safe-area-inset-bottom\\)\\]{height:env(safe-area-inset-bottom)}.zoom-ui-toolkit-root .h-auto{height:auto}.zoom-ui-toolkit-root .h-full{height:100%}.zoom-ui-toolkit-root .h-px{height:1px}.zoom-ui-toolkit-root .h-screen{height:100vh}.zoom-ui-toolkit-root .max-h-64{max-height:16rem}.zoom-ui-toolkit-root .max-h-96{max-height:24rem}.zoom-ui-toolkit-root .max-h-\\[100dvh\\]{max-height:100dvh}.zoom-ui-toolkit-root .max-h-\\[200px\\]{max-height:200px}.zoom-ui-toolkit-root .max-h-\\[300px\\]{max-height:300px}.zoom-ui-toolkit-root .max-h-\\[350px\\]{max-height:350px}.zoom-ui-toolkit-root .max-h-\\[60px\\]{max-height:60px}.zoom-ui-toolkit-root .max-h-\\[70vh\\]{max-height:70vh}.zoom-ui-toolkit-root .max-h-\\[80vh\\]{max-height:80vh}.zoom-ui-toolkit-root .max-h-\\[90vh\\]{max-height:90vh}.zoom-ui-toolkit-root .max-h-\\[calc\\(100vh-1rem\\)\\]{max-height:calc(100vh - 1rem)}.zoom-ui-toolkit-root .max-h-\\[calc\\(100vh-3rem\\)\\]{max-height:calc(100vh - 3rem)}.zoom-ui-toolkit-root .max-h-\\[calc\\(100vh-5rem\\)\\]{max-height:calc(100vh - 5rem)}.zoom-ui-toolkit-root .max-h-full{max-height:100%}.zoom-ui-toolkit-root .min-h-0{min-height:0}.zoom-ui-toolkit-root .min-h-\\[100dvh\\]{min-height:100dvh}.zoom-ui-toolkit-root .min-h-\\[300px\\]{min-height:300px}.zoom-ui-toolkit-root .min-h-screen{min-height:100vh}.zoom-ui-toolkit-root .w-0{width:0}.zoom-ui-toolkit-root .w-1{width:.25rem}.zoom-ui-toolkit-root .w-1\\/2{width:50%}.zoom-ui-toolkit-root .w-1\\/3{width:33.3333%}.zoom-ui-toolkit-root .w-1\\/4{width:25%}.zoom-ui-toolkit-root .w-1\\/5{width:20%}.zoom-ui-toolkit-root .w-10{width:2.5rem}.zoom-ui-toolkit-root .w-11{width:2.75rem}.zoom-ui-toolkit-root .w-12{width:3rem}.zoom-ui-toolkit-root .w-16{width:4rem}.zoom-ui-toolkit-root .w-2{width:.5rem}.zoom-ui-toolkit-root .w-2\\/3{width:66.6667%}.zoom-ui-toolkit-root .w-20{width:5rem}.zoom-ui-toolkit-root .w-24{width:6rem}.zoom-ui-toolkit-root .w-3{width:.75rem}.zoom-ui-toolkit-root .w-3\\/4{width:75%}.zoom-ui-toolkit-root .w-3\\/5{width:60%}.zoom-ui-toolkit-root .w-32{width:8rem}.zoom-ui-toolkit-root .w-36{width:9rem}.zoom-ui-toolkit-root .w-4{width:1rem}.zoom-ui-toolkit-root .w-4\\/5{width:80%}.zoom-ui-toolkit-root .w-40{width:10rem}.zoom-ui-toolkit-root .w-44{width:11rem}.zoom-ui-toolkit-root .w-48{width:12rem}.zoom-ui-toolkit-root .w-5{width:1.25rem}.zoom-ui-toolkit-root .w-6{width:1.5rem}.zoom-ui-toolkit-root .w-64{width:16rem}.zoom-ui-toolkit-root .w-7{width:1.75rem}.zoom-ui-toolkit-root .w-72{width:18rem}.zoom-ui-toolkit-root .w-8{width:2rem}.zoom-ui-toolkit-root .w-80{width:20rem}.zoom-ui-toolkit-root .w-9{width:2.25rem}.zoom-ui-toolkit-root .w-96{width:24rem}.zoom-ui-toolkit-root .w-\\[10\\%\\]{width:10%}.zoom-ui-toolkit-root .w-\\[100px\\]{width:100px}.zoom-ui-toolkit-root .w-\\[120px\\]{width:120px}.zoom-ui-toolkit-root .w-\\[130px\\]{width:130px}.zoom-ui-toolkit-root .w-\\[16\\.5rem\\]{width:16.5rem}.zoom-ui-toolkit-root .w-\\[200px\\]{width:200px}.zoom-ui-toolkit-root .w-\\[20px\\]{width:20px}.zoom-ui-toolkit-root .w-\\[24\\%\\]{width:24%}.zoom-ui-toolkit-root .w-\\[250px\\]{width:250px}.zoom-ui-toolkit-root .w-\\[350px\\]{width:350px}.zoom-ui-toolkit-root .w-\\[3px\\]{width:3px}.zoom-ui-toolkit-root .w-\\[400px\\]{width:400px}.zoom-ui-toolkit-root .w-\\[490px\\]{width:490px}.zoom-ui-toolkit-root .w-\\[60px\\]{width:60px}.zoom-ui-toolkit-root .w-\\[66\\%\\]{width:66%}.zoom-ui-toolkit-root .w-\\[760px\\]{width:760px}.zoom-ui-toolkit-root .w-\\[80\\%\\]{width:80%}.zoom-ui-toolkit-root .w-\\[90\\%\\]{width:90%}.zoom-ui-toolkit-root .w-\\[90vw\\]{width:90vw}.zoom-ui-toolkit-root .w-\\[95\\%\\]{width:95%}.zoom-ui-toolkit-root .w-auto{width:auto}.zoom-ui-toolkit-root .w-full{width:100%}.zoom-ui-toolkit-root .w-px{width:1px}.zoom-ui-toolkit-root .min-w-0{min-width:0}.zoom-ui-toolkit-root .min-w-\\[16rem\\]{min-width:16rem}.zoom-ui-toolkit-root .min-w-\\[200px\\]{min-width:200px}.zoom-ui-toolkit-root .min-w-\\[240px\\]{min-width:240px}.zoom-ui-toolkit-root .min-w-\\[300px\\]{min-width:300px}.zoom-ui-toolkit-root .min-w-\\[320px\\]{min-width:320px}.zoom-ui-toolkit-root .min-w-\\[400px\\]{min-width:400px}.zoom-ui-toolkit-root .min-w-\\[680px\\]{min-width:680px}.zoom-ui-toolkit-root .min-w-full{min-width:100%}.zoom-ui-toolkit-root .max-w-3xl{max-width:48rem}.zoom-ui-toolkit-root .max-w-4xl{max-width:56rem}.zoom-ui-toolkit-root .max-w-5xl{max-width:64rem}.zoom-ui-toolkit-root .max-w-7xl{max-width:80rem}.zoom-ui-toolkit-root .max-w-\\[100px\\]{max-width:100px}.zoom-ui-toolkit-root .max-w-\\[1200px\\]{max-width:1200px}.zoom-ui-toolkit-root .max-w-\\[120px\\]{max-width:120px}.zoom-ui-toolkit-root .max-w-\\[150px\\]{max-width:150px}.zoom-ui-toolkit-root .max-w-\\[180px\\]{max-width:180px}.zoom-ui-toolkit-root .max-w-\\[200px\\]{max-width:200px}.zoom-ui-toolkit-root .max-w-\\[220px\\]{max-width:220px}.zoom-ui-toolkit-root .max-w-\\[250px\\]{max-width:250px}.zoom-ui-toolkit-root .max-w-\\[300px\\]{max-width:300px}.zoom-ui-toolkit-root .max-w-\\[320px\\]{max-width:320px}.zoom-ui-toolkit-root .max-w-\\[380px\\]{max-width:380px}.zoom-ui-toolkit-root .max-w-\\[38rem\\]{max-width:38rem}.zoom-ui-toolkit-root .max-w-\\[400px\\]{max-width:400px}.zoom-ui-toolkit-root .max-w-\\[500px\\]{max-width:500px}.zoom-ui-toolkit-root .max-w-\\[800px\\]{max-width:800px}.zoom-ui-toolkit-root .max-w-\\[90\\%\\]{max-width:90%}.zoom-ui-toolkit-root .max-w-\\[900px\\]{max-width:900px}.zoom-ui-toolkit-root .max-w-\\[90vw\\]{max-width:90vw}.zoom-ui-toolkit-root .max-w-full{max-width:100%}.zoom-ui-toolkit-root .max-w-lg{max-width:32rem}.zoom-ui-toolkit-root .max-w-md{max-width:28rem}.zoom-ui-toolkit-root .max-w-xl{max-width:36rem}.zoom-ui-toolkit-root .flex-1{flex:1}.zoom-ui-toolkit-root .flex-shrink-0,.zoom-ui-toolkit-root .shrink-0{flex-shrink:0}.zoom-ui-toolkit-root .flex-grow{flex-grow:1}.zoom-ui-toolkit-root .table-fixed{table-layout:fixed}.zoom-ui-toolkit-root .border-collapse{border-collapse:collapse}.zoom-ui-toolkit-root .-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))}.zoom-ui-toolkit-root .-translate-x-full{--tw-translate-x:-100%;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))}.zoom-ui-toolkit-root .-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))}.zoom-ui-toolkit-root .-translate-y-full{--tw-translate-y:-100%;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))}.zoom-ui-toolkit-root .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))}.zoom-ui-toolkit-root .translate-x-4{--tw-translate-x:1rem;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))}.zoom-ui-toolkit-root .translate-y-0{--tw-translate-y: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))}.zoom-ui-toolkit-root .translate-y-\\[-10px\\]{--tw-translate-y:-10px;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))}.zoom-ui-toolkit-root .translate-y-full{--tw-translate-y:100%;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))}.zoom-ui-toolkit-root .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))}.zoom-ui-toolkit-root .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))}.zoom-ui-toolkit-root .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))}.zoom-ui-toolkit-root .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))}.zoom-ui-toolkit-root .scale-95{--tw-scale-x:.95;--tw-scale-y:.95;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))}.zoom-ui-toolkit-root .scale-\\[0\\.98\\]{--tw-scale-x:.98;--tw-scale-y:.98;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))}.zoom-ui-toolkit-root .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))}@keyframes pulse{50%{opacity:.5}}.zoom-ui-toolkit-root .animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}@keyframes spin{to{transform:rotate(360deg)}}.zoom-ui-toolkit-root .animate-spin{animation:1s linear infinite spin}.zoom-ui-toolkit-root .cursor-default{cursor:default}.zoom-ui-toolkit-root .cursor-move{cursor:move}.zoom-ui-toolkit-root .cursor-not-allowed{cursor:not-allowed}.zoom-ui-toolkit-root .cursor-pointer{cursor:pointer}.zoom-ui-toolkit-root .select-none{-webkit-user-select:none;user-select:none}.zoom-ui-toolkit-root .resize-none{resize:none}.zoom-ui-toolkit-root .resize{resize:both}.zoom-ui-toolkit-root .list-inside{list-style-position:inside}.zoom-ui-toolkit-root .list-disc{list-style-type:disc}.zoom-ui-toolkit-root .list-none{list-style-type:none}.zoom-ui-toolkit-root .appearance-none{appearance:none}.zoom-ui-toolkit-root .auto-rows-min{grid-auto-rows:min-content}.zoom-ui-toolkit-root .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.zoom-ui-toolkit-root .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.zoom-ui-toolkit-root .grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.zoom-ui-toolkit-root .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.zoom-ui-toolkit-root .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.zoom-ui-toolkit-root .flex-col{flex-direction:column}.zoom-ui-toolkit-root .flex-wrap{flex-wrap:wrap}.zoom-ui-toolkit-root .content-center{align-content:center}.zoom-ui-toolkit-root .items-start{align-items:flex-start}.zoom-ui-toolkit-root .items-end{align-items:flex-end}.zoom-ui-toolkit-root .items-center{align-items:center}.zoom-ui-toolkit-root .items-stretch{align-items:stretch}.zoom-ui-toolkit-root .justify-start{justify-content:flex-start}.zoom-ui-toolkit-root .justify-end{justify-content:flex-end}.zoom-ui-toolkit-root .justify-center{justify-content:center}.zoom-ui-toolkit-root .justify-between{justify-content:space-between}.zoom-ui-toolkit-root .gap-1{gap:.25rem}.zoom-ui-toolkit-root .gap-1\\.5{gap:.375rem}.zoom-ui-toolkit-root .gap-12{gap:3rem}.zoom-ui-toolkit-root .gap-2{gap:.5rem}.zoom-ui-toolkit-root .gap-3{gap:.75rem}.zoom-ui-toolkit-root .gap-4{gap:1rem}.zoom-ui-toolkit-root .gap-5{gap:1.25rem}.zoom-ui-toolkit-root .gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.zoom-ui-toolkit-root :is(.space-x-1>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.zoom-ui-toolkit-root :is(.space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.zoom-ui-toolkit-root :is(.space-x-3>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * calc(1 - var(--tw-space-x-reverse)))}.zoom-ui-toolkit-root :is(.space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.zoom-ui-toolkit-root :is(.space-x-6>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * calc(1 - var(--tw-space-x-reverse)))}.zoom-ui-toolkit-root :is(.space-x-\\[2px\\]>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(2px * var(--tw-space-x-reverse));margin-left:calc(2px * calc(1 - var(--tw-space-x-reverse)))}.zoom-ui-toolkit-root :is(.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))}.zoom-ui-toolkit-root :is(.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))}.zoom-ui-toolkit-root :is(.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))}.zoom-ui-toolkit-root :is(.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))}.zoom-ui-toolkit-root :is(.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))}.zoom-ui-toolkit-root :is(.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))}.zoom-ui-toolkit-root :is(.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))}.zoom-ui-toolkit-root :is(.divide-gray-200>:not([hidden])~:not([hidden])){--tw-divide-opacity:1;border-color:rgb(229 231 235/var(--tw-divide-opacity,1))}.zoom-ui-toolkit-root .overflow-auto{overflow:auto}.zoom-ui-toolkit-root .overflow-hidden{overflow:hidden}.zoom-ui-toolkit-root .overflow-visible{overflow:visible}.zoom-ui-toolkit-root .overflow-x-auto{overflow-x:auto}.zoom-ui-toolkit-root .overflow-y-auto{overflow-y:auto}.zoom-ui-toolkit-root .truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.zoom-ui-toolkit-root .text-ellipsis{text-overflow:ellipsis}.zoom-ui-toolkit-root .whitespace-normal{white-space:normal}.zoom-ui-toolkit-root .whitespace-nowrap{white-space:nowrap}.zoom-ui-toolkit-root .break-words{overflow-wrap:break-word}.zoom-ui-toolkit-root .break-all{word-break:break-all}.zoom-ui-toolkit-root .rounded{border-radius:.25rem}.zoom-ui-toolkit-root .rounded-2xl{border-radius:1rem}.zoom-ui-toolkit-root .rounded-\\[12px\\]{border-radius:12px}.zoom-ui-toolkit-root .rounded-\\[8px\\]{border-radius:8px}.zoom-ui-toolkit-root .rounded-full{border-radius:9999px}.zoom-ui-toolkit-root .rounded-lg{border-radius:.5rem}.zoom-ui-toolkit-root .rounded-md{border-radius:.375rem}.zoom-ui-toolkit-root .rounded-xl{border-radius:.75rem}.zoom-ui-toolkit-root .rounded-b-2xl{border-bottom-right-radius:1rem;border-bottom-left-radius:1rem}.zoom-ui-toolkit-root .rounded-b-lg{border-bottom-right-radius:.5rem;border-bottom-left-radius:.5rem}.zoom-ui-toolkit-root .rounded-l-2xl{border-top-left-radius:1rem;border-bottom-left-radius:1rem}.zoom-ui-toolkit-root .rounded-r-2xl{border-top-right-radius:1rem;border-bottom-right-radius:1rem}.zoom-ui-toolkit-root .rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.zoom-ui-toolkit-root .rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.zoom-ui-toolkit-root .rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.zoom-ui-toolkit-root .border{border-width:1px}.zoom-ui-toolkit-root .border-0{border-width:0}.zoom-ui-toolkit-root .border-2{border-width:2px}.zoom-ui-toolkit-root .border-b{border-bottom-width:1px}.zoom-ui-toolkit-root .border-b-2{border-bottom-width:2px}.zoom-ui-toolkit-root .border-l{border-left-width:1px}.zoom-ui-toolkit-root .border-r{border-right-width:1px}.zoom-ui-toolkit-root .border-t{border-top-width:1px}.zoom-ui-toolkit-root .border-t-0{border-top-width:0}.zoom-ui-toolkit-root .border-solid{border-style:solid}.zoom-ui-toolkit-root .border-none{border-style:none}.zoom-ui-toolkit-root .border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-current{border-color:currentColor}.zoom-ui-toolkit-root .border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-gray-200\\/50{border-color:#e5e7eb80}.zoom-ui-toolkit-root .border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-gray-600{--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-gray-700{--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-gray-800{--tw-border-opacity:1;border-color:rgb(31 41 55/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-green-500{--tw-border-opacity:1;border-color:rgb(34 197 94/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-green-700{--tw-border-opacity:1;border-color:rgb(21 128 61/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-red-200{--tw-border-opacity:1;border-color:rgb(254 202 202/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-red-500{--tw-border-opacity:1;border-color:rgb(239 68 68/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-red-700{--tw-border-opacity:1;border-color:rgb(185 28 28/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-theme-divider{border-color:var(--color-divider)}.zoom-ui-toolkit-root .border-theme-primary{border-color:var(--color-primary)}.zoom-ui-toolkit-root .border-transparent{border-color:#0000}.zoom-ui-toolkit-root .border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .border-white\\/20{border-color:#fff3}.zoom-ui-toolkit-root .border-white\\/5{border-color:#ffffff0d}.zoom-ui-toolkit-root .bg-\\[\\#007AFF\\]{--tw-bg-opacity:1;background-color:rgb(0 122 255/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-\\[\\#007AFF\\]\\/10{background-color:#007aff1a}.zoom-ui-toolkit-root .bg-\\[\\#2d2d2d\\]{--tw-bg-opacity:1;background-color:rgb(45 45 45/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-\\[\\#E20074\\]{--tw-bg-opacity:1;background-color:rgb(226 0 116/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-\\[\\#f5f5f7\\]{--tw-bg-opacity:1;background-color:rgb(245 245 247/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-amber-500{--tw-bg-opacity:1;background-color:rgb(245 158 11/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-black{--tw-bg-opacity:1;background-color:rgb(0 0 0/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-black\\/20{background-color:#0003}.zoom-ui-toolkit-root .bg-black\\/50{background-color:#00000080}.zoom-ui-toolkit-root .bg-black\\/60{background-color:#0009}.zoom-ui-toolkit-root .bg-black\\/90{background-color:#000000e6}.zoom-ui-toolkit-root .bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-blue-50{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-blue-50\\/50{background-color:#eff6ff80}.zoom-ui-toolkit-root .bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-blue-500\\/20{background-color:#3b82f633}.zoom-ui-toolkit-root .bg-blue-500\\/50{background-color:#3b82f680}.zoom-ui-toolkit-root .bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-cyan-500{--tw-bg-opacity:1;background-color:rgb(6 182 212/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-200{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-300{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-50\\/50{background-color:#f9fafb80}.zoom-ui-toolkit-root .bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-600{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-800{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-800\\/80{background-color:#1f2937cc}.zoom-ui-toolkit-root .bg-gray-900{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-gray-900\\/50{background-color:#11182780}.zoom-ui-toolkit-root .bg-gray-900\\/80{background-color:#111827cc}.zoom-ui-toolkit-root .bg-green-200{--tw-bg-opacity:1;background-color:rgb(187 247 208/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-green-500{--tw-bg-opacity:1;background-color:rgb(34 197 94/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-green-600{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-indigo-500{--tw-bg-opacity:1;background-color:rgb(99 102 241/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-neutral-400{--tw-bg-opacity:1;background-color:rgb(163 163 163/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-neutral-600{--tw-bg-opacity:1;background-color:rgb(82 82 82/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-orange-500{--tw-bg-opacity:1;background-color:rgb(249 115 22/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-pink-500{--tw-bg-opacity:1;background-color:rgb(236 72 153/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-purple-500{--tw-bg-opacity:1;background-color:rgb(168 85 247/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-red-100{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-red-50{--tw-bg-opacity:1;background-color:rgb(254 242 242/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-red-500\\/100{background-color:#ef4444}.zoom-ui-toolkit-root .bg-red-600{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-red-700{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-sky-500{--tw-bg-opacity:1;background-color:rgb(14 165 233/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-theme-background{background-color:var(--color-background)}.zoom-ui-toolkit-root .bg-theme-primary{background-color:var(--color-primary)}.zoom-ui-toolkit-root .bg-theme-secondary{background-color:var(--color-secondary)}.zoom-ui-toolkit-root .bg-theme-surface{background-color:var(--color-surface)}.zoom-ui-toolkit-root .bg-theme-surface-elevated{background-color:var(--color-surface-elevated)}.zoom-ui-toolkit-root .bg-transparent{background-color:#0000}.zoom-ui-toolkit-root .bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-white\\/10{background-color:#ffffff1a}.zoom-ui-toolkit-root .bg-white\\/20{background-color:#fff3}.zoom-ui-toolkit-root .bg-white\\/5{background-color:#ffffff0d}.zoom-ui-toolkit-root .bg-white\\/50{background-color:#ffffff80}.zoom-ui-toolkit-root .bg-white\\/80{background-color:#fffc}.zoom-ui-toolkit-root .bg-yellow-300{--tw-bg-opacity:1;background-color:rgb(253 224 71/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-yellow-500{--tw-bg-opacity:1;background-color:rgb(234 179 8/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .bg-opacity-15{--tw-bg-opacity:.15}.zoom-ui-toolkit-root .bg-opacity-20{--tw-bg-opacity:.2}.zoom-ui-toolkit-root .bg-opacity-50{--tw-bg-opacity:.5}.zoom-ui-toolkit-root .bg-opacity-70{--tw-bg-opacity:.7}.zoom-ui-toolkit-root .bg-opacity-75{--tw-bg-opacity:.75}.zoom-ui-toolkit-root .bg-opacity-90{--tw-bg-opacity:.9}.zoom-ui-toolkit-root .bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.zoom-ui-toolkit-root .bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.zoom-ui-toolkit-root .from-black\\/90{--tw-gradient-from:#000000e6 var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.zoom-ui-toolkit-root .from-blue-600{--tw-gradient-from:#2563eb var(--tw-gradient-from-position);--tw-gradient-to:#2563eb00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.zoom-ui-toolkit-root .from-gray-900{--tw-gradient-from:#111827 var(--tw-gradient-from-position);--tw-gradient-to:#11182700 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.zoom-ui-toolkit-root .via-blue-400{--tw-gradient-to:#60a5fa00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #60a5fa var(--tw-gradient-via-position), var(--tw-gradient-to)}.zoom-ui-toolkit-root .to-black{--tw-gradient-to:#000 var(--tw-gradient-to-position)}.zoom-ui-toolkit-root .to-blue-300{--tw-gradient-to:#93c5fd var(--tw-gradient-to-position)}.zoom-ui-toolkit-root .to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.zoom-ui-toolkit-root .fill-red-500{fill:#ef4444}.zoom-ui-toolkit-root .object-contain{-o-object-fit:contain;object-fit:contain}.zoom-ui-toolkit-root .object-cover{-o-object-fit:cover;object-fit:cover}.zoom-ui-toolkit-root .p-0{padding:0}.zoom-ui-toolkit-root .p-0\\.5{padding:.125rem}.zoom-ui-toolkit-root .p-1{padding:.25rem}.zoom-ui-toolkit-root .p-1\\.5{padding:.375rem}.zoom-ui-toolkit-root .p-2{padding:.5rem}.zoom-ui-toolkit-root .p-2\\.5{padding:.625rem}.zoom-ui-toolkit-root .p-3{padding:.75rem}.zoom-ui-toolkit-root .p-3\\.5{padding:.875rem}.zoom-ui-toolkit-root .p-4{padding:1rem}.zoom-ui-toolkit-root .p-5{padding:1.25rem}.zoom-ui-toolkit-root .p-6{padding:1.5rem}.zoom-ui-toolkit-root .p-8{padding:2rem}.zoom-ui-toolkit-root .px-1{padding-left:.25rem;padding-right:.25rem}.zoom-ui-toolkit-root .px-10{padding-left:2.5rem;padding-right:2.5rem}.zoom-ui-toolkit-root .px-2{padding-left:.5rem;padding-right:.5rem}.zoom-ui-toolkit-root .px-2\\.5{padding-left:.625rem;padding-right:.625rem}.zoom-ui-toolkit-root .px-3{padding-left:.75rem;padding-right:.75rem}.zoom-ui-toolkit-root .px-4{padding-left:1rem;padding-right:1rem}.zoom-ui-toolkit-root .px-5{padding-left:1.25rem;padding-right:1.25rem}.zoom-ui-toolkit-root .px-6{padding-left:1.5rem;padding-right:1.5rem}.zoom-ui-toolkit-root .px-8{padding-left:2rem;padding-right:2rem}.zoom-ui-toolkit-root .py-0{padding-top:0;padding-bottom:0}.zoom-ui-toolkit-root .py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.zoom-ui-toolkit-root .py-1{padding-top:.25rem;padding-bottom:.25rem}.zoom-ui-toolkit-root .py-1\\.5{padding-top:.375rem;padding-bottom:.375rem}.zoom-ui-toolkit-root .py-2{padding-top:.5rem;padding-bottom:.5rem}.zoom-ui-toolkit-root .py-2\\.5{padding-top:.625rem;padding-bottom:.625rem}.zoom-ui-toolkit-root .py-3{padding-top:.75rem;padding-bottom:.75rem}.zoom-ui-toolkit-root .py-4{padding-top:1rem;padding-bottom:1rem}.zoom-ui-toolkit-root .py-\\[10px\\]{padding-top:10px;padding-bottom:10px}.zoom-ui-toolkit-root .pb-0{padding-bottom:0}.zoom-ui-toolkit-root .pb-1{padding-bottom:.25rem}.zoom-ui-toolkit-root .pb-2{padding-bottom:.5rem}.zoom-ui-toolkit-root .pb-20{padding-bottom:5rem}.zoom-ui-toolkit-root .pb-4{padding-bottom:1rem}.zoom-ui-toolkit-root .pb-6{padding-bottom:1.5rem}.zoom-ui-toolkit-root .pb-\\[56\\.25\\%\\]{padding-bottom:56.25%}.zoom-ui-toolkit-root .pl-1{padding-left:.25rem}.zoom-ui-toolkit-root .pl-10{padding-left:2.5rem}.zoom-ui-toolkit-root .pl-16{padding-left:4rem}.zoom-ui-toolkit-root .pl-2{padding-left:.5rem}.zoom-ui-toolkit-root .pl-3{padding-left:.75rem}.zoom-ui-toolkit-root .pl-4{padding-left:1rem}.zoom-ui-toolkit-root .pl-5{padding-left:1.25rem}.zoom-ui-toolkit-root .pr-10{padding-right:2.5rem}.zoom-ui-toolkit-root .pr-2{padding-right:.5rem}.zoom-ui-toolkit-root .pr-4{padding-right:1rem}.zoom-ui-toolkit-root .pr-8{padding-right:2rem}.zoom-ui-toolkit-root .ps-0{padding-inline-start:0}.zoom-ui-toolkit-root .pt-1{padding-top:.25rem}.zoom-ui-toolkit-root .pt-16{padding-top:4rem}.zoom-ui-toolkit-root .pt-2{padding-top:.5rem}.zoom-ui-toolkit-root .pt-4{padding-top:1rem}.zoom-ui-toolkit-root .pt-6{padding-top:1.5rem}.zoom-ui-toolkit-root .pt-7{padding-top:1.75rem}.zoom-ui-toolkit-root .pt-8{padding-top:2rem}.zoom-ui-toolkit-root .pt-\\[88px\\]{padding-top:88px}.zoom-ui-toolkit-root .text-left{text-align:left}.zoom-ui-toolkit-root .text-center{text-align:center}.zoom-ui-toolkit-root .text-right{text-align:right}.zoom-ui-toolkit-root .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.zoom-ui-toolkit-root .font-sans{font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.zoom-ui-toolkit-root .text-2xl{font-size:1.5rem;line-height:2rem}.zoom-ui-toolkit-root .text-3xl{font-size:1.875rem;line-height:2.25rem}.zoom-ui-toolkit-root .text-\\[11px\\]{font-size:11px}.zoom-ui-toolkit-root .text-\\[13px\\]{font-size:13px}.zoom-ui-toolkit-root .text-\\[17px\\]{font-size:17px}.zoom-ui-toolkit-root .text-\\[20px\\]{font-size:20px}.zoom-ui-toolkit-root .text-base{font-size:1rem;line-height:1.5rem}.zoom-ui-toolkit-root .text-lg{font-size:1.125rem;line-height:1.75rem}.zoom-ui-toolkit-root .text-sm{font-size:.875rem;line-height:1.25rem}.zoom-ui-toolkit-root .text-xl{font-size:1.25rem;line-height:1.75rem}.zoom-ui-toolkit-root .text-xs{font-size:.75rem;line-height:1rem}.zoom-ui-toolkit-root .font-bold{font-weight:700}.zoom-ui-toolkit-root .font-medium{font-weight:500}.zoom-ui-toolkit-root .font-semibold{font-weight:600}.zoom-ui-toolkit-root .uppercase{text-transform:uppercase}.zoom-ui-toolkit-root .capitalize{text-transform:capitalize}.zoom-ui-toolkit-root .leading-\\[1\\.45\\]{line-height:1.45}.zoom-ui-toolkit-root .leading-\\[1\\.5\\]{line-height:1.5}.zoom-ui-toolkit-root .leading-none{line-height:1}.zoom-ui-toolkit-root .leading-relaxed{line-height:1.625}.zoom-ui-toolkit-root .leading-tight{line-height:1.25}.zoom-ui-toolkit-root .tracking-\\[0\\.16em\\]{letter-spacing:.16em}.zoom-ui-toolkit-root .tracking-tight{letter-spacing:-.025em}.zoom-ui-toolkit-root .tracking-wider{letter-spacing:.05em}.zoom-ui-toolkit-root .text-\\[\\#007AFF\\]{--tw-text-opacity:1;color:rgb(0 122 255/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-amber-500{--tw-text-opacity:1;color:rgb(245 158 11/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-blue-500{--tw-text-opacity:1;color:rgb(59 130 246/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-blue-700{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-emerald-500{--tw-text-opacity:1;color:rgb(16 185 129/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-100{--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-200{--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-300{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-400{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-700{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-800{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-orange-500{--tw-text-opacity:1;color:rgb(249 115 22/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-orange-600{--tw-text-opacity:1;color:rgb(234 88 12/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-theme-background{color:var(--color-background)}.zoom-ui-toolkit-root .text-theme-primary{color:var(--color-primary)}.zoom-ui-toolkit-root .text-theme-text{color:var(--color-text)}.zoom-ui-toolkit-root .text-theme-text-button{color:var(--color-text-button)}.zoom-ui-toolkit-root .text-theme-text-secondary{color:var(--color-text-secondary)}.zoom-ui-toolkit-root .text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-white\\/90{color:#ffffffe6}.zoom-ui-toolkit-root .text-white\\/95{color:#fffffff2}.zoom-ui-toolkit-root .text-yellow-300{--tw-text-opacity:1;color:rgb(253 224 71/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-yellow-500{--tw-text-opacity:1;color:rgb(234 179 8/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .text-yellow-600{--tw-text-opacity:1;color:rgb(202 138 4/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .opacity-0{opacity:0}.zoom-ui-toolkit-root .opacity-100{opacity:1}.zoom-ui-toolkit-root .opacity-25{opacity:.25}.zoom-ui-toolkit-root .opacity-50{opacity:.5}.zoom-ui-toolkit-root .opacity-60{opacity:.6}.zoom-ui-toolkit-root .opacity-70{opacity:.7}.zoom-ui-toolkit-root .opacity-75{opacity:.75}.zoom-ui-toolkit-root .opacity-80{opacity:.8}.zoom-ui-toolkit-root .opacity-90{opacity:.9}.zoom-ui-toolkit-root .shadow{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -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)}.zoom-ui-toolkit-root .shadow-2xl{--tw-shadow:0 25px 50px -12px #00000040;--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)}.zoom-ui-toolkit-root .shadow-\\[0_-2px_10px_-1px_rgba\\(0\\,0\\,0\\,0\\.05\\)\\]{--tw-shadow:0 -2px 10px -1px #0000000d;--tw-shadow-colored:0 -2px 10px -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)}.zoom-ui-toolkit-root .shadow-\\[0_0_15px_rgba\\(0\\,0\\,0\\,0\\.2\\)\\]{--tw-shadow:0 0 15px #0003;--tw-shadow-colored:0 0 15px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.zoom-ui-toolkit-root .shadow-\\[0_0_18px_rgba\\(248\\,113\\,113\\,0\\.8\\)\\]{--tw-shadow:0 0 18px #f87171cc;--tw-shadow-colored:0 0 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)}.zoom-ui-toolkit-root .shadow-\\[0_0_8px_rgba\\(254\\,226\\,226\\,0\\.9\\)\\]{--tw-shadow:0 0 8px #fee2e2e6;--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)}.zoom-ui-toolkit-root .shadow-\\[0_2px_10px_-1px_rgba\\(0\\,0\\,0\\,0\\.05\\)\\]{--tw-shadow:0 2px 10px -1px #0000000d;--tw-shadow-colored:0 2px 10px -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)}.zoom-ui-toolkit-root .shadow-\\[0_40px_90px_rgba\\(0\\,0\\,0\\,0\\.9\\)\\]{--tw-shadow:0 40px 90px #000000e6;--tw-shadow-colored:0 40px 90px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.zoom-ui-toolkit-root .shadow-inner{--tw-shadow:inset 0 2px 4px 0 #0000000d;--tw-shadow-colored:inset 0 2px 4px 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)}.zoom-ui-toolkit-root .shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--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)}.zoom-ui-toolkit-root .shadow-md{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.zoom-ui-toolkit-root .shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--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)}.zoom-ui-toolkit-root .shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--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)}.zoom-ui-toolkit-root .outline{outline-style:solid}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .ring-black\\/5{--tw-ring-color:#0000000d}.zoom-ui-toolkit-root .ring-white{--tw-ring-opacity:1;--tw-ring-color:rgb(255 255 255/var(--tw-ring-opacity,1))}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .blur-xl{--tw-blur:blur(24px);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)}.zoom-ui-toolkit-root .drop-shadow-lg{--tw-drop-shadow:drop-shadow(0 10px 8px #0000000a) drop-shadow(0 4px 3px #0000001a);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)}.zoom-ui-toolkit-root .drop-shadow-sm{--tw-drop-shadow:drop-shadow(0 1px 1px #0000000d);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)}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .backdrop-blur-lg{--tw-backdrop-blur:blur(16px);-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)}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter,backdrop-filter;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .transition-opacity{transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .transition-shadow{transition-property:box-shadow;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .transition-transform{transition-property:transform;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .duration-100{transition-duration:.1s}.zoom-ui-toolkit-root .duration-150{transition-duration:.15s}.zoom-ui-toolkit-root .duration-200{transition-duration:.2s}.zoom-ui-toolkit-root .duration-300{transition-duration:.3s}.zoom-ui-toolkit-root .duration-500{transition-duration:.5s}.zoom-ui-toolkit-root .ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .ease-linear{transition-timing-function:linear}.zoom-ui-toolkit-root .ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.uikit-custom-scrollbar::-webkit-scrollbar{background:#ffffff17;border-radius:6px;width:8px}.uikit-custom-scrollbar::-webkit-scrollbar-thumb{background-color:#0000;border-radius:6px}.uikit-custom-scrollbar:hover::-webkit-scrollbar-thumb{background-color:#7070706f}.uikit-custom-scrollbar:focus-visible{outline-offset:-2px;outline:2px solid #2d8cff}.uikit-custom-scrollbar .ReactVirtualized__List::-webkit-scrollbar{background:#ffffff17;border-radius:6px;width:8px}.uikit-custom-scrollbar .ReactVirtualized__List::-webkit-scrollbar-thumb{background-color:#707070;border-radius:6px}.uikit-custom-scrollbar .ReactVirtualized__List:focus-visible{outline-offset:-2px;outline:2px solid #2d8cff}.uikit-custom-scrollbar__menu-list::-webkit-scrollbar{background:#ffffff17;border-radius:6px;width:8px}.uikit-custom-scrollbar__menu-list::-webkit-scrollbar-thumb{background-color:#707070;border-radius:6px}.uikit-custom-scrollbar__menu-list:focus-visible{outline-offset:-2px;outline:2px solid #2d8cff}.uikit-custom-scrollbar .epr-body::-webkit-scrollbar{background:#ffffff17;border-radius:6px;width:8px}.uikit-custom-scrollbar .epr-body::-webkit-scrollbar-thumb{background-color:#707070;border-radius:6px}.uikit-custom-scrollbar .epr-body:focus-visible{outline-offset:-2px;outline:2px solid #2d8cff}.uikit-keyboard-open{width:100%;height:100%;position:fixed;overflow:hidden}.zoom-ui-toolkit-root .before\\:absolute:before{content:var(--tw-content);position:absolute}.zoom-ui-toolkit-root .before\\:right-0:before{content:var(--tw-content);right:0}.zoom-ui-toolkit-root .before\\:top-\\[-25px\\]:before{content:var(--tw-content);top:-25px}.zoom-ui-toolkit-root .before\\:rounded:before{content:var(--tw-content);border-radius:.25rem}.zoom-ui-toolkit-root .before\\:bg-gray-800:before{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .before\\:px-2:before{content:var(--tw-content);padding-left:.5rem;padding-right:.5rem}.zoom-ui-toolkit-root .before\\:py-1:before{content:var(--tw-content);padding-top:.25rem;padding-bottom:.25rem}.zoom-ui-toolkit-root .before\\:text-sm:before{content:var(--tw-content);font-size:.875rem;line-height:1.25rem}.zoom-ui-toolkit-root .before\\:text-theme-text-button:before{content:var(--tw-content);color:var(--color-text-button)}.zoom-ui-toolkit-root .before\\:opacity-0:before{content:var(--tw-content);opacity:0}.zoom-ui-toolkit-root .before\\:transition-opacity:before{content:var(--tw-content);transition-property:opacity;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .before\\:duration-200:before{content:var(--tw-content);transition-duration:.2s}.zoom-ui-toolkit-root .before\\:content-\\[\\'Copied\\!\\'\\]:before{--tw-content:"Copied!";content:var(--tw-content)}.zoom-ui-toolkit-root .after\\:absolute:after{content:var(--tw-content);position:absolute}.zoom-ui-toolkit-root .after\\:left-\\[2px\\]:after{content:var(--tw-content);left:2px}.zoom-ui-toolkit-root .after\\:top-\\[2px\\]:after{content:var(--tw-content);top:2px}.zoom-ui-toolkit-root .after\\:h-5:after{content:var(--tw-content);height:1.25rem}.zoom-ui-toolkit-root .after\\:w-5:after{content:var(--tw-content);width:1.25rem}.zoom-ui-toolkit-root .after\\:rounded-full:after{content:var(--tw-content);border-radius:9999px}.zoom-ui-toolkit-root .after\\:border:after{content:var(--tw-content);border-width:1px}.zoom-ui-toolkit-root .after\\:border-gray-300:after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .after\\:bg-white:after{content:var(--tw-content);--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .after\\:transition-all:after{content:var(--tw-content);transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.zoom-ui-toolkit-root .after\\:content-\\[\\'\\'\\]:after{--tw-content:"";content:var(--tw-content)}.zoom-ui-toolkit-root .first\\:rounded-t-md:first-child{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.zoom-ui-toolkit-root .last\\:rounded-b-md:last-child{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.zoom-ui-toolkit-root .hover\\:scale-105:hover{--tw-scale-x:1.05;--tw-scale-y:1.05;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))}.zoom-ui-toolkit-root .hover\\:scale-110:hover{--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))}.zoom-ui-toolkit-root .hover\\:scale-\\[1\\.02\\]:hover{--tw-scale-x:1.02;--tw-scale-y:1.02;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))}.zoom-ui-toolkit-root .hover\\:cursor-pointer:hover{cursor:pointer}.zoom-ui-toolkit-root .hover\\:border-r:hover{border-right-width:1px}.zoom-ui-toolkit-root .hover\\:border-blue-300:hover{--tw-border-opacity:1;border-color:rgb(147 197 253/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .hover\\:border-blue-500:hover{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .hover\\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .hover\\:border-red-300:hover{--tw-border-opacity:1;border-color:rgb(252 165 165/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .hover\\:border-theme-primary:hover{border-color:var(--color-primary)}.zoom-ui-toolkit-root .hover\\:bg-\\[\\#0066CC\\]:hover{--tw-bg-opacity:1;background-color:rgb(0 102 204/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-black\\/80:hover{background-color:#000c}.zoom-ui-toolkit-root .hover\\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:rgb(239 246 255/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-blue-600:hover{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-cyan-600:hover{--tw-bg-opacity:1;background-color:rgb(8 145 178/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-100\\/50:hover{background-color:#f3f4f680}.zoom-ui-toolkit-root .hover\\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-300:hover{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-400:hover{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-50\\/50:hover{background-color:#f9fafb80}.zoom-ui-toolkit-root .hover\\:bg-gray-600:hover{--tw-bg-opacity:1;background-color:rgb(75 85 99/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-700\\/90:hover{background-color:#374151e6}.zoom-ui-toolkit-root .hover\\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-gray-800\\/50:hover{background-color:#1f293780}.zoom-ui-toolkit-root .hover\\:bg-gray-900:hover{--tw-bg-opacity:1;background-color:rgb(17 24 39/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-green-600:hover{--tw-bg-opacity:1;background-color:rgb(22 163 74/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-green-700:hover{--tw-bg-opacity:1;background-color:rgb(21 128 61/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-red-100:hover{--tw-bg-opacity:1;background-color:rgb(254 226 226/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-red-600:hover{--tw-bg-opacity:1;background-color:rgb(220 38 38/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-red-600\\/100:hover{background-color:#dc2626}.zoom-ui-toolkit-root .hover\\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-theme-background:hover{background-color:var(--color-background)}.zoom-ui-toolkit-root .hover\\:bg-theme-primary:hover{background-color:var(--color-primary)}.zoom-ui-toolkit-root .hover\\:bg-theme-secondary:hover{background-color:var(--color-secondary)}.zoom-ui-toolkit-root .hover\\:bg-theme-surface-elevated:hover{background-color:var(--color-surface-elevated)}.zoom-ui-toolkit-root .hover\\:bg-white\\/10:hover{background-color:#ffffff1a}.zoom-ui-toolkit-root .hover\\:bg-white\\/20:hover{background-color:#fff3}.zoom-ui-toolkit-root .hover\\:bg-yellow-600:hover{--tw-bg-opacity:1;background-color:rgb(202 138 4/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .hover\\:bg-opacity-10:hover{--tw-bg-opacity:.1}.zoom-ui-toolkit-root .hover\\:bg-opacity-70:hover{--tw-bg-opacity:.7}.zoom-ui-toolkit-root .hover\\:bg-opacity-90:hover{--tw-bg-opacity:.9}.zoom-ui-toolkit-root .hover\\:from-blue-500:hover{--tw-gradient-from:#3b82f6 var(--tw-gradient-from-position);--tw-gradient-to:#3b82f600 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.zoom-ui-toolkit-root .hover\\:via-blue-300:hover{--tw-gradient-to:#93c5fd00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #93c5fd var(--tw-gradient-via-position), var(--tw-gradient-to)}.zoom-ui-toolkit-root .hover\\:to-blue-200:hover{--tw-gradient-to:#bfdbfe var(--tw-gradient-to-position)}.zoom-ui-toolkit-root .hover\\:text-\\[\\#0051FF\\]:hover{--tw-text-opacity:1;color:rgb(0 81 255/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-\\[\\#0066CC\\]:hover{--tw-text-opacity:1;color:rgb(0 102 204/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-blue-600:hover{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-blue-700:hover{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-gray-300:hover{--tw-text-opacity:1;color:rgb(209 213 219/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-gray-700:hover{--tw-text-opacity:1;color:rgb(55 65 81/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-gray-800:hover{--tw-text-opacity:1;color:rgb(31 41 55/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-green-700:hover{--tw-text-opacity:1;color:rgb(21 128 61/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:text-theme-text-button:hover{color:var(--color-text-button)}.zoom-ui-toolkit-root .hover\\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .hover\\:underline:hover{text-decoration-line:underline}.zoom-ui-toolkit-root .hover\\:opacity-100:hover{opacity:1}.zoom-ui-toolkit-root .hover\\:opacity-70:hover{opacity:.7}.zoom-ui-toolkit-root .hover\\:opacity-80:hover{opacity:.8}.zoom-ui-toolkit-root .hover\\:opacity-90:hover{opacity:.9}.zoom-ui-toolkit-root .hover\\:opacity-95:hover{opacity:.95}.zoom-ui-toolkit-root .hover\\:shadow:hover{--tw-shadow:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -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)}.zoom-ui-toolkit-root .hover\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--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)}.zoom-ui-toolkit-root .hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.zoom-ui-toolkit-root .hover\\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 #0000000d;--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)}.zoom-ui-toolkit-root .hover\\:shadow-xl:hover{--tw-shadow:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--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)}.zoom-ui-toolkit-root .focus\\:border-\\[\\#007AFF\\]:focus{--tw-border-opacity:1;border-color:rgb(0 122 255/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .focus\\:border-blue-500:focus{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .focus\\:border-theme-text:focus{border-color:var(--color-text)}.zoom-ui-toolkit-root .focus\\:border-transparent:focus{border-color:#0000}.zoom-ui-toolkit-root .focus\\:outline-none:focus{outline-offset:2px;outline:2px solid #0000}.zoom-ui-toolkit-root .focus\\:ring-0: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(0px + 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)}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .focus\\:ring-2: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(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)}.zoom-ui-toolkit-root .focus\\:ring-\\[\\#007AFF\\]:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(0 122 255/var(--tw-ring-opacity,1))}.zoom-ui-toolkit-root .focus\\:ring-blue-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.zoom-ui-toolkit-root .focus\\:ring-indigo-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(99 102 241/var(--tw-ring-opacity,1))}.zoom-ui-toolkit-root .focus\\:ring-red-500:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(239 68 68/var(--tw-ring-opacity,1))}.zoom-ui-toolkit-root .focus\\:ring-theme-primary:focus{--tw-ring-color:var(--color-primary)}.zoom-ui-toolkit-root .focus\\:ring-theme-text:focus{--tw-ring-color:var(--color-text)}.zoom-ui-toolkit-root .focus\\:ring-white\\/40:focus{--tw-ring-color:#fff6}.zoom-ui-toolkit-root .focus\\:ring-opacity-50:focus{--tw-ring-opacity:.5}.zoom-ui-toolkit-root .focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px}.zoom-ui-toolkit-root .focus-visible\\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.zoom-ui-toolkit-root .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)}.zoom-ui-toolkit-root .focus-visible\\:ring-blue-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.zoom-ui-toolkit-root .focus-visible\\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.zoom-ui-toolkit-root .active\\:scale-90:active{--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))}.zoom-ui-toolkit-root .active\\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;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))}.zoom-ui-toolkit-root .active\\:bg-red-800:active{--tw-bg-opacity:1;background-color:rgb(153 27 27/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .active\\:bg-theme-surface-elevated:active{background-color:var(--color-surface-elevated)}.zoom-ui-toolkit-root .active\\:shadow-inner:active{--tw-shadow:inset 0 2px 4px 0 #0000000d;--tw-shadow-colored:inset 0 2px 4px 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)}.zoom-ui-toolkit-root .disabled\\:pointer-events-none:disabled{pointer-events:none}.zoom-ui-toolkit-root .disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.zoom-ui-toolkit-root .disabled\\:bg-gray-400:disabled{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .disabled\\:text-gray-400:disabled{--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .disabled\\:opacity-50:disabled{opacity:.5}.zoom-ui-toolkit-root .disabled\\:opacity-60:disabled{opacity:.6}.zoom-ui-toolkit-root :is(.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))}.zoom-ui-toolkit-root :is(.group:hover .group-hover\\:opacity-100){opacity:1}.zoom-ui-toolkit-root :is(.peer:checked~.peer-checked\\:translate-x-4){--tw-translate-x:1rem;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))}.zoom-ui-toolkit-root :is(.peer:checked~.peer-checked\\:bg-\\[\\#007AFF\\]){--tw-bg-opacity:1;background-color:rgb(0 122 255/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root :is(.peer:checked~.peer-checked\\:bg-blue-500){--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root :is(.peer:checked~.peer-checked\\:after\\:translate-x-full):after{content:var(--tw-content);--tw-translate-x:100%;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))}.zoom-ui-toolkit-root :is(.peer:checked~.peer-checked\\:after\\:border-white):after{content:var(--tw-content);--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root :is(.peer:focus~.peer-focus\\:outline-none){outline-offset:2px;outline:2px solid #0000}.zoom-ui-toolkit-root :is(.peer:focus~.peer-focus\\: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)}.zoom-ui-toolkit-root :is(.peer:focus~.peer-focus\\: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)}.zoom-ui-toolkit-root :is(.peer:focus~.peer-focus\\:ring-\\[\\#007AFF\\]\\/20){--tw-ring-color:#007aff33}.zoom-ui-toolkit-root :is(.peer:focus~.peer-focus\\:ring-blue-500){--tw-ring-opacity:1;--tw-ring-color:rgb(59 130 246/var(--tw-ring-opacity,1))}.zoom-ui-toolkit-root .dark\\:border-gray-600:is(.dark *){--tw-border-opacity:1;border-color:rgb(75 85 99/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .dark\\:border-gray-700:is(.dark *){--tw-border-opacity:1;border-color:rgb(55 65 81/var(--tw-border-opacity,1))}.zoom-ui-toolkit-root .dark\\:border-gray-700\\/30:is(.dark *){border-color:#3741514d}.zoom-ui-toolkit-root .dark\\:bg-blue-400:is(.dark *){--tw-bg-opacity:1;background-color:rgb(96 165 250/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .dark\\:bg-blue-900:is(.dark *){--tw-bg-opacity:1;background-color:rgb(30 58 138/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .dark\\:bg-blue-950\\/30:is(.dark *){background-color:#1725544d}.zoom-ui-toolkit-root .dark\\:bg-gray-200:is(.dark *){--tw-bg-opacity:1;background-color:rgb(229 231 235/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .dark\\:bg-gray-500:is(.dark *){--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .dark\\:bg-gray-900\\/20:is(.dark *){background-color:#11182733}.zoom-ui-toolkit-root .dark\\:bg-red-950\\/30:is(.dark *){background-color:#450a0a4d}.zoom-ui-toolkit-root .dark\\:text-blue-200:is(.dark *){--tw-text-opacity:1;color:rgb(191 219 254/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .dark\\:text-blue-400:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .dark\\:text-gray-100:is(.dark *){--tw-text-opacity:1;color:rgb(243 244 246/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .dark\\:text-gray-200:is(.dark *){--tw-text-opacity:1;color:rgb(229 231 235/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .dark\\:text-gray-400:is(.dark *){--tw-text-opacity:1;color:rgb(156 163 175/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .dark\\:text-orange-400:is(.dark *){--tw-text-opacity:1;color:rgb(251 146 60/var(--tw-text-opacity,1))}.zoom-ui-toolkit-root .dark\\:ring-white\\/10:is(.dark *){--tw-ring-color:#ffffff1a}.zoom-ui-toolkit-root .dark\\:hover\\:bg-blue-900\\/20:hover:is(.dark *){background-color:#1e3a8a33}.zoom-ui-toolkit-root .dark\\:hover\\:bg-gray-700:hover:is(.dark *){--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity,1))}.zoom-ui-toolkit-root .dark\\:hover\\:text-blue-400:hover:is(.dark *){--tw-text-opacity:1;color:rgb(96 165 250/var(--tw-text-opacity,1))}@media (width>=640px){.zoom-ui-toolkit-root .sm\\:mb-0{margin-bottom:0}.zoom-ui-toolkit-root .sm\\:mr-4{margin-right:1rem}.zoom-ui-toolkit-root .sm\\:inline{display:inline}.zoom-ui-toolkit-root .sm\\:table-cell{display:table-cell}.zoom-ui-toolkit-root .sm\\:h-auto{height:auto}.zoom-ui-toolkit-root .sm\\:w-auto{width:auto}.zoom-ui-toolkit-root .sm\\:max-w-\\[150px\\]{max-width:150px}.zoom-ui-toolkit-root .sm\\:max-w-\\[200px\\]{max-width:200px}.zoom-ui-toolkit-root .sm\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.zoom-ui-toolkit-root .sm\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.zoom-ui-toolkit-root .sm\\:flex-row{flex-direction:row}.zoom-ui-toolkit-root .sm\\:items-center{align-items:center}.zoom-ui-toolkit-root .sm\\:justify-center{justify-content:center}.zoom-ui-toolkit-root .sm\\:justify-between{justify-content:space-between}.zoom-ui-toolkit-root .sm\\:gap-4{gap:1rem}.zoom-ui-toolkit-root :is(.sm\\:space-x-2>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.zoom-ui-toolkit-root :is(.sm\\:space-x-4>:not([hidden])~:not([hidden])){--tw-space-x-reverse:0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.zoom-ui-toolkit-root :is(.sm\\:space-y-0>:not([hidden])~:not([hidden])){--tw-space-y-reverse:0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.zoom-ui-toolkit-root .sm\\:p-6{padding:1.5rem}.zoom-ui-toolkit-root .sm\\:px-6{padding-left:1.5rem;padding-right:1.5rem}.zoom-ui-toolkit-root .sm\\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (width>=768px){.zoom-ui-toolkit-root .md\\:static{position:static}.zoom-ui-toolkit-root .md\\:relative{position:relative}.zoom-ui-toolkit-root .md\\:z-auto{z-index:auto}.zoom-ui-toolkit-root .md\\:flex{display:flex}.zoom-ui-toolkit-root .md\\:hidden{display:none}.zoom-ui-toolkit-root .md\\:h-auto{height:auto}.zoom-ui-toolkit-root .md\\: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))}.zoom-ui-toolkit-root .md\\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.zoom-ui-toolkit-root .md\\:flex-row{flex-direction:row}.zoom-ui-toolkit-root .md\\:overflow-visible{overflow:visible}.zoom-ui-toolkit-root .md\\:bg-transparent{background-color:#0000}.zoom-ui-toolkit-root .md\\:p-0{padding:0}.zoom-ui-toolkit-root .md\\:p-6{padding:1.5rem}.zoom-ui-toolkit-root .md\\:p-8{padding:2rem}.zoom-ui-toolkit-root .md\\:pt-6{padding-top:1.5rem}.zoom-ui-toolkit-root .md\\:pt-8{padding-top:2rem}.zoom-ui-toolkit-root .md\\:text-3xl{font-size:1.875rem;line-height:2.25rem}.zoom-ui-toolkit-root .md\\:text-base{font-size:1rem;line-height:1.5rem}.zoom-ui-toolkit-root .md\\:opacity-100{opacity:1}.zoom-ui-toolkit-root .md\\: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)}.zoom-ui-toolkit-root .md\\: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 (width>=1024px){.zoom-ui-toolkit-root .lg\\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.zoom-ui-toolkit-root .lg\\:px-8{padding-left:2rem;padding-right:2rem}}/*$vite$:1*/`})();
2
2
  Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./jsx-runtime-VQ627FC0.cjs"),t=require("./use-active-meeting-store-C-MpvHC1.cjs"),n=require("./meetings-B7mnw5UW.cjs");let r=require("react");r=e.o(r,1);let i=require("react-dom");var a=t.lt(`archive-restore`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h2`,key:`tvwodi`}],[`path`,{d:`M20 8v11a2 2 0 0 1-2 2h-2`,key:`1gkqxj`}],[`path`,{d:`m9 15 3-3 3 3`,key:`1pd0qc`}],[`path`,{d:`M12 12v9`,key:`192myk`}]]),o=t.lt(`archive`,[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]),s=t.lt(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),c=t.lt(`arrow-right`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),l=t.lt(`ban`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M4.929 4.929 19.07 19.071`,key:`196cmz`}]]),u=t.lt(`bell-ring`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M22 8c0-2.3-.8-4.3-2-6`,key:`5bb3ad`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}],[`path`,{d:`M4 2C2.8 3.7 2 5.7 2 8`,key:`tap9e0`}]]),d=t.lt(`book-open`,[[`path`,{d:`M12 7v14`,key:`1akyts`}],[`path`,{d:`M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z`,key:`ruj8y`}]]),f=t.lt(`bookmark`,[[`path`,{d:`M17 3a2 2 0 0 1 2 2v15a1 1 0 0 1-1.496.868l-4.512-2.578a2 2 0 0 0-1.984 0l-4.512 2.578A1 1 0 0 1 5 20V5a2 2 0 0 1 2-2z`,key:`oz39mx`}]]),p=t.lt(`briefcase`,[[`path`,{d:`M16 20V4a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16`,key:`jecpp`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`6`,rx:`2`,key:`i6l2r4`}]]),m=t.lt(`building-2`,[[`path`,{d:`M10 12h4`,key:`a56b0p`}],[`path`,{d:`M10 8h4`,key:`1sr2af`}],[`path`,{d:`M14 21v-3a2 2 0 0 0-4 0v3`,key:`1rgiei`}],[`path`,{d:`M6 10H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-2`,key:`secmi2`}],[`path`,{d:`M6 21V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v16`,key:`16ra0t`}]]),h=t.lt(`calendar-clock`,[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5`,key:`1osxxc`}],[`path`,{d:`M3 10h5`,key:`r794hk`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]),g=t.lt(`calendar-days`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`M8 14h.01`,key:`6423bh`}],[`path`,{d:`M12 14h.01`,key:`1etili`}],[`path`,{d:`M16 14h.01`,key:`1gbofw`}],[`path`,{d:`M8 18h.01`,key:`lrp35t`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}],[`path`,{d:`M16 18h.01`,key:`kzsmim`}]]),_=t.lt(`calendar-x`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`m14 14-4 4`,key:`rymu2i`}],[`path`,{d:`m10 14 4 4`,key:`3sz06r`}]]),v=t.lt(`calendar`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}]]),y=t.lt(`check-check`,[[`path`,{d:`M18 6 7 17l-5-5`,key:`116fxf`}],[`path`,{d:`m22 10-7.5 7.5L13 16`,key:`ke71qq`}]]),b=t.lt(`check`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),x=t.lt(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),S=t.lt(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),ee=t.lt(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),te=t.lt(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),ne=t.lt(`cloud-upload`,[[`path`,{d:`M12 13v8`,key:`1l5pq0`}],[`path`,{d:`M4 14.899A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.5 8.242`,key:`1pljnt`}],[`path`,{d:`m8 17 4-4 4 4`,key:`1quai1`}]]),re=t.lt(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),ie=t.lt(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),ae=t.lt(`file-archive`,[[`path`,{d:`M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5`,key:`4pqfef`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 12v-1`,key:`1ej8lb`}],[`path`,{d:`M8 18v-2`,key:`qcmpov`}],[`path`,{d:`M8 7V6`,key:`1nbb54`}],[`circle`,{cx:`8`,cy:`20`,r:`2`,key:`ckkr5m`}]]),oe=t.lt(`file-headphone`,[[`path`,{d:`M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343`,key:`1vfytu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`,key:`1etmh7`}]]),se=t.lt(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),ce=t.lt(`file-play`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`,key:`1tzo1f`}]]),le=t.lt(`file-spreadsheet`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 13h2`,key:`yr2amv`}],[`path`,{d:`M14 13h2`,key:`un5t4a`}],[`path`,{d:`M8 17h2`,key:`2yhykz`}],[`path`,{d:`M14 17h2`,key:`10kma7`}]]),ue=t.lt(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),de=t.lt(`file`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),fe=t.lt(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),pe=t.lt(`graduation-cap`,[[`path`,{d:`M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z`,key:`j76jl0`}],[`path`,{d:`M22 10v6`,key:`1lu8f3`}],[`path`,{d:`M6 12.5V16a6 3 0 0 0 12 0v-3.5`,key:`1r8lef`}]]),me=t.lt(`hash`,[[`line`,{x1:`4`,x2:`20`,y1:`9`,y2:`9`,key:`4lhtct`}],[`line`,{x1:`4`,x2:`20`,y1:`15`,y2:`15`,key:`vyu0kd`}],[`line`,{x1:`10`,x2:`8`,y1:`3`,y2:`21`,key:`1ggp8o`}],[`line`,{x1:`16`,x2:`14`,y1:`3`,y2:`21`,key:`weycgp`}]]),he=t.lt(`image-off`,[[`line`,{x1:`2`,x2:`22`,y1:`2`,y2:`22`,key:`a6p6uj`}],[`path`,{d:`M10.41 10.41a2 2 0 1 1-2.83-2.83`,key:`1bzlo9`}],[`line`,{x1:`13.5`,x2:`6`,y1:`13.5`,y2:`21`,key:`1q0aeu`}],[`line`,{x1:`18`,x2:`21`,y1:`12`,y2:`15`,key:`5mozeu`}],[`path`,{d:`M3.59 3.59A1.99 1.99 0 0 0 3 5v14a2 2 0 0 0 2 2h14c.55 0 1.052-.22 1.41-.59`,key:`mmje98`}],[`path`,{d:`M21 15V5a2 2 0 0 0-2-2H9`,key:`43el77`}]]),ge=t.lt(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),_e=t.lt(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),ve=t.lt(`inbox`,[[`polyline`,{points:`22 12 16 12 14 15 10 15 8 12 2 12`,key:`o97t9d`}],[`path`,{d:`M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z`,key:`oot6mr`}]]),ye=t.lt(`lightbulb`,[[`path`,{d:`M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5`,key:`1gvzjb`}],[`path`,{d:`M9 18h6`,key:`x1upvd`}],[`path`,{d:`M10 22h4`,key:`ceow96`}]]),be=t.lt(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),xe=t.lt(`map-pin`,[[`path`,{d:`M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0`,key:`1r0f0z`}],[`circle`,{cx:`12`,cy:`10`,r:`3`,key:`ilqhr7`}]]),Se=t.lt(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),Ce=t.lt(`megaphone`,[[`path`,{d:`M11 6a13 13 0 0 0 8.4-2.8A1 1 0 0 1 21 4v12a1 1 0 0 1-1.6.8A13 13 0 0 0 11 14H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2z`,key:`q8bfy3`}],[`path`,{d:`M6 14a12 12 0 0 0 2.4 7.2 2 2 0 0 0 3.2-2.4A8 8 0 0 1 10 14`,key:`1853fq`}],[`path`,{d:`M8 6v8`,key:`15ugcq`}]]),we=t.lt(`message-square-dashed`,[[`path`,{d:`M14 3h2`,key:`1d12a5`}],[`path`,{d:`M16 19h-2`,key:`1agirb`}],[`path`,{d:`M2 12v-2`,key:`1ey295`}],[`path`,{d:`M2 16v5.286a.71.71 0 0 0 1.212.502l1.149-1.149`,key:`120k8q`}],[`path`,{d:`M20 19a2 2 0 0 0 2-2v-1`,key:`ior8tn`}],[`path`,{d:`M22 10v2`,key:`rmlecy`}],[`path`,{d:`M22 6V5a2 2 0 0 0-2-2`,key:`sp3k6r`}],[`path`,{d:`M4 3a2 2 0 0 0-2 2v1`,key:`11zt7s`}],[`path`,{d:`M8 19h2`,key:`jnunrx`}],[`path`,{d:`M8 3h2`,key:`ysbsee`}]]),Te=t.lt(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),Ee=t.lt(`mic-off`,[[`path`,{d:`M12 19v3`,key:`npa21l`}],[`path`,{d:`M15 9.34V5a3 3 0 0 0-5.68-1.33`,key:`1gzdoj`}],[`path`,{d:`M16.95 16.95A7 7 0 0 1 5 12v-2`,key:`cqa7eg`}],[`path`,{d:`M18.89 13.23A7 7 0 0 0 19 12v-2`,key:`16hl24`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v3a3 3 0 0 0 5.12 2.12`,key:`r2i35w`}]]),De=t.lt(`mic`,[[`path`,{d:`M12 19v3`,key:`npa21l`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`,key:`1vc78b`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`,key:`s6n7sd`}]]),Oe=t.lt(`newspaper`,[[`path`,{d:`M15 18h-5`,key:`95g1m2`}],[`path`,{d:`M18 14h-8`,key:`sponae`}],[`path`,{d:`M4 22h16a2 2 0 0 0 2-2V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v16a2 2 0 0 1-4 0v-9a2 2 0 0 1 2-2h2`,key:`39pd36`}],[`rect`,{width:`8`,height:`4`,x:`10`,y:`6`,rx:`1`,key:`aywv1n`}]]),ke=t.lt(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),Ae=t.lt(`party-popper`,[[`path`,{d:`M5.8 11.3 2 22l10.7-3.79`,key:`gwxi1d`}],[`path`,{d:`M4 3h.01`,key:`1vcuye`}],[`path`,{d:`M22 8h.01`,key:`1mrtc2`}],[`path`,{d:`M15 2h.01`,key:`1cjtqr`}],[`path`,{d:`M22 20h.01`,key:`1mrys2`}],[`path`,{d:`m22 2-2.24.75a2.9 2.9 0 0 0-1.96 3.12c.1.86-.57 1.63-1.45 1.63h-.38c-.86 0-1.6.6-1.76 1.44L14 10`,key:`hbicv8`}],[`path`,{d:`m22 13-.82-.33c-.86-.34-1.82.2-1.98 1.11c-.11.7-.72 1.22-1.43 1.22H17`,key:`1i94pl`}],[`path`,{d:`m11 2 .33.82c.34.86-.2 1.82-1.11 1.98C9.52 4.9 9 5.52 9 6.23V7`,key:`1cofks`}],[`path`,{d:`M11 13c1.93 1.93 2.83 4.17 2 5-.83.83-3.07-.07-5-2-1.93-1.93-2.83-4.17-2-5 .83-.83 3.07.07 5 2Z`,key:`4kbmks`}]]),je=t.lt(`pen-line`,[[`path`,{d:`M13 21h8`,key:`1jsn5i`}],[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}]]),Me=t.lt(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),Ne=t.lt(`phone-off`,[[`path`,{d:`M10.1 13.9a14 14 0 0 0 3.732 2.668 1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2 18 18 0 0 1-12.728-5.272`,key:`1wngk7`}],[`path`,{d:`M22 2 2 22`,key:`y4kqgn`}],[`path`,{d:`M4.76 13.582A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 .244.473`,key:`10hv5p`}]]),Pe=t.lt(`phone`,[[`path`,{d:`M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384`,key:`9njp5v`}]]),Fe=t.lt(`picture-in-picture-2`,[[`path`,{d:`M21 9V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v10c0 1.1.9 2 2 2h4`,key:`daa4of`}],[`rect`,{width:`10`,height:`7`,x:`12`,y:`13`,rx:`2`,key:`1nb8gs`}]]),Ie=t.lt(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),Le=t.lt(`plus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),Re=t.lt(`presentation`,[[`path`,{d:`M2 3h20`,key:`91anmk`}],[`path`,{d:`M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3`,key:`2k9sn8`}],[`path`,{d:`m7 21 5-5 5 5`,key:`bip4we`}]]),ze=t.lt(`refresh-ccw`,[[`path`,{d:`M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`14sxne`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16`,key:`1hlbsb`}],[`path`,{d:`M16 16h5v5`,key:`ccwih5`}]]),Be=t.lt(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),Ve=t.lt(`repeat-2`,[[`path`,{d:`m2 9 3-3 3 3`,key:`1ltn5i`}],[`path`,{d:`M13 18H7a2 2 0 0 1-2-2V6`,key:`1r6tfw`}],[`path`,{d:`m22 15-3 3-3-3`,key:`4rnwn2`}],[`path`,{d:`M11 6h6a2 2 0 0 1 2 2v10`,key:`2f72bc`}]]),He=t.lt(`repeat`,[[`path`,{d:`m17 2 4 4-4 4`,key:`nntrym`}],[`path`,{d:`M3 11v-1a4 4 0 0 1 4-4h14`,key:`84bu3i`}],[`path`,{d:`m7 22-4-4 4-4`,key:`1wqhfi`}],[`path`,{d:`M21 13v1a4 4 0 0 1-4 4H3`,key:`1rx37r`}]]),Ue=t.lt(`reply`,[[`path`,{d:`M20 18v-2a4 4 0 0 0-4-4H4`,key:`5vmcpk`}],[`path`,{d:`m9 17-5-5 5-5`,key:`nvlc11`}]]),We=t.lt(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),Ge=t.lt(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),Ke=t.lt(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),qe=t.lt(`share-2`,[[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}],[`circle`,{cx:`6`,cy:`12`,r:`3`,key:`w7nqdw`}],[`circle`,{cx:`18`,cy:`19`,r:`3`,key:`1xt0gg`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`,key:`47mynk`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`,key:`1n3mei`}]]),Je=t.lt(`shield-off`,[[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M5 5a1 1 0 0 0-1 1v7c0 5 3.5 7.5 7.67 8.94a1 1 0 0 0 .67.01c2.35-.82 4.48-1.97 5.9-3.71`,key:`1jlk70`}],[`path`,{d:`M9.309 3.652A12.252 12.252 0 0 0 11.24 2.28a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1v7a9.784 9.784 0 0 1-.08 1.264`,key:`18rp1v`}]]),Ye=t.lt(`shield`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}]]),Xe=t.lt(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),Ze=t.lt(`smile-plus`,[[`path`,{d:`M22 11v1a10 10 0 1 1-9-10`,key:`ew0xw9`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`,key:`1y1vjs`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`,key:`yxxnd0`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`,key:`1p4y9e`}],[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}]]),Qe=t.lt(`smile`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`,key:`1y1vjs`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`,key:`yxxnd0`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`,key:`1p4y9e`}]]),$e=t.lt(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),et=t.lt(`star`,[[`path`,{d:`M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z`,key:`r04s7s`}]]),tt=t.lt(`tag`,[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`,key:`vktsd0`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`kqv944`}]]),nt=t.lt(`target`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`circle`,{cx:`12`,cy:`12`,r:`6`,key:`1vlfrh`}],[`circle`,{cx:`12`,cy:`12`,r:`2`,key:`1c9p78`}]]),rt=t.lt(`text-align-start`,[[`path`,{d:`M21 5H3`,key:`1fi0y6`}],[`path`,{d:`M15 12H3`,key:`6jk70r`}],[`path`,{d:`M17 19H3`,key:`z6ezky`}]]),it=t.lt(`thumbs-up`,[[`path`,{d:`M15 5.88 14 10h5.83a2 2 0 0 1 1.92 2.56l-2.33 8A2 2 0 0 1 17.5 22H4a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2h2.76a2 2 0 0 0 1.79-1.11L12 2a3.13 3.13 0 0 1 3 3.88Z`,key:`emmmcr`}],[`path`,{d:`M7 10v12`,key:`1qc93n`}]]),at=t.lt(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),ot=t.lt(`undo-2`,[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]),st=t.lt(`user-plus`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]),ct=t.lt(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),lt=t.lt(`video`,[[`path`,{d:`m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5`,key:`ftymec`}],[`rect`,{x:`2`,y:`6`,width:`14`,height:`12`,rx:`2`,key:`158x01`}]]),ut=t.lt(`wifi-off`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`,key:`1dl1wf`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`,key:`4k23kn`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`,key:`1grhjp`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`,key:`z3jwby`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),C=t.lt(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),dt=e=>{let t=e.trim().replace(/([a-z])([A-Z])/g,`$1 $2`).split(/\s+/).filter(e=>e.length>0);return t.length===0?`?`:`${t[0]?.[0]??``}${t.length>1?t[t.length-1]?.[0]??``:``}`.toUpperCase()},ft=e=>{let t=0;for(let n=0;n<e.length;n+=1)t=e.charCodeAt(n)+((t<<5)-t);let n=Math.abs(t)%360;return`hsl(${String(n)} 58% 42%)`},pt=(e,t,n=Math.floor(t*.9))=>{let r=e.length,i=r>t;return{length:r,isOverLimit:i,showCounter:r>=n,counterColor:i?`danger`:`soft`}};function mt(e,n){let r,i=()=>{let{currentTime:t}=n,i=(t===null?0:t.value)/100;r!==i&&e(i),r=i};return t.V.preUpdate(i,!0),()=>t.B(i)}function ht(...e){let n=!Array.isArray(e[0]),r=n?0:-1,i=e[0+r],a=e[1+r],o=e[2+r],s=e[3+r],c=t.z(a,o,s);return n?c(i):c}function gt(e,n,r={}){let i=e.get(),a=null,o=i,s,c=typeof i==`string`?i.replace(/[\d.-]/g,``):void 0,l=()=>{a&&=(a.stop(),null),e.animation=void 0},u=()=>{let n=vt(e.get()),i=vt(o);if(n===i){l();return}let c=a?a.getGeneratorVelocity():e.getVelocity();l(),a=new t.L({keyframes:[n,i],velocity:c,type:`spring`,restDelta:.001,restSpeed:.01,...r,onUpdate:s})},d=()=>{u(),e.animation=a??void 0,e.events.animationStart?.notify(),a?.then(()=>{e.animation=void 0,e.events.animationComplete?.notify()})};if(e.attach((e,n)=>{o=e,s=e=>n(_t(e,c)),t.V.postRender(d)},l),t.j(n)){let t=r.skipInitialAnimation===!0,i=n.on(`change`,n=>{t?(t=!1,e.jump(_t(n,c),!1)):e.set(_t(n,c))}),a=e.on(`destroy`,i);return()=>{i(),a()}}return l}function _t(e,t){return t?e+t:e}function vt(e){return typeof e==`number`?e:parseFloat(e)}var w=e.t();function yt({children:e,isValidProp:n,...i}){n&&t.w(n);let a=(0,r.useContext)(t.E);i={...a,...i},i.transition=t.M(i.transition,a.transition),i.isStatic=t.X(()=>i.isStatic);let o=(0,r.useMemo)(()=>i,[JSON.stringify(i.transition),i.transformPagePoint,i.reducedMotion,i.skipAnimations]);return(0,w.jsx)(t.E.Provider,{value:o,children:e})}function bt(e){return typeof window>`u`?!1:e?t.I():t.F()}var xt=50,St=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0}),Ct=()=>({time:0,x:St(),y:St()}),wt={x:{length:`Width`,position:`Left`},y:{length:`Height`,position:`Top`}};function Tt(e,n,r,i){let a=r[n],{length:o,position:s}=wt[n],c=a.current,l=r.time;a.current=Math.abs(e[`scroll${s}`]),a.scrollLength=e[`scroll${o}`]-e[`client${o}`],a.offset.length=0,a.offset[0]=0,a.offset[1]=a.scrollLength,a.progress=t.G(0,a.scrollLength,a.current);let u=i-l;a.velocity=u>xt?0:t.W(a.current-c,u)}function Et(e,t,n){Tt(e,`x`,t,n),Tt(e,`y`,t,n),t.time=n}function Dt(e,n){let r={x:0,y:0},i=e;for(;i&&i!==n;)if(t.A(i))r.x+=i.offsetLeft,r.y+=i.offsetTop,i=i.offsetParent;else if(i.tagName===`svg`){let e=i.getBoundingClientRect();i=i.parentElement;let t=i.getBoundingClientRect();r.x+=e.left-t.left,r.y+=e.top-t.top}else if(i instanceof SVGGraphicsElement){let{x:e,y:t}=i.getBBox();r.x+=e,r.y+=t;let n=null,a=i.parentNode;for(;!n;)a.tagName===`svg`&&(n=a),a=i.parentNode;i=n}else break;return r}var Ot={start:0,center:.5,end:1};function kt(e,t,n=0){let r=0;if(e in Ot&&(e=Ot[e]),typeof e==`string`){let t=parseFloat(e);e.endsWith(`px`)?r=t:e.endsWith(`%`)?e=t/100:e.endsWith(`vw`)?r=t/100*document.documentElement.clientWidth:e.endsWith(`vh`)?r=t/100*document.documentElement.clientHeight:e=t}return typeof e==`number`&&(r=t*e),n+r}var At=[0,0];function jt(e,t,n,r){let i=Array.isArray(e)?e:At,a=0,o=0;return typeof e==`number`?i=[e,e]:typeof e==`string`&&(e=e.trim(),i=e.includes(` `)?e.split(` `):[e,Ot[e]?e:`0`]),a=kt(i[0],n,r),o=kt(i[1],t),a-o}var Mt={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]},Nt={x:0,y:0};function Pt(e){return`getBBox`in e&&e.tagName!==`svg`?e.getBBox():{width:e.clientWidth,height:e.clientHeight}}function Ft(e,n,r){let{offset:i=Mt.All}=r,{target:a=e,axis:o=`y`}=r,s=o===`y`?`height`:`width`,c=a===e?Nt:Dt(a,e),l=a===e?{width:e.scrollWidth,height:e.scrollHeight}:Pt(a),u={width:e.clientWidth,height:e.clientHeight};n[o].offset.length=0;let d=!n[o].interpolate,f=i.length;for(let e=0;e<f;e++){let t=jt(i[e],u[s],l[s],c[o]);!d&&t!==n[o].interpolatorOffsets[e]&&(d=!0),n[o].offset[e]=t}d&&(n[o].interpolate=t.z(n[o].offset,t.R(i),{clamp:!1}),n[o].interpolatorOffsets=[...n[o].offset]),n[o].progress=t.J(0,1,n[o].interpolate(n[o].current))}function It(e,n=e,r){if(r.x.targetOffset=0,r.y.targetOffset=0,n!==e){let t=n;for(;t&&t!==e;)r.x.targetOffset+=t.offsetLeft,r.y.targetOffset+=t.offsetTop,t=t.offsetParent}r.x.targetLength=n===e?n.scrollWidth:n.clientWidth,r.y.targetLength=n===e?n.scrollHeight:n.clientHeight,r.x.containerLength=e.clientWidth,r.y.containerLength=e.clientHeight,process.env.NODE_ENV!==`production`&&e&&n&&n!==e&&e!==document.documentElement&&e!==document.scrollingElement&&e!==document.body&&t.U(getComputedStyle(e).position!==`static`,`Please ensure that the container has a non-static position, like 'relative', 'fixed', or 'absolute' to ensure scroll offset is calculated correctly.`)}function Lt(e,t,n,r={}){return{measure:t=>{It(e,r.target,n),Et(e,n,t),(r.offset||r.target)&&Ft(e,n,r)},notify:()=>t(n)}}var Rt=new WeakMap,zt=new WeakMap,Bt=new WeakMap,Vt=new WeakMap,Ht=new WeakMap,Ut=e=>e===document.scrollingElement?window:e;function Wt(e,{container:n=document.scrollingElement,trackContentSize:r=!1,...i}={}){if(!n)return t.K;let a=Bt.get(n);a||(a=new Set,Bt.set(n,a));let o=Lt(n,e,Ct(),i);if(a.add(o),!Rt.has(n)){let e=()=>{for(let e of a)e.measure(t.H.timestamp);t.V.preUpdate(r)},r=()=>{for(let e of a)e.notify()},i=()=>t.V.read(e);Rt.set(n,i);let o=Ut(n);window.addEventListener(`resize`,i),n!==document.documentElement&&zt.set(n,t.D(n,i)),o.addEventListener(`scroll`,i),i()}if(r&&!Ht.has(n)){let e=Rt.get(n),r={width:n.scrollWidth,height:n.scrollHeight};Vt.set(n,r);let i=t.V.read(()=>{let t=n.scrollWidth,i=n.scrollHeight;(r.width!==t||r.height!==i)&&(e(),r.width=t,r.height=i)},!0);Ht.set(n,i)}let s=Rt.get(n);return t.V.read(s,!1,!0),()=>{t.B(s);let e=Bt.get(n);if(!e||(e.delete(o),e.size))return;let r=Rt.get(n);Rt.delete(n),r&&(Ut(n).removeEventListener(`scroll`,r),zt.get(n)?.(),window.removeEventListener(`resize`,r));let i=Ht.get(n);i&&(t.B(i),Ht.delete(n)),Vt.delete(n)}}var Gt=[[Mt.Enter,`entry`],[Mt.Exit,`exit`],[Mt.Any,`cover`],[Mt.All,`contain`]],Kt={start:0,end:1};function qt(e){let t=e.trim().split(/\s+/);if(t.length!==2)return;let n=Kt[t[0]],r=Kt[t[1]];if(!(n===void 0||r===void 0))return[n,r]}function Jt(e){if(e.length!==2)return;let t=[];for(let n of e)if(Array.isArray(n))t.push(n);else if(typeof n==`string`){let e=qt(n);if(!e)return;t.push(e)}else return;return t}function Yt(e,t){let n=Jt(e);if(!n)return!1;for(let e=0;e<2;e++){let r=n[e],i=t[e];if(r[0]!==i[0]||r[1]!==i[1])return!1}return!0}function Xt(e){if(!e)return{rangeStart:`contain 0%`,rangeEnd:`contain 100%`};for(let[t,n]of Gt)if(Yt(e,t))return{rangeStart:`${n} 0%`,rangeEnd:`${n} 100%`}}var Zt=new Map;function Qt(e){let t={value:0};return{currentTime:t,cancel:Wt(n=>{t.value=n[e.axis].progress*100},e)}}function $t({source:e,container:t,...n}){let{axis:r}=n;e&&(t=e);let i=Zt.get(t);i||(i=new Map,Zt.set(t,i));let a=n.target??`self`,o=i.get(a);o||(o={},i.set(a,o));let s=r+(n.offset??[]).join(`,`);return o[s]||(n.target&&bt(n.target)?Xt(n.offset)?o[s]=new ViewTimeline({subject:n.target,axis:r}):o[s]=Qt({container:t,...n}):bt()?o[s]=new ScrollTimeline({source:t,axis:r}):o[s]=Qt({container:t,...n})),o[s]}function en(e,t){let n=$t(t),r=t.target?Xt(t.offset):void 0,i=t.target?bt(t.target)&&!!r:bt();return e.attachTimeline({timeline:i?n:void 0,...r&&i&&{rangeStart:r.rangeStart,rangeEnd:r.rangeEnd},observe:e=>(e.pause(),mt(t=>{e.time=e.iterationDuration*t},n))})}function tn(e){return e&&(e.target||e.offset)}function nn(e){return e.length===2}function rn(e,t){return nn(e)||tn(t)?Wt(n=>{e(n[t.axis].progress,n)},t):mt(e,$t(t))}function an(e,{axis:n=`y`,container:r=document.scrollingElement,...i}={}){if(!r)return t.K;let a={axis:n,container:r,...i};return typeof e==`function`?rn(e,a):en(e,a)}var on=()=>({scrollX:t.P(0),scrollY:t.P(0),scrollXProgress:t.P(0),scrollYProgress:t.P(0)}),sn=e=>e?!e.current:!1;function cn(e,n,r,i){return{factory:a=>{let o,s=()=>{if(sn(r)||sn(i)){t.k.read(s);return}o=an(a,{...n,axis:e,container:r?.current||void 0,target:i?.current||void 0})};return t.k.read(s),()=>{t.O(s),o?.()}},times:[0,1],keyframes:[0,1],ease:e=>e,duration:1}}function ln(e,n){return typeof window>`u`?!1:e?t.I()&&!!Xt(n):t.F()}function un({container:e,target:n,...i}={}){let a=t.X(on);ln(n,i.offset)&&(a.scrollXProgress.accelerate=cn(`x`,i,e,n),a.scrollYProgress.accelerate=cn(`y`,i,e,n));let o=(0,r.useRef)(null),s=(0,r.useRef)(!1),c=(0,r.useCallback)(()=>(o.current=an((e,{x:t,y:n})=>{a.scrollX.set(t.current),a.scrollXProgress.set(t.progress),a.scrollY.set(n.current),a.scrollYProgress.set(n.progress)},{...i,container:e?.current||void 0,target:n?.current||void 0}),()=>{o.current?.()}),[e,n,JSON.stringify(i.offset)]);return t.Y(()=>{if(s.current=!1,sn(e)||sn(n)){s.current=!0;return}else return c()},[c]),(0,r.useEffect)(()=>{if(!s.current)return;let r,i=()=>{let i=sn(e),a=sn(n);t.q(!i,`Container ref is defined but not hydrated`,`use-scroll-ref`),t.q(!a,`Target ref is defined but not hydrated`,`use-scroll-ref`),!i&&!a&&(r=c())};return t.k.read(i),()=>{t.O(i),r?.()}},[c]),a}function dn(e){let n=t.X(()=>t.P(e)),{isStatic:i}=(0,r.useContext)(t.E);if(i){let[,t]=(0,r.useState)(e);(0,r.useEffect)(()=>n.on(`change`,t),[])}return n}function fn(e,n){let r=dn(n()),i=()=>r.set(n());return i(),t.Y(()=>{let n=()=>t.V.preRender(i,!1,!0),r=e.map(e=>e.on(`change`,n));return()=>{r.forEach(e=>e()),t.B(i)}}),r}function pn(e){t.N.current=[],e();let n=fn(t.N.current,e);return t.N.current=void 0,n}function mn(e,t,n,r){if(typeof e==`function`)return pn(e);if(n!==void 0&&!Array.isArray(n)&&typeof t!=`function`)return gn(e,t,n,r);let i=typeof t==`function`?t:ht(t,n,r),a=Array.isArray(e)?hn(e,i):hn([e],([e])=>i(e)),o=Array.isArray(e)?void 0:e.accelerate;return o&&!o.isTransformed&&typeof t!=`function`&&Array.isArray(n)&&r?.clamp!==!1&&(a.accelerate={...o,times:t,keyframes:n,isTransformed:!0,...r?.ease?{ease:r.ease}:{}}),a}function hn(e,n){let r=t.X(()=>[]);return fn(e,()=>{r.length=0;let t=e.length;for(let n=0;n<t;n++)r[n]=e[n].get();return n(r)})}function gn(e,n,r,i){let a=t.X(()=>Object.keys(r)),o=t.X(()=>({}));for(let t of a)o[t]=mn(e,n,r[t],i);return o}function _n(e,n={}){let{isStatic:i}=(0,r.useContext)(t.E),a=()=>t.j(e)?e.get():e;if(i)return mn(a);let o=dn(a());return(0,r.useInsertionEffect)(()=>gt(o,e,n),[o,JSON.stringify(n)]),o}function vn(e,t={}){return _n(e,{type:`spring`,...t})}var yn=({pendingDelete:e,pendingLeave:n,onConfirmDelete:r,onConfirmLeave:i,onCancelDelete:a,onCancelLeave:o})=>{let s=e?.isGroup??!1?`Delete group`:`Delete chat`;return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(t.v,{open:e!==null,title:s,message:`Delete "${e?.title??``}"? This can't be undone.`,confirmLabel:s,onConfirm:r,onCancel:a}),(0,w.jsx)(t.v,{open:n!==null,title:`Leave group`,message:`Leave "${n?.title??``}"? You'll stop receiving its messages.`,confirmLabel:`Leave group`,onConfirm:i,onCancel:o})]})};function bn(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function xn(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=process.env.NODE_ENV!==`production`&&!!n.key&&!!n.debug?.call(n),s=0;o&&(s=Date.now());let c=e();if(!(c.length!==r.length||c.some((e,t)=>r[t]!==e)))return i;r=c;let l=0;if(o&&(l=Date.now()),i=t(...c),o){let e=Math.round((Date.now()-s)*100)/100,t=Math.round((Date.now()-l)*100)/100,r=t/16,i=(e,t)=>{for(e=String(e);e.length<t;)e=` `+e;return e};console.info(`%c⏱ ${i(t,5)} /${i(e,5)} ms`,`
3
3
  font-size: .6rem;
4
4
  font-weight: bold;
5
5
  color: hsl(${Math.max(0,Math.min(120-120*r,120))}deg 100% 31%);`,n?.key)}return n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i}return o.updateDeps=e=>{r=e},o}function Sn(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var Cn=(e,t)=>Math.abs(e-t)<1.01,wn=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},Tn,En=()=>{if(Tn!==void 0)return Tn;if(typeof navigator>`u`)return Tn=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Tn=!0;let e=navigator.maxTouchPoints;return Tn=navigator.platform===`MacIntel`&&e!==void 0&&e>0},Dn=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},On=e=>e,kn=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},An=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(Dn(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(Dn(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},jn={passive:!0},Mn=typeof window>`u`?!0:`onscrollend`in window,Nn=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&Mn,o=0,s=a?null:wn(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,jn),a&&r.addEventListener(`scrollend`,u,jn),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},Pn=(e,t)=>Nn(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),Fn=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},In=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},Ln=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:On,rangeExtractor:kn,onChange:()=>{},measureElement:Fn,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=e.start+t;n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=xn(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:process.env.NODE_ENV!==`production`&&`maybeNotify`,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{t&&this._intendedScrollOffset===null&&e===this.scrollOffset||(this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0,this.scrollDirection=t?this.getScrollOffset()<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify())})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!En()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,jn),e.addEventListener(`touchend`,n,jn),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(En()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.end<a.end&&n.set(t.lane,!0),n.size===this.options.lanes)break}return r.size===this.options.lanes?Array.from(r.values()).sort((e,t)=>e.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=xn(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(e,t,n,r,i,a,o)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o}),{key:!1}),this.getMeasurements=xn(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o},s)=>{let c=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let l=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=this.options.gap,a=e*2,o=this._flatMeasurements;if(!o||o.length<a){let e=new Float64Array(a);o&&l>0&&e.set(o.subarray(0,l*2)),o=e,this._flatMeasurements=o}let s;if(l===0)s=t+n;else{let e=l-1;s=o[e*2]+o[e*2+1]+i}for(let t=l;t<e;t++){let e=r(t),n=c.get(e),a=typeof n==`number`?n:this.options.estimateSize(t);o[t*2]=s,o[t*2+1]=a,s+=a+i}let u=bn(e,o,r);return this.measurementsCache=u,u}let u=this.measurementsCache.slice(0,l),d=Array(a).fill(void 0);for(let e=0;e<l;e++){let t=u[e];t&&(d[t.lane]=e)}for(let i=l;i<e;i++){let e=r(i),a=this.laneAssignments.get(i),s,l,f=o===`estimate`||c.has(e);if(a!==void 0&&this.options.lanes>1){s=a;let e=d[s],r=e===void 0?void 0:u[e];l=r?r.end+this.options.gap:t+n}else{let e=this.options.lanes===1?u[i-1]:this.getFurthestMeasurement(u,i);l=e?e.end+this.options.gap:t+n,s=e?e.lane:i%this.options.lanes,this.options.lanes>1&&f&&this.laneAssignments.set(i,s)}let p=c.get(e),m=typeof p==`number`?p:this.options.estimateSize(i),h=l+m;u[i]={index:i,start:l,size:m,end:h,key:e,lane:s},d[s]=i}return this.measurementsCache=u,u},{key:process.env.NODE_ENV!==`production`&&`getMeasurements`,debug:()=>this.options.debug}),this.calculateRange=xn(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>this.range=e.length>0&&t>0?zn({measurements:e,outerSize:t,scrollOffset:n,lanes:r,flat:r===1&&this._flatMeasurements!=null?this._flatMeasurements:null}):null,{key:process.env.NODE_ENV!==`production`&&`calculateRange`,debug:()=>this.options.debug}),this.getVirtualIndexes=xn(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:process.env.NODE_ENV!==`production`&&`getVirtualIndexes`,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(e<0||e>=this.options.count)return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=t-(this.itemSizeCache.get(i)??n);if(o!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,s=a?this.getTotalSize():0,c=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?r<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(i)||this.scrollDirection!==`backward`):this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},o,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++,a?this.applyScrollAdjustment(this.getTotalSize()-s):c&&this.applyScrollAdjustment(o),this.notify(!1)}},this.getVirtualItems=xn(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:process.env.NODE_ENV!==`production`&&`getVirtualItems`,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return Sn(t[Rn(0,t.length-1,r?e=>n[e*2]:e=>Sn(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{let r=this.getOffsetForAlignment(e,t),i=this.now();this.scrollState={index:null,align:t,behavior:n,startedAt:i,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e,r=this.now();this.scrollState={index:null,align:`start`,behavior:t,startedAt:r,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){e!==0&&(process.env.NODE_ENV!==`production`&&this.options.debug&&console.info(`correction`,e),En()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=e:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&Cn(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},Rn=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function zn({measurements:e,outerSize:t,scrollOffset:n,lanes:r,flat:i}){let a=e.length-1,o=i?e=>i[e*2]:t=>e[t].start,s=i?e=>i[e*2]+i[e*2+1]:t=>e[t].end;if(e.length<=r)return{startIndex:0,endIndex:a};let c=Rn(0,a,o,n),l=c;if(r===1)for(;l<a&&s(l)<n+t;)l++;else if(r>1){let i=Array(r).fill(0);for(;l<a&&i.some(e=>e<n+t);){let t=e[l];i[t.lane]=t.end,l++}let o=Array(r).fill(n+t);for(;c>=0&&o.some(e=>e>=n);){let t=e[c];o[t.lane]=t.start,c--}c=Math.max(0,c-c%r),l=Math.min(a,l+(r-1-l%r))}return{startIndex:c,endIndex:l}}var Bn=typeof document<`u`?r.useLayoutEffect:r.useEffect;function Vn({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...a}){let o=r.useReducer(e=>e+1,0)[1],s=r.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});s.current.enabled=t,s.current.mode=n;let c=e=>{let t=s.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}let r=!!e.options.horizontal,i=t.mode===`transform`,a=r?`left`:`top`,o=e.options.scrollMargin,c=e.getVirtualItems();for(let n of c){let s=n.start-o,c=e.elementsCache.get(n.key);c&&t.lastPositions.get(c)!==s&&(t.lastPositions.set(c,s),i?c.style.transform=r?`translate3d(${s}px, 0, 0)`:`translate3d(0, ${s}px, 0)`:c.style[a]=`${s}px`)}},l={...a,onChange:(t,n)=>{var r;let l=s.current,u=!0;if(l.enabled){c(t);let e=t.range,n=l.prevRange;u=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,u&&(l.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}u&&(e&&n?(0,i.flushSync)(o):o()),(r=a.onChange)==null||r.call(a,t,n)}},[u]=r.useState(()=>{let e=new Ln(l);return Object.assign(e,{containerRef:t=>{let n=s.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return u.setOptions(l),Bn(()=>u._didMount(),[]),Bn(()=>u._willUpdate()),Bn(()=>{c(u)}),u}function Hn(e){return Vn({observeElementRect:An,observeElementOffset:Pn,scrollToFn:In,...e})}var Un=class extends n.Kt{code=`INVALID_EMAIL`;constructor(e){super(`"${e}" is not a valid email address.`,{context:{value:e}})}},Wn=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,Gn=class e{value;constructor(e){this.value=e}static create(t){let r=t.trim().toLowerCase();return Wn.test(r)?n.Ut(new e(r)):n.Bt(new Un(t))}equals(e){return this.value===e.value}toString(){return this.value}},Kn=class{baseUrl;logger;getAuthToken;constructor(e){this.baseUrl=e.baseUrl,this.logger=e.logger.child(`http`),this.getAuthToken=e.getAuthToken}get(e,t){return this.send(`GET`,e,void 0,t)}async getBlob(e,t){let r=this.buildUrl(e,t?.query),i={method:`GET`,headers:this.buildHeaders(void 0,t),redirect:`error`};t?.signal!==void 0&&(i.signal=t.signal);let a;try{a=await fetch(r,i)}catch(e){throw this.logger.error(`Blob request failed before a response was received`,e,{url:r}),new n._t(r,e)}if(!a.ok)throw this.logger.warn(`Blob request returned a non-2xx status`,{url:r,status:a.status}),new n.gt({status:a.status,statusText:a.statusText,url:r,body:void 0,retryAfterMs:this.parseRetryAfter(a.headers.get(`Retry-After`))});return a.blob()}post(e,t,n){return this.send(`POST`,e,this.jsonBody(t),n)}put(e,t,n){return this.send(`PUT`,e,this.jsonBody(t),n)}patch(e,t,n){return this.send(`PATCH`,e,this.jsonBody(t),n)}delete(e,t){return this.send(`DELETE`,e,void 0,t)}postForm(e,t,n){let r=new URLSearchParams(t).toString();return this.send(`POST`,e,{body:r,contentType:qn},n)}jsonBody(e){if(e!==void 0)return e instanceof FormData?{body:e,contentType:null}:{body:JSON.stringify(e),contentType:`application/json`}}async send(e,t,r,i){let a=this.buildUrl(t,i?.query),o=this.buildHeaders(r,i);r?.body instanceof FormData&&o.delete(`Content-Type`);let s={method:e,headers:o};r!==void 0&&(s.body=r.body),i?.signal!==void 0&&(s.signal=i.signal);let c;try{c=await fetch(a,s)}catch(e){throw this.logger.error(`Request failed before a response was received`,e,{url:a}),new n._t(a,e)}return this.handleResponse(c,a)}async handleResponse(e,t){let r=await this.readBody(e);if(!e.ok){this.logger.warn(`Request returned a non-2xx status`,{url:t,status:e.status});let i=this.parseRetryAfter(e.headers.get(`Retry-After`));throw new n.gt({status:e.status,statusText:e.statusText,url:t,body:r,retryAfterMs:i})}return r}parseRetryAfter(e){if(e===null||e.length===0)return null;let t=Number(e);if(!Number.isNaN(t))return t>=0?t*1e3:null;let n=Date.parse(e);return Number.isNaN(n)?null:Math.max(0,n-Date.now())}async readBody(e){if(e.status===204||e.status===205)return;let t=await e.text();if(t.length!==0){if(!(e.headers.get(`content-type`)??``).includes(`application/json`))return t;try{return JSON.parse(t)}catch(t){throw new n._t(e.url,t)}}}buildHeaders(e,t){let n=new Headers({Accept:`application/json`,...t?.headers});if(e&&e.contentType!==null&&n.set(`Content-Type`,e.contentType),!t?.anonymous){let e=this.getAuthToken();e&&n.set(`Authorization`,`Bearer ${e}`)}return n}buildUrl(e,t){let n=e.startsWith(`http://`)||e.startsWith(`https://`)?e:`${this.baseUrl}${e.startsWith(`/`)?e:`/${e}`}`,r=new URL(n);return t&&this.appendQuery(r,t),r.toString()}appendQuery(e,t){for(let[n,r]of Object.entries(t))if(r!==void 0)if(Array.isArray(r))for(let t of r)e.searchParams.append(n,String(t));else e.searchParams.set(n,String(r))}},qn=`application/x-www-form-urlencoded`,Jn=class{inner;timeoutMs;logger;constructor(e,t){this.inner=e,this.timeoutMs=t.timeoutMs,this.logger=t.logger.child(`http-timeout`)}get(e,t){return this.withTimeout(t=>this.inner.get(e,t),t)}getBlob(e,t){return this.withTimeout(t=>this.inner.getBlob(e,t),t)}post(e,t,n){return this.withTimeout(n=>this.inner.post(e,t,n),n)}put(e,t,n){return this.withTimeout(n=>this.inner.put(e,t,n),n)}patch(e,t,n){return this.withTimeout(n=>this.inner.patch(e,t,n),n)}delete(e,t){return this.withTimeout(t=>this.inner.delete(e,t),t)}postForm(e,t,n){return this.withTimeout(n=>this.inner.postForm(e,t,n),n)}async withTimeout(e,t){let n=new AbortController,r=setTimeout(()=>{this.logger.warn(`Request exceeded timeout; aborting`,{timeoutMs:this.timeoutMs}),n.abort(new DOMException(`Request timed out`,`TimeoutError`))},this.timeoutMs),i=[n.signal];t?.signal!==void 0&&i.push(t.signal);let a=AbortSignal.any(i);try{return await e({...t,signal:a})}finally{clearTimeout(r)}}},Yn=2,Xn=300,Zn=5e3,Qn=class{inner;maxRetries;baseDelayMs;maxDelayMs;logger;constructor(e,t){this.inner=e,this.maxRetries=t.maxRetries??Yn,this.baseDelayMs=t.baseDelayMs??Xn,this.maxDelayMs=t.maxDelayMs??Zn,this.logger=t.logger.child(`http-retry`)}get(e,t){return this.withRetry(()=>this.inner.get(e,t),t)}getBlob(e,t){return this.withRetry(()=>this.inner.getBlob(e,t),t)}post(e,t,n){return this.inner.post(e,t,n)}put(e,t,n){return this.inner.put(e,t,n)}patch(e,t,n){return this.inner.patch(e,t,n)}delete(e,t){return this.inner.delete(e,t)}postForm(e,t,n){return this.inner.postForm(e,t,n)}async withRetry(e,t){let n=0;for(;;)try{return await e()}catch(e){if(n+=1,n>this.maxRetries||!this.isRetryable(e)||t?.signal?.aborted===!0)throw e;let r=this.computeDelay(e,n);this.logger.warn(`Request failed; retrying`,{attempt:n,delay:r}),await this.sleep(r,t?.signal)}}isRetryable(e){return e instanceof n._t?!0:e instanceof n.gt?e.status===429||e.status===503||e.status>=500:!1}computeDelay(e,t){return e instanceof n.gt&&e.retryAfterMs!==null?Math.min(e.retryAfterMs,this.maxDelayMs):Math.min(this.maxDelayMs,this.baseDelayMs*2**(t-1))*(.5+Math.random()*.5)}sleep(e,t){return new Promise(n=>{let r=()=>{clearTimeout(i),n()},i=setTimeout(()=>{t?.removeEventListener(`abort`,r),n()},e);t!==void 0&&t.addEventListener(`abort`,r,{once:!0})})}},$n=class{inner;refresh;logger;inFlightRefresh=null;constructor(e,t){this.inner=e,this.refresh=t.refresh,this.logger=t.logger.child(`http-auth-refresh`)}get(e,t){return this.withRefresh(t=>this.inner.get(e,t),t)}getBlob(e,t){return this.withRefresh(t=>this.inner.getBlob(e,t),t)}post(e,t,n){return this.withRefresh(n=>this.inner.post(e,t,n),n)}put(e,t,n){return this.withRefresh(n=>this.inner.put(e,t,n),n)}patch(e,t,n){return this.withRefresh(n=>this.inner.patch(e,t,n),n)}delete(e,t){return this.withRefresh(t=>this.inner.delete(e,t),t)}postForm(e,t,n){return this.withRefresh(n=>this.inner.postForm(e,t,n),n)}async withRefresh(e,t){try{return await e(t)}catch(r){if(t?.anonymous===!0||!(r instanceof n.gt)||r.status!==401||!await this.refreshOnce())throw r;return e(t)}}refreshOnce(){return this.inFlightRefresh??=this.runRefresh(),this.inFlightRefresh}async runRefresh(){try{return await this.refresh()}catch(e){return this.logger.warn(`Token refresh threw; treating as failed`,{error:e instanceof Error?e.message:String(e)}),!1}finally{this.inFlightRefresh=null}}},er={debug:10,info:20,warn:30,error:40,silent:100},tr=class e{minLevel;scope;minWeight;constructor(e,t){this.minLevel=e,this.scope=t,this.minWeight=er[e]}debug(e,t){this.write(`debug`,console.debug,e,t)}info(e,t){this.write(`info`,console.info,e,t)}warn(e,t){this.write(`warn`,console.warn,e,t)}error(e,t,n){this.minWeight>er.error||console.error(this.format(e),{error:t,...n})}child(t){let n=this.scope?`${this.scope}:${t}`:t;return new e(this.minLevel,n)}write(e,t,n,r){this.minWeight>er[e]||(r?t(this.format(n),r):t(this.format(n)))}format(e){return this.scope?`[${this.scope}] ${e}`:e}},nr=class extends n.L{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type=`infinite`,super.setOptions(e)}getOptimisticResult(e){return e._type=`infinite`,super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`forward`}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:`backward`}}})}createResult(e,t){let{state:r}=e,i=super.createResult(e,t),{isFetching:a,isRefetching:o,isError:s,isRefetchError:c}=i,l=r.fetchMeta?.fetchMore?.direction,u=s&&l===`forward`,d=a&&l===`forward`,f=s&&l===`backward`,p=a&&l===`backward`;return{...i,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:n.z(t,r.data),hasPreviousPage:n.B(t,r.data),isFetchNextPageError:u,isFetchingNextPage:d,isFetchPreviousPageError:f,isFetchingPreviousPage:p,isRefetchError:c&&!u&&!f,isRefetching:o&&!d&&!p}}},rr=class extends n.et{constructor(e={}){super(),this.config=e,this.#e=new Set,this.#t=new Map,this.#n=0}#e;#t;#n;build(e,t,r){let i=new n.I({client:e,mutationCache:this,mutationId:++this.#n,options:e.defaultMutationOptions(t),state:r});return this.add(i),i}add(e){this.#e.add(e);let t=ir(e);if(typeof t==`string`){let n=this.#t.get(t);n?n.push(e):this.#t.set(t,[e])}this.notify({type:`added`,mutation:e})}remove(e){if(this.#e.delete(e)){let t=ir(e);if(typeof t==`string`){let n=this.#t.get(t);if(n)if(n.length>1){let t=n.indexOf(e);t!==-1&&n.splice(t,1)}else n[0]===e&&this.#t.delete(t)}}this.notify({type:`removed`,mutation:e})}canRun(e){let t=ir(e);if(typeof t==`string`){let n=this.#t.get(t)?.find(e=>e.state.status===`pending`);return!n||n===e}else return!0}runNext(e){let t=ir(e);return typeof t==`string`?(this.#t.get(t)?.find(t=>t!==e&&t.state.isPaused))?.continue()??Promise.resolve():Promise.resolve()}clear(){n.H.batch(()=>{this.#e.forEach(e=>{this.notify({type:`removed`,mutation:e})}),this.#e.clear(),this.#t.clear()})}getAll(){return Array.from(this.#e)}find(e){let t={exact:!0,...e};return this.getAll().find(e=>n.q(t,e))}findAll(e={}){return this.getAll().filter(t=>n.q(e,t))}notify(e){n.H.batch(()=>{this.listeners.forEach(t=>{t(e)})})}resumePausedMutations(){let e=this.getAll().filter(e=>e.state.isPaused);return n.H.batch(()=>Promise.all(e.map(e=>e.continue().catch(n.Y))))}};function ir(e){return e.options.scope?.id}var ar=class extends n.et{constructor(e={}){super(),this.config=e,this.#e=new Map}#e;build(e,t,r){let i=t.queryKey,a=t.queryHash??n.G(i,t),o=this.get(a);return o||(o=new n.R({client:e,queryKey:i,queryHash:a,options:e.defaultQueryOptions(t),state:r,defaultOptions:e.getQueryDefaults(i)}),this.add(o)),o}add(e){this.#e.has(e.queryHash)||(this.#e.set(e.queryHash,e),this.notify({type:`added`,query:e}))}remove(e){let t=this.#e.get(e.queryHash);t&&(e.destroy(),t===e&&this.#e.delete(e.queryHash),this.notify({type:`removed`,query:e}))}clear(){n.H.batch(()=>{this.getAll().forEach(e=>{this.remove(e)})})}get(e){return this.#e.get(e)}getAll(){return[...this.#e.values()]}find(e){let t={exact:!0,...e};return this.getAll().find(e=>n.J(t,e))}findAll(e={}){let t=this.getAll();return Object.keys(e).length>0?t.filter(t=>n.J(e,t)):t}notify(e){n.H.batch(()=>{this.listeners.forEach(t=>{t(e)})})}onFocus(){n.H.batch(()=>{this.getAll().forEach(e=>{e.onFocus()})})}onOnline(){n.H.batch(()=>{this.getAll().forEach(e=>{e.onOnline()})})}},or=class{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e={}){this.#e=e.queryCache||new ar,this.#t=e.mutationCache||new rr,this.#n=e.defaultOptions||{},this.#r=new Map,this.#i=new Map,this.#a=0}mount(){this.#a++,this.#a===1&&(this.#o=n.$.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onFocus())}),this.#s=n.V.subscribe(async e=>{e&&(await this.resumePausedMutations(),this.#e.onOnline())}))}unmount(){this.#a--,this.#a===0&&(this.#o?.(),this.#o=void 0,this.#s?.(),this.#s=void 0)}isFetching(e){return this.#e.findAll({...e,fetchStatus:`fetching`}).length}isMutating(e){return this.#t.findAll({...e,status:`pending`}).length}getQueryData(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state.data}ensureQueryData(e){let t=this.defaultQueryOptions(e),r=this.#e.build(this,t),i=r.state.data;return i===void 0?this.fetchQuery(e):(e.revalidateIfStale&&r.isStaleByTime(n.Z(t.staleTime,r))&&this.prefetchQuery(t),Promise.resolve(i))}getQueriesData(e){return this.#e.findAll(e).map(({queryKey:e,state:t})=>[e,t.data])}setQueryData(e,t,r){let i=this.defaultQueryOptions({queryKey:e}),a=this.#e.get(i.queryHash)?.state.data,o=n.U(t,a);if(o!==void 0)return this.#e.build(this,i).setData(o,{...r,manual:!0})}setQueriesData(e,t,r){return n.H.batch(()=>this.#e.findAll(e).map(({queryKey:e})=>[e,this.setQueryData(e,t,r)]))}getQueryState(e){let t=this.defaultQueryOptions({queryKey:e});return this.#e.get(t.queryHash)?.state}removeQueries(e){let t=this.#e;n.H.batch(()=>{t.findAll(e).forEach(e=>{t.remove(e)})})}resetQueries(e,t){let r=this.#e;return n.H.batch(()=>(r.findAll(e).forEach(e=>{e.reset()}),this.refetchQueries({type:`active`,...e},t)))}cancelQueries(e,t={}){let r={revert:!0,...t},i=n.H.batch(()=>this.#e.findAll(e).map(e=>e.cancel(r)));return Promise.all(i).then(n.Y).catch(n.Y)}invalidateQueries(e,t={}){return n.H.batch(()=>(this.#e.findAll(e).forEach(e=>{e.invalidate()}),e?.refetchType===`none`?Promise.resolve():this.refetchQueries({...e,type:e?.refetchType??e?.type??`active`},t)))}refetchQueries(e,t={}){let r={...t,cancelRefetch:t.cancelRefetch??!0},i=n.H.batch(()=>this.#e.findAll(e).filter(e=>!e.isDisabled()&&!e.isStatic()).map(e=>{let t=e.fetch(void 0,r);return r.throwOnError||(t=t.catch(n.Y)),e.state.fetchStatus===`paused`?Promise.resolve():t}));return Promise.all(i).then(n.Y)}fetchQuery(e){let t=this.defaultQueryOptions(e);t.retry===void 0&&(t.retry=!1);let r=this.#e.build(this,t);return r.isStaleByTime(n.Z(t.staleTime,r))?r.fetch(t):Promise.resolve(r.state.data)}prefetchQuery(e){return this.fetchQuery(e).then(n.Y).catch(n.Y)}fetchInfiniteQuery(e){return e._type=`infinite`,this.fetchQuery(e)}prefetchInfiniteQuery(e){return this.fetchInfiniteQuery(e).then(n.Y).catch(n.Y)}ensureInfiniteQueryData(e){return e._type=`infinite`,this.ensureQueryData(e)}resumePausedMutations(){return n.V.isOnline()?this.#t.resumePausedMutations():Promise.resolve()}getQueryCache(){return this.#e}getMutationCache(){return this.#t}getDefaultOptions(){return this.#n}setDefaultOptions(e){this.#n=e}setQueryDefaults(e,t){this.#r.set(n.W(e),{queryKey:e,defaultOptions:t})}getQueryDefaults(e){let t=[...this.#r.values()],r={};return t.forEach(t=>{n.X(e,t.queryKey)&&Object.assign(r,t.defaultOptions)}),r}setMutationDefaults(e,t){this.#i.set(n.W(e),{mutationKey:e,defaultOptions:t})}getMutationDefaults(e){let t=[...this.#i.values()],r={};return t.forEach(t=>{n.X(e,t.mutationKey)&&Object.assign(r,t.defaultOptions)}),r}defaultQueryOptions(e){if(e._defaulted)return e;let t={...this.#n.queries,...this.getQueryDefaults(e.queryKey),...e,_defaulted:!0};return t.queryHash||=n.G(t.queryKey,t),t.refetchOnReconnect===void 0&&(t.refetchOnReconnect=t.networkMode!==`always`),t.throwOnError===void 0&&(t.throwOnError=!!t.suspense),!t.networkMode&&t.persister&&(t.networkMode=`offlineFirst`),t.queryFn===n.Q&&(t.enabled=!1),t}defaultMutationOptions(e){return e?._defaulted?e:{...this.#n.mutations,...e?.mutationKey&&this.getMutationDefaults(e.mutationKey),...e,_defaulted:!0}}clear(){this.#e.clear(),this.#t.clear()}};function sr(e,t){return n.N(e,nr,t)}var cr=class{now(){return new Date}},lr=5e3,ur={},dr={delivered:0,read:0},fr={status:`disconnected`,presence:{},typing:{},receipts:{},pending:{},activeConversationId:null,removedConversationIds:[]},pr=(e,t)=>({...e,status:t}),mr=(e,t,n,r)=>({...e,presence:{...e.presence,[t]:{online:n,lastSeenUtc:r}}}),hr=(e,t)=>{let{conversationId:n,userId:r,isTyping:i,nowMs:a}=t,o=e.typing[n]??{},s=i?{...o,[r]:a+lr}:Object.fromEntries(Object.entries(o).filter(([e])=>e!==r));return{...e,typing:{...e.typing,[n]:s}}},gr=(e,t,n)=>t===`delivered`?{...e,delivered:Math.max(e.delivered,n)}:{...e,read:Math.max(e.read,n)},_r=(e,t)=>{let{conversationId:n,userId:r,kind:i,uptoSequence:a}=t,o=e.receipts[n]??ur,s=o[r]??dr,c={...o,[r]:gr(s,i,a)};return{...e,receipts:{...e.receipts,[n]:c}}},vr=(e,t,n)=>{let r={...e.receipts[t]??ur};for(let e of n){let t=r[e.userId]??dr;r[e.userId]={delivered:Math.max(t.delivered,e.deliveredUpto),read:Math.max(t.read,e.readUpto)}}return{...e,receipts:{...e.receipts,[t]:r}}},yr=(e,t,n)=>{let r=e.typing[t];return r===void 0?[]:Object.entries(r).filter(([,e])=>e>n).map(([e])=>e)},br=(e,t)=>e.receipts[t]??ur,xr=(e,t,n)=>({...e,pending:{...e.pending,[t]:n}}),Sr=(e,t)=>xr(e,t,`sending`),Cr=(e,t)=>xr(e,t,`failed`),wr=(e,t)=>{if(e.pending[t]===void 0)return e;let n=Object.fromEntries(Object.entries(e.pending).filter(([e])=>e!==t));return{...e,pending:n}},Tr=(e,t)=>e.pending[t]??null,Er=(e,t)=>e.activeConversationId===t?e:{...e,activeConversationId:t},Dr=(e,t)=>e.removedConversationIds.includes(t)?e:{...e,removedConversationIds:[...e.removedConversationIds,t]},Or=(e,t)=>e.removedConversationIds.includes(t),kr=()=>t.f((e,t)=>({...fr,setStatus:t=>{e(e=>pr(e,t))},applyPresence:(t,n,r)=>{e(e=>mr(e,t,n,r))},applyTyping:(t,n,r,i)=>{e(e=>hr(e,{conversationId:t,userId:n,isTyping:r,nowMs:i}))},applyReceipt:(t,n,r,i)=>{e(e=>_r(e,{conversationId:t,userId:n,kind:r,uptoSequence:i}))},seedReceipts:(t,n)=>{e(e=>vr(e,t,n))},markSending:t=>{e(e=>Sr(e,t))},markFailed:t=>{e(e=>Cr(e,t))},clearPending:t=>{e(e=>wr(e,t))},setActiveConversationId:t=>{e(e=>Er(e,t))},markRemovedFromConversation:t=>{e(e=>Dr(e,t))},isRemovedFromConversation:e=>Or(t(),e),clear:()=>{e(fr)},typingUserIds:(e,n)=>yr(t(),e,n),receiptsFor:e=>br(t(),e),pendingStatus:e=>Tr(t(),e)})),Ar=(0,r.createContext)(null),jr=()=>{let e=(0,r.useContext)(Ar);if(e===null)throw Error(`Chat realtime hooks must be used within <ChatModuleProvider>.`);return e},Mr=e=>t.d(jr(),e),Nr=class extends n.Kt{},Pr=class extends Nr{code=`CHAT_UNAVAILABLE`;constructor(e,t){super(t??`Chat is currently unavailable. Please try again.`,{cause:e})}},Fr=class extends Nr{code=`CHAT_EMPTY_MESSAGE`;constructor(){super(`Write something before sending.`)}},Ir=class extends Nr{code=`CHAT_MESSAGE_TOO_LONG`;constructor(e){super(`Message must be ${String(e)} characters or less.`)}},Lr=class extends Nr{code=`CHAT_EMPTY_GROUP_TITLE`;constructor(){super(`Give the group a name before creating it.`)}},Rr=class extends Nr{code=`CHAT_EMPTY_GROUP_MEMBERS`;constructor(){super(`Add at least one member before creating the group.`)}},zr=class extends Nr{code=`CHAT_MISSING_DIRECT_RECIPIENT`;constructor(){super(`Choose someone to start a conversation with.`)}},Br=3600*1e3,Vr=900*1e3,Hr=/([zZ]|[+-]\d{2}:?\d{2})$/,Ur=e=>new Date(e.length>0&&!Hr.test(e)?`${e}Z`:e),Wr=class e{id;kind;authorName;authorInitials;authorColor;text;time;sentAt;fromViewer;reactions;sequence;senderId;clientMessageId;replyTo;mediaUrl;mediaContentType;mediaFileName;isEdited;deletedForEveryone;constructor(e){this.id=e.id,this.kind=e.kind,this.authorName=e.authorName,this.authorInitials=e.authorInitials,this.authorColor=e.authorColor,this.text=e.text,this.time=e.time,this.sentAt=e.sentAt??``,this.fromViewer=e.fromViewer,this.reactions=e.reactions,this.sequence=e.sequence,this.senderId=e.senderId,this.clientMessageId=e.clientMessageId,this.replyTo=e.replyTo??null,this.mediaUrl=e.mediaUrl??null,this.mediaContentType=e.mediaContentType??null,this.mediaFileName=e.mediaFileName??null,this.isEdited=e.isEdited??!1,this.deletedForEveryone=e.deletedForEveryone??!1}get isSystem(){return this.kind===`system`}canDeleteForEveryone(e){if(!this.fromViewer||this.isSystem||this.deletedForEveryone)return!1;let t=Ur(this.sentAt).getTime();return Number.isNaN(t)?!0:Math.max(0,e-t)<=Br}get isSharedCard(){return this.text.startsWith(`__UAPP_SHARED_CARD__::`)}canEdit(e){if(!this.fromViewer||this.isSystem||this.deletedForEveryone||this.isSharedCard)return!1;let t=Ur(this.sentAt).getTime();return Number.isNaN(t)?!0:Math.max(0,e-t)<=Vr}with(t){return new e({id:this.id,kind:this.kind,authorName:this.authorName,authorInitials:this.authorInitials,authorColor:this.authorColor,text:this.text,time:this.time,sentAt:this.sentAt,fromViewer:this.fromViewer,reactions:this.reactions,sequence:this.sequence,senderId:this.senderId,clientMessageId:this.clientMessageId,replyTo:this.replyTo,mediaUrl:this.mediaUrl,mediaContentType:this.mediaContentType,mediaFileName:this.mediaFileName,isEdited:this.isEdited,deletedForEveryone:this.deletedForEveryone,...t})}withFallbackSentAt(e){return this.sentAt.length>0||e.length===0?this:this.with({sentAt:e})}asDeletedForEveryone(){return this.deletedForEveryone?this:this.with({text:``,reactions:[],replyTo:null,mediaUrl:null,mediaContentType:null,mediaFileName:null,isEdited:!1,deletedForEveryone:!0})}},Gr=class e{id;kind;title;subtitle;initials;color;online;status;statusUntilUtc;unread;pinned;favourite;archived;admin;lastMessage;lastTime;lastMessageAt;lastSynced;tenantId;categoryId;members;adminIds;data;peerUserId;memberReceipts;constructor(e){this.id=e.id,this.kind=e.kind,this.title=e.title,this.subtitle=e.subtitle,this.initials=e.initials,this.color=e.color,this.online=e.online,this.status=e.status??`offline`,this.statusUntilUtc=e.statusUntilUtc??null,this.unread=e.unread,this.pinned=e.pinned,this.favourite=e.favourite,this.archived=e.archived,this.admin=e.admin,this.lastMessage=e.lastMessage,this.lastTime=e.lastTime,this.lastMessageAt=e.lastMessageAt??null,this.lastSynced=e.lastSynced,this.tenantId=e.tenantId,this.categoryId=e.categoryId,this.members=e.members,this.adminIds=e.adminIds,this.data=e.data,this.peerUserId=e.peerUserId,this.memberReceipts=e.memberReceipts}get isUnread(){return this.unread>0}get isGroup(){return this.kind===`group`}get isDm(){return this.kind===`dm`}get hasCategory(){return this.categoryId!==null}get memberCount(){return this.members.length}isAdmin(e){return this.adminIds.includes(e)}canManageMembers(e){return this.isAdmin(e)}with(t){return new e({id:this.id,kind:this.kind,title:this.title,subtitle:this.subtitle,initials:this.initials,color:this.color,online:this.online,status:this.status,statusUntilUtc:this.statusUntilUtc,unread:this.unread,pinned:this.pinned,favourite:this.favourite,archived:this.archived,admin:this.admin,lastMessage:this.lastMessage,lastTime:this.lastTime,lastMessageAt:this.lastMessageAt,lastSynced:this.lastSynced,tenantId:this.tenantId,categoryId:this.categoryId,members:this.members,adminIds:this.adminIds,data:this.data,peerUserId:this.peerUserId,memberReceipts:this.memberReceipts,...t})}},Kr=(e,t)=>{if(e.length===0)return``;let n=Ur(e);return Number.isNaN(n.getTime())?``:n.toLocaleTimeString(`en-US`,{hour:`numeric`,minute:`2-digit`,hour12:!0,timeZone:t&&t.length>0?t:void 0})},qr=(e,t)=>{if(e.length===0)return``;let n=Ur(e);if(Number.isNaN(n.getTime()))return``;let r={timeZone:t&&t.length>0?t:void 0},i=e=>e.toLocaleDateString(`en-CA`,{...r}),a=new Date,o=i(a),s=i(n);if(s===o)return n.toLocaleTimeString(`en-US`,{hour:`numeric`,minute:`2-digit`,hour12:!0,...r});let c=new Date(a);if(c.setDate(c.getDate()-1),i(c)===s)return`Yesterday`;let l=new Date(a);return l.setDate(l.getDate()-6),n>=l?n.toLocaleDateString(`en-US`,{weekday:`long`,...r}):n.toLocaleDateString(`en-US`,{month:`2-digit`,day:`2-digit`,year:`2-digit`,...r})},Jr=class{moduleAccessGateway;logger;constructor(e){this.moduleAccessGateway=e.moduleAccessGateway,this.logger=e.logger.child(`get-module-access`)}async execute(){let e=await this.moduleAccessGateway.getModuleAccess();return e.ok||this.logger.warn(`Loading module access failed`,{code:e.error.code}),e}},Yr={feed:`CommunicationHub.Feed`,chat:`CommunicationHub.Chat`,meetings:`CommunicationHub.Meetings`,schedule:`CommunicationHub.Schedule`,users:`CommunicationHub.Users`,accessControl:`CommunicationHub.AccessControl`,usage:`CommunicationHub.Usage`,groupCategories:`CommunicationHub.GroupCategories`,webhooks:`CommunicationHub.Webhooks`,promotions:`CommunicationHub.Promotions`,orgSettings:`CommunicationHub.OrgSettings`,orgAccess:`CommunicationHub.OrgAccess`,feedPreference:`CommunicationHub.FeedPreference`,apiKeys:`CommunicationHub.SdkClients`},T={usersCreate:`CommunicationHub.Users.Create`,usersUpdate:`CommunicationHub.Users.Update`,usersDelete:`CommunicationHub.Users.Delete`,accessControlCreate:`CommunicationHub.AccessControl.Create`,accessControlUpdate:`CommunicationHub.AccessControl.Update`,accessControlDelete:`CommunicationHub.AccessControl.Delete`,orgSettingsUpdate:`CommunicationHub.OrgSettings.Update`,branches:`CommunicationHub.Branches`,branchesCreate:`CommunicationHub.Branches.Create`,branchesUpdate:`CommunicationHub.Branches.Update`,branchesDelete:`CommunicationHub.Branches.Delete`,userTypes:`CommunicationHub.UserTypes`,userTypesCreate:`CommunicationHub.UserTypes.Create`,userTypesUpdate:`CommunicationHub.UserTypes.Update`,userTypesDelete:`CommunicationHub.UserTypes.Delete`,userTypesAssign:`CommunicationHub.UserTypes.Assign`,teams:`CommunicationHub.Teams`,teamsManage:`CommunicationHub.Teams.Manage`,hierarchy:`CommunicationHub.Hierarchy`,hierarchyManage:`CommunicationHub.Hierarchy.Manage`,userBranches:`CommunicationHub.UserBranches`,userBranchesManage:`CommunicationHub.UserBranches.Manage`,webhooksCreate:`CommunicationHub.Webhooks.Create`,webhooksUpdate:`CommunicationHub.Webhooks.Update`,webhooksDelete:`CommunicationHub.Webhooks.Delete`,groupCategoriesCreate:`CommunicationHub.GroupCategories.Create`,groupCategoriesUpdate:`CommunicationHub.GroupCategories.Update`,groupCategoriesDelete:`CommunicationHub.GroupCategories.Delete`,groupCategoriesSimulateFeed:`CommunicationHub.GroupCategories.SimulateFeed`,promotionsCreate:`CommunicationHub.Promotions.Create`,promotionsUpdate:`CommunicationHub.Promotions.Update`,promotionsDelete:`CommunicationHub.Promotions.Delete`,feedPost:`CommunicationHub.Feed.Post`,feedUpdate:`CommunicationHub.Feed.Update`,feedDelete:`CommunicationHub.Feed.Delete`,feedPin:`CommunicationHub.Feed.Pin`,feedReact:`CommunicationHub.Feed.React`,feedComment:`CommunicationHub.Feed.Comment`,feedBookmark:`CommunicationHub.Feed.Bookmark`,feedAcknowledge:`CommunicationHub.Feed.Acknowledge`,feedPreferenceSave:`CommunicationHub.FeedPreference.Save`,feedPreferenceManageCategories:`CommunicationHub.FeedPreference.ManageCategories`,chatSendMessage:`CommunicationHub.Chat.SendMessage`,chatManageMembers:`CommunicationHub.Chat.ManageMembers`,chatDelete:`CommunicationHub.Chat.Delete`,calls:`CommunicationHub.Calls`,callsStart:`CommunicationHub.Calls.Start`,scheduleCreate:`CommunicationHub.Schedule.Create`,scheduleUpdate:`CommunicationHub.Schedule.Update`,scheduleDelete:`CommunicationHub.Schedule.Delete`,meetingsBook:`CommunicationHub.Meetings.Book`,meetingsRespond:`CommunicationHub.Meetings.Respond`,meetingsCancel:`CommunicationHub.Meetings.Cancel`,apiKeysCreate:`CommunicationHub.SdkClients.Create`,apiKeysUpdate:`CommunicationHub.SdkClients.Update`,apiKeysDelete:`CommunicationHub.SdkClients.Delete`},Xr=({mode:e,degraded:t,grantedModules:n,module:r})=>t?e===`fail-open`:n.has(r),Zr=class extends n.Kt{},Qr=class extends Zr{code=`MODULE_ACCESS_UNAVAILABLE`;constructor(e){super(`Your menu access could not be loaded. Please try again.`,{cause:e})}};n.dt({grantedModules:n.it(n.pt()).nullish(),grantedPolicies:n.it(n.pt()).nullish(),canManageUserAccess:n.at().nullish()});var $r=(0,r.createContext)(null),ei=({module:e,children:t})=>(0,w.jsx)($r.Provider,{value:e,children:t}),ti=()=>{let e=(0,r.useContext)($r);if(e===null)throw Error(`Module-access hooks must be used within <ModuleAccessModuleProvider>.`);return e},ni=[`module-access`],ri=new Set,ii=()=>{let{getModuleAccess:e,gateMode:t}=ti(),r=n.M({queryKey:ni,queryFn:()=>n.Wt(e.execute()),staleTime:5*6e4}),i=r.data?.grantedModules??ri,a=r.data?.grantedPolicies??ri,o=r.isLoading||r.isError;return{isLoading:r.isLoading,isError:r.isError,grantedModules:i,canAccess:e=>Xr({mode:t,degraded:o,grantedModules:i,module:e}),hasPermission:e=>!o&&a.has(e),canManageUserAccess:r.data?.canManageUserAccess??!1}},E={root:`_root_lp8k4_1`,fullCenter:`_fullCenter_lp8k4_7`,list:`_list_lp8k4_14`,listHead:`_listHead_lp8k4_24`,listTitle:`_listTitle_lp8k4_31`,composeBtn:`_composeBtn_lp8k4_38`,menuItemContent:`_menuItemContent_lp8k4_61`,chatIconTile:`_chatIconTile_lp8k4_68`,groupIconTile:`_groupIconTile_lp8k4_69`,menuItemText:`_menuItemText_lp8k4_89`,menuItemTitle:`_menuItemTitle_lp8k4_97`,menuItemSub:`_menuItemSub_lp8k4_104`,search:`_search_lp8k4_110`,searchInput:`_searchInput_lp8k4_122`,searchClearBtn:`_searchClearBtn_lp8k4_131`,tabsWrapper:`_tabsWrapper_lp8k4_148`,tabs:`_tabs_lp8k4_148`,arrowBtn:`_arrowBtn_lp8k4_168`,arrowLeft:`_arrowLeft_lp8k4_223`,arrowRight:`_arrowRight_lp8k4_227`,tab:`_tab_lp8k4_148`,tabActive:`_tabActive_lp8k4_259`,tabBg:`_tabBg_lp8k4_264`,tabLabel:`_tabLabel_lp8k4_273`,tabCount:`_tabCount_lp8k4_278`,tabDot:`_tabDot_lp8k4_292`,rows:`_rows_lp8k4_301`,empty:`_empty_lp8k4_338`,sentinel:`_sentinel_lp8k4_347`,loadMore:`_loadMore_lp8k4_352`,row:`_row_lp8k4_301`,rowActive:`_rowActive_lp8k4_370`,rowMain:`_rowMain_lp8k4_375`,rowMenuBtn:`_rowMenuBtn_lp8k4_388`,rowPin:`_rowPin_lp8k4_412`,rowStar:`_rowStar_lp8k4_419`,rowAvatar:`_rowAvatar_lp8k4_426`,onlineDot:`_onlineDot_lp8k4_441`,rowBody:`_rowBody_lp8k4_452`,rowTop:`_rowTop_lp8k4_460`,rowName:`_rowName_lp8k4_467`,rowTitle:`_rowTitle_lp8k4_478`,rowTime:`_rowTime_lp8k4_490`,rowBottom:`_rowBottom_lp8k4_496`,rowPreview:`_rowPreview_lp8k4_503`,rowRole:`_rowRole_lp8k4_511`,unread:`_unread_lp8k4_517`,view:`_view_lp8k4_530`,viewEmpty:`_viewEmpty_lp8k4_542`,emptyIconWrap:`_emptyIconWrap_lp8k4_553`,emptyTitle:`_emptyTitle_lp8k4_565`,emptyText:`_emptyText_lp8k4_572`,viewHead:`_viewHead_lp8k4_580`,viewAvatarWrap:`_viewAvatarWrap_lp8k4_590`,viewAvatar:`_viewAvatar_lp8k4_590`,viewPresenceDot:`_viewPresenceDot_lp8k4_609`,viewHeadText:`_viewHeadText_lp8k4_614`,viewIcon:`_viewIcon_lp8k4_622`,viewTitleRow:`_viewTitleRow_lp8k4_634`,viewTitle:`_viewTitle_lp8k4_634`,statusPill:`_statusPill_lp8k4_653`,adminBadge:`_adminBadge_lp8k4_666`,viewSub:`_viewSub_lp8k4_679`,headEnd:`_headEnd_lp8k4_687`,memberStack:`_memberStack_lp8k4_694`,memberAvatar:`_memberAvatar_lp8k4_699`,memberMore:`_memberMore_lp8k4_710`,headMenuBtn:`_headMenuBtn_lp8k4_725`,threadWrap:`_threadWrap_lp8k4_743`,messages:`_messages_lp8k4_535`,thread:`_thread_lp8k4_743`,center:`_center_lp8k4_776`,olderRow:`_olderRow_lp8k4_783`,newPill:`_newPill_lp8k4_791`,sendFailed:`_sendFailed_lp8k4_817`,sendFailedText:`_sendFailedText_lp8k4_823`,retryBtn:`_retryBtn_lp8k4_829`,systemRow:`_systemRow_lp8k4_844`,systemPill:`_systemPill_lp8k4_851`,msgRow:`_msgRow_lp8k4_768`,msgRowGroupStart:`_msgRowGroupStart_lp8k4_768`,msgRowMe:`_msgRowMe_lp8k4_875`,msgAvatarSpacer:`_msgAvatarSpacer_lp8k4_880`,dateSep:`_dateSep_lp8k4_886`,dateSepPill:`_dateSepPill_lp8k4_892`,msgBubbleWrap:`_msgBubbleWrap_lp8k4_904`,reactWrap:`_reactWrap_lp8k4_915`,reactBtn:`_reactBtn_lp8k4_920`,reactPop:`_reactPop_lp8k4_946`,reactPopRight:`_reactPopRight_lp8k4_961`,reactPopLeft:`_reactPopLeft_lp8k4_967`,reactPopBtn:`_reactPopBtn_lp8k4_972`,msgAvatar:`_msgAvatar_lp8k4_880`,msgCol:`_msgCol_lp8k4_1005`,msgColWithReactions:`_msgColWithReactions_lp8k4_1012`,bubble:`_bubble_lp8k4_1016`,bubbleThem:`_bubbleThem_lp8k4_1026`,bubbleMe:`_bubbleMe_lp8k4_1033`,msgAuthor:`_msgAuthor_lp8k4_1039`,msgText:`_msgText_lp8k4_1053`,msgTextDeleted:`_msgTextDeleted_lp8k4_1058`,msgMeta:`_msgMeta_lp8k4_1063`,msgTime:`_msgTime_lp8k4_1073`,tick:`_tick_lp8k4_1080`,tickRead:`_tickRead_lp8k4_1086`,reactionPill:`_reactionPill_lp8k4_1091`,reactionPillActive:`_reactionPillActive_lp8k4_1119`,reactionsMe:`_reactionsMe_lp8k4_1124`,reactionsThem:`_reactionsThem_lp8k4_1128`,reactionEmojis:`_reactionEmojis_lp8k4_1132`,reactionCount:`_reactionCount_lp8k4_1140`,reactionOn:`_reactionOn_lp8k4_1151`,composer:`_composer_lp8k4_1156`,removedComposer:`_removedComposer_lp8k4_1167`,attachTray:`_attachTray_lp8k4_1182`,attachItem:`_attachItem_lp8k4_1195`,attachThumb:`_attachThumb_lp8k4_1206`,attachFile:`_attachFile_lp8k4_1213`,attachFileName:`_attachFileName_lp8k4_1225`,attachRemove:`_attachRemove_lp8k4_1234`,attachAdd:`_attachAdd_lp8k4_1256`,composerIcon:`_composerIcon_lp8k4_1278`,composerInput:`_composerInput_lp8k4_1300`,emojiWrap:`_emojiWrap_lp8k4_1325`,emojiBackdrop:`_emojiBackdrop_lp8k4_1330`,emojiPop:`_emojiPop_lp8k4_1339`,emojiBtn:`_emojiBtn_lp8k4_1355`,sendBtn:`_sendBtn_lp8k4_1376`,memberStackBtn:`_memberStackBtn_lp8k4_1396`,membersBody:`_membersBody_lp8k4_1410`,unsavedBar:`_unsavedBar_lp8k4_1416`,addMemberCta:`_addMemberCta_lp8k4_1426`,membersSectionLabel:`_membersSectionLabel_lp8k4_1447`,membersList:`_membersList_lp8k4_1454`,memberRow:`_memberRow_lp8k4_1460`,memberRowNew:`_memberRowNew_lp8k4_1473`,memberRowAvatar:`_memberRowAvatar_lp8k4_1482`,memberRowBody:`_memberRowBody_lp8k4_1496`,memberRowName:`_memberRowName_lp8k4_1504`,memberRowYou:`_memberRowYou_lp8k4_1514`,memberRowRole:`_memberRowRole_lp8k4_1519`,memberBadgeAdmin:`_memberBadgeAdmin_lp8k4_1529`,memberBadge:`_memberBadge_lp8k4_1529`,memberPillNew:`_memberPillNew_lp8k4_1550`,memberPillUp:`_memberPillUp_lp8k4_1560`,memberPillDown:`_memberPillDown_lp8k4_1571`,memberRowMenuBtn:`_memberRowMenuBtn_lp8k4_1581`,removedLabel:`_removedLabel_lp8k4_1601`,removedRow:`_removedRow_lp8k4_1609`,removedName:`_removedName_lp8k4_1624`,undoBtn:`_undoBtn_lp8k4_1632`,addPanel:`_addPanel_lp8k4_1653`,addPanelHead:`_addPanelHead_lp8k4_1659`,addPanelTitle:`_addPanelTitle_lp8k4_1665`,addPanelSearch:`_addPanelSearch_lp8k4_1671`,addPanelList:`_addPanelList_lp8k4_1682`,addPanelEmpty:`_addPanelEmpty_lp8k4_1690`,addMemberBtn:`_addMemberBtn_lp8k4_1697`,newGroupBody:`_newGroupBody_lp8k4_1722`,staffPickRow:`_staffPickRow_lp8k4_1728`,staffPickRowOn:`_staffPickRowOn_lp8k4_1753`,pickCheck:`_pickCheck_lp8k4_1762`,pickCheckOn:`_pickCheckOn_lp8k4_1774`,pickerPending:`_pickerPending_lp8k4_1779`,connPill:`_connPill_lp8k4_1793`,typingRow:`_typingRow_lp8k4_1807`,typingText:`_typingText_lp8k4_1816`,typingDots:`_typingDots_lp8k4_1821`,typingBounce:`_typingBounce_lp8k4_1`,memberRowAvatarWrap:`_memberRowAvatarWrap_lp8k4_1863`,presenceDot:`_presenceDot_lp8k4_1869`,replyPreview:`_replyPreview_lp8k4_1880`,replyPreviewAuthor:`_replyPreviewAuthor_lp8k4_1914`,replyPreviewText:`_replyPreviewText_lp8k4_1927`,msgFlash:`_msgFlash_lp8k4_1`,replyBar:`_replyBar_lp8k4_1962`,replyBarText:`_replyBarText_lp8k4_1973`,replyBarClose:`_replyBarClose_lp8k4_1982`,msgMedia:`_msgMedia_lp8k4_1990`,msgMediaLoading:`_msgMediaLoading_lp8k4_2014`,msgMediaFallback:`_msgMediaFallback_lp8k4_2015`,albumGrid:`_albumGrid_lp8k4_2031`,albumCell:`_albumCell_lp8k4_2040`,albumCellMedia:`_albumCellMedia_lp8k4_2040`,albumCellActions:`_albumCellActions_lp8k4_2085`,albumActionBtn:`_albumActionBtn_lp8k4_2111`,albumCellReactions:`_albumCellReactions_lp8k4_2130`,mediaButton:`_mediaButton_lp8k4_2156`,mediaButtonFill:`_mediaButtonFill_lp8k4_2165`,viewerBackdrop:`_viewerBackdrop_lp8k4_2172`,viewerScrim:`_viewerScrim_lp8k4_2182`,viewerFade:`_viewerFade_lp8k4_1`,viewerStage:`_viewerStage_lp8k4_2191`,viewerImg:`_viewerImg_lp8k4_2205`,viewerZoom:`_viewerZoom_lp8k4_1`,viewerFallback:`_viewerFallback_lp8k4_2215`,viewerClose:`_viewerClose_lp8k4_2224`,viewerNav:`_viewerNav_lp8k4_2225`,viewerNavPrev:`_viewerNavPrev_lp8k4_2269`,viewerNavNext:`_viewerNavNext_lp8k4_2273`,viewerCount:`_viewerCount_lp8k4_2277`,fileCard:`_fileCard_lp8k4_2314`,fileCardMe:`_fileCardMe_lp8k4_2332`,fileCardIcon:`_fileCardIcon_lp8k4_2345`,fileCardInfo:`_fileCardInfo_lp8k4_2357`,fileCardName:`_fileCardName_lp8k4_2365`,fileCardMetaLabel:`_fileCardMetaLabel_lp8k4_2374`,fileCardDownload:`_fileCardDownload_lp8k4_2379`,msgActions:`_msgActions_lp8k4_2387`,msgActionBtn:`_msgActionBtn_lp8k4_2399`,editedLabel:`_editedLabel_lp8k4_2412`,hiddenFileInput:`_hiddenFileInput_lp8k4_2419`,viewPaneWrapper:`_viewPaneWrapper_lp8k4_2423`,emptyFloating1:`_emptyFloating1_lp8k4_2431`,emptyFloating2:`_emptyFloating2_lp8k4_2440`,emptyFloating3:`_emptyFloating3_lp8k4_2449`,backBtn:`_backBtn_lp8k4_2458`,hasActiveChat:`_hasActiveChat_lp8k4_2499`,standardHeader:`_standardHeader_lp8k4_2630`,mobileSelectionHeader:`_mobileSelectionHeader_lp8k4_2637`,selectionLeft:`_selectionLeft_lp8k4_2646`,selectionTitle:`_selectionTitle_lp8k4_2654`,selectionActions:`_selectionActions_lp8k4_2663`,selectionActionBtn:`_selectionActionBtn_lp8k4_2670`,selectionActionDanger:`_selectionActionDanger_lp8k4_2692`,hasMobileSelection:`_hasMobileSelection_lp8k4_2703`,bubbleSelected:`_bubbleSelected_lp8k4_2711`},ai=({conversation:e,actions:t,onRequestDelete:n,canDelete:r=!0})=>{let i=r?{label:e.isGroup?`Delete group`:`Delete chat`,icon:(0,w.jsx)(at,{size:14}),danger:!0,onSelect:()=>{n(e)}}:null;return e.archived?[{label:`Unarchive`,icon:(0,w.jsx)(a,{size:14}),onSelect:()=>{t.toggleArchive(e)}},...i===null?[]:[i]]:[{label:e.favourite?`Remove from Favourites`:`Add to Favourites`,icon:(0,w.jsx)(et,{size:14}),onSelect:()=>{t.toggleFavourite(e)}},{label:e.pinned?`Unpin`:`Pin to top`,icon:(0,w.jsx)(Ie,{size:14}),onSelect:()=>{t.togglePin(e)}},{label:`Archive`,icon:(0,w.jsx)(o,{size:14}),onSelect:()=>{t.toggleArchive(e)}},...i===null?[]:[i]]},oi=e=>{let{hasPermission:n}=ii(),r=e.canDelete??n(T.chatDelete);return(0,w.jsx)(t.g,{align:`end`,trigger:(0,w.jsx)(`button`,{type:`button`,className:E.rowMenuBtn,"aria-label":`Chat options`,children:(0,w.jsx)(ie,{size:15})}),items:ai({...e,canDelete:r})})},si=({conversation:e,active:r,actions:i,onSelect:a,onRequestDelete:o})=>{let s=n.m(),c=e.peerUserId,l=Mr(e=>c===null?void 0:e.presence[c]?.online),u=c===null?e.online:l??e.online,d=qr(e.lastMessageAt??``,s.display)||e.lastTime;return(0,w.jsxs)(t.C.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},transition:{duration:.2},className:t.at(E.row,r&&E.rowActive),children:[(0,w.jsxs)(`button`,{type:`button`,className:E.rowMain,onClick:a,children:[(0,w.jsxs)(`span`,{className:E.rowAvatar,style:t.it({"--avatar-color":e.color}),children:[e.initials,u&&(0,w.jsx)(`span`,{className:E.onlineDot})]}),(0,w.jsxs)(`span`,{className:E.rowBody,children:[(0,w.jsxs)(`span`,{className:E.rowTop,children:[(0,w.jsxs)(`span`,{className:E.rowName,children:[e.pinned&&(0,w.jsx)(Ie,{size:12,className:E.rowPin}),e.favourite&&(0,w.jsx)(et,{size:12,className:E.rowStar}),(0,w.jsx)(`span`,{className:E.rowTitle,children:e.title})]}),(0,w.jsx)(`span`,{className:E.rowTime,children:d})]}),(0,w.jsxs)(`span`,{className:E.rowBottom,children:[(0,w.jsxs)(`span`,{className:E.rowPreview,children:[(0,w.jsx)(`span`,{className:E.rowRole,children:e.subtitle}),` `,e.lastMessage]}),e.unread>0&&(0,w.jsx)(`span`,{className:E.unread,children:e.unread})]})]})]}),(0,w.jsx)(oi,{conversation:e,actions:i,onRequestDelete:o})]})},ci=(0,r.createContext)(null),D=()=>{let e=(0,r.useContext)(ci);if(e===null)throw Error(`Chat hooks must be used within <ChatModuleProvider>.`);return e},li=[`chat`,`conversations`],ui=[`chat`,`conversation-counts`],di=e=>[`chat`,`conversation`,e],fi=20,pi=(e,t,r={})=>{let{listConversations:i}=D(),a=t.trim(),o=sr({queryKey:[...li,e,a],enabled:r.enabled??!0,initialPageParam:0,queryFn:({pageParam:t})=>n.Wt(i.execute({scope:e,filter:a,skipCount:t,maxResultCount:fi})),placeholderData:n.K,getNextPageParam:(e,t)=>{let n=t.reduce((e,t)=>e+t.items.length,0);return n<e.totalCount?n:void 0}});return{data:o.data?.pages.flatMap(e=>e.items),isPending:o.isPending,isSuccess:o.isSuccess,error:o.error,hasNextPage:o.hasNextPage,isFetchingNextPage:o.isFetchingNextPage,fetchNextPage:()=>{o.fetchNextPage()}}},mi=()=>{let{getConversationCounts:e}=D();return n.M({queryKey:ui,queryFn:()=>n.Wt(e.execute())})},hi=(e,t)=>{let n=e.getQueryCache().findAll({queryKey:li});for(let e of n){let n=e.state.data?.pages.flatMap(e=>e.items).find(e=>e.id===t);if(n!==void 0)return{conversation:n,updatedAt:e.state.dataUpdatedAt}}},gi=e=>{let{getConversation:t}=D(),r=n.F(),i=e===null?void 0:hi(r,e);return n.M({queryKey:di(e??``),enabled:e!==null,retry:!1,queryFn:()=>n.Wt(t.execute(e??``)),...i===void 0?{}:{initialData:i.conversation,initialDataUpdatedAt:i.updatedAt}})},_i=e=>{e.invalidateQueries({queryKey:li,refetchType:`all`}),e.invalidateQueries({queryKey:ui})},vi=e=>{_i(e),e.invalidateQueries({queryKey:[`chat`,`conversation`]})},yi=e=>{e.invalidateQueries({queryKey:li,refetchType:`all`}),e.invalidateQueries({queryKey:[`chat`,`conversation`]})},bi=(e,t,n)=>{e.setQueriesData({queryKey:li},e=>e&&{...e,pages:e.pages.map(e=>({...e,items:e.items.map(e=>e.id===t?n(e):e)}))}),e.setQueryData(di(t),e=>e===void 0?e:n(e))},xi=(e,t)=>{e.setQueriesData({queryKey:li},e=>e&&{...e,pages:e.pages.map(e=>({...e,items:e.items.filter(e=>e.id!==t),totalCount:Math.max(0,e.totalCount-1)}))}),e.removeQueries({queryKey:di(t)})},Si=(e,t)=>e.map(e=>{if(e.emoji===t||!e.reacted)return e;let n=e.count-1;return n>0?{...e,count:n,reacted:!1}:null}).filter(e=>e!==null),Ci=(e,t,n)=>{let r=t.byUserId===n?Si(e,t.emoji):e;return r.find(e=>e.emoji===t.emoji)===void 0?[...r,{emoji:t.emoji,count:1,reacted:t.byUserId===n}]:r.map(e=>e.emoji===t.emoji?{...e,count:e.count+1,reacted:e.reacted||t.byUserId===n}:e)},wi=(e,t,n)=>e.map(e=>e.emoji===t.emoji?{...e,count:e.count-1,reacted:t.byUserId===n?!1:e.reacted}:e).filter(e=>e.count>0),Ti=(e,t,n)=>{if(!t.added&&!e.reactions.some(e=>e.emoji===t.emoji))return e;let r=t.added?Ci(e.reactions,t,n):wi(e.reactions,t,n);return e.with({reactions:r})},Ei=(e,t)=>new Gr({id:e.id,kind:e.kind,title:e.title,subtitle:e.subtitle,initials:e.initials,color:e.color,online:e.online,unread:t,pinned:e.pinned,favourite:e.favourite,archived:e.archived,admin:e.admin,lastMessage:e.lastMessage,lastTime:e.lastTime,lastMessageAt:e.lastMessageAt,lastSynced:e.lastSynced,tenantId:e.tenantId,categoryId:e.categoryId,members:e.members,adminIds:e.adminIds,data:e.data,peerUserId:e.peerUserId,memberReceipts:e.memberReceipts}),Di=(e,t,n)=>{e.setQueryData(ui,{...t,unread:Math.max(0,t.unread-1),favourites:n.favourite?Math.max(0,t.favourites-1):t.favourites,groups:n.group?Math.max(0,t.groups-1):t.groups,archived:n.archived?Math.max(0,t.archived-1):t.archived})},Oi=async(e,t)=>{await e.cancelQueries({queryKey:ui}),await e.cancelQueries({queryKey:di(t)});let n=e.getQueriesData({queryKey:li}),r=e.getQueryData(ui),i=e.getQueryData(di(t)),a=!1,o=!1,s=!1,c=!1;return i&&(a=i.unread>0,o=i.favourite,s=i.isGroup,c=i.archived,e.setQueryData(di(t),Ei(i,0))),e.setQueriesData({queryKey:li},e=>e&&{...e,pages:e.pages.map(e=>({...e,items:e.items.map(e=>e.id===t?(i||(a=e.unread>0,o=e.favourite,s=e.isGroup,c=e.archived),Ei(e,0)):e)}))}),a&&r&&Di(e,r,{favourite:o,group:s,archived:c}),{previousConversations:n,previousCounts:r,previousSingleConversation:i,conversationId:t}},ki=(e,t)=>{t&&(t.previousSingleConversation&&e.setQueryData(di(t.conversationId),t.previousSingleConversation),t.previousConversations.forEach(([t,n])=>{e.setQueryData(t,n)}),t.previousCounts&&e.setQueryData(ui,t.previousCounts))},Ai=()=>{let{markRead:e}=D(),t=n.F();return n.j({mutationFn:({conversationId:t,uptoSequence:r})=>n.Wt(e.execute(t,r)),onMutate:({conversationId:e})=>Oi(t,e),onError:(e,n,r)=>{ki(t,r)},onSettled:()=>{t.invalidateQueries({queryKey:ui})}})},ji=(e,t=`directory`)=>[`chat`,`staff`,t,e?.trim().toLowerCase()??``],Mi=[`chat`,`viewer`],Ni=e=>[`chat`,`messages`,e],Pi=(e,t=`directory`)=>{let{listStaff:r,getGroupMemberPool:i}=D(),a=e?.trim()??``,o=t===`groupPool`?i:r;return n.M({queryKey:ji(a,t),queryFn:()=>n.Wt(o.execute(a||void 0))})},Fi=()=>{let{getViewer:e}=D();return n.M({queryKey:Mi,queryFn:()=>n.Wt(e.execute()),retry:1})},Ii=e=>{let{getMessages:t}=D();return n.M({queryKey:Ni(e??``),enabled:e!==null,queryFn:()=>n.Wt(t.execute(e??``))})},Li=e=>{let t=n.F();return n.j({mutationFn:e,onSuccess:()=>{vi(t)}})},Ri=()=>{let{setFavourite:e}=D(),t=n.F();return n.j({mutationFn:({id:t,value:r})=>n.Wt(e.execute(t,r)),onSuccess:(e,{id:n,value:r})=>{bi(t,n,e=>e.with({favourite:r})),vi(t)}})},zi=()=>{let{setArchived:e}=D(),t=n.F();return n.j({mutationFn:({id:t,value:r})=>n.Wt(e.execute(t,r)),onSuccess:(e,{id:n,value:r})=>{bi(t,n,e=>e.with({archived:r})),vi(t)}})},Bi=()=>{let{setPinned:e}=D(),t=n.F();return n.j({mutationFn:({id:t,value:r})=>n.Wt(e.execute(t,r)),onSuccess:(e,{id:n,value:r})=>{bi(t,n,e=>e.with({pinned:r})),vi(t)}})},Vi=()=>{let{deleteConversation:e}=D(),t=n.F();return n.j({mutationFn:t=>n.Wt(e.execute(t)),onSuccess:(e,n)=>{xi(t,n),vi(t)}})},Hi=()=>{let{leaveConversation:e}=D(),t=n.F();return n.j({mutationFn:t=>n.Wt(e.execute(t)),onSuccess:(e,n)=>{xi(t,n),vi(t)}})},Ui=()=>{let{refreshPortal:e}=D();return Li(t=>n.Wt(e.execute(t)))},Wi=e=>{let{saveMembers:t}=D(),r=n.F(),{data:i}=Fi();return n.j({mutationFn:({members:r,adminIds:i})=>n.Wt(t.execute(e,r,i)),onSuccess:(t,{members:n,adminIds:a})=>{let o=i?.id??``,s=n.some(e=>e.id===o);o!==``&&!s?xi(r,e):bi(r,e,e=>e.with({members:n,adminIds:a,admin:a.includes(o)})),yi(r),r.invalidateQueries({queryKey:Ni(e)})}})},Gi=()=>{let{startDirect:e}=D(),t=n.F();return n.j({mutationFn:t=>n.Wt(e.execute(t)),onSuccess:()=>{vi(t)}})},Ki=()=>{let{createGroup:e}=D(),t=n.F();return n.j({mutationFn:({title:t,memberIds:r})=>n.Wt(e.execute(t,r)),onSuccess:()=>{vi(t)}})},qi=e=>{let{reactToMessage:t}=D(),r=n.F(),i=Fi().data?.id??``,a=Ni(e);return n.j({mutationFn:({messageId:r,emoji:i})=>n.Wt(t.execute(e,r,i)),onMutate:async({messageId:e,emoji:t})=>{await r.cancelQueries({queryKey:a});let n=r.getQueryData(a),o=!((n?.find(t=>t.id===e))?.reactions.some(e=>e.emoji===t&&e.reacted)??!1);return r.setQueryData(a,n=>n?.map(n=>n.id===e?Ti(n,{emoji:t,byUserId:i,added:o},i):n)),{previous:n}},onError:(e,t,n)=>{n?.previous!==void 0&&r.setQueryData(a,n.previous)}})},Ji=e=>{let{editMessage:t}=D(),r=n.F();return n.j({mutationFn:({messageId:r,text:i})=>n.Wt(t.execute(e,r,i)),onSuccess:t=>{r.setQueryData(Ni(e),e=>e?.map(e=>e.id===t.id?t:e)??[t])}})},Yi=e=>{let{deleteMessage:t}=D(),r=n.F();return n.j({mutationFn:r=>n.Wt(t.execute(e,r)),onSuccess:(t,n)=>{r.setQueryData(Ni(e),e=>e?.map(e=>e.id===n?e.asDeletedForEveryone():e)??[])}})},Xi=e=>{let{deleteMessageForMe:t}=D();return n.j({mutationFn:r=>n.Wt(t.execute(e,r))})},Zi=(e,t)=>e.trim().length>0&&t.length>0,Qi=(e,t)=>e.includes(t)?e.filter(e=>e!==t):[...e,t],$i=(e,t)=>{let[n,i]=(0,r.useState)(e);return(0,r.useEffect)(()=>{let n=setTimeout(()=>{i(e)},t);return()=>{clearTimeout(n)}},[e,t]),n},ea=(e,t=`directory`)=>{let[n,i]=(0,r.useState)(``),a=$i(n,250),o=Pi(a,t);return{search:n,setSearch:i,results:(o.data??[]).filter(t=>!e.includes(t.id)),loading:o.isFetching,hasQuery:a.trim().length>0}},ta=({excludeIds:e,selectedIds:n,onToggle:r})=>{let{search:i,setSearch:a,results:o,loading:s,hasQuery:c}=ea(e,`groupPool`);return(0,w.jsxs)(`div`,{className:E.addPanel,children:[(0,w.jsxs)(`div`,{className:E.addPanelSearch,children:[(0,w.jsx)(Ge,{size:14}),(0,w.jsx)(`input`,{className:E.searchInput,placeholder:`Search staff`,value:i,onChange:e=>{a(e.target.value)}}),s&&(0,w.jsx)(t.nt,{size:`sm`,label:`Searching staff`})]}),(0,w.jsxs)(`div`,{className:E.addPanelList,children:[o.map(e=>{let i=n.includes(e.id);return(0,w.jsxs)(`button`,{type:`button`,className:t.at(E.staffPickRow,i&&E.staffPickRowOn),"aria-pressed":i,onClick:()=>{r(e.id)},children:[(0,w.jsx)(`span`,{className:E.memberRowAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`span`,{className:E.memberRowBody,children:[(0,w.jsx)(`span`,{className:E.memberRowName,children:e.name}),(0,w.jsx)(`span`,{className:E.memberRowRole,children:e.role})]}),(0,w.jsx)(`span`,{className:t.at(E.pickCheck,i&&E.pickCheckOn),children:i&&(0,w.jsx)(b,{size:13})})]},e.id)}),o.length===0&&!s&&(0,w.jsx)(`p`,{className:E.addPanelEmpty,children:c?`No staff match your search.`:`No teammates available to add yet.`})]})]})},na=({valid:e,saving:n,onCancel:r,onSubmit:i})=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(t.tt,{variant:`ghost`,onClick:r,children:`Cancel`}),(0,w.jsx)(t.tt,{variant:`primary`,isLoading:n,disabled:!e,onClick:i,children:`Create group`})]}),ra=({open:e,excludeIds:n,onClose:i,onCreated:a})=>{let o=Ki(),[s,c]=(0,r.useState)(``),[l,u]=(0,r.useState)([]),d=Zi(s,l),f=()=>{c(``),u([]),i()};return(0,w.jsx)(t.y,{open:e,onOpenChange:e=>{e||f()},title:`New group`,description:`Name the group and pick the staff to add.`,footer:(0,w.jsx)(na,{valid:d,saving:o.isPending,onCancel:f,onSubmit:()=>{d&&o.mutate({title:s,memberIds:l},{onSuccess:e=>{c(``),u([]),a(e)}})}}),children:(0,w.jsxs)(`div`,{className:E.newGroupBody,children:[(0,w.jsx)(t.$,{label:`Group name`,placeholder:`e.g. Autumn Intake Counsellors`,value:s,onChange:e=>{c(e.target.value)}}),(0,w.jsxs)(`div`,{className:E.membersSectionLabel,children:[`MEMBERS · `,l.length]}),(0,w.jsx)(ta,{excludeIds:n,selectedIds:l,onToggle:e=>{u(t=>Qi(t,e))}}),o.isError&&(0,w.jsx)(t.et,{tone:`error`,title:`Could not create group`,children:o.error.message})]})})},ia=({excludeIds:e,isPending:n,onPick:r})=>{let{search:i,setSearch:a,results:o,loading:s,hasQuery:c}=ea(e);return(0,w.jsxs)(`div`,{className:E.addPanel,children:[(0,w.jsxs)(`div`,{className:E.addPanelSearch,children:[(0,w.jsx)(Ge,{size:14}),(0,w.jsx)(`input`,{className:E.searchInput,placeholder:`Search staff`,value:i,onChange:e=>{a(e.target.value)}}),s&&(0,w.jsx)(t.nt,{size:`sm`,label:`Searching staff`})]}),(0,w.jsxs)(`div`,{className:E.addPanelList,children:[o.map(e=>(0,w.jsxs)(`button`,{type:`button`,className:E.staffPickRow,disabled:n,onClick:()=>{r(e)},children:[(0,w.jsx)(`span`,{className:E.memberRowAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`span`,{className:E.memberRowBody,children:[(0,w.jsx)(`span`,{className:E.memberRowName,children:e.name}),(0,w.jsx)(`span`,{className:E.memberRowRole,children:e.role})]})]},e.id)),o.length===0&&!s&&(0,w.jsx)(`p`,{className:E.addPanelEmpty,children:c?`No staff match your search.`:`No teammates available to message yet.`})]}),n&&(0,w.jsx)(`div`,{className:E.pickerPending,children:(0,w.jsx)(t.nt,{size:`sm`,label:`Starting chat`})})]})},aa=({onSelectDirect:e,onSelectGroup:t})=>[{id:`new-chat`,label:(0,w.jsxs)(`div`,{className:E.menuItemContent,children:[(0,w.jsx)(`div`,{className:E.chatIconTile,children:(0,w.jsx)(Te,{size:18})}),(0,w.jsxs)(`div`,{className:E.menuItemText,children:[(0,w.jsx)(`span`,{className:E.menuItemTitle,children:`New chat`}),(0,w.jsx)(`span`,{className:E.menuItemSub,children:`Direct message a contact`})]})]}),onSelect:e},{id:`new-group`,label:(0,w.jsxs)(`div`,{className:E.menuItemContent,children:[(0,w.jsx)(`div`,{className:E.groupIconTile,children:(0,w.jsx)(ct,{size:18})}),(0,w.jsxs)(`div`,{className:E.menuItemText,children:[(0,w.jsx)(`span`,{className:E.menuItemTitle,children:`New group`}),(0,w.jsx)(`span`,{className:E.menuItemSub,children:`Create a group chat`})]})]}),onSelect:t}],oa=({onOpenConversation:e})=>{let[n,i]=(0,r.useState)(`none`),a=Fi(),o=Gi(),s=a.data?[a.data.id]:[],c=()=>{i(`none`)},l=t=>{c(),e(t.id)},u=e=>{o.mutate(e.id,{onSuccess:l,onError:()=>{t.l.error(`Could not start that chat`)}})},d=aa({onSelectDirect:()=>{i(`direct`)},onSelectGroup:()=>{i(`group`)}});return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(t.g,{align:`end`,trigger:(0,w.jsx)(`button`,{type:`button`,className:E.composeBtn,"aria-label":`New conversation`,children:(0,w.jsx)(je,{size:16})}),items:d}),(0,w.jsx)(t.y,{open:n===`direct`,onOpenChange:e=>{e||c()},title:`New direct message`,description:`Pick a staff member to message.`,children:(0,w.jsx)(ia,{excludeIds:s,isPending:o.isPending,onPick:u})}),(0,w.jsx)(ra,{open:n===`group`,excludeIds:s,onClose:c,onCreated:l})]})},sa=[{id:`all`,label:`All`},{id:`unread`,label:`Unread`},{id:`favourites`,label:`Favourites`},{id:`groups`,label:`Groups`},{id:`archive`,label:`Archive`}],ca=(e,t)=>{if(e===void 0)return null;let n=t===`archive`?e.archived:t===`unread`?e.unread:t===`favourites`?e.favourites:t===`groups`?e.groups:0;return n>0?n:null},la=e=>(e?.unread??0)>0,ua={type:`spring`,stiffness:420,damping:34},da=({entry:e,active:n,counts:r,onSelect:i})=>{let a=e.id===n,o=ca(r,e.id),s=e.id===`all`&&la(r);return(0,w.jsxs)(`button`,{type:`button`,className:t.at(E.tab,a&&E.tabActive),onClick:()=>{i(e.id)},children:[a&&(0,w.jsx)(t.C.span,{layoutId:`chatTabBg`,className:E.tabBg,transition:ua}),(0,w.jsx)(`span`,{className:E.tabLabel,children:e.label}),o!==null&&(0,w.jsx)(`span`,{className:E.tabCount,children:o}),s&&(0,w.jsx)(`span`,{className:E.tabDot})]})},fa=({active:e,counts:n,onSelect:i})=>{let a=(0,r.useRef)(null),[o,s]=(0,r.useState)(!1),[c,l]=(0,r.useState)(!1),u=()=>{let e=a.current;e&&(s(e.scrollLeft>1),l(e.scrollLeft<e.scrollWidth-e.clientWidth-1))};(0,r.useEffect)(()=>{let e=a.current;if(e)return u(),e.addEventListener(`scroll`,u),window.addEventListener(`resize`,u),()=>{e.removeEventListener(`scroll`,u),window.removeEventListener(`resize`,u)}},[n,e]);let d=e=>{a.current?.scrollBy({left:e===`left`?-80:80,behavior:`smooth`})};return(0,w.jsxs)(`div`,{className:E.tabsWrapper,children:[o&&(0,w.jsx)(`button`,{type:`button`,className:t.at(E.arrowBtn,E.arrowLeft),onClick:()=>{d(`left`)},"aria-label":`Scroll left`,children:(0,w.jsx)(S,{size:14})}),(0,w.jsx)(`div`,{className:E.tabs,ref:a,children:sa.map(t=>(0,w.jsx)(da,{entry:t,active:e,counts:n,onSelect:i},t.id))}),c&&(0,w.jsx)(`button`,{type:`button`,className:t.at(E.arrowBtn,E.arrowRight),onClick:()=>{d(`right`)},"aria-label":`Scroll right`,children:(0,w.jsx)(t.ct,{size:14})})]})},pa=({virtualRow:e,measureElement:n,isLoaderRow:r,conversation:i,activeId:a,actions:o,isFetchingNextPage:s,onRequestDelete:c,onSelect:l})=>r?(0,w.jsx)(`div`,{ref:n,"data-index":e.index,style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${String(e.start)}px)`},children:s&&(0,w.jsx)(`div`,{className:E.loadMore,children:(0,w.jsx)(t.nt,{size:`sm`,label:`Loading more chats`})})}):i?(0,w.jsx)(`div`,{ref:n,"data-index":e.index,style:{position:`absolute`,top:0,left:0,width:`100%`,transform:`translateY(${String(e.start)}px)`},children:(0,w.jsx)(si,{conversation:i,active:i.id===a,actions:o,onSelect:()=>{l(i.id)},onRequestDelete:c})}):null,ma=({conversations:e,activeId:t,actions:n,hasNextPage:i,isFetchingNextPage:a,onLoadMore:o,onRequestDelete:s,onSelect:c})=>{let l=(0,r.useRef)(null),u=Hn({count:i?e.length+1:e.length,getScrollElement:()=>l.current,estimateSize:()=>54,overscan:10}),d=u.getVirtualItems();return(0,r.useEffect)(()=>{let t=d[d.length-1];t!==void 0&&t.index>=e.length-1&&i&&!a&&o()},[d,i,a,e.length,o]),(0,w.jsxs)(`div`,{className:E.rows,ref:l,children:[(0,w.jsx)(`div`,{style:{height:`${String(u.getTotalSize())}px`,width:`100%`,position:`relative`},children:d.map(r=>(0,w.jsx)(pa,{virtualRow:r,measureElement:u.measureElement,isLoaderRow:r.index>e.length-1,conversation:e[r.index],activeId:t,actions:n,isFetchingNextPage:a,onRequestDelete:s,onSelect:c},r.index>e.length-1?`loader`:e[r.index]?.id??r.index))}),e.length===0&&!i&&!a&&(0,w.jsx)(`p`,{className:E.empty,children:`No conversations here.`})]})},ha=({conversations:e,activeId:t,actions:n,filter:r,hasNextPage:i,isFetchingNextPage:a,onLoadMore:o,onRequestDelete:s,onSelect:c})=>(0,w.jsxs)(`div`,{className:E.list,children:[(0,w.jsxs)(`div`,{className:E.listHead,children:[(0,w.jsx)(`h1`,{className:E.listTitle,children:`Chats`}),(0,w.jsx)(oa,{onOpenConversation:c})]}),(0,w.jsxs)(`div`,{className:E.search,children:[(0,w.jsx)(Ge,{size:14}),(0,w.jsx)(`input`,{className:E.searchInput,placeholder:`Search conversations`,value:r.search,onChange:e=>{r.onSearchChange(e.target.value)}}),r.search.length>0&&(0,w.jsx)(`button`,{type:`button`,className:E.searchClearBtn,"aria-label":`Clear search`,onClick:()=>{r.onSearchChange(``)},children:(0,w.jsx)(C,{size:14})})]}),(0,w.jsx)(fa,{active:r.tab,counts:r.counts,onSelect:r.onTabChange}),(0,w.jsx)(ma,{conversations:e,activeId:t,actions:n,hasNextPage:i,isFetchingNextPage:a,onLoadMore:o,onRequestDelete:s,onSelect:c})]}),O={root:`_root_1tuup_1`,list:`_list_1tuup_7`,listHead:`_listHead_1tuup_17`,title:`_title_1tuup_21`,pulse:`_pulse_1tuup_1`,search:`_search_1tuup_30`,rows:`_rows_1tuup_38`,row:`_row_1tuup_38`,rowAvatar:`_rowAvatar_1tuup_53`,rowBody:`_rowBody_1tuup_62`,line:`_line_1tuup_69`,medium:`_medium_1tuup_76`,full:`_full_1tuup_80`,view:`_view_1tuup_84`,viewHead:`_viewHead_1tuup_91`,messages:`_messages_1tuup_100`,bubbleWrap:`_bubbleWrap_1tuup_108`,me:`_me_1tuup_76`,bubbleAvatar:`_bubbleAvatar_1tuup_118`,bubble:`_bubble_1tuup_108`,narrow:`_narrow_1tuup_139`,wide:`_wide_1tuup_143`},ga=()=>(0,w.jsxs)(`div`,{className:O.root,children:[(0,w.jsxs)(`div`,{className:O.list,children:[(0,w.jsx)(`div`,{className:O.listHead,children:(0,w.jsx)(`div`,{className:O.title})}),(0,w.jsx)(`div`,{className:O.search}),(0,w.jsx)(`div`,{className:O.rows,children:[1,2,3,4,5].map(e=>(0,w.jsxs)(`div`,{className:O.row,children:[(0,w.jsx)(`div`,{className:O.rowAvatar}),(0,w.jsxs)(`div`,{className:O.rowBody,children:[(0,w.jsx)(`div`,{className:t.at(O.line,O.medium)}),(0,w.jsx)(`div`,{className:t.at(O.line,O.full)})]})]},e))})]}),(0,w.jsxs)(`div`,{className:O.view,children:[(0,w.jsxs)(`div`,{className:O.viewHead,children:[(0,w.jsx)(`div`,{className:O.rowAvatar}),(0,w.jsxs)(`div`,{className:O.rowBody,children:[(0,w.jsx)(`div`,{className:t.at(O.line,O.medium)}),(0,w.jsx)(`div`,{className:t.at(O.line,O.medium,O.narrow)})]})]}),(0,w.jsxs)(`div`,{className:O.messages,children:[(0,w.jsxs)(`div`,{className:O.bubbleWrap,children:[(0,w.jsx)(`div`,{className:O.bubbleAvatar}),(0,w.jsx)(`div`,{className:O.bubble})]}),(0,w.jsx)(`div`,{className:t.at(O.bubbleWrap,O.me),children:(0,w.jsx)(`div`,{className:O.bubble})}),(0,w.jsxs)(`div`,{className:O.bubbleWrap,children:[(0,w.jsx)(`div`,{className:O.bubbleAvatar}),(0,w.jsx)(`div`,{className:t.at(O.bubble,O.wide)})]})]})]})]}),_a=class{gateway;constructor(e){this.gateway=e.usageGateway}execute(e,t){return this.gateway.listUsage(e,t)}},va=class{gateway;constructor(e){this.gateway=e.settingsGateway}execute(e){return this.gateway.rotateSecret(e)}},ya=class{gateway;constructor(e){this.gateway=e.settingsGateway}execute(){return this.gateway.getWebhookData()}},ba=class{gateway;constructor(e){this.gateway=e.settingsGateway}execute(e){return this.gateway.retryWebhook(e)}},xa=class{gateway;constructor(e){this.gateway=e.settingsGateway}execute(e){return this.gateway.skipWebhook(e)}},Sa=class{gateway;constructor(e){this.gateway=e.groupCategoriesGateway}execute(){return this.gateway.listGroupCategories()}},Ca=class{gateway;constructor(e){this.gateway=e.groupCategoriesGateway}execute(e){return this.gateway.saveGroupCategory(e)}},wa=class{gateway;constructor(e){this.gateway=e.groupCategoriesGateway}execute(e){return this.gateway.deleteGroupCategory(e)}},Ta=class{gateway;constructor(e){this.gateway=e.groupProvisioningGateway}execute(e){return this.gateway.provisionGroup(e)}},Ea=class{gateway;constructor(e){this.gateway=e.settingsGateway}execute(){return this.gateway.listWebhookEndpoints()}},Da=class{gateway;constructor(e){this.gateway=e.settingsGateway}execute(e){return this.gateway.saveWebhookEndpoint(e)}},Oa=class{gateway;constructor(e){this.gateway=e.settingsGateway}execute(e){return this.gateway.deleteWebhookEndpoint(e)}},ka=class{gateway;constructor(e){this.gateway=e.settingsGateway}execute(e){return this.gateway.sendTestEvent(e)}},Aa=class{gateway;constructor(e){this.gateway=e.settingsGateway}execute(){return this.gateway.listPromoCategories()}},ja=class{gateway;constructor(e){this.gateway=e.settingsGateway}execute(e){return this.gateway.savePromoCategories(e)}},Ma=class{gateway;constructor(e){this.gateway=e.settingsGateway}execute(){return this.gateway.listCommTemplates()}},Na=class{gateway;constructor(e){this.gateway=e.settingsGateway}execute(e){return this.gateway.saveCommTemplate(e)}},Pa=class{gateway;constructor(e){this.gateway=e.settingsGateway}execute(e){return this.gateway.deleteCommTemplate(e)}},Fa=class{gateway;constructor(e){this.gateway=e.settingsGateway}execute(){return this.gateway.listPromotions()}},Ia=class{gateway;constructor(e){this.gateway=e.settingsGateway}execute(e){return this.gateway.savePromotion(e)}},La=class{gateway;constructor(e){this.gateway=e.settingsGateway}execute(e){return this.gateway.deletePromotion(e)}},Ra=class{gateway;constructor(e){this.gateway=e.feedPrefsGateway}execute(){return this.gateway.getContentPrefs()}},za=class{gateway;constructor(e){this.gateway=e.feedPrefsGateway}execute(e){return this.gateway.saveContentPrefs(e)}},Ba=class{gateway;constructor(e){this.gateway=e.feedPrefsGateway}execute(){return this.gateway.listFeedCategories()}},Va=class{gateway;constructor(e){this.gateway=e.feedPrefsGateway}execute(e){return this.gateway.saveFeedCategories(e)}},Ha=class{gateway;constructor(e){this.gateway=e.feedPrefsGateway}async execute(){return this.gateway.listFeedTemplates()}},Ua=class{gateway;constructor(e){this.gateway=e.feedPrefsGateway}async execute(e){return this.gateway.saveFeedTemplate(e)}},Wa=class{gateway;constructor(e){this.gateway=e.feedPrefsGateway}async execute(e){return this.gateway.deleteFeedTemplate(e)}},Ga=class{gateway;constructor(e){this.gateway=e.feedPrefsGateway}async execute(e){return this.gateway.listFeedCategoryItems(e)}},Ka=class{gateway;constructor(e){this.gateway=e.feedPrefsGateway}async execute(e,t){return this.gateway.listExternalFeedCategoryItems(e,t)}},qa=class{gateway;constructor(e){this.gateway=e.feedPrefsGateway}async execute(e){return this.gateway.saveFeedCategoryItem(e)}},Ja=class{gateway;constructor(e){this.gateway=e.feedPrefsGateway}async execute(e){return this.gateway.deleteFeedCategoryItem(e)}},Ya=class extends n.Kt{},k=class extends Ya{code=`SETTINGS_UNAVAILABLE`;constructor(e){super(`This settings area is currently unavailable. Please try again.`,{cause:e})}},Xa=class extends Ya{code=`SETTINGS_INVALID_FIELD`;constructor(e){super(e)}},Za=[{id:`text`,label:`Text`},{id:`id`,label:`ID / Code`},{id:`pill`,label:`Status pill`},{id:`date`,label:`Date`},{id:`link`,label:`Link`},{id:`person`,label:`Person`}],Qa=[`Hash`,`GraduationCap`,`Users`,`Building2`,`Briefcase`,`BookOpen`,`Globe`],$a=(e,t)=>e.branchHours[t]??e.defaultHours,eo=e=>Object.values(e).every(e=>e.active?n.Rt.create(e.from,e.to).ok:!0),to=e=>eo(e.defaultHours)&&Object.values(e.branchHours).every(e=>eo(e));({commission:[{token:`university`,label:`University`,description:`Partner university name`},{token:`commission_amount`,label:`Commission amount`,description:`Payout per enrolled student`,type:`currency`},{token:`commission_group`,label:`Commission group`,description:`Tier / group label (e.g. Gold)`,type:`badge`},{token:`minimum_student_requirement`,label:`Minimum students`,description:`Students needed to qualify`,type:`number`},{token:`account_intake`,label:`Intake`,description:`Eligible intake window`},{token:`start_from`,label:`Start date`,description:`When the deal becomes active`,type:`date`}],university:[{token:`university_name`,label:`University name`,description:`Name of the new university`},{token:`location`,label:`Location`,description:`City / country`},{token:`ranking`,label:`Ranking`,description:`League-table position or "New"`,type:`badge`},{token:`added_date`,label:`Added date`,description:`When it joined the catalog`,type:`date`}],course:[{token:`course_name`,label:`Course name`,description:`Name of the new course`},{token:`university`,label:`University`,description:`University offering the course`},{token:`level`,label:`Level`,description:`e.g. Undergraduate, Masters`},{token:`intake`,label:`Intake`,description:`Available intake window`},{token:`mode`,label:`Mode`,description:`On-campus, Online or Blended`}],event:[{token:`event_title`,label:`Event title`,description:`Name of the event`},{token:`event_location`,label:`Event location`,description:`Venue or "Online"`},{token:`event_date`,label:`Event date`,description:`When the event runs`,type:`date`},{token:`event_type`,label:`Event type`,description:`Webinar, Open day, Workshop…`,type:`badge`}],generic:[{token:`item_title`,label:`Item title`,description:`Title of each promo item you add`},{token:`item_description`,label:`Item description`,description:`Short line under the title`},{token:`category_name`,label:`Category name`,description:`The category's display name`},{token:`badge`,label:`Badge`,description:`Small label, e.g. "New" or "Hot"`,type:`badge`}]}).generic;var no=e=>[...e.matchAll(/\{\{\s*([a-z0-9_]+)\s*\}\}/gi)].map(e=>e[1]??``).filter(e=>e!==``),ro=(e,t)=>{let n=no(e);return n.length>0&&n.every(e=>(t[e]??``)===``)?``:e.replace(/\{\{\s*([a-z0-9_]+)\s*\}\}/gi,(e,n)=>t[n]??``)},io=(e,t)=>({statusLabel:ro(e.statusLabel,t),mainHeader:ro(e.mainHeader,t),cardTitle:ro(e.cardTitle,t),cardSubtitle:ro(e.cardSubtitle,t),dateLine:ro(e.dateLine,t),badgeText:ro(e.badgeText,t),amountText:ro(e.amountText,t),ctaText:ro(e.ctaText,t)}),ao={2:3e3,3:2500,4:2e3,5:1500},oo=class{id;name;role;level;msgs;audioCalls;audioMins;videoCalls;videoMins;constructor(e){this.id=e.id,this.name=e.name,this.role=e.role,this.level=e.level,this.msgs=e.msgs,this.audioCalls=e.audioCalls,this.audioMins=e.audioMins,this.videoCalls=e.videoCalls,this.videoMins=e.videoMins}get creditLimit(){return ao[this.level]??1500}get usagePct(){return Math.round(this.msgs/this.creditLimit*100)}},so=class{gateway;constructor(e){this.gateway=e.orgSettingsGateway}execute(){return this.gateway.getOrgSettings()}},co=class{gateway;constructor(e){this.gateway=e.orgSettingsGateway}execute(e){return to(e)?this.gateway.saveOrgSettings(e):Promise.resolve(n.Bt(new Xa(`Work hours start and end times cannot be identical.`)))}},lo=n.dt({id:n.pt(),name:n.pt(),role:n.pt(),level:n.ut().int(),msgs:n.ut().int(),audioCalls:n.ut().int(),audioMins:n.ut().int(),videoCalls:n.ut().int(),videoMins:n.ut().int(),creditLimit:n.ut().int(),usagePct:n.ut().int()}),uo=n.it(lo),fo=n.dt({id:n.pt().uuid(),name:n.pt(),direction:n.ht([n.pt(),n.ut()]),owner:n.pt().nullable().optional(),url:n.pt().nullable().optional(),eventKey:n.pt(),templateKey:n.pt().optional(),isDataSource:n.at().optional(),secret:n.pt(),status:n.ht([n.pt(),n.ut()]),health:n.dt({lastDelivery:n.pt().nullable().optional(),succeeded:n.ut().int().nullable().optional(),failed:n.ut().int().nullable().optional()}).nullable().optional(),extraProperties:n.ft(n.rt()).optional()}),po=n.dt({items:n.it(fo),totalCount:n.ut().int()}),mo=n.dt({key:n.pt(),label:n.pt(),type:n.pt(),icon:n.pt().nullable().optional(),source:n.pt().nullable().optional(),visible:n.at()}),ho=n.dt({id:n.pt().uuid(),tenantId:n.pt().uuid().nullable().optional(),name:n.pt(),description:n.pt().nullable().optional(),accent:n.pt(),icon:n.pt(),locked:n.at(),fields:n.it(mo),webhookId:n.pt().uuid().nullable().optional()});n.dt({items:n.it(ho),totalCount:n.ut().int()});var go=n.dt({id:n.pt(),name:n.pt(),slug:n.pt(),desc:n.pt(),cat:n.pt(),url:n.pt(),color:n.pt(),status:n.ht([n.pt(),n.ut()]),webhooks:n.ut().int(),lastSync:n.pt()}),_o=n.dt({key:n.pt(),app:n.pt(),desc:n.pt(),ver:n.pt(),hooks:n.ut().int(),schema:n.pt()}),vo=n.dt({id:n.pt(),webhook:n.pt(),event:n.pt(),reqId:n.pt(),status:n.pt(),code:n.ut().int(),duration:n.ut().int(),attempts:n.ut().int(),ts:n.pt()}),yo=n.dt({id:n.pt(),webhook:n.pt(),event:n.pt(),attempt:n.ut().int(),nextRetry:n.pt(),error:n.pt()}),bo=n.dt({id:n.pt(),name:n.pt(),desc:n.pt(),cat:n.pt(),fields:n.it(n.pt()),event:n.pt(),method:n.pt(),url:n.pt(),payload:n.pt()}),xo=n.dt({apps:n.it(go),events:n.it(_o),logs:n.it(vo),retryQueue:n.it(yo),templates:n.it(bo)}),So=e=>new oo({id:e.id,name:e.name,role:e.role,level:e.level,msgs:e.msgs,audioCalls:e.audioCalls,audioMins:e.audioMins,videoCalls:e.videoCalls,videoMins:e.videoMins}),Co=e=>{if(typeof e==`number`)return e===1?`paused`:e===2?`error`:`active`;let t=e.toLowerCase();return t===`paused`?`paused`:t===`error`?`error`:`active`},wo=e=>typeof e==`number`?e===1?`outbound`:`inbound`:e.toLowerCase()===`outbound`?`outbound`:`inbound`,To=e=>{let t=e?.succeeded??0,n=e?.failed??0,r=t+n;return{lastDelivery:e?.lastDelivery??null,successRate:r===0?100:Math.round(t/r*100),failures:n}},Eo=e=>({id:e.id,name:e.name,direction:wo(e.direction),owner:e.owner??``,url:e.url??``,eventKey:e.eventKey,templateKey:e.templateKey??``,isDataSource:e.isDataSource??!1,secret:e.secret,status:Co(e.status),health:To(e.health),extraProperties:e.extraProperties??{}}),Do=e=>({apps:e.apps.map(e=>({id:e.id,name:e.name,slug:e.slug,desc:e.desc,cat:e.cat,url:e.url,color:e.color,status:Co(e.status),webhooks:e.webhooks,lastSync:e.lastSync})),events:e.events.map(e=>({key:e.key,app:e.app,desc:e.desc,ver:e.ver,hooks:e.hooks,schema:e.schema})),logs:e.logs.map(e=>({id:e.id,webhook:e.webhook,event:e.event,reqId:e.reqId,status:e.status,code:e.code,duration:e.duration,attempts:e.attempts,ts:e.ts})),retryQueue:e.retryQueue.map(e=>({id:e.id,webhook:e.webhook,event:e.event,attempt:e.attempt,nextRetry:e.nextRetry,error:e.error})),templates:e.templates.map(e=>({id:e.id,name:e.name,desc:e.desc,cat:e.cat,fields:e.fields,event:e.event,method:e.method,url:e.url,payload:e.payload}))}),Oo=`/api/app/usage`,ko={week:`Week`,month:`Month`,quarter:`Quarter`,all:`All`},Ao=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`http-usage-gateway`)}async listUsage(e,t){try{let r=t?.trim()??``,i=r===``?`?period=${ko[e]}`:`?period=${ko[e]}&search=${encodeURIComponent(r)}`,a=await this.httpClient.get(`${Oo}${i}`),o=uo.safeParse(a);return o.success?n.Ut(o.data.map(So)):(this.logger.error(`Usage returned an unexpected shape`,o.error),n.Bt(new k(o.error)))}catch(e){return this.logger.error(`List usage failed`,e),n.Bt(new k(e))}}},jo=n.dt({key:n.pt(),label:n.pt(),color:n.pt(),templateIds:n.it(n.pt()).optional().default([]),dataTemplateIds:n.it(n.pt()).optional().default([]),webhookId:n.pt().nullable().optional()}),Mo=n.it(jo),No=n.dt({seeMore:n.it(n.pt()),seeLess:n.it(n.pt()),muted:n.it(n.pt()),preferredDepts:n.it(n.pt()),hiddenDepts:n.it(n.pt()),priorityOn:n.at()}),Po=n.dt({id:n.pt().uuid(),name:n.pt(),priority:n.ut().int(),color:n.pt(),active:n.at(),templateId:n.pt(),webhookId:n.pt().uuid().nullable().optional()}),Fo=n.dt({items:n.it(Po),totalCount:n.ut().int()}),Io=n.it(Po),Lo=n.dt({token:n.pt(),label:n.pt(),description:n.pt(),type:n.pt()}),Ro=n.dt({id:n.pt().uuid(),type:n.pt(),name:n.pt(),statusLabel:n.pt(),mainHeader:n.pt(),cardTitle:n.pt(),cardSubtitle:n.pt(),dateLine:n.pt(),badgeText:n.pt(),amountText:n.pt(),ctaText:n.pt(),custom:n.at(),fields:n.it(Lo)}),zo=n.dt({items:n.it(Ro),totalCount:n.ut().int()}),Bo=n.dt({id:n.pt().uuid(),categoryId:n.pt(),values:n.ft(n.pt())}),Vo=n.dt({items:n.it(Bo),totalCount:n.ut().int()}),Ho=n.dt({id:n.pt().uuid(),type:n.pt(),name:n.pt(),postTitle:n.pt().optional().default(``),postBody:n.pt().optional().default(``),custom:n.at().optional().default(!1),fields:n.it(Lo).optional().default([])}),Uo=n.dt({items:n.it(Ho),totalCount:n.ut().int()}),Wo=n.dt({id:n.pt().uuid(),categoryKey:n.pt(),values:n.ft(n.pt())}),Go=n.it(Wo),Ko=e=>({key:e.key,label:e.label,color:e.color,templateIds:e.templateIds,dataTemplateIds:e.dataTemplateIds,webhookId:e.webhookId??void 0}),qo=e=>({seeMore:e.seeMore,seeLess:e.seeLess,muted:e.muted,preferredDepts:e.preferredDepts,hiddenDepts:e.hiddenDepts,priorityOn:e.priorityOn}),Jo=e=>({id:e.id,type:e.type,name:e.name,postTitle:e.postTitle,postBody:e.postBody,custom:e.custom,fields:e.fields.map(e=>({token:e.token,label:e.label,description:e.description,type:e.type}))}),Yo=e=>({id:e.id,categoryKey:e.categoryKey,values:e.values}),Xo=class{httpClient;settingsLogger;constructor(e){this.httpClient=e.httpClient,this.settingsLogger=e.logger.child(`http-feed-preferences-gateway`)}async getContentPrefs(){try{let e=await this.httpClient.get(`/api/app/feed/content-prefs`),t=No.safeParse(e);return t.success?n.Ut(qo(t.data)):(this.settingsLogger.error(`Content preferences returned an unexpected shape`,t.error),n.Bt(new k(t.error)))}catch(e){return this.settingsLogger.error(`Get content preferences failed`,e),n.Bt(new k(e))}}async saveContentPrefs(e){try{let t=await this.httpClient.post(`/api/app/feed/save-content-prefs`,e),r=No.safeParse(t);return r.success?n.Ut(qo(r.data)):(this.settingsLogger.error(`Saved content preferences returned an unexpected shape`,r.error),n.Bt(new k(r.error)))}catch(e){return this.settingsLogger.error(`Save content preferences failed`,e),n.Bt(new k(e))}}async listFeedCategories(){try{let e=await this.httpClient.get(`/api/app/feed/feed-categories`),t=Mo.safeParse(e);return t.success?n.Ut(t.data.map(Ko)):(this.settingsLogger.error(`Feed categories returned an unexpected shape`,t.error),n.Bt(new k(t.error)))}catch(e){return this.settingsLogger.error(`List feed categories failed`,e),n.Bt(new k(e))}}async saveFeedCategories(e){try{let t=await this.httpClient.post(`/api/app/feed/save-feed-categories`,{categories:[...e]}),r=Mo.safeParse(t);return r.success?n.Ut(r.data.map(Ko)):(this.settingsLogger.error(`Saved feed categories returned an unexpected shape`,r.error),n.Bt(new k(r.error)))}catch(e){return this.settingsLogger.error(`Save feed categories failed`,e),n.Bt(new k(e))}}async listFeedTemplates(){try{let e=await this.httpClient.get(`/api/app/feed/feed-templates`),t=Uo.safeParse(e);return t.success?n.Ut(t.data.items.map(Jo)):(this.settingsLogger.error(`Feed templates returned an unexpected shape`,t.error),n.Bt(new k(t.error)))}catch(e){return this.settingsLogger.error(`List feed templates failed`,e),n.Bt(new k(e))}}async saveFeedTemplate(e){try{let t={id:e.id.startsWith(`tpl-`)?null:e.id,type:e.type,name:e.name,postTitle:e.postTitle,postBody:e.postBody,custom:e.custom??!1,fields:e.fields??[]},r=await this.httpClient.post(`/api/app/feed/save-feed-template`,t),i=Ho.safeParse(r);return i.success?n.Ut(Jo(i.data)):(this.settingsLogger.error(`Save feed template returned an unexpected shape`,i.error),n.Bt(new k(i.error)))}catch(e){return this.settingsLogger.error(`Save feed template failed`,e),n.Bt(new k(e))}}async deleteFeedTemplate(e){try{return await this.httpClient.delete(`/api/app/feed/${e}/feed-template`),n.Ut(e)}catch(e){return this.settingsLogger.error(`Delete feed template failed`,e),n.Bt(new k(e))}}async listFeedCategoryItems(e){try{let t=e?`?categoryKey=${encodeURIComponent(e)}`:``,r=await this.httpClient.get(`/api/app/feed/feed-category-items${t}`),i=Go.safeParse(r);return i.success?n.Ut(i.data.map(Yo)):(this.settingsLogger.error(`Feed category items returned an unexpected shape`,i.error),n.Bt(new k(i.error)))}catch(e){return this.settingsLogger.error(`List feed category items failed`,e),n.Bt(new k(e))}}async listExternalFeedCategoryItems(e,t){try{let r=t?`&query=${encodeURIComponent(t)}`:``,i=await this.httpClient.get(`/api/app/feed/external-category-items?categoryKey=${encodeURIComponent(e)}${r}`),a=Go.safeParse(i);return a.success?n.Ut(a.data.map(Yo)):(this.settingsLogger.error(`External feed category items returned an unexpected shape`,a.error),n.Bt(new k(a.error)))}catch(e){return this.settingsLogger.error(`List external feed category items failed`,e),n.Bt(new k(e))}}async saveFeedCategoryItem(e){try{let t={id:e.id.startsWith(`item-`)||e.id.startsWith(`promo-`)?null:e.id,categoryKey:e.categoryKey,values:e.values},r=await this.httpClient.post(`/api/app/feed/save-feed-category-item`,t),i=Wo.safeParse(r);return i.success?n.Ut(Yo(i.data)):(this.settingsLogger.error(`Save feed category item returned an unexpected shape`,i.error),n.Bt(new k(i.error)))}catch(e){return this.settingsLogger.error(`Save feed category item failed`,e),n.Bt(new k(e))}}async deleteFeedCategoryItem(e){try{return await this.httpClient.delete(`/api/app/feed/${e}/feed-category-item`),n.Ut(e)}catch(e){return this.settingsLogger.error(`Delete feed category item failed`,e),n.Bt(new k(e))}}},Zo=n.dt({active:n.at(),from:n.pt(),to:n.pt()}),Qo=n.dt({mon:Zo,tue:Zo,wed:Zo,thu:Zo,fri:Zo,sat:Zo,sun:Zo}),$o=n.dt({id:n.pt(),name:n.pt(),address:n.pt(),flag:n.pt(),color:n.pt(),timezone:n.pt()}),es=n.dt({details:n.dt({name:n.pt(),headquarters:n.pt()}),branches:n.it($o),defaultHours:Qo,branchHours:n.ft(n.pt(),Qo)}),ts=e=>({active:e.active,from:e.from,to:e.to}),ns=e=>({mon:ts(e.mon),tue:ts(e.tue),wed:ts(e.wed),thu:ts(e.thu),fri:ts(e.fri),sat:ts(e.sat),sun:ts(e.sun)}),rs=e=>({id:e.id,name:e.name,address:e.address,flag:e.flag,color:e.color,timezone:e.timezone}),is=e=>{let t={};for(let[n,r]of Object.entries(e))t[n]=ns(r);return t},as=e=>({details:{name:e.details.name,headquarters:e.details.headquarters},branches:e.branches.map(rs),defaultHours:ns(e.defaultHours),branchHours:is(e.branchHours)}),os=e=>({name:e.details.name,headquarters:e.details.headquarters,branches:e.branches,defaultHours:e.defaultHours,branchHours:e.branchHours}),ss=`/api/app/org-settings`,cs=`/api/app/org-settings/save`,ls=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`http-org-settings-gateway`)}async getOrgSettings(){try{let e=await this.httpClient.get(ss);return this.parse(e,`Org settings`)}catch(e){return this.logger.error(`Get org settings failed`,e),n.Bt(new k(e))}}async saveOrgSettings(e){try{let t=await this.httpClient.post(cs,os(e));return this.parse(t,`Saved org settings`)}catch(e){return this.logger.error(`Save org settings failed`,e),n.Bt(new k(e))}}parse(e,t){let r=es.safeParse(e);return r.success?n.Ut(as(r.data)):(this.logger.error(`${t} returned an unexpected shape`,r.error),n.Bt(new k(r.error)))}},us=e=>({id:e.id,name:e.name,priority:e.priority,color:e.color,active:e.active,templateId:e.templateId,webhookId:e.webhookId??null}),ds=e=>({id:e.id,type:e.type,name:e.name,statusLabel:e.statusLabel,mainHeader:e.mainHeader,cardTitle:e.cardTitle,cardSubtitle:e.cardSubtitle,dateLine:e.dateLine,badgeText:e.badgeText,amountText:e.amountText,ctaText:e.ctaText,custom:e.custom,fields:e.fields.map(e=>({token:e.token,label:e.label,description:e.description,type:e.type||`text`}))}),fs=e=>({id:e.id,categoryId:e.categoryId,values:{...e.values}}),ps=class{httpClient;settingsLogger;constructor(e){this.httpClient=e.httpClient,this.settingsLogger=e.logger.child(`http-promotions-gateway`)}async listPromoCategories(){try{let e=await this.httpClient.get(`/api/app/promo-category?maxResultCount=1000`),t=Fo.safeParse(e);return t.success?n.Ut(t.data.items.map(us)):(this.settingsLogger.error(`Promo categories returned an unexpected shape`,t.error),n.Bt(new k(t.error)))}catch(e){return this.settingsLogger.error(`List promo categories failed`,e),n.Bt(new k(e))}}async savePromoCategories(e){try{let t=e.map(e=>({id:e.id.startsWith(`pc-`)||e.id===`new`?null:e.id,name:e.name,color:e.color,active:e.active,templateId:e.templateId,webhookId:e.webhookId})),r=await this.httpClient.post(`/api/app/promo-category/save-list`,t),i=Io.safeParse(r);return i.success?n.Ut(i.data.map(us)):(this.settingsLogger.error(`Save promo categories returned an unexpected shape`,i.error),n.Bt(new k(i.error)))}catch(e){return this.settingsLogger.error(`Save promo categories failed`,e),n.Bt(new k(e))}}async listCommTemplates(){try{let e=await this.httpClient.get(`/api/app/comm-template?maxResultCount=1000`),t=zo.safeParse(e);return t.success?n.Ut(t.data.items.map(ds)):(this.settingsLogger.error(`Comm templates returned an unexpected shape`,t.error),n.Bt(new k(t.error)))}catch(e){return this.settingsLogger.error(`List comm templates failed`,e),n.Bt(new k(e))}}async saveCommTemplate(e){try{let t={id:e.id.startsWith(`tpl-`)?null:e.id,type:e.type,name:e.name,statusLabel:e.statusLabel,mainHeader:e.mainHeader,cardTitle:e.cardTitle,cardSubtitle:e.cardSubtitle,dateLine:e.dateLine,badgeText:e.badgeText,amountText:e.amountText,ctaText:e.ctaText,custom:e.custom??!1,fields:e.fields??[]},r=await this.httpClient.post(`/api/app/comm-template/save`,t),i=Ro.safeParse(r);return i.success?n.Ut(ds(i.data)):(this.settingsLogger.error(`Save comm template returned an unexpected shape`,i.error),n.Bt(new k(i.error)))}catch(e){return this.settingsLogger.error(`Save comm template failed`,e),n.Bt(new k(e))}}async deleteCommTemplate(e){try{return await this.httpClient.delete(`/api/app/comm-template/${e}`),n.Ut(e)}catch(e){return this.settingsLogger.error(`Delete comm template failed`,e),n.Bt(new k(e))}}async listPromotions(){try{let e=await this.httpClient.get(`/api/app/promotion?maxResultCount=1000`),t=Vo.safeParse(e);return t.success?n.Ut(t.data.items.map(fs)):(this.settingsLogger.error(`Promotions returned an unexpected shape`,t.error),n.Bt(new k(t.error)))}catch(e){return this.settingsLogger.error(`List promotions failed`,e),n.Bt(new k(e))}}async savePromotion(e){try{let t={id:e.id,categoryId:e.categoryId,values:e.values},r=await this.httpClient.post(`/api/app/promotion/save`,t),i=Bo.safeParse(r);return i.success?n.Ut(fs(i.data)):(this.settingsLogger.error(`Save promotion returned an unexpected shape`,i.error),n.Bt(new k(i.error)))}catch(e){return this.settingsLogger.error(`Save promotion failed`,e),n.Bt(new k(e))}}async deletePromotion(e){try{return await this.httpClient.delete(`/api/app/promotion/${e}`),n.Ut(e)}catch(e){return this.settingsLogger.error(`Delete promotion failed`,e),n.Bt(new k(e))}}},ms=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`http-webhook-gateway`)}async listWebhookEndpoints(){try{let e=await this.httpClient.get(`/api/app/webhook-endpoint?maxResultCount=1000`),t=po.safeParse(e);return t.success?n.Ut(t.data.items.map(Eo)):(this.logger.error(`Webhook endpoints returned unexpected shape`,t.error),n.Bt(new k(t.error)))}catch(e){return this.logger.error(`List webhook endpoints failed`,e),n.Bt(new k(e))}}async saveWebhookEndpoint(e){try{let t={id:e.id,name:e.name,direction:e.direction===`inbound`?0:1,owner:e.owner,url:e.url,eventKey:e.eventKey,templateKey:e.templateKey,secret:e.secret,status:e.status===`active`?0:e.status===`paused`?1:2,extraProperties:e.extraProperties},r=await this.httpClient.post(`/api/app/webhook-endpoint/save`,t),i=fo.safeParse(r);return i.success?n.Ut(Eo(i.data)):(this.logger.error(`Saved webhook endpoint returned unexpected shape`,i.error),n.Bt(new k(i.error)))}catch(e){return this.logger.error(`Save webhook endpoint failed`,e),n.Bt(new k(e))}}async deleteWebhookEndpoint(e){try{return await this.httpClient.delete(`/api/app/webhook-endpoint/${e}`),n.Ut(e)}catch(e){return this.logger.error(`Delete webhook endpoint failed`,e),n.Bt(new k(e))}}async rotateSecret(e){try{let t=await this.httpClient.post(`/api/app/webhook-endpoint/${e}/rotate-secret`),r=fo.safeParse(t);return r.success?n.Ut(Eo(r.data)):(this.logger.error(`Rotated secret returned unexpected shape`,r.error),n.Bt(new k(r.error)))}catch(e){return this.logger.error(`Rotate signing secret failed`,e),n.Bt(new k(e))}}async getWebhookData(){try{let e=await this.httpClient.get(`/api/app/webhook-endpoint/webhook-data`),t=xo.safeParse(e);return t.success?n.Ut(Do(t.data)):(this.logger.error(`Webhook overview data returned unexpected shape`,t.error),n.Bt(new k(t.error)))}catch(e){return this.logger.error(`Get webhook overview data failed`,e),n.Bt(new k(e))}}async sendTestEvent(e){try{return await this.httpClient.post(`/api/app/webhook-endpoint/${e}/send-test-event`),n.Ut(void 0)}catch(e){return this.logger.error(`Send test event failed`,e),n.Bt(new k(e))}}async retryWebhook(e){try{return await this.httpClient.post(`/api/app/webhook-delivery/${e}/retry`),n.Ut(void 0)}catch(e){return this.logger.error(`Retry webhook delivery failed`,e),n.Bt(new k(e))}}async skipWebhook(e){try{return await this.httpClient.post(`/api/app/webhook-delivery/${e}/skip`),n.Ut(void 0)}catch(e){return this.logger.error(`Skip webhook delivery failed`,e),n.Bt(new k(e))}}},hs=n.dt({key:n.pt(),label:n.pt(),type:n.ut(),icon:n.pt(),source:n.pt(),visible:n.at()}),gs=n.dt({id:n.pt(),name:n.pt(),locked:n.at(),description:n.pt(),accent:n.pt(),icon:n.ut(),webhookId:n.pt().nullable().optional(),fields:n.it(hs)}).passthrough(),_s=n.dt({items:n.it(gs),totalCount:n.ut()}),vs=e=>Qa[e]??`Hash`,ys=e=>{let t=Qa.indexOf(e);return t<0?0:t},bs=e=>Za[e]?.id??`text`,xs=e=>{let t=Za.findIndex(t=>t.id===e);return t<0?0:t},Ss=e=>({id:e.id,tenantId:``,name:e.name,locked:e.locked,description:e.description,accent:e.accent,icon:vs(e.icon),webhookId:e.webhookId??null,fields:e.fields.map(t=>({id:`${e.id}:${t.key}`,key:t.key,label:t.label,type:bs(t.type),icon:t.icon,source:t.source,visible:t.visible}))}),Cs=e=>({id:e.id,name:e.name,description:e.description,accent:e.accent,icon:ys(e.icon),webhookId:e.webhookId,fields:e.fields.map(e=>({key:e.key,label:e.label,type:xs(e.type),icon:e.icon,source:e.source,visible:e.visible}))}),ws=e=>{let t=[];for(let n of e)if(typeof n==`object`&&n&&`message`in n){let e=n;typeof e.message==`string`&&e.message.trim().length>0&&t.push(e.message.trim())}return t.length===0?null:Array.from(new Set(t)).join(`
6
- `)},Ts=e=>{if(Array.isArray(e.validationErrors)&&e.validationErrors.length>0){let t=ws(e.validationErrors);if(t!==null)return t}return typeof e.details==`string`&&e.details.trim().length>0?e.details.trim():typeof e.message==`string`&&e.message.trim().length>0?e.message.trim():null},Es=e=>{if(typeof e!=`object`||!e)return null;let t=e;return Ts(`error`in t&&typeof t.error==`object`&&t.error!==null?t.error:t)},Ds=(e,t)=>{let r=t instanceof n.gt?Es(t.body):null;return r===null?(e.error(`Settings request failed`,t),new k(t)):(e.warn(`Settings request failed with server message`,{message:r}),new Xa(r))},Os=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`http-group-categories-gateway`)}async listGroupCategories(){try{let e=await this.httpClient.get(`/api/app/group-category?maxResultCount=1000`),t=_s.safeParse(e);return t.success?n.Ut(t.data.items.map(Ss)):(this.logger.error(`Group categories returned unexpected shape`,t.error),n.Bt(new k(t.error)))}catch(e){return n.Bt(Ds(this.logger,e))}}async saveGroupCategory(e){try{let t=await this.httpClient.post(`/api/app/group-category/save`,Cs(e)),r=gs.safeParse(t);return r.success?n.Ut(Ss(r.data)):(this.logger.error(`Saved group category returned unexpected shape`,r.error),n.Bt(new k(r.error)))}catch(e){return n.Bt(Ds(this.logger,e))}}async deleteGroupCategory(e){try{return await this.httpClient.delete(`/api/app/group-category/${e}`),n.Ut(e)}catch(e){return n.Bt(Ds(this.logger,e))}}},ks=n.dt({conversationId:n.pt(),isNew:n.at(),skipped:n.at()}),As=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`http-group-provisioning-gateway`)}async provisionGroup(e){try{let t=await this.httpClient.post(`/api/app/group-provisioning/provision`,e),r=ks.safeParse(t);return r.success?n.Ut(r.data):(this.logger.error(`Provision group returned unexpected shape`,r.error),n.Bt(new k(r.error)))}catch(e){return n.Bt(Ds(this.logger,e))}}},js=e=>{let t=new Ao({httpClient:e.httpClient,logger:e.logger}),n=new ms({httpClient:e.httpClient,logger:e.logger}),r=new Xo({httpClient:e.httpClient,logger:e.logger}),i=new ls({httpClient:e.httpClient,logger:e.logger}),a=new ps({httpClient:e.httpClient,logger:e.logger}),o=new As({httpClient:e.httpClient,logger:e.logger}),s=new Os({httpClient:e.httpClient,logger:e.logger}),c={usageGateway:t,logger:e.logger},l={groupCategoriesGateway:s,logger:e.logger},u={feedPrefsGateway:r,logger:e.logger},d={orgSettingsGateway:i,logger:e.logger},f={settingsGateway:a,logger:e.logger},p={settingsGateway:n,logger:e.logger};return{listUsage:new _a(c),getWebhookData:new ya(p),listGroupCategories:new Sa(l),saveGroupCategory:new Ca(l),deleteGroupCategory:new wa(l),listWebhookEndpoints:new Ea(p),saveWebhookEndpoint:new Da(p),deleteWebhookEndpoint:new Oa(p),rotateSecret:new va(p),sendTestEvent:new ka(p),retryWebhook:new ba(p),skipWebhook:new xa(p),listPromoCategories:new Aa(f),savePromoCategories:new ja(f),listCommTemplates:new Ma(f),saveCommTemplate:new Na(f),deleteCommTemplate:new Pa(f),listPromotions:new Fa(f),savePromotion:new Ia(f),deletePromotion:new La(f),getOrgSettings:new so(d),saveOrgSettings:new co(d),getContentPrefs:new Ra(u),saveContentPrefs:new za(u),listFeedCategories:new Ba(u),saveFeedCategories:new Va(u),listFeedTemplates:new Ha(u),saveFeedTemplate:new Ua(u),deleteFeedTemplate:new Wa(u),listFeedCategoryItems:new Ga(u),listExternalFeedCategoryItems:new Ka(u),saveFeedCategoryItem:new qa(u),deleteFeedCategoryItem:new Ja(u),provisionGroup:new Ta({groupProvisioningGateway:o,logger:e.logger})}},Ms=(0,r.createContext)(null),Ns=({module:e,children:t})=>(0,w.jsx)(Ms.Provider,{value:e,children:t}),Ps=()=>{let e=(0,r.useContext)(Ms);if(e===null)throw Error(`Settings hooks must be used within <SettingsModuleProvider>.`);return e},Fs={promoCategories:[`settings`,`promo-categories`],commTemplates:[`settings`,`comm-templates`],promotions:[`settings`,`promotions`]},Is=()=>{let{listPromoCategories:e}=Ps();return n.M({queryKey:Fs.promoCategories,queryFn:()=>n.Wt(e.execute())})},Ls=()=>{let{listCommTemplates:e}=Ps();return n.M({queryKey:Fs.commTemplates,queryFn:()=>n.Wt(e.execute())})},Rs=()=>{let{listPromotions:e}=Ps();return n.M({queryKey:Fs.promotions,queryFn:()=>n.Wt(e.execute())})},zs={usage:[`settings`,`usage`],groupCategories:[`settings`,`group-categories`],orgSettings:[`settings`,`org-settings`],contentPrefs:[`settings`,`content-prefs`],feedCategories:[`settings`,`feed-categories`],feedTemplates:[`settings`,`feed-templates`],feedCategoryItems:[`settings`,`feed-category-items`]},Bs=()=>{let{listGroupCategories:e}=Ps();return n.M({queryKey:zs.groupCategories,queryFn:()=>n.Wt(e.execute())})},Vs=()=>{let{getOrgSettings:e}=Ps();return n.M({queryKey:zs.orgSettings,queryFn:()=>n.Wt(e.execute())})},Hs=()=>{let{listFeedTemplates:e}=Ps();return n.M({queryKey:zs.feedTemplates,queryFn:()=>n.Wt(e.execute())})},Us=e=>{let{listFeedCategoryItems:t}=Ps();return n.M({queryKey:[...zs.feedCategoryItems,e??`all`],queryFn:()=>n.Wt(t.execute(e))})},Ws=(e,t,r=!0)=>{let{listExternalFeedCategoryItems:i}=Ps();return n.M({queryKey:[...zs.feedCategoryItems,`external`,e,t??``],queryFn:()=>n.Wt(i.execute(e,t)),enabled:r&&e!==``})},Gs={screen:`_screen_bso11_1`,center:`_center_bso11_15`,head:`_head_bso11_21`,crumb:`_crumb_bso11_29`,title:`_title_bso11_34`,subtitle:`_subtitle_bso11_44`,muted:`_muted_bso11_50`,strong:`_strong_bso11_55`,code:`_code_bso11_60`,tabs:`_tabs_bso11_67`,tab:`_tab_bso11_67`,tabActive:`_tabActive_bso11_93`,filterBar:`_filterBar_bso11_99`,pillsContainer:`_pillsContainer_bso11_107`,pills:`_pills_bso11_107`,pill:`_pill_bso11_107`,pillAdd:`_pillAdd_bso11_142`,pillBg:`_pillBg_bso11_166`,pillLabel:`_pillLabel_bso11_174`,pillActive:`_pillActive_bso11_179`,pillChipActive:`_pillChipActive_bso11_183`,select:`_select_bso11_189`,input:`_input_bso11_190`,inputInvalid:`_inputInvalid_bso11_209`,fieldError:`_fieldError_bso11_215`,kpiRow:`_kpiRow_bso11_227`,kpiCard:`_kpiCard_bso11_233`,kpiIcon:`_kpiIcon_bso11_244`,kpiValue:`_kpiValue_bso11_255`,kpiLabel:`_kpiLabel_bso11_261`,tableWrap:`_tableWrap_bso11_268`,table:`_table_bso11_268`,th:`_th_bso11_283`,row:`_row_bso11_295`,barTrack:`_barTrack_bso11_306`,barFill:`_barFill_bso11_314`,barLabel:`_barLabel_bso11_321`,pillBadge:`_pillBadge_bso11_326`,pillOk:`_pillOk_bso11_333`,pillBad:`_pillBad_bso11_326`,field:`_field_bso11_215`,label:`_label_bso11_351`,req:`_req_bso11_357`,formGrid:`_formGrid_bso11_362`,swatches:`_swatches_bso11_368`,swatch:`_swatch_bso11_368`,swatchActive:`_swatchActive_bso11_383`,checkbox:`_checkbox_bso11_387`,formFooter:`_formFooter_bso11_401`,editBtn:`_editBtn_bso11_408`,deleteBtn:`_deleteBtn_bso11_409`,prefsWrap:`_prefsWrap_bso11_433`,catWrap:`_catWrap_bso11_434`,promoWrap:`_promoWrap_bso11_435`,tplWrap:`_tplWrap_bso11_436`,guide:`_guide_bso11_437`,retryList:`_retryList_bso11_438`,prefBlock:`_prefBlock_bso11_449`,prefHeading:`_prefHeading_bso11_455`,prefRow:`_prefRow_bso11_462`,catRow:`_catRow_bso11_463`,promoRow:`_promoRow_bso11_464`,dragHandle:`_dragHandle_bso11_488`,priorityBadge:`_priorityBadge_bso11_492`,prefDot:`_prefDot_bso11_496`,promoNameBtn:`_promoNameBtn_bso11_501`,activeCheck:`_activeCheck_bso11_506`,promoRowDragging:`_promoRowDragging_bso11_531`,promoRowDragOver:`_promoRowDragOver_bso11_535`,dragHandleOff:`_dragHandleOff_bso11_559`,prefName:`_prefName_bso11_564`,catLabel:`_catLabel_bso11_565`,prefBtns:`_prefBtns_bso11_572`,prefBtn:`_prefBtn_bso11_572`,prefBtnActive:`_prefBtnActive_bso11_588`,catActions:`_catActions_bso11_595`,catHead:`_catHead_bso11_600`,webhookFilterBar:`_webhookFilterBar_bso11_616`,catHeadDesc:`_catHeadDesc_bso11_636`,catList:`_catList_bso11_644`,catKey:`_catKey_bso11_649`,promoList:`_promoList_bso11_659`,promoRowOff:`_promoRowOff_bso11_672`,reorder:`_reorder_bso11_676`,reorderBtn:`_reorderBtn_bso11_681`,priorityBadgeOff:`_priorityBadgeOff_bso11_704`,tplHint:`_tplHint_bso11_726`,tplEditLayout:`_tplEditLayout_bso11_732`,tplEditForm:`_tplEditForm_bso11_739`,tplEditPreview:`_tplEditPreview_bso11_744`,tplLiveHead:`_tplLiveHead_bso11_752`,tplMirrorHead:`_tplMirrorHead_bso11_764`,tplLiveDot:`_tplLiveDot_bso11_778`,tplPulse:`_tplPulse_bso11_1`,promoNameTop:`_promoNameTop_bso11_826`,promoName:`_promoName_bso11_501`,promoNameOff:`_promoNameOff_bso11_839`,promoNameMeta:`_promoNameMeta_bso11_844`,tplBadge:`_tplBadge_bso11_858`,catCount:`_catCount_bso11_867`,campaignBox:`_campaignBox_bso11_872`,campaignHead:`_campaignHead_bso11_885`,campaignHeadTitle:`_campaignHeadTitle_bso11_892`,campaignCount:`_campaignCount_bso11_903`,campaignList:`_campaignList_bso11_918`,seeAll:`_seeAll_bso11_924`,cpTop:`_cpTop_bso11_940`,cpHead:`_cpHead_bso11_952`,cpTitle:`_cpTitle_bso11_959`,cpCount:`_cpCount_bso11_966`,cpSearch:`_cpSearch_bso11_973`,cpSearchIcon:`_cpSearchIcon_bso11_979`,cpSearchInput:`_cpSearchInput_bso11_985`,cpList:`_cpList_bso11_995`,cpFooter:`_cpFooter_bso11_1002`,campaignEmpty:`_campaignEmpty_bso11_1013`,campaignRow:`_campaignRow_bso11_1023`,campaignText:`_campaignText_bso11_1034`,campaignTitle:`_campaignTitle_bso11_1042`,campaignSub:`_campaignSub_bso11_1048`,campaignMeta:`_campaignMeta_bso11_1053`,campaignChip:`_campaignChip_bso11_1060`,campaignChipLabel:`_campaignChipLabel_bso11_1072`,campaignAmount:`_campaignAmount_bso11_1077`,campaignBadge:`_campaignBadge_bso11_1083`,promoPreview:`_promoPreview_bso11_1092`,promoCard:`_promoCard_bso11_1110`,promoCardHeader:`_promoCardHeader_bso11_1119`,promoCardStatus:`_promoCardStatus_bso11_1128`,promoCardHeading:`_promoCardHeading_bso11_1139`,promoCardBody:`_promoCardBody_bso11_1147`,promoItem:`_promoItem_bso11_1154`,promoItemText:`_promoItemText_bso11_1165`,promoItemTitle:`_promoItemTitle_bso11_1174`,promoItemSub:`_promoItemSub_bso11_1184`,promoItemDate:`_promoItemDate_bso11_1191`,promoItemBadge:`_promoItemBadge_bso11_1200`,promoItemAmount:`_promoItemAmount_bso11_1209`,promoViewAll:`_promoViewAll_bso11_1219`,promoStatus:`_promoStatus_bso11_1249`,promoHeader:`_promoHeader_bso11_1256`,promoCardInner:`_promoCardInner_bso11_1263`,promoCardTitle:`_promoCardTitle_bso11_1273`,promoCardSub:`_promoCardSub_bso11_1278`,promoDate:`_promoDate_bso11_1279`,promoCardFoot:`_promoCardFoot_bso11_1284`,promoBadge:`_promoBadge_bso11_1291`,promoAmount:`_promoAmount_bso11_1300`,promoCta:`_promoCta_bso11_1305`,tplLayout:`_tplLayout_bso11_1312`,tplList:`_tplList_bso11_1321`,tplItem:`_tplItem_bso11_1328`,tplItemActive:`_tplItemActive_bso11_1341`,tplDot:`_tplDot_bso11_1346`,tplItemText:`_tplItemText_bso11_1354`,tplItemName:`_tplItemName_bso11_1361`,tplItemMeta:`_tplItemMeta_bso11_1370`,editorPane:`_editorPane_bso11_1375`,editorName:`_editorName_bso11_1388`,editorMeta:`_editorMeta_bso11_1401`,editorMetaCard:`_editorMetaCard_bso11_1408`,iconPicker:`_iconPicker_bso11_1422`,iconChoice:`_iconChoice_bso11_1428`,iconChoiceActive:`_iconChoiceActive_bso11_1446`,intGuide:`_intGuide_bso11_1453`,intToggle:`_intToggle_bso11_1459`,intChevron:`_intChevron_bso11_1472`,intChevronOpen:`_intChevronOpen_bso11_1476`,intSteps:`_intSteps_bso11_1480`,intStep:`_intStep_bso11_1480`,intNum:`_intNum_bso11_1494`,intStepBody:`_intStepBody_bso11_1508`,intStepTitle:`_intStepTitle_bso11_1516`,intText:`_intText_bso11_1522`,intIntro:`_intIntro_bso11_1538`,intList:`_intList_bso11_1545`,intOl:`_intOl_bso11_1558`,registry:`_registry_bso11_1581`,regStats:`_regStats_bso11_1587`,regList:`_regList_bso11_1593`,regRow:`_regRow_bso11_1599`,regRowMain:`_regRowMain_bso11_1618`,regRowName:`_regRowName_bso11_1625`,regRowMeta:`_regRowMeta_bso11_1631`,regRowEnd:`_regRowEnd_bso11_1636`,regRate:`_regRate_bso11_1643`,regDetail:`_regDetail_bso11_1649`,regDetailHead:`_regDetailHead_bso11_1657`,regDetailTitle:`_regDetailTitle_bso11_1663`,feedEmpty:`_feedEmpty_bso11_1670`,feedEmptyText:`_feedEmptyText_bso11_1680`,feedEmptyTitle:`_feedEmptyTitle_bso11_1685`,feedHead:`_feedHead_bso11_1692`,feedTitle:`_feedTitle_bso11_1699`,feedMeta:`_feedMeta_bso11_1708`,feedActions:`_feedActions_bso11_1714`,tplPreview:`_tplPreview_bso11_1721`,tplPreviewLabel:`_tplPreviewLabel_bso11_1731`,tplPreviewCard:`_tplPreviewCard_bso11_1739`,tplPreviewAvatar:`_tplPreviewAvatar_bso11_1752`,tplPreviewText:`_tplPreviewText_bso11_1764`,tplPreviewTitleRow:`_tplPreviewTitleRow_bso11_1772`,tplPreviewTitle:`_tplPreviewTitle_bso11_1772`,tplPreviewPill:`_tplPreviewPill_bso11_1789`,tplPreviewSub:`_tplPreviewSub_bso11_1798`,fieldsHead:`_fieldsHead_bso11_1806`,fieldList:`_fieldList_bso11_1813`,fieldCard:`_fieldCard_bso11_1819`,fieldCardMain:`_fieldCardMain_bso11_1829`,fieldLabelInput:`_fieldLabelInput_bso11_1836`,fieldTypeSelect:`_fieldTypeSelect_bso11_1849`,fieldKeyRow:`_fieldKeyRow_bso11_1861`,fieldKeyLabel:`_fieldKeyLabel_bso11_1868`,fieldKeyInput:`_fieldKeyInput_bso11_1875`,iconToggle:`_iconToggle_bso11_1887`,iconToggleOn:`_iconToggleOn_bso11_1900`,webhookBox:`_webhookBox_bso11_1906`,schema:`_schema_bso11_1919`,retryItem:`_retryItem_bso11_1931`,retryInfo:`_retryInfo_bso11_1941`,retryError:`_retryError_bso11_1947`,retryActions:`_retryActions_bso11_1952`,tplGrid:`_tplGrid_bso11_1958`,tplCard:`_tplCard_bso11_1964`,tplCardHead:`_tplCardHead_bso11_1976`,tplCat:`_tplCat_bso11_1983`,fieldRow:`_fieldRow_bso11_2001`,tplSidebar:`_tplSidebar_bso11_2026`,tplLock:`_tplLock_bso11_2032`,lockBadge:`_lockBadge_bso11_2038`,footerBtns:`_footerBtns_bso11_2052`,copyRow:`_copyRow_bso11_2059`,copyBtn:`_copyBtn_bso11_2070`,webhookFoot:`_webhookFoot_bso11_2092`,testBtn:`_testBtn_bso11_2100`,fieldRef:`_fieldRef_bso11_2119`,fieldRefHead:`_fieldRefHead_bso11_2127`,fieldRefHint:`_fieldRefHint_bso11_2144`,fieldRefList:`_fieldRefList_bso11_2153`,fieldRefItem:`_fieldRefItem_bso11_2158`,fieldRefToken:`_fieldRefToken_bso11_2179`,fieldRefDesc:`_fieldRefDesc_bso11_2191`,tokenWarn:`_tokenWarn_bso11_2197`,tplEditMain:`_tplEditMain_bso11_2217`,tplEditSide:`_tplEditSide_bso11_2223`,tplEditWrap:`_tplEditWrap_bso11_2230`,tplEditBar:`_tplEditBar_bso11_2236`,tplBarSpacer:`_tplBarSpacer_bso11_2245`,tcFieldsHead:`_tcFieldsHead_bso11_2291`,tcRows:`_tcRows_bso11_2300`,tcCard:`_tcCard_bso11_2307`,tcCardTop:`_tcCardTop_bso11_2317`,tcGrow:`_tcGrow_bso11_2323`,tcType:`_tcType_bso11_2337`,tcToken:`_tcToken_bso11_2350`,currencyWrap:`_currencyWrap_bso11_2365`,currencyPrefix:`_currencyPrefix_bso11_2372`,currencyInput:`_currencyInput_bso11_2378`,tokenRead:`_tokenRead_bso11_2394`,tokenReadOver:`_tokenReadOver_bso11_2416`,tokenReadStatic:`_tokenReadStatic_bso11_2422`,tokenInput:`_tokenInput_bso11_2430`,tokenPlaceholder:`_tokenPlaceholder_bso11_2441`,tokenChip:`_tokenChip_bso11_2446`,tokenChipBad:`_tokenChipBad_bso11_2462`,tokenChipX:`_tokenChipX_bso11_2468`,palette:`_palette_bso11_2497`,paletteGroup:`_paletteGroup_bso11_2507`,paletteGroupLabel:`_paletteGroupLabel_bso11_2513`,paletteChips:`_paletteChips_bso11_2521`,paletteChipWrap:`_paletteChipWrap_bso11_2527`,paletteChip:`_paletteChip_bso11_2521`,paletteGrip:`_paletteGrip_bso11_2559`,paletteToken:`_paletteToken_bso11_2564`,paletteDesc:`_paletteDesc_bso11_2575`,paletteHint:`_paletteHint_bso11_2581`,simMemberRow:`_simMemberRow_bso11_2588`,simMemberRemove:`_simMemberRemove_bso11_2595`,signatureContainer:`_signatureContainer_bso11_2610`,signatureLabel:`_signatureLabel_bso11_2616`,signatureCheckbox:`_signatureCheckbox_bso11_2624`,signatureText:`_signatureText_bso11_2633`,signatureTitle:`_signatureTitle_bso11_2639`,signatureDesc:`_signatureDesc_bso11_2646`,usageSearch:`_usageSearch_bso11_2653`,usageSearchIcon:`_usageSearchIcon_bso11_2661`,usageSearchInput:`_usageSearchInput_bso11_2668`},Ks=(e,t)=>{let n=new Date;return{item_count:String(t),current_year:String(n.getFullYear()),current_date:n.toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}),...e}},qs=({card:e})=>(0,w.jsxs)(`div`,{className:Gs.promoItem,children:[(0,w.jsxs)(`span`,{className:Gs.promoItemText,children:[e.cardTitle!==``&&(0,w.jsx)(`span`,{className:Gs.promoItemTitle,children:e.cardTitle}),e.cardSubtitle!==``&&(0,w.jsx)(`span`,{className:Gs.promoItemSub,children:e.cardSubtitle}),e.dateLine!==``&&(0,w.jsx)(`span`,{className:Gs.promoItemDate,children:e.dateLine})]}),e.amountText!==``&&(0,w.jsx)(`span`,{className:Gs.promoItemAmount,children:e.amountText}),e.badgeText!==``&&e.amountText===``&&(0,w.jsx)(`span`,{className:Gs.promoItemBadge,children:e.badgeText})]}),Js=({template:e,color:n,name:r,count:i,items:a,onViewAll:o})=>{let s=a[0];if(s===void 0)return null;let c=io(e,Ks(s.values,i));return(0,w.jsxs)(t.C.div,{className:Gs.promoCard,style:t.it({"--cat":n}),initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.22,ease:`easeOut`},children:[(0,w.jsxs)(`div`,{className:Gs.promoCardHeader,children:[c.statusLabel!==``&&(0,w.jsx)(`span`,{className:Gs.promoCardStatus,children:c.statusLabel}),(0,w.jsx)(p,{size:11,color:n})]}),(0,w.jsxs)(`div`,{className:Gs.promoCardBody,children:[a.map(t=>(0,w.jsx)(qs,{card:io(e,Ks(t.values,i))},t.id)),o!==void 0&&(0,w.jsx)(`button`,{type:`button`,className:Gs.promoViewAll,onClick:o,children:c.ctaText===``?`View all`:c.ctaText})]})]})},Ys=[`available`,`busy`,`inMeeting`,`focus`,`away`,`offline`],Xs=e=>Ys[e??-1]??`offline`,Zs=e=>Ys.indexOf(e),Qs=[{id:`available`,label:`Available`,tone:`success`},{id:`busy`,label:`Busy`,tone:`danger`},{id:`inMeeting`,label:`In a meeting`,tone:`danger`},{id:`focus`,label:`Focus`,tone:`primary`},{id:`away`,label:`Away`,tone:`warn`},{id:`offline`,label:`Offline`,tone:`neutral`}],$s={id:`offline`,label:`Offline`,tone:`neutral`},ec=e=>Qs.find(t=>t.id===e)??$s,tc=(e,t,n)=>{let{label:r}=ec(e);return t==null||e===`offline`?r:`${r} until ${n(t)}`},nc=t.u(e=>({byUser:{},watchers:{},apply:(t,n,r)=>{e(e=>({byUser:{...e.byUser,[t]:{status:n,untilUtc:r}}}))},applyMany:t=>{t.length!==0&&e(e=>{let n={...e.byUser};for(let e of t)n[e.userId]={status:e.status,untilUtc:e.untilUtc};return{byUser:n}})},watch:t=>{e(e=>({watchers:{...e.watchers,[t]:(e.watchers[t]??0)+1}}))},unwatch:t=>{e(e=>{let n=e.watchers[t]??0;if(n<=1){let{[t]:n,...r}=e.watchers;return{watchers:r}}return{watchers:{...e.watchers,[t]:n-1}}})},reset:()=>{e({byUser:{}})}})),rc=e=>{let t=nc(e=>e.watch),n=nc(e=>e.unwatch);return(0,r.useEffect)(()=>{if(e!=null)return t(e),()=>{n(e)}},[e,t,n]),nc(t=>e==null?void 0:t.byUser[e])},ic=()=>nc(e=>Object.keys(e.watchers).sort().join(`,`)),ac=(e,t,n)=>{nc.getState().apply(e,t,n)},oc=e=>{nc.getState().applyMany(e)},sc=()=>{nc.getState().reset()},cc=({status:e,untilUtc:n,formatUntil:r,size:i=`sm`})=>{let a=ec(e);return(0,w.jsx)(t.o,{tone:a.tone,variant:`soft`,size:i,children:r===void 0?a.label:tc(e,n,r)})},lc=class{callGateway;logger;constructor(e){this.callGateway=e.callGateway,this.logger=e.logger.child(`start-call`)}async execute(e,t=`audio`){let n=await this.callGateway.start(e,t);return n.ok||this.logger.warn(`Start call failed`,{code:n.error.code}),n}},uc=class{callGateway;logger;constructor(e){this.callGateway=e.callGateway,this.logger=e.logger.child(`accept-call`)}async execute(e){let t=await this.callGateway.accept(e);return t.ok||this.logger.warn(`Accept call failed`,{code:t.error.code}),t}},dc=class{callGateway;logger;constructor(e){this.callGateway=e.callGateway,this.logger=e.logger.child(`decline-call`)}async execute(e){let t=await this.callGateway.decline(e);return t.ok||this.logger.warn(`Decline call failed`,{code:t.error.code}),t}},fc=class{callGateway;logger;constructor(e){this.callGateway=e.callGateway,this.logger=e.logger.child(`cancel-call`)}async execute(e){let t=await this.callGateway.cancel(e);return t.ok||this.logger.warn(`Cancel call failed`,{code:t.error.code}),t}},pc=class{callGateway;logger;constructor(e){this.callGateway=e.callGateway,this.logger=e.logger.child(`end-call`)}async execute(e){let t=await this.callGateway.end(e);return t.ok||this.logger.warn(`End call failed`,{code:t.error.code}),t}},mc=class{callGateway;logger;constructor(e){this.callGateway=e.callGateway,this.logger=e.logger.child(`get-call-history`)}async execute(e=0,t=20){let n=await this.callGateway.history(e,t);return n.ok||this.logger.warn(`Get call history failed`,{code:n.error.code}),n}},hc=class{callGateway;logger;constructor(e){this.callGateway=e.callGateway,this.logger=e.logger.child(`heartbeat-call`)}async execute(e){let t=await this.callGateway.heartbeat(e);return t.ok||this.logger.debug(`Call heartbeat failed`,{code:t.error.code}),t}},gc=`ringing`,_c=`callee_unavailable`,vc=`callee_busy`,yc=class extends n.Kt{},bc=class extends yc{code=`CALL_FAILED`;constructor(e=`The call could not be completed. Please try again.`,t){super(e,{cause:t})}},xc=n.dt({token:n.pt(),providerType:n.pt(),roomId:n.pt(),participantName:n.pt()}).passthrough(),Sc=n.dt({active:n.at(),endReason:n.pt().nullish()}).passthrough(),Cc=n.dt({callId:n.pt(),status:n.pt(),joinTicket:xc.nullish()}).passthrough(),wc=n.dt({id:n.pt(),callerUserId:n.pt(),callerName:n.pt(),calleeUserId:n.pt(),calleeName:n.pt(),type:n.pt(),status:n.pt(),endReason:n.pt(),inbound:n.at(),ringingAtUtc:n.pt(),answeredAtUtc:n.pt().nullish(),endedAtUtc:n.pt().nullish(),durationSeconds:n.ut()}).passthrough(),Tc=n.dt({totalCount:n.ut(),items:n.it(wc)}).passthrough(),Ec=e=>e===`video`?`video`:`audio`,Dc=e=>({token:e.token,providerType:e.providerType,roomId:e.roomId,participantName:e.participantName}),Oc=e=>{switch(e){case gc:return gc;case vc:return vc;default:return _c}},kc=e=>({callId:e.callId,status:Oc(e.status),joinTicket:e.joinTicket?Dc(e.joinTicket):null}),Ac=e=>({id:e.id,callerUserId:e.callerUserId,callerName:e.callerName,calleeUserId:e.calleeUserId,calleeName:e.calleeName,type:Ec(e.type),status:e.status,endReason:e.endReason,inbound:e.inbound,ringingAtUtc:e.ringingAtUtc,answeredAtUtc:e.answeredAtUtc??null,endedAtUtc:e.endedAtUtc??null,durationSeconds:e.durationSeconds}),jc=e=>({items:e.items.map(Ac),total:e.totalCount}),Mc=e=>({active:e.active,endReason:e.endReason??null}),Nc=encodeURIComponent,Pc=`/api/app/call`,Fc={start:`${Pc}/start`,accept:e=>`${Pc}/${Nc(e)}/accept`,decline:e=>`${Pc}/${Nc(e)}/decline`,cancel:e=>`${Pc}/${Nc(e)}/cancel`,end:e=>`${Pc}/${Nc(e)}/end`,heartbeat:e=>`${Pc}/${Nc(e)}/heartbeat`,history:(e,t)=>`${Pc}/history?SkipCount=${String(e)}&MaxResultCount=${String(t)}`},Ic=class{http;logger;constructor(e){this.http=e.httpClient,this.logger=e.logger.child(`http-call-gateway`)}async start(e,t){try{let r=await this.http.post(Fc.start,{calleeUserId:e,type:t}),i=Cc.safeParse(r);return i.success?n.Ut(kc(i.data)):this.fail(`Start returned an unexpected shape`,i.error)}catch(e){return this.fail(`Placing the call failed`,e)}}async accept(e){try{let t=await this.http.post(Fc.accept(e)),r=xc.safeParse(t);return r.success?n.Ut(Dc(r.data)):this.fail(`Accept returned an unexpected shape`,r.error)}catch(e){return this.fail(`Answering the call failed`,e)}}async heartbeat(e){try{let t=await this.http.post(Fc.heartbeat(e)),r=Sc.safeParse(t);return r.success?n.Ut(Mc(r.data)):this.fail(`Heartbeat returned an unexpected shape`,r.error)}catch(e){return this.fail(`Reporting the call heartbeat failed`,e)}}decline(e){return this.signal(Fc.decline(e),`Declining the call failed`)}cancel(e){return this.signal(Fc.cancel(e),`Canceling the call failed`)}end(e){return this.signal(Fc.end(e),`Ending the call failed`)}async history(e,t){try{let r=await this.http.get(Fc.history(e,t)),i=Tc.safeParse(r);return i.success?n.Ut(jc(i.data)):this.fail(`History returned an unexpected shape`,i.error)}catch(e){return this.fail(`Loading call history failed`,e)}}async signal(e,t){try{return await this.http.post(e),n.Ut(void 0)}catch(e){return this.fail(t,e)}}fail(e,t){return this.logger.error(e,t),n.Bt(new bc(e,t))}},Lc={IncomingCall:`IncomingCall`,CallAccepted:`CallAccepted`,CallDeclined:`CallDeclined`,CallCanceled:`CallCanceled`,CallEnded:`CallEnded`},Rc=n.dt({callId:n.pt(),callerUserId:n.pt(),callerName:n.pt(),callerInitials:n.pt().optional().default(``),callerColor:n.pt().optional().default(``),type:n.pt()}).passthrough(),zc=n.dt({callId:n.pt()}).passthrough(),Bc=n.dt({callId:n.pt(),reason:n.pt()}).passthrough(),Vc=(e,t,n)=>{let r=Rc.safeParse(e);return r.success?r.data:(n.warn(`Ignoring malformed call realtime payload`,{event:t}),null)},Hc=(e,t,n)=>{let r=zc.safeParse(e);return r.success?r.data:(n.warn(`Ignoring malformed call realtime payload`,{event:t}),null)},Uc=(e,t,n)=>{let r=Bc.safeParse(e);return r.success?r.data:(n.warn(`Ignoring malformed call realtime payload`,{event:t}),null)},Wc={phase:`idle`,callId:null,direction:null,peerUserId:null,peerName:``,peerInitials:``,peerColor:``,mediaType:`audio`,dialId:null,ticket:null,muted:!1,connected:!1,activeSinceMs:null,endReason:null},Gc=()=>t.f(e=>({...Wc,incoming:({callId:t,peer:n,mediaType:r})=>{e({...Wc,phase:`incoming`,callId:t,direction:`incoming`,peerUserId:n.userId,peerName:n.name,peerInitials:n.initials,peerColor:n.color,mediaType:r})},dialing:({peer:t,mediaType:n,dialId:r})=>{e({...Wc,phase:`outgoing`,direction:`outgoing`,peerUserId:t.userId,peerName:t.name,peerInitials:t.initials,peerColor:t.color,mediaType:n,dialId:r})},attachOutgoing:({callId:t,ticket:n})=>{e(e=>e.direction!==`outgoing`||e.phase!==`outgoing`&&e.phase!==`active`?e:{callId:t,ticket:n})},activate:(t,n)=>{e(e=>({phase:`active`,ticket:t??e.ticket,activeSinceMs:e.activeSinceMs??n}))},markConnected:()=>{e({connected:!0})},ended:t=>{e({phase:`ended`,endReason:t,ticket:null,connected:!1})},reset:()=>{e({...Wc})},setMuted:t=>{e({muted:t})}})),Kc=e=>{let t={callGateway:new Ic({httpClient:e.httpClient,logger:e.logger}),logger:e.logger};return{startCall:new lc(t),acceptCall:new uc(t),declineCall:new dc(t),cancelCall:new fc(t),endCall:new pc(t),heartbeatCall:new hc(t),getCallHistory:new mc(t),realtime:e.realtime,store:Gc(),logger:e.logger.child(`calls-realtime`)}},qc=(0,r.createContext)(null),Jc=({module:e,children:t})=>(0,w.jsx)(qc.Provider,{value:e,children:t}),Yc=class extends n.Kt{},Xc=class extends Yc{code=`AUTH_INVALID_CREDENTIALS`;constructor(){super(`Your sign-in could not be completed. The link may have expired — please try again.`)}},A=class extends Yc{code=`AUTH_SERVICE_UNAVAILABLE`;constructor(e){super(`The authentication service is currently unavailable. Please try again.`,{cause:e})}},Zc=class{id;email;fullName;userType;roles;constructor(e){if(e.id.trim().length===0)throw Error(`AuthenticatedUser requires a non-empty id.`);this.id=e.id,this.email=e.email,this.fullName=e.fullName.trim().length>0?e.fullName:e.email.value,this.userType=e.userType,this.roles=new Set(e.roles.map(e=>e.toLowerCase()))}hasRole(e){return this.roles.has(e.toLowerCase())}hasAnyRole(e){return e.some(e=>this.hasRole(e))}get roleNames(){return[...this.roles]}},Qc=30,$c=class e{user;accessToken;refreshToken;tokenType;expiresAt;constructor(e){this.user=e.user,this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.tokenType=e.tokenType,this.expiresAt=e.expiresAt}isExpired(e){return this.expiresAt.getTime()-Qc*1e3<=e.getTime()}isValid(e){return this.accessToken.length>0&&!this.isExpired(e)}get canRefresh(){return this.refreshToken!==null&&this.refreshToken.length>0}authorizationHeader(){return`${this.tokenType} ${this.accessToken}`}snapshot(){return{user:{id:this.user.id,email:this.user.email.value,fullName:this.user.fullName,roles:this.user.roleNames,userType:this.user.userType},accessToken:this.accessToken,refreshToken:this.refreshToken,tokenType:this.tokenType,expiresAtIso:this.expiresAt.toISOString()}}static restore(t){let r=Gn.create(t.user.email);return n.Vt(r)?r:n.Ut(new e({user:new Zc({id:t.user.id,email:r.value,fullName:t.user.fullName,roles:t.user.roles,userType:t.user.userType}),accessToken:t.accessToken,refreshToken:t.refreshToken,tokenType:t.tokenType,expiresAt:new Date(t.expiresAtIso)}))}},el=class{authGateway;sessionStore;logger;constructor(e){this.authGateway=e.authGateway,this.sessionStore=e.sessionStore,this.logger=e.logger.child(`complete-sso-login`)}async execute(e){if(e.trim().length===0)return this.logger.warn(`SSO callback carried no secret`),n.Bt(new Xc);let t=await this.authGateway.exchangeSsoSecret(e);return n.Vt(t)?(this.logger.warn(`SSO secret exchange failed`,{code:t.error.code}),t):(this.sessionStore.save(t.value),this.logger.info(`User authenticated via UAPP SSO`,{userId:t.value.user.id}),t)}},tl=class{authGateway;sessionStore;logger;constructor(e){this.authGateway=e.authGateway,this.sessionStore=e.sessionStore,this.logger=e.logger.child(`logout`)}async execute(e){e!==null&&await this.authGateway.signOut(e),this.sessionStore.clear(),this.logger.info(`Session cleared`)}},nl=class{authGateway;sessionStore;clock;logger;constructor(e){this.authGateway=e.authGateway,this.sessionStore=e.sessionStore,this.clock=e.clock,this.logger=e.logger.child(`restore-session`)}async execute(){let e=this.sessionStore.load();if(e===null)return n.Ut(null);if(e.isValid(this.clock.now()))return n.Ut(e);let t=e.refreshToken;if(t===null||t.length===0)return this.sessionStore.clear(),n.Ut(null);let r=await this.authGateway.refresh(t);return n.Vt(r)?(this.logger.info(`Could not refresh session; signing out`,{code:r.error.code}),this.sessionStore.clear(),n.Ut(null)):(this.sessionStore.save(r.value),n.Ut(r.value))}},rl=class{authGateway;sessionStore;logger;constructor(e){this.authGateway=e.authGateway,this.sessionStore=e.sessionStore,this.logger=e.logger.child(`refresh-session`)}async execute(e){let t=e.refreshToken;if(t===null||t.length===0)return this.logger.info(`No refresh token available; signing out`),this.sessionStore.clear(),n.Bt(new Xc);let r=await this.authGateway.refresh(t);return n.Vt(r)?(this.logger.info(`Could not refresh session; signing out`,{code:r.error.code}),this.sessionStore.clear(),r):(this.sessionStore.save(r.value),r)}},il=n.dt({access_token:n.pt().min(1),token_type:n.pt().min(1).optional().default(`Bearer`),expires_in:n.ut().int().positive(),refresh_token:n.pt().min(1).nullable().optional()}),al=n.dt({error:n.pt().optional(),error_description:n.pt().optional()}),ol=n.dt({sub:n.pt().min(1),email:n.pt().optional(),name:n.pt().optional(),role:n.ht([n.pt(),n.it(n.pt())]).optional()}).passthrough(),sl=e=>e.role===void 0?[]:typeof e.role==`string`?[e.role]:e.role,cl=e=>{let t=e.split(`.`)[1];if(t===void 0||t.length===0)return n.Bt(new A(`Access token is not a JWT.`));let r=ll(t);if(r===null)return n.Bt(new A(`Access token payload is not valid base64url.`));let i;try{i=JSON.parse(r)}catch(e){return n.Bt(new A(e))}let a=ol.safeParse(i);return a.success?n.Ut(a.data):n.Bt(new A(a.error))},ll=e=>{let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=t.padEnd(Math.ceil(t.length/4)*4,`=`);try{let e=atob(n),t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=1)t[n]=e.charCodeAt(n);return new TextDecoder().decode(t)}catch{return null}},ul=(e,t)=>{let r=cl(e.access_token);if(n.Vt(r))return r;let i=r.value.email??r.value.name;if(i===void 0||i.length===0)return n.Bt(new A(`Access token carries no email/name claim.`));let a=Gn.create(i);return n.Vt(a)?n.Bt(new A(a.error)):n.Ut(new $c({user:new Zc({id:r.value.sub,email:a.value,fullName:r.value.name??a.value.value,roles:sl(r.value),userType:null}),accessToken:e.access_token,refreshToken:e.refresh_token??null,tokenType:e.token_type,expiresAt:new Date(t.getTime()+e.expires_in*1e3)}))},dl=`/connect/token`,fl=`CommunicationHub_App`,pl=`CommunicationHub offline_access`,ml=`uapp_sso`,hl=`refresh_token`,gl=`secret`,_l=class{httpClient;clock;logger;constructor(e){this.httpClient=e.httpClient,this.clock=e.clock,this.logger=e.logger.child(`uapp-sso-gateway`)}exchangeSsoSecret(e){return e.trim().length===0?Promise.resolve(n.Bt(new Xc)):this.requestToken({grant_type:ml,[gl]:e,client_id:fl,scope:pl})}refresh(e){return this.requestToken({grant_type:hl,refresh_token:e,client_id:fl,scope:pl})}signOut(e){return this.logger.debug(`Sign-out is local-only for the SSO client; no server call made.`),Promise.resolve()}async requestToken(e){try{let t=await this.httpClient.postForm(dl,e,{anonymous:!0}),r=il.safeParse(t);return r.success?ul(r.data,this.clock.now()):(this.logger.error(`Token endpoint returned an unexpected shape`,r.error),n.Bt(new A(r.error)))}catch(e){return n.Bt(this.mapError(e))}}mapError(e){return e instanceof n.gt?e.status===400||e.status===401?(this.logger.warn(`Token request was rejected`,{reason:vl(e.body)}),new Xc):(this.logger.error(`Token request failed with an unexpected status`,e),new A(e)):(this.logger.error(`Token request failed`,e),new A(e))}},vl=e=>{let t=al.safeParse(e);return t.success?t.data.error_description??t.data.error??`unknown`:`unknown`},yl=`auth.session`,bl=e=>`${e}.${yl}`,xl=n.dt({user:n.dt({id:n.pt(),email:n.pt(),fullName:n.pt(),roles:n.it(n.pt()),userType:n.pt().nullable()}),accessToken:n.pt(),refreshToken:n.pt().nullable(),tokenType:n.pt(),expiresAtIso:n.pt()}),Sl=class{storage;logger;key;constructor(e){this.storage=e.storage,this.logger=e.logger.child(`session-store`),this.key=bl(e.namespace)}load(){let e=this.storage.getItem(this.key);if(e===null)return null;let t=xl.safeParse(this.tryParseJson(e));if(!t.success)return this.logger.warn(`Discarding corrupt persisted session`),this.clear(),null;let r=$c.restore(t.data);return n.Vt(r)?(this.logger.warn(`Discarding unrestorable persisted session`),this.clear(),null):r.value}save(e){this.storage.setItem(this.key,JSON.stringify(e.snapshot()))}clear(){this.storage.removeItem(this.key)}tryParseJson(e){try{return JSON.parse(e)}catch{return null}}},Cl=e=>t.f((t,r)=>({status:`initializing`,session:null,error:null,loginUrl:e.loginUrl,initialize:async()=>{t({status:`initializing`,error:null});let r=await e.restoreSessionUseCase.execute(),i=n.Vt(r)?null:r.value;e.setAccessToken(i?.accessToken??null),t({status:i?`authenticated`:`unauthenticated`,session:i})},completeLogin:async r=>{t({status:`authenticating`,error:null});let i=await e.completeSsoLoginUseCase.execute(r);return n.Vt(i)?(t({status:`unauthenticated`,session:null,error:i.error.message}),!1):(e.setAccessToken(i.value.accessToken),t({status:`authenticated`,session:i.value,error:null}),!0)},logout:async()=>{await e.logoutUseCase.execute(r().session),e.setAccessToken(null),t({status:`unauthenticated`,session:null,error:null})},refreshSession:async()=>{let i=r().session;if(i===null)return!1;let a=await e.refreshSessionUseCase.execute(i);return n.Vt(a)?(e.setAccessToken(null),t({status:`unauthenticated`,session:null}),!1):(e.setAccessToken(a.value.accessToken),t({status:`authenticated`,session:a.value,error:null}),!0)},clearError:()=>{t({error:null})}})),wl=(0,r.createContext)(null),Tl=({store:e,children:t})=>((0,r.useEffect)(()=>{e.getState().initialize()},[e]),(0,w.jsx)(wl.Provider,{value:e,children:t})),El=e=>{let n=(0,r.useContext)(wl);if(n===null)throw Error(`Auth hooks must be used within <AuthStoreProvider>.`);return t.d(n,e)},Dl=()=>{let e=n.F(),t=El(e=>e.status),r=El(e=>e.session?.user??null),i=El(e=>e.error),a=El(e=>e.loginUrl),o=El(e=>e.completeLogin),s=El(e=>e.logout),c=El(e=>e.clearError);return{status:t,user:r,error:i,isAuthenticated:t===`authenticated`,isInitializing:t===`initializing`,isBusy:t===`authenticating`,loginUrl:a,completeLogin:o,logout:async()=>{e.clear(),await s()},clearError:c}},Ol=(e,t)=>{let n=e.status===`connected`;return e.onStatusChange(e=>{e===`connected`&&(n&&t.getState().phase===`outgoing`&&t.getState().reset(),n=!0)})},kl=e=>{let{connection:t,store:n,declineCall:r,logger:i}=e,a=[Ol(t,n),t.on(Lc.IncomingCall,e=>{let t=Vc(e,Lc.IncomingCall,i);if(t===null)return;let a=n.getState().phase;if(a!==`idle`&&a!==`ended`){r.execute(t.callId);return}n.getState().incoming({callId:t.callId,peer:{userId:t.callerUserId,name:t.callerName,initials:t.callerInitials,color:t.callerColor},mediaType:t.type===`video`?`video`:`audio`})}),t.on(Lc.CallAccepted,e=>{let t=Hc(e,Lc.CallAccepted,i);if(t===null)return;let r=n.getState();r.callId===t.callId&&(r.direction===`outgoing`?r.activate(null,Date.now()):r.phase===`incoming`&&r.reset())}),t.on(Lc.CallDeclined,e=>{let t=Hc(e,Lc.CallDeclined,i);t!==null&&n.getState().callId===t.callId&&n.getState().ended(`declined`)}),t.on(Lc.CallCanceled,e=>{let t=Hc(e,Lc.CallCanceled,i);t!==null&&n.getState().callId===t.callId&&n.getState().reset()}),t.on(Lc.CallEnded,e=>{let t=Uc(e,Lc.CallEnded,i);t!==null&&n.getState().callId===t.callId&&n.getState().ended(t.reason)})];return()=>{for(let e of a)e()}},Al=()=>{let e=(0,r.useContext)(qc);if(e===null)throw Error(`Calls hooks must be used within <CallsModuleProvider>.`);return e},jl=e=>t.d(Al().store,e),Ml=()=>{let{isAuthenticated:e}=Dl(),{realtime:t,store:n,declineCall:i,logger:a}=Al();(0,r.useEffect)(()=>kl({connection:t,store:n,declineCall:i,logger:a}),[t,n,i,a]),(0,r.useEffect)(()=>{if(!e){t.stop(),n.getState().reset();return}return t.start().catch(()=>void 0),()=>{t.stop()}},[e,t,n])},Nl=({children:e})=>(Ml(),(0,w.jsx)(w.Fragment,{children:e})),Pl=(e,t)=>{let n=e.currentTime+t.atMs/1e3,r=t.durMs/1e3,i=e.createGain();i.connect(e.destination),i.gain.setValueAtTime(1e-4,n),i.gain.linearRampToValueAtTime(t.volume,n+.02),i.gain.exponentialRampToValueAtTime(Math.max(1e-4,t.volume*.5),n+r*.6),i.gain.linearRampToValueAtTime(1e-4,n+r);let a=e.createOscillator();a.type=t.type??`triangle`,a.frequency.value=t.freq,a.connect(i),a.start(n),a.stop(n+r+.03)},Fl=()=>{let e=globalThis,t=e.AudioContext??e.webkitAudioContext;return typeof t==`function`?t:null},Il=()=>{let e=null,t=null,n=()=>{if(e!==null)return e;let t=Fl();return t===null?null:(e=new t,e)},r=()=>{t!==null&&(window.clearInterval(t),t=null)},i=e=>{let t=n();t!==null&&Pl(t,e)},a=(e,i)=>{r();let a=n();a!==null&&(a.resume().catch(()=>void 0),e(),t=window.setInterval(e,i))};return{unlock:()=>{let e=n();e!==null&&e.resume().catch(()=>void 0)},playRing:()=>{let e=e=>{i({freq:440,atMs:e+0,durMs:230,volume:.38}),i({freq:554,atMs:e+190,durMs:230,volume:.38}),i({freq:659,atMs:e+380,durMs:230,volume:.38}),i({freq:880,atMs:e+570,durMs:340,volume:.4})};a(()=>{e(0),e(900)},3e3)},playRingback:()=>{a(()=>{i({freq:440,atMs:0,durMs:1200,volume:.13,type:`sine`}),i({freq:480,atMs:0,durMs:1200,volume:.11,type:`sine`})},3e3)},stop:r,dispose:()=>{r(),e!==null&&(e.close().catch(()=>void 0),e=null)}}},Ll=(0,r.lazy)(()=>Promise.resolve().then(()=>require("./realtimekit-call-media-CbmaiBD9.cjs")).then(e=>({default:e.RealtimeKitCallMedia}))),Rl=e=>{let t=e.ticket.providerType;return(0,w.jsx)(r.Suspense,{fallback:null,children:t===`cloudflare`?(0,w.jsx)(Ll,{...e}):null})},zl=(e=window)=>e.documentPictureInPicture!==void 0,Bl=(e=window)=>e.documentPictureInPicture?.window??null,Vl=(e,t)=>{let n=Reflect.get(e,t);return n===void 0?[]:Array.from(n)},Hl=e=>[...Vl(e,`styleSheets`),...Vl(e,`adoptedStyleSheets`)],Ul=e=>{try{return Array.from(e.cssRules).map(e=>e.cssText).join(`
6
+ `)},Ts=e=>{if(Array.isArray(e.validationErrors)&&e.validationErrors.length>0){let t=ws(e.validationErrors);if(t!==null)return t}return typeof e.details==`string`&&e.details.trim().length>0?e.details.trim():typeof e.message==`string`&&e.message.trim().length>0?e.message.trim():null},Es=e=>{if(typeof e!=`object`||!e)return null;let t=e;return Ts(`error`in t&&typeof t.error==`object`&&t.error!==null?t.error:t)},Ds=(e,t)=>{let r=t instanceof n.gt?Es(t.body):null;return r===null?(e.error(`Settings request failed`,t),new k(t)):(e.warn(`Settings request failed with server message`,{message:r}),new Xa(r))},Os=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`http-group-categories-gateway`)}async listGroupCategories(){try{let e=await this.httpClient.get(`/api/app/group-category?maxResultCount=1000`),t=_s.safeParse(e);return t.success?n.Ut(t.data.items.map(Ss)):(this.logger.error(`Group categories returned unexpected shape`,t.error),n.Bt(new k(t.error)))}catch(e){return n.Bt(Ds(this.logger,e))}}async saveGroupCategory(e){try{let t=await this.httpClient.post(`/api/app/group-category/save`,Cs(e)),r=gs.safeParse(t);return r.success?n.Ut(Ss(r.data)):(this.logger.error(`Saved group category returned unexpected shape`,r.error),n.Bt(new k(r.error)))}catch(e){return n.Bt(Ds(this.logger,e))}}async deleteGroupCategory(e){try{return await this.httpClient.delete(`/api/app/group-category/${e}`),n.Ut(e)}catch(e){return n.Bt(Ds(this.logger,e))}}},ks=n.dt({conversationId:n.pt(),isNew:n.at(),skipped:n.at()}),As=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`http-group-provisioning-gateway`)}async provisionGroup(e){try{let t=await this.httpClient.post(`/api/app/group-provisioning/provision`,e),r=ks.safeParse(t);return r.success?n.Ut(r.data):(this.logger.error(`Provision group returned unexpected shape`,r.error),n.Bt(new k(r.error)))}catch(e){return n.Bt(Ds(this.logger,e))}}},js=e=>{let t=new Ao({httpClient:e.httpClient,logger:e.logger}),n=new ms({httpClient:e.httpClient,logger:e.logger}),r=new Xo({httpClient:e.httpClient,logger:e.logger}),i=new ls({httpClient:e.httpClient,logger:e.logger}),a=new ps({httpClient:e.httpClient,logger:e.logger}),o=new As({httpClient:e.httpClient,logger:e.logger}),s=new Os({httpClient:e.httpClient,logger:e.logger}),c={usageGateway:t,logger:e.logger},l={groupCategoriesGateway:s,logger:e.logger},u={feedPrefsGateway:r,logger:e.logger},d={orgSettingsGateway:i,logger:e.logger},f={settingsGateway:a,logger:e.logger},p={settingsGateway:n,logger:e.logger};return{listUsage:new _a(c),getWebhookData:new ya(p),listGroupCategories:new Sa(l),saveGroupCategory:new Ca(l),deleteGroupCategory:new wa(l),listWebhookEndpoints:new Ea(p),saveWebhookEndpoint:new Da(p),deleteWebhookEndpoint:new Oa(p),rotateSecret:new va(p),sendTestEvent:new ka(p),retryWebhook:new ba(p),skipWebhook:new xa(p),listPromoCategories:new Aa(f),savePromoCategories:new ja(f),listCommTemplates:new Ma(f),saveCommTemplate:new Na(f),deleteCommTemplate:new Pa(f),listPromotions:new Fa(f),savePromotion:new Ia(f),deletePromotion:new La(f),getOrgSettings:new so(d),saveOrgSettings:new co(d),getContentPrefs:new Ra(u),saveContentPrefs:new za(u),listFeedCategories:new Ba(u),saveFeedCategories:new Va(u),listFeedTemplates:new Ha(u),saveFeedTemplate:new Ua(u),deleteFeedTemplate:new Wa(u),listFeedCategoryItems:new Ga(u),listExternalFeedCategoryItems:new Ka(u),saveFeedCategoryItem:new qa(u),deleteFeedCategoryItem:new Ja(u),provisionGroup:new Ta({groupProvisioningGateway:o,logger:e.logger})}},Ms=(0,r.createContext)(null),Ns=({module:e,children:t})=>(0,w.jsx)(Ms.Provider,{value:e,children:t}),Ps=()=>{let e=(0,r.useContext)(Ms);if(e===null)throw Error(`Settings hooks must be used within <SettingsModuleProvider>.`);return e},Fs={promoCategories:[`settings`,`promo-categories`],commTemplates:[`settings`,`comm-templates`],promotions:[`settings`,`promotions`]},Is=()=>{let{listPromoCategories:e}=Ps();return n.M({queryKey:Fs.promoCategories,queryFn:()=>n.Wt(e.execute())})},Ls=()=>{let{listCommTemplates:e}=Ps();return n.M({queryKey:Fs.commTemplates,queryFn:()=>n.Wt(e.execute())})},Rs=()=>{let{listPromotions:e}=Ps();return n.M({queryKey:Fs.promotions,queryFn:()=>n.Wt(e.execute())})},zs={usage:[`settings`,`usage`],groupCategories:[`settings`,`group-categories`],orgSettings:[`settings`,`org-settings`],contentPrefs:[`settings`,`content-prefs`],feedCategories:[`settings`,`feed-categories`],feedTemplates:[`settings`,`feed-templates`],feedCategoryItems:[`settings`,`feed-category-items`]},Bs=()=>{let{listGroupCategories:e}=Ps();return n.M({queryKey:zs.groupCategories,queryFn:()=>n.Wt(e.execute())})},Vs=()=>{let{getOrgSettings:e}=Ps();return n.M({queryKey:zs.orgSettings,queryFn:()=>n.Wt(e.execute())})},Hs=()=>{let{listFeedTemplates:e}=Ps();return n.M({queryKey:zs.feedTemplates,queryFn:()=>n.Wt(e.execute())})},Us=e=>{let{listFeedCategoryItems:t}=Ps();return n.M({queryKey:[...zs.feedCategoryItems,e??`all`],queryFn:()=>n.Wt(t.execute(e))})},Ws=(e,t,r=!0)=>{let{listExternalFeedCategoryItems:i}=Ps();return n.M({queryKey:[...zs.feedCategoryItems,`external`,e,t??``],queryFn:()=>n.Wt(i.execute(e,t)),enabled:r&&e!==``})},Gs={screen:`_screen_1r2pu_1`,center:`_center_1r2pu_15`,head:`_head_1r2pu_21`,crumb:`_crumb_1r2pu_29`,title:`_title_1r2pu_34`,subtitle:`_subtitle_1r2pu_44`,muted:`_muted_1r2pu_50`,strong:`_strong_1r2pu_55`,code:`_code_1r2pu_60`,tabs:`_tabs_1r2pu_67`,tab:`_tab_1r2pu_67`,tabActive:`_tabActive_1r2pu_93`,filterBar:`_filterBar_1r2pu_99`,pillsContainer:`_pillsContainer_1r2pu_107`,pills:`_pills_1r2pu_107`,pill:`_pill_1r2pu_107`,pillAdd:`_pillAdd_1r2pu_142`,pillBg:`_pillBg_1r2pu_166`,pillLabel:`_pillLabel_1r2pu_174`,pillActive:`_pillActive_1r2pu_179`,pillChipActive:`_pillChipActive_1r2pu_183`,select:`_select_1r2pu_189`,input:`_input_1r2pu_190`,inputInvalid:`_inputInvalid_1r2pu_209`,fieldError:`_fieldError_1r2pu_215`,kpiRow:`_kpiRow_1r2pu_227`,kpiCard:`_kpiCard_1r2pu_233`,kpiIcon:`_kpiIcon_1r2pu_244`,kpiValue:`_kpiValue_1r2pu_255`,kpiLabel:`_kpiLabel_1r2pu_261`,tableWrap:`_tableWrap_1r2pu_268`,table:`_table_1r2pu_268`,th:`_th_1r2pu_283`,row:`_row_1r2pu_295`,barTrack:`_barTrack_1r2pu_306`,barFill:`_barFill_1r2pu_314`,barLabel:`_barLabel_1r2pu_321`,pillBadge:`_pillBadge_1r2pu_326`,pillOk:`_pillOk_1r2pu_333`,pillBad:`_pillBad_1r2pu_326`,field:`_field_1r2pu_215`,label:`_label_1r2pu_351`,req:`_req_1r2pu_357`,formGrid:`_formGrid_1r2pu_362`,swatches:`_swatches_1r2pu_368`,swatch:`_swatch_1r2pu_368`,swatchActive:`_swatchActive_1r2pu_383`,checkbox:`_checkbox_1r2pu_387`,formFooter:`_formFooter_1r2pu_401`,editBtn:`_editBtn_1r2pu_408`,deleteBtn:`_deleteBtn_1r2pu_409`,prefsWrap:`_prefsWrap_1r2pu_433`,catWrap:`_catWrap_1r2pu_434`,promoWrap:`_promoWrap_1r2pu_435`,tplWrap:`_tplWrap_1r2pu_436`,guide:`_guide_1r2pu_437`,retryList:`_retryList_1r2pu_438`,prefBlock:`_prefBlock_1r2pu_449`,prefHeading:`_prefHeading_1r2pu_455`,prefRow:`_prefRow_1r2pu_462`,catRow:`_catRow_1r2pu_463`,promoRow:`_promoRow_1r2pu_464`,dragHandle:`_dragHandle_1r2pu_488`,priorityBadge:`_priorityBadge_1r2pu_492`,prefDot:`_prefDot_1r2pu_496`,promoNameBtn:`_promoNameBtn_1r2pu_501`,activeCheck:`_activeCheck_1r2pu_506`,promoRowDragging:`_promoRowDragging_1r2pu_531`,promoRowDragOver:`_promoRowDragOver_1r2pu_535`,dragHandleOff:`_dragHandleOff_1r2pu_559`,prefName:`_prefName_1r2pu_564`,catLabel:`_catLabel_1r2pu_565`,prefBtns:`_prefBtns_1r2pu_572`,prefBtn:`_prefBtn_1r2pu_572`,prefBtnActive:`_prefBtnActive_1r2pu_588`,catActions:`_catActions_1r2pu_595`,catHead:`_catHead_1r2pu_600`,webhookFilterBar:`_webhookFilterBar_1r2pu_616`,catHeadDesc:`_catHeadDesc_1r2pu_637`,catList:`_catList_1r2pu_645`,catKey:`_catKey_1r2pu_650`,promoList:`_promoList_1r2pu_660`,promoRowOff:`_promoRowOff_1r2pu_673`,reorder:`_reorder_1r2pu_677`,reorderBtn:`_reorderBtn_1r2pu_682`,priorityBadgeOff:`_priorityBadgeOff_1r2pu_705`,tplHint:`_tplHint_1r2pu_727`,tplEditLayout:`_tplEditLayout_1r2pu_733`,tplEditForm:`_tplEditForm_1r2pu_740`,tplEditPreview:`_tplEditPreview_1r2pu_745`,tplLiveHead:`_tplLiveHead_1r2pu_753`,tplMirrorHead:`_tplMirrorHead_1r2pu_765`,tplLiveDot:`_tplLiveDot_1r2pu_779`,tplPulse:`_tplPulse_1r2pu_1`,promoNameTop:`_promoNameTop_1r2pu_827`,promoName:`_promoName_1r2pu_501`,promoNameOff:`_promoNameOff_1r2pu_840`,promoNameMeta:`_promoNameMeta_1r2pu_845`,tplBadge:`_tplBadge_1r2pu_859`,catCount:`_catCount_1r2pu_868`,campaignBox:`_campaignBox_1r2pu_873`,campaignHead:`_campaignHead_1r2pu_886`,campaignHeadTitle:`_campaignHeadTitle_1r2pu_893`,campaignCount:`_campaignCount_1r2pu_904`,campaignList:`_campaignList_1r2pu_919`,seeAll:`_seeAll_1r2pu_925`,cpTop:`_cpTop_1r2pu_941`,cpHead:`_cpHead_1r2pu_953`,cpTitle:`_cpTitle_1r2pu_960`,cpCount:`_cpCount_1r2pu_967`,cpSearch:`_cpSearch_1r2pu_974`,cpSearchIcon:`_cpSearchIcon_1r2pu_980`,cpSearchInput:`_cpSearchInput_1r2pu_986`,cpList:`_cpList_1r2pu_996`,cpFooter:`_cpFooter_1r2pu_1003`,campaignEmpty:`_campaignEmpty_1r2pu_1014`,campaignRow:`_campaignRow_1r2pu_1024`,campaignText:`_campaignText_1r2pu_1035`,campaignTitle:`_campaignTitle_1r2pu_1043`,campaignSub:`_campaignSub_1r2pu_1049`,campaignMeta:`_campaignMeta_1r2pu_1054`,campaignChip:`_campaignChip_1r2pu_1061`,campaignChipLabel:`_campaignChipLabel_1r2pu_1073`,campaignAmount:`_campaignAmount_1r2pu_1078`,campaignBadge:`_campaignBadge_1r2pu_1084`,promoPreview:`_promoPreview_1r2pu_1093`,promoCard:`_promoCard_1r2pu_1111`,promoCardHeader:`_promoCardHeader_1r2pu_1120`,promoCardStatus:`_promoCardStatus_1r2pu_1129`,promoCardHeading:`_promoCardHeading_1r2pu_1140`,promoCardBody:`_promoCardBody_1r2pu_1148`,promoItem:`_promoItem_1r2pu_1155`,promoItemText:`_promoItemText_1r2pu_1166`,promoItemTitle:`_promoItemTitle_1r2pu_1175`,promoItemSub:`_promoItemSub_1r2pu_1185`,promoItemDate:`_promoItemDate_1r2pu_1192`,promoItemBadge:`_promoItemBadge_1r2pu_1201`,promoItemAmount:`_promoItemAmount_1r2pu_1210`,promoViewAll:`_promoViewAll_1r2pu_1220`,promoStatus:`_promoStatus_1r2pu_1250`,promoHeader:`_promoHeader_1r2pu_1257`,promoCardInner:`_promoCardInner_1r2pu_1264`,promoCardTitle:`_promoCardTitle_1r2pu_1274`,promoCardSub:`_promoCardSub_1r2pu_1279`,promoDate:`_promoDate_1r2pu_1280`,promoCardFoot:`_promoCardFoot_1r2pu_1285`,promoBadge:`_promoBadge_1r2pu_1292`,promoAmount:`_promoAmount_1r2pu_1301`,promoCta:`_promoCta_1r2pu_1306`,tplLayout:`_tplLayout_1r2pu_1313`,tplList:`_tplList_1r2pu_1322`,tplItem:`_tplItem_1r2pu_1329`,tplItemActive:`_tplItemActive_1r2pu_1342`,tplDot:`_tplDot_1r2pu_1347`,tplItemText:`_tplItemText_1r2pu_1355`,tplItemName:`_tplItemName_1r2pu_1362`,tplItemMeta:`_tplItemMeta_1r2pu_1371`,editorPane:`_editorPane_1r2pu_1376`,editorName:`_editorName_1r2pu_1389`,editorMeta:`_editorMeta_1r2pu_1402`,editorMetaCard:`_editorMetaCard_1r2pu_1409`,iconPicker:`_iconPicker_1r2pu_1423`,iconChoice:`_iconChoice_1r2pu_1429`,iconChoiceActive:`_iconChoiceActive_1r2pu_1447`,intGuide:`_intGuide_1r2pu_1454`,intToggle:`_intToggle_1r2pu_1460`,intChevron:`_intChevron_1r2pu_1473`,intChevronOpen:`_intChevronOpen_1r2pu_1477`,intSteps:`_intSteps_1r2pu_1481`,intStep:`_intStep_1r2pu_1481`,intNum:`_intNum_1r2pu_1495`,intStepBody:`_intStepBody_1r2pu_1509`,intStepTitle:`_intStepTitle_1r2pu_1517`,intText:`_intText_1r2pu_1523`,intIntro:`_intIntro_1r2pu_1539`,intList:`_intList_1r2pu_1546`,intOl:`_intOl_1r2pu_1559`,registry:`_registry_1r2pu_1582`,regStats:`_regStats_1r2pu_1588`,regList:`_regList_1r2pu_1594`,regRow:`_regRow_1r2pu_1600`,regRowMain:`_regRowMain_1r2pu_1619`,regRowName:`_regRowName_1r2pu_1626`,regRowMeta:`_regRowMeta_1r2pu_1632`,regRowEnd:`_regRowEnd_1r2pu_1637`,regRate:`_regRate_1r2pu_1644`,regDetail:`_regDetail_1r2pu_1650`,regDetailHead:`_regDetailHead_1r2pu_1658`,regDetailTitle:`_regDetailTitle_1r2pu_1664`,feedEmpty:`_feedEmpty_1r2pu_1671`,feedEmptyText:`_feedEmptyText_1r2pu_1681`,feedEmptyTitle:`_feedEmptyTitle_1r2pu_1686`,feedHead:`_feedHead_1r2pu_1693`,feedTitle:`_feedTitle_1r2pu_1700`,feedMeta:`_feedMeta_1r2pu_1709`,feedActions:`_feedActions_1r2pu_1715`,tplPreview:`_tplPreview_1r2pu_1722`,tplPreviewLabel:`_tplPreviewLabel_1r2pu_1732`,tplPreviewCard:`_tplPreviewCard_1r2pu_1740`,tplPreviewAvatar:`_tplPreviewAvatar_1r2pu_1753`,tplPreviewText:`_tplPreviewText_1r2pu_1765`,tplPreviewTitleRow:`_tplPreviewTitleRow_1r2pu_1773`,tplPreviewTitle:`_tplPreviewTitle_1r2pu_1773`,tplPreviewPill:`_tplPreviewPill_1r2pu_1790`,tplPreviewSub:`_tplPreviewSub_1r2pu_1799`,fieldsHead:`_fieldsHead_1r2pu_1807`,fieldList:`_fieldList_1r2pu_1814`,fieldCard:`_fieldCard_1r2pu_1820`,fieldCardMain:`_fieldCardMain_1r2pu_1830`,fieldLabelInput:`_fieldLabelInput_1r2pu_1837`,fieldTypeSelect:`_fieldTypeSelect_1r2pu_1850`,fieldKeyRow:`_fieldKeyRow_1r2pu_1862`,fieldKeyLabel:`_fieldKeyLabel_1r2pu_1869`,fieldKeyInput:`_fieldKeyInput_1r2pu_1876`,iconToggle:`_iconToggle_1r2pu_1888`,iconToggleOn:`_iconToggleOn_1r2pu_1901`,webhookBox:`_webhookBox_1r2pu_1907`,schema:`_schema_1r2pu_1920`,retryItem:`_retryItem_1r2pu_1932`,retryInfo:`_retryInfo_1r2pu_1942`,retryError:`_retryError_1r2pu_1948`,retryActions:`_retryActions_1r2pu_1953`,tplGrid:`_tplGrid_1r2pu_1959`,tplCard:`_tplCard_1r2pu_1965`,tplCardHead:`_tplCardHead_1r2pu_1977`,tplCat:`_tplCat_1r2pu_1984`,fieldRow:`_fieldRow_1r2pu_2002`,tplSidebar:`_tplSidebar_1r2pu_2027`,tplLock:`_tplLock_1r2pu_2033`,lockBadge:`_lockBadge_1r2pu_2039`,footerBtns:`_footerBtns_1r2pu_2053`,copyRow:`_copyRow_1r2pu_2060`,copyBtn:`_copyBtn_1r2pu_2071`,webhookFoot:`_webhookFoot_1r2pu_2093`,testBtn:`_testBtn_1r2pu_2101`,fieldRef:`_fieldRef_1r2pu_2120`,fieldRefHead:`_fieldRefHead_1r2pu_2128`,fieldRefHint:`_fieldRefHint_1r2pu_2145`,fieldRefList:`_fieldRefList_1r2pu_2154`,fieldRefItem:`_fieldRefItem_1r2pu_2159`,fieldRefToken:`_fieldRefToken_1r2pu_2180`,fieldRefDesc:`_fieldRefDesc_1r2pu_2192`,tokenWarn:`_tokenWarn_1r2pu_2198`,tplEditMain:`_tplEditMain_1r2pu_2218`,tplEditSide:`_tplEditSide_1r2pu_2224`,tplEditWrap:`_tplEditWrap_1r2pu_2231`,tplEditBar:`_tplEditBar_1r2pu_2237`,tplBarSpacer:`_tplBarSpacer_1r2pu_2246`,tcFieldsHead:`_tcFieldsHead_1r2pu_2292`,tcRows:`_tcRows_1r2pu_2301`,tcCard:`_tcCard_1r2pu_2308`,tcCardTop:`_tcCardTop_1r2pu_2318`,tcGrow:`_tcGrow_1r2pu_2324`,tcType:`_tcType_1r2pu_2338`,tcToken:`_tcToken_1r2pu_2351`,currencyWrap:`_currencyWrap_1r2pu_2366`,currencyPrefix:`_currencyPrefix_1r2pu_2373`,currencyInput:`_currencyInput_1r2pu_2379`,tokenRead:`_tokenRead_1r2pu_2395`,tokenReadOver:`_tokenReadOver_1r2pu_2417`,tokenReadStatic:`_tokenReadStatic_1r2pu_2423`,tokenInput:`_tokenInput_1r2pu_2431`,tokenPlaceholder:`_tokenPlaceholder_1r2pu_2442`,tokenChip:`_tokenChip_1r2pu_2447`,tokenChipBad:`_tokenChipBad_1r2pu_2463`,tokenChipX:`_tokenChipX_1r2pu_2469`,palette:`_palette_1r2pu_2498`,paletteGroup:`_paletteGroup_1r2pu_2508`,paletteGroupLabel:`_paletteGroupLabel_1r2pu_2514`,paletteChips:`_paletteChips_1r2pu_2522`,paletteChipWrap:`_paletteChipWrap_1r2pu_2528`,paletteChip:`_paletteChip_1r2pu_2522`,paletteGrip:`_paletteGrip_1r2pu_2560`,paletteToken:`_paletteToken_1r2pu_2565`,paletteDesc:`_paletteDesc_1r2pu_2576`,paletteHint:`_paletteHint_1r2pu_2582`,simMemberRow:`_simMemberRow_1r2pu_2589`,simMemberRemove:`_simMemberRemove_1r2pu_2596`,signatureContainer:`_signatureContainer_1r2pu_2611`,signatureLabel:`_signatureLabel_1r2pu_2617`,signatureCheckbox:`_signatureCheckbox_1r2pu_2625`,signatureText:`_signatureText_1r2pu_2634`,signatureTitle:`_signatureTitle_1r2pu_2640`,signatureDesc:`_signatureDesc_1r2pu_2647`,usageSearch:`_usageSearch_1r2pu_2654`,usageSearchIcon:`_usageSearchIcon_1r2pu_2662`,usageSearchInput:`_usageSearchInput_1r2pu_2669`},Ks=(e,t)=>{let n=new Date;return{item_count:String(t),current_year:String(n.getFullYear()),current_date:n.toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}),...e}},qs=({card:e})=>(0,w.jsxs)(`div`,{className:Gs.promoItem,children:[(0,w.jsxs)(`span`,{className:Gs.promoItemText,children:[e.cardTitle!==``&&(0,w.jsx)(`span`,{className:Gs.promoItemTitle,children:e.cardTitle}),e.cardSubtitle!==``&&(0,w.jsx)(`span`,{className:Gs.promoItemSub,children:e.cardSubtitle}),e.dateLine!==``&&(0,w.jsx)(`span`,{className:Gs.promoItemDate,children:e.dateLine})]}),e.amountText!==``&&(0,w.jsx)(`span`,{className:Gs.promoItemAmount,children:e.amountText}),e.badgeText!==``&&e.amountText===``&&(0,w.jsx)(`span`,{className:Gs.promoItemBadge,children:e.badgeText})]}),Js=({template:e,color:n,name:r,count:i,items:a,onViewAll:o})=>{let s=a[0];if(s===void 0)return null;let c=io(e,Ks(s.values,i));return(0,w.jsxs)(t.C.div,{className:Gs.promoCard,style:t.it({"--cat":n}),initial:{opacity:0,y:10},animate:{opacity:1,y:0},transition:{duration:.22,ease:`easeOut`},children:[(0,w.jsxs)(`div`,{className:Gs.promoCardHeader,children:[c.statusLabel!==``&&(0,w.jsx)(`span`,{className:Gs.promoCardStatus,children:c.statusLabel}),(0,w.jsx)(p,{size:11,color:n})]}),(0,w.jsxs)(`div`,{className:Gs.promoCardBody,children:[a.map(t=>(0,w.jsx)(qs,{card:io(e,Ks(t.values,i))},t.id)),o!==void 0&&(0,w.jsx)(`button`,{type:`button`,className:Gs.promoViewAll,onClick:o,children:c.ctaText===``?`View all`:c.ctaText})]})]})},Ys=[`available`,`busy`,`inMeeting`,`focus`,`away`,`offline`],Xs=e=>Ys[e??-1]??`offline`,Zs=e=>Ys.indexOf(e),Qs=[{id:`available`,label:`Available`,tone:`success`},{id:`busy`,label:`Busy`,tone:`danger`},{id:`inMeeting`,label:`In a meeting`,tone:`danger`},{id:`focus`,label:`Focus`,tone:`primary`},{id:`away`,label:`Away`,tone:`warn`},{id:`offline`,label:`Offline`,tone:`neutral`}],$s={id:`offline`,label:`Offline`,tone:`neutral`},ec=e=>Qs.find(t=>t.id===e)??$s,tc=(e,t,n)=>{let{label:r}=ec(e);return t==null||e===`offline`?r:`${r} until ${n(t)}`},nc=t.u(e=>({byUser:{},watchers:{},apply:(t,n,r)=>{e(e=>({byUser:{...e.byUser,[t]:{status:n,untilUtc:r}}}))},applyMany:t=>{t.length!==0&&e(e=>{let n={...e.byUser};for(let e of t)n[e.userId]={status:e.status,untilUtc:e.untilUtc};return{byUser:n}})},watch:t=>{e(e=>({watchers:{...e.watchers,[t]:(e.watchers[t]??0)+1}}))},unwatch:t=>{e(e=>{let n=e.watchers[t]??0;if(n<=1){let{[t]:n,...r}=e.watchers;return{watchers:r}}return{watchers:{...e.watchers,[t]:n-1}}})},reset:()=>{e({byUser:{}})}})),rc=e=>{let t=nc(e=>e.watch),n=nc(e=>e.unwatch);return(0,r.useEffect)(()=>{if(e!=null)return t(e),()=>{n(e)}},[e,t,n]),nc(t=>e==null?void 0:t.byUser[e])},ic=()=>nc(e=>Object.keys(e.watchers).sort().join(`,`)),ac=(e,t,n)=>{nc.getState().apply(e,t,n)},oc=e=>{nc.getState().applyMany(e)},sc=()=>{nc.getState().reset()},cc=({status:e,untilUtc:n,formatUntil:r,size:i=`sm`})=>{let a=ec(e);return(0,w.jsx)(t.o,{tone:a.tone,variant:`soft`,size:i,children:r===void 0?a.label:tc(e,n,r)})},lc=class{callGateway;logger;constructor(e){this.callGateway=e.callGateway,this.logger=e.logger.child(`start-call`)}async execute(e,t=`audio`){let n=await this.callGateway.start(e,t);return n.ok||this.logger.warn(`Start call failed`,{code:n.error.code}),n}},uc=class{callGateway;logger;constructor(e){this.callGateway=e.callGateway,this.logger=e.logger.child(`accept-call`)}async execute(e){let t=await this.callGateway.accept(e);return t.ok||this.logger.warn(`Accept call failed`,{code:t.error.code}),t}},dc=class{callGateway;logger;constructor(e){this.callGateway=e.callGateway,this.logger=e.logger.child(`decline-call`)}async execute(e){let t=await this.callGateway.decline(e);return t.ok||this.logger.warn(`Decline call failed`,{code:t.error.code}),t}},fc=class{callGateway;logger;constructor(e){this.callGateway=e.callGateway,this.logger=e.logger.child(`cancel-call`)}async execute(e){let t=await this.callGateway.cancel(e);return t.ok||this.logger.warn(`Cancel call failed`,{code:t.error.code}),t}},pc=class{callGateway;logger;constructor(e){this.callGateway=e.callGateway,this.logger=e.logger.child(`end-call`)}async execute(e){let t=await this.callGateway.end(e);return t.ok||this.logger.warn(`End call failed`,{code:t.error.code}),t}},mc=class{callGateway;logger;constructor(e){this.callGateway=e.callGateway,this.logger=e.logger.child(`get-call-history`)}async execute(e=0,t=20){let n=await this.callGateway.history(e,t);return n.ok||this.logger.warn(`Get call history failed`,{code:n.error.code}),n}},hc=class{callGateway;logger;constructor(e){this.callGateway=e.callGateway,this.logger=e.logger.child(`heartbeat-call`)}async execute(e){let t=await this.callGateway.heartbeat(e);return t.ok||this.logger.debug(`Call heartbeat failed`,{code:t.error.code}),t}},gc=`ringing`,_c=`callee_unavailable`,vc=`callee_busy`,yc=class extends n.Kt{},bc=class extends yc{code=`CALL_FAILED`;constructor(e=`The call could not be completed. Please try again.`,t){super(e,{cause:t})}},xc=n.dt({token:n.pt(),providerType:n.pt(),roomId:n.pt(),participantName:n.pt()}).passthrough(),Sc=n.dt({active:n.at(),endReason:n.pt().nullish()}).passthrough(),Cc=n.dt({callId:n.pt(),status:n.pt(),joinTicket:xc.nullish()}).passthrough(),wc=n.dt({id:n.pt(),callerUserId:n.pt(),callerName:n.pt(),calleeUserId:n.pt(),calleeName:n.pt(),type:n.pt(),status:n.pt(),endReason:n.pt(),inbound:n.at(),ringingAtUtc:n.pt(),answeredAtUtc:n.pt().nullish(),endedAtUtc:n.pt().nullish(),durationSeconds:n.ut()}).passthrough(),Tc=n.dt({totalCount:n.ut(),items:n.it(wc)}).passthrough(),Ec=e=>e===`video`?`video`:`audio`,Dc=e=>({token:e.token,providerType:e.providerType,roomId:e.roomId,participantName:e.participantName}),Oc=e=>{switch(e){case gc:return gc;case vc:return vc;default:return _c}},kc=e=>({callId:e.callId,status:Oc(e.status),joinTicket:e.joinTicket?Dc(e.joinTicket):null}),Ac=e=>({id:e.id,callerUserId:e.callerUserId,callerName:e.callerName,calleeUserId:e.calleeUserId,calleeName:e.calleeName,type:Ec(e.type),status:e.status,endReason:e.endReason,inbound:e.inbound,ringingAtUtc:e.ringingAtUtc,answeredAtUtc:e.answeredAtUtc??null,endedAtUtc:e.endedAtUtc??null,durationSeconds:e.durationSeconds}),jc=e=>({items:e.items.map(Ac),total:e.totalCount}),Mc=e=>({active:e.active,endReason:e.endReason??null}),Nc=encodeURIComponent,Pc=`/api/app/call`,Fc={start:`${Pc}/start`,accept:e=>`${Pc}/${Nc(e)}/accept`,decline:e=>`${Pc}/${Nc(e)}/decline`,cancel:e=>`${Pc}/${Nc(e)}/cancel`,end:e=>`${Pc}/${Nc(e)}/end`,heartbeat:e=>`${Pc}/${Nc(e)}/heartbeat`,history:(e,t)=>`${Pc}/history?SkipCount=${String(e)}&MaxResultCount=${String(t)}`},Ic=class{http;logger;constructor(e){this.http=e.httpClient,this.logger=e.logger.child(`http-call-gateway`)}async start(e,t){try{let r=await this.http.post(Fc.start,{calleeUserId:e,type:t}),i=Cc.safeParse(r);return i.success?n.Ut(kc(i.data)):this.fail(`Start returned an unexpected shape`,i.error)}catch(e){return this.fail(`Placing the call failed`,e)}}async accept(e){try{let t=await this.http.post(Fc.accept(e)),r=xc.safeParse(t);return r.success?n.Ut(Dc(r.data)):this.fail(`Accept returned an unexpected shape`,r.error)}catch(e){return this.fail(`Answering the call failed`,e)}}async heartbeat(e){try{let t=await this.http.post(Fc.heartbeat(e)),r=Sc.safeParse(t);return r.success?n.Ut(Mc(r.data)):this.fail(`Heartbeat returned an unexpected shape`,r.error)}catch(e){return this.fail(`Reporting the call heartbeat failed`,e)}}decline(e){return this.signal(Fc.decline(e),`Declining the call failed`)}cancel(e){return this.signal(Fc.cancel(e),`Canceling the call failed`)}end(e){return this.signal(Fc.end(e),`Ending the call failed`)}async history(e,t){try{let r=await this.http.get(Fc.history(e,t)),i=Tc.safeParse(r);return i.success?n.Ut(jc(i.data)):this.fail(`History returned an unexpected shape`,i.error)}catch(e){return this.fail(`Loading call history failed`,e)}}async signal(e,t){try{return await this.http.post(e),n.Ut(void 0)}catch(e){return this.fail(t,e)}}fail(e,t){return this.logger.error(e,t),n.Bt(new bc(e,t))}},Lc={IncomingCall:`IncomingCall`,CallAccepted:`CallAccepted`,CallDeclined:`CallDeclined`,CallCanceled:`CallCanceled`,CallEnded:`CallEnded`},Rc=n.dt({callId:n.pt(),callerUserId:n.pt(),callerName:n.pt(),callerInitials:n.pt().optional().default(``),callerColor:n.pt().optional().default(``),type:n.pt()}).passthrough(),zc=n.dt({callId:n.pt()}).passthrough(),Bc=n.dt({callId:n.pt(),reason:n.pt()}).passthrough(),Vc=(e,t,n)=>{let r=Rc.safeParse(e);return r.success?r.data:(n.warn(`Ignoring malformed call realtime payload`,{event:t}),null)},Hc=(e,t,n)=>{let r=zc.safeParse(e);return r.success?r.data:(n.warn(`Ignoring malformed call realtime payload`,{event:t}),null)},Uc=(e,t,n)=>{let r=Bc.safeParse(e);return r.success?r.data:(n.warn(`Ignoring malformed call realtime payload`,{event:t}),null)},Wc={phase:`idle`,callId:null,direction:null,peerUserId:null,peerName:``,peerInitials:``,peerColor:``,mediaType:`audio`,dialId:null,ticket:null,muted:!1,connected:!1,activeSinceMs:null,endReason:null},Gc=()=>t.f(e=>({...Wc,incoming:({callId:t,peer:n,mediaType:r})=>{e({...Wc,phase:`incoming`,callId:t,direction:`incoming`,peerUserId:n.userId,peerName:n.name,peerInitials:n.initials,peerColor:n.color,mediaType:r})},dialing:({peer:t,mediaType:n,dialId:r})=>{e({...Wc,phase:`outgoing`,direction:`outgoing`,peerUserId:t.userId,peerName:t.name,peerInitials:t.initials,peerColor:t.color,mediaType:n,dialId:r})},attachOutgoing:({callId:t,ticket:n})=>{e(e=>e.direction!==`outgoing`||e.phase!==`outgoing`&&e.phase!==`active`?e:{callId:t,ticket:n})},activate:(t,n)=>{e(e=>({phase:`active`,ticket:t??e.ticket,activeSinceMs:e.activeSinceMs??n}))},markConnected:()=>{e({connected:!0})},ended:t=>{e({phase:`ended`,endReason:t,ticket:null,connected:!1})},reset:()=>{e({...Wc})},setMuted:t=>{e({muted:t})}})),Kc=e=>{let t={callGateway:new Ic({httpClient:e.httpClient,logger:e.logger}),logger:e.logger};return{startCall:new lc(t),acceptCall:new uc(t),declineCall:new dc(t),cancelCall:new fc(t),endCall:new pc(t),heartbeatCall:new hc(t),getCallHistory:new mc(t),realtime:e.realtime,store:Gc(),logger:e.logger.child(`calls-realtime`)}},qc=(0,r.createContext)(null),Jc=({module:e,children:t})=>(0,w.jsx)(qc.Provider,{value:e,children:t}),Yc=class extends n.Kt{},Xc=class extends Yc{code=`AUTH_INVALID_CREDENTIALS`;constructor(){super(`Your sign-in could not be completed. The link may have expired — please try again.`)}},A=class extends Yc{code=`AUTH_SERVICE_UNAVAILABLE`;constructor(e){super(`The authentication service is currently unavailable. Please try again.`,{cause:e})}},Zc=class{id;email;fullName;userType;roles;constructor(e){if(e.id.trim().length===0)throw Error(`AuthenticatedUser requires a non-empty id.`);this.id=e.id,this.email=e.email,this.fullName=e.fullName.trim().length>0?e.fullName:e.email.value,this.userType=e.userType,this.roles=new Set(e.roles.map(e=>e.toLowerCase()))}hasRole(e){return this.roles.has(e.toLowerCase())}hasAnyRole(e){return e.some(e=>this.hasRole(e))}get roleNames(){return[...this.roles]}},Qc=30,$c=class e{user;accessToken;refreshToken;tokenType;expiresAt;constructor(e){this.user=e.user,this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.tokenType=e.tokenType,this.expiresAt=e.expiresAt}isExpired(e){return this.expiresAt.getTime()-Qc*1e3<=e.getTime()}isValid(e){return this.accessToken.length>0&&!this.isExpired(e)}get canRefresh(){return this.refreshToken!==null&&this.refreshToken.length>0}authorizationHeader(){return`${this.tokenType} ${this.accessToken}`}snapshot(){return{user:{id:this.user.id,email:this.user.email.value,fullName:this.user.fullName,roles:this.user.roleNames,userType:this.user.userType},accessToken:this.accessToken,refreshToken:this.refreshToken,tokenType:this.tokenType,expiresAtIso:this.expiresAt.toISOString()}}static restore(t){let r=Gn.create(t.user.email);return n.Vt(r)?r:n.Ut(new e({user:new Zc({id:t.user.id,email:r.value,fullName:t.user.fullName,roles:t.user.roles,userType:t.user.userType}),accessToken:t.accessToken,refreshToken:t.refreshToken,tokenType:t.tokenType,expiresAt:new Date(t.expiresAtIso)}))}},el=class{authGateway;sessionStore;logger;constructor(e){this.authGateway=e.authGateway,this.sessionStore=e.sessionStore,this.logger=e.logger.child(`complete-sso-login`)}async execute(e){if(e.trim().length===0)return this.logger.warn(`SSO callback carried no secret`),n.Bt(new Xc);let t=await this.authGateway.exchangeSsoSecret(e);return n.Vt(t)?(this.logger.warn(`SSO secret exchange failed`,{code:t.error.code}),t):(this.sessionStore.save(t.value),this.logger.info(`User authenticated via UAPP SSO`,{userId:t.value.user.id}),t)}},tl=class{authGateway;sessionStore;logger;constructor(e){this.authGateway=e.authGateway,this.sessionStore=e.sessionStore,this.logger=e.logger.child(`logout`)}async execute(e){e!==null&&await this.authGateway.signOut(e),this.sessionStore.clear(),this.logger.info(`Session cleared`)}},nl=class{authGateway;sessionStore;clock;logger;constructor(e){this.authGateway=e.authGateway,this.sessionStore=e.sessionStore,this.clock=e.clock,this.logger=e.logger.child(`restore-session`)}async execute(){let e=this.sessionStore.load();if(e===null)return n.Ut(null);if(e.isValid(this.clock.now()))return n.Ut(e);let t=e.refreshToken;if(t===null||t.length===0)return this.sessionStore.clear(),n.Ut(null);let r=await this.authGateway.refresh(t);return n.Vt(r)?(this.logger.info(`Could not refresh session; signing out`,{code:r.error.code}),this.sessionStore.clear(),n.Ut(null)):(this.sessionStore.save(r.value),n.Ut(r.value))}},rl=class{authGateway;sessionStore;logger;constructor(e){this.authGateway=e.authGateway,this.sessionStore=e.sessionStore,this.logger=e.logger.child(`refresh-session`)}async execute(e){let t=e.refreshToken;if(t===null||t.length===0)return this.logger.info(`No refresh token available; signing out`),this.sessionStore.clear(),n.Bt(new Xc);let r=await this.authGateway.refresh(t);return n.Vt(r)?(this.logger.info(`Could not refresh session; signing out`,{code:r.error.code}),this.sessionStore.clear(),r):(this.sessionStore.save(r.value),r)}},il=n.dt({access_token:n.pt().min(1),token_type:n.pt().min(1).optional().default(`Bearer`),expires_in:n.ut().int().positive(),refresh_token:n.pt().min(1).nullable().optional()}),al=n.dt({error:n.pt().optional(),error_description:n.pt().optional()}),ol=n.dt({sub:n.pt().min(1),email:n.pt().optional(),name:n.pt().optional(),role:n.ht([n.pt(),n.it(n.pt())]).optional()}).passthrough(),sl=e=>e.role===void 0?[]:typeof e.role==`string`?[e.role]:e.role,cl=e=>{let t=e.split(`.`)[1];if(t===void 0||t.length===0)return n.Bt(new A(`Access token is not a JWT.`));let r=ll(t);if(r===null)return n.Bt(new A(`Access token payload is not valid base64url.`));let i;try{i=JSON.parse(r)}catch(e){return n.Bt(new A(e))}let a=ol.safeParse(i);return a.success?n.Ut(a.data):n.Bt(new A(a.error))},ll=e=>{let t=e.replace(/-/g,`+`).replace(/_/g,`/`),n=t.padEnd(Math.ceil(t.length/4)*4,`=`);try{let e=atob(n),t=new Uint8Array(e.length);for(let n=0;n<e.length;n+=1)t[n]=e.charCodeAt(n);return new TextDecoder().decode(t)}catch{return null}},ul=(e,t)=>{let r=cl(e.access_token);if(n.Vt(r))return r;let i=r.value.email??r.value.name;if(i===void 0||i.length===0)return n.Bt(new A(`Access token carries no email/name claim.`));let a=Gn.create(i);return n.Vt(a)?n.Bt(new A(a.error)):n.Ut(new $c({user:new Zc({id:r.value.sub,email:a.value,fullName:r.value.name??a.value.value,roles:sl(r.value),userType:null}),accessToken:e.access_token,refreshToken:e.refresh_token??null,tokenType:e.token_type,expiresAt:new Date(t.getTime()+e.expires_in*1e3)}))},dl=`/connect/token`,fl=`CommunicationHub_App`,pl=`CommunicationHub offline_access`,ml=`uapp_sso`,hl=`refresh_token`,gl=`secret`,_l=class{httpClient;clock;logger;constructor(e){this.httpClient=e.httpClient,this.clock=e.clock,this.logger=e.logger.child(`uapp-sso-gateway`)}exchangeSsoSecret(e){return e.trim().length===0?Promise.resolve(n.Bt(new Xc)):this.requestToken({grant_type:ml,[gl]:e,client_id:fl,scope:pl})}refresh(e){return this.requestToken({grant_type:hl,refresh_token:e,client_id:fl,scope:pl})}signOut(e){return this.logger.debug(`Sign-out is local-only for the SSO client; no server call made.`),Promise.resolve()}async requestToken(e){try{let t=await this.httpClient.postForm(dl,e,{anonymous:!0}),r=il.safeParse(t);return r.success?ul(r.data,this.clock.now()):(this.logger.error(`Token endpoint returned an unexpected shape`,r.error),n.Bt(new A(r.error)))}catch(e){return n.Bt(this.mapError(e))}}mapError(e){return e instanceof n.gt?e.status===400||e.status===401?(this.logger.warn(`Token request was rejected`,{reason:vl(e.body)}),new Xc):(this.logger.error(`Token request failed with an unexpected status`,e),new A(e)):(this.logger.error(`Token request failed`,e),new A(e))}},vl=e=>{let t=al.safeParse(e);return t.success?t.data.error_description??t.data.error??`unknown`:`unknown`},yl=`auth.session`,bl=e=>`${e}.${yl}`,xl=n.dt({user:n.dt({id:n.pt(),email:n.pt(),fullName:n.pt(),roles:n.it(n.pt()),userType:n.pt().nullable()}),accessToken:n.pt(),refreshToken:n.pt().nullable(),tokenType:n.pt(),expiresAtIso:n.pt()}),Sl=class{storage;logger;key;constructor(e){this.storage=e.storage,this.logger=e.logger.child(`session-store`),this.key=bl(e.namespace)}load(){let e=this.storage.getItem(this.key);if(e===null)return null;let t=xl.safeParse(this.tryParseJson(e));if(!t.success)return this.logger.warn(`Discarding corrupt persisted session`),this.clear(),null;let r=$c.restore(t.data);return n.Vt(r)?(this.logger.warn(`Discarding unrestorable persisted session`),this.clear(),null):r.value}save(e){this.storage.setItem(this.key,JSON.stringify(e.snapshot()))}clear(){this.storage.removeItem(this.key)}tryParseJson(e){try{return JSON.parse(e)}catch{return null}}},Cl=e=>t.f((t,r)=>({status:`initializing`,session:null,error:null,loginUrl:e.loginUrl,initialize:async()=>{t({status:`initializing`,error:null});let r=await e.restoreSessionUseCase.execute(),i=n.Vt(r)?null:r.value;e.setAccessToken(i?.accessToken??null),t({status:i?`authenticated`:`unauthenticated`,session:i})},completeLogin:async r=>{t({status:`authenticating`,error:null});let i=await e.completeSsoLoginUseCase.execute(r);return n.Vt(i)?(t({status:`unauthenticated`,session:null,error:i.error.message}),!1):(e.setAccessToken(i.value.accessToken),t({status:`authenticated`,session:i.value,error:null}),!0)},logout:async()=>{await e.logoutUseCase.execute(r().session),e.setAccessToken(null),t({status:`unauthenticated`,session:null,error:null})},refreshSession:async()=>{let i=r().session;if(i===null)return!1;let a=await e.refreshSessionUseCase.execute(i);return n.Vt(a)?(e.setAccessToken(null),t({status:`unauthenticated`,session:null}),!1):(e.setAccessToken(a.value.accessToken),t({status:`authenticated`,session:a.value,error:null}),!0)},clearError:()=>{t({error:null})}})),wl=(0,r.createContext)(null),Tl=({store:e,children:t})=>((0,r.useEffect)(()=>{e.getState().initialize()},[e]),(0,w.jsx)(wl.Provider,{value:e,children:t})),El=e=>{let n=(0,r.useContext)(wl);if(n===null)throw Error(`Auth hooks must be used within <AuthStoreProvider>.`);return t.d(n,e)},Dl=()=>{let e=n.F(),t=El(e=>e.status),r=El(e=>e.session?.user??null),i=El(e=>e.error),a=El(e=>e.loginUrl),o=El(e=>e.completeLogin),s=El(e=>e.logout),c=El(e=>e.clearError);return{status:t,user:r,error:i,isAuthenticated:t===`authenticated`,isInitializing:t===`initializing`,isBusy:t===`authenticating`,loginUrl:a,completeLogin:o,logout:async()=>{e.clear(),await s()},clearError:c}},Ol=(e,t)=>{let n=e.status===`connected`;return e.onStatusChange(e=>{e===`connected`&&(n&&t.getState().phase===`outgoing`&&t.getState().reset(),n=!0)})},kl=e=>{let{connection:t,store:n,declineCall:r,logger:i}=e,a=[Ol(t,n),t.on(Lc.IncomingCall,e=>{let t=Vc(e,Lc.IncomingCall,i);if(t===null)return;let a=n.getState().phase;if(a!==`idle`&&a!==`ended`){r.execute(t.callId);return}n.getState().incoming({callId:t.callId,peer:{userId:t.callerUserId,name:t.callerName,initials:t.callerInitials,color:t.callerColor},mediaType:t.type===`video`?`video`:`audio`})}),t.on(Lc.CallAccepted,e=>{let t=Hc(e,Lc.CallAccepted,i);if(t===null)return;let r=n.getState();r.callId===t.callId&&(r.direction===`outgoing`?r.activate(null,Date.now()):r.phase===`incoming`&&r.reset())}),t.on(Lc.CallDeclined,e=>{let t=Hc(e,Lc.CallDeclined,i);t!==null&&n.getState().callId===t.callId&&n.getState().ended(`declined`)}),t.on(Lc.CallCanceled,e=>{let t=Hc(e,Lc.CallCanceled,i);t!==null&&n.getState().callId===t.callId&&n.getState().reset()}),t.on(Lc.CallEnded,e=>{let t=Uc(e,Lc.CallEnded,i);t!==null&&n.getState().callId===t.callId&&n.getState().ended(t.reason)})];return()=>{for(let e of a)e()}},Al=()=>{let e=(0,r.useContext)(qc);if(e===null)throw Error(`Calls hooks must be used within <CallsModuleProvider>.`);return e},jl=e=>t.d(Al().store,e),Ml=()=>{let{isAuthenticated:e}=Dl(),{realtime:t,store:n,declineCall:i,logger:a}=Al();(0,r.useEffect)(()=>kl({connection:t,store:n,declineCall:i,logger:a}),[t,n,i,a]),(0,r.useEffect)(()=>{if(!e){t.stop(),n.getState().reset();return}return t.start().catch(()=>void 0),()=>{t.stop()}},[e,t,n])},Nl=({children:e})=>(Ml(),(0,w.jsx)(w.Fragment,{children:e})),Pl=(e,t)=>{let n=e.currentTime+t.atMs/1e3,r=t.durMs/1e3,i=e.createGain();i.connect(e.destination),i.gain.setValueAtTime(1e-4,n),i.gain.linearRampToValueAtTime(t.volume,n+.02),i.gain.exponentialRampToValueAtTime(Math.max(1e-4,t.volume*.5),n+r*.6),i.gain.linearRampToValueAtTime(1e-4,n+r);let a=e.createOscillator();a.type=t.type??`triangle`,a.frequency.value=t.freq,a.connect(i),a.start(n),a.stop(n+r+.03)},Fl=()=>{let e=globalThis,t=e.AudioContext??e.webkitAudioContext;return typeof t==`function`?t:null},Il=()=>{let e=null,t=null,n=()=>{if(e!==null)return e;let t=Fl();return t===null?null:(e=new t,e)},r=()=>{t!==null&&(window.clearInterval(t),t=null)},i=e=>{let t=n();t!==null&&Pl(t,e)},a=(e,i)=>{r();let a=n();a!==null&&(a.resume().catch(()=>void 0),e(),t=window.setInterval(e,i))};return{unlock:()=>{let e=n();e!==null&&e.resume().catch(()=>void 0)},playRing:()=>{let e=e=>{i({freq:440,atMs:e+0,durMs:230,volume:.38}),i({freq:554,atMs:e+190,durMs:230,volume:.38}),i({freq:659,atMs:e+380,durMs:230,volume:.38}),i({freq:880,atMs:e+570,durMs:340,volume:.4})};a(()=>{e(0),e(900)},3e3)},playRingback:()=>{a(()=>{i({freq:440,atMs:0,durMs:1200,volume:.13,type:`sine`}),i({freq:480,atMs:0,durMs:1200,volume:.11,type:`sine`})},3e3)},stop:r,dispose:()=>{r(),e!==null&&(e.close().catch(()=>void 0),e=null)}}},Ll=(0,r.lazy)(()=>Promise.resolve().then(()=>require("./realtimekit-call-media-CbmaiBD9.cjs")).then(e=>({default:e.RealtimeKitCallMedia}))),Rl=e=>{let t=e.ticket.providerType;return(0,w.jsx)(r.Suspense,{fallback:null,children:t===`cloudflare`?(0,w.jsx)(Ll,{...e}):null})},zl=(e=window)=>e.documentPictureInPicture!==void 0,Bl=(e=window)=>e.documentPictureInPicture?.window??null,Vl=(e,t)=>{let n=Reflect.get(e,t);return n===void 0?[]:Array.from(n)},Hl=e=>[...Vl(e,`styleSheets`),...Vl(e,`adoptedStyleSheets`)],Ul=e=>{try{return Array.from(e.cssRules).map(e=>e.cssText).join(`
7
7
  `)}catch{return null}},Wl=(e,t=document)=>{for(let n of Hl(t)){let t=Ul(n);if(t!==null){let n=e.document.createElement(`style`);n.textContent=t,e.document.head.append(n)}else if(n.href!==null){let t=e.document.createElement(`link`);t.rel=`stylesheet`,t.href=n.href,e.document.head.append(t)}}},Gl=(e,t=document)=>{let n=t.documentElement,r=n.getAttribute(`data-theme`);r!==null&&e.document.documentElement.setAttribute(`data-theme`,r),e.document.documentElement.setAttribute(`class`,n.className),e.document.body.setAttribute(`class`,t.body.className)},Kl=(e,t)=>{let n=e.document.createElement(`div`);e.document.body.append(n);let r=n.attachShadow({mode:`open`}),i=Hl(t).map(Ul).filter(e=>e!==null).join(`
8
- `),a=Reflect.get(e,`CSSStyleSheet`);if(typeof a?.prototype.replaceSync!=`function`){let t=e.document.createElement(`style`);t.textContent=i,r.append(t)}else{let e=new a;e.replaceSync(i),r.adoptedStyleSheets=[e]}let o=t.host,s=o.getAttribute(`data-theme`);return s!==null&&n.setAttribute(`data-theme`,s),n.setAttribute(`style`,o.getAttribute(`style`)??``),r},ql=async(e={},t=document,n=window)=>{let r=n.documentPictureInPicture;if(r===void 0)return null;try{let n=await r.requestWindow({width:e.width??320,height:e.height??220});return t instanceof ShadowRoot?{window:n,container:Kl(n,t)}:(Wl(n,t),Gl(n,t),{window:n,container:n.document.body})}catch{return null}},Jl=(e,t)=>{let[n,i]=(0,r.useState)(null),a=(0,r.useRef)(null);a.current=n;let o=(0,r.useRef)(t);o.current=t;let s=(0,r.useCallback)(()=>{a.current?.window.close(),i(null)},[]),c=(0,r.useCallback)(async()=>{if(a.current!==null)return;let e=o.current.current?.getRootNode(),t=await ql({},e instanceof ShadowRoot||e instanceof Document?e:document);t!==null&&(t.window.addEventListener(`pagehide`,()=>{i(null)}),i(t))},[]),l=(0,r.useCallback)(()=>{c()},[c]);return(0,r.useEffect)(()=>{let t=Reflect.get(navigator,`mediaSession`);if(!e||!zl()||t===void 0)return;let n=`enterpictureinpicture`;try{t.setActionHandler(n,()=>{c()})}catch{return}return()=>{try{t.setActionHandler(n,null)}catch{}}},[e,c]),(0,r.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&s()};return document.addEventListener(`visibilitychange`,e),()=>{document.removeEventListener(`visibilitychange`,e)}},[s]),(0,r.useEffect)(()=>{e||(s(),Bl()?.close())},[e,s]),(0,r.useEffect)(()=>s,[s]),{mount:n,popOut:l}},j={overlay:`_overlay_1agsz_5`,card:`_card_1agsz_12`,draggable:`_draggable_1agsz_30`,head:`_head_1agsz_40`,info:`_info_1agsz_46`,avatarRing:`_avatarRing_1agsz_53`,avatarRingPulse:`_avatarRingPulse_1agsz_65`,callPulse:`_callPulse_1agsz_1`,avatar:`_avatar_1agsz_53`,name:`_name_1agsz_107`,status:`_status_1agsz_117`,timer:`_timer_1agsz_123`,actions:`_actions_1agsz_130`,btn:`_btn_1agsz_137`,accept:`_accept_1agsz_163`,acceptBob:`_acceptBob_1agsz_1`,decline:`_decline_1agsz_178`,mute:`_mute_1agsz_182`,muteOn:`_muteOn_1agsz_191`,popped:`_popped_1agsz_208`,popOut:`_popOut_1agsz_224`},Yl=e=>{let t=e.trim().split(/\s+/).filter(e=>e.length>0);if(t.length===0)return`?`;let n=t[0]??``,r=t.length>1?t[t.length-1]??``:``;return(n.charAt(0)+r.charAt(0)).toUpperCase()},Xl=e=>e===`unavailable`?`Unavailable`:e===`busy`?`Busy`:e===`failed`?`Call failed`:`Call ended`,Zl=(e,t,n,r)=>{let i=t===`video`?`video`:`voice`;switch(e){case`incoming`:return`Incoming ${i} call`;case`outgoing`:return n?`Ringing…`:`Calling…`;case`active`:return`Connecting…`;case`ended`:return Xl(r);case`idle`:return``}},Ql=({sinceMs:e})=>{let[t,n]=(0,r.useState)(()=>Date.now());(0,r.useEffect)(()=>{let e=window.setInterval(()=>{n(Date.now())},1e3);return()=>{window.clearInterval(e)}},[]);let i=Math.max(0,Math.floor((t-e)/1e3)),a=String(Math.floor(i/60)).padStart(2,`0`),o=String(i%60).padStart(2,`0`);return(0,w.jsxs)(`span`,{className:j.timer,children:[a,`:`,o]})},$l=({phase:e,muted:n,actions:r})=>e===`ended`?null:e===`incoming`?(0,w.jsxs)(`div`,{className:j.actions,children:[(0,w.jsx)(`button`,{type:`button`,className:t.at(j.btn,j.decline),onClick:()=>{r.decline()},"aria-label":`Decline call`,children:(0,w.jsx)(Ne,{size:24})}),(0,w.jsx)(`button`,{type:`button`,className:t.at(j.btn,j.accept),onClick:()=>{r.accept()},"aria-label":`Accept call`,children:(0,w.jsx)(Pe,{size:24})})]}):(0,w.jsxs)(`div`,{className:j.actions,children:[e===`active`&&(0,w.jsx)(`button`,{type:`button`,className:t.at(j.btn,j.mute,n&&j.muteOn),onClick:()=>{r.toggleMute()},"aria-label":n?`Unmute`:`Mute`,children:n?(0,w.jsx)(Ee,{size:20}):(0,w.jsx)(De,{size:20})}),(0,w.jsx)(`button`,{type:`button`,className:t.at(j.btn,j.decline),onClick:()=>{r.hangup()},"aria-label":`Hang up`,children:(0,w.jsx)(Ne,{size:24})})]}),eu=e=>{let t=e.phase===`outgoing`&&e.callId!==null,n=e.phase===`active`&&e.connected&&e.activeSinceMs!==null;return{ringing:e.phase===`incoming`||e.phase===`outgoing`,initials:e.peerInitials===``?Yl(e.peerName):e.peerInitials,status:n?(0,w.jsx)(Ql,{sinceMs:e.activeSinceMs}):Zl(e.phase,e.mediaType,t,e.endReason)}},tu=({peerName:e,initials:n,peerColor:r,ringing:i,status:a,onPopOut:o})=>(0,w.jsxs)(`div`,{className:j.head,children:[(0,w.jsx)(`div`,{className:t.at(j.avatarRing,i&&j.avatarRingPulse),children:(0,w.jsx)(`div`,{className:j.avatar,style:r===``?void 0:t.it({"--avatar-color":r}),"aria-hidden":`true`,children:n})}),(0,w.jsxs)(`div`,{className:j.info,children:[(0,w.jsx)(`div`,{className:j.name,children:e===``?`Unknown caller`:e}),(0,w.jsx)(`div`,{className:j.status,children:a})]}),o!==null&&(0,w.jsx)(`button`,{type:`button`,className:j.popOut,onClick:o,"aria-label":`Keep call on top`,title:`Keep call on top`,children:(0,w.jsx)(Fe,{size:16})})]}),nu=({actions:e})=>{let n=jl(e=>e.phase),a=jl(e=>e.callId),o=jl(e=>e.peerName),s=jl(e=>e.peerInitials),c=jl(e=>e.peerColor),l=jl(e=>e.mediaType),u=jl(e=>e.muted),d=jl(e=>e.connected),f=jl(e=>e.activeSinceMs),p=jl(e=>e.endReason),m=(0,r.useRef)(null),{mount:h,popOut:g}=Jl(n===`incoming`||n===`outgoing`||n===`active`,m);if(n===`idle`)return null;let _=h!==null,v=n===`active`&&!_,{ringing:y,initials:b,status:x}=eu({phase:n,callId:a,peerName:o,peerInitials:s,mediaType:l,connected:d,activeSinceMs:f,endReason:p}),S=(0,w.jsx)(`div`,{className:t.at(j.overlay,_&&j.popped),ref:m,role:`dialog`,"aria-label":`Call`,children:(0,w.jsxs)(t.C.div,{className:t.at(j.card,v&&j.draggable),variants:t.S,initial:`hidden`,animate:`visible`,drag:v,dragConstraints:m,dragElastic:.12,dragMomentum:!1,children:[(0,w.jsx)(tu,{peerName:o,initials:b,peerColor:c,ringing:y,status:x,onPopOut:!_&&zl()?g:null}),(0,w.jsx)($l,{phase:n,muted:u,actions:e})]})});return h===null?S:(0,i.createPortal)(S,h.container)},ru=()=>typeof window<`u`&&`Notification`in window,iu=async()=>{if(!ru())return`denied`;if(Notification.permission==="default")try{return await Notification.requestPermission()}catch{return`denied`}return Notification.permission},au=({callerName:e,mediaType:t,onAccept:n,onDecline:r})=>{if(!ru()||Notification.permission!==`granted`)return null;let i=`Incoming ${t===`video`?`video`:`voice`} call`,a=`${e||`Someone`} is calling you...`;try{let e=new Notification(i,{body:a,icon:`/favicon.ico`,tag:`incoming-call`,requireInteraction:!0});return e.onclick=()=>{window.focus(),e.close()},e}catch{return null}},ou=({phase:e,peerName:t,mediaType:n})=>{(0,r.useEffect)(()=>{if(e!==`incoming`)return;let r=null,i=null,a=document.title,o=()=>{if(document.visibilityState===`hidden`){if(r??=au({callerName:t,mediaType:n}),i===null){let e=!1;i=window.setInterval(()=>{e=!e,document.title=e?`📞 Incoming call (${t||`Calling`})...`:a},1e3)}}else r!==null&&(r.close(),r=null),i!==null&&(window.clearInterval(i),i=null,document.title=a)};o();let s=()=>{o()};return document.addEventListener(`visibilitychange`,s),()=>{document.removeEventListener(`visibilitychange`,s),i!==null&&window.clearInterval(i),document.title=a,r!==null&&r.close()}},[e,t,n])},su=0,cu=(e,t)=>{let n=e.getState();return n.direction===`outgoing`&&n.phase===`outgoing`&&n.callId===null&&n.dialId===t},lu=async({store:e,cancelCall:t,dialId:n,result:r})=>{let i=cu(e,n);if(!r.ok){i&&e.getState().ended(`failed`);return}let a=r.value;if(a.status===`callee_busy`){i&&e.getState().ended(`busy`);return}if(a.status===`callee_unavailable`||a.joinTicket===null){i&&e.getState().ended(`unavailable`);return}if(!i){await t.execute(a.callId);return}e.getState().attachOutgoing({callId:a.callId,ticket:a.joinTicket})},uu=()=>{let{store:e,startCall:t,acceptCall:n,declineCall:i,cancelCall:a,endCall:o}=Al();return{startCall:(0,r.useCallback)(async n=>{if(n.userId===``)return;let r=e.getState().phase;if(r!==`idle`&&r!==`ended`)return;let i=String(su+=1);e.getState().dialing({peer:n,mediaType:`audio`,dialId:i}),await lu({store:e,cancelCall:a,dialId:i,result:await t.execute(n.userId,`audio`)})},[e,t,a]),accept:(0,r.useCallback)(async()=>{let{callId:t,direction:r}=e.getState();if(t===null||r!==`incoming`)return;e.getState().activate(null,Date.now());let i=await n.execute(t);if(!i.ok){e.getState().ended(`failed`);return}e.getState().activate(i.value,Date.now())},[e,n]),decline:(0,r.useCallback)(async()=>{let{callId:t}=e.getState();e.getState().reset(),t!==null&&await i.execute(t)},[e,i]),hangup:(0,r.useCallback)(async()=>{let{callId:t,phase:n}=e.getState();e.getState().ended(`hung_up`),t!==null&&(n===`active`?await o.execute(t):await a.execute(t))},[e,o,a]),mediaEnded:(0,r.useCallback)(async()=>{let{callId:t,phase:n}=e.getState();e.getState().ended(`ended`),!(t===null||n!==`active`)&&await o.execute(t)},[e,o]),toggleMute:(0,r.useCallback)(()=>{let t=e.getState();t.setMuted(!t.muted)},[e])}},du=15e3,fu=3e3,pu=e=>{switch(e){case`outgoing`:case`incoming`:return fu;case`active`:return du;case`idle`:case`ended`:return null}},mu=(e,t)=>{let{store:n,heartbeatCall:i}=Al(),a=pu(t);(0,r.useEffect)(()=>{if(e===null||a===null)return;let t=!1,r=!1,o=async()=>{if(!r){r=!0;try{let r=await i.execute(e);if(t||!r.ok||r.value.active)return;let a=n.getState();a.callId===e&&a.ended(`ended`)}finally{r=!1}}},s=window.setInterval(()=>{o()},a);return()=>{t=!0,window.clearInterval(s)}},[e,a,n,i])},hu=()=>{let e=jl(e=>e.phase),t=jl(e=>e.callId),n=jl(e=>e.ticket),i=jl(e=>e.muted),a=jl(e=>e.peerName),o=jl(e=>e.mediaType),s=Al().store,c=uu(),l=(0,r.useRef)(null);l.current??=Il();let u=l.current;return(0,r.useEffect)(()=>{iu();let e=()=>{u.unlock(),iu()};return window.addEventListener(`pointerdown`,e,{once:!0}),()=>{window.removeEventListener(`pointerdown`,e)}},[u]),ou({phase:e,peerName:a,mediaType:o}),mu(t,e),(0,r.useEffect)(()=>{e===`incoming`?u.playRing():e===`outgoing`?u.playRingback():u.stop()},[e,u]),(0,r.useEffect)(()=>()=>{u.dispose()},[u]),(0,r.useEffect)(()=>{if(e!==`ended`)return;let t=window.setTimeout(()=>{s.getState().reset()},2500);return()=>{window.clearTimeout(t)}},[e,s]),e===`idle`?null:(0,w.jsxs)(w.Fragment,{children:[n!==null&&(e===`outgoing`||e===`active`)&&(0,w.jsx)(Rl,{ticket:n,muted:i,onConnected:()=>{s.getState().markConnected()},onEnded:()=>{c.mediaEnded()}}),(0,w.jsx)(nu,{actions:c})]})},gu=()=>{let{startCall:e}=uu(),t=jl(e=>e.phase);return{start:t=>{e(t)},busy:t!==`idle`&&t!==`ended`}},_u={callBtn:`_callBtn_1q44j_1`},vu=({calleeUserId:e,calleeName:n,calleeInitials:r=``,calleeColor:i=``,className:a,canCalls:o,canStartCall:s})=>{let{hasPermission:c}=ii(),{start:l,busy:u}=gu(),d=o??c(T.calls),f=s??c(T.callsStart);return e===``||!d?null:(0,w.jsx)(`button`,{type:`button`,className:t.at(_u.callBtn,a),disabled:u||!f,onClick:()=>{f&&l({userId:e,name:n,initials:r,color:i})},"aria-label":`Call ${n}`,title:f?`Call ${n}`:`You do not have permission to start calls`,children:(0,w.jsx)(Pe,{size:18})})},yu=({conversation:e})=>e.isGroup||e.peerUserId===null?null:(0,w.jsx)(`div`,{className:E.headEnd,children:(0,w.jsx)(vu,{calleeUserId:e.peerUserId,calleeName:e.title,calleeInitials:e.initials,calleeColor:e.color})}),bu=6e4,xu=36e5,Su=864e5,Cu=(e,t)=>{if(e===null)return null;let n=Date.parse(e);if(Number.isNaN(n))return null;let r=Math.max(0,t-n);return r<bu?`Last seen just now`:r<xu?`Last seen ${String(Math.floor(r/bu))}m ago`:r<Su?`Last seen ${String(Math.floor(r/xu))}h ago`:`Last seen ${String(Math.floor(r/Su))}d ago`},wu=({conversation:e,live:t,liveStatus:n,nowMs:r})=>{if(t?.online??(n===void 0?e.online:n.status!==`offline`)){let t=n?.status??e.status;return{online:!0,subtitle:`Online`,status:t!==`offline`&&t!==`available`?t:null}}return{online:!1,subtitle:(t===void 0?null:Cu(t.lastSeenUtc,r))??`Offline`,status:null}},Tu=`This message was deleted`,Eu=e=>{if(e.startsWith(`__UAPP_SHARED_CARD__::`))try{let t=e.substring(22);return JSON.parse(t)}catch{return null}return null},Du=e=>{if(e.startsWith(`__UAPP_SHARED_CARD__::`)){let t=Eu(e);if(t!==null){let e=t.card.title;return e.length>0?`Shared Post: ${e}`:`Shared Post`}return`Shared Post`}return e},Ou=(e,t=null)=>t?.text.startsWith(`__UAPP_SHARED_CARD__::`)?{messageId:e.id,authorName:t.authorName,text:t.text}:e.replyTo?.text.startsWith(`__UAPP_SHARED_CARD__::`)?{messageId:e.id,authorName:e.replyTo.authorName,text:e.replyTo.text}:{messageId:e.id,authorName:e.authorName,text:e.text},ku=(e,t)=>{if(e.replyTo===null)return null;let n=t.get(e.replyTo.messageId),r=n?.deletedForEveryone?Tu:n?.text??e.replyTo.text,i=n?.authorName??e.replyTo.authorName;return r.startsWith(`__UAPP_SHARED_CARD__::`)?{author:i,text:r}:null},Au=(e,t)=>{if(e===null)return null;if(e.authorName.length>0||e.text.length>0)return e;let n=t.get(e.messageId);if(n===void 0)return e;let r=n.authorName,i=n.deletedForEveryone?Tu:n.text,a=ku(n,t);return a!==null&&(r=a.author,i=a.text),{messageId:e.messageId,authorName:r,text:i}},ju=(e,t)=>e.some(e=>e.id===t.id)?e:t.clientMessageId!==null&&e.some(e=>e.clientMessageId===t.clientMessageId)?e.map(e=>e.clientMessageId===t.clientMessageId?t.withFallbackSentAt(e.sentAt):e):[...e,t].sort((e,t)=>e.sequence-t.sequence),Mu=`pending:`,Nu=e=>`${Mu}${e}`,Pu=e=>e.id.startsWith(Mu),Fu=e=>e.reduce((e,t)=>Math.max(e,t.sequence),0),Iu=e=>e.filter(e=>!Pu(e)).reduce((e,t)=>Math.max(e,t.sequence),0),Lu=e=>new Wr({id:Nu(e.clientMessageId),kind:`text`,authorName:e.viewer.name,authorInitials:e.viewer.initials,authorColor:e.viewer.color,text:e.text.trim(),time:e.timeLabel,sentAt:e.sentAt??``,fromViewer:!0,reactions:[],sequence:e.sequence,senderId:e.viewer.id,clientMessageId:e.clientMessageId,replyTo:e.replyTo??null,mediaUrl:null,isEdited:!1}),Ru=e=>new Wr({id:Nu(e.clientMessageId),kind:`media`,authorName:e.viewer.name,authorInitials:e.viewer.initials,authorColor:e.viewer.color,text:e.caption.trim(),time:``,sentAt:e.sentAt,fromViewer:!0,reactions:[],sequence:e.sequence,senderId:e.viewer.id,clientMessageId:e.clientMessageId,replyTo:e.replyTo??null,mediaUrl:e.fileUrl,mediaContentType:e.contentType,mediaFileName:e.fileName,isEdited:!1}),zu=(e,t)=>ju(e??[],t),Bu=(e,t)=>ju(e??[],t),Vu=({selectedMessage:e,onClearSelection:n,onReply:r,onStartEdit:i,onDelete:a})=>{let o=Pu(e),s=e.fromViewer&&!e.deletedForEveryone&&e.canEdit(Date.now());return(0,w.jsxs)(`div`,{className:E.mobileSelectionHeader,children:[(0,w.jsxs)(`div`,{className:E.selectionLeft,children:[(0,w.jsx)(`button`,{type:`button`,className:E.selectionActionBtn,"aria-label":`Clear selection`,onClick:n,children:(0,w.jsx)(C,{size:18})}),(0,w.jsx)(`span`,{className:E.selectionTitle,children:`1 Selected`})]}),(0,w.jsxs)(`div`,{className:E.selectionActions,children:[!o&&r!==void 0&&(0,w.jsx)(`button`,{type:`button`,className:E.selectionActionBtn,title:`Reply`,"aria-label":`Reply`,onClick:()=>{r(Ou(e)),n!==void 0&&n()},children:(0,w.jsx)(Ue,{size:17})}),!o&&s&&i!==void 0&&(0,w.jsx)(`button`,{type:`button`,className:E.selectionActionBtn,title:`Edit message`,"aria-label":`Edit message`,onClick:()=>{i(e),n!==void 0&&n()},children:(0,w.jsx)(Me,{size:17})}),!o&&e.fromViewer&&a!==void 0&&(0,w.jsx)(`button`,{type:`button`,className:t.at(E.selectionActionBtn,E.selectionActionDanger),title:`Delete message`,"aria-label":`Delete message`,onClick:()=>{a(e.id),n!==void 0&&n()},children:(0,w.jsx)(at,{size:17})})]})]})},Hu=(e,t,n,r={})=>{let i=r.canManageMembers??!0,s=r.canDelete??!0;return[...e.lastSynced===null?[]:[{label:`Last synced ${e.lastSynced}`,icon:(0,w.jsx)(ze,{size:14}),onSelect:()=>{t.refresh(e)}}],...i?[{label:`Manage members`,icon:(0,w.jsx)(ct,{size:14}),onSelect:n.onManageMembers}]:[],{label:e.favourite?`Remove from Favourites`:`Add to Favourites`,icon:(0,w.jsx)(et,{size:14}),onSelect:()=>{t.toggleFavourite(e)}},{label:e.pinned?`Unpin`:`Pin to top`,icon:(0,w.jsx)(Ie,{size:14}),onSelect:()=>{t.togglePin(e)}},{label:e.archived?`Unarchive`:`Archive`,icon:e.archived?(0,w.jsx)(a,{size:14}):(0,w.jsx)(o,{size:14}),onSelect:()=>{t.toggleArchive(e)}},{label:`Leave group`,icon:(0,w.jsx)(be,{size:14}),onSelect:()=>{n.onRequestLeave(e)}},...s?[{label:`Delete group`,icon:(0,w.jsx)(at,{size:14}),danger:!0,onSelect:()=>{n.onRequestDelete(e)}}]:[]]},Uu=(e,t)=>{let n=t.find(t=>t.id===e.categoryId&&t.tenantId===e.tenantId);return n===void 0?t.find(t=>t.locked&&t.tenantId===e.tenantId)??null:n},Wu=e=>{let t=Object.entries(e.data).filter(([e,t])=>e!==`statusColor`&&t!==``).map(([,e])=>e);return t.length>0?t.join(` · `):e.subtitle},Gu=(e,t)=>{let n=Uu(e,t);if(n===null)return{icon:null,accent:e.color,pill:null,subtitle:e.subtitle};let r=t=>e.data[t]??``,i=n.fields.filter(e=>e.visible&&r(e.key)!==``);if(i.length===0)return{icon:n.icon,accent:n.accent,pill:null,subtitle:Wu(e)};let a=i.find(e=>e.type===`pill`),o=i.filter(e=>e.type!==`pill`).map(e=>r(e.key));return{icon:n.icon,accent:n.accent,pill:a===void 0?null:{value:r(a.key),color:e.data.statusColor??n.accent},subtitle:o.length>0?o.join(` · `):e.subtitle}},Ku=[`override`,`activity`,`calendar`,`connection`],qu=e=>Ku[e??-1]??`connection`,Ju=class extends n.Gt{code=`PRESENCE_UNAVAILABLE`;constructor(e){super(`Your status is unavailable right now. Please try again.`,{cause:e})}},Yu=class{gateway;constructor(e){this.gateway=e.presenceGateway}execute(){return this.gateway.getMine()}},Xu=class{gateway;constructor(e){this.gateway=e.presenceGateway}execute(e){return this.gateway.setMine(e)}},Zu=class{gateway;constructor(e){this.gateway=e.presenceGateway}execute(){return this.gateway.clearMine()}},Qu=class{gateway;constructor(e){this.gateway=e.presenceGateway}execute(e){return this.gateway.getOf(e)}},$u=n.dt({status:n.ut(),source:n.ut(),untilUtc:n.pt().nullish(),note:n.pt().nullish(),hasOverride:n.at()}),ed=n.dt({userId:n.pt(),online:n.at(),status:n.ut(),untilUtc:n.pt().nullish()}),td=n.it(ed),nd={mine:`/api/app/presence/mine`,setMine:`/api/app/presence/set-mine`,clearMine:`/api/app/presence/clear-mine`,of:e=>`/api/app/presence/of?${e.map(e=>`Ids=${encodeURIComponent(e)}`).join(`&`)}`},rd=e=>({status:Xs(e.status),source:qu(e.source),untilUtc:e.untilUtc??null,note:e.note??null,hasOverride:e.hasOverride}),id=e=>({status:Zs(e.status),minutes:e.minutes,...e.note===void 0?{}:{note:e.note}}),ad=e=>({userId:e.userId,online:e.online,status:Xs(e.status),untilUtc:e.untilUtc??null}),od=class{http;logger;constructor(e){this.http=e.httpClient,this.logger=e.logger.child(`http-presence-gateway`)}getMine(){return this.request(()=>this.http.get(nd.mine),`getMine`)}setMine(e){return this.request(()=>this.http.post(nd.setMine,id(e)),`setMine`)}async getOf(e){if(e.length===0)return n.Ut([]);try{let t=td.safeParse(await this.http.get(nd.of(e)));return t.success?n.Ut(t.data.map(ad)):(this.logger.error(`getOf: unexpected response shape`,t.error),n.Bt(new Ju(t.error)))}catch(e){return this.logger.error(`getOf failed`,e),n.Bt(new Ju(e))}}clearMine(){return this.request(()=>this.http.post(nd.clearMine,{}),`clearMine`)}async request(e,t){try{let r=$u.safeParse(await e());return r.success?n.Ut(rd(r.data)):(this.logger.error(`${t}: unexpected response shape`,r.error),n.Bt(new Ju(r.error)))}catch(e){return this.logger.error(`${t} failed`,e),n.Bt(new Ju(e))}}},sd=e=>{let t={presenceGateway:new od({httpClient:e.httpClient,logger:e.logger}),logger:e.logger};return{getMyPresence:new Yu(t),setMyPresence:new Xu(t),clearMyPresence:new Zu(t),getPresenceOf:new Qu(t),logger:e.logger}},cd=(0,r.createContext)(null),ld=()=>{let e=(0,r.useContext)(cd);if(e===null)throw Error(`Presence hooks must be used within <PresenceModuleProvider>.`);return e},ud=3e4,dd=()=>{let{getPresenceOf:e}=ld(),t=ic(),i=(0,r.useMemo)(()=>t===``?[]:t.split(`,`),[t]),{data:a}=n.M({queryKey:[`presence`,`of`,t],enabled:i.length>0,queryFn:()=>n.Wt(e.execute(i)),refetchInterval:ud,refetchOnWindowFocus:!0,retry:!1});(0,r.useEffect)(()=>{a!==void 0&&oc(a)},[a])},fd=()=>(dd(),null),pd=({module:e,children:t})=>(0,w.jsxs)(cd.Provider,{value:e,children:[(0,w.jsx)(fd,{}),t]});Qs.filter(e=>e.id!==`offline`);var md=({status:e,untilUtc:t,size:r})=>{let i=n.m();return(0,w.jsx)(cc,{status:e,untilUtc:t??null,formatUntil:e=>i.formatUntil(e),...r===void 0?{}:{size:r}})},hd=4,gd={Hash:me,GraduationCap:pe,Users:ct,Building2:m,Briefcase:p,BookOpen:d,Globe:fe},_d=({conversation:e,header:n,dmOnline:r})=>{let i=n?.icon??null,a=i===null?void 0:gd[i];return a===void 0?(0,w.jsxs)(`span`,{className:E.viewAvatarWrap,children:[(0,w.jsx)(`span`,{className:E.viewAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),r===!0&&(0,w.jsx)(`span`,{className:t.at(E.presenceDot,E.viewPresenceDot),"aria-label":`Online`})]}):(0,w.jsx)(`span`,{className:E.viewIcon,style:t.it({"--avatar-color":n?.accent??e.color}),children:(0,w.jsx)(a,{size:18})})},vd=({members:e})=>{if(e.length===0)return null;let n=e.length-hd;return(0,w.jsxs)(`div`,{className:E.memberStack,children:[e.slice(0,hd).map(e=>(0,w.jsx)(`span`,{className:E.memberAvatar,title:e.name,children:(0,w.jsx)(t.s,{initials:e.initials,color:e.color,size:`xs`})},e.id)),n>0&&(0,w.jsxs)(`span`,{className:E.memberMore,children:[`+`,n]})]})},yd=({conversation:e,pill:n,presence:r,statusPill:i,subtitle:a})=>(0,w.jsxs)(`span`,{className:E.viewHeadText,children:[(0,w.jsxs)(`span`,{className:E.viewTitleRow,children:[(0,w.jsx)(`span`,{className:E.viewTitle,children:e.title}),e.admin&&(0,w.jsx)(`span`,{className:E.adminBadge,children:`You're admin`}),n?(0,w.jsx)(`span`,{className:E.statusPill,style:t.it({"--pill":n.color}),children:n.value}):null,r!==null&&(0,w.jsx)(md,{untilUtc:e.statusUntilUtc,status:r}),i]}),(0,w.jsx)(`span`,{className:E.viewSub,children:a})]}),bd=(e,t)=>{let n=`${String(e.memberCount)} member${e.memberCount===1?``:`s`}`,r=t?.subtitle??e.subtitle;return r===``||r===e.title?n:`${n} · ${r}`},xd=({conversation:e,actions:n,canManageMembers:r,canDelete:i,onManageMembers:a,onRequestDelete:o,onRequestLeave:s})=>(0,w.jsxs)(`div`,{className:E.headEnd,children:[r&&(0,w.jsx)(`button`,{type:`button`,className:E.memberStackBtn,"aria-label":`Manage members`,onClick:a,children:(0,w.jsx)(vd,{members:e.members})}),(0,w.jsx)(t.g,{align:`end`,trigger:(0,w.jsx)(`button`,{type:`button`,className:E.headMenuBtn,"aria-label":`Group options`,children:(0,w.jsx)(ie,{size:16})}),items:Hu(e,n,{onManageMembers:a,onRequestDelete:o,onRequestLeave:s},{canManageMembers:r,canDelete:i})})]}),Sd=({conversation:e,header:n,dmOnline:r,dmStatus:i,pill:a,statusPill:o,subtitle:c,actions:l,onManageMembers:u,onRequestDelete:d,onRequestLeave:f})=>{let p=t.gt(),{hasPermission:m}=ii(),h=m(T.chatManageMembers),g=m(T.chatDelete);return(0,w.jsxs)(`div`,{className:E.standardHeader,children:[(0,w.jsx)(`button`,{type:`button`,className:E.backBtn,"aria-label":`Back to conversations`,onClick:()=>{p(`/comms/chats`)},children:(0,w.jsx)(s,{size:18})}),(0,w.jsx)(_d,{conversation:e,header:n,dmOnline:r}),(0,w.jsx)(yd,{conversation:e,pill:a,presence:i,statusPill:o,subtitle:c}),e.isGroup&&(0,w.jsx)(xd,{conversation:e,actions:l,canManageMembers:h,canDelete:g,onManageMembers:u,onRequestDelete:d,onRequestLeave:f}),(0,w.jsx)(yu,{conversation:e})]})},Cd=({conversation:e,categories:n,actions:r,statusPill:i,onManageMembers:a,onRequestDelete:o,onRequestLeave:s,selectedMessage:c=null,onClearSelection:l,onReply:u,onStartEdit:d,onDelete:f})=>{let p=e.isGroup?Gu(e,n):null,m=p?.pill??null,h=e.peerUserId,g=wu({conversation:e,live:Mr(e=>h===null?void 0:e.presence[h]),liveStatus:rc(h),nowMs:Date.now()}),_=e.isGroup?bd(e,p):g.subtitle;return(0,w.jsxs)(`header`,{className:t.at(E.viewHead,c!==null&&E.hasMobileSelection),children:[c!==null&&(0,w.jsx)(Vu,{selectedMessage:c,onClearSelection:l,onReply:u,onStartEdit:d,onDelete:f}),(0,w.jsx)(Sd,{conversation:e,header:p,dmOnline:e.isGroup?null:g.online,dmStatus:e.isGroup?null:g.status,pill:m,statusPill:i,subtitle:_,actions:r,onManageMembers:a,onRequestDelete:o,onRequestLeave:s})]})},wd=({excludeIds:e,onAdd:n,onBack:r})=>{let{search:i,setSearch:a,results:o,loading:c,hasQuery:l}=ea(e,`groupPool`);return(0,w.jsxs)(`div`,{className:E.addPanel,children:[(0,w.jsxs)(`div`,{className:E.addPanelHead,children:[(0,w.jsx)(`button`,{type:`button`,className:E.memberRowMenuBtn,"aria-label":`Back to members`,onClick:r,children:(0,w.jsx)(s,{size:15})}),(0,w.jsx)(`span`,{className:E.addPanelTitle,children:`Add member`})]}),(0,w.jsxs)(`div`,{className:E.addPanelSearch,children:[(0,w.jsx)(Ge,{size:14}),(0,w.jsx)(`input`,{className:E.searchInput,placeholder:`Search staff`,value:i,onChange:e=>{a(e.target.value)}}),c&&(0,w.jsx)(t.nt,{size:`sm`,label:`Searching staff`})]}),(0,w.jsxs)(`div`,{className:E.addPanelList,children:[(0,w.jsx)(t.T,{initial:!1,children:o.map(e=>(0,w.jsxs)(t.C.div,{layout:!0,variants:t.x,initial:`hidden`,animate:`visible`,exit:`exit`,className:E.memberRow,children:[(0,w.jsx)(`span`,{className:E.memberRowAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`span`,{className:E.memberRowBody,children:[(0,w.jsx)(`span`,{className:E.memberRowName,children:e.name}),(0,w.jsx)(`span`,{className:E.memberRowRole,children:e.role})]}),(0,w.jsxs)(`button`,{type:`button`,className:E.addMemberBtn,onClick:()=>{n(e)},children:[(0,w.jsx)(Le,{size:13}),` Add`]})]},e.id))}),o.length===0&&!c&&(0,w.jsx)(`p`,{className:E.addPanelEmpty,children:l?`No staff match your search.`:`Everyone is already in this group.`})]})]})},Td=e=>{let{member:t,isAdmin:n,adminCount:r,onMakeAdmin:i,onRemoveAdmin:a,onRemove:o}=e,s=[];return n||s.push({label:`Make admin`,icon:(0,w.jsx)(Ye,{size:14}),onSelect:()=>{i(t.id)}}),n&&r>1&&s.push({label:`Remove admin`,icon:(0,w.jsx)(Je,{size:14}),onSelect:()=>{a(t.id)}}),s.push({label:`Remove from group`,icon:(0,w.jsx)(at,{size:14}),danger:!0,onSelect:()=>{o(t.id)}}),s},Ed=({member:e})=>{let t=rc(e.id),n=t?.status??e.status??`offline`;return n===`offline`?null:(0,w.jsx)(md,{status:n,untilUtc:t===void 0?e.statusUntilUtc??null:t.untilUtc})},Dd=e=>{let{member:n,isAdmin:r,isSelf:i,isNew:a,isPromoted:o,isDemoted:s,canManage:c}=e,l=Mr(e=>e.presence[n.id]?.online??!1);return(0,w.jsxs)(t.C.div,{layout:!0,variants:t.x,initial:`hidden`,animate:`visible`,className:t.at(E.memberRow,a&&E.memberRowNew),children:[(0,w.jsxs)(`span`,{className:E.memberRowAvatarWrap,children:[(0,w.jsx)(`span`,{className:E.memberRowAvatar,style:t.it({"--avatar-color":n.color}),children:n.initials}),l&&(0,w.jsx)(`span`,{className:E.presenceDot,"aria-label":`Online`})]}),(0,w.jsxs)(`span`,{className:E.memberRowBody,children:[(0,w.jsxs)(`span`,{className:E.memberRowName,children:[n.name,i&&(0,w.jsx)(`span`,{className:E.memberRowYou,children:` (You)`}),r?(0,w.jsx)(`span`,{className:E.memberBadgeAdmin,children:`ADMIN`}):(0,w.jsx)(`span`,{className:E.memberBadge,children:`MEMBER`}),a&&(0,w.jsx)(`span`,{className:E.memberPillNew,children:`+ NEW`}),o&&!a&&(0,w.jsx)(`span`,{className:E.memberPillUp,children:`↑ PROMOTED`}),s&&(0,w.jsx)(`span`,{className:E.memberPillDown,children:`↓ DEMOTED`})]}),(0,w.jsxs)(`span`,{className:E.memberRowRole,children:[n.role,(0,w.jsx)(Ed,{member:n})]})]}),c&&!i&&(0,w.jsx)(t.g,{align:`end`,trigger:(0,w.jsx)(`button`,{type:`button`,className:E.memberRowMenuBtn,"aria-label":`Actions for ${n.name}`,children:(0,w.jsx)(ie,{size:14})}),items:Td(e)})]})},Od=(e,t,n,r)=>{let i=e.map(e=>e.id),a=n.map(e=>e.id),o=a.filter(e=>!i.includes(e)),s=i.filter(e=>!a.includes(e)),c=r.filter(e=>!t.includes(e)&&a.includes(e)),l=t.filter(e=>!r.includes(e)&&a.includes(e));return{addedIds:o,removedIds:s,promotedIds:c,demotedIds:l,total:o.length+s.length+c.length+l.length}},kd=(e,t)=>t.some(t=>e.some(e=>e.id===t)),Ad=e=>{let{addedIds:t,removedIds:n,promotedIds:r,demotedIds:i,total:a}=e;if(a===0)return`Save changes`;if(t.length===a)return t.length===1?`Add member`:`Add ${String(t.length)}`;if(n.length===a)return n.length===1?`Remove member`:`Remove ${String(n.length)}`;let o=r.length+i.length;return o===a?o===1?`Confirm`:`Confirm ${String(o)}`:`Save changes (${String(a)})`},jd=(e,t)=>{let[n,i]=(0,r.useState)(e.members),[a,o]=(0,r.useState)(e.adminIds),[s,c]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{t&&(i(e.members),o(e.adminIds),c(!1))},[t,e.id,e.members,e.adminIds]),{members:n,adminIds:a,adding:s,diff:Od(e.members,e.adminIds,n,a),adminCount:a.filter(e=>n.some(t=>t.id===e)).length,setAdding:c,addMember:e=>{i(t=>[...t,e]),c(!1)},removeMember:e=>{i(t=>t.filter(t=>t.id!==e)),o(t=>t.filter(t=>t!==e))},makeAdmin:e=>{o(t=>t.includes(e)?t:[...t,e])},removeAdmin:e=>{o(t=>t.filter(t=>t!==e))},undoRemove:e=>{i(t=>[...t,e])}}},Md=({member:e,onUndo:n})=>(0,w.jsxs)(`div`,{className:E.removedRow,children:[(0,w.jsx)(`span`,{className:E.memberRowAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`span`,{className:E.memberRowBody,children:[(0,w.jsx)(`span`,{className:E.removedName,children:e.name}),(0,w.jsx)(`span`,{className:E.memberRowRole,children:e.role})]}),(0,w.jsxs)(`button`,{type:`button`,className:E.undoBtn,onClick:n,children:[(0,w.jsx)(We,{size:12}),` Undo`]})]}),Nd=e=>{let{conversation:n,draftMembers:r,draftAdminIds:i,diff:a,adminCount:o,iAmAdmin:s}=e,{viewerId:c}=e;return(0,w.jsxs)(`div`,{className:E.membersBody,children:[a.total>0&&(0,w.jsxs)(`div`,{className:E.unsavedBar,children:[a.total,` unsaved `,a.total===1?`change`:`changes`]}),s&&(0,w.jsxs)(`button`,{type:`button`,className:E.addMemberCta,onClick:e.onAddClick,children:[(0,w.jsx)(st,{size:14}),` Add member`]}),(0,w.jsxs)(`div`,{className:E.membersSectionLabel,children:[`MEMBERS · `,r.length]}),(0,w.jsxs)(`div`,{className:E.membersList,children:[(0,w.jsx)(t.T,{initial:!1,children:r.map(t=>(0,w.jsx)(Dd,{member:t,isAdmin:i.includes(t.id),isSelf:t.id===c,isNew:a.addedIds.includes(t.id),isPromoted:a.promotedIds.includes(t.id),isDemoted:a.demotedIds.includes(t.id),canManage:s,adminCount:o,onMakeAdmin:e.onMakeAdmin,onRemoveAdmin:e.onRemoveAdmin,onRemove:e.onRemove},t.id))}),a.removedIds.length>0&&(0,w.jsxs)(t.C.div,{variants:t.x,initial:`hidden`,animate:`visible`,children:[(0,w.jsxs)(`div`,{className:E.removedLabel,children:[`WILL BE REMOVED · `,a.removedIds.length]}),a.removedIds.map(t=>{let r=n.members.find(e=>e.id===t);return r===void 0?null:(0,w.jsx)(Md,{member:r,onUndo:()=>{e.onUndoRemove(r)}},t)})]})]})]})},Pd=({diff:e,saving:n,onCancel:r,onSave:i})=>{let a=e.removedIds.length===e.total&&e.total>0;return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(t.tt,{variant:`ghost`,onClick:r,children:`Cancel`}),(0,w.jsx)(t.tt,{variant:a?`danger`:`primary`,isLoading:n,disabled:e.total===0,onClick:i,children:Ad(e)})]})},Fd=({conversation:e,open:n,onClose:r})=>{let i=Wi(e.id),a=jd(e,n),{data:o}=Fi(),s=o?.id??``,c=()=>{if(a.diff.total===0){r();return}if(!kd(a.members,a.adminIds)){t.l.error(`A group must keep at least one admin`);return}i.mutate({members:a.members,adminIds:a.adminIds},{onSuccess:()=>{t.l.success(`Members updated`),r()}})},l=a.members.length===1?`member`:`members`,u=a.adminCount===1?`admin`:`admins`;return(0,w.jsx)(t.y,{open:n,onOpenChange:e=>{e||r()},title:`Manage members`,description:`${e.title} · ${String(a.members.length)} ${l} · ${String(a.adminCount)} ${u}`,footer:a.adding?void 0:(0,w.jsx)(Pd,{diff:a.diff,saving:i.isPending,onCancel:r,onSave:c}),children:a.adding?(0,w.jsx)(wd,{excludeIds:a.members.map(e=>e.id),onAdd:a.addMember,onBack:()=>{a.setAdding(!1)}}):(0,w.jsx)(Nd,{conversation:e,draftMembers:a.members,draftAdminIds:a.adminIds,diff:a.diff,adminCount:a.adminCount,iAmAdmin:e.canManageMembers(s),viewerId:s,onAddClick:()=>{a.setAdding(!0)},onMakeAdmin:a.makeAdmin,onRemoveAdmin:a.removeAdmin,onRemove:a.removeMember,onUndoRemove:a.undoRemove})})},Id=({open:e,canDeleteForEveryone:n,onDeleteForMe:r,onDeleteForEveryone:i,onCancel:a})=>(0,w.jsx)(t.y,{open:e,onOpenChange:e=>{e||a()},title:`Delete message?`,footer:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(t.tt,{variant:`ghost`,onClick:a,children:`Cancel`}),(0,w.jsx)(t.tt,{variant:`secondary`,onClick:r,children:`Delete for me`}),n&&(0,w.jsx)(t.tt,{variant:`danger`,onClick:i,children:`Delete for everyone`})]}),children:n?`Delete this message for everyone, or just remove it from this device?`:`This message can only be removed from this device — the time limit to delete it for everyone has passed.`}),Ld=e=>e===1?`typing…`:`${String(e)} people typing…`,Rd=({conversationId:e})=>{let n=Mr(t=>t.typingUserIds(e,Date.now()).length);return(0,w.jsx)(t.T,{children:n>0&&(0,w.jsxs)(t.C.div,{className:E.typingRow,variants:t.b,initial:`hidden`,animate:`visible`,exit:`exit`,children:[(0,w.jsxs)(`span`,{className:E.typingDots,"aria-hidden":!0,children:[(0,w.jsx)(`span`,{}),(0,w.jsx)(`span`,{}),(0,w.jsx)(`span`,{})]}),(0,w.jsx)(`span`,{className:E.typingText,children:Ld(n)})]})})},zd=()=>{let e=Mr(e=>e.status);if(e===`connected`||e===`connecting`)return null;let t=e===`reconnecting`?`Reconnecting…`:`Offline`;return(0,w.jsxs)(`span`,{className:E.connPill,children:[(0,w.jsx)(ut,{size:12}),` `,t]})},Bd=20*1024*1024,Vd=(e,t,n)=>{let r=[],i=!1;for(let a of e){if(r.length>=t)break;if(a.size>n){i=!0;continue}r.push(a)}let a=e.reduce((e,t)=>e+ +(t.size<=n),0);return{accepted:r,skippedOversize:i,overflowed:a>t}},Hd=()=>{let[e,n]=(0,r.useState)([]),i=(0,r.useRef)([]);return i.current=e,(0,r.useEffect)(()=>()=>{for(let e of i.current)e.previewUrl!==null&&URL.revokeObjectURL(e.previewUrl)},[]),{items:e,add:e=>{let r=10-i.current.length;if(r<=0){t.l.error(`You can attach up to 10 files at once.`);return}let{accepted:a,skippedOversize:o,overflowed:s}=Vd(Array.from(e),r,Bd);if(o&&t.l.error(`That file is over the 20 MB limit — please send a smaller file.`),s&&t.l.error(`You can attach up to 10 files at once.`),a.length===0)return;let c=a.map(e=>({id:crypto.randomUUID(),file:e,previewUrl:e.type.startsWith(`image/`)?URL.createObjectURL(e):null}));n(e=>[...e,...c])},remove:e=>{let t=i.current.find(t=>t.id===e);t!==void 0&&t.previewUrl!==null&&URL.revokeObjectURL(t.previewUrl),n(t=>t.filter(t=>t.id!==e))},clear:()=>{for(let e of i.current)e.previewUrl!==null&&URL.revokeObjectURL(e.previewUrl);n([])}}},Ud=(e,t,n,r)=>{let i=()=>{n.current?.click()},a=()=>{e.items.length>0?(r.onSendMedia(e.items.map(e=>e.file),t),e.clear()):r.onSubmit()};return{openPicker:i,send:a,handleKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),a())},handlePaste:t=>{let n=t.clipboardData.files;n.length>0&&(t.preventDefault(),e.add(n))},onFileChange:t=>{t.target.files!==null&&t.target.files.length>0&&e.add(t.target.files);let r=n.current;r!==null&&(r.value=``)}}},Wd=[`👍`,`🎉`,`❤️`,`😂`,`🙌`,`👏`],Gd=[`😀`,`😄`,`😁`,`😂`,`😍`,`😎`,`🤝`,`🙏`,`👍`,`👏`,`🙌`,`🔥`,`🎉`,`⭐`,`✅`,`❤️`,`💡`,`📌`,`🚀`,`😢`],Kd=({onPick:e})=>{let[n,i]=(0,r.useState)(!1);return(0,w.jsxs)(`div`,{className:E.emojiWrap,children:[(0,w.jsx)(`button`,{type:`button`,className:E.composerIcon,"aria-label":`Insert emoji`,"aria-expanded":n,onClick:()=>{i(e=>!e)},children:(0,w.jsx)(Qe,{size:18})}),(0,w.jsx)(t.T,{children:n&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`button`,{type:`button`,className:E.emojiBackdrop,"aria-label":`Close emoji picker`,onClick:()=>{i(!1)}}),(0,w.jsx)(t.C.div,{className:E.emojiPop,variants:t.S,initial:`hidden`,animate:`visible`,exit:`exit`,children:Gd.map(t=>(0,w.jsx)(`button`,{type:`button`,className:E.emojiBtn,onClick:()=>{e(t),i(!1)},children:t},t))})]})})]})},qd=({replyTo:e,onClear:t})=>(0,w.jsxs)(`div`,{className:E.replyBar,children:[(0,w.jsxs)(`span`,{className:E.replyBarText,children:[`Replying to `,e.authorName,`: `,Du(e.text)]}),(0,w.jsx)(`button`,{type:`button`,className:E.replyBarClose,"aria-label":`Cancel reply`,onClick:t,children:(0,w.jsx)(C,{size:16})})]}),Jd=({attachments:e,onRemove:n,onAddMore:r})=>(0,w.jsxs)(t.C.div,{className:E.attachTray,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.16},children:[e.map(e=>(0,w.jsxs)(`div`,{className:E.attachItem,children:[e.previewUrl===null?(0,w.jsxs)(`div`,{className:E.attachFile,children:[(0,w.jsx)(ue,{size:20}),(0,w.jsx)(`span`,{className:E.attachFileName,children:e.file.name})]}):(0,w.jsx)(`img`,{className:E.attachThumb,src:e.previewUrl,alt:e.file.name}),(0,w.jsx)(`button`,{type:`button`,className:E.attachRemove,"aria-label":`Remove ${e.file.name}`,onClick:()=>{n(e.id)},children:(0,w.jsx)(C,{size:13})})]},e.id)),(0,w.jsx)(`button`,{type:`button`,className:E.attachAdd,"aria-label":`Add more files`,onClick:r,children:(0,w.jsx)(Le,{size:20})})]}),Yd=({fileRef:e,onAttach:t,onFileChange:n})=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`input`,{ref:e,type:`file`,multiple:!0,className:E.hiddenFileInput,accept:`image/*,video/*,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.csv,.zip`,onChange:n}),(0,w.jsx)(`button`,{type:`button`,className:E.composerIcon,"aria-label":`Attach files`,onClick:t,children:(0,w.jsx)(ke,{size:18})})]}),Xd=({hasAttachments:e,disabled:n,canSendMessage:r,onSend:i})=>{let a=(0,w.jsx)(`button`,{type:`button`,className:E.sendBtn,"aria-label":e?`Send attachments`:`Send message`,disabled:n,onClick:i,title:r?void 0:`You do not have permission to send messages`,children:(0,w.jsx)(Ke,{size:16})});return r?a:(0,w.jsx)(t.p,{label:`You do not have permission to send messages`,children:(0,w.jsx)(`span`,{style:{display:`inline-flex`},children:a})})},Zd=({editingText:e,onClear:t})=>(0,w.jsxs)(`div`,{className:E.replyBar,children:[(0,w.jsx)(Me,{size:15,style:{marginRight:6}}),(0,w.jsxs)(`span`,{className:E.replyBarText,children:[`Editing message: `,Du(e)]}),(0,w.jsx)(`button`,{type:`button`,className:E.replyBarClose,"aria-label":`Cancel edit`,onClick:t,children:(0,w.jsx)(C,{size:16})})]}),Qd=({value:e,title:n,hasAttachments:r,isSending:i,canSend:a,canSendMessage:o,fileRef:s,onChange:c,onTyping:l,onKeyDown:u,onPaste:d,onAttach:f,onFileChange:p,onSend:m})=>{let h=t.rt(`(max-width: 1024px)`),g=pt(e,4e3),_=r?`Add a caption…`:h?`Message ${n}…`:`Message ${n}… (Shift+Enter for new line)`;return(0,w.jsxs)(`div`,{className:E.composer,children:[(0,w.jsx)(Kd,{onPick:t=>{c(e+t)}}),(0,w.jsx)(Yd,{fileRef:s,onAttach:f,onFileChange:p}),(0,w.jsxs)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`},children:[(0,w.jsx)(`textarea`,{className:t.at(E.composerInput,g.isOverLimit&&E.composerInputError),rows:1,placeholder:_,value:e,onChange:e=>{c(e.target.value),l()},onKeyDown:u,onPaste:d}),g.showCounter&&(0,w.jsxs)(`div`,{style:{alignSelf:`flex-end`,fontSize:`10px`,color:g.counterColor===`danger`?`var(--color-danger)`:`var(--color-text-soft)`,marginRight:`8px`,fontWeight:500},children:[g.length,` / 4000`]})]}),(0,w.jsx)(Xd,{hasAttachments:r,disabled:i||!a||g.isOverLimit||!o,canSendMessage:o,onSend:m})]})},$d=({value:e,isSending:t,title:n,replyTo:i,editingMessage:a=null,onChange:o,onSubmit:s,onClearReply:c,onClearEditing:l,onSendMedia:u,onTyping:d,canSendMessage:f})=>{let{hasPermission:p}=ii(),m=f??p(T.chatSendMessage),h=(0,r.useRef)(null),g=Hd(),_=g.items.length>0,v=_||e.trim().length>0,{openPicker:y,send:b,handleKeyDown:x,handlePaste:S,onFileChange:ee}=Ud(g,e,h,{onSubmit:s,onSendMedia:u});return(0,w.jsxs)(w.Fragment,{children:[a!==null&&l!==void 0&&(0,w.jsx)(Zd,{editingText:a.text,onClear:l}),i!==null&&(0,w.jsx)(qd,{replyTo:i,onClear:c}),_&&(0,w.jsx)(Jd,{attachments:g.items,onRemove:g.remove,onAddMore:y}),(0,w.jsx)(Qd,{value:e,title:n,hasAttachments:_,isSending:t,canSend:v,canSendMessage:m,fileRef:h,onChange:o,onTyping:d,onKeyDown:x,onPaste:S,onAttach:y,onFileChange:ee,onSend:b})]})},ef=({conversation:e,conversationId:t,text:n,replyTo:r,editingMessage:i=null,isSending:a,onChange:o,onSubmit:s,onClearReply:c,onClearEditing:l,onSendMedia:u,onTyping:d})=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(Rd,{conversationId:t}),(0,w.jsx)($d,{value:n,isSending:a,title:e.title,replyTo:r,editingMessage:i,onChange:o,onSubmit:s,onClearReply:c,onClearEditing:l,onSendMedia:u,onTyping:d})]}),tf=(e,t,n,r)=>(e[t]?.[n]??0)>=r,nf=(e,t,n)=>tf(t,e,`read`,n)?`read`:tf(t,e,`delivered`,n)?`delivered`:`sent`,rf=(e,t,n)=>e.length===0?`sent`:e.every(e=>tf(t,e,`read`,n))?`read`:e.every(e=>tf(t,e,`delivered`,n))?`delivered`:`sent`,af=(e,t)=>t.peerUserId===null?rf(t.otherMemberIds,t.receipts,e.sequence):nf(t.peerUserId,t.receipts,e.sequence),of=(e,t)=>{if(t.length===0)return e;let n=new Map;for(let r of[...t,...e])n.set(r.id,r);return[...n.values()].sort((e,t)=>e.sequence-t.sequence)},sf=e=>{let t=e[0];return t===void 0?null:e.reduce((e,t)=>Math.min(e,t.sequence),t.sequence)},cf=e=>{let{getMessagesBefore:t}=D(),i=n.F(),[a,o]=(0,r.useState)(!0),[s,c]=(0,r.useState)(!1),l=(0,r.useRef)(!1);return(0,r.useEffect)(()=>{o(!0),c(!1),l.current=!1},[e]),{loadOlder:(0,r.useCallback)(()=>{if(e===null||l.current||!a)return;let r=Ni(e),s=sf(i.getQueryData(r)??[]);s!==null&&(l.current=!0,c(!0),n.Wt(t.execute(e,s,50)).then(e=>{i.setQueryData(r,t=>of(t??[],e)),e.length<50&&o(!1)}).catch(()=>{}).finally(()=>{l.current=!1,c(!1)}))},[e,t,a,i]),hasMore:a,isLoadingOlder:s}},lf=80,uf=60,df={tailKey:``,headKey:``,count:0,lastFromViewer:!1},ff=e=>{let t=e.at(-1);return{tailKey:t?.id??``,headKey:e[0]?.id??``,count:e.length,lastFromViewer:t?.fromViewer??!1}},pf=(e,t)=>{e!==null&&e.scrollTo({top:e.scrollHeight,behavior:t?`smooth`:`auto`})},mf=(e,t,n)=>{let i=(0,r.useRef)(null),[a,o]=(0,r.useState)(!0),[s,c]=(0,r.useState)(!1),l=(0,r.useRef)(df),u=(0,r.useRef)(!0),d=(0,r.useRef)(null),f=(0,r.useRef)(n);f.current=n;let p=(0,r.useCallback)(e=>{pf(i.current,e),c(!1)},[]),m=(0,r.useCallback)(()=>{let e=i.current;if(e===null)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<lf;u.current=t,o(t),t&&c(!1),e.scrollTop<uf&&(d.current=e.scrollHeight,f.current())},[]);return(0,r.useLayoutEffect)(()=>{l.current=df,u.current=!0,d.current=null,o(!0),c(!1)},[e]),(0,r.useLayoutEffect)(()=>{let e=ff(t),n=l.current;l.current=e;let r=i.current;if(e.tailKey===``||r===null)return;if(n.tailKey===``){pf(r,!1);return}let a=e.count>n.count,o=a&&e.tailKey!==n.tailKey;a&&e.headKey!==n.headKey&&d.current!==null&&(r.scrollTop+=r.scrollHeight-d.current,d.current=null),o&&(u.current||e.lastFromViewer)?(pf(r,!0),c(!1)):o&&c(!0)},[t]),(0,r.useEffect)(()=>{m()},[m]),{scrollRef:i,isAtBottom:a,hasNewBelow:s,scrollToBottom:p,onScroll:m}},hf={card:`_card_1bdwl_1`,header:`_header_1bdwl_29`,body:`_body_1bdwl_43`,authorRow:`_authorRow_1bdwl_47`,avatar:`_avatar_1bdwl_54`,authorInfo:`_authorInfo_1bdwl_68`,authorName:`_authorName_1bdwl_73`,category:`_category_1bdwl_80`,catDot:`_catDot_1bdwl_90`,title:`_title_1bdwl_97`,snippet:`_snippet_1bdwl_105`,footer:`_footer_1bdwl_116`},gf=/\/feed\/posts\/([a-zA-Z0-9-]+)$/,_f=({title:e,body:n,authorName:r,authorInitials:i,authorColor:a,categoryLabel:o,categoryColor:s,link:c})=>{let l=t.gt();return(0,w.jsxs)(`button`,{type:`button`,onClick:e=>{e.preventDefault();let t=gf.exec(c);if(t?.[1]!==void 0){let e=t[1];l(`/comms/feed?postId=${e}`)}else (c.startsWith(`/`)||c.toLowerCase().startsWith(`http://`)||c.toLowerCase().startsWith(`https://`))&&window.open(c,`_blank`,`noopener,noreferrer`)},className:hf.card,style:{textAlign:`left`},children:[(0,w.jsxs)(`div`,{className:hf.header,children:[(0,w.jsx)(Oe,{size:10}),`Shared from News Feed`]}),(0,w.jsxs)(`div`,{className:hf.body,children:[(0,w.jsxs)(`div`,{className:hf.authorRow,children:[(0,w.jsx)(`span`,{className:hf.avatar,style:t.it({"--avatar-color":a}),children:i}),(0,w.jsxs)(`div`,{className:hf.authorInfo,children:[(0,w.jsx)(`div`,{className:hf.authorName,children:r}),o!==null&&s!==null&&(0,w.jsxs)(`div`,{className:hf.category,style:t.it({"--cat-color":s}),children:[(0,w.jsx)(`span`,{className:hf.catDot}),o]})]})]}),(0,w.jsx)(`div`,{className:hf.title,children:e}),(0,w.jsx)(`div`,{className:hf.snippet,children:n}),(0,w.jsx)(`div`,{className:hf.footer,children:`Open in News Feed >`})]})]})},vf=e=>e.startsWith(`blob:`),yf=e=>e.type.length>0?URL.createObjectURL(e):URL.createObjectURL(new Blob([e],{type:`image/jpeg`})),bf=e=>{let{downloadChatMedia:t}=D(),[i,a]=(0,r.useState)(!1),o=e!==null&&vf(e),s=e!==null&&!o?e:null,c=n.M({queryKey:[`chat-media`,s],queryFn:()=>n.Wt(t.execute(s??``)),enabled:s!==null&&s.length>0,staleTime:1/0,gcTime:12e4,retry:1}),[l,u]=(0,r.useState)(null);(0,r.useEffect)(()=>{a(!1),u(null)},[e]),(0,r.useEffect)(()=>{let e=c.data;if(e===void 0)return;let t=yf(e);return u(t),()=>{URL.revokeObjectURL(t)}},[c.data]);let d=(0,r.useCallback)(()=>{a(!0)},[]);if(o)return{src:i?null:e,isLoading:!1,isError:i,onImageError:d};let f=c.isPending||c.isFetching;return{src:i?null:l,isLoading:f,isError:c.isError||i,onImageError:d}},xf=t.u(e=>({open:!1,urls:[],index:0,openViewer:(t,n)=>{t.length!==0&&e({open:!0,urls:t,index:Math.max(0,Math.min(n,t.length-1))})},close:()=>{e({open:!1})},next:()=>{e(e=>({index:Math.min(e.index+1,e.urls.length-1)}))},prev:()=>{e(e=>({index:Math.max(e.index-1,0)}))}})),Sf=({mediaUrl:e,album:n,index:r=0})=>{let{src:i,isLoading:a,isError:o,onImageError:s}=bf(e),c=xf(e=>e.openViewer);return o?(0,w.jsxs)(`div`,{className:E.msgMediaFallback,children:[(0,w.jsx)(he,{size:18}),(0,w.jsx)(`span`,{children:`Image unavailable`})]}):i===null||a?(0,w.jsx)(`div`,{className:E.msgMediaLoading,children:(0,w.jsx)(t.nt,{size:`sm`})}):(0,w.jsx)(`button`,{type:`button`,className:t.at(E.mediaButton,n!==void 0&&E.mediaButtonFill),"aria-label":`Open image preview`,onClick:()=>{c(n??[e],r)},children:(0,w.jsx)(`img`,{className:E.msgMedia,src:i,alt:``,onError:s})})},Cf=e=>(e??``).toLowerCase().split(`.`).pop()??``,wf=[`png`,`jpg`,`jpeg`,`gif`,`webp`,`bmp`,`svg`,`avif`,`heic`],Tf=(e,t)=>e!==null&&e.length>0?e.startsWith(`image/`):wf.includes(Cf(t)),Ef={pdf:`pdf`,zip:`archive`,rar:`archive`,"7z":`archive`,gz:`archive`,tar:`archive`,doc:`document`,docx:`document`,txt:`document`,rtf:`document`,odt:`document`,xls:`spreadsheet`,xlsx:`spreadsheet`,csv:`spreadsheet`,ods:`spreadsheet`,ppt:`presentation`,pptx:`presentation`,odp:`presentation`,mp3:`audio`,wav:`audio`,ogg:`audio`,m4a:`audio`,aac:`audio`,mp4:`video`,mov:`video`,webm:`video`,mkv:`video`,avi:`video`},Df=e=>{if(e===`application/pdf`)return`pdf`;if(e.startsWith(`audio/`))return`audio`;if(e.startsWith(`video/`))return`video`;if(e.startsWith(`text/`))return`document`;if(/zip|compressed|tar/.test(e))return`archive`;if(/spreadsheet|excel/.test(e))return`spreadsheet`;if(/presentation|powerpoint/.test(e))return`presentation`;if(e.includes(`word`))return`document`},Of=(e,t)=>Tf(e,t)?`image`:Df(e??``)??Ef[Cf(t)]??`generic`,kf={image:`Image`,pdf:`PDF Document`,archive:`Archive`,document:`Document`,spreadsheet:`Spreadsheet`,presentation:`Presentation`,audio:`Audio`,video:`Video`,generic:`File`},Af=e=>kf[e],jf={image:se,pdf:ue,archive:ae,document:ue,spreadsheet:le,presentation:Re,audio:oe,video:ce,generic:de},Mf=(e,t)=>{let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t.length>0?t:`download`,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(n)},Nf=({mediaUrl:e,contentType:n,fileName:i,fromViewer:a})=>{let{downloadChatMedia:o}=D(),[s,c]=(0,r.useState)(!1),l=Of(n,i),u=jf[l],d=i!==null&&i.length>0?i:`Attachment`,f=(0,r.useCallback)(()=>{c(!0),o.execute(e).then(e=>{c(!1),e.ok?Mf(e.value,d):t.l.error(`Could not download the file.`)})},[o,e,d]);return(0,w.jsxs)(`button`,{type:`button`,className:t.at(E.fileCard,a?E.fileCardMe:E.fileCardThem),onClick:f,disabled:s,"aria-label":`Download ${d}`,children:[(0,w.jsx)(`span`,{className:E.fileCardIcon,children:(0,w.jsx)(u,{size:22})}),(0,w.jsxs)(`span`,{className:E.fileCardInfo,children:[(0,w.jsx)(`span`,{className:E.fileCardName,children:d}),(0,w.jsx)(`span`,{className:E.fileCardMetaLabel,children:Af(l)})]}),(0,w.jsx)(`span`,{className:E.fileCardDownload,children:s?(0,w.jsx)(t.nt,{size:`sm`}):(0,w.jsx)(re,{size:16})})]})},Pf=({tick:e})=>e===`read`?(0,w.jsx)(`span`,{className:t.at(E.tick,E.tickRead),"aria-label":`Read`,children:(0,w.jsx)(y,{size:13})}):e===`delivered`?(0,w.jsx)(`span`,{className:E.tick,"aria-label":`Delivered`,children:(0,w.jsx)(y,{size:13})}):(0,w.jsx)(`span`,{className:E.tick,"aria-label":`Sent`,children:(0,w.jsx)(b,{size:13})}),Ff=({message:e,pending:n,tick:r,onRetry:i})=>n===`sending`?(0,w.jsx)(`span`,{className:E.tick,"aria-label":`Sending`,children:(0,w.jsx)(t.ot,{size:13})}):n===`failed`?(0,w.jsxs)(`span`,{className:E.sendFailed,children:[(0,w.jsx)(`span`,{className:E.sendFailedText,children:`Not delivered`}),(0,w.jsx)(`button`,{type:`button`,className:E.retryBtn,onClick:()=>{e.clientMessageId!==null&&i(e.clientMessageId,e.text)},children:`Retry`})]}):r===null?null:(0,w.jsx)(Pf,{tick:r}),If=({initial:e,onSave:t})=>{let[n,i]=(0,r.useState)(e);return(0,w.jsxs)(`span`,{className:E.msgActions,children:[(0,w.jsx)(`input`,{className:E.composerInput,value:n,onChange:e=>{i(e.target.value)}}),(0,w.jsx)(`button`,{type:`button`,className:E.msgActionBtn,onClick:()=>{n.trim().length>0&&t(n.trim())},children:`Save`})]})},Lf=({message:e,fromViewer:t,onReply:n,onEdit:i,onDelete:a,resolvedReplyTo:o=null})=>{let[s,c]=(0,r.useState)(!1),l=Ou(e,o);return Pu(e)?(0,w.jsx)(`span`,{className:E.msgActions}):t?s?(0,w.jsx)(If,{initial:e.text,onSave:t=>{i(e.id,t),c(!1)}}):(0,w.jsxs)(`span`,{className:E.msgActions,children:[(0,w.jsx)(`button`,{type:`button`,className:E.msgActionBtn,onClick:()=>{n(l)},children:`Reply`}),e.canEdit(Date.now())&&(0,w.jsx)(`button`,{type:`button`,className:E.msgActionBtn,onClick:()=>{c(!0)},children:`Edit`}),(0,w.jsx)(`button`,{type:`button`,className:E.msgActionBtn,onClick:()=>{a(e.id)},children:`Delete`})]}):(0,w.jsx)(`span`,{className:E.msgActions,children:(0,w.jsx)(`button`,{type:`button`,className:E.msgActionBtn,onClick:()=>{n(l)},children:`Reply`})})},Rf=`comms:chat:jump-to-message`,zf=e=>{if(typeof window>`u`||e.length===0)return;let t=new CustomEvent(Rf,{detail:{messageId:e},bubbles:!0});window.dispatchEvent(t)},Bf=(e,t,n=`msg-highlight-flash`)=>{let r=e.closest(t)??e.parentElement;if(r!==null){let t=r.getBoundingClientRect(),n=e.getBoundingClientRect(),i=r.scrollTop+(n.top-t.top)-t.height/2+n.height/2;typeof r.scrollTo==`function`&&r.scrollTo({top:Math.max(0,i),behavior:`smooth`})}e.classList.remove(n),e.offsetWidth,e.classList.add(n),window.setTimeout(()=>{e.classList.remove(n)},1600)},Vf=({replyTo:e})=>{let t=Eu(e.text);if(t!==null)return(0,w.jsx)(`div`,{style:{marginBottom:6,display:`block`,width:`100%`},children:(0,w.jsx)(_f,{...t.card})});let n=e.text.trim().length>0;return(0,w.jsxs)(`span`,{role:`button`,tabIndex:0,className:E.replyPreview,onClick:t=>{t.stopPropagation(),zf(e.messageId)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),zf(e.messageId))},children:[e.authorName.length>0&&(0,w.jsx)(`span`,{className:E.replyPreviewAuthor,children:e.authorName}),(0,w.jsx)(`span`,{className:E.replyPreviewText,children:n?Du(e.text):`Message`})]})},Hf=`This message was deleted`,Uf=({message:e})=>{let t=e.mediaUrl;return t===null||t.length===0?null:Tf(e.mediaContentType,e.mediaFileName)?(0,w.jsx)(Sf,{mediaUrl:t}):(0,w.jsx)(Nf,{mediaUrl:t,contentType:e.mediaContentType,fileName:e.mediaFileName,fromViewer:e.fromViewer})},Wf=({message:e,fromViewer:t,deletedForEveryone:r,pending:i,tick:a,onRetry:o})=>{let s=n.m();return(0,w.jsxs)(`span`,{className:E.msgMeta,children:[(0,w.jsx)(`span`,{className:E.msgTime,children:Kr(e.sentAt,s.display)||e.time}),!r&&e.isEdited&&(0,w.jsx)(`span`,{className:E.editedLabel,children:`edited`}),t&&(e.kind===`text`||e.kind===`media`)&&(0,w.jsx)(Ff,{message:e,pending:i,tick:a,onRetry:o})]})},Gf=/(https?:\/\/[^\s]+)/g,Kf=({text:e})=>e?(0,w.jsx)(w.Fragment,{children:e.split(Gf).map((e,t)=>e.match(Gf)?(0,w.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:E.msgLink,children:e},t):(0,w.jsx)(r.Fragment,{children:e},t))}):(0,w.jsx)(w.Fragment,{children:e}),qf=({sharedComment:e,sharedCardProps:n})=>(0,w.jsxs)(w.Fragment,{children:[e.length>0&&(0,w.jsx)(`span`,{className:t.at(E.msgText,E.msgTextWithCard),children:(0,w.jsx)(Kf,{text:e})}),(0,w.jsx)(_f,{...n})]}),Jf=({messageText:e,deletedForEveryone:n})=>(0,w.jsx)(`span`,{className:t.at(E.msgText,n&&E.msgTextDeleted),children:n?Hf:(0,w.jsx)(Kf,{text:e})}),Yf=({message:e,authorName:n,showAuthor:r,replyTo:i,fromViewer:a,deletedForEveryone:o,pending:s,tick:c,onRetry:l,isSelected:u,onSelect:d})=>{let f=o?null:Eu(e.text);return(0,w.jsxs)(`div`,{className:t.at(E.bubble,a?E.bubbleMe:E.bubbleThem,u&&E.bubbleSelected),onClick:()=>{d!==void 0&&d(e)},children:[r&&(0,w.jsx)(`span`,{className:E.msgAuthor,children:n}),!o&&i!==null&&(0,w.jsx)(Vf,{replyTo:i}),!o&&(0,w.jsx)(Uf,{message:e}),f===null?(0,w.jsx)(Jf,{messageText:e.text,deletedForEveryone:o}):(0,w.jsx)(qf,{sharedComment:f.comment,sharedCardProps:f.card}),(0,w.jsx)(Wf,{message:e,fromViewer:a,deletedForEveryone:o,pending:s,tick:c,onRetry:l})]})},Xf=({message:e,identity:n,replyTo:r,isSelected:i,onSelect:a,showAvatar:o,showAuthor:s,tick:c,pending:l,onRetry:u,onReply:d,onEdit:f,onDelete:p,quickReact:m,reactions:h})=>{let{fromViewer:g,deletedForEveryone:_}=e,v=!Pu(e)&&!_,y=h!==null;return(0,w.jsxs)(w.Fragment,{children:[!g&&(o?(0,w.jsx)(`span`,{className:E.msgAvatar,style:t.it({"--avatar-color":n.color}),children:n.initials}):(0,w.jsx)(`span`,{className:E.msgAvatarSpacer,"aria-hidden":`true`})),(0,w.jsx)(`div`,{className:t.at(E.msgCol,y&&E.msgColWithReactions),children:(0,w.jsxs)(`div`,{className:E.msgBubbleWrap,children:[(0,w.jsx)(Yf,{message:e,authorName:n.name,showAuthor:s,replyTo:r,fromViewer:g,deletedForEveryone:_,pending:l,tick:c,onRetry:u,isSelected:i,onSelect:a}),y&&h,v&&m,v&&(0,w.jsx)(Lf,{message:e,fromViewer:g,onReply:d,onEdit:f,onDelete:p,resolvedReplyTo:r})]})})]})},Zf=e=>e.trim().toLowerCase(),Qf=(e,t)=>Zf(e)===Zf(t),$f=(e,t)=>{if(e.fromViewer)return{name:e.authorName,initials:e.authorInitials,color:e.authorColor};let n=t.members.find(t=>Qf(t.id,e.senderId));return n===void 0?t.kind===`dm`&&t.peerUserId!==null&&Qf(t.peerUserId,e.senderId)?{name:t.title,initials:t.initials,color:t.color}:{name:e.authorName,initials:e.authorInitials,color:e.authorColor}:{name:n.name,initials:n.initials,color:n.color}},ep=({align:e,onPick:n})=>{let[i,a]=(0,r.useState)(!1);return(0,w.jsxs)(`div`,{className:E.reactWrap,children:[(0,w.jsx)(`button`,{type:`button`,className:E.reactBtn,"aria-label":`Add reaction`,onClick:()=>{a(e=>!e)},children:(0,w.jsx)(Ze,{size:14})}),(0,w.jsx)(t.T,{children:i&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`button`,{type:`button`,className:E.emojiBackdrop,"aria-label":`Close reaction picker`,onClick:()=>{a(!1)}}),(0,w.jsx)(t.C.div,{className:t.at(E.reactPop,e===`right`?E.reactPopRight:E.reactPopLeft),variants:t.S,initial:`hidden`,animate:`visible`,exit:`exit`,children:Wd.map(e=>(0,w.jsx)(`button`,{type:`button`,className:E.reactPopBtn,onClick:()=>{n(e),a(!1)},children:e},e))})]})})]})},tp=({message:e,onReact:n,fromViewer:r})=>{let i=e.reactions.reduce((e,t)=>e+t.count,0);if(i===0)return null;let a=e.reactions.find(e=>e.reacted);return(0,w.jsxs)(`button`,{type:`button`,className:t.at(E.reactionPill,r?E.reactionsMe:E.reactionsThem,a!==void 0&&E.reactionPillActive),onClick:()=>{if(a!==void 0)n(e.id,a.emoji);else if(e.reactions.length>0){let t=e.reactions[0]?.emoji;t!==void 0&&n(e.id,t)}},"aria-label":`Reactions`,children:[(0,w.jsx)(`span`,{className:E.reactionEmojis,children:e.reactions.map(e=>e.emoji).join(``)}),i>1&&(0,w.jsx)(`span`,{className:E.reactionCount,children:i})]})},np=({text:e})=>(0,w.jsx)(t.C.div,{className:E.systemRow,variants:t.x,initial:`hidden`,animate:`visible`,children:(0,w.jsx)(`span`,{className:E.systemPill,children:e})}),rp=(e,t,n)=>!e.deletedForEveryone&&e.reactions.length>0?(0,w.jsx)(tp,{message:e,onReact:n,fromViewer:t}):null,ip=({conversation:e,message:n,layoutStatic:r=!1,firstOfGroup:i=!0,lastOfGroup:a=!0,replyTo:o,isSelected:s,onSelect:c,onReact:l,tick:u,pending:d,onRetry:f,onReply:p,onEdit:m,onDelete:h})=>{if(n.isSystem)return(0,w.jsx)(np,{text:n.text});let{fromViewer:g}=n,_=$f(n,e),v=t.at(E.msgRow,g&&E.msgRowMe,i&&E.msgRowGroupStart),y=(0,w.jsx)(Xf,{message:n,identity:_,replyTo:o??n.replyTo,isSelected:s,onSelect:c,showAvatar:a,showAuthor:i&&e.isGroup,tick:u,pending:d,onRetry:f,onReply:p,onEdit:m,onDelete:h,quickReact:(0,w.jsx)(ep,{align:g?`right`:`left`,onPick:e=>{l(n.id,e)}}),reactions:rp(n,g,l)});return r?(0,w.jsx)(`div`,{id:`msg-${n.id}`,className:v,children:y}):(0,w.jsx)(t.C.div,{id:`msg-${n.id}`,className:v,variants:t.x,initial:`hidden`,animate:`visible`,whileHover:{y:-1,scale:1.005},transition:{type:`spring`,stiffness:500,damping:30},children:y})},ap=()=>void 0,op=e=>e.find(e=>e.text.trim().length>0)?.text??``,sp=({fromViewer:e,lastOfGroup:n,identity:r})=>e?null:n?(0,w.jsx)(`span`,{className:E.msgAvatar,style:t.it({"--avatar-color":r.color}),children:r.initials}):(0,w.jsx)(`span`,{className:E.msgAvatarSpacer,"aria-hidden":`true`}),cp=({message:e,onReact:t,onReply:n,onDelete:r})=>(0,w.jsxs)(`div`,{className:E.albumCellActions,children:[(0,w.jsx)(ep,{align:e.fromViewer?`right`:`left`,onPick:n=>{t(e.id,n)}}),(0,w.jsx)(`button`,{type:`button`,className:E.albumActionBtn,"aria-label":`Reply`,onClick:()=>{n(Ou(e))},children:(0,w.jsx)(Ue,{size:13})}),e.fromViewer&&(0,w.jsx)(`button`,{type:`button`,className:E.albumActionBtn,"aria-label":`Delete`,onClick:()=>{r(e.id)},children:(0,w.jsx)(at,{size:13})})]}),lp=e=>{let{message:t,album:n,index:r}=e,i=!Pu(t)&&!t.deletedForEveryone,a=!t.deletedForEveryone&&t.reactions.length>0;return(0,w.jsxs)(`div`,{id:`msg-${t.id}`,className:E.albumCell,children:[(0,w.jsx)(`div`,{className:E.albumCellMedia,children:t.mediaUrl!==null&&t.mediaUrl.length>0&&(0,w.jsx)(Sf,{mediaUrl:t.mediaUrl,album:n,index:r})}),i&&(0,w.jsx)(cp,{...e}),a&&(0,w.jsx)(`div`,{className:E.albumCellReactions,children:(0,w.jsx)(tp,{message:t,onReact:e.onReact,fromViewer:t.fromViewer})})]})},up=({last:e,fromViewer:t,tick:r,pending:i})=>{let a=n.m();return(0,w.jsxs)(`span`,{className:E.msgMeta,children:[(0,w.jsx)(`span`,{className:E.msgTime,children:Kr(e.sentAt,a.display)||e.time}),t&&(0,w.jsx)(Ff,{message:e,pending:i,tick:r,onRetry:ap})]})},dp=({conversation:e,messages:n,firstOfGroup:r,lastOfGroup:i,tick:a,pending:o,onReact:s,onReply:c,onDelete:l})=>{let u=n.at(0),d=n.at(-1);if(u===void 0||d===void 0)return(0,w.jsx)(w.Fragment,{});let{fromViewer:f}=u,p=$f(u,e),m=op(n),h=r&&e.isGroup,g=n.map(e=>e.mediaUrl??``);return(0,w.jsxs)(`div`,{id:`msg-${d.id}`,className:t.at(E.msgRow,f&&E.msgRowMe,r&&E.msgRowGroupStart),children:[(0,w.jsx)(sp,{fromViewer:f,lastOfGroup:i,identity:p}),(0,w.jsx)(`div`,{className:E.msgCol,children:(0,w.jsx)(`div`,{className:E.msgBubbleWrap,children:(0,w.jsxs)(`div`,{className:t.at(E.bubble,f?E.bubbleMe:E.bubbleThem),children:[h&&(0,w.jsx)(`span`,{className:E.msgAuthor,children:p.name}),(0,w.jsx)(`div`,{className:E.albumGrid,children:n.map((e,t)=>(0,w.jsx)(lp,{message:e,album:g,index:t,onReact:s,onReply:c,onDelete:l},e.id))}),m.length>0&&(0,w.jsx)(`span`,{className:E.msgText,children:m}),(0,w.jsx)(up,{last:d,fromViewer:f,tick:a,pending:o})]})})})]})},fp=(e,t)=>{if(e.length===0)return null;let r=Ur(e);if(Number.isNaN(r.getTime()))return null;if(t&&t.length>0){let e=n.y(r,t),i=String(e.month).padStart(2,`0`),a=String(e.day).padStart(2,`0`);return`${String(e.year)}-${i}-${a}`}let i=String(r.getMonth()+1).padStart(2,`0`),a=String(r.getDate()).padStart(2,`0`);return`${String(r.getFullYear())}-${i}-${a}`},pp=(e,t)=>{let[n,r,i]=e.split(`-`);return new Date(Date.UTC(Number(n),Number(r)-1,Number(i))).toLocaleDateString(`en-US`,{weekday:`short`,day:`numeric`,month:`short`,year:`numeric`,timeZone:`UTC`})},mp=(e,t)=>!e.isSystem&&!t.isSystem&&e.senderId===t.senderId,hp=(e,t)=>{let n=[],r=null;return e.forEach((i,a)=>{let o=fp(i.sentAt,t),s=o!==null&&o!==r;s&&n.push({kind:`date`,key:`date:${o}`,label:pp(o,t)}),r=o??r;let c=e[a-1],l=e[a+1],u=s||c===void 0||!mp(c,i),d=l===void 0||!mp(i,l)||fp(l.sentAt,t)!==o;n.push({kind:`message`,key:i.id,row:{message:i,firstOfGroup:u,lastOfGroup:d}})}),n},gp=2,_p=e=>e.kind===`message`&&e.row.message.kind===`media`&&!e.row.message.isSystem&&!e.row.message.deletedForEveryone&&(e.row.message.mediaUrl??``).length>0&&Tf(e.row.message.mediaContentType,e.row.message.mediaFileName),vp=e=>e.kind===`message`&&e.row.message.kind===`media`&&!e.row.message.isSystem&&e.row.message.deletedForEveryone,yp=e=>_p(e)||vp(e),bp=(e,t,n)=>({kind:`album`,key:`album:${(e[0]??t).row.message.id}`,messages:e.map(e=>e.row.message),firstOfGroup:t.row.firstOfGroup,lastOfGroup:n.row.lastOfGroup}),xp=(e,t,n)=>({kind:`message`,key:e.key,row:{message:e.row.message,firstOfGroup:t.row.firstOfGroup,lastOfGroup:n.row.lastOfGroup}}),Sp=(e,t)=>{let n=e[0],r=e[e.length-1];if(n===void 0||r===void 0)return;let i=e.filter(_p);if(i.length>=gp){t.push(bp(i,n,r));return}if(i.length===1&&i[0]!==void 0){t.push(xp(i[0],n,r));return}t.push(xp(n,n,r))},Cp=e=>{let t=[],n=[];for(let r of e){if(yp(r)){let e=n.at(-1);e!==void 0&&e.row.message.senderId!==r.row.message.senderId&&(Sp(n,t),n=[]),n.push(r);continue}Sp(n,t),n=[],t.push(r)}return Sp(n,t),t},wp=(e,t)=>!(e.fromViewer&&(e.kind===`text`||e.kind===`media`))||e.clientMessageId===null?null:t[e.clientMessageId]??null,Tp=({label:e})=>(0,w.jsx)(`div`,{className:E.dateSep,children:(0,w.jsx)(`span`,{className:E.dateSepPill,children:e})}),Ep=({conversation:e,messages:t,pending:i,selectedMessageId:a,onSelectMessage:o,onReact:s,onRetry:c,onReply:l,onEdit:u,onDelete:d,tickFor:f})=>{let p=n.m(),m=(0,r.useMemo)(()=>new Map(t.map(e=>[e.id,e])),[t]);return(0,w.jsx)(w.Fragment,{children:Cp(hp(t,p.display)).map(t=>{if(t.kind===`date`)return(0,w.jsx)(Tp,{label:t.label},t.key);if(t.kind===`album`){let n=t.messages.at(-1);return(0,w.jsx)(dp,{conversation:e,messages:t.messages,firstOfGroup:t.firstOfGroup,lastOfGroup:t.lastOfGroup,tick:n===void 0?null:f(n),pending:n===void 0?null:wp(n,i),onReact:s,onReply:l,onDelete:d},t.key)}return(0,w.jsx)(ip,{layoutStatic:!0,firstOfGroup:t.row.firstOfGroup,lastOfGroup:t.row.lastOfGroup,conversation:e,message:t.row.message,isSelected:a===t.row.message.id,onSelect:o,replyTo:Au(t.row.message.replyTo,m),onReact:s,pending:wp(t.row.message,i),tick:f(t.row.message),onRetry:c,onReply:l,onEdit:u,onDelete:d},t.key)})})},Dp={id:`u-shamim`,name:`Shamim Rahman`,initials:`SR`,color:`#e9445a`},Op=`t-uapp`,kp={id:`u-andreea`,name:`Andreea Cinpoi`,initials:`AN`,color:`#7c3aed`,role:`Sales Manager`},Ap={id:`u-laura`,name:`Laura Tomova`,initials:`LA`,color:`#3a7bd5`,role:`Compliance Officer`},jp={id:`s-mahmud`,name:`Mahmud Hasan`,initials:`MH`,color:`#16a34a`,role:`Student`},Mp={id:`u-mihadul`,name:`Mihadul Islam`,initials:`MI`,color:`#65a30d`,role:`Admission Officer`},Np={id:`u-nur`,name:`Nur Mohammad`,initials:`NM`,color:`#8b5cf6`,role:`Team Leader`},Pp={id:`u-md-shamim`,name:`Md Shamim`,initials:`MS`,color:`#0a6e6f`,role:`Sales Lead`};Dp.id,Dp.name,Dp.initials,Dp.color;var Fp=(e,t)=>({...t,admin:!1,lastSynced:null,tenantId:Op,categoryId:null,members:[],adminIds:[],data:{},peerUserId:e,memberReceipts:[]});Dp.id,jp.id,Dp.id,Mp.id,Np.id,jp.id,Dp.id,Pp.id,kp.id,Dp.id,kp.id,Ap.id,{...Fp(`u-tousif`,{id:`c-tousif`,kind:`dm`,title:`Tousif Sadman`,subtitle:`Consultant`,initials:`TS`,color:`#0e7c66`,online:!0,unread:2,pinned:!1,favourite:!0,archived:!1,lastMessage:`Sure, I'll send the documents`,lastTime:`5m`})},Dp.id,Fp(`u-raj`,{id:`c-raj`,kind:`dm`,title:`Raj Ahmed`,subtitle:`Global Admission Manager`,initials:`RA`,color:`#0ea5e9`,online:!0,unread:1,pinned:!1,favourite:!1,archived:!1,lastMessage:`The offer letter is ready`,lastTime:`1h`}),Fp(`u-andreea`,{id:`c-andreea`,kind:`dm`,title:`Andreea Cinpoi`,subtitle:`Sales Manager`,initials:`AN`,color:`#7c3aed`,online:!1,unread:0,pinned:!1,favourite:!1,archived:!1,lastMessage:`Thanks for the update`,lastTime:`2h`}),Fp(`u-jennifer`,{id:`c-jennifer`,kind:`dm`,title:`Jennifer Aboje`,subtitle:`Branch Manager`,initials:`JA`,color:`#fc7300`,online:!1,unread:0,pinned:!1,favourite:!1,archived:!1,lastMessage:`Let me check with the team`,lastTime:`Yesterday`}),Fp(`u-laura`,{id:`c-laura`,kind:`dm`,title:`Laura Tomova`,subtitle:`Compliance Officer`,initials:`LA`,color:`#3a7bd5`,online:!1,unread:0,pinned:!1,favourite:!1,archived:!0,lastMessage:`Archived — visa file closed`,lastTime:`3d`});var Ip=n.dt({id:n.pt(),name:n.pt(),initials:n.pt(),color:n.pt(),role:n.pt(),status:n.ut().optional(),statusUntilUtc:n.pt().nullish()}),Lp=n.dt({userId:n.pt(),deliveredUpto:n.ut(),readUpto:n.ut()}),Rp=n.dt({id:n.pt(),type:n.ut(),title:n.pt(),subtitle:n.pt(),initials:n.pt(),color:n.pt(),online:n.at(),status:n.ut().optional(),statusUntilUtc:n.pt().nullish(),unread:n.ut(),pinned:n.at(),favourite:n.at(),archived:n.at(),unreadCount:n.ut(),admin:n.at(),lastMessage:n.pt(),lastTime:n.pt(),lastMessageAt:n.pt().nullable().optional(),lastSyncedAt:n.pt().nullable(),categoryId:n.pt().nullable(),headerFields:n.ft(n.pt(),n.pt()).optional(),members:n.it(Ip),adminIds:n.it(n.pt()),peerUserId:n.pt().nullable().optional().default(null),memberReceipts:n.it(Lp).optional().default([])}).passthrough(),zp=n.dt({emoji:n.pt(),count:n.ut(),reacted:n.at()}),Bp=n.dt({id:n.pt(),conversationId:n.pt(),kind:n.ut(),senderId:n.pt(),authorName:n.pt(),authorInitials:n.pt(),authorColor:n.pt(),text:n.pt(),sentAt:n.pt(),time:n.pt(),sequence:n.ut(),clientMessageId:n.pt().nullable(),fromViewer:n.at(),reactions:n.it(zp),replyToMessageId:n.pt().nullable().optional().default(null),replyToAuthorName:n.pt().optional().default(``),replyToText:n.pt().optional().default(``),mediaUrl:n.pt().nullable().optional().default(null),mediaContentType:n.pt().nullable().optional().default(null),mediaFileName:n.pt().nullable().optional().default(null),editedAt:n.pt().nullable().optional().default(null),isEdited:n.at().optional().default(!1),deletedForEveryone:n.at().optional().default(!1)}),Vp=n.dt({id:n.pt(),name:n.pt(),initials:n.pt(),color:n.pt()}),Hp=n.it(Rp),Up=n.it(Ip),Wp=n.dt({totalCount:n.ut(),items:Hp}),Gp=n.dt({unread:n.ut(),favourites:n.ut(),groups:n.ut(),archived:n.ut()}),Kp=n.dt({blobName:n.pt(),url:n.pt(),contentType:n.pt().optional().default(`application/octet-stream`),fileName:n.pt().nullable().optional().default(null)}),qp=n.it(Bp),Jp=6e4,Yp=60*Jp,Xp=24*Yp,Zp=(e,t)=>{let n=t.getTime()-e.getTime();return n<Jp?`just now`:n<Yp?`${String(Math.floor(n/Jp))}m`:n<Xp?`${String(Math.floor(n/Yp))}h`:`${String(Math.floor(n/Xp))}d`},Qp=e=>e===0?`dm`:`group`,$p=e=>e===1?`system`:e===2?`media`:`text`,em=e=>({id:e.id,name:e.name,initials:e.initials,color:e.color,role:e.role,status:Xs(e.status),statusUntilUtc:e.statusUntilUtc??null}),tm=e=>({id:e.id,name:e.name,initials:e.initials,color:e.color}),nm=e=>{if(e.startsWith(`__UAPP_SHARED_CARD__::`))try{let t=e.substring(22),n=JSON.parse(t).card?.title??``;return n.length>0?`Shared Post: ${n}`:`Shared Post`}catch{return`Shared Post`}return e},rm=(e,t)=>new Gr({id:e.id,kind:Qp(e.type),title:e.title,subtitle:e.subtitle,initials:e.initials,color:e.color,online:e.online,status:Xs(e.status),statusUntilUtc:e.statusUntilUtc??null,unread:e.unreadCount,pinned:e.pinned,favourite:e.favourite,archived:e.archived,admin:e.admin,lastMessage:nm(e.lastMessage),lastTime:e.lastTime,lastMessageAt:e.lastMessageAt??null,lastSynced:e.lastSyncedAt===null?null:Zp(new Date(e.lastSyncedAt),t),tenantId:``,categoryId:e.categoryId,members:e.members.map(em),adminIds:e.adminIds,data:e.headerFields??{},peerUserId:e.peerUserId,memberReceipts:e.memberReceipts.map(e=>({userId:e.userId,deliveredUpto:e.deliveredUpto,readUpto:e.readUpto}))}),im=e=>{let t=e.replyToMessageId!==null&&e.replyToMessageId.length>0?{messageId:e.replyToMessageId,authorName:e.replyToAuthorName,text:e.replyToText}:null;return new Wr({id:e.id,kind:$p(e.kind),authorName:e.authorName,authorInitials:e.authorInitials,authorColor:e.authorColor,text:e.text,time:e.time,sentAt:e.sentAt,fromViewer:e.fromViewer,reactions:e.reactions.map(e=>({emoji:e.emoji,count:e.count,reacted:e.reacted})),sequence:e.sequence,senderId:e.senderId,clientMessageId:e.clientMessageId,replyTo:t,mediaUrl:e.mediaUrl,mediaContentType:e.mediaContentType,mediaFileName:e.mediaFileName,isEdited:e.deletedForEveryone?!1:(e.editedAt??``).length>0||e.isEdited,deletedForEveryone:e.deletedForEveryone})},am=(e,t,r)=>(e.error(`Chat ${t} returned an unexpected shape`,r),n.Bt(new Pr(r))),om=e=>{if(e.length===0)return;let t=e[0];if(t&&typeof t==`object`&&`message`in t){let e=t.message;if(typeof e==`string`&&e.trim().length>0)return e}},sm=e=>{if(Array.isArray(e.validationErrors)){let t=om(e.validationErrors);if(t!==void 0)return t}if(typeof e.details==`string`&&e.details.trim().length>0&&!e.details.includes(`The following errors were detected`))return e.details;if(typeof e.message==`string`&&e.message.trim().length>0)return e.message},cm=e=>{if(!e||typeof e!=`object`||!(`body`in e))return;let t=e.body;if(!t||typeof t!=`object`)return;let n=t;return sm(`error`in n&&n.error&&typeof n.error==`object`?n.error:n)},M=(e,t)=>(e.error(`Chat request failed`,t),new Pr(t,cm(t))),lm=(e,t,r)=>{let i=qp.safeParse(r);return i.success?n.Ut(i.data.map(im)):am(e,t,i.error)},um=(e,t,r,i)=>{let a=Rp.safeParse(i);return a.success?n.Ut(rm(a.data,t.now())):am(e,r,a.error)},dm=`/api/app/chat-media/download?blobName=`,fm=e=>`${dm}${encodeURIComponent(decodeURIComponent(e))}`,pm=e=>{if(!e.startsWith(`http://`)&&!e.startsWith(`https://`))return e;try{let t=new URL(e);return`${t.pathname}${t.search}`}catch{return e}},mm=e=>{let t=/^\/api\/app\/chat-media\/download\?blobName=([^&]+)/.exec(e);if(t?.[1]!==void 0)return t[1];let n=/^\/api\/app\/chat-media\?blobName=([^&]+)/.exec(e);if(n?.[1]!==void 0)return n[1];let r=/^\/api\/app\/chat-media\/([^/?]+)/.exec(e)?.[1];if(r!==void 0&&r!==`upload`&&r!==`download`)return r},hm=e=>{let t=e.trim();if(t.length===0)return t;let n=pm(t),r=mm(n);return r===void 0?n.startsWith(`/`)?n:`/${n}`:fm(r)},gm={conversations:`/api/app/chat/conversations`,conversationCounts:`/api/app/chat/conversation-scope-counts`,listStaff:`/api/app/chat/list-staff`,groupMemberPool:`/api/app/chat/group-member-pool`,viewer:`/api/app/chat/viewer`,createGroup:`/api/app/chat/group`,uploadChatMedia:`/api/app/chat-media/upload`,subscribePush:`/api/app/web-push/subscribe`},_m={afterSequence:`afterSequence`,beforeSequence:`beforeSequence`,skipCount:`skipCount`,maxResultCount:`maxResultCount`,filter:`filter`,scope:`scope`,uptoSequence:`uptoSequence`,favourite:`favourite`,archived:`archived`,pinned:`pinned`},N=e=>encodeURIComponent(e),P={conversation:e=>`/api/app/chat/conversation/${N(e)}`,messages:e=>`/api/app/chat/messages/${N(e)}`,messagesBefore:e=>`/api/app/chat/messages-before/${N(e)}`,messagesSince:e=>`/api/app/chat/messages-since/${N(e)}`,sendMessage:e=>`/api/app/chat/send-message/${N(e)}`,sendMediaMessage:e=>`/api/app/chat/send-media-message/${N(e)}`,markDelivered:e=>`/api/app/chat/mark-delivered/${N(e)}`,markRead:e=>`/api/app/chat/mark-read/${N(e)}`,reactToMessage:e=>`/api/app/chat/react-to-message/${N(e)}`,saveMembers:e=>`/api/app/chat/save-members/${N(e)}`,leaveConversation:e=>`/api/app/chat/leave-conversation/${N(e)}`,setFavourite:e=>`/api/app/chat/set-favourite/${N(e)}`,setArchived:e=>`/api/app/chat/set-archived/${N(e)}`,setPinned:e=>`/api/app/chat/set-pinned/${N(e)}`,deleteConversation:e=>`/api/app/chat/conversation/${N(e)}`,refreshPortal:e=>`/api/app/chat/refresh-portal/${N(e)}`,startDirect:e=>`/api/app/chat/start-direct/${N(e)}`,editMessage:e=>`/api/app/chat/edit-message/${N(e)}`,deleteMessage:e=>`/api/app/chat/message/${N(e)}`,deleteMessageForMe:e=>`/api/app/chat/message-for-me/${N(e)}`},vm=async(e,t,r,i)=>{try{let a=new FormData;a.append(`file`,r,i);let o=await e.httpClient.post(gm.uploadChatMedia,a,{query:{conversationId:t}}),s=Kp.safeParse(o);return s.success?n.Ut({mediaId:s.data.blobName,url:s.data.url}):am(e.logger,`upload-media`,s.error)}catch(t){return n.Bt(M(e.logger,t))}},ym=async(e,t)=>{try{let r=await vm(e,t.conversationId,t.file,t.fileName);if(!r.ok)return r;let i={blobName:r.value.mediaId,clientMessageId:t.clientMessageId};t.file.type.length>0&&(i.contentType=t.file.type),t.fileName.length>0&&(i.fileName=t.fileName),t.caption!==void 0&&t.caption.trim().length>0&&(i.caption=t.caption.trim()),t.replyToMessageId!==void 0&&t.replyToMessageId!==null&&(i.replyToMessageId=t.replyToMessageId);let a=await e.httpClient.post(P.sendMediaMessage(t.conversationId),i),o=Bp.safeParse(a);return o.success?n.Ut(im(o.data)):am(e.logger,`send-media-message`,o.error)}catch(t){return n.Bt(M(e.logger,t))}},bm=async(e,t)=>{try{let r=hm(t),i=await e.httpClient.getBlob(r,{headers:{Accept:`image/*,*/*`}});return i.size===0?n.Bt(new Pr(`Chat media response was empty`)):n.Ut(i)}catch(t){return n.Bt(M(e.logger,t))}},xm=async(e,t,r,i)=>{try{let t=await e.httpClient.post(P.editMessage(r),{text:i}),a=Bp.safeParse(t);return a.success?n.Ut(im(a.data)):am(e.logger,`edit-message`,a.error)}catch(t){return n.Bt(M(e.logger,t))}},Sm=async(e,t,r)=>{try{return await e.httpClient.delete(P.deleteMessage(r)),n.Ut(void 0)}catch(t){return n.Bt(M(e.logger,t))}},Cm=async(e,t,r)=>{try{return await e.httpClient.delete(P.deleteMessageForMe(r)),n.Ut(void 0)}catch(t){return n.Bt(M(e.logger,t))}},wm=async(e,t)=>{try{return await e.httpClient.post(gm.subscribePush,{endpoint:t.endpoint,p256dh:t.p256dh,auth:t.auth}),n.Ut(void 0)}catch(t){return n.Bt(M(e.logger,t))}},Tm=async(e,t,r,i)=>{try{return await e.post(r,void 0,{query:i}),n.Ut(void 0)}catch(e){return n.Bt(M(t,e))}},Em=async e=>{try{return await e.httpClient.post(e.path,e.body,{query:e.query}),n.Ut(void 0)}catch(t){return n.Bt(M(e.logger,t))}},Dm=async(e,t,r)=>{try{return await e.delete(r),n.Ut(void 0)}catch(e){return n.Bt(M(t,e))}},Om=(e,t,n)=>Tm(e.httpClient,e.logger,P.markDelivered(t),{[_m.uptoSequence]:n}),km=(e,t,n)=>Tm(e.httpClient,e.logger,P.markRead(t),{[_m.uptoSequence]:n}),Am=(e,t,n)=>Tm(e.httpClient,e.logger,P.setFavourite(t),{[_m.favourite]:n}),jm=(e,t,n)=>Tm(e.httpClient,e.logger,P.setArchived(t),{[_m.archived]:n}),Mm=(e,t,n)=>Tm(e.httpClient,e.logger,P.setPinned(t),{[_m.pinned]:n}),Nm=(e,t)=>Tm(e.httpClient,e.logger,P.leaveConversation(t),{}),Pm=(e,t)=>Tm(e.httpClient,e.logger,P.refreshPortal(t),{}),Fm=(e,t,n)=>Em({httpClient:e.httpClient,logger:e.logger,path:P.reactToMessage(t),query:{},body:{emoji:n}}),Im=(e,t,n,r)=>Em({httpClient:e.httpClient,logger:e.logger,path:P.saveMembers(t),query:{},body:{members:n.map(e=>({id:e.id,name:e.name,initials:e.initials,color:e.color,role:e.role})),adminIds:[...r]}}),Lm=(e,t)=>Dm(e.httpClient,e.logger,P.deleteConversation(t)),Rm={all:`All`,unread:`Unread`,favourites:`Favourites`,groups:`Groups`,archive:`Archive`},zm=async(e,t)=>{let r=t.filter?.trim();try{let i=await e.httpClient.get(gm.conversations,{query:{[_m.scope]:Rm[t.scope],[_m.filter]:r===void 0||r===``?void 0:r,[_m.skipCount]:t.skipCount,[_m.maxResultCount]:t.maxResultCount}}),a=Wp.safeParse(i);if(!a.success)return am(e.logger,`conversations`,a.error);let o=e.clock.now();return n.Ut({items:a.data.items.map(e=>rm(e,o)),totalCount:a.data.totalCount})}catch(t){return n.Bt(M(e.logger,t))}},Bm=async e=>{try{let t=await e.httpClient.get(gm.conversationCounts),r=Gp.safeParse(t);return r.success?n.Ut(r.data):am(e.logger,`conversation-counts`,r.error)}catch(t){return n.Bt(M(e.logger,t))}},Vm=async(e,t)=>{try{let n=await e.httpClient.get(P.conversation(t));return um(e.logger,e.clock,`conversation`,n)}catch(t){return n.Bt(M(e.logger,t))}},Hm=async(e,t)=>{let r=t?.trim();try{let t=await e.httpClient.post(gm.listStaff,void 0,{query:{[_m.filter]:r===void 0||r===``?void 0:r}}),i=Up.safeParse(t);return i.success?n.Ut(i.data.map(em)):am(e.logger,`list-staff`,i.error)}catch(t){return n.Bt(M(e.logger,t))}},Um=async(e,t)=>{let r=t?.trim();try{let t=await e.httpClient.get(gm.groupMemberPool,{query:{[_m.filter]:r===void 0||r===``?void 0:r}}),i=Up.safeParse(t);return i.success?n.Ut(i.data.map(em)):am(e.logger,`group-member-pool`,i.error)}catch(t){return n.Bt(M(e.logger,t))}},Wm=async e=>{try{let t=await e.httpClient.get(gm.viewer),r=Vp.safeParse(t);return r.success?n.Ut(tm(r.data)):am(e.logger,`viewer`,r.error)}catch(t){return n.Bt(M(e.logger,t))}},Gm=async(e,t,r)=>{try{let n=r===void 0?void 0:{query:{[_m.maxResultCount]:r}},i=await e.httpClient.get(P.messages(t),n);return lm(e.logger,`messages`,i)}catch(t){return n.Bt(M(e.logger,t))}},Km=async(e,t,r,i)=>{try{let n=await e.httpClient.get(P.messagesSince(t),{query:{[_m.afterSequence]:r,[_m.maxResultCount]:i}});return lm(e.logger,`messages-since`,n)}catch(t){return n.Bt(M(e.logger,t))}},qm=async(e,t,r,i)=>{try{let n=await e.httpClient.get(P.messagesBefore(t),{query:{[_m.beforeSequence]:r,[_m.maxResultCount]:i}});return lm(e.logger,`messages-before`,n)}catch(t){return n.Bt(M(e.logger,t))}},Jm=async(e,t)=>{try{let n=await e.httpClient.post(P.startDirect(t),void 0);return um(e.logger,e.clock,`start-direct`,n)}catch(t){return n.Bt(M(e.logger,t))}},Ym=async(e,t,r)=>{try{let n={title:t,memberIds:[...r]},i=await e.httpClient.post(gm.createGroup,n);return um(e.logger,e.clock,`group`,i)}catch(t){return n.Bt(M(e.logger,t))}},Xm=async e=>{let{deps:t,conversationId:r,text:i,clientMessageId:a,replyToMessageId:o}=e;try{let e={text:i,clientMessageId:a};o!=null&&(e.replyToMessageId=o);let s=await t.httpClient.post(P.sendMessage(r),e),c=Bp.safeParse(s);return c.success?n.Ut(im(c.data)):am(t.logger,`send-message`,c.error)}catch(e){return n.Bt(M(t.logger,e))}},Zm=class{httpClient;clock;logger;constructor(e){this.httpClient=e.httpClient,this.clock=e.clock,this.logger=e.logger.child(`http-chat-gateway`)}deps(){return{httpClient:this.httpClient,logger:this.logger}}queryDeps(){return{httpClient:this.httpClient,clock:this.clock,logger:this.logger}}listConversations(e){return zm(this.queryDeps(),e)}getConversationCounts(){return Bm(this.deps())}getConversation(e){return Vm(this.queryDeps(),e)}listStaff(e){return Hm(this.deps(),e)}getGroupMemberPool(e){return Um(this.deps(),e)}getViewer(){return Wm(this.deps())}getMessages(e,t){return Gm(this.deps(),e,t)}getMessagesSince(e,t,n){return Km(this.deps(),e,t,n)}getMessagesBefore(e,t,n){return qm(this.deps(),e,t,n)}startDirect(e){return Jm(this.queryDeps(),e)}createGroup(e,t){return Ym(this.queryDeps(),e,t)}sendMessage(e,t,n,r){return Xm({deps:this.deps(),conversationId:e,text:t,clientMessageId:n,replyToMessageId:r})}uploadChatMedia(e,t,n){return vm(this.deps(),e,t,n)}sendMediaMessage(e){return ym(this.deps(),e)}downloadMedia(e){return bm(this.deps(),e)}editMessage(e,t,n){return xm(this.deps(),e,t,n)}deleteMessage(e,t){return Sm(this.deps(),e,t)}deleteMessageForMe(e,t){return Cm(this.deps(),e,t)}subscribePush(e){return wm(this.deps(),e)}markDelivered(e,t){return Om(this.deps(),e,t)}markRead(e,t){return km(this.deps(),e,t)}setFavourite(e,t){return Am(this.deps(),e,t)}setArchived(e,t){return jm(this.deps(),e,t)}setPinned(e,t){return Mm(this.deps(),e,t)}deleteConversation(e){return Lm(this.deps(),e)}leaveConversation(e){return Nm(this.deps(),e)}refreshPortal(e){return Pm(this.deps(),e)}reactToMessage(e,t,n){return Fm(this.deps(),t,n)}saveMembers(e,t,n){return Im(this.deps(),e,t,n)}};function Qm(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function $m(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=Qm(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}var eh;function th(){return eh||=$m(`keyval-store`,`keyval`),eh}function nh(e,t=th()){return t(`readonly`,t=>Qm(t.get(e)))}function rh(e,t,n=th()){return n(`readwrite`,n=>(n.put(t,e),Qm(n.transaction)))}function ih(e,t=th()){return t(`readwrite`,t=>(t.delete(e),Qm(t.transaction)))}function ah(e,t){return e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},Qm(e.transaction)}function oh(e=th()){return e(`readonly`,e=>{if(e.getAllKeys)return Qm(e.getAllKeys());let t=[];return ah(e,e=>t.push(e.key)).then(()=>t)})}var sh=$m(`chat-outbox`,`pending-sends`),ch=e=>`send:${e}`,lh=()=>({put:async e=>{await rh(ch(e.clientMessageId),e,sh)},remove:async e=>{await ih(ch(e),sh)},listAll:async()=>{let e=await oh(sh);return(await Promise.all(e.map(async e=>nh(e,sh)))).filter(e=>e!==void 0)},listByConversation:async e=>{let t=await oh(sh);return(await Promise.all(t.map(async e=>nh(e,sh)))).filter(t=>t?.conversationId===e)}}),F={MessageReceived:`MessageReceived`,MessageEdited:`MessageEdited`,MessageDeleted:`MessageDeleted`,MessageDelivered:`MessageDelivered`,MessageRead:`MessageRead`,Typing:`Typing`,PresenceChanged:`PresenceChanged`,StatusChanged:`StatusChanged`,ReactionToggled:`ReactionToggled`,RemovedFromConversation:`RemovedFromConversation`},uh={MarkRead:`MarkRead`,MarkDelivered:`MarkDelivered`,Typing:`Typing`},dh=n.dt({conversationId:n.pt(),byUserId:n.pt(),uptoSequence:n.ut()}),fh=n.dt({conversationId:n.pt(),userId:n.pt(),isTyping:n.at()}),ph=n.dt({userId:n.pt(),online:n.at(),lastSeenUtc:n.pt().nullable()}),mh=n.dt({userId:n.pt(),status:n.ut(),untilUtc:n.pt().nullish()}),hh=n.dt({conversationId:n.pt(),messageId:n.pt(),byUserId:n.pt(),emoji:n.pt(),added:n.at()}),gh=n.dt({conversationId:n.pt(),messageId:n.pt()}),_h=n.dt({conversationId:n.pt()}),vh=(e,t,n,r)=>{let i=e.safeParse(t);return!i.success||i.data===void 0?(r.warn(`Ignoring malformed realtime payload`,{event:n}),null):i.data},yh=(e,t,n)=>vh(Bp,e,t,n),bh=(e,t,n)=>vh(dh,e,t,n),xh=(e,t,n)=>vh(fh,e,t,n),Sh=(e,t,n)=>vh(ph,e,t,n),Ch=(e,t,n)=>vh(mh,e,t,n),wh=(e,t,n)=>vh(hh,e,t,n),Th=(e,t,n)=>vh(gh,e,t,n),Eh=(e,t,n)=>vh(_h,e,t,n),Dh=`chat.hidden-messages`,Oh=n.it(n.pt()),kh=()=>{try{let e=window.localStorage.getItem(Dh);if(e===null)return[];let t=Oh.safeParse(JSON.parse(e));return t.success?t.data:[]}catch{return[]}},Ah=e=>{try{window.localStorage.setItem(Dh,JSON.stringify(e))}catch{}},jh=t.u((e,t)=>({hidden:new Set(kh()),hideForMe:n=>{if(t().hidden.has(n))return;let r=new Set(t().hidden);r.add(n),Ah([...r]),e({hidden:r})}})),Mh=(e,t)=>t.length>0&&Qf(e,t),Nh=(e,t)=>{let n=Mh(e.senderId,t),r=n?e.reactions:e.reactions.map(e=>e.reacted?{...e,reacted:!1}:e),i=r.length===e.reactions.length&&r.every((t,n)=>{let r=e.reactions[n];return r===void 0?!1:t.reacted===r.reacted&&t.emoji===r.emoji&&t.count===r.count});return n===e.fromViewer&&i?e:e.with({fromViewer:n,reactions:r})},Ph=(e,t)=>t.length===0?e:e.map(e=>Nh(e,t)),Fh=(e,t,n)=>{let i=(0,r.useRef)(null);(0,r.useEffect)(()=>{let t=i.current;if(t===null)return;let r=document.getElementById(`msg-${t}`);r===null?n.hasMore&&!n.isLoadingOlder?n.loadOlder():i.current=null:(i.current=null,Bf(r,e))},[t,n,e]),(0,r.useEffect)(()=>{let t=t=>{let r=t.detail.messageId;if(typeof r!=`string`||r.length===0)return;let a=document.getElementById(`msg-${r}`);a===null?n.hasMore&&(i.current=r,n.loadOlder()):(i.current=null,Bf(a,e))};return window.addEventListener(Rf,t),()=>{window.removeEventListener(Rf,t)}},[n,e])},Ih=[],Lh=({isLoadingOlder:e,hasMessages:n})=>!n||!e?null:(0,w.jsx)(`div`,{className:E.olderRow,children:(0,w.jsx)(t.nt,{size:`sm`,label:`Loading older messages`})}),Rh=(e,t,n,r)=>!(e.fromViewer&&(e.kind===`text`||e.kind===`media`))||Pu(e)?null:af(e,{peerUserId:t,otherMemberIds:n,receipts:r}),zh=({messages:e,older:n,hasMessages:r})=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(Lh,{isLoadingOlder:n.isLoadingOlder,hasMessages:r}),e.isPending&&(0,w.jsx)(`div`,{className:E.center,children:(0,w.jsx)(t.nt,{label:`Loading messages`})}),e.isError&&(0,w.jsx)(t.et,{tone:`error`,title:`Could not load messages`,children:e.error.message})]}),Bh=({conversation:e,viewerId:n,messages:i,selectedMessageId:a,onSelectMessage:o,onReact:s,onRetry:c,onReply:l,onEdit:u,onDelete:d})=>{let f=e.id,p=jh(e=>e.hidden),m=(0,r.useMemo)(()=>Ph(i.data??Ih,n).filter(e=>!p.has(e.id)),[i.data,n,p]),h=Mr(e=>e.receipts[f]),g=Mr(e=>e.pending),_=e.members.map(e=>e.id).filter(e=>e!==n),v=cf(f),y=mf(f,m,v.loadOlder);return Fh(`.${E.messages??`messages`}`,m,v),(0,w.jsxs)(`div`,{className:E.threadWrap,children:[(0,w.jsx)(`div`,{className:E.messages,ref:y.scrollRef,onScroll:y.onScroll,children:(0,w.jsxs)(`div`,{className:E.thread,children:[(0,w.jsx)(zh,{messages:i,older:v,hasMessages:m.length>0}),m.length>0&&(0,w.jsx)(Ep,{conversation:e,messages:m,pending:g,selectedMessageId:a,onSelectMessage:o,tickFor:t=>Rh(t,e.peerUserId,_,h??{}),onReact:s,onRetry:c,onReply:l,onEdit:u,onDelete:d})]})}),y.hasNewBelow&&(0,w.jsxs)(`button`,{type:`button`,className:t.at(E.newPill),onClick:()=>{y.scrollToBottom(!0)},children:[(0,w.jsx)(x,{size:14}),`New messages`]})]})},Vh=e=>(0,w.jsx)(Bh,{...e}),Hh=(e,t,n,i)=>{let[a,o]=(0,r.useState)(null),s=()=>{o(null)};return{requestDelete:t=>{o(e.find(e=>e.id===t)??null)},dialogProps:{open:a!==null,canDeleteForEveryone:a?.canDeleteForEveryone(i.now().getTime())??!1,onDeleteForMe:()=>{a!==null&&n(a.id),s()},onDeleteForEveryone:()=>{a!==null&&t(a.id),s()},onCancel:s}}},Uh=`now`,Wh=(e,t,n)=>{e.outbox.put({clientMessageId:t.clientMessageId,conversationId:e.conversationId,text:t.text,failedAt:n})},Gh=(e,t,n)=>{e.queryClient.setQueryData(Ni(e.conversationId),r=>zu(r,Lu({viewer:t,text:n.text,clientMessageId:n.clientMessageId,sequence:Fu(r??[])+1,timeLabel:Uh,sentAt:e.clock.now().toISOString(),replyTo:n.replyTo??null}))),e.store.getState().markSending(n.clientMessageId),Wh(e,n,null)},Kh=(e,t,n)=>{e.queryClient.setQueryData(Ni(e.conversationId),e=>Bu(e,t)),e.store.getState().clearPending(n),e.outbox.remove(n),_i(e.queryClient)},qh=(e,t,r)=>n.Wt(t.execute(e.conversationId,r.text,r.clientMessageId,r.replyToMessageId)),Jh=e=>{let{sendMessage:i,outbox:a,clock:o}=D(),s=n.F(),c=jr(),l=Fi().data??null,u={queryClient:s,store:c,outbox:a,conversationId:e,clock:o},d=n.j({mutationFn:e=>qh(u,i,e),onMutate:e=>{l!==null&&Gh(u,l,e)},onSuccess:(e,t)=>{Kh(u,e,t.clientMessageId)},onError:(e,n)=>{t.l.error(e instanceof Error?e.message:`Failed to send message`),c.getState().markFailed(n.clientMessageId),Wh(u,n,u.clock.now().toISOString()),t.l.error(e.message)}}),f=(0,r.useCallback)(()=>{a.listByConversation(e).then(e=>{for(let t of e)t.failedAt!==null&&(c.getState().markSending(t.clientMessageId),d.mutate({text:t.text,clientMessageId:t.clientMessageId}))})},[e,d,a,c]);return(0,r.useEffect)(()=>{let e=()=>{f()};return window.addEventListener(`online`,e),()=>{window.removeEventListener(`online`,e)}},[f]),{send:(0,r.useCallback)((e,t=null)=>{d.mutate({text:e,clientMessageId:crypto.randomUUID(),replyToMessageId:t?.messageId??null,replyTo:t})},[d]),retry:(0,r.useCallback)((e,t)=>{c.getState().markSending(e),d.mutate({text:t,clientMessageId:e})},[d,c]),isSending:d.isPending}},Yh=(e,t)=>{let n=e.then(t,t);return{run:n,next:n.then(()=>void 0,()=>void 0)}},Xh=(e,t)=>{let n=e.get(t);n!==void 0&&(e.delete(t),globalThis.setTimeout(()=>{URL.revokeObjectURL(n)},250))},Zh=(e,t)=>{let n=e.viewer;if(n===null)return;let r=URL.createObjectURL(t.file);e.urls.set(t.clientMessageId,r);let i=e.nowIso();e.queryClient.setQueryData(Ni(e.conversationId),e=>zu(e,Ru({viewer:n,fileUrl:r,caption:t.caption??``,clientMessageId:t.clientMessageId,sequence:Fu(e??[])+1,sentAt:i,contentType:t.file.type,fileName:t.fileName}))),e.store.getState().markSending(t.clientMessageId)},Qh=(e,t,n)=>{e.queryClient.setQueryData(Ni(e.conversationId),e=>Bu(e,t)),e.store.getState().clearPending(n),Xh(e.urls,n),_i(e.queryClient)},$h=(e,n)=>{let r=Nu(n.clientMessageId);e.queryClient.setQueryData(Ni(e.conversationId),e=>e?.filter(e=>e.id!==r)??[]),e.store.getState().clearPending(n.clientMessageId),Xh(e.urls,n.clientMessageId),t.l.error(`Couldn't send ${n.fileName}.`)},eg=e=>{let{sendMediaMessage:t,clock:i}=D(),a=n.F(),o=jr(),s=Fi().data??null,c=(0,r.useRef)(new Map),l=(0,r.useRef)(Promise.resolve()),u={queryClient:a,store:o,viewer:s,conversationId:e,nowIso:()=>i.now().toISOString(),urls:c.current},d=n.j({mutationFn:e=>{let{run:r,next:i}=Yh(l.current,()=>n.Wt(t.execute(e)));return l.current=i,r},onMutate:e=>{Zh(u,e)},onSuccess:(e,t)=>{Qh(u,e,t.clientMessageId)},onError:(e,t)=>{$h(u,t)}});return{sendMedia:(0,r.useCallback)((t,n,r)=>{let i={conversationId:e,file:t,fileName:t.name,clientMessageId:crypto.randomUUID(),...n!==void 0&&n.trim().length>0?{caption:n}:{},...r===void 0?{}:{replyToMessageId:r}};d.mutate(i)},[e,d]),isSending:d.isPending}},tg=(e,t)=>{let n=Ai(),i=(0,r.useRef)({conversationId:null,upto:0,acknowledge:(e,t)=>{}});i.current.acknowledge=(e,t)=>{n.mutate({conversationId:e,uptoSequence:t})},(0,r.useEffect)(()=>{if(e===null||t===void 0||t.length===0)return;let n=Iu(t),r=i.current;r.conversationId===e&&n<=r.upto||(r.conversationId=e,r.upto=n,r.acknowledge(e,n))},[e,t])},ng=2e3,rg=3e3,ig=e=>{let{realtime:t,logger:n}=D(),i=Mr(e=>e.status===`connected`),a=(0,r.useRef)(0),o=(0,r.useRef)(!1),s=(0,r.useRef)(null),c=(0,r.useCallback)(r=>{e===null||!i||t.invoke(uh.Typing,e,r).catch(()=>{n.debug(`Typing signal dropped (best-effort)`)})},[e,i,t,n]),l=(0,r.useCallback)(()=>{s.current!==null&&(clearTimeout(s.current),s.current=null)},[]),u=(0,r.useCallback)(()=>{l(),o.current&&(o.current=!1,a.current=0,c(!1))},[l,c]),d=(0,r.useCallback)(()=>{let e=Date.now();(!o.current||e-a.current>ng)&&(o.current=!0,a.current=e,c(!0)),l(),s.current=setTimeout(u,rg)},[l,c,u]);return(0,r.useEffect)(()=>u,[e,u]),{onInput:d,stop:u}},ag=e=>{let{subscribePush:t}=D();(0,r.useEffect)(()=>{!e||!(`serviceWorker`in navigator)||`PushManager`in window},[e,t])},og=()=>{let[e,t]=(0,r.useState)(``),[n,i]=(0,r.useState)(null),[a,o]=(0,r.useState)(null);return{text:e,setText:t,replyTo:n,setReplyTo:i,editingMessage:a,setEditingMessage:o}},sg=({messages:e,send:t,media:n,draft:r,actions:i})=>({messages:e,send:t,media:n,text:r.text,setText:r.setText,replyTo:r.replyTo,setReplyTo:r.setReplyTo,editingMessage:r.editingMessage,startEdit:i.startEdit,clearEditing:i.clearEditing,onReact:i.onReact,onEdit:i.onEdit,onDelete:i.onDelete,onDeleteForMe:i.onDeleteForMe,submit:i.submit,onSendMedia:i.onSendMedia,onTyping:i.onTyping,isSending:t.isSending||n.isSending}),cg=e=>{let t=Ii(e),n=Jh(e),r=eg(e),i=qi(e),a=Ji(e),o=Yi(e),s=Xi(e),c=jh(e=>e.hideForMe),l=ig(e),u=og();return ag(!0),tg(e,t.data),sg({messages:t,send:n,media:r,draft:u,actions:{startEdit:e=>{u.setEditingMessage({id:e.id,text:e.text}),u.setText(e.text),u.setReplyTo(null)},clearEditing:()=>{u.setEditingMessage(null),u.setText(``)},onReact:(e,t)=>{i.mutate({messageId:e,emoji:t})},onEdit:(e,t)=>{a.mutate({messageId:e,text:t})},onDelete:e=>{o.mutate(e)},onDeleteForMe:e=>{c(e),s.mutate(e)},submit:()=>{if(u.text.trim().length!==0){if(l.stop(),u.editingMessage!==null){a.mutate({messageId:u.editingMessage.id,text:u.text.trim()}),u.setEditingMessage(null),u.setText(``);return}n.send(u.text,u.replyTo),u.setText(``),u.setReplyTo(null)}},onSendMedia:(e,t)=>{e.forEach((e,n)=>{r.sendMedia(e,n===0?t:void 0,n===0?u.replyTo?.messageId??null:null)}),u.setText(``),u.setReplyTo(null)},onTyping:l.onInput}})},lg=()=>(0,w.jsxs)(`div`,{className:E.removedComposer,children:[(0,w.jsx)(l,{size:15}),(0,w.jsx)(`span`,{children:`You can no longer send messages here — you’re no longer a member of this group.`})]}),ug=({conversation:e,conversationId:t,active:n,removed:r})=>r?(0,w.jsx)(lg,{}):(0,w.jsx)(ef,{conversation:e,conversationId:t,text:n.text,replyTo:n.replyTo,editingMessage:n.editingMessage,isSending:n.isSending,onChange:n.setText,onSubmit:n.submit,onClearReply:()=>{n.setReplyTo(null)},onClearEditing:n.clearEditing,onSendMedia:n.onSendMedia,onTyping:n.onTyping}),dg=({conversation:e,conversationId:t,actions:n,onRequestDelete:i,onRequestLeave:a})=>{let o=Bs(),s=Fi(),{clock:c}=D(),l=cg(t),u=Hh(l.messages.data??[],l.onDelete,l.onDeleteForMe,c),d=Mr(e=>e.isRemovedFromConversation(t)),[f,p]=(0,r.useState)(!1),[m,h]=(0,r.useState)(null);return(0,r.useEffect)(()=>{h(null)},[t]),(0,w.jsxs)(`div`,{className:E.view,children:[(0,w.jsx)(Cd,{conversation:e,categories:o.data??[],actions:n,statusPill:(0,w.jsx)(zd,{}),onManageMembers:()=>{p(!0)},onRequestDelete:i,onRequestLeave:a,selectedMessage:m,onClearSelection:()=>{h(null)},onReply:l.setReplyTo,onStartEdit:l.startEdit,onDelete:u.requestDelete}),(0,w.jsx)(Vh,{conversation:e,viewerId:s.data?.id??``,messages:l.messages,selectedMessageId:m?.id??null,onSelectMessage:e=>{h(t=>t?.id===e.id?null:e)},onReact:l.onReact,onRetry:l.send.retry,onReply:l.setReplyTo,onEdit:l.onEdit,onDelete:u.requestDelete}),(0,w.jsx)(ug,{conversation:e,conversationId:t,active:l,removed:d}),e.isGroup&&(0,w.jsx)(Fd,{conversation:e,open:f,onClose:()=>{p(!1)}}),(0,w.jsx)(Id,{...u.dialogProps})]})},fg=()=>(0,w.jsxs)(`div`,{className:E.viewEmpty,children:[(0,w.jsx)(`div`,{className:E.emptyIconWrap,children:(0,w.jsx)(l,{size:32})}),(0,w.jsx)(`h3`,{className:E.emptyTitle,children:`No longer available`}),(0,w.jsx)(`p`,{className:E.emptyText,children:`You no longer have access to this conversation — you may have been removed from the group, or it was deleted. You can no longer read or send messages here.`})]}),pg=()=>{let e=dn(0),n=dn(0),r=vn(e,{stiffness:60,damping:20}),i=vn(n,{stiffness:60,damping:20}),a=mn(r,[-1,1],[-25,25]),o=mn(i,[-1,1],[-25,25]),s=mn(r,[-1,1],[20,-20]),c=mn(i,[-1,1],[-15,15]),l=mn(r,[-1,1],[-15,15]),u=mn(i,[-1,1],[20,-20]);return(0,w.jsxs)(`div`,{className:E.viewEmpty,onMouseMove:t=>{let r=t.currentTarget.getBoundingClientRect(),i=(t.clientX-r.left-r.width/2)/(r.width/2),a=(t.clientY-r.top-r.height/2)/(r.height/2);e.set(i),n.set(a)},onMouseLeave:()=>{e.set(0),n.set(0)},children:[(0,w.jsx)(t.C.div,{className:E.emptyFloating1,style:{x:a,y:o},children:(0,w.jsx)(Te,{size:24})}),(0,w.jsx)(t.C.div,{className:E.emptyFloating2,style:{x:s,y:c},children:(0,w.jsx)($e,{size:20})}),(0,w.jsx)(t.C.div,{className:E.emptyFloating3,style:{x:l,y:u},children:(0,w.jsx)(Ke,{size:16})}),(0,w.jsx)(`div`,{className:E.emptyIconWrap,children:(0,w.jsx)(we,{size:32})}),(0,w.jsx)(`h3`,{className:E.emptyTitle,children:`Your Messages`}),(0,w.jsx)(`p`,{className:E.emptyText,children:`Select a conversation from the sidebar or start a new chat.`})]})},mg=({conversation:e,conversationId:n,lostAccess:i,actions:a,onRequestDelete:o,onRequestLeave:s})=>{let c=jr();return(0,r.useEffect)(()=>(c.getState().setActiveConversationId(n),()=>{c.getState().setActiveConversationId(null)}),[n,c]),e===void 0||n===null?i?(0,w.jsx)(fg,{}):(0,w.jsx)(pg,{}):(0,w.jsx)(t.C.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:-12},transition:{type:`spring`,stiffness:350,damping:28},className:E.viewPaneWrapper,children:(0,w.jsx)(dg,{conversation:e,conversationId:n,actions:a,onRequestDelete:o,onRequestLeave:s})},n)},hg=({mediaUrl:e})=>{let{src:n,isLoading:r,isError:i,onImageError:a}=bf(e);return i?(0,w.jsxs)(`div`,{className:E.viewerFallback,children:[(0,w.jsx)(he,{size:30}),(0,w.jsx)(`span`,{children:`Image unavailable`})]}):n===null||r?(0,w.jsx)(t.nt,{label:`Loading image`}):(0,w.jsx)(`img`,{className:E.viewerImg,src:n,alt:``,onError:a})},gg=(e,t,n,i)=>{(0,r.useEffect)(()=>{if(!e)return;let r=e=>{e.key===`Escape`?t():e.key===`ArrowRight`?n():e.key===`ArrowLeft`&&i()};return window.addEventListener(`keydown`,r),()=>{window.removeEventListener(`keydown`,r)}},[e,t,n,i])},_g=()=>{let e=xf(e=>e.open),n=xf(e=>e.urls),r=xf(e=>e.index),a=xf(e=>e.close),o=xf(e=>e.next),s=xf(e=>e.prev),c=t.Z();gg(e,a,o,s);let l=n[r];if(!e||l===void 0)return null;let u=n.length>1;return(0,i.createPortal)((0,w.jsxs)(`div`,{className:E.viewerBackdrop,role:`dialog`,"aria-modal":`true`,"aria-label":`Image preview`,children:[(0,w.jsx)(`button`,{type:`button`,className:E.viewerScrim,"aria-label":`Close preview`,onClick:a}),(0,w.jsx)(`button`,{type:`button`,className:E.viewerClose,"aria-label":`Close preview`,onClick:a,children:(0,w.jsx)(C,{size:22})}),u&&(0,w.jsx)(`button`,{type:`button`,className:t.at(E.viewerNav,E.viewerNavPrev),"aria-label":`Previous image`,disabled:r===0,onClick:s,children:(0,w.jsx)(S,{size:26})}),(0,w.jsx)(`div`,{className:E.viewerStage,children:(0,w.jsx)(hg,{mediaUrl:l})}),u&&(0,w.jsx)(`button`,{type:`button`,className:t.at(E.viewerNav,E.viewerNavNext),"aria-label":`Next image`,disabled:r===n.length-1,onClick:o,children:(0,w.jsx)(t.ct,{size:26})}),u&&(0,w.jsxs)(`span`,{className:E.viewerCount,children:[r+1,` / `,n.length]})]}),c??document.body)},vg=()=>{let e=Ri(),n=Bi(),r=zi(),i=Vi(),a=Hi(),o=Ui();return{toggleFavourite:n=>{e.mutate({id:n.id,value:!n.favourite},{onSuccess:()=>{t.l.success(n.favourite?`Removed from Favourites`:`Added to Favourites`)}})},togglePin:e=>{n.mutate({id:e.id,value:!e.pinned},{onSuccess:()=>{t.l.success(e.pinned?`Unpinned`:`Pinned to top`)}})},toggleArchive:e=>{r.mutate({id:e.id,value:!e.archived},{onSuccess:()=>{t.l.success(e.archived?`Chat unarchived`:`Chat archived`)}})},remove:e=>{i.mutate(e,{onSuccess:()=>{t.l.success(`Chat deleted`)}})},leave:e=>{a.mutate(e.id,{onSuccess:()=>{t.l.success(`You left "${e.title}"`)}})},refresh:e=>{o.mutate(e.id,{onSuccess:()=>{t.l.success(`Portal data refreshed`)}})}}},yg=e=>{let t=jr();(0,r.useEffect)(()=>{let{seedReceipts:n}=t.getState();for(let t of e)n(t.id,t.memberReceipts)},[t,e])},bg=[],xg=(e,t,n)=>{let r=pi(e,t),i=pi(e,``),a=mi(),o=r.data??bg,s=i.data??bg,c=n??s[0]?.id??o[0]?.id??null,l=gi(c);return yg(o),{conversations:r,counts:a.data,list:o,activeId:c,active:l.data??o.find(e=>e.id===c),lostAccess:n!==null&&l.isError}},Sg=`/comms/chats`,Cg=(e,t,n)=>{let[i,a]=(0,r.useState)(null),[o,s]=(0,r.useState)(null);return{pendingDelete:i,pendingLeave:o,requestDelete:a,requestLeave:s,confirmDelete:()=>{i!==null&&(e.remove(i.id),i.id===t&&n(Sg)),a(null)},confirmLeave:()=>{o!==null&&(e.leave(o),o.id===t&&n(Sg)),s(null)},cancelDelete:()=>{a(null)},cancelLeave:()=>{s(null)}}},wg=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,Tg=`--`,Eg=e=>e.replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/u,``),Dg=e=>{let t=e.replace(/-/g,`+`).replace(/_/g,`/`);return t+`=`.repeat((4-t.length%4)%4)},Og=e=>{let t=e.replace(/-/g,``),n=``;for(let e=0;e<t.length;e+=2)n+=String.fromCharCode(Number.parseInt(t.slice(e,e+2),16));return Eg(btoa(n))},kg=e=>{let t;try{t=atob(Dg(e))}catch{return null}if(t.length!==16)return null;let n=``;for(let e=0;e<t.length;e+=1)n+=t.charCodeAt(e).toString(16).padStart(2,`0`);return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`},Ag=e=>wg.test(e)?Og(e):`~${Eg(btoa(e))}`,jg=e=>{if(e.startsWith(`~`))try{return atob(Dg(e.slice(1)))}catch{return null}return kg(e)},Mg=e=>{let t=e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,40);return t.length>0?t:`chat`},Ng=(e,t)=>`/comms/chats/${Mg(t)}${Tg}${Ag(e)}`,Pg=e=>{let t=e.indexOf(Tg),n=t>=0?e.slice(t+2):e;return wg.test(n)?n:jg(n)},Fg=()=>{let e=t._t(),[n,i]=(0,r.useState)(`all`),[a,o]=(0,r.useState)(``),s=$i(a,250),{conversationId:c}=t.vt(),l=c===void 0?null:Pg(c),{conversations:u,counts:d,list:f,activeId:p,active:m,lostAccess:h}=xg(n,s,l),g=vg(),_=t.gt(),v=Cg(g,l,_);return u.isPending?(0,w.jsx)(ga,{}):u.isSuccess?(0,w.jsxs)(`div`,{className:t.at(E.root,l!==null&&E.hasActiveChat),children:[(0,w.jsx)(ha,{conversations:f,activeId:p,actions:g,filter:{tab:n,onTabChange:i,search:a,onSearchChange:o,counts:d},hasNextPage:u.hasNextPage,isFetchingNextPage:u.isFetchingNextPage,onLoadMore:u.fetchNextPage,onRequestDelete:v.requestDelete,onSelect:e=>{_(Ng(e,f.find(t=>t.id===e)?.title??``))}}),(0,w.jsx)(mg,{conversation:m,conversationId:p,lostAccess:h,actions:g,onRequestDelete:v.requestDelete,onRequestLeave:v.requestLeave}),(0,w.jsx)(yn,{pendingDelete:v.pendingDelete,pendingLeave:v.pendingLeave,onConfirmDelete:v.confirmDelete,onConfirmLeave:v.confirmLeave,onCancelDelete:v.cancelDelete,onCancelLeave:v.cancelLeave}),(0,w.jsx)(_g,{}),e]}):(0,w.jsx)(`div`,{className:E.fullCenter,children:(0,w.jsx)(t.et,{tone:`error`,title:`Could not load chats`,children:u.error?.message??`Please try again.`})})},Ig=`/comms/chats`,Lg=()=>(0,w.jsxs)(t.mt,{children:[(0,w.jsxs)(t.pt,{path:Ig,element:(0,w.jsx)(Fg,{}),children:[(0,w.jsx)(t.pt,{index:!0,element:null}),(0,w.jsx)(t.pt,{path:`:conversationId`,element:null})]}),(0,w.jsx)(t.pt,{path:`*`,element:(0,w.jsx)(t.ft,{to:Ig,replace:!0})})]}),Rg=e.n((e=>{var t=require("react-dom");if(process.env.NODE_ENV===`production`)e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot;else{var n=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;e.createRoot=function(e,r){n.usingClientEntryPoint=!0;try{return t.createRoot(e,r)}finally{n.usingClientEntryPoint=!1}},e.hydrateRoot=function(e,r,i){n.usingClientEntryPoint=!0;try{return t.hydrateRoot(e,r,i)}finally{n.usingClientEntryPoint=!1}}}}))(),zg=`__COMMHUB_SDK_CSS__`,Bg,Vg=()=>{let e=globalThis[zg];return typeof e==`string`?e:``},Hg=()=>typeof CSSStyleSheet==`function`&&typeof CSSStyleSheet.prototype.replaceSync==`function`,Ug=()=>{let e=Vg();if(e===``||!Hg())return[];if(Bg===void 0)try{let t=new CSSStyleSheet;t.replaceSync(e),Bg=t}catch{Bg=null}return Bg===null?[]:[Bg]},Wg=()=>{let e=Vg();if(e===``)return null;let t=document.createElement(`style`);return t.textContent=e,t},Gg=`commhub-widget-root`;function Kg(e,t,n=[]){if(customElements.get(e))return;class r extends HTMLElement{reactRoot=null;mountPoint;configValue={};static get observedAttributes(){return n}get config(){return this.configValue}set config(e){this.configValue=e,this.render()}constructor(){super();let e=this.attachShadow({mode:`open`}),t=Ug();if(t.length>0)e.adoptedStyleSheets=[...t];else{let t=Wg();t!==null&&e.appendChild(t)}this.mountPoint=document.createElement(`div`),this.mountPoint.className=Gg,e.appendChild(this.mountPoint)}connectedCallback(){this.render()}disconnectedCallback(){let e=this.reactRoot;e!==null&&(this.reactRoot=null,queueMicrotask(()=>{if(this.isConnected){this.reactRoot??=e;return}e.unmount()}))}attributeChangedCallback(){this.reactRoot!==null&&this.render()}render(){this.isConnected&&(this.reactRoot??=(0,Rg.createRoot)(this.mountPoint),this.reactRoot.render(t(this)))}}customElements.define(e,r)}var qg={notice:`_notice_184jj_6`,title:`_title_184jj_23`,detail:`_detail_184jj_29`},Jg=({tagName:e,detail:t})=>(0,w.jsxs)(`div`,{className:qg.notice,role:`alert`,children:[(0,w.jsxs)(`strong`,{className:qg.title,children:[`<`,e,`> could not start: invalid configuration`]}),(0,w.jsx)(`span`,{className:qg.detail,children:t})]}),Yg=class{entries=new Map;getItem(e){return this.entries.get(e)??null}setItem(e,t){this.entries.set(e,t)}removeItem(e){this.entries.delete(e)}},Xg=e=>{let t=new Sl({storage:new Yg,logger:e.logger,namespace:e.storageNamespace});return Cl({completeSsoLoginUseCase:new el({authGateway:e.authGateway,sessionStore:t,logger:e.logger}),logoutUseCase:new tl({authGateway:e.authGateway,sessionStore:t,logger:e.logger}),restoreSessionUseCase:new nl({authGateway:e.authGateway,sessionStore:t,clock:e.clock,logger:e.logger}),refreshSessionUseCase:new rl({authGateway:e.authGateway,sessionStore:t,logger:e.logger}),setAccessToken:e.setAccessToken,loginUrl:``})},Zg=`sdk_signed`,Qg=`assertion`,$g=`CommunicationHub`,e_=class{httpClient;clock;logger;clientKey;scope;constructor(e){this.httpClient=e.httpClient,this.clock=e.clock,this.logger=e.logger.child(`sdk-signed-gateway`),this.clientKey=e.clientKey,this.scope=[$g,...e.modules].join(` `)}exchangeSsoSecret(e){return e.trim().length===0||this.clientKey.trim().length===0?Promise.resolve(n.Bt(new Xc)):this.requestToken({grant_type:Zg,client_id:this.clientKey,[Qg]:e,scope:this.scope})}refresh(e){return Promise.resolve(n.Bt(new A(`sdk_signed re-authenticates with a fresh host assertion, not a refresh token.`)))}signOut(e){return Promise.resolve()}async requestToken(e){try{let t=await this.httpClient.postForm(dl,e,{anonymous:!0}),r=il.safeParse(t);return r.success?ul(r.data,this.clock.now()):(this.logger.error(`Token endpoint returned an unexpected shape`,r.error),n.Bt(new A(r.error)))}catch(e){return e instanceof n.gt&&e.isClientError()?(this.logger.warn(`Signed assertion was rejected`,{status:e.status}),n.Bt(new Xc)):(this.logger.error(`Failed to exchange signed assertion`,{error:e}),n.Bt(new A(e)))}}},t_=class{clock;logger;constructor(e){this.clock=e.clock,this.logger=e.logger.child(`sdk-host-token-gateway`)}exchangeSsoSecret(e){if(e.trim().length===0)return Promise.resolve(n.Bt(new Xc));try{let t=cl(e);if(n.Vt(t))return this.logger.error(`Invalid JWT token provided by host`,t.error),Promise.resolve(n.Bt(new A(`Invalid host token provided.`)));let r=t.value.exp;if(typeof r!=`number`)return Promise.resolve(n.Bt(new A(`Host token missing or invalid exp claim.`)));let i=r-Math.floor(this.clock.now().getTime()/1e3);return i<=0?Promise.resolve(n.Bt(new A(`Host token is already expired.`))):Promise.resolve(ul({access_token:e,token_type:`Bearer`,expires_in:i,refresh_token:null},this.clock.now()))}catch(e){return this.logger.error(`Failed to parse host token`,{error:e}),Promise.resolve(n.Bt(new A(e)))}}refresh(e){return Promise.resolve(n.Bt(new A(`host-token does not support traditional refresh tokens.`)))}signOut(e){return Promise.resolve()}},n_=[`commhub.chat`,`commhub.bookings`,`commhub.schedule`,`commhub.feed`],r_={"commhub.chat":Yr.chat,"commhub.feed":Yr.feed,"commhub.schedule":Yr.schedule,"commhub.bookings":Yr.meetings},i_=e=>Object.hasOwn(r_,e),a_=e=>n_.filter(t=>e.has(r_[t])),o_=(e,t)=>e.filter(e=>!t.has(r_[e])),s_=1e4,c_=1e3,l_=6e4,u_=class{deps;timer=null;unwatch=null;started=!1;disposed=!1;inFlight=!1;failures=0;authenticated=!1;constructor(e){this.deps=e}start(){this.started||this.isDisposed()||(this.started=!0,this.watchSession(),this.run())}isDisposed(){return this.disposed}dispose(){this.disposed=!0,this.clearTimer(),this.unwatch?.(),this.unwatch=null}async run(){if(!(this.isDisposed()||this.inFlight)){this.inFlight=!0;try{let e=await this.deps.requestCredential(),t=await this.deps.authStore.getState().completeLogin(e);if(this.isDisposed())return;if(t){await this.onAuthenticated();return}this.onExpired()}catch(e){if(this.isDisposed())return;let t=e instanceof Error?e.message:String(e);this.deps.logger.error(`SDK handshake failed`,{error:e}),this.deps.emit({type:`error`,payload:{code:`HANDSHAKE_FAILED`,message:t}}),this.scheduleRetry()}finally{this.inFlight=!1}}}async onAuthenticated(){this.failures=0,this.authenticated=!0;let e=await this.deps.moduleAccessModule.getModuleAccess.execute();if(!this.isDisposed()){if(e.ok){let t=e.value.grantedModules;this.deps.emit({type:`ready`,payload:{apiVersion:`1.0`,modules:a_(t)}});let n=o_(this.deps.requestedModules,t);n.length>0&&this.deps.emit({type:`scope-denied`,payload:{required:[...n],granted:a_(t)}})}this.scheduleRenewal()}}onExpired(){(this.authenticated||this.failures===0)&&this.deps.emit({type:`auth-expired`,payload:{}}),this.authenticated=!1,this.scheduleRetry()}scheduleRetry(){let e=Math.min(l_,c_*2**this.failures);this.failures+=1,this.scheduleAt(e)}scheduleRenewal(){if(!this.deps.renewable)return;let e=this.deps.authStore.getState().session;if(!e)return;let t=e.expiresAt.getTime()-Date.now();this.scheduleAt(Math.max(0,t-s_))}scheduleAt(e){this.clearTimer(),!this.isDisposed()&&(this.timer=setTimeout(()=>{this.timer=null,this.run()},e))}clearTimer(){this.timer!==null&&(clearTimeout(this.timer),this.timer=null)}watchSession(){this.unwatch=this.deps.authStore.subscribe(e=>{this.inFlight||e.status===`unauthenticated`&&this.authenticated&&(this.deps.logger.warn(`SDK session expired mid-session; re-handshaking`),this.onExpired())})}},d_=class{createRunner;eventListeners=new Set;statusListeners=new Set;runner=null;currentStatus=`pending`;constructor(e){this.createRunner=e}get status(){return this.currentStatus}attach(e){let t=e;t!==void 0&&this.eventListeners.add(t),this.runner??=this.createRunner(e=>{this.emit(e)}),this.runner.start();let n=!1;return()=>{n||(n=!0,t!==void 0&&this.eventListeners.delete(t),this.eventListeners.size===0&&this.statusListeners.size===0&&(this.runner?.dispose(),this.runner=null,this.setStatus(`pending`)))}}subscribeStatus(e){return this.statusListeners.add(e),()=>{this.statusListeners.delete(e)}}dispose(){this.runner?.dispose(),this.runner=null,this.eventListeners.clear(),this.statusListeners.clear(),this.currentStatus=`pending`}emit(e){e.type===`ready`?this.setStatus(`ready`):e.type===`error`?this.setStatus(`failed`):e.type===`auth-expired`&&this.setStatus(`pending`);for(let t of[...this.eventListeners])t(e)}setStatus(e){if(this.currentStatus!==e){this.currentStatus=e;for(let e of[...this.statusListeners])e()}}},f_=class extends Error{constructor(e,t){let n=new.target.prototype;super(`${e}: Status code '${t}'`),this.statusCode=t,this.__proto__=n}},p_=class extends Error{constructor(e=`A timeout occurred.`){let t=new.target.prototype;super(e),this.__proto__=t}},m_=class extends Error{constructor(e=`An abort occurred.`){let t=new.target.prototype;super(e),this.__proto__=t}},h_=class extends Error{constructor(e,t){let n=new.target.prototype;super(e),this.transport=t,this.errorType=`UnsupportedTransportError`,this.__proto__=n}},g_=class extends Error{constructor(e,t){let n=new.target.prototype;super(e),this.transport=t,this.errorType=`DisabledTransportError`,this.__proto__=n}},__=class extends Error{constructor(e,t){let n=new.target.prototype;super(e),this.transport=t,this.errorType=`FailedToStartTransportError`,this.__proto__=n}},v_=class extends Error{constructor(e){let t=new.target.prototype;super(e),this.errorType=`FailedToNegotiateWithServerError`,this.__proto__=t}},y_=class extends Error{constructor(e,t){let n=new.target.prototype;super(e),this.innerErrors=t,this.__proto__=n}},b_=class{constructor(e,t,n){this.statusCode=e,this.statusText=t,this.content=n}},x_=class{get(e,t){return this.send({...t,method:`GET`,url:e})}post(e,t){return this.send({...t,method:`POST`,url:e})}delete(e,t){return this.send({...t,method:`DELETE`,url:e})}getCookieString(e){return``}},I;(function(e){e[e.Trace=0]=`Trace`,e[e.Debug=1]=`Debug`,e[e.Information=2]=`Information`,e[e.Warning=3]=`Warning`,e[e.Error=4]=`Error`,e[e.Critical=5]=`Critical`,e[e.None=6]=`None`})(I||={});var S_=class{constructor(){}log(e,t){}};S_.instance=new S_;var C_=`10.0.0`,L=class{static isRequired(e,t){if(e==null)throw Error(`The '${t}' argument is required.`)}static isNotEmpty(e,t){if(!e||e.match(/^\s*$/))throw Error(`The '${t}' argument should not be empty.`)}static isIn(e,t,n){if(!(e in t))throw Error(`Unknown ${n} value: ${e}.`)}},R=class e{static get isBrowser(){return!e.isNode&&typeof window==`object`&&typeof window.document==`object`}static get isWebWorker(){return!e.isNode&&typeof self==`object`&&`importScripts`in self}static get isReactNative(){return!e.isNode&&typeof window==`object`&&window.document===void 0}static get isNode(){return typeof process<`u`&&process.release&&process.release.name===`node`}};function w_(e,t){let n=``;return E_(e)?(n=`Binary data of length ${e.byteLength}`,t&&(n+=`. Content: '${T_(e)}'`)):typeof e==`string`&&(n=`String data of length ${e.length}`,t&&(n+=`. Content: '${e}'`)),n}function T_(e){let t=new Uint8Array(e),n=``;return t.forEach(e=>{n+=`0x${e<16?`0`:``}${e.toString(16)} `}),n.substring(0,n.length-1)}function E_(e){return e&&typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||e.constructor&&e.constructor.name===`ArrayBuffer`)}async function D_(e,t,n,r,i,a){let o={},[s,c]=j_();o[s]=c,e.log(I.Trace,`(${t} transport) sending data. ${w_(i,a.logMessageContent)}.`);let l=E_(i)?`arraybuffer`:`text`,u=await n.post(r,{content:i,headers:{...o,...a.headers},responseType:l,timeout:a.timeout,withCredentials:a.withCredentials});e.log(I.Trace,`(${t} transport) request complete. Response status: ${u.statusCode}.`)}function O_(e){return e===void 0?new A_(I.Information):e===null?S_.instance:e.log===void 0?new A_(e):e}var k_=class{constructor(e,t){this._subject=e,this._observer=t}dispose(){let e=this._subject.observers.indexOf(this._observer);e>-1&&this._subject.observers.splice(e,1),this._subject.observers.length===0&&this._subject.cancelCallback&&this._subject.cancelCallback().catch(e=>{})}},A_=class{constructor(e){this._minLevel=e,this.out=console}log(e,t){if(e>=this._minLevel){let n=`[${new Date().toISOString()}] ${I[e]}: ${t}`;switch(e){case I.Critical:case I.Error:this.out.error(n);break;case I.Warning:this.out.warn(n);break;case I.Information:this.out.info(n);break;default:this.out.log(n);break}}}};function j_(){let e=`X-SignalR-User-Agent`;return R.isNode&&(e=`User-Agent`),[e,M_(C_,N_(),F_(),P_())]}function M_(e,t,n,r){let i=`Microsoft SignalR/`,a=e.split(`.`);return i+=`${a[0]}.${a[1]}`,i+=` (${e}; `,t&&t!==``?i+=`${t}; `:i+=`Unknown OS; `,i+=`${n}`,r?i+=`; ${r}`:i+=`; Unknown Runtime Version`,i+=`)`,i}function N_(){if(R.isNode)switch(process.platform){case`win32`:return`Windows NT`;case`darwin`:return`macOS`;case`linux`:return`Linux`;default:return process.platform}else return``}function P_(){if(R.isNode)return process.versions.node}function F_(){return R.isNode?`NodeJS`:`Browser`}function I_(e){return e.stack?e.stack:e.message?e.message:`${e}`}function L_(){if(typeof globalThis<`u`)return globalThis;if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global;throw Error(`could not find global`)}var R_=class extends x_{constructor(e){if(super(),this._logger=e,typeof fetch>`u`||R.isNode){let e=typeof __webpack_require__==`function`?__non_webpack_require__:require;this._jar=new(e(`tough-cookie`)).CookieJar,typeof fetch>`u`?this._fetchType=e(`node-fetch`):this._fetchType=fetch,this._fetchType=e(`fetch-cookie`)(this._fetchType,this._jar)}else this._fetchType=fetch.bind(L_());if(typeof AbortController>`u`){let e=typeof __webpack_require__==`function`?__non_webpack_require__:require;this._abortControllerType=e(`abort-controller`)}else this._abortControllerType=AbortController}async send(e){if(e.abortSignal&&e.abortSignal.aborted)throw new m_;if(!e.method)throw Error(`No method defined.`);if(!e.url)throw Error(`No url defined.`);let t=new this._abortControllerType,n;e.abortSignal&&(e.abortSignal.onabort=()=>{t.abort(),n=new m_});let r=null;if(e.timeout){let i=e.timeout;r=setTimeout(()=>{t.abort(),this._logger.log(I.Warning,`Timeout from HTTP request.`),n=new p_},i)}e.content===``&&(e.content=void 0),e.content&&(e.headers=e.headers||{},E_(e.content)?e.headers[`Content-Type`]=`application/octet-stream`:e.headers[`Content-Type`]=`text/plain;charset=UTF-8`);let i;try{i=await this._fetchType(e.url,{body:e.content,cache:`no-cache`,credentials:e.withCredentials===!0?`include`:`same-origin`,headers:{"X-Requested-With":`XMLHttpRequest`,...e.headers},method:e.method,mode:`cors`,redirect:`follow`,signal:t.signal})}catch(e){throw n||(this._logger.log(I.Warning,`Error from HTTP request. ${e}.`),e)}finally{r&&clearTimeout(r),e.abortSignal&&(e.abortSignal.onabort=null)}if(!i.ok)throw new f_(await z_(i,`text`)||i.statusText,i.status);let a=await z_(i,e.responseType);return new b_(i.status,i.statusText,a)}getCookieString(e){let t=``;return R.isNode&&this._jar&&this._jar.getCookies(e,(e,n)=>t=n.join(`; `)),t}};function z_(e,t){let n;switch(t){case`arraybuffer`:n=e.arrayBuffer();break;case`text`:n=e.text();break;case`blob`:case`document`:case`json`:throw Error(`${t} is not supported.`);default:n=e.text();break}return n}var B_=class extends x_{constructor(e){super(),this._logger=e}send(e){return e.abortSignal&&e.abortSignal.aborted?Promise.reject(new m_):e.method?e.url?new Promise((t,n)=>{let r=new XMLHttpRequest;r.open(e.method,e.url,!0),r.withCredentials=e.withCredentials===void 0?!0:e.withCredentials,r.setRequestHeader(`X-Requested-With`,`XMLHttpRequest`),e.content===``&&(e.content=void 0),e.content&&(E_(e.content)?r.setRequestHeader(`Content-Type`,`application/octet-stream`):r.setRequestHeader(`Content-Type`,`text/plain;charset=UTF-8`));let i=e.headers;i&&Object.keys(i).forEach(e=>{r.setRequestHeader(e,i[e])}),e.responseType&&(r.responseType=e.responseType),e.abortSignal&&(e.abortSignal.onabort=()=>{r.abort(),n(new m_)}),e.timeout&&(r.timeout=e.timeout),r.onload=()=>{e.abortSignal&&(e.abortSignal.onabort=null),r.status>=200&&r.status<300?t(new b_(r.status,r.statusText,r.response||r.responseText)):n(new f_(r.response||r.responseText||r.statusText,r.status))},r.onerror=()=>{this._logger.log(I.Warning,`Error from HTTP request. ${r.status}: ${r.statusText}.`),n(new f_(r.statusText,r.status))},r.ontimeout=()=>{this._logger.log(I.Warning,`Timeout from HTTP request.`),n(new p_)},r.send(e.content)}):Promise.reject(Error(`No url defined.`)):Promise.reject(Error(`No method defined.`))}},V_=class extends x_{constructor(e){if(super(),typeof fetch<`u`||R.isNode)this._httpClient=new R_(e);else if(typeof XMLHttpRequest<`u`)this._httpClient=new B_(e);else throw Error(`No usable HttpClient found.`)}send(e){return e.abortSignal&&e.abortSignal.aborted?Promise.reject(new m_):e.method?e.url?this._httpClient.send(e):Promise.reject(Error(`No url defined.`)):Promise.reject(Error(`No method defined.`))}getCookieString(e){return this._httpClient.getCookieString(e)}},H_=class e{static write(t){return`${t}${e.RecordSeparator}`}static parse(t){if(t[t.length-1]!==e.RecordSeparator)throw Error(`Message is incomplete.`);let n=t.split(e.RecordSeparator);return n.pop(),n}};H_.RecordSeparatorCode=30,H_.RecordSeparator=String.fromCharCode(H_.RecordSeparatorCode);var U_=class{writeHandshakeRequest(e){return H_.write(JSON.stringify(e))}parseHandshakeResponse(e){let t,n;if(E_(e)){let r=new Uint8Array(e),i=r.indexOf(H_.RecordSeparatorCode);if(i===-1)throw Error(`Message is incomplete.`);let a=i+1;t=String.fromCharCode.apply(null,Array.prototype.slice.call(r.slice(0,a))),n=r.byteLength>a?r.slice(a).buffer:null}else{let r=e,i=r.indexOf(H_.RecordSeparator);if(i===-1)throw Error(`Message is incomplete.`);let a=i+1;t=r.substring(0,a),n=r.length>a?r.substring(a):null}let r=H_.parse(t),i=JSON.parse(r[0]);if(i.type)throw Error(`Expected a handshake response from the server.`);return[n,i]}},z;(function(e){e[e.Invocation=1]=`Invocation`,e[e.StreamItem=2]=`StreamItem`,e[e.Completion=3]=`Completion`,e[e.StreamInvocation=4]=`StreamInvocation`,e[e.CancelInvocation=5]=`CancelInvocation`,e[e.Ping=6]=`Ping`,e[e.Close=7]=`Close`,e[e.Ack=8]=`Ack`,e[e.Sequence=9]=`Sequence`})(z||={});var W_=class{constructor(){this.observers=[]}next(e){for(let t of this.observers)t.next(e)}error(e){for(let t of this.observers)t.error&&t.error(e)}complete(){for(let e of this.observers)e.complete&&e.complete()}subscribe(e){return this.observers.push(e),new k_(this,e)}},G_=class{constructor(e,t,n){this._bufferSize=1e5,this._messages=[],this._totalMessageCount=0,this._waitForSequenceMessage=!1,this._nextReceivingSequenceId=1,this._latestReceivedSequenceId=0,this._bufferedByteCount=0,this._reconnectInProgress=!1,this._protocol=e,this._connection=t,this._bufferSize=n}async _send(e){let t=this._protocol.writeMessage(e),n=Promise.resolve();if(this._isInvocationMessage(e)){this._totalMessageCount++;let e=()=>{},r=()=>{};E_(t)?this._bufferedByteCount+=t.byteLength:this._bufferedByteCount+=t.length,this._bufferedByteCount>=this._bufferSize&&(n=new Promise((t,n)=>{e=t,r=n})),this._messages.push(new K_(t,this._totalMessageCount,e,r))}try{this._reconnectInProgress||await this._connection.send(t)}catch{this._disconnected()}await n}_ack(e){let t=-1;for(let n=0;n<this._messages.length;n++){let r=this._messages[n];if(r._id<=e.sequenceId)t=n,E_(r._message)?this._bufferedByteCount-=r._message.byteLength:this._bufferedByteCount-=r._message.length,r._resolver();else if(this._bufferedByteCount<this._bufferSize)r._resolver();else break}t!==-1&&(this._messages=this._messages.slice(t+1))}_shouldProcessMessage(e){if(this._waitForSequenceMessage)return e.type===z.Sequence?(this._waitForSequenceMessage=!1,!0):!1;if(!this._isInvocationMessage(e))return!0;let t=this._nextReceivingSequenceId;return this._nextReceivingSequenceId++,t<=this._latestReceivedSequenceId?(t===this._latestReceivedSequenceId&&this._ackTimer(),!1):(this._latestReceivedSequenceId=t,this._ackTimer(),!0)}_resetSequence(e){if(e.sequenceId>this._nextReceivingSequenceId){this._connection.stop(Error(`Sequence ID greater than amount of messages we've received.`));return}this._nextReceivingSequenceId=e.sequenceId}_disconnected(){this._reconnectInProgress=!0,this._waitForSequenceMessage=!0}async _resend(){let e=this._messages.length===0?this._totalMessageCount+1:this._messages[0]._id;await this._connection.send(this._protocol.writeMessage({type:z.Sequence,sequenceId:e}));let t=this._messages;for(let e of t)await this._connection.send(e._message);this._reconnectInProgress=!1}_dispose(e){e??=Error(`Unable to reconnect to server.`);for(let t of this._messages)t._rejector(e)}_isInvocationMessage(e){switch(e.type){case z.Invocation:case z.StreamItem:case z.Completion:case z.StreamInvocation:case z.CancelInvocation:return!0;case z.Close:case z.Sequence:case z.Ping:case z.Ack:return!1}}_ackTimer(){this._ackTimerHandle===void 0&&(this._ackTimerHandle=setTimeout(async()=>{try{this._reconnectInProgress||await this._connection.send(this._protocol.writeMessage({type:z.Ack,sequenceId:this._latestReceivedSequenceId}))}catch{}clearTimeout(this._ackTimerHandle),this._ackTimerHandle=void 0},1e3))}},K_=class{constructor(e,t,n,r){this._message=e,this._id=t,this._resolver=n,this._rejector=r}},q_=30*1e3,J_=15*1e3,Y_=1e5,B;(function(e){e.Disconnected=`Disconnected`,e.Connecting=`Connecting`,e.Connected=`Connected`,e.Disconnecting=`Disconnecting`,e.Reconnecting=`Reconnecting`})(B||={});var X_=class e{static create(t,n,r,i,a,o,s){return new e(t,n,r,i,a,o,s)}constructor(e,t,n,r,i,a,o){this._nextKeepAlive=0,this._freezeEventListener=()=>{this._logger.log(I.Warning,`The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://learn.microsoft.com/aspnet/core/signalr/javascript-client#bsleep`)},L.isRequired(e,`connection`),L.isRequired(t,`logger`),L.isRequired(n,`protocol`),this.serverTimeoutInMilliseconds=i??q_,this.keepAliveIntervalInMilliseconds=a??J_,this._statefulReconnectBufferSize=o??Y_,this._logger=t,this._protocol=n,this.connection=e,this._reconnectPolicy=r,this._handshakeProtocol=new U_,this.connection.onreceive=e=>this._processIncomingData(e),this.connection.onclose=e=>this._connectionClosed(e),this._callbacks={},this._methods={},this._closedCallbacks=[],this._reconnectingCallbacks=[],this._reconnectedCallbacks=[],this._invocationId=0,this._receivedHandshakeResponse=!1,this._connectionState=B.Disconnected,this._connectionStarted=!1,this._cachedPingMessage=this._protocol.writeMessage({type:z.Ping})}get state(){return this._connectionState}get connectionId(){return this.connection&&this.connection.connectionId||null}get baseUrl(){return this.connection.baseUrl||``}set baseUrl(e){if(this._connectionState!==B.Disconnected&&this._connectionState!==B.Reconnecting)throw Error(`The HubConnection must be in the Disconnected or Reconnecting state to change the url.`);if(!e)throw Error(`The HubConnection url must be a valid url.`);this.connection.baseUrl=e}start(){return this._startPromise=this._startWithStateTransitions(),this._startPromise}async _startWithStateTransitions(){if(this._connectionState!==B.Disconnected)return Promise.reject(Error(`Cannot start a HubConnection that is not in the 'Disconnected' state.`));this._connectionState=B.Connecting,this._logger.log(I.Debug,`Starting HubConnection.`);try{await this._startInternal(),R.isBrowser&&window.document.addEventListener(`freeze`,this._freezeEventListener),this._connectionState=B.Connected,this._connectionStarted=!0,this._logger.log(I.Debug,`HubConnection connected successfully.`)}catch(e){return this._connectionState=B.Disconnected,this._logger.log(I.Debug,`HubConnection failed to start successfully because of error '${e}'.`),Promise.reject(e)}}async _startInternal(){this._stopDuringStartError=void 0,this._receivedHandshakeResponse=!1;let e=new Promise((e,t)=>{this._handshakeResolver=e,this._handshakeRejecter=t});await this.connection.start(this._protocol.transferFormat);try{let t=this._protocol.version;this.connection.features.reconnect||(t=1);let n={protocol:this._protocol.name,version:t};if(this._logger.log(I.Debug,`Sending handshake request.`),await this._sendMessage(this._handshakeProtocol.writeHandshakeRequest(n)),this._logger.log(I.Information,`Using HubProtocol '${this._protocol.name}'.`),this._cleanupTimeout(),this._resetTimeoutPeriod(),this._resetKeepAliveInterval(),await e,this._stopDuringStartError)throw this._stopDuringStartError;this.connection.features.reconnect&&(this._messageBuffer=new G_(this._protocol,this.connection,this._statefulReconnectBufferSize),this.connection.features.disconnected=this._messageBuffer._disconnected.bind(this._messageBuffer),this.connection.features.resend=()=>{if(this._messageBuffer)return this._messageBuffer._resend()}),this.connection.features.inherentKeepAlive||await this._sendMessage(this._cachedPingMessage)}catch(e){throw this._logger.log(I.Debug,`Hub handshake failed with error '${e}' during start(). Stopping HubConnection.`),this._cleanupTimeout(),this._cleanupPingTimer(),await this.connection.stop(e),e}}async stop(){let e=this._startPromise;this.connection.features.reconnect=!1,this._stopPromise=this._stopInternal(),await this._stopPromise;try{await e}catch{}}_stopInternal(e){if(this._connectionState===B.Disconnected)return this._logger.log(I.Debug,`Call to HubConnection.stop(${e}) ignored because it is already in the disconnected state.`),Promise.resolve();if(this._connectionState===B.Disconnecting)return this._logger.log(I.Debug,`Call to HttpConnection.stop(${e}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;let t=this._connectionState;return this._connectionState=B.Disconnecting,this._logger.log(I.Debug,`Stopping HubConnection.`),this._reconnectDelayHandle?(this._logger.log(I.Debug,`Connection stopped during reconnect delay. Done reconnecting.`),clearTimeout(this._reconnectDelayHandle),this._reconnectDelayHandle=void 0,this._completeClose(),Promise.resolve()):(t===B.Connected&&this._sendCloseMessage(),this._cleanupTimeout(),this._cleanupPingTimer(),this._stopDuringStartError=e||new m_(`The connection was stopped before the hub handshake could complete.`),this.connection.stop(e))}async _sendCloseMessage(){try{await this._sendWithProtocol(this._createCloseMessage())}catch{}}stream(e,...t){let[n,r]=this._replaceStreamingParams(t),i=this._createStreamInvocation(e,t,r),a,o=new W_;return o.cancelCallback=()=>{let e=this._createCancelInvocation(i.invocationId);return delete this._callbacks[i.invocationId],a.then(()=>this._sendWithProtocol(e))},this._callbacks[i.invocationId]=(e,t)=>{if(t){o.error(t);return}else e&&(e.type===z.Completion?e.error?o.error(Error(e.error)):o.complete():o.next(e.item))},a=this._sendWithProtocol(i).catch(e=>{o.error(e),delete this._callbacks[i.invocationId]}),this._launchStreams(n,a),o}_sendMessage(e){return this._resetKeepAliveInterval(),this.connection.send(e)}_sendWithProtocol(e){return this._messageBuffer?this._messageBuffer._send(e):this._sendMessage(this._protocol.writeMessage(e))}send(e,...t){let[n,r]=this._replaceStreamingParams(t),i=this._sendWithProtocol(this._createInvocation(e,t,!0,r));return this._launchStreams(n,i),i}invoke(e,...t){let[n,r]=this._replaceStreamingParams(t),i=this._createInvocation(e,t,!1,r);return new Promise((e,t)=>{this._callbacks[i.invocationId]=(n,r)=>{if(r){t(r);return}else n&&(n.type===z.Completion?n.error?t(Error(n.error)):e(n.result):t(Error(`Unexpected message type: ${n.type}`)))};let r=this._sendWithProtocol(i).catch(e=>{t(e),delete this._callbacks[i.invocationId]});this._launchStreams(n,r)})}on(e,t){!e||!t||(e=e.toLowerCase(),this._methods[e]||(this._methods[e]=[]),this._methods[e].indexOf(t)===-1&&this._methods[e].push(t))}off(e,t){if(!e)return;e=e.toLowerCase();let n=this._methods[e];if(n)if(t){let r=n.indexOf(t);r!==-1&&(n.splice(r,1),n.length===0&&delete this._methods[e])}else delete this._methods[e]}onclose(e){e&&this._closedCallbacks.push(e)}onreconnecting(e){e&&this._reconnectingCallbacks.push(e)}onreconnected(e){e&&this._reconnectedCallbacks.push(e)}_processIncomingData(e){if(this._cleanupTimeout(),this._receivedHandshakeResponse||=(e=this._processHandshakeResponse(e),!0),e){let t=this._protocol.parseMessages(e,this._logger);for(let e of t)if(!(this._messageBuffer&&!this._messageBuffer._shouldProcessMessage(e)))switch(e.type){case z.Invocation:this._invokeClientMethod(e).catch(e=>{this._logger.log(I.Error,`Invoke client method threw error: ${I_(e)}`)});break;case z.StreamItem:case z.Completion:{let t=this._callbacks[e.invocationId];if(t){e.type===z.Completion&&delete this._callbacks[e.invocationId];try{t(e)}catch(e){this._logger.log(I.Error,`Stream callback threw error: ${I_(e)}`)}}break}case z.Ping:break;case z.Close:{this._logger.log(I.Information,`Close message received from server.`);let t=e.error?Error(`Server returned an error on close: `+e.error):void 0;e.allowReconnect===!0?this.connection.stop(t):this._stopPromise=this._stopInternal(t);break}case z.Ack:this._messageBuffer&&this._messageBuffer._ack(e);break;case z.Sequence:this._messageBuffer&&this._messageBuffer._resetSequence(e);break;default:this._logger.log(I.Warning,`Invalid message type: ${e.type}.`);break}}this._resetTimeoutPeriod()}_processHandshakeResponse(e){let t,n;try{[n,t]=this._handshakeProtocol.parseHandshakeResponse(e)}catch(e){let t=`Error parsing handshake response: `+e;this._logger.log(I.Error,t);let n=Error(t);throw this._handshakeRejecter(n),n}if(t.error){let e=`Server returned handshake error: `+t.error;this._logger.log(I.Error,e);let n=Error(e);throw this._handshakeRejecter(n),n}else this._logger.log(I.Debug,`Server handshake complete.`);return this._handshakeResolver(),n}_resetKeepAliveInterval(){this.connection.features.inherentKeepAlive||(this._nextKeepAlive=new Date().getTime()+this.keepAliveIntervalInMilliseconds,this._cleanupPingTimer())}_resetTimeoutPeriod(){if(!this.connection.features||!this.connection.features.inherentKeepAlive){this._timeoutHandle=setTimeout(()=>this.serverTimeout(),this.serverTimeoutInMilliseconds);let e=this._nextKeepAlive-new Date().getTime();if(e<0){this._connectionState===B.Connected&&this._trySendPingMessage();return}this._pingServerHandle===void 0&&(e<0&&(e=0),this._pingServerHandle=setTimeout(async()=>{this._connectionState===B.Connected&&await this._trySendPingMessage()},e))}}serverTimeout(){this.connection.stop(Error(`Server timeout elapsed without receiving a message from the server.`))}async _invokeClientMethod(e){let t=e.target.toLowerCase(),n=this._methods[t];if(!n){this._logger.log(I.Warning,`No client method with the name '${t}' found.`),e.invocationId&&(this._logger.log(I.Warning,`No result given for '${t}' method and invocation ID '${e.invocationId}'.`),await this._sendWithProtocol(this._createCompletionMessage(e.invocationId,`Client didn't provide a result.`,null)));return}let r=n.slice(),i=!!e.invocationId,a,o,s;for(let n of r)try{let r=a;a=await n.apply(this,e.arguments),i&&a&&r&&(this._logger.log(I.Error,`Multiple results provided for '${t}'. Sending error to server.`),s=this._createCompletionMessage(e.invocationId,`Client provided multiple results.`,null)),o=void 0}catch(e){o=e,this._logger.log(I.Error,`A callback for the method '${t}' threw error '${e}'.`)}s?await this._sendWithProtocol(s):i?(o?s=this._createCompletionMessage(e.invocationId,`${o}`,null):a===void 0?(this._logger.log(I.Warning,`No result given for '${t}' method and invocation ID '${e.invocationId}'.`),s=this._createCompletionMessage(e.invocationId,`Client didn't provide a result.`,null)):s=this._createCompletionMessage(e.invocationId,null,a),await this._sendWithProtocol(s)):a&&this._logger.log(I.Error,`Result given for '${t}' method but server is not expecting a result.`)}_connectionClosed(e){this._logger.log(I.Debug,`HubConnection.connectionClosed(${e}) called while in state ${this._connectionState}.`),this._stopDuringStartError=this._stopDuringStartError||e||new m_(`The underlying connection was closed before the hub handshake could complete.`),this._handshakeResolver&&this._handshakeResolver(),this._cancelCallbacksWithError(e||Error(`Invocation canceled due to the underlying connection being closed.`)),this._cleanupTimeout(),this._cleanupPingTimer(),this._connectionState===B.Disconnecting?this._completeClose(e):this._connectionState===B.Connected&&this._reconnectPolicy?this._reconnect(e):this._connectionState===B.Connected&&this._completeClose(e)}_completeClose(e){if(this._connectionStarted){this._connectionState=B.Disconnected,this._connectionStarted=!1,this._messageBuffer&&=(this._messageBuffer._dispose(e??Error(`Connection closed.`)),void 0),R.isBrowser&&window.document.removeEventListener(`freeze`,this._freezeEventListener);try{this._closedCallbacks.forEach(t=>t.apply(this,[e]))}catch(t){this._logger.log(I.Error,`An onclose callback called with error '${e}' threw error '${t}'.`)}}}async _reconnect(e){let t=Date.now(),n=0,r=e===void 0?Error(`Attempting to reconnect due to a unknown error.`):e,i=this._getNextRetryDelay(n,0,r);if(i===null){this._logger.log(I.Debug,`Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt.`),this._completeClose(e);return}if(this._connectionState=B.Reconnecting,e?this._logger.log(I.Information,`Connection reconnecting because of error '${e}'.`):this._logger.log(I.Information,`Connection reconnecting.`),this._reconnectingCallbacks.length!==0){try{this._reconnectingCallbacks.forEach(t=>t.apply(this,[e]))}catch(t){this._logger.log(I.Error,`An onreconnecting callback called with error '${e}' threw error '${t}'.`)}if(this._connectionState!==B.Reconnecting){this._logger.log(I.Debug,`Connection left the reconnecting state in onreconnecting callback. Done reconnecting.`);return}}for(;i!==null;){if(this._logger.log(I.Information,`Reconnect attempt number ${n+1} will start in ${i} ms.`),await new Promise(e=>{this._reconnectDelayHandle=setTimeout(e,i)}),this._reconnectDelayHandle=void 0,this._connectionState!==B.Reconnecting){this._logger.log(I.Debug,`Connection left the reconnecting state during reconnect delay. Done reconnecting.`);return}try{if(await this._startInternal(),this._connectionState=B.Connected,this._logger.log(I.Information,`HubConnection reconnected successfully.`),this._reconnectedCallbacks.length!==0)try{this._reconnectedCallbacks.forEach(e=>e.apply(this,[this.connection.connectionId]))}catch(e){this._logger.log(I.Error,`An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${e}'.`)}return}catch(e){if(this._logger.log(I.Information,`Reconnect attempt failed because of error '${e}'.`),this._connectionState!==B.Reconnecting){this._logger.log(I.Debug,`Connection moved to the '${this._connectionState}' from the reconnecting state during reconnect attempt. Done reconnecting.`),this._connectionState===B.Disconnecting&&this._completeClose();return}n++,r=e instanceof Error?e:Error(e.toString()),i=this._getNextRetryDelay(n,Date.now()-t,r)}}this._logger.log(I.Information,`Reconnect retries have been exhausted after ${Date.now()-t} ms and ${n} failed attempts. Connection disconnecting.`),this._completeClose()}_getNextRetryDelay(e,t,n){try{return this._reconnectPolicy.nextRetryDelayInMilliseconds({elapsedMilliseconds:t,previousRetryCount:e,retryReason:n})}catch(n){return this._logger.log(I.Error,`IRetryPolicy.nextRetryDelayInMilliseconds(${e}, ${t}) threw error '${n}'.`),null}}_cancelCallbacksWithError(e){let t=this._callbacks;this._callbacks={},Object.keys(t).forEach(n=>{let r=t[n];try{r(null,e)}catch(t){this._logger.log(I.Error,`Stream 'error' callback called with '${e}' threw error: ${I_(t)}`)}})}_cleanupPingTimer(){this._pingServerHandle&&=(clearTimeout(this._pingServerHandle),void 0)}_cleanupTimeout(){this._timeoutHandle&&clearTimeout(this._timeoutHandle)}_createInvocation(e,t,n,r){if(n)return r.length===0?{target:e,arguments:t,type:z.Invocation}:{target:e,arguments:t,streamIds:r,type:z.Invocation};{let n=this._invocationId;return this._invocationId++,r.length===0?{target:e,arguments:t,invocationId:n.toString(),type:z.Invocation}:{target:e,arguments:t,invocationId:n.toString(),streamIds:r,type:z.Invocation}}}_launchStreams(e,t){if(e.length!==0){t||=Promise.resolve();for(let n in e)e[n].subscribe({complete:()=>{t=t.then(()=>this._sendWithProtocol(this._createCompletionMessage(n)))},error:e=>{let r;r=e instanceof Error?e.message:e&&e.toString?e.toString():`Unknown error`,t=t.then(()=>this._sendWithProtocol(this._createCompletionMessage(n,r)))},next:e=>{t=t.then(()=>this._sendWithProtocol(this._createStreamItemMessage(n,e)))}})}}_replaceStreamingParams(e){let t=[],n=[];for(let r=0;r<e.length;r++){let i=e[r];if(this._isObservable(i)){let a=this._invocationId;this._invocationId++,t[a]=i,n.push(a.toString()),e.splice(r,1)}}return[t,n]}_isObservable(e){return e&&e.subscribe&&typeof e.subscribe==`function`}_createStreamInvocation(e,t,n){let r=this._invocationId;return this._invocationId++,n.length===0?{target:e,arguments:t,invocationId:r.toString(),type:z.StreamInvocation}:{target:e,arguments:t,invocationId:r.toString(),streamIds:n,type:z.StreamInvocation}}_createCancelInvocation(e){return{invocationId:e,type:z.CancelInvocation}}_createStreamItemMessage(e,t){return{invocationId:e,item:t,type:z.StreamItem}}_createCompletionMessage(e,t,n){return t?{error:t,invocationId:e,type:z.Completion}:{invocationId:e,result:n,type:z.Completion}}_createCloseMessage(){return{type:z.Close}}async _trySendPingMessage(){try{await this._sendMessage(this._cachedPingMessage)}catch{this._cleanupPingTimer()}}},Z_=[0,2e3,1e4,3e4,null],Q_=class{constructor(e){this._retryDelays=e===void 0?Z_:[...e,null]}nextRetryDelayInMilliseconds(e){return this._retryDelays[e.previousRetryCount]}},$_=class{};$_.Authorization=`Authorization`,$_.Cookie=`Cookie`;var ev=class extends x_{constructor(e,t){super(),this._innerClient=e,this._accessTokenFactory=t}async send(e){let t=!0;this._accessTokenFactory&&(!this._accessToken||e.url&&e.url.indexOf(`/negotiate?`)>0)&&(t=!1,this._accessToken=await this._accessTokenFactory()),this._setAuthorizationHeader(e);let n=await this._innerClient.send(e);return t&&n.statusCode===401&&this._accessTokenFactory?(this._accessToken=await this._accessTokenFactory(),this._setAuthorizationHeader(e),await this._innerClient.send(e)):n}_setAuthorizationHeader(e){e.headers||={},this._accessToken?e.headers[$_.Authorization]=`Bearer ${this._accessToken}`:this._accessTokenFactory&&e.headers[$_.Authorization]&&delete e.headers[$_.Authorization]}getCookieString(e){return this._innerClient.getCookieString(e)}},V;(function(e){e[e.None=0]=`None`,e[e.WebSockets=1]=`WebSockets`,e[e.ServerSentEvents=2]=`ServerSentEvents`,e[e.LongPolling=4]=`LongPolling`})(V||={});var tv;(function(e){e[e.Text=1]=`Text`,e[e.Binary=2]=`Binary`})(tv||={});var nv=class{constructor(){this._isAborted=!1,this.onabort=null}abort(){this._isAborted||(this._isAborted=!0,this.onabort&&this.onabort())}get signal(){return this}get aborted(){return this._isAborted}},rv=class{get pollAborted(){return this._pollAbort.aborted}constructor(e,t,n){this._httpClient=e,this._logger=t,this._pollAbort=new nv,this._options=n,this._running=!1,this.onreceive=null,this.onclose=null}async connect(e,t){if(L.isRequired(e,`url`),L.isRequired(t,`transferFormat`),L.isIn(t,tv,`transferFormat`),this._url=e,this._logger.log(I.Trace,`(LongPolling transport) Connecting.`),t===tv.Binary&&typeof XMLHttpRequest<`u`&&typeof new XMLHttpRequest().responseType!=`string`)throw Error(`Binary protocols over XmlHttpRequest not implementing advanced features are not supported.`);let[n,r]=j_(),i={[n]:r,...this._options.headers},a={abortSignal:this._pollAbort.signal,headers:i,timeout:1e5,withCredentials:this._options.withCredentials};t===tv.Binary&&(a.responseType=`arraybuffer`);let o=`${e}&_=${Date.now()}`;this._logger.log(I.Trace,`(LongPolling transport) polling: ${o}.`);let s=await this._httpClient.get(o,a);s.statusCode===200?this._running=!0:(this._logger.log(I.Error,`(LongPolling transport) Unexpected response code: ${s.statusCode}.`),this._closeError=new f_(s.statusText||``,s.statusCode),this._running=!1),this._receiving=this._poll(this._url,a)}async _poll(e,t){try{for(;this._running;)try{let n=`${e}&_=${Date.now()}`;this._logger.log(I.Trace,`(LongPolling transport) polling: ${n}.`);let r=await this._httpClient.get(n,t);r.statusCode===204?(this._logger.log(I.Information,`(LongPolling transport) Poll terminated by server.`),this._running=!1):r.statusCode===200?r.content?(this._logger.log(I.Trace,`(LongPolling transport) data received. ${w_(r.content,this._options.logMessageContent)}.`),this.onreceive&&this.onreceive(r.content)):this._logger.log(I.Trace,`(LongPolling transport) Poll timed out, reissuing.`):(this._logger.log(I.Error,`(LongPolling transport) Unexpected response code: ${r.statusCode}.`),this._closeError=new f_(r.statusText||``,r.statusCode),this._running=!1)}catch(e){this._running?e instanceof p_?this._logger.log(I.Trace,`(LongPolling transport) Poll timed out, reissuing.`):(this._closeError=e,this._running=!1):this._logger.log(I.Trace,`(LongPolling transport) Poll errored after shutdown: ${e.message}`)}}finally{this._logger.log(I.Trace,`(LongPolling transport) Polling complete.`),this.pollAborted||this._raiseOnClose()}}async send(e){return this._running?D_(this._logger,`LongPolling`,this._httpClient,this._url,e,this._options):Promise.reject(Error(`Cannot send until the transport is connected`))}async stop(){this._logger.log(I.Trace,`(LongPolling transport) Stopping polling.`),this._running=!1,this._pollAbort.abort();try{await this._receiving,this._logger.log(I.Trace,`(LongPolling transport) sending DELETE request to ${this._url}.`);let e={},[t,n]=j_();e[t]=n;let r={headers:{...e,...this._options.headers},timeout:this._options.timeout,withCredentials:this._options.withCredentials},i;try{await this._httpClient.delete(this._url,r)}catch(e){i=e}i?i instanceof f_&&(i.statusCode===404?this._logger.log(I.Trace,`(LongPolling transport) A 404 response was returned from sending a DELETE request.`):this._logger.log(I.Trace,`(LongPolling transport) Error sending a DELETE request: ${i}`)):this._logger.log(I.Trace,`(LongPolling transport) DELETE request accepted.`)}finally{this._logger.log(I.Trace,`(LongPolling transport) Stop finished.`),this._raiseOnClose()}}_raiseOnClose(){if(this.onclose){let e=`(LongPolling transport) Firing onclose event.`;this._closeError&&(e+=` Error: `+this._closeError),this._logger.log(I.Trace,e),this.onclose(this._closeError)}}},iv=class{constructor(e,t,n,r){this._httpClient=e,this._accessToken=t,this._logger=n,this._options=r,this.onreceive=null,this.onclose=null}async connect(e,t){return L.isRequired(e,`url`),L.isRequired(t,`transferFormat`),L.isIn(t,tv,`transferFormat`),this._logger.log(I.Trace,`(SSE transport) Connecting.`),this._url=e,this._accessToken&&(e+=(e.indexOf(`?`)<0?`?`:`&`)+`access_token=${encodeURIComponent(this._accessToken)}`),new Promise((n,r)=>{let i=!1;if(t!==tv.Text){r(Error(`The Server-Sent Events transport only supports the 'Text' transfer format`));return}let a;if(R.isBrowser||R.isWebWorker)a=new this._options.EventSource(e,{withCredentials:this._options.withCredentials});else{let t=this._httpClient.getCookieString(e),n={};n.Cookie=t;let[r,i]=j_();n[r]=i,a=new this._options.EventSource(e,{withCredentials:this._options.withCredentials,headers:{...n,...this._options.headers}})}try{a.onmessage=e=>{if(this.onreceive)try{this._logger.log(I.Trace,`(SSE transport) data received. ${w_(e.data,this._options.logMessageContent)}.`),this.onreceive(e.data)}catch(e){this._close(e);return}},a.onerror=e=>{i?this._close():r(Error(`EventSource failed to connect. The connection could not be found on the server, either the connection ID is not present on the server, or a proxy is refusing/buffering the connection. If you have multiple servers check that sticky sessions are enabled.`))},a.onopen=()=>{this._logger.log(I.Information,`SSE connected to ${this._url}`),this._eventSource=a,i=!0,n()}}catch(e){r(e);return}})}async send(e){return this._eventSource?D_(this._logger,`SSE`,this._httpClient,this._url,e,this._options):Promise.reject(Error(`Cannot send until the transport is connected`))}stop(){return this._close(),Promise.resolve()}_close(e){this._eventSource&&(this._eventSource.close(),this._eventSource=void 0,this.onclose&&this.onclose(e))}},av=class{constructor(e,t,n,r,i,a){this._logger=n,this._accessTokenFactory=t,this._logMessageContent=r,this._webSocketConstructor=i,this._httpClient=e,this.onreceive=null,this.onclose=null,this._headers=a}async connect(e,t){L.isRequired(e,`url`),L.isRequired(t,`transferFormat`),L.isIn(t,tv,`transferFormat`),this._logger.log(I.Trace,`(WebSockets transport) Connecting.`);let n;return this._accessTokenFactory&&(n=await this._accessTokenFactory()),new Promise((r,i)=>{e=e.replace(/^http/,`ws`);let a,o=this._httpClient.getCookieString(e),s=!1;if(R.isNode||R.isReactNative){let t={},[r,i]=j_();t[r]=i,n&&(t[$_.Authorization]=`Bearer ${n}`),o&&(t[$_.Cookie]=o),a=new this._webSocketConstructor(e,void 0,{headers:{...t,...this._headers}})}else n&&(e+=(e.indexOf(`?`)<0?`?`:`&`)+`access_token=${encodeURIComponent(n)}`);a||=new this._webSocketConstructor(e),t===tv.Binary&&(a.binaryType=`arraybuffer`),a.onopen=t=>{this._logger.log(I.Information,`WebSocket connected to ${e}.`),this._webSocket=a,s=!0,r()},a.onerror=e=>{let t=null;t=typeof ErrorEvent<`u`&&e instanceof ErrorEvent?e.error:`There was an error with the transport`,this._logger.log(I.Information,`(WebSockets transport) ${t}.`)},a.onmessage=e=>{if(this._logger.log(I.Trace,`(WebSockets transport) data received. ${w_(e.data,this._logMessageContent)}.`),this.onreceive)try{this.onreceive(e.data)}catch(e){this._close(e);return}},a.onclose=e=>{if(s)this._close(e);else{let t=null;t=typeof ErrorEvent<`u`&&e instanceof ErrorEvent?e.error:`WebSocket failed to connect. The connection could not be found on the server, either the endpoint may not be a SignalR endpoint, the connection ID is not present on the server, or there is a proxy blocking WebSockets. If you have multiple servers check that sticky sessions are enabled.`,i(Error(t))}}})}send(e){return this._webSocket&&this._webSocket.readyState===this._webSocketConstructor.OPEN?(this._logger.log(I.Trace,`(WebSockets transport) sending data. ${w_(e,this._logMessageContent)}.`),this._webSocket.send(e),Promise.resolve()):Promise.reject(`WebSocket is not in the OPEN state`)}stop(){return this._webSocket&&this._close(void 0),Promise.resolve()}_close(e){this._webSocket&&=(this._webSocket.onclose=()=>{},this._webSocket.onmessage=()=>{},this._webSocket.onerror=()=>{},this._webSocket.close(),void 0),this._logger.log(I.Trace,`(WebSockets transport) socket closed.`),this.onclose&&(this._isCloseEvent(e)&&(e.wasClean===!1||e.code!==1e3)?this.onclose(Error(`WebSocket closed with status code: ${e.code} (${e.reason||`no reason given`}).`)):e instanceof Error?this.onclose(e):this.onclose())}_isCloseEvent(e){return e&&typeof e.wasClean==`boolean`&&typeof e.code==`number`}},ov=100,sv=class{constructor(e,t={}){if(this._stopPromiseResolver=()=>{},this.features={},this._negotiateVersion=1,L.isRequired(e,`url`),this._logger=O_(t.logger),this.baseUrl=this._resolveUrl(e),t||={},t.logMessageContent=t.logMessageContent===void 0?!1:t.logMessageContent,typeof t.withCredentials==`boolean`||t.withCredentials===void 0)t.withCredentials=t.withCredentials===void 0?!0:t.withCredentials;else throw Error(`withCredentials option was not a 'boolean' or 'undefined' value`);t.timeout=t.timeout===void 0?100*1e3:t.timeout;let n=null,r=null;if(R.isNode&&typeof require<`u`){let e=typeof __webpack_require__==`function`?__non_webpack_require__:require;n=e(`ws`),r=e(`eventsource`)}!R.isNode&&typeof WebSocket<`u`&&!t.WebSocket?t.WebSocket=WebSocket:R.isNode&&!t.WebSocket&&n&&(t.WebSocket=n),!R.isNode&&typeof EventSource<`u`&&!t.EventSource?t.EventSource=EventSource:R.isNode&&!t.EventSource&&r!==void 0&&(t.EventSource=r),this._httpClient=new ev(t.httpClient||new V_(this._logger),t.accessTokenFactory),this._connectionState=`Disconnected`,this._connectionStarted=!1,this._options=t,this.onreceive=null,this.onclose=null}async start(e){if(e||=tv.Binary,L.isIn(e,tv,`transferFormat`),this._logger.log(I.Debug,`Starting connection with transfer format '${tv[e]}'.`),this._connectionState!==`Disconnected`)return Promise.reject(Error(`Cannot start an HttpConnection that is not in the 'Disconnected' state.`));if(this._connectionState=`Connecting`,this._startInternalPromise=this._startInternal(e),await this._startInternalPromise,this._connectionState===`Disconnecting`){let e=`Failed to start the HttpConnection before stop() was called.`;return this._logger.log(I.Error,e),await this._stopPromise,Promise.reject(new m_(e))}else if(this._connectionState!==`Connected`){let e=`HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!`;return this._logger.log(I.Error,e),Promise.reject(new m_(e))}this._connectionStarted=!0}send(e){return this._connectionState===`Connected`?(this._sendQueue||=new lv(this.transport),this._sendQueue.send(e)):Promise.reject(Error(`Cannot send data if the connection is not in the 'Connected' State.`))}async stop(e){if(this._connectionState===`Disconnected`)return this._logger.log(I.Debug,`Call to HttpConnection.stop(${e}) ignored because the connection is already in the disconnected state.`),Promise.resolve();if(this._connectionState===`Disconnecting`)return this._logger.log(I.Debug,`Call to HttpConnection.stop(${e}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;this._connectionState=`Disconnecting`,this._stopPromise=new Promise(e=>{this._stopPromiseResolver=e}),await this._stopInternal(e),await this._stopPromise}async _stopInternal(e){this._stopError=e;try{await this._startInternalPromise}catch{}if(this.transport){try{await this.transport.stop()}catch(e){this._logger.log(I.Error,`HttpConnection.transport.stop() threw error '${e}'.`),this._stopConnection()}this.transport=void 0}else this._logger.log(I.Debug,`HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.`)}async _startInternal(e){let t=this.baseUrl;this._accessTokenFactory=this._options.accessTokenFactory,this._httpClient._accessTokenFactory=this._accessTokenFactory;try{if(this._options.skipNegotiation)if(this._options.transport===V.WebSockets)this.transport=this._constructTransport(V.WebSockets),await this._startTransport(t,e);else throw Error(`Negotiation can only be skipped when using the WebSocket transport directly.`);else{let n=null,r=0;do{if(n=await this._getNegotiationResponse(t),this._connectionState===`Disconnecting`||this._connectionState===`Disconnected`)throw new m_(`The connection was stopped during negotiation.`);if(n.error)throw Error(n.error);if(n.ProtocolVersion)throw Error(`Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.`);if(n.url&&(t=n.url),n.accessToken){let e=n.accessToken;this._accessTokenFactory=()=>e,this._httpClient._accessToken=e,this._httpClient._accessTokenFactory=void 0}r++}while(n.url&&r<ov);if(r===ov&&n.url)throw Error(`Negotiate redirection limit exceeded.`);await this._createTransport(t,this._options.transport,n,e)}this.transport instanceof rv&&(this.features.inherentKeepAlive=!0),this._connectionState===`Connecting`&&(this._logger.log(I.Debug,`The HttpConnection connected successfully.`),this._connectionState=`Connected`)}catch(e){return this._logger.log(I.Error,`Failed to start the connection: `+e),this._connectionState=`Disconnected`,this.transport=void 0,this._stopPromiseResolver(),Promise.reject(e)}}async _getNegotiationResponse(e){let t={},[n,r]=j_();t[n]=r;let i=this._resolveNegotiateUrl(e);this._logger.log(I.Debug,`Sending negotiation request: ${i}.`);try{let e=await this._httpClient.post(i,{content:``,headers:{...t,...this._options.headers},timeout:this._options.timeout,withCredentials:this._options.withCredentials});if(e.statusCode!==200)return Promise.reject(Error(`Unexpected status code returned from negotiate '${e.statusCode}'`));let n=JSON.parse(e.content);return(!n.negotiateVersion||n.negotiateVersion<1)&&(n.connectionToken=n.connectionId),n.useStatefulReconnect&&this._options._useStatefulReconnect!==!0?Promise.reject(new v_(`Client didn't negotiate Stateful Reconnect but the server did.`)):n}catch(e){let t=`Failed to complete negotiation with the server: `+e;return e instanceof f_&&e.statusCode===404&&(t+=` Either this is not a SignalR endpoint or there is a proxy blocking the connection.`),this._logger.log(I.Error,t),Promise.reject(new v_(t))}}_createConnectUrl(e,t){return t?e+(e.indexOf(`?`)===-1?`?`:`&`)+`id=${t}`:e}async _createTransport(e,t,n,r){let i=this._createConnectUrl(e,n.connectionToken);if(this._isITransport(t)){this._logger.log(I.Debug,`Connection was provided an instance of ITransport, using that directly.`),this.transport=t,await this._startTransport(i,r),this.connectionId=n.connectionId;return}let a=[],o=n.availableTransports||[],s=n;for(let n of o){let o=this._resolveTransportOrError(n,t,r,s?.useStatefulReconnect===!0);if(o instanceof Error)a.push(`${n.transport} failed:`),a.push(o);else if(this._isITransport(o)){if(this.transport=o,!s){try{s=await this._getNegotiationResponse(e)}catch(e){return Promise.reject(e)}i=this._createConnectUrl(e,s.connectionToken)}try{await this._startTransport(i,r),this.connectionId=s.connectionId;return}catch(e){if(this._logger.log(I.Error,`Failed to start the transport '${n.transport}': ${e}`),s=void 0,a.push(new __(`${n.transport} failed: ${e}`,V[n.transport])),this._connectionState!==`Connecting`){let e=`Failed to select transport before stop() was called.`;return this._logger.log(I.Debug,e),Promise.reject(new m_(e))}}}}return a.length>0?Promise.reject(new y_(`Unable to connect to the server with any of the available transports. ${a.join(` `)}`,a)):Promise.reject(Error(`None of the transports supported by the client are supported by the server.`))}_constructTransport(e){switch(e){case V.WebSockets:if(!this._options.WebSocket)throw Error(`'WebSocket' is not supported in your environment.`);return new av(this._httpClient,this._accessTokenFactory,this._logger,this._options.logMessageContent,this._options.WebSocket,this._options.headers||{});case V.ServerSentEvents:if(!this._options.EventSource)throw Error(`'EventSource' is not supported in your environment.`);return new iv(this._httpClient,this._httpClient._accessToken,this._logger,this._options);case V.LongPolling:return new rv(this._httpClient,this._logger,this._options);default:throw Error(`Unknown transport: ${e}.`)}}_startTransport(e,t){return this.transport.onreceive=this.onreceive,this.features.reconnect?this.transport.onclose=async n=>{let r=!1;if(this.features.reconnect)try{this.features.disconnected(),await this.transport.connect(e,t),await this.features.resend()}catch{r=!0}else{this._stopConnection(n);return}r&&this._stopConnection(n)}:this.transport.onclose=e=>this._stopConnection(e),this.transport.connect(e,t)}_resolveTransportOrError(e,t,n,r){let i=V[e.transport];if(i==null)return this._logger.log(I.Debug,`Skipping transport '${e.transport}' because it is not supported by this client.`),Error(`Skipping transport '${e.transport}' because it is not supported by this client.`);if(cv(t,i))if(e.transferFormats.map(e=>tv[e]).indexOf(n)>=0){if(i===V.WebSockets&&!this._options.WebSocket||i===V.ServerSentEvents&&!this._options.EventSource)return this._logger.log(I.Debug,`Skipping transport '${V[i]}' because it is not supported in your environment.'`),new h_(`'${V[i]}' is not supported in your environment.`,i);this._logger.log(I.Debug,`Selecting transport '${V[i]}'.`);try{return this.features.reconnect=i===V.WebSockets?r:void 0,this._constructTransport(i)}catch(e){return e}}else return this._logger.log(I.Debug,`Skipping transport '${V[i]}' because it does not support the requested transfer format '${tv[n]}'.`),Error(`'${V[i]}' does not support ${tv[n]}.`);else return this._logger.log(I.Debug,`Skipping transport '${V[i]}' because it was disabled by the client.`),new g_(`'${V[i]}' is disabled by the client.`,i)}_isITransport(e){return e&&typeof e==`object`&&`connect`in e}_stopConnection(e){if(this._logger.log(I.Debug,`HttpConnection.stopConnection(${e}) called while in state ${this._connectionState}.`),this.transport=void 0,e=this._stopError||e,this._stopError=void 0,this._connectionState===`Disconnected`){this._logger.log(I.Debug,`Call to HttpConnection.stopConnection(${e}) was ignored because the connection is already in the disconnected state.`);return}if(this._connectionState===`Connecting`)throw this._logger.log(I.Warning,`Call to HttpConnection.stopConnection(${e}) was ignored because the connection is still in the connecting state.`),Error(`HttpConnection.stopConnection(${e}) was called while the connection is still in the connecting state.`);if(this._connectionState===`Disconnecting`&&this._stopPromiseResolver(),e?this._logger.log(I.Error,`Connection disconnected with error '${e}'.`):this._logger.log(I.Information,`Connection disconnected.`),this._sendQueue&&=(this._sendQueue.stop().catch(e=>{this._logger.log(I.Error,`TransportSendQueue.stop() threw error '${e}'.`)}),void 0),this.connectionId=void 0,this._connectionState=`Disconnected`,this._connectionStarted){this._connectionStarted=!1;try{this.onclose&&this.onclose(e)}catch(t){this._logger.log(I.Error,`HttpConnection.onclose(${e}) threw error '${t}'.`)}}}_resolveUrl(e){if(e.lastIndexOf(`https://`,0)===0||e.lastIndexOf(`http://`,0)===0)return e;if(!R.isBrowser)throw Error(`Cannot resolve '${e}'.`);let t=window.document.createElement(`a`);return t.href=e,this._logger.log(I.Information,`Normalizing '${e}' to '${t.href}'.`),t.href}_resolveNegotiateUrl(e){let t=new URL(e);t.pathname.endsWith(`/`)?t.pathname+=`negotiate`:t.pathname+=`/negotiate`;let n=new URLSearchParams(t.searchParams);return n.has(`negotiateVersion`)||n.append(`negotiateVersion`,this._negotiateVersion.toString()),n.has(`useStatefulReconnect`)?n.get(`useStatefulReconnect`)===`true`&&(this._options._useStatefulReconnect=!0):this._options._useStatefulReconnect===!0&&n.append(`useStatefulReconnect`,`true`),t.search=n.toString(),t.toString()}};function cv(e,t){return!e||(t&e)!==0}var lv=class e{constructor(e){this._transport=e,this._buffer=[],this._executing=!0,this._sendBufferedData=new uv,this._transportResult=new uv,this._sendLoopPromise=this._sendLoop()}send(e){return this._bufferData(e),this._transportResult||=new uv,this._transportResult.promise}stop(){return this._executing=!1,this._sendBufferedData.resolve(),this._sendLoopPromise}_bufferData(e){if(this._buffer.length&&typeof this._buffer[0]!=typeof e)throw Error(`Expected data to be of type ${typeof this._buffer} but was of type ${typeof e}`);this._buffer.push(e),this._sendBufferedData.resolve()}async _sendLoop(){for(;;){if(await this._sendBufferedData.promise,!this._executing){this._transportResult&&this._transportResult.reject(`Connection stopped.`);break}this._sendBufferedData=new uv;let t=this._transportResult;this._transportResult=void 0;let n=typeof this._buffer[0]==`string`?this._buffer.join(``):e._concatBuffers(this._buffer);this._buffer.length=0;try{await this._transport.send(n),t.resolve()}catch(e){t.reject(e)}}}static _concatBuffers(e){let t=e.map(e=>e.byteLength).reduce((e,t)=>e+t),n=new Uint8Array(t),r=0;for(let t of e)n.set(new Uint8Array(t),r),r+=t.byteLength;return n.buffer}},uv=class{constructor(){this.promise=new Promise((e,t)=>[this._resolver,this._rejecter]=[e,t])}resolve(){this._resolver()}reject(e){this._rejecter(e)}},dv=`json`,fv=class{constructor(){this.name=dv,this.version=2,this.transferFormat=tv.Text}parseMessages(e,t){if(typeof e!=`string`)throw Error(`Invalid input for JSON hub protocol. Expected a string.`);if(!e)return[];t===null&&(t=S_.instance);let n=H_.parse(e),r=[];for(let e of n){let n=JSON.parse(e);if(typeof n.type!=`number`)throw Error(`Invalid payload.`);switch(n.type){case z.Invocation:this._isInvocationMessage(n);break;case z.StreamItem:this._isStreamItemMessage(n);break;case z.Completion:this._isCompletionMessage(n);break;case z.Ping:break;case z.Close:break;case z.Ack:this._isAckMessage(n);break;case z.Sequence:this._isSequenceMessage(n);break;default:t.log(I.Information,`Unknown message type '`+n.type+`' ignored.`);continue}r.push(n)}return r}writeMessage(e){return H_.write(JSON.stringify(e))}_isInvocationMessage(e){this._assertNotEmptyString(e.target,`Invalid payload for Invocation message.`),e.invocationId!==void 0&&this._assertNotEmptyString(e.invocationId,`Invalid payload for Invocation message.`)}_isStreamItemMessage(e){if(this._assertNotEmptyString(e.invocationId,`Invalid payload for StreamItem message.`),e.item===void 0)throw Error(`Invalid payload for StreamItem message.`)}_isCompletionMessage(e){if(e.result&&e.error)throw Error(`Invalid payload for Completion message.`);!e.result&&e.error&&this._assertNotEmptyString(e.error,`Invalid payload for Completion message.`),this._assertNotEmptyString(e.invocationId,`Invalid payload for Completion message.`)}_isAckMessage(e){if(typeof e.sequenceId!=`number`)throw Error(`Invalid SequenceId for Ack message.`)}_isSequenceMessage(e){if(typeof e.sequenceId!=`number`)throw Error(`Invalid SequenceId for Sequence message.`)}_assertNotEmptyString(e,t){if(typeof e!=`string`||e===``)throw Error(t)}},pv={trace:I.Trace,debug:I.Debug,info:I.Information,information:I.Information,warn:I.Warning,warning:I.Warning,error:I.Error,critical:I.Critical,none:I.None};function mv(e){let t=pv[e.toLowerCase()];if(t!==void 0)return t;throw Error(`Unknown log level: ${e}`)}var hv=class{configureLogging(e){if(L.isRequired(e,`logging`),gv(e))this.logger=e;else if(typeof e==`string`){let t=mv(e);this.logger=new A_(t)}else this.logger=new A_(e);return this}withUrl(e,t){return L.isRequired(e,`url`),L.isNotEmpty(e,`url`),this.url=e,typeof t==`object`?this.httpConnectionOptions={...this.httpConnectionOptions,...t}:this.httpConnectionOptions={...this.httpConnectionOptions,transport:t},this}withHubProtocol(e){return L.isRequired(e,`protocol`),this.protocol=e,this}withAutomaticReconnect(e){if(this.reconnectPolicy)throw Error(`A reconnectPolicy has already been set.`);return e?Array.isArray(e)?this.reconnectPolicy=new Q_(e):this.reconnectPolicy=e:this.reconnectPolicy=new Q_,this}withServerTimeout(e){return L.isRequired(e,`milliseconds`),this._serverTimeoutInMilliseconds=e,this}withKeepAliveInterval(e){return L.isRequired(e,`milliseconds`),this._keepAliveIntervalInMilliseconds=e,this}withStatefulReconnect(e){return this.httpConnectionOptions===void 0&&(this.httpConnectionOptions={}),this.httpConnectionOptions._useStatefulReconnect=!0,this._statefulReconnectBufferSize=e?.bufferSize,this}build(){let e=this.httpConnectionOptions||{};if(e.logger===void 0&&(e.logger=this.logger),!this.url)throw Error(`The 'HubConnectionBuilder.withUrl' method must be called before building the connection.`);let t=new sv(this.url,e);return X_.create(t,this.logger||S_.instance,this.protocol||new fv,this.reconnectPolicy,this._serverTimeoutInMilliseconds,this._keepAliveIntervalInMilliseconds,this._statefulReconnectBufferSize)}};function gv(e){return e.log!==void 0}var _v=15e3,vv=5,yv=(e,t=Math.random)=>{let n=Math.min(_v,1e3*2**Math.min(Math.max(e,0),vv));return Math.round(t()*n)},bv=class{nextRetryDelayInMilliseconds(e){return yv(e.previousRetryCount)}},xv=e=>({log(t,n){t>=I.Error?e.error(n):t>=I.Warning?e.warn(n):e.debug(n)}}),Sv=e=>{switch(e){case B.Connected:return`connected`;case B.Connecting:return`connecting`;case B.Reconnecting:return`reconnecting`;case B.Disconnected:case B.Disconnecting:return`disconnected`;default:return`disconnected`}},Cv=class{connection;logger;statusHandlers=new Set;starting=null;intentionallyStopped=!0;reconnectTimer=null;reconnectAttempt=0;constructor(e,t){this.logger=t.child(`realtime`),this.connection=new hv().withUrl(e.url,{accessTokenFactory:()=>e.accessTokenProvider()??``}).withAutomaticReconnect(new bv).configureLogging(xv(this.logger)).build(),this.connection.onreconnecting(()=>{this.emitStatus(`reconnecting`)}),this.connection.onreconnected(()=>{this.reconnectAttempt=0,this.emitStatus(`connected`)}),this.connection.onclose(()=>{this.emitStatus(`disconnected`),this.scheduleReconnect()})}get status(){return Sv(this.connection.state)}async start(){if(this.intentionallyStopped=!1,this.clearReconnectTimer(),this.connection.state===B.Disconnecting)for(;this.connection.state===B.Disconnecting;)await new Promise(e=>setTimeout(e,50));if(this.connection.state===B.Disconnected)return this.starting===null?(this.emitStatus(`connecting`),this.starting=this.connection.start().then(()=>{this.reconnectAttempt=0,this.emitStatus(`connected`)}).catch(e=>{throw this.emitStatus(`disconnected`),this.logger.warn(`Realtime connection failed to start`),e}).finally(()=>{this.starting=null}),this.starting):this.starting}async stop(){this.intentionallyStopped=!0,this.clearReconnectTimer(),await this.connection.stop(),this.emitStatus(`disconnected`)}on(e,t){let n=e=>{t(e)};return this.connection.on(e,n),()=>{this.connection.off(e,n)}}invoke(e,...t){return this.connection.invoke(e,...t)}onStatusChange(e){return this.statusHandlers.add(e),e(this.status),()=>{this.statusHandlers.delete(e)}}scheduleReconnect(){if(this.intentionallyStopped)return;this.clearReconnectTimer();let e=yv(this.reconnectAttempt);this.reconnectAttempt+=1,this.reconnectTimer=setTimeout(()=>{this.reconnectNow()},e)}async reconnectNow(){if(this.reconnectTimer=null,!(this.intentionallyStopped||this.connection.state!==B.Disconnected)){if(!this.isOnline()){this.scheduleReconnect();return}this.emitStatus(`reconnecting`);try{await this.connection.start(),this.reconnectAttempt=0,this.emitStatus(`connected`)}catch{this.emitStatus(`disconnected`),this.scheduleReconnect()}}}clearReconnectTimer(){this.reconnectTimer!==null&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}isOnline(){return typeof navigator>`u`?!0:navigator.onLine}emitStatus(e){for(let t of this.statusHandlers)t(e)}},wv=class{logger;constructor(e){this.logger=e.logger}create(e){return new Cv(e,this.logger)}},Tv=class{status=`disconnected`;async start(){return Promise.resolve()}async stop(){return Promise.resolve()}on(e,t){return()=>{}}async invoke(e,...t){return Promise.reject(Error(`Cannot invoke method on NullRealtimeConnection`))}onStatusChange(e){return()=>{}}},Ev=`/api/app/sdk-capabilities`,Dv=n.dt({apiVersion:n.pt(),modules:n.it(n.pt())}),Ov=e=>{let t=new Set;for(let n of e.modules)i_(n)&&t.add(r_[n]);return{grantedModules:t,grantedPolicies:new Set,canManageUserAccess:!1}},kv=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`sdk-module-access`)}async getModuleAccess(){let e;try{e=await this.httpClient.get(Ev)}catch(e){return this.logger.error(`Failed to fetch SDK capabilities`,{error:e}),n.Bt(new Qr(e))}let t=Dv.safeParse(e);return t.success?n.Ut(Ov(t.data)):(this.logger.error(`Malformed capabilities response`,{error:t.error}),n.Bt(new Qr(t.error)))}},Av=e=>({getModuleAccess:new Jr({moduleAccessGateway:new kv({httpClient:e.httpClient,logger:e.logger}),logger:e.logger}),gateMode:`fail-closed`}),jv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`list-conversations`)}async execute(e){let t=await this.chatGateway.listConversations(e);return t.ok||this.logger.warn(`Listing conversations failed`,{code:t.error.code}),t}},Mv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-conversation`)}async execute(e){let t=await this.chatGateway.getConversation(e);return t.ok||this.logger.warn(`Fetching conversation failed`,{code:t.error.code}),t}},Nv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-conversation-counts`)}async execute(){let e=await this.chatGateway.getConversationCounts();return e.ok||this.logger.warn(`Fetching conversation counts failed`,{code:e.error.code}),e}},Pv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`list-staff`)}async execute(e){let t=await this.chatGateway.listStaff(e);return t.ok||this.logger.warn(`Listing staff failed`,{code:t.error.code}),t}},Fv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-group-member-pool`)}async execute(e){let t=await this.chatGateway.getGroupMemberPool(e);return t.ok||this.logger.warn(`Fetching the group member pool failed`,{code:t.error.code}),t}},Iv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-viewer`)}async execute(){let e=await this.chatGateway.getViewer();return e.ok||this.logger.warn(`Loading viewer failed`,{code:e.error.code}),e}},Lv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-messages`)}async execute(e){let t=await this.chatGateway.getMessages(e,50);return t.ok||this.logger.warn(`Loading messages failed`,{code:t.error.code}),t}},Rv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-messages-since`)}async execute(e,t,n){let r=await this.chatGateway.getMessagesSince(e,t,n);return r.ok||this.logger.warn(`Loading messages since cursor failed`,{code:r.error.code}),r}},zv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-messages-before`)}async execute(e,t,n){let r=await this.chatGateway.getMessagesBefore(e,t,n);return r.ok||this.logger.warn(`Loading messages before cursor failed`,{code:r.error.code}),r}},Bv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`start-direct`)}async execute(e){let t=e.trim();return t.length===0?(this.logger.warn(`Rejected start-direct with no recipient`),n.Bt(new zr)):this.chatGateway.startDirect(t)}},Vv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`create-group`)}async execute(e,t){let r=e.trim();return r.length===0?(this.logger.warn(`Rejected group with no title`),n.Bt(new Lr)):t.length===0?(this.logger.warn(`Rejected group with no members`),n.Bt(new Rr)):this.chatGateway.createGroup(r,t)}},Hv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`send-message`)}async execute(e,t,r,i){let a=t.trim();return a.length===0?(this.logger.warn(`Rejected empty message`,{conversationId:e}),n.Bt(new Fr)):a.length>4e3?(this.logger.warn(`Rejected oversized message`,{conversationId:e}),n.Bt(new Ir(4e3))):this.chatGateway.sendMessage(e,a,r,i)}},Uv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`mark-delivered`)}execute(e,t){return this.logger.debug(`Mark delivered`,{conversationId:e,uptoSequence:t}),this.chatGateway.markDelivered(e,t)}},Wv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`mark-read`)}execute(e,t){return this.logger.debug(`Mark read`,{conversationId:e,uptoSequence:t}),this.chatGateway.markRead(e,t)}},Gv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`set-favourite`)}async execute(e,t){return this.logger.info(`Set favourite`,{conversationId:e,favourite:t}),this.chatGateway.setFavourite(e,t)}},Kv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`set-archived`)}async execute(e,t){return this.logger.info(`Set archived`,{conversationId:e,archived:t}),this.chatGateway.setArchived(e,t)}},qv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`set-pinned`)}async execute(e,t){return this.logger.info(`Set pinned`,{conversationId:e,pinned:t}),this.chatGateway.setPinned(e,t)}},Jv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`delete-conversation`)}async execute(e){return this.logger.info(`Delete conversation`,{conversationId:e}),this.chatGateway.deleteConversation(e)}},Yv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`leave-conversation`)}async execute(e){return this.logger.info(`Leave conversation`,{conversationId:e}),this.chatGateway.leaveConversation(e)}},Xv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`refresh-portal`)}async execute(e){return this.logger.info(`Refresh portal data`,{conversationId:e}),this.chatGateway.refreshPortal(e)}},Zv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`react-to-message`)}async execute(e,t,r){return r.trim().length===0?(this.logger.warn(`Rejected empty reaction`,{conversationId:e,messageId:t}),n.Bt(new Pr)):this.chatGateway.reactToMessage(e,t,r)}},Qv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`save-members`)}async execute(e,t,n){return this.logger.info(`Save members`,{conversationId:e,members:t.length,admins:n.length}),this.chatGateway.saveMembers(e,t,n)}},$v=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`edit-message`)}async execute(e,t,n){let r=n.trim(),i=await this.chatGateway.editMessage(e,t,r);return i.ok||this.logger.warn(`Edit message failed`,{code:i.error.code}),i}},ey=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`delete-message`)}async execute(e,t){let n=await this.chatGateway.deleteMessage(e,t);return n.ok||this.logger.warn(`Delete message failed`,{code:n.error.code}),n}},ty=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`delete-message-for-me`)}async execute(e,t){let n=await this.chatGateway.deleteMessageForMe(e,t);return n.ok||this.logger.warn(`Delete message for me failed`,{code:n.error.code}),n}},ny=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`send-media-message`)}async execute(e){let t=await this.chatGateway.sendMediaMessage(e);return t.ok||this.logger.warn(`Send media message failed`,{code:t.error.code}),t}},ry=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`download-chat-media`)}async execute(e){let t=await this.chatGateway.downloadMedia(e);return t.ok||this.logger.warn(`Downloading media failed`,{code:t.error.code}),t}},iy=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`subscribe-push`)}async execute(e){let t=await this.chatGateway.subscribePush(e);return t.ok||this.logger.warn(`Subscribe push failed`,{code:t.error.code}),t}},ay=e=>{let t={chatGateway:new Zm({httpClient:e.httpClient,clock:e.clock,logger:e.logger}),logger:e.logger},n=lh();return{listConversations:new jv(t),getConversation:new Mv(t),getConversationCounts:new Nv(t),listStaff:new Pv(t),getGroupMemberPool:new Fv(t),getViewer:new Iv(t),getMessages:new Lv(t),getMessagesSince:new Rv(t),getMessagesBefore:new zv(t),startDirect:new Bv(t),createGroup:new Vv(t),sendMessage:new Hv(t),sendMediaMessage:new ny(t),downloadChatMedia:new ry(t),editMessage:new $v(t),deleteMessage:new ey(t),deleteMessageForMe:new ty(t),subscribePush:new iy(t),markDelivered:new Uv(t),markRead:new Wv(t),setFavourite:new Gv(t),setArchived:new Kv(t),setPinned:new qv(t),deleteConversation:new Jv(t),leaveConversation:new Yv(t),refreshPortal:new Xv(t),reactToMessage:new Zv(t),saveMembers:new Qv(t),clock:e.clock,realtime:e.realtime,realtimeStore:kr(),logger:e.logger.child(`chat-realtime`),outbox:n}},oy=({module:e,children:t})=>(0,w.jsx)(ci.Provider,{value:e,children:(0,w.jsx)(Ar.Provider,{value:e.realtimeStore,children:t})}),sy=e=>e.connection.on(F.MessageReceived,t=>{let n=yh(t,F.MessageReceived,e.logger);if(n===null)return;let r=e.viewerId()??``,i=Nh(im(n),r);if(e.queryClient.setQueryData(Ni(n.conversationId),e=>ju(e??[],i)),_i(e.queryClient),i.kind===`system`){if(i.text.endsWith(` left the group`)){let t=i.text.slice(0,-15).trim().toLowerCase();bi(e.queryClient,n.conversationId,e=>{let n=e.members.find(e=>e.name.toLowerCase()===t);return n===void 0?e:e.with({members:e.members.filter(e=>e.id!==n.id),adminIds:e.adminIds.filter(e=>e!==n.id)})})}e.queryClient.refetchQueries({queryKey:di(n.conversationId)})}}),cy=(e,t,n)=>e.connection.on(t,r=>{let i=bh(r,t,e.logger);i===null||i.byUserId===e.viewerId()||e.store.getState().applyReceipt(i.conversationId,i.byUserId,n,i.uptoSequence)}),ly=e=>e.connection.on(F.Typing,t=>{let n=xh(t,F.Typing,e.logger);n===null||n.userId===e.viewerId()||e.store.getState().applyTyping(n.conversationId,n.userId,n.isTyping,Date.now())}),uy=e=>e.connection.on(F.ReactionToggled,t=>{let n=wh(t,F.ReactionToggled,e.logger),r=e.viewerId();n===null||n.byUserId===r||e.queryClient.setQueryData(Ni(n.conversationId),e=>e?.map(e=>e.id===n.messageId?Ti(e,n,r??``):e))}),dy=e=>e.connection.on(F.MessageEdited,t=>{let n=yh(t,F.MessageEdited,e.logger);if(n===null)return;let r=e.viewerId()??``,i=Nh(im(n),r);e.queryClient.setQueryData(Ni(n.conversationId),e=>e?.map(e=>e.id===i.id?i:e)??[i])}),fy=e=>e.connection.on(F.MessageDeleted,t=>{let n=Th(t,F.MessageDeleted,e.logger);n!==null&&(e.queryClient.setQueryData(Ni(n.conversationId),e=>e?.map(e=>e.id===n.messageId?e.asDeletedForEveryone():e)??[]),_i(e.queryClient))}),py=e=>e.connection.on(F.RemovedFromConversation,t=>{let n=Eh(t,F.RemovedFromConversation,e.logger);n!==null&&e.store.getState().markRemovedFromConversation(n.conversationId)}),my=e=>e.connection.on(F.PresenceChanged,t=>{let n=Sh(t,F.PresenceChanged,e.logger);n!==null&&e.store.getState().applyPresence(n.userId,n.online,n.lastSeenUtc)}),hy=e=>e.connection.on(F.StatusChanged,t=>{let n=Ch(t,F.StatusChanged,e.logger);n!==null&&ac(n.userId,Xs(n.status),n.untilUtc??null)}),gy=e=>{let t=[sy(e),dy(e),fy(e),cy(e,F.MessageDelivered,`delivered`),cy(e,F.MessageRead,`read`),ly(e),my(e),hy(e),uy(e),py(e)];return()=>{for(let e of t)e()}},_y=(e,t,n)=>{n.length!==0&&e.setQueryData(Ni(t),e=>n.reduce((e,t)=>ju(e,t),e??[]))},vy=async(e,t,r,i)=>{let a=e.getState().activeConversationId;if(a===null){vi(t);return}let o=Iu(t.getQueryData(Ni(a))??[]);try{_y(t,a,await n.Wt(r.execute(a,o,50)))}catch{i.warn(`Reconnect sync failed; conversation list will still refresh`)}vi(t)},yy=()=>{let{realtime:e,getMessagesSince:t,logger:i}=D(),a=jr(),o=n.F();(0,r.useEffect)(()=>{let n=e.status;return e.onStatusChange(e=>{e===`connected`&&n!==`connected`&&vy(a,o,t,i),n=e})},[e,a,o,t,i])},by=()=>{let{isAuthenticated:e}=Dl(),{realtime:t,logger:i}=D(),a=jr(),o=n.F(),s=Fi();yy();let c=(0,r.useRef)(null);c.current=s.data?.id??null,(0,r.useEffect)(()=>t.onStatusChange(e=>{a.getState().setStatus(e)}),[t,a]),(0,r.useEffect)(()=>gy({connection:t,store:a,queryClient:o,viewerId:()=>c.current,logger:i}),[t,a,o,i]),(0,r.useEffect)(()=>{if(!e){t.stop(),a.getState().clear(),sc();return}return t.start().catch(()=>{}),()=>{t.stop()}},[e,t,a])},xy=({children:e})=>(by(),(0,w.jsx)(w.Fragment,{children:e})),Sy=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`get-post`)}async execute(e){let t=await this.feedGateway.getPost(e);return t.ok||this.logger.warn(`Fetching post by id failed`,{code:t.error.code}),t}},Cy=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`list-feed`)}async execute(e){let t=await this.feedGateway.listPosts(e.scope,e.skipCount,e.maxResultCount);return t.ok||this.logger.warn(`Listing feed failed`,{code:t.error.code,scope:e.scope}),t}},wy=class extends n.Kt{},Ty=class extends wy{code=`FEED_UNAVAILABLE`;constructor(e){super(`The news feed is currently unavailable. Please try again.`,{cause:e})}},Ey=class extends wy{code=`FEED_EMPTY_POST`;constructor(){super(`Write something before posting.`)}},Dy=class{id;authorUserId;authorName;authorInitials;authorColor;authorRole;categoryLabel;categoryColor;audienceLabel;timestamp;createdAt;pinned;mustAcknowledge;acknowledged;title;body;reactions;myReaction;commentCount;comments;seenCount;bookmarked;taggedUserIds;locationLabel;imageUrls;department;audienceId;feelingId;feelingLabel;feelingEmoji;scheduledAt;isRecurring;recurrenceFrequency;constructor(e){this.id=e.id,this.authorUserId=e.authorUserId,this.authorName=e.authorName,this.authorInitials=e.authorInitials,this.authorColor=e.authorColor,this.authorRole=e.authorRole,this.categoryLabel=e.categoryLabel,this.categoryColor=e.categoryColor,this.audienceLabel=e.audienceLabel,this.timestamp=e.timestamp,this.createdAt=e.createdAt,this.pinned=e.pinned,this.mustAcknowledge=e.mustAcknowledge,this.acknowledged=e.acknowledged,this.title=e.title,this.body=e.body,this.reactions=e.reactions,this.myReaction=e.myReaction,this.commentCount=e.commentCount,this.comments=e.comments,this.seenCount=e.seenCount,this.bookmarked=e.bookmarked,this.taggedUserIds=e.taggedUserIds,this.locationLabel=e.locationLabel,this.imageUrls=e.imageUrls,this.department=e.department,this.audienceId=e.audienceId,this.feelingId=e.feelingId,this.feelingLabel=e.feelingLabel,this.feelingEmoji=e.feelingEmoji,this.scheduledAt=e.scheduledAt??null,this.isRecurring=e.isRecurring??!1,this.recurrenceFrequency=e.recurrenceFrequency??null}get totalReactions(){return this.reactions.like+this.reactions.insightful+this.reactions.celebrate}get needsAcknowledgement(){return this.mustAcknowledge&&!this.acknowledged}},Oy=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`create-post`)}async execute(e){return e.body.trim().length===0?(this.logger.warn(`Rejected empty post`),n.Bt(new Ey)):this.feedGateway.createPost({...e,body:e.body.trim()})}},ky=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`update-post`)}async execute(e,t){return t.body.trim().length===0?(this.logger.warn(`Rejected empty body for post update`),n.Bt(new Ey)):this.feedGateway.updatePost(e,{...t,body:t.body.trim()})}},Ay=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`delete-post`)}async execute(e){let t=await this.feedGateway.deletePost(e);return t.ok||this.logger.warn(`Deleting post failed`,{code:t.error.code}),t}},jy=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`react-to-post`)}async execute(e,t){let n=await this.feedGateway.react(e,t);return n.ok||this.logger.warn(`Reacting to post failed`,{code:n.error.code}),n}},My=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`toggle-bookmark`)}async execute(e){let t=await this.feedGateway.toggleBookmark(e);return t.ok||this.logger.warn(`Bookmarking post failed`,{code:t.error.code}),t}},Ny=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`acknowledge-post`)}async execute(e){let t=await this.feedGateway.acknowledge(e);return t.ok||this.logger.warn(`Acknowledging post failed`,{code:t.error.code}),t}},Py=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`add-comment`)}async execute({postId:e,text:t}){if(t.trim().length===0)return this.logger.warn(`Rejected empty comment`,{postId:e}),n.Bt(new Ty);let r=await this.feedGateway.addComment(e,t.trim());return r.ok||this.logger.warn(`Adding comment failed`,{code:r.error.code}),r}},Fy=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.listCategories()}},Iy=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.listAudiences()}},Ly=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.listFeelings()}},Ry=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(e){return this.feedGateway.searchUsers(e)}},zy=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.detectLocation()}},By=class{gateway;logger;constructor(e){this.gateway=e.feedGateway,this.logger=e.logger.child(`upload-feed-image-use-case`)}async execute(e){return this.logger.debug(`Uploading feed image`),this.gateway.uploadImage(e)}},Vy=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`mark-seen`)}async execute(e){let t=await this.feedGateway.markSeen(e);return t.ok||this.logger.warn(`Marking post as seen failed`,{code:t.error.code}),t}},Hy=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`set-post-pinned`)}async execute(e,t){let n=await this.feedGateway.setPinned(e,t);return n.ok||this.logger.warn(`Pinning post failed`,{code:n.error.code,pinned:t}),n}},Uy=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.getNotifications()}},Wy=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(e){return this.feedGateway.markNotificationAsRead(e)}};function Gy(e){return e.replace(/\s+(division|province|district|state|region)$/i,``).trim()}function Ky(e){let t=Gy(e.regionName??e.region??``),n=t.length>0?t:(e.cityName??e.city??``).trim(),r=(e.countryName??e.country_name??``).trim();return n.length>0&&r.length>0?`${n}, ${r}`:r.length>0?r:null}function qy(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;if(e){let t=e.split(`/`),n=t[t.length-1];if(n)return n.replace(/_/g,` `)}}catch{}return`London Office`}async function Jy(e){try{let t=await fetch(`/ip-geolocation`);if(t.ok){let e=Ky(await t.json());if(e!==null)return n.Ut(e)}e.warn(`Proxy location fetch returned unexpected response, falling back to local timezone`)}catch(t){e.warn(`Failed to fetch location via dev proxy, falling back to local timezone`,{error:t})}return n.Ut(qy())}var Yy=n.dt({type:n.ut(),count:n.ut(),reacted:n.at()}),Xy=n.dt({id:n.pt(),authorUserId:n.pt(),authorName:n.pt(),authorInitials:n.pt(),authorColor:n.pt(),text:n.pt(),createdAt:n.pt(),time:n.pt()}),Zy=n.dt({id:n.pt(),authorUserId:n.pt(),authorName:n.pt(),authorInitials:n.pt(),authorColor:n.pt(),authorRole:n.pt(),department:n.pt().nullable().optional(),categoryLabel:n.pt(),categoryColor:n.pt(),audienceLabel:n.pt(),createdAt:n.pt(),timestamp:n.pt(),pinned:n.at(),mustAcknowledge:n.at(),acknowledged:n.at(),title:n.pt().nullable(),body:n.pt(),reactions:n.it(Yy),myReaction:n.ut().nullable().optional(),commentCount:n.ut(),comments:n.it(Xy),seenCount:n.ut(),bookmarked:n.at(),audienceId:n.pt(),taggedUserIds:n.it(n.pt()).optional(),scheduledAt:n.pt().nullable().optional(),isRecurring:n.at().optional(),recurrenceFrequency:n.pt().nullable().optional(),nextOccurrenceTime:n.pt().nullable().optional(),feelingId:n.pt().nullable().optional(),feelingLabel:n.pt().nullable().optional(),feelingEmoji:n.pt().nullable().optional(),locationLabel:n.pt().nullable().optional(),imageUrls:n.it(n.pt()).optional()}).passthrough();n.it(Zy);var Qy=n.dt({totalCount:n.ut(),items:n.it(Zy)}),$y=n.dt({id:n.pt(),name:n.pt(),email:n.pt(),userName:n.pt(),role:n.pt(),initials:n.pt(),color:n.pt()}),eb=n.it($y),tb=n.dt({id:n.pt(),key:n.pt().optional(),label:n.pt(),color:n.pt(),templateIds:n.it(n.pt()).optional(),dataTemplateIds:n.it(n.pt()).optional(),webhookId:n.pt().nullable().optional()}),nb=n.it(tb),rb=n.dt({key:n.pt(),label:n.pt()}),ib=n.it(rb),ab=n.dt({id:n.pt(),label:n.pt(),emoji:n.pt()}),ob=n.it(ab),sb=e=>e===1?`insightful`:e===2?`celebrate`:`like`,cb=e=>{let t={like:0,insightful:0,celebrate:0};for(let n of e){let e=sb(n.type);t[e]=n.count}return t},lb=e=>({id:e.id,authorName:e.authorName,authorInitials:e.authorInitials,authorColor:e.authorColor,text:e.text,time:e.time,createdAt:e.createdAt}),ub=e=>e==null?null:sb(e),db=e=>({department:e.department??null,feelingId:e.feelingId??null,feelingLabel:e.feelingLabel??null,feelingEmoji:e.feelingEmoji??null,locationLabel:e.locationLabel??null}),fb=e=>{let t=db(e);return new Dy({id:e.id,authorUserId:e.authorUserId,authorName:e.authorName,authorInitials:e.authorInitials,authorColor:e.authorColor,authorRole:e.authorRole,categoryLabel:e.categoryLabel,categoryColor:e.categoryColor,audienceLabel:e.audienceLabel,createdAt:e.createdAt,timestamp:e.timestamp,pinned:e.pinned,mustAcknowledge:e.mustAcknowledge,acknowledged:e.acknowledged,title:e.title,body:e.body,reactions:cb(e.reactions),myReaction:ub(e.myReaction),commentCount:e.commentCount,comments:e.comments.map(lb),seenCount:e.seenCount,bookmarked:e.bookmarked,taggedUserIds:e.taggedUserIds??[],imageUrls:e.imageUrls??[],audienceId:e.audienceId,scheduledAt:e.scheduledAt??null,isRecurring:e.isRecurring??!1,recurrenceFrequency:e.recurrenceFrequency??null,...t})},pb=e=>({id:e.key??e.id,label:e.label,color:e.color,categoryKey:e.key??e.id,templateIds:e.templateIds??[],dataTemplateIds:e.dataTemplateIds??[],webhookId:e.webhookId??void 0}),mb=e=>({id:e.key,label:e.label}),hb=e=>({id:e.id,label:e.label,emoji:e.emoji}),gb=(e,t,r)=>(e.error(`Feed ${t} returned an unexpected shape`,r),n.Bt(new Ty(r))),H=(e,t)=>(e.error(`Feed request failed`,t),new Ty(t)),_b=(e,t,r)=>{let i=Qy.safeParse(r);return i.success?n.Ut({totalCount:i.data.totalCount,items:i.data.items.map(fb)}):gb(e,t,i.error)},vb=(e,t,r)=>{let i=Zy.safeParse(r);return i.success?n.Ut(fb(i.data)):gb(e,t,i.error)},yb=(e,t,r)=>{let i=nb.safeParse(r);return i.success?n.Ut(i.data.map(pb)):gb(e,t,i.error)},bb=(e,t,r)=>{let i=ib.safeParse(r);return i.success?n.Ut(i.data.map(mb)):gb(e,t,i.error)},xb=(e,t,r)=>{let i=ob.safeParse(r);return i.success?n.Ut(i.data.map(hb)):gb(e,t,i.error)},Sb=(e,t,r)=>{let i=eb.safeParse(r);return i.success?n.Ut(i.data):gb(e,t,i.error)},Cb=n.dt({id:n.pt(),userId:n.pt(),kind:n.ct([`meeting`,`group`,`feed`,`member`]),actorName:n.pt(),initials:n.pt(),color:n.pt(),message:n.pt(),detail:n.pt().nullable().optional(),postId:n.pt().nullable().optional(),isRead:n.at(),creationTime:n.pt()}),wb=n.it(Cb),Tb={for_you:0,team:1,company:2,saved:3},Eb={like:0,insightful:1,celebrate:2},Db=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`http-feed-gateway`)}async listPosts(e,t,r){try{let n=Tb[e],i=await this.httpClient.get(`/api/app/feed/posts`,{query:{scope:n,...t!==void 0&&{skipCount:t},...r!==void 0&&{maxResultCount:r}}});return _b(this.logger,`listPosts`,i)}catch(e){return n.Bt(H(this.logger,e))}}async getPost(e){try{let t=await this.httpClient.get(`/api/app/feed/post/${e}`);return vb(this.logger,`getPost`,t)}catch(e){return n.Bt(H(this.logger,e))}}async createPost(e){try{let t=await this.httpClient.post(`/api/app/feed/post`,e);return vb(this.logger,`createPost`,t)}catch(e){return n.Bt(H(this.logger,e))}}async updatePost(e,t){try{let n=await this.httpClient.put(`/api/app/feed/post/${e}`,t);return vb(this.logger,`updatePost`,n)}catch(e){return n.Bt(H(this.logger,e))}}async deletePost(e){try{return await this.httpClient.delete(`/api/app/feed/post/${e}`),n.Ut(void 0)}catch(e){return n.Bt(H(this.logger,e))}}async react(e,t){try{let n=await this.httpClient.post(`/api/app/feed/react-to-post/${e}`,{type:Eb[t]});return vb(this.logger,`react`,n)}catch(e){return n.Bt(H(this.logger,e))}}async toggleBookmark(e){try{let t=await this.httpClient.post(`/api/app/feed/toggle-bookmark/${e}`,void 0);return vb(this.logger,`toggleBookmark`,t)}catch(e){return n.Bt(H(this.logger,e))}}async setPinned(e,t){try{let n=await this.httpClient.post(`/api/app/feed/set-pinned/${e}`,{pinned:t});return vb(this.logger,`setPinned`,n)}catch(e){return n.Bt(H(this.logger,e))}}async acknowledge(e){try{let t=await this.httpClient.post(`/api/app/feed/acknowledge/${e}`,void 0);return vb(this.logger,`acknowledge`,t)}catch(e){return n.Bt(H(this.logger,e))}}async markSeen(e){try{let t=await this.httpClient.post(`/api/app/feed/mark-seen/${e}`,void 0);return vb(this.logger,`markSeen`,t)}catch(e){return n.Bt(H(this.logger,e))}}async addComment(e,t){try{let n=await this.httpClient.post(`/api/app/feed/comment/${e}`,{text:t});return vb(this.logger,`addComment`,n)}catch(e){return n.Bt(H(this.logger,e))}}async listCategories(){try{let e=await this.httpClient.get(`/api/app/feed/feed-categories`);return yb(this.logger,`listCategories`,e)}catch(e){return n.Bt(H(this.logger,e))}}async listAudiences(){try{let e=await this.httpClient.get(`/api/app/feed/feed-audiences`);return bb(this.logger,`listAudiences`,e)}catch(e){return n.Bt(H(this.logger,e))}}async listFeelings(){try{let e=await this.httpClient.get(`/api/app/feed/feed-feelings`);return xb(this.logger,`listFeelings`,e)}catch(e){return n.Bt(H(this.logger,e))}}async searchUsers(e){try{let t=await this.httpClient.get(`/api/app/feed/search-users`,{query:{filter:e}});return Sb(this.logger,`searchUsers`,t)}catch(e){return n.Bt(H(this.logger,e))}}async detectLocation(){return Jy(this.logger)}async uploadImage(e){try{let t=new FormData;t.append(`file`,e);let r=await this.httpClient.post(`/api/app/file/upload?category=FeedPost`,t);return typeof r==`object`&&r&&`id`in r&&typeof r.id==`string`?n.Ut(r.id):n.Bt(new Ty(`Invalid response shape`))}catch(e){return n.Bt(H(this.logger,e))}}async getNotifications(){try{let e=await this.httpClient.get(`/api/app/notification`);return n.Ut(wb.parse(e).map(e=>({id:e.id,kind:e.kind,initials:e.initials,color:e.color,actor:e.actorName,message:e.message,creationTime:e.creationTime,...e.detail!==null&&e.detail!==void 0?{detail:e.detail}:{},...e.postId!==null&&e.postId!==void 0?{postId:e.postId}:{}})))}catch(e){return n.Bt(H(this.logger,e))}}async markNotificationAsRead(e){try{return await this.httpClient.post(`/api/app/notification/${e}/mark-as-read`,void 0),n.Ut(void 0)}catch(e){return n.Bt(H(this.logger,e))}}async deleteNotification(e){try{return await this.httpClient.delete(`/api/app/notification/${e}`),n.Ut(void 0)}catch(e){return n.Bt(H(this.logger,e))}}},Ob=e=>{let t={feedGateway:new Db({httpClient:e.httpClient,logger:e.logger}),logger:e.logger};return{listFeed:new Cy(t),getPost:new Sy(t),createPost:new Oy(t),updatePost:new ky(t),deletePost:new Ay(t),reactToPost:new jy(t),toggleBookmark:new My(t),acknowledgePost:new Ny(t),addComment:new Py(t),listFeedCategories:new Fy(t),listFeedAudiences:new Iy(t),listFeedFeelings:new Ly(t),searchFeedUsers:new Ry(t),detectLocation:new zy(t),uploadFeedImage:new By(t),setPostPinned:new Hy(t),markSeen:new Vy(t),getNotifications:new Uy(t),markNotificationRead:new Wy(t),notificationRealtime:e.notificationRealtime,logger:e.logger}},kb=(0,r.createContext)(null),Ab=({module:e,children:t})=>(0,w.jsx)(kb.Provider,{value:e,children:t}),U=()=>{let e=(0,r.useContext)(kb);if(e===null)throw Error(`Feed hooks must be used within <FeedModuleProvider>.`);return e},jb=e=>[`feed`,e],Mb=e=>{e.invalidateQueries({queryKey:[`feed`]})},Nb=(e,t)=>{e.setQueriesData({queryKey:[`feed`]},e=>e&&{...e,pages:e.pages.map(e=>({...e,items:e.items.map(e=>e.id===t.id?t:e)}))}),e.setQueryData([`feed-post`,t.id],t)},Pb=e=>{let{listFeed:t}=U();return sr({queryKey:jb(e),queryFn:({pageParam:r})=>n.Wt(t.execute({scope:e,skipCount:r,maxResultCount:10})),initialPageParam:0,getNextPageParam:(e,t)=>{let n=t.reduce((e,t)=>e+t.items.length,0);if(!(n>=e.totalCount))return n}})},Fb=()=>{let{createPost:e}=U(),t=n.F();return n.j({mutationFn:t=>n.Wt(e.execute(t)),onSuccess:()=>{Mb(t)}})},Ib=()=>{let{updatePost:e}=U(),t=n.F();return n.j({mutationFn:({postId:t,input:r})=>n.Wt(e.execute(t,r)),onSuccess:e=>{Nb(t,e)}})},Lb=()=>{let{deletePost:e}=U(),t=n.F();return n.j({mutationFn:t=>n.Wt(e.execute(t)),onSuccess:()=>{Mb(t)}})},Rb=()=>{let{reactToPost:e}=U(),t=n.F();return n.j({mutationFn:({postId:t,type:r})=>n.Wt(e.execute(t,r)),onSuccess:e=>{Nb(t,e)}})},zb=()=>{let{toggleBookmark:e}=U(),t=n.F();return n.j({mutationFn:t=>n.Wt(e.execute(t)),onSuccess:e=>{Nb(t,e),t.invalidateQueries({queryKey:jb(`saved`)})}})},Bb=()=>{let{acknowledgePost:e}=U(),t=n.F();return n.j({mutationFn:t=>n.Wt(e.execute(t)),onSuccess:e=>{Nb(t,e)}})},Vb=()=>{let{markSeen:e}=U(),t=n.F();return n.j({mutationFn:t=>n.Wt(e.execute(t)),onSuccess:e=>{Nb(t,e)}})},Hb=()=>{let{addComment:e}=U(),t=n.F();return n.j({mutationFn:t=>n.Wt(e.execute(t)),onSuccess:e=>{Nb(t,e)}})},Ub=()=>{let{setPostPinned:e}=U(),t=n.F();return n.j({mutationFn:({postId:t,pinned:r})=>n.Wt(e.execute(t,r)),onSuccess:e=>{Nb(t,e)}})},Wb=()=>{let{listFeedCategories:e}=U();return n.M({queryKey:[`feed-categories`],queryFn:()=>n.Wt(e.execute())})},Gb=()=>{let{listFeedAudiences:e}=U();return n.M({queryKey:[`feed-audiences`],queryFn:()=>n.Wt(e.execute())})},Kb=()=>{let{listFeedFeelings:e}=U();return n.M({queryKey:[`feed-feelings`],queryFn:()=>n.Wt(e.execute())})},qb=e=>{let{searchFeedUsers:t}=U();return n.M({queryKey:[`feed-search-users`,e],queryFn:()=>n.Wt(t.execute(e)),enabled:e.trim().length>0})},Jb=()=>{let{uploadFeedImage:e}=U();return n.j({mutationFn:t=>n.Wt(e.execute(t))})},Yb=e=>{let{getPost:t}=U();return n.M({queryKey:[`feed-post`,e],queryFn:()=>n.Wt(t.execute(e??``)),enabled:e!==null})},Xb=e=>{let{data:t=[]}=Wb(),n=t.find(t=>t.id===e.department);return{categoryLabel:n?.label??e.categoryLabel,categoryColor:n?.color??e.categoryColor}},Zb=e=>{if(e.length===0)return[];let t=e[0]?.fullName??e[0]?.name??``;if(e.length===1)return[{text:`with `,bold:!1},{text:t,bold:!0}];let n=e[1]?.fullName??e[1]?.name??``;return e.length===2?[{text:`with `,bold:!1},{text:t,bold:!0},{text:` and `,bold:!1},{text:n,bold:!0}]:[{text:`with `,bold:!1},{text:t,bold:!0},{text:`, `,bold:!1},{text:n,bold:!0},{text:` and `,bold:!1},{text:`${String(e.length-2)} others`,bold:!0}]},Qb=e=>{let t=e;return/^\d{4}-\d{2}-\d{2}T/.test(e)&&!e.endsWith(`Z`)&&!/[+-]\d{2}:?\d{2}$/.test(e)&&(t=`${e}Z`),new Date(t)},$b=e=>{let t=String(e.minute).padStart(2,`0`),n=e.hour>=12?`PM`:`AM`,r=e.hour%12;return`${String(r===0?12:r)}:${t} ${n}`},ex=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],tx=(e,t)=>e.year===t.year&&e.month===t.month&&e.day===t.day,nx=(e,t,n)=>{let r=n.getTime()-t.getTime();if(r<0){let t=new Date(e);if(!Number.isNaN(t.getTime())){let e=n.getTime()-t.getTime();if(e>=0)return e}}return r},rx=(e,t,r)=>{let i=Qb(e);if(Number.isNaN(i.getTime()))return null;let a=i.getTime()-t.getTime();if(a<=0)return null;let o=60*1e3,s=60*o,c=24*s;if(a<o)return`Publishes shortly`;if(a<s){let e=Math.floor(a/o);return`Publishes in ${String(e)}m`}if(a<c){let e=Math.floor(a/s);return`Publishes in ${String(e)} ${e===1?`hour`:`hours`}`}let l=n.y(i,r);return tx(l,n.y(new Date(t.getTime()+c),r))?`Scheduled for tomorrow at ${$b(l)}`:`Scheduled for ${ex[l.month-1]??``} ${String(l.day)} at ${$b(l)}`},ix=(e,t,n)=>t&&Qb(t).getTime()<=n.getTime()?t:e,ax=(e,t,r,i)=>{let a=60*1e3,o=60*a,s=24*o;if(e<a)return`now`;if(e<o)return`${String(Math.floor(e/a))}m ago`;if(e<s){let t=Math.floor(e/o);return`${String(t)} ${t===1?`hour`:`hours`} ago`}let c=n.y(t,r);return tx(c,n.y(new Date(i.getTime()-s),r))?`Yesterday at ${$b(c)}`:`${ex[c.month-1]??``} ${String(c.day)} at ${$b(c)}`},ox=(e,t,n=null,r=new Date)=>{if(n&&Qb(n).getTime()>r.getTime()){let e=rx(n,r,t);if(e!==null)return e}let i=ix(e,n,r),a=Qb(i);return Number.isNaN(a.getTime())?`now`:ax(nx(i,a,r),a,t,r)},sx=(e,t,n)=>{let r=document.getElementById(e),i=document.getElementById(t);if(r&&i){let e=i.getBoundingClientRect(),t=r.getBoundingClientRect(),a=t.top-e.top,o=i.scrollTop+a;n===`center`&&(o=o-e.height/2+t.height/2),i.scrollTo({top:o,behavior:`smooth`})}},cx=(e,t=1600,n=1600,r=.8)=>new Promise(i=>{if(!e.type.startsWith(`image/`)){i(e);return}let a=new Image;a.src=URL.createObjectURL(e),a.onload=()=>{URL.revokeObjectURL(a.src);let o=a.width,s=a.height;if(o>t||s>n){let e=Math.min(t/o,n/s);o=Math.round(o*e),s=Math.round(s*e)}let c=document.createElement(`canvas`);c.width=o,c.height=s;let l=c.getContext(`2d`);if(!l){i(e);return}l.drawImage(a,0,0,o,s),c.toBlob(t=>{if(!t){i(e);return}i(new File([t],e.name.replace(/\.[^/.]+$/,``)+`.jpg`,{type:`image/jpeg`,lastModified:Date.now()}))},`image/jpeg`,r)},a.onerror=()=>{i(e)}}),lx={ReceiveNotification:`ReceiveNotification`},ux=n.dt({id:n.pt(),kind:n.ct([`meeting`,`group`,`feed`,`member`]),initials:n.pt(),color:n.pt(),actor:n.pt(),time:n.pt(),message:n.pt().nullable().optional(),detail:n.pt().nullable().optional(),postId:n.pt().nullable().optional()}),dx=class{userGateway;logger;constructor(e){this.userGateway=e.userGateway,this.logger=e.logger.child(`list-users`)}async execute(e){let t=await this.userGateway.list(e);return t.ok||this.logger.warn(`Listing users failed`,{code:t.error.code}),t}},fx=class{userGateway;logger;constructor(e){this.userGateway=e.userGateway,this.logger=e.logger.child(`list-directory-facets`)}async execute(){let[e,t,r]=await Promise.all([this.userGateway.getDepartments(),this.userGateway.getAccessRoles(),this.userGateway.getBranches()]);return e.ok?t.ok?r.ok?n.Ut({departments:e.value,accessRoles:t.value,branches:r.value}):(this.logger.warn(`Loading directory facets failed`,{code:r.error.code}),n.Bt(r.error)):(this.logger.warn(`Loading directory facets failed`,{code:t.error.code}),n.Bt(t.error)):(this.logger.warn(`Loading directory facets failed`,{code:e.error.code}),n.Bt(e.error))}},px=class extends n.Kt{},mx=class extends px{code=`USERS_UNAVAILABLE`;constructor(e){super(`The users directory is currently unavailable. Please try again.`,{cause:e})}},hx=class{id;fullName;email;roleName;department;branchKey;branchName;level;online;status;statusUntilUtc;hasAccount;initials;color;permissionSetName;permissionSetColor;constructor(e){this.id=e.id,this.fullName=e.fullName,this.email=e.email,this.roleName=e.roleName,this.department=e.department,this.branchKey=e.branchKey,this.branchName=e.branchName,this.level=e.level,this.online=e.online,this.status=e.status??`offline`,this.statusUntilUtc=e.statusUntilUtc??null,this.hasAccount=e.hasAccount??!0,this.initials=e.initials,this.color=e.color,this.permissionSetName=e.permissionSetName,this.permissionSetColor=e.permissionSetColor}get isSenior(){return this.level<=3}},gx=n.dt({id:n.pt(),fullName:n.pt(),email:n.pt(),roleName:n.pt(),department:n.pt(),branchKey:n.pt().nullish(),branchName:n.pt().nullish(),level:n.ut(),online:n.at(),status:n.ut().nullish(),statusUntilUtc:n.pt().nullish(),hasAccount:n.at().nullish(),initials:n.pt(),color:n.pt(),permissionSetName:n.pt().nullish(),permissionSetColor:n.pt().nullish()}),_x=n.dt({totalCount:n.ut(),items:n.it(gx)}),vx=(e,t)=>(e.error(`Users request failed`,t),new mx(t)),yx={staffMembers:`/api/app/staff-member`,departments:`/api/app/staff-member/departments`,accessRoles:`/api/app/staff-member/access-roles`,branches:`/api/app/staff-member/branches`},bx={skipCount:`skipCount`,maxResultCount:`maxResultCount`,filter:`filter`,department:`department`,accessRole:`accessRole`,branch:`branch`,online:`online`},xx=e=>new hx({id:e.id,fullName:e.fullName,email:e.email,roleName:e.roleName,department:e.department,branchKey:e.branchKey??``,branchName:e.branchName??``,level:e.level,online:e.online,status:Xs(e.status),statusUntilUtc:e.statusUntilUtc??null,hasAccount:e.hasAccount??!0,initials:e.initials,color:e.color,permissionSetName:e.permissionSetName??void 0,permissionSetColor:e.permissionSetColor??void 0}),Sx=n.it(n.pt()),Cx=n.it(n.dt({key:n.pt(),name:n.pt()})),wx=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger}async list(e){try{let t={[bx.skipCount]:(e.page-1)*e.pageSize,[bx.maxResultCount]:e.pageSize};e.filter!==``&&(t[bx.filter]=e.filter),e.department!==``&&(t[bx.department]=e.department),e.accessRole!==``&&(t[bx.accessRole]=e.accessRole),e.branch!==``&&(t[bx.branch]=e.branch),e.status!==`all`&&(t[bx.online]=e.status===`online`);let r=await this.httpClient.get(yx.staffMembers,{query:t}),i=_x.safeParse(r);if(!i.success)throw this.logger.error(`Users staff-member list returned an unexpected shape`,i.error),new mx(i.error);return n.Ut({users:i.data.items.map(xx),totalCount:i.data.totalCount})}catch(e){return n.Bt(vx(this.logger,e))}}async getDepartments(){return this.getStringList(yx.departments,`departments`)}async getAccessRoles(){return this.getStringList(yx.accessRoles,`access roles`)}async getBranches(){try{let e=await this.httpClient.get(yx.branches),t=Cx.safeParse(e);if(!t.success)throw this.logger.error(`Users branches returned an unexpected shape`,t.error),new mx(t.error);return n.Ut(t.data)}catch(e){return n.Bt(vx(this.logger,e))}}async getStringList(e,t){try{let r=await this.httpClient.get(e),i=Sx.safeParse(r);if(!i.success)throw this.logger.error(`Users ${t} returned an unexpected shape`,i.error),new mx(i.error);return n.Ut(i.data)}catch(e){return n.Bt(vx(this.logger,e))}}},Tx=e=>{let t={userGateway:new wx({httpClient:e.httpClient,logger:e.logger}),logger:e.logger};return{listUsers:new dx(t),listDirectoryFacets:new fx(t)}},Ex=(0,r.createContext)(null),Dx=({module:e,children:t})=>(0,w.jsx)(Ex.Provider,{value:e,children:t}),Ox=()=>{let e=(0,r.useContext)(Ex);if(e===null)throw Error(`Users hooks must be used within <UsersModuleProvider>.`);return e},kx=[`users`],Ax=e=>{let{listUsers:t}=Ox();return n.M({queryKey:[...kx,e],queryFn:()=>n.Wt(t.execute(e)),placeholderData:n.K,staleTime:3e4})},jx=class{gateway;logger;constructor(e){this.gateway=e.meetingVideoGateway,this.logger=e.logger.child(`join-meeting-video`)}async execute(e){let t=await this.gateway.join(e);return t.ok||this.logger.warn(`Joining meeting video failed`,{code:t.error.code}),t}},Mx=class{meetingVideoGateway;logger;constructor(e){this.meetingVideoGateway=e.meetingVideoGateway,this.logger=e.logger.child(`get-meeting-room-status`)}async execute(e){let t=await this.meetingVideoGateway.getRoomStatus(e);return t.ok||this.logger.debug(`Meeting status poll failed`,{code:t.error.code}),t}},Nx=class{meetingVideoGateway;logger;constructor(e){this.meetingVideoGateway=e.meetingVideoGateway,this.logger=e.logger.child(`extend-meeting`)}async execute(e,t){let n=await this.meetingVideoGateway.extendMeeting(e,t);return n.ok?this.logger.info(`Meeting extended`,{meetingId:e,minutes:t}):this.logger.warn(`Extending the meeting failed`,{code:n.error.code}),n}},Px=class{meetingVideoGateway;logger;constructor(e){this.meetingVideoGateway=e.meetingVideoGateway,this.logger=e.logger.child(`end-meeting-now`)}async execute(e){let t=await this.meetingVideoGateway.endMeetingNow(e);return t.ok?this.logger.info(`Meeting ended for everyone`,{meetingId:e}):this.logger.warn(`Ending the meeting failed`,{code:t.error.code}),t}},Fx=class extends n.Kt{},Ix=class extends Fx{code=`MEETING_VIDEO_UNAVAILABLE`;constructor(e){super(`This meeting could not be joined right now. Please try again.`,{cause:e})}},Lx=n.dt({token:n.pt(),providerType:n.pt(),roomId:n.pt(),participantName:n.pt(),title:n.pt().nullish(),startUtc:n.pt().nullish(),endUtc:n.pt().nullish(),isOrganizer:n.at().nullish()}).passthrough(),Rx=n.dt({bucket:n.ut(),end:n.pt(),isEnded:n.at().nullish()}).passthrough(),zx=encodeURIComponent,Bx={join:e=>`/api/app/meeting-video/${zx(e)}/join`,meeting:e=>`/api/app/meeting/${zx(e)}`,extend:e=>`/api/app/meeting/${zx(e)}/extend`,endNow:e=>`/api/app/meeting/${zx(e)}/end-now`},Vx=/[zZ]|[+-]\d{2}:?\d{2}$/,Hx=e=>Vx.test(e)?e:`${e}Z`,Ux=e=>typeof e==`string`?Hx(e):null,Wx=e=>({token:e.token,providerType:e.providerType,roomId:e.roomId,participantName:e.participantName,title:e.title??``,startUtc:Ux(e.startUtc),endUtc:Ux(e.endUtc),isOrganizer:e.isOrganizer??!1}),Gx=2,Kx=e=>({canceled:e.bucket===Gx,ended:e.isEnded??!1,endUtc:Hx(e.end)}),qx=class{http;logger;constructor(e){this.http=e.httpClient,this.logger=e.logger.child(`http-meeting-video-gateway`)}async join(e){try{let t=await this.http.post(Bx.join(e)),r=Lx.safeParse(t);return r.success?n.Ut(Wx(r.data)):this.fail(`Join returned an unexpected shape`,r.error)}catch(e){return this.fail(`Joining meeting video failed`,e)}}async getRoomStatus(e){try{let t=await this.http.get(Bx.meeting(e)),r=Rx.safeParse(t);return r.success?n.Ut(Kx(r.data)):this.fail(`Meeting status returned an unexpected shape`,r.error)}catch(e){return this.fail(`Reading the meeting status failed`,e)}}async extendMeeting(e,t){try{let n=await this.http.post(Bx.extend(e),{minutes:t});return this.parseStatus(n,`Extending the meeting`)}catch(e){return this.fail(`Extending the meeting failed`,e)}}async endMeetingNow(e){try{let t=await this.http.post(Bx.endNow(e));return this.parseStatus(t,`Ending the meeting`)}catch(e){return this.fail(`Ending the meeting failed`,e)}}parseStatus(e,t){let r=Rx.safeParse(e);return r.success?n.Ut(Kx(r.data)):this.fail(`${t} returned an unexpected shape`,r.error)}fail(e,t){return this.logger.error(e,t),n.Bt(new Ix(t))}},Jx=e=>{let t=new qx({httpClient:e.httpClient,logger:e.logger});return{joinMeetingVideo:new jx({meetingVideoGateway:t,logger:e.logger}),getMeetingRoomStatus:new Mx({meetingVideoGateway:t,logger:e.logger}),extendMeeting:new Nx({meetingVideoGateway:t,logger:e.logger}),endMeetingNow:new Px({meetingVideoGateway:t,logger:e.logger})}},Yx=(0,r.createContext)(null),Xx=({module:e,children:t})=>(0,w.jsx)(Yx.Provider,{value:e,children:t}),Zx=()=>{let e=(0,r.useContext)(Yx);if(e===null)throw Error(`Meeting-video hooks must be used within <MeetingVideoModuleProvider>.`);return e},Qx=e=>[`meeting-video`,`join`,e],$x=e=>{let{joinMeetingVideo:t}=Zx();return n.M({queryKey:Qx(e),queryFn:()=>{if(e===null)throw new Ix;return n.Wt(t.execute(e))},enabled:e!==null,staleTime:1/0,gcTime:0,retry:!1,refetchOnWindowFocus:!1})},eS={floatingWidget:`_floatingWidget_933j8_1`,floatingInfo:`_floatingInfo_933j8_17`,floatingTitle:`_floatingTitle_933j8_25`,floatingStatus:`_floatingStatus_933j8_34`,statusDot:`_statusDot_933j8_43`,pulse:`_pulse_933j8_1`,floatingActions:`_floatingActions_933j8_63`},tS=()=>{let{pathname:e}=t.ht(),n=t.gt(),i=t.t(e=>e.activeMeeting),a=t.t(e=>e.isJoined),o=t.t(e=>e.leaveActiveMeeting),s=i?`/comms/meetings/${i.meetingId}/room`:``,c=i!==null&&(e===s||e.endsWith(`/room`)||e.includes(`/comms/meetings/`)),l=(0,r.useCallback)(()=>{i&&n(s)},[i,n,s]),u=(0,r.useCallback)(()=>{o()},[o]);if(i===null||!a||c)return null;let{ticket:d}=i,f=d.title===``?d.roomId:d.title;return(0,w.jsx)(t.T,{children:(0,w.jsxs)(t.C.div,{className:eS.floatingWidget,initial:{opacity:0,y:20,scale:.92},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:20,scale:.92},transition:{duration:.2,ease:[.22,1,.36,1]},children:[(0,w.jsx)(lt,{size:18,style:{color:`var(--color-primary)`}}),(0,w.jsxs)(`div`,{className:eS.floatingInfo,children:[(0,w.jsx)(`span`,{className:eS.floatingTitle,children:f}),(0,w.jsxs)(`span`,{className:eS.floatingStatus,children:[(0,w.jsx)(`span`,{className:eS.statusDot}),`Meeting in progress`]})]}),(0,w.jsxs)(`div`,{className:eS.floatingActions,children:[(0,w.jsx)(t.p,{label:`Return to meeting`,side:`top`,children:(0,w.jsx)(t.tt,{variant:`ghost`,size:`sm`,"aria-label":`Return to meeting`,onClick:l,children:(0,w.jsx)(Se,{size:14})})}),(0,w.jsx)(t.p,{label:`Leave call`,side:`top`,children:(0,w.jsx)(t.tt,{variant:`danger`,size:`sm`,"aria-label":`Leave call`,onClick:u,children:(0,w.jsx)(Ne,{size:14})})})]})]})})},nS=15e3,rS=(e,t,n,i)=>{let[a,o]=(0,r.useState)(e.endUtc),[s,c]=(0,r.useState)(null),l=(0,r.useRef)(i);l.current=i;let u=(0,r.useRef)(!1),d=(0,r.useRef)(!1);return(0,r.useEffect)(()=>{if(a===null){c(null);return}let e=new Date(a).getTime();e>Date.now()&&(d.current=!1);let t=()=>{let t=e-Date.now();c(Math.max(0,t)),t<=0&&!d.current&&!u.current&&(d.current=!0,l.current.onTimeUp())};t();let n=window.setInterval(t,1e3);return()=>{window.clearInterval(n)}},[a]),(0,r.useEffect)(()=>{let e=!1,r=!1,i=async()=>{if(!(r||u.current)){r=!0;try{let r=await n.execute(t);if(e||!r.ok)return;if(r.value.ended){u.current=!0,l.current.onEnded();return}if(r.value.canceled){u.current=!0,l.current.onCanceled();return}o(r.value.endUtc)}finally{r=!1}}},a=window.setInterval(()=>{i()},nS);return()=>{e=!0,window.clearInterval(a)}},[t,n]),{remainingMs:s,adoptEnd:(0,r.useCallback)(e=>{o(e)},[])}},iS={room:`_room_118cm_1`,center:`_center_118cm_12`,topBar:`_topBar_118cm_25`,clockChip:`_clockChip_118cm_38`,clockWarn:`_clockWarn_118cm_51`,clockDanger:`_clockDanger_118cm_56`,clockButton:`_clockButton_118cm_62`,extendChoices:`_extendChoices_118cm_69`},aS=5*6e4,oS=6e4,sS=[15,30],cS=e=>{let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=e=>String(e).padStart(2,`0`);return n>0?`${String(n)}:${a(r)}:${a(i)}`:`${String(r)}:${a(i)}`},lS=({remainingMs:e,isOrganizer:n,onOpenControls:r})=>{if(e===null)return null;let i=e<=0?`Time over`:`${cS(e)} left`,a=t.at(iS.clockChip,e<=aS&&iS.clockWarn,e<=oS&&iS.clockDanger);return(0,w.jsx)(`div`,{className:iS.topBar,children:n?(0,w.jsxs)(`button`,{type:`button`,className:t.at(a,iS.clockButton),title:`Extend or end the meeting`,onClick:r,children:[(0,w.jsx)(t.ot,{size:12}),` `,i]}):(0,w.jsxs)(`span`,{className:a,children:[(0,w.jsx)(t.ot,{size:12}),` `,i]})})},uS=({open:e,onOpenChange:n,overtime:r,busy:i,onExtend:a,onEnd:o})=>(0,w.jsx)(t.y,{open:e,onOpenChange:n,title:r?`The scheduled time is over`:`Meeting time`,description:r?`Nobody has been disconnected — add more time, or end the meeting for everyone.`:`Add more time now, or end the meeting for everyone.`,footer:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(t.tt,{variant:`secondary`,disabled:i,onClick:()=>{n(!1)},children:`Keep going`}),(0,w.jsx)(t.tt,{variant:`danger`,disabled:i,onClick:o,children:`End meeting for everyone`})]}),children:(0,w.jsx)(`div`,{className:iS.extendChoices,children:sS.map(e=>(0,w.jsxs)(t.tt,{variant:`secondary`,disabled:i,onClick:()=>{a(e)},children:[`+`,e,` minutes`]},e))})}),dS=(e,n,r)=>({onTimeUp:()=>{e?n():t.l.info(`The scheduled time is over — the organizer can extend or end the meeting.`)},onCanceled:()=>{t.l.info(`This meeting was canceled.`),r()},onEnded:()=>{t.l.info(`The organizer ended this meeting.`),r()}}),fS=({ticket:e,meetingId:n,onLeft:i})=>{let{getMeetingRoomStatus:a,extendMeeting:o,endMeetingNow:s}=Zx(),[c,l]=(0,r.useState)(!1),[u,d]=(0,r.useState)(!1),{remainingMs:f,adoptEnd:p}=rS(e,n,a,dS(e.isOrganizer,()=>{l(!0)},i));return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(lS,{remainingMs:f,isOrganizer:e.isOrganizer,onOpenControls:()=>{l(!0)}}),e.isOrganizer&&(0,w.jsx)(uS,{open:c,onOpenChange:l,overtime:f!==null&&f<=0,busy:u,onExtend:e=>{(async()=>{d(!0);let r=await o.execute(n,e);d(!1),r.ok?(p(r.value.endUtc),l(!1),t.l.success(`Meeting extended by ${String(e)} minutes.`)):t.l.error(r.error.message)})()},onEnd:()=>{(async()=>{d(!0);let e=await s.execute(n);d(!1),e.ok?(l(!1),t.l.info(`Meeting ended.`),i()):t.l.error(e.error.message)})()}})]})},pS=`/comms/bookings`,mS=new Map([[`cloudflare`,(0,r.lazy)(async()=>({default:(await Promise.resolve().then(()=>require("./CloudflareMeetingExperience-B4DDJ_J3.cjs"))).CloudflareMeetingExperience}))]]);mS.set(`zoom`,(0,r.lazy)(async()=>({default:(await Promise.resolve().then(()=>require("./ZoomMeetingExperience-Bk31KY_k.cjs"))).ZoomMeetingExperience})));var hS=({ticket:e,meetingId:n,Experience:i,onLeft:a})=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(fS,{ticket:e,meetingId:n,onLeft:a}),(0,w.jsx)(r.Suspense,{fallback:(0,w.jsx)(gS,{children:(0,w.jsx)(t.nt,{size:`lg`,label:`Loading…`})}),children:(0,w.jsx)(i,{ticket:e,onLeft:a})})]}),gS=({children:e})=>(0,w.jsx)(`div`,{className:iS.center,children:e}),_S=({title:e,message:n,onBack:r})=>(0,w.jsxs)(`div`,{className:iS.center,children:[(0,w.jsx)(t.et,{tone:`error`,title:e,children:n}),(0,w.jsx)(t.tt,{variant:`secondary`,onClick:r,children:`Back to bookings`})]}),vS=({meetingId:e})=>{let n=t.gt(),i=$x(e),a=t.t(e=>e.setActiveMeeting),o=t.t(e=>e.leaveActiveMeeting);(0,r.useEffect)(()=>{i.data&&a({ticket:i.data,meetingId:e})},[i.data,e,a]);let s=(0,r.useCallback)(()=>{o(),n(pS)},[o,n]);if(i.isPending)return(0,w.jsx)(gS,{children:(0,w.jsx)(t.nt,{size:`lg`,label:`Joining the meeting…`})});if(i.isError)return(0,w.jsx)(_S,{title:`Could not join this meeting`,message:i.error.message,onBack:s});let c=mS.get(i.data.providerType.toLowerCase());return c===void 0?(0,w.jsx)(_S,{title:`Unsupported meeting provider`,message:`This meeting uses a provider this app cannot open yet.`,onBack:s}):(0,w.jsx)(`div`,{className:iS.room,children:(0,w.jsx)(hS,{ticket:i.data,meetingId:e,Experience:c,onLeft:s})})},yS={meetingOverlay:`_meetingOverlay_1ykdp_1`,meetingTakeover:`_meetingTakeover_1ykdp_12`,meetingHidden:`_meetingHidden_1ykdp_18`},bS=({takeover:e=!1})=>{let{pathname:n}=t.ht(),r=t.t(e=>e.requestedMeetingId),i=n.includes(`/meetings/`)&&n.endsWith(`/room`);return r===null?null:(0,w.jsx)(`div`,{className:t.at(yS.meetingOverlay,e&&yS.meetingTakeover,!i&&yS.meetingHidden),children:(0,w.jsx)(vS,{meetingId:r})})},xS=15e3,SS=5*6e4,CS=(e,t,n)=>{let r=new wv({logger:t}),i=t=>e.modules===void 0||e.modules.includes(t);return{chat:i(`commhub.chat`)?r.create({url:`${e.apiBaseUrl}/signalr/chat`,accessTokenProvider:n}):new Tv,calls:i(`commhub.chat`)?r.create({url:`${e.apiBaseUrl}/signalr/calls`,accessTokenProvider:n}):new Tv,notifications:i(`commhub.feed`)?r.create({url:`${e.apiBaseUrl}/signalr/notifications`,accessTokenProvider:n}):new Tv}},wS=e=>{let t=e.logger??new tr(`info`),r=new cr,i=e.authStore,a=i.getState().session?.accessToken??null,o=i.subscribe(e=>{a=e.session?.accessToken??null}),s=()=>a??void 0,c=new $n(new Qn(new Jn(new Kn({logger:t,baseUrl:e.apiBaseUrl,getAuthToken:s}),{timeoutMs:xS,logger:t}),{logger:t}),{logger:t,refresh:()=>i.getState().refreshSession()}),l=new or({defaultOptions:{queries:{staleTime:SS,retry:1,refetchOnWindowFocus:!0}}}),u=CS(e,t,s);return{logger:t,authStore:i,moduleAccessModule:Av({httpClient:c,logger:t}),chatModule:ay({logger:t,httpClient:c,realtime:u.chat,clock:r}),feedModule:Ob({logger:t,httpClient:c,notificationRealtime:u.notifications}),meetingsModule:n.l({logger:t,httpClient:c}),meetingVideoModule:Jx({logger:t,httpClient:c}),scheduleModule:n.nt({logger:t,httpClient:c,clock:r}),settingsModule:js({logger:t,httpClient:c}),usersModule:Tx({logger:t,httpClient:c}),presenceModule:sd({logger:t,httpClient:c}),callsModule:Kc({logger:t,httpClient:c,realtime:u.calls}),queryClient:l,dispose:async()=>{o(),l.clear(),await Promise.all([u.chat.stop(),u.calls.stop(),u.notifications.stop()])}}},TS=new Map,ES=e=>`${e.apiBaseUrl}|${e.clientKey}|${e.authKind}`,DS=(e,t,n)=>{let r=TS.get(e);if(r===void 0){let n=t();r={composition:n.composition,handshake:n.handshake,refCount:0},TS.set(e,r)}r.refCount+=1;let i=!1,a=r;return{composition:a.composition,handshake:a.handshake,release:()=>{i||(i=!0,--a.refCount,!(a.refCount>0)&&(TS.get(e)===a&&TS.delete(e),a.handshake.dispose(),a.composition.dispose().catch(e=>{n?.warn(`Disposing the shared SDK runtime failed`,{error:e})})))}}},OS=`*`,kS=e=>{switch(e.kind){case`sso`:return e.getSecret();case`signed`:return e.getAssertion();case`host-token`:return e.getToken()}},AS=e=>{let t=new cr,n=new Kn({logger:e.logger,baseUrl:e.apiBaseUrl,getAuthToken:()=>void 0});switch(e.kind){case`sso`:return new _l({httpClient:n,clock:t,logger:e.logger});case`signed`:return new e_({httpClient:n,clock:t,logger:e.logger,clientKey:e.clientKey,modules:e.modules});case`host-token`:return new t_({clock:t,logger:e.logger})}},jS=e=>{let{apiBaseUrl:t,clientKey:n,authKind:i}=e,a=e.modules===void 0?OS:e.modules.join(`,`),o=(0,r.useRef)(e.logger);o.current=e.logger;let s=(0,r.useMemo)(()=>a===OS?void 0:MS(a),[a]),c=(0,r.useRef)(e.requestCredential);c.current=e.requestCredential;let l=ES({apiBaseUrl:t,clientKey:n,authKind:i}),[u]=(0,r.useState)(()=>DS(l,()=>{let e=o.current??new tr(`info`,`commhub-sdk`),r=AS({kind:i,clientKey:n,apiBaseUrl:t,logger:e,modules:s??[]}),a=wS({apiBaseUrl:t,authStore:Xg({clock:new cr,logger:e,storageNamespace:`sdk:${n}`,authGateway:r,setAccessToken:()=>{}}),modules:s,logger:e});return{composition:a,handshake:new d_(t=>new u_({authStore:a.authStore,moduleAccessModule:a.moduleAccessModule,requestCredential:()=>c.current(),requestedModules:s??[],emit:t,logger:e,renewable:i!==`sso`}))}},o.current));return(0,r.useEffect)(()=>()=>{u.release()},[u]),{composition:u.composition,handshake:u.handshake}},MS=e=>e===``?[]:e.split(`,`),NS=({handshake:e,auth:t,onEvent:n})=>{let i=(0,r.useRef)(n);i.current=n;let a=(0,r.useRef)(t);return a.current=t,(0,r.useEffect)(()=>e.attach(e=>{i.current?.(e)}),[e]),(0,r.useSyncExternalStore)(t=>e.subscribeStatus(t),()=>e.status,()=>e.status)},PS=e=>Math.min(100,Math.max(0,e)),FS=([e,t,n],r=0)=>`hsl(${String(e)} ${String(PS(t))}% ${String(PS(n+r))}%)`,IS=([e,t,n],r)=>`hsl(${String(e)} ${String(PS(t))}% ${String(PS(n))}% / ${String(r)})`,LS=60,RS=e=>e[2]>LS?`#0f172a`:`#ffffff`,zS={a30:.18,a20:.12,a10:.06,a05:.035,border:.22},BS=e=>`${String(Math.max(0,Math.round(e)))}px`,VS=e=>({"--color-primary":FS(e),"--color-primary-strong":FS(e,-12),"--color-primary-light":FS(e,12),"--color-primary-30":IS(e,zS.a30),"--color-primary-20":IS(e,zS.a20),"--color-primary-10":IS(e,zS.a10),"--color-primary-05":IS(e,zS.a05),"--color-primary-border":IS(e,zS.border),"--color-on-primary":RS(e)}),HS=e=>({"--color-secondary":FS(e),"--color-secondary-strong":FS(e,-12),"--color-secondary-30":IS(e,.3),"--color-secondary-20":IS(e,zS.a20),"--color-secondary-10":IS(e,.07),"--color-secondary-border":IS(e,.3)}),US=e=>({"--radius-sm":BS(e-4),"--radius-md":BS(e),"--radius-lg":BS(e+4),"--radius-xl":BS(e+6)}),WS=[4,6,9,12,15,18,24],GS=()=>{let e={"--height-btn":BS(32),"--height-input":BS(34),"--height-row":BS(44),"--height-nav":BS(36)};return WS.forEach((t,n)=>{e[`--space-${String(n+1)}`]=BS(t)}),e},KS=e=>e?{...e.brand?VS(e.brand):{},...e.accent?HS(e.accent):{},...e.radius===void 0?{}:US(e.radius),...e.font===void 0?{}:{"--font-sans":e.font},...e.density===`compact`?GS():{}}:{},qS=e=>{let t=e?.mode??`system`;return t===`system`?null:t},JS=`data-theme`,YS=e=>{let t=e.getRootNode();return t instanceof ShadowRoot?t.host:e},XS=e=>{let t=(0,r.useRef)(null),n=JSON.stringify(e??null),i=(0,r.useMemo)(()=>JSON.parse(n),[n]);return(0,r.useEffect)(()=>{let e=t.current;if(e===null)return;let n=YS(e),r=KS(i??void 0),a=qS(i??void 0);for(let[e,t]of Object.entries(r))n.style.setProperty(e,t);return a===null?n.removeAttribute(JS):n.setAttribute(JS,a),()=>{for(let e of Object.keys(r))n.style.removeProperty(e);n.removeAttribute(JS)}},[i]),t},ZS=e=>{if(e)return e;try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;if(e)return e}catch{}return`UTC`},QS=class extends r.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){this.props.logger.error(`Unhandled error inside the Communication Hub widget`,e,{componentStack:t.componentStack}),this.props.onEvent?.({type:`error`,payload:{code:`WIDGET_CRASHED`,message:e.message}})}render(){let{error:e}=this.state;return e===null?this.props.children:(0,w.jsx)(t.et,{tone:`error`,title:`This widget could not be displayed`,children:`Something went wrong inside the Communication Hub widget. Reloading the page usually fixes it.`})}},$S=e=>{let t=ux.safeParse(e);if(!t.success)return null;let{id:n,kind:r,actor:i,message:a,detail:o,time:s,postId:c}=t.data;return{id:n,kind:r,actor:i,occurredAt:s,...a==null?{}:{message:a},...o==null?{}:{detail:o},...c==null?{}:{postId:c}}},eC=({onEvent:e})=>{let{notificationRealtime:t,logger:n}=U();return(0,r.useEffect)(()=>{if(e===void 0)return;let r=t.on(lx.ReceiveNotification,t=>{let r=$S(t);if(r===null){n.error(`Discarded a malformed notification payload`,{rawPayload:t});return}e({type:`notification`,payload:r})});return t.start().catch(e=>{n.error(`Could not open the notification connection`,e)}),()=>{r()}},[t,n,e]),null},tC=({composition:e,children:r,onEvent:i})=>(0,w.jsx)(n.P,{client:e.queryClient,children:(0,w.jsx)(yt,{reducedMotion:`user`,children:(0,w.jsx)(t.m,{children:(0,w.jsx)(Tl,{store:e.authStore,children:(0,w.jsx)(ei,{module:e.moduleAccessModule,children:(0,w.jsx)(oy,{module:e.chatModule,children:(0,w.jsx)(xy,{children:(0,w.jsx)(Ab,{module:e.feedModule,children:(0,w.jsx)(n.c,{module:e.meetingsModule,children:(0,w.jsx)(Xx,{module:e.meetingVideoModule,children:(0,w.jsx)(n.tt,{module:e.scheduleModule,children:(0,w.jsx)(Ns,{module:e.settingsModule,children:(0,w.jsx)(Dx,{module:e.usersModule,children:(0,w.jsx)(pd,{module:e.presenceModule,children:(0,w.jsx)(Jc,{module:e.callsModule,children:(0,w.jsxs)(Nl,{children:[r,(0,w.jsx)(hu,{}),(0,w.jsx)(eC,{onEvent:i}),(0,w.jsx)(t.c,{})]})})})})})})})})})})})})})})})}),nC={scope:`_scope_p8b6f_6`},rC=e=>{let{auth:n,apiBaseUrl:i,clientKey:a,modules:o,theme:s,timezone:c,logger:l,onEvent:u}=e,{composition:d,handshake:f}=jS({apiBaseUrl:i,clientKey:a,authKind:n.kind,modules:o,logger:l,requestCredential:()=>kS(n)}),p=NS({handshake:f,auth:n,onEvent:u}),m=XS(s),[h,g]=(0,r.useState)(null);return(0,w.jsx)(`div`,{ref:e=>{m.current=e,g(e)},className:nC.scope,"data-timezone":ZS(c),"data-handshake":p,children:(0,w.jsx)(t.n,{container:h,children:(0,w.jsx)(QS,{logger:d.logger,onEvent:u,children:p===`ready`?(0,w.jsx)(tC,{composition:d,onEvent:u,children:e.children}):null})})})},iC=({children:e,initialRoute:n,...r})=>(0,w.jsx)(rC,{...r,children:(0,w.jsx)(t.dt,{initialEntries:[n??`/`],children:e})}),aC=class extends n.Gt{code=`SDK_WIDGET_CONFIG_INVALID`},oC=()=>n.ot(e=>typeof e==`function`,{message:`Expected a function`}),sC=n.st(`kind`,[n.dt({kind:n.lt(`signed`),getAssertion:oC()})]),cC=n.mt([n.ut(),n.ut(),n.ut()]),lC=n.dt({brand:cC.optional(),accent:cC.optional(),radius:n.ut().optional(),font:n.pt().optional(),density:n.ct([`comfortable`,`compact`]).optional(),mode:n.ct([`light`,`dark`,`system`]).optional()}),uC=n.dt({apiBaseUrl:n.pt().url(),clientKey:n.pt().min(1),auth:sC,modules:n.it(n.ct(n_)).optional(),theme:lC.optional(),timezone:n.pt().optional(),locale:n.pt().optional(),logger:n.ot().optional(),onEvent:oC().optional()}),dC=e=>{let t=uC.safeParse(e);return t.success?n.Ut(t.data):n.Bt(new aC(t.error.issues.map(e=>`${e.path.join(`.`)||`(root)`}: ${e.message}`).join(`; `)))},fC=`route`,pC=(e,t,n=[])=>{Kg(e,n=>{let r=dC(n.config);if(!r.ok)return(0,w.jsx)(Jg,{tagName:e,detail:r.error.message});let i=n.getAttribute(fC);return(0,w.jsx)(iC,{...r.value,...i===null?{}:{initialRoute:i},children:t()})},[fC,...n])},mC=()=>{pC(`uapp-chat`,()=>(0,w.jsx)(Lg,{}))},hC={date:``,time:``,recurring:!1,frequency:`weekly`},gC=[{value:`now`,label:`Post now`},{value:`schedule`,label:`Schedule`}],_C=[{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`}],vC={photo:`Add photos`,tag:`Tag people`,feeling:`How are you feeling?`,category:`POST CATEGORY`,item:`Select Item`,template:`Choose Template`},W={screen:`_screen_19h5l_1`,toolbar:`_toolbar_19h5l_8`,toolbarContainer:`_toolbarContainer_19h5l_14`,search:`_search_19h5l_23`,toolbarRailSpacer:`_toolbarRailSpacer_19h5l_31`,searchIcon:`_searchIcon_19h5l_36`,searchInput:`_searchInput_19h5l_44`,textareaError:`_textareaError_19h5l_59`,commentComposerError:`_commentComposerError_19h5l_60`,shareCommentError:`_shareCommentError_19h5l_61`,wrapper:`_wrapper_19h5l_70`,column:`_column_19h5l_80`,rail:`_rail_19h5l_91`,railHead:`_railHead_19h5l_102`,railHeadTitle:`_railHeadTitle_19h5l_109`,railSeeAll:`_railSeeAll_19h5l_123`,railList:`_railList_19h5l_132`,cardBody:`_cardBody_19h5l_142`,seeMoreBtn:`_seeMoreBtn_19h5l_151`,railFoot:`_railFoot_19h5l_166`,missed:`_missed_19h5l_177`,missedHead:`_missedHead_19h5l_184`,missedSpark:`_missedSpark_19h5l_192`,missedTitle:`_missedTitle_19h5l_196`,missedBadge:`_missedBadge_19h5l_203`,missedScroller:`_missedScroller_19h5l_212`,missedScrollerFade:`_missedScrollerFade_19h5l_217`,missedTrack:`_missedTrack_19h5l_217`,missedNav:`_missedNav_19h5l_229`,missedNavLeft:`_missedNavLeft_19h5l_264`,missedNavRight:`_missedNavRight_19h5l_268`,missedCard:`_missedCard_19h5l_272`,missedCardTop:`_missedCardTop_19h5l_282`,missedDot:`_missedDot_19h5l_289`,missedCat:`_missedCat_19h5l_297`,missedTime:`_missedTime_19h5l_304`,missedSummary:`_missedSummary_19h5l_311`,missedFoot:`_missedFoot_19h5l_323`,missedCta:`_missedCta_19h5l_329`,missedPriority:`_missedPriority_19h5l_338`,compChips:`_compChips_19h5l_354`,compChip:`_compChip_19h5l_354`,actionBar:`_actionBar_19h5l_374`,actionBarLabel:`_actionBarLabel_19h5l_386`,actionBarBtns:`_actionBarBtns_19h5l_392`,actionIcon:`_actionIcon_19h5l_397`,actionIconActive:`_actionIconActive_19h5l_414`,sheet:`_sheet_19h5l_419`,sheetHead:`_sheetHead_19h5l_427`,sheetLabel:`_sheetLabel_19h5l_435`,sheetClose:`_sheetClose_19h5l_443`,sheetChips:`_sheetChips_19h5l_465`,catChip:`_catChip_19h5l_471`,catChipOn:`_catChipOn_19h5l_483`,feelGrid:`_feelGrid_19h5l_488`,feelBtn:`_feelBtn_19h5l_494`,feelBtnOn:`_feelBtnOn_19h5l_509`,feelEmoji:`_feelEmoji_19h5l_515`,photoInput:`_photoInput_19h5l_519`,photoZone:`_photoZone_19h5l_523`,photoZoneDrag:`_photoZoneDrag_19h5l_528`,dropzone:`_dropzone_19h5l_533`,dropIcon:`_dropIcon_19h5l_554`,dropTitle:`_dropTitle_19h5l_566`,dropHint:`_dropHint_19h5l_572`,photoGrid:`_photoGrid_19h5l_577`,photoThumb:`_photoThumb_19h5l_584`,photoImg:`_photoImg_19h5l_592`,photoRemove:`_photoRemove_19h5l_599`,photoAddMore:`_photoAddMore_19h5l_619`,mobilePromoTrigger:`_mobilePromoTrigger_19h5l_642`,promoPulseGlow:`_promoPulseGlow_19h5l_1`,mobilePromoTriggerBarHidden:`_mobilePromoTriggerBarHidden_19h5l_739`,mobilePromoExpanded:`_mobilePromoExpanded_19h5l_745`,promoShimmerSweep:`_promoShimmerSweep_19h5l_758`,promoShimmer:`_promoShimmer_19h5l_758`,promoIconWrap:`_promoIconWrap_19h5l_774`,sparkleIcon:`_sparkleIcon_19h5l_787`,sparkleTwinkle:`_sparkleTwinkle_19h5l_1`,promoBtnText:`_promoBtnText_19h5l_791`,mobilePromoBadge:`_mobilePromoBadge_19h5l_810`,promoPopoverOverlay:`_promoPopoverOverlay_19h5l_827`,promoPopoverCard:`_promoPopoverCard_19h5l_839`,popoverHeader:`_popoverHeader_19h5l_853`,popoverCloseX:`_popoverCloseX_19h5l_862`,popoverBadgeIcon:`_popoverBadgeIcon_19h5l_883`,popoverTitleRow:`_popoverTitleRow_19h5l_895`,popoverTitle:`_popoverTitle_19h5l_895`,popoverSeeAllBtn:`_popoverSeeAllBtn_19h5l_911`,popoverSub:`_popoverSub_19h5l_927`,popoverContent:`_popoverContent_19h5l_934`,popoverEmpty:`_popoverEmpty_19h5l_943`,missedClose:`_missedClose_19h5l_992`,missedRead:`_missedRead_19h5l_1029`,comments:`_comments_19h5l_1055`,commentRow:`_commentRow_19h5l_1064`,commentAvatar:`_commentAvatar_19h5l_1069`,commentBubble:`_commentBubble_19h5l_1083`,commentAuthor:`_commentAuthor_19h5l_1091`,commentTime:`_commentTime_19h5l_1097`,commentText:`_commentText_19h5l_1102`,commentComposer:`_commentComposer_19h5l_60`,commentComposerDisabled:`_commentComposerDisabled_19h5l_1123`,commentInput:`_commentInput_19h5l_1134`,commentSend:`_commentSend_19h5l_1148`,sharePreviewWrap:`_sharePreviewWrap_19h5l_1178`,sharePreview:`_sharePreview_19h5l_1178`,sharePreviewAvatar:`_sharePreviewAvatar_19h5l_1194`,sharePreviewBody:`_sharePreviewBody_19h5l_1208`,sharePreviewMeta:`_sharePreviewMeta_19h5l_1213`,sharePreviewCat:`_sharePreviewCat_19h5l_1219`,sharePreviewTitle:`_sharePreviewTitle_19h5l_1224`,shareField:`_shareField_19h5l_1234`,shareComment:`_shareComment_19h5l_61`,shareSearchWrap:`_shareSearchWrap_19h5l_1258`,shareSearch:`_shareSearch_19h5l_1258`,shareSearchInput:`_shareSearchInput_19h5l_1274`,shareList:`_shareList_19h5l_1291`,shareSectionLabel:`_shareSectionLabel_19h5l_1298`,shareRow:`_shareRow_19h5l_1307`,shareRowOn:`_shareRowOn_19h5l_1325`,shareAvatar:`_shareAvatar_19h5l_1331`,shareAvatarSquare:`_shareAvatarSquare_19h5l_1345`,shareRowBody:`_shareRowBody_19h5l_1349`,shareRowName:`_shareRowName_19h5l_1356`,shareRowSub:`_shareRowSub_19h5l_1362`,shareCheck:`_shareCheck_19h5l_1367`,shareCheckOn:`_shareCheckOn_19h5l_1380`,shareEmpty:`_shareEmpty_19h5l_1385`,shareFootText:`_shareFootText_19h5l_1393`,shareFootBtns:`_shareFootBtns_19h5l_1398`,shareCancelBtn:`_shareCancelBtn_19h5l_1403`,shareSendBtn:`_shareSendBtn_19h5l_1418`,shareRoot:`_shareRoot_19h5l_1439`,shareBackdrop:`_shareBackdrop_19h5l_1449`,shareFade:`_shareFade_19h5l_1`,shareModal:`_shareModal_19h5l_1459`,shareIn:`_shareIn_19h5l_1`,shareHead:`_shareHead_19h5l_1493`,shareHeadIcon:`_shareHeadIcon_19h5l_1501`,shareHeadText:`_shareHeadText_19h5l_1513`,shareTitle:`_shareTitle_19h5l_1518`,shareDesc:`_shareDesc_19h5l_1525`,shareCloseBtn:`_shareCloseBtn_19h5l_1531`,shareFooter:`_shareFooter_19h5l_1550`,ppRoot:`_ppRoot_19h5l_1561`,ppOverlay:`_ppOverlay_19h5l_1569`,ppFade:`_ppFade_19h5l_1`,ppPanel:`_ppPanel_19h5l_1579`,ppSlide:`_ppSlide_19h5l_1`,ppHead:`_ppHead_19h5l_1611`,ppHeadIcon:`_ppHeadIcon_19h5l_1620`,ppHeadText:`_ppHeadText_19h5l_1631`,ppTitle:`_ppTitle_19h5l_1636`,ppSubtitle:`_ppSubtitle_19h5l_1653`,ppManaged:`_ppManaged_19h5l_1659`,ppClose:`_ppClose_19h5l_1664`,ppTabs:`_ppTabs_19h5l_1684`,ppTab:`_ppTab_19h5l_1684`,ppSearch:`_ppSearch_19h5l_1693`,ppTabActive:`_ppTabActive_19h5l_1714`,ppTabBg:`_ppTabBg_19h5l_1718`,ppTabLabel:`_ppTabLabel_19h5l_1726`,ppSearchIcon:`_ppSearchIcon_19h5l_1736`,ppSearchInput:`_ppSearchInput_19h5l_1744`,ppList:`_ppList_19h5l_1763`,ppListInner:`_ppListInner_19h5l_1771`,ppEmpty:`_ppEmpty_19h5l_1786`,emptyState:`_emptyState_19h5l_1800`,emptyIconWrap:`_emptyIconWrap_19h5l_1812`,emptyTitle:`_emptyTitle_19h5l_1824`,emptyText:`_emptyText_19h5l_1831`,tabs:`_tabs_19h5l_1840`,tab:`_tab_19h5l_1840`,tabActive:`_tabActive_19h5l_1862`,tabBadge:`_tabBadge_19h5l_1868`,composerCollapsed:`_composerCollapsed_19h5l_1876`,ccAvatar:`_ccAvatar_19h5l_1886`,compAvatar:`_compAvatar_19h5l_1887`,avatar:`_avatar_19h5l_1888`,ccInput:`_ccInput_19h5l_1905`,composer:`_composer_19h5l_1876`,compHead:`_compHead_19h5l_1931`,compAvatarWrapper:`_compAvatarWrapper_19h5l_1938`,statusDot:`_statusDot_19h5l_1943`,compHeaderTagline:`_compHeaderTagline_19h5l_1960`,compMutedText:`_compMutedText_19h5l_1966`,taggedTagline:`_taggedTagline_19h5l_1971`,audiencePill:`_audiencePill_19h5l_1983`,audienceSection:`_audienceSection_19h5l_2002`,audienceLabel:`_audienceLabel_19h5l_2013`,audienceRow:`_audienceRow_19h5l_2021`,audienceBtn:`_audienceBtn_19h5l_2027`,audienceBtnActive:`_audienceBtnActive_19h5l_2045`,compClose:`_compClose_19h5l_2051`,titleInput:`_titleInput_19h5l_2070`,textarea:`_textarea_19h5l_59`,compOption:`_compOption_19h5l_2103`,compOptionLabel:`_compOptionLabel_19h5l_2115`,compFooter:`_compFooter_19h5l_2128`,submitRight:`_submitRight_19h5l_2137`,modeToggle:`_modeToggle_19h5l_2143`,cancelBtn:`_cancelBtn_19h5l_2147`,postBtn:`_postBtn_19h5l_2162`,card:`_card_19h5l_142`,urgentStripe:`_urgentStripe_19h5l_2196`,pinnedRow:`_pinnedRow_19h5l_2207`,pin:`_pin_19h5l_2207`,cardHead:`_cardHead_19h5l_2222`,cardAuthor:`_cardAuthor_19h5l_2234`,authorName:`_authorName_19h5l_2239`,metaRow:`_metaRow_19h5l_2249`,cardRight:`_cardRight_19h5l_2259`,badge:`_badge_19h5l_2267`,badgeDot:`_badgeDot_19h5l_2280`,bookmarkBtn:`_bookmarkBtn_19h5l_2287`,bookmarkActive:`_bookmarkActive_19h5l_2305`,pinBtn:`_pinBtn_19h5l_2310`,pinActive:`_pinActive_19h5l_2328`,editBtn:`_editBtn_19h5l_2333`,deleteBtn:`_deleteBtn_19h5l_2351`,cardActions:`_cardActions_19h5l_2369`,cardTitle:`_cardTitle_19h5l_2375`,ackBanner:`_ackBanner_19h5l_2395`,ackBtn:`_ackBtn_19h5l_2410`,ackDone:`_ackDone_19h5l_2422`,summary:`_summary_19h5l_2436`,summaryLeft:`_summaryLeft_19h5l_2446`,summaryIcons:`_summaryIcons_19h5l_2452`,summaryDot:`_summaryDot_19h5l_2457`,summaryCount:`_summaryCount_19h5l_2473`,summaryComments:`_summaryComments_19h5l_2478`,summaryCommentsClickable:`_summaryCommentsClickable_19h5l_2482`,postBar:`_postBar_19h5l_2492`,reactWrap:`_reactWrap_19h5l_2500`,actionBtn:`_actionBtn_19h5l_2506`,actionActive:`_actionActive_19h5l_2544`,picker:`_picker_19h5l_2561`,pickerVisible:`_pickerVisible_19h5l_2593`,pickerBtn:`_pickerBtn_19h5l_2599`,pickerActive:`_pickerActive_19h5l_2621`,schedule:`_schedule_19h5l_2664`,scheduleHead:`_scheduleHead_19h5l_2675`,scheduleGrid:`_scheduleGrid_19h5l_2689`,scheduleField:`_scheduleField_19h5l_2695`,scheduleLabel:`_scheduleLabel_19h5l_2701`,scheduleInput:`_scheduleInput_19h5l_2707`,scheduleRow:`_scheduleRow_19h5l_2724`,scheduleRowLabel:`_scheduleRowLabel_19h5l_2734`,switch:`_switch_19h5l_2747`,switchOn:`_switchOn_19h5l_2759`,switchKnob:`_switchKnob_19h5l_2763`,scheduleFreq:`_scheduleFreq_19h5l_2778`,scheduleTz:`_scheduleTz_19h5l_2782`,tagSearch:`_tagSearch_19h5l_2796`,tagSearchInput:`_tagSearchInput_19h5l_2807`,tagList:`_tagList_19h5l_2816`,tagRow:`_tagRow_19h5l_2824`,tagRowActive:`_tagRowActive_19h5l_2841`,tagRowContent:`_tagRowContent_19h5l_2846`,tagAvatar:`_tagAvatar_19h5l_2852`,tagInfo:`_tagInfo_19h5l_2865`,tagName:`_tagName_19h5l_2870`,tagRole:`_tagRole_19h5l_2876`,tagCheckbox:`_tagCheckbox_19h5l_2881`,tagCheckboxActive:`_tagCheckboxActive_19h5l_2892`,postImagesGrid:`_postImagesGrid_19h5l_2899`,grid1:`_grid1_19h5l_2918`,grid2:`_grid2_19h5l_2922`,grid3:`_grid3_19h5l_2926`,grid4:`_grid4_19h5l_2931`,gridImageWrap:`_gridImageWrap_19h5l_2936`,gridImage:`_gridImage_19h5l_2936`,moreImagesOverlay:`_moreImagesOverlay_19h5l_2962`,lightboxOverlay:`_lightboxOverlay_19h5l_2985`,lightboxContainer:`_lightboxContainer_19h5l_3002`,lightboxLeft:`_lightboxLeft_19h5l_3015`,lightboxRight:`_lightboxRight_19h5l_3025`,lightboxScrollableContent:`_lightboxScrollableContent_19h5l_3035`,lightboxDivider:`_lightboxDivider_19h5l_3046`,lightboxClose:`_lightboxClose_19h5l_3070`,lightboxImage:`_lightboxImage_19h5l_3083`,lightboxArrow:`_lightboxArrow_19h5l_3119`,lightboxArrowLeft:`_lightboxArrowLeft_19h5l_3141`,lightboxArrowRight:`_lightboxArrowRight_19h5l_3149`,lightboxCounter:`_lightboxCounter_19h5l_3157`,templateSheet:`_templateSheet_19h5l_3175`,templateSheetHeader:`_templateSheetHeader_19h5l_3181`,templateBackBtn:`_templateBackBtn_19h5l_3189`,templateSheetTitle:`_templateSheetTitle_19h5l_3212`,templateSheetMeta:`_templateSheetMeta_19h5l_3221`,templateSearch:`_templateSearch_19h5l_3233`,templateSearchIcon:`_templateSearchIcon_19h5l_3239`,templateSearchInput:`_templateSearchInput_19h5l_3248`,templateList:`_templateList_19h5l_3265`,templateItem:`_templateItem_19h5l_3272`,templateItemBody:`_templateItemBody_19h5l_3296`,templateItemTitle:`_templateItemTitle_19h5l_3304`,templateItemSub:`_templateItemSub_19h5l_3313`,templateUseBtn:`_templateUseBtn_19h5l_3321`,templateEmpty:`_templateEmpty_19h5l_3342`,itemIconContainer:`_itemIconContainer_19h5l_3349`,itemBadge:`_itemBadge_19h5l_3361`,itemMetaRow:`_itemMetaRow_19h5l_3371`},yC=({on:e,label:n,onToggle:r})=>(0,w.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":n,className:t.at(W.switch,e&&W.switchOn),onClick:r,children:(0,w.jsx)(`span`,{className:W.switchKnob})}),bC=e=>{let t=n.y(new Date,e),r=t.hour*60+t.minute+1,i=Math.floor(r/60)%24,a=r%60;return`${String(i).padStart(2,`0`)}:${String(a).padStart(2,`0`)}`},xC=({value:e,todayStr:t,clampTime:n,onChange:r})=>(0,w.jsxs)(`label`,{className:W.scheduleField,children:[(0,w.jsx)(`span`,{className:W.scheduleLabel,children:`Date`}),(0,w.jsx)(`input`,{type:`date`,className:W.scheduleInput,value:e.date,min:t,onChange:i=>{let a=i.target.value;r({...e,date:a,time:a===t?n(e.time):e.time})}})]}),SC=({value:e,minTimeStr:n,isPastTime:r,clampTime:i,onChange:a})=>(0,w.jsxs)(`label`,{className:W.scheduleField,children:[(0,w.jsx)(`span`,{className:W.scheduleLabel,children:`Time`}),(0,w.jsx)(`input`,{type:`time`,className:t.at(W.scheduleInput,r&&W.scheduleInputError),"aria-invalid":r,"aria-describedby":r?`schedule-time-error`:void 0,value:e.time,min:n,onChange:t=>{a({...e,time:i(t.target.value)})},onBlur:()=>{r&&a({...e,time:n})}}),r&&(0,w.jsx)(`span`,{id:`schedule-time-error`,className:W.scheduleTimeError,role:`alert`,children:`Past time — snapped to earliest available time.`})]}),CC=({value:e,onChange:r,timezone:i})=>{let a=n.y(new Date,i),o=`${String(a.year)}-${String(a.month).padStart(2,`0`)}-${String(a.day).padStart(2,`0`)}`,s=e.date===o,c=bC(i),l=e=>s&&e<c?c:e,u=s&&e.time<c;return(0,w.jsxs)(`div`,{className:W.schedule,children:[(0,w.jsxs)(`div`,{className:W.scheduleHead,children:[(0,w.jsx)(h,{size:13}),` SCHEDULE THIS POST`]}),(0,w.jsxs)(`div`,{className:W.scheduleGrid,children:[(0,w.jsx)(xC,{value:e,todayStr:o,clampTime:l,onChange:r}),(0,w.jsx)(SC,{value:e,minTimeStr:c,isPastTime:u,clampTime:l,onChange:r})]}),(0,w.jsxs)(`div`,{className:W.scheduleRow,children:[(0,w.jsxs)(`span`,{className:W.scheduleRowLabel,children:[(0,w.jsx)(We,{size:13}),` Recurring`]}),(0,w.jsx)(yC,{on:e.recurring,label:`Repeat this post`,onToggle:()=>{r({...e,recurring:!e.recurring})}})]}),e.recurring&&(0,w.jsx)(t.i,{ariaLabel:`Repeat frequency`,className:W.scheduleFreq??``,options:_C,value:e.frequency,onChange:t=>{r({...e,frequency:t})}}),(0,w.jsxs)(`div`,{className:W.scheduleTz,children:[(0,w.jsx)(fe,{size:12}),` Timezone: `,(0,w.jsx)(`strong`,{children:i})]})]})},wC=({mode:e,disabled:n,submitLabels:r,hideToggle:i,onMode:a,onCancel:o,onSubmit:s})=>(0,w.jsxs)(`div`,{className:W.compFooter,children:[(0,w.jsx)(`button`,{type:`button`,className:W.cancelBtn,onClick:o,children:`Cancel`}),(0,w.jsxs)(`div`,{className:W.submitRight,children:[!i&&(0,w.jsx)(t.i,{ariaLabel:`Publish timing`,className:W.modeToggle??``,options:gC,value:e,onChange:a}),(0,w.jsx)(`button`,{type:`button`,className:W.postBtn,disabled:n,onClick:s,children:e===`schedule`?r?.schedule??(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(t.ot,{size:12}),` Schedule post`]}):r?.now??(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(Ke,{size:12}),` Post now`]})})]})]});function TC(e,t,r){if(e===`schedule`)return n.b(t.date,t.time,r)}function EC(){let[e,t]=(0,r.useState)(``),[n,i]=(0,r.useState)(``),[a,o]=(0,r.useState)(!1),[s,c]=(0,r.useState)(`general`),[l,u]=(0,r.useState)(`all`),[d,f]=(0,r.useState)(null),[p,m]=(0,r.useState)(null),[h,g]=(0,r.useState)(null),[_,v]=(0,r.useState)(`now`),[y,b]=(0,r.useState)(hC),[x,S]=(0,r.useState)([]),[ee,te]=(0,r.useState)([]),[ne,re]=(0,r.useState)(null);return{body:e,setBody:t,title:n,setTitle:i,mustRead:a,setMustRead:o,categoryId:s,setCategoryId:c,audienceId:l,setAudienceId:u,feeling:d,setFeeling:f,location:p,setLocation:m,sheet:h,setSheet:g,mode:_,setMode:v,schedule:y,setSchedule:b,taggedUsers:x,setTaggedUsers:S,photos:ee,setPhotos:te,selectedItem:ne,setSelectedItem:re}}function DC(e,t){return e.title.trim().length>300?`Post title cannot exceed 300 characters.`:e.body.trim().length>8e3?`Post body cannot exceed 8000 characters.`:e.mode===`schedule`&&t&&Date.parse(t)<Date.now()?`Schedule time must be in the future.`:null}function OC(e,n,r){let i=Fb(),a=Jb(),o=e.body.trim().length===0||i.isPending||a.isPending||e.mode===`schedule`&&(!e.schedule.date||!e.schedule.time);return{submitDisabled:o,submit:async()=>{if(o)return;let s=TC(e.mode,e.schedule,r),c=DC(e,s);if(c){t.l.error(c);return}try{let r=[];e.photos.length>0&&(r=await Promise.all(e.photos.map(e=>a.mutateAsync(e)))),i.mutate({body:e.body,categoryId:e.categoryId,audienceId:e.audienceId,mustAcknowledge:e.mustRead,taggedUserIds:e.taggedUsers.map(e=>e.id),...e.title.trim()?{title:e.title.trim()}:{},scheduledAt:s,isRecurring:e.mode===`schedule`?e.schedule.recurring:!1,recurrenceFrequency:e.mode===`schedule`&&e.schedule.recurring?e.schedule.frequency:void 0,locationLabel:e.location??void 0,imageIds:r.length>0?r:void 0},{onSuccess:()=>{e.mode===`schedule`&&t.l.success(`Post scheduled for ${e.schedule.date} at ${e.schedule.time}`),n()},onError:()=>{t.l.error(`Failed to publish post. Please try again.`)}})}catch{t.l.error(`Invalid schedule date or time, or image upload failed.`)}}}}function kC(e,t){let r=EC(),i=n.m().display,{submitDisabled:a,submit:o}=OC(r,e,i),s=e=>{r.setTaggedUsers(t=>t.some(t=>t.id===e.id)?t.filter(t=>t.id!==e.id):[...t,e])},c=(e,t)=>{r.setTitle(e),r.setBody(t),r.setSheet(null),r.setSelectedItem(null)},l=e=>{let t=typeof e==`function`?e(r.mode):e;if(r.setMode(t),t===`schedule`&&!r.schedule.date){let e=n.y(new Date,i),t=`${String(e.year)}-${String(e.month).padStart(2,`0`)}-${String(e.day).padStart(2,`0`)}`,a=`${String(e.hour).padStart(2,`0`)}:${String(e.minute).padStart(2,`0`)}`;r.setSchedule({...r.schedule,date:t,time:a})}};return{...r,setMode:l,category:t.find(e=>e.id===r.categoryId),timezone:i,submitDisabled:a,toggleTag:s,applyTemplate:c,submit:o}}var AC=e=>{let t=e.values,n=[`item_title`,`student_name`,`university_name`,`course_name`,`name`,`title`].find(e=>{let n=t[e];return n?n.trim()!==``:!1}),r=n===void 0?void 0:t[n],i=Object.entries(t).find(([e,t])=>t.trim()!==``),a=r??i?.[1]??e.id,o=n??i?.[0],s=[`item_description`,`university`,`status`].find(e=>{let n=t[e];return n?n.trim()!==``:!1}),c=s===void 0?void 0:t[s],l=Object.entries(t).find(([e,t])=>e!==o&&t.trim()!==``),u=c??l?.[1]??``;return{id:e.id,label:a,sublabel:u,values:t}},jC=(e,t)=>e===void 0?[]:t.filter(t=>e.templateIds.includes(t.id)||e.dataTemplateIds.includes(t.id)),MC=(e,t)=>{let n=!!e?.webhookId,r=Us(n?void 0:e?.categoryKey),i=Ws(e?.categoryKey??``,t,n),a=n?i:r;return{rawItems:a.data??[],isLoadingItems:a.isPending,hasWebhook:n}},NC={all:ct,sales:p,admission:pe,leadership:et},PC=e=>NC[e]??ct,FC=({audienceId:e,onChange:n})=>{let{data:r=[]}=Gb(),i=r.find(t=>t.id===e)??r[0],a=PC(i?.id??`all`);return(0,w.jsx)(t.g,{align:`start`,trigger:(0,w.jsxs)(`button`,{type:`button`,className:W.audiencePill,"aria-label":`Audience`,children:[(0,w.jsx)(a,{size:12}),` `,i?.label??`Everyone`,(0,w.jsx)(x,{size:12})]}),items:r.map(e=>{let t=PC(e.id);return{label:e.label,icon:(0,w.jsx)(t,{size:14}),onSelect:()=>{n(e.id)}}})})},IC=({audienceId:e,onChange:n})=>{let{data:r=[]}=Gb();return(0,w.jsxs)(`div`,{className:W.audienceSection,children:[(0,w.jsx)(`span`,{className:W.audienceLabel,children:`Who can see this post?`}),(0,w.jsx)(`div`,{className:W.audienceRow,children:r.map(r=>{let i=PC(r.id),a=r.id===e;return(0,w.jsxs)(`button`,{type:`button`,className:t.at(W.audienceBtn,a&&W.audienceBtnActive),"aria-pressed":a,onClick:()=>{n(r.id)},children:[(0,w.jsx)(i,{size:14}),` `,r.label,a&&(0,w.jsx)(b,{size:13})]},r.id)})})]})},LC=({user:e,isSelected:n,onToggleTag:r})=>(0,w.jsxs)(`button`,{type:`button`,className:t.at(W.tagRow,n&&W.tagRowActive),onClick:()=>{r(e)},children:[(0,w.jsxs)(`div`,{className:W.tagRowContent,children:[(0,w.jsx)(`span`,{className:W.tagAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`div`,{className:W.tagInfo,children:[(0,w.jsx)(`span`,{className:W.tagName,children:e.name}),(0,w.jsx)(`span`,{className:W.tagRole,children:e.role})]})]}),(0,w.jsx)(`div`,{className:t.at(W.tagCheckbox,n&&W.tagCheckboxActive),children:(0,w.jsx)(b,{size:12})})]}),RC=({isSearching:e,isPending:t,search:n,activeList:r,taggedUserIds:i,onToggleTag:a})=>e?t?(0,w.jsx)(`span`,{className:W.actionBarLabel,style:{display:`block`,textAlign:`center`,padding:`20px 0`},children:`Searching...`}):r.length===0?(0,w.jsxs)(`span`,{className:W.actionBarLabel,style:{display:`block`,textAlign:`center`,padding:`20px 0`},children:[`No teammates found matching "`,n,`".`]}):(0,w.jsx)(w.Fragment,{children:r.map(e=>(0,w.jsx)(LC,{user:e,isSelected:i.includes(e.id),onToggleTag:a},e.id))}):(0,w.jsx)(`span`,{className:W.actionBarLabel,style:{display:`block`,textAlign:`center`,padding:`20px 0`},children:`Type a name or email to search teammates.`}),zC=({taggedUserIds:e,onToggleTag:t})=>{let[n,i]=(0,r.useState)(``),a=qb(n),{user:o}=Dl(),s=n.trim().length>0,c=(a.data??[]).filter(e=>e.id!==o?.id);return(0,w.jsxs)(`div`,{children:[(0,w.jsxs)(`div`,{className:W.tagSearch,children:[(0,w.jsx)(Ge,{size:14,className:W.actionBarLabel}),(0,w.jsx)(`input`,{type:`text`,className:W.tagSearchInput,placeholder:`Search teammates`,value:n,onChange:e=>{i(e.target.value)}}),n&&(0,w.jsx)(`button`,{type:`button`,onClick:()=>{i(``)},style:{border:`none`,background:`transparent`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:`2px`,color:`var(--color-text-soft)`,borderRadius:`50%`},"aria-label":`Clear search`,children:(0,w.jsx)(C,{size:14})})]}),(0,w.jsx)(`div`,{className:W.tagList,children:(0,w.jsx)(RC,{isSearching:s,isPending:a.isPending,search:n,activeList:c,taggedUserIds:e,onToggleTag:t})})]})},BC=({categoryId:e,onCategory:n})=>{let{data:r=[]}=Wb();return(0,w.jsx)(`div`,{className:W.sheetChips,children:r.map(r=>(0,w.jsx)(`button`,{type:`button`,className:t.at(W.catChip,e===r.id&&W.catChipOn),style:t.it({"--chip":r.color}),onClick:()=>{n(r)},children:r.label},r.id))})},VC=({feeling:e,onFeeling:n})=>{let{data:r=[]}=Kb();return(0,w.jsx)(`div`,{className:W.feelGrid,children:r.map(r=>(0,w.jsxs)(`button`,{type:`button`,className:t.at(W.feelBtn,e===r.id&&W.feelBtnOn),onClick:()=>{n(r.id)},children:[(0,w.jsx)(`span`,{className:W.feelEmoji,children:r.emoji}),r.label]},r.id))})},HC=(e,t)=>{let n={};return Object.entries(t).forEach(([e,t])=>{n[e.toLowerCase()]=t}),e.replace(/\{\{\s*([a-z0-9_]+)\s*\}\}/gi,(e,t)=>n[t.toLowerCase()]??``)},UC=e=>e.length>120?`${e.slice(0,120)}…`:e,WC=(e,t,n,r)=>{t(e),e.dataTemplateIds.length>0||e.templateIds.length>0?n(`item`):r()},GC=(e,t)=>{t(`item`)},KC=e=>{let t=new Set,n=/\{\{\s*([a-z0-9_]+)\s*\}\}/gi;return e.forEach(e=>{let r=`${e.postTitle} ${e.postBody}`.matchAll(n);for(let e of r)e[1]!==void 0&&t.add(e[1].toLowerCase())}),t},qC=({item:e,templates:t})=>{let n=KC(t),r=Object.entries(e.values).filter(([e,t])=>(n.size===0||n.has(e.toLowerCase()))&&e!==`item_title`&&e!==`student_name`&&e!==`university_name`&&e!==`course_name`&&e!==`name`&&e!==`title`&&e!==`item_description`&&e!==`university`&&e!==`status`&&t.trim()!==``);return r.length===0?null:(0,w.jsx)(`div`,{className:W.itemMetaRow,children:r.map(([e,t])=>(0,w.jsxs)(`span`,{className:W.itemBadge,children:[e.replace(/_/g,` `),`: `,t]},e))})},JC=({item:e,templates:t,onSelect:n})=>{let r=e.label,i=(0,w.jsxs)(w.Fragment,{children:[e.sublabel!==``&&(0,w.jsx)(`span`,{className:W.templateItemSub,children:e.sublabel}),(0,w.jsx)(qC,{item:e,templates:t})]});if(t.length>0&&t[0]!==void 0){let n=t[0],a=new Date,o={item_count:`1`,current_year:String(a.getFullYear()),current_date:a.toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}),...e.values};r=HC(n.postTitle,o),i=(0,w.jsx)(`span`,{className:W.templateItemSub,children:UC(HC(n.postBody,o))})}return(0,w.jsxs)(`button`,{type:`button`,className:W.templateItem,onClick:()=>{n(e)},children:[(0,w.jsx)(`div`,{className:W.itemIconContainer,children:(0,w.jsx)(ue,{size:16})}),(0,w.jsxs)(`div`,{className:W.templateItemBody,children:[(0,w.jsx)(`span`,{className:W.templateItemTitle,children:r}),i]}),(0,w.jsx)(`span`,{className:W.templateUseBtn,children:`SELECT`})]})},YC=({category:e,items:n,templates:i,searchQuery:a,onSearchQuery:o,isLoading:c,onBack:l,onSelectItem:u})=>{let[d,f]=(0,r.useState)(``),p=o!==void 0,m=p?a??``:d,h=p?o:f,g=p||m.trim()===``?n:n.filter(e=>[e.label,e.sublabel,e.id].join(` `).toLowerCase().includes(m.toLowerCase()));return(0,w.jsxs)(`div`,{className:W.templateSheet,children:[(0,w.jsxs)(`div`,{className:W.templateSheetHeader,children:[(0,w.jsx)(`button`,{type:`button`,className:W.templateBackBtn,onClick:l,children:(0,w.jsx)(s,{size:14})}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`span`,{className:W.templateSheetTitle,children:`Select Item`}),(0,w.jsxs)(`span`,{className:W.templateSheetMeta,children:[`Showing items for `,(0,w.jsx)(`strong`,{children:e.label})]})]})]}),(0,w.jsxs)(`div`,{className:W.templateSearch,children:[(0,w.jsx)(Ge,{size:13,className:W.templateSearchIcon}),(0,w.jsx)(`input`,{type:`text`,className:W.templateSearchInput,placeholder:`Search items…`,value:m,onChange:e=>{h(e.target.value)}}),c&&g.length>0&&(0,w.jsx)(`div`,{style:{marginLeft:`8px`,display:`flex`,alignItems:`center`},children:(0,w.jsx)(t.nt,{size:`sm`})})]}),(0,w.jsx)(`div`,{className:W.templateList,children:c&&g.length===0?(0,w.jsx)(`div`,{style:{padding:`2rem`,display:`flex`,justifyContent:`center`},children:(0,w.jsx)(t.nt,{})}):g.length===0?(0,w.jsx)(`p`,{className:W.templateEmpty,children:`No items found.`}):g.map(e=>(0,w.jsx)(JC,{item:e,templates:i,onSelect:u},e.id))})]})},XC=({selectedItem:e,templates:t,onBack:n,onUse:r})=>(0,w.jsxs)(`div`,{className:W.templateSheet,children:[(0,w.jsxs)(`div`,{className:W.templateSheetHeader,children:[(0,w.jsx)(`button`,{type:`button`,className:W.templateBackBtn,onClick:n,children:(0,w.jsx)(s,{size:14})}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`span`,{className:W.templateSheetTitle,children:`Choose Template`}),(0,w.jsxs)(`span`,{className:W.templateSheetMeta,children:[e.label,` · `,(0,w.jsx)(`strong`,{children:e.sublabel})]})]})]}),(0,w.jsx)(`div`,{className:W.templateList,children:t.length===0?(0,w.jsx)(`p`,{className:W.templateEmpty,children:`No templates linked to this category.`}):t.map(t=>{let n=new Date,i={item_count:`1`,current_year:String(n.getFullYear()),current_date:n.toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}),...e.values},a=HC(t.postBody,i),o=HC(t.postTitle,i);return(0,w.jsxs)(`button`,{type:`button`,className:W.templateItem,onClick:()=>{r(o,a)},children:[(0,w.jsxs)(`div`,{className:W.templateItemBody,children:[(0,w.jsx)(`span`,{className:W.templateItemTitle,children:t.name}),(0,w.jsx)(`span`,{className:W.templateItemSub,children:UC(a)})]}),(0,w.jsxs)(`span`,{className:W.templateUseBtn,children:[(0,w.jsx)(b,{size:11}),`USE`]})]},t.id)})})]}),ZC=({category:e})=>e===void 0?null:(0,w.jsx)(`div`,{className:W.compChips,children:(0,w.jsxs)(`span`,{className:W.compChip,children:[`🏷️ `,e.label]})}),QC=({sheet:e,location:n,onSheet:r,onToggleLocation:i,showPhoto:a=!0})=>(0,w.jsxs)(`div`,{className:W.actionBar,children:[(0,w.jsx)(`span`,{className:W.actionBarLabel,children:`Add to your post`}),(0,w.jsxs)(`div`,{className:W.actionBarBtns,children:[a&&(0,w.jsx)(`button`,{type:`button`,title:`Photo/video`,className:t.at(W.actionIcon,e===`photo`&&W.actionIconActive),onClick:()=>{r(`photo`)},children:(0,w.jsx)(_e,{size:15})}),(0,w.jsx)(`button`,{type:`button`,title:`Tag people`,className:t.at(W.actionIcon,e===`tag`&&W.actionIconActive),onClick:()=>{r(`tag`)},children:(0,w.jsx)(st,{size:15})}),(0,w.jsx)(`button`,{type:`button`,title:`Feeling/activity`,className:t.at(W.actionIcon,e===`feeling`&&W.actionIconActive),onClick:()=>{r(`feeling`)},children:(0,w.jsx)(Qe,{size:15})}),(0,w.jsx)(`button`,{type:`button`,title:`Location`,className:t.at(W.actionIcon,n!==null&&W.actionIconActive),onClick:i,children:(0,w.jsx)(xe,{size:15})}),(0,w.jsx)(`button`,{type:`button`,title:`Category`,className:t.at(W.actionIcon,(e===`category`||e===`item`||e===`template`)&&W.actionIconActive),onClick:()=>{r(`category`)},children:(0,w.jsx)(tt,{size:15})})]})]}),$C=({currentCategory:e,categoryItems:t,categoryTemplates:n,searchQuery:r,onSearchQuery:i,isLoadingItems:a,onSetSheet:o,onSelectItem:s})=>(0,w.jsx)(YC,{category:e,items:t,templates:n.filter(t=>e.dataTemplateIds.includes(t.id)),searchQuery:r,onSearchQuery:i,isLoading:a,onBack:()=>{o(`category`)},onSelectItem:e=>{s(e),o(`template`)}}),ew=({currentCategory:e,categoryTemplates:t,selectedItem:n,onSetSheet:r,onApplyTemplate:i})=>n===null?null:(0,w.jsx)(XC,{selectedItem:n,templates:t.filter(t=>e?.templateIds.includes(t.id)),onBack:()=>{GC(e,r)},onUse:i}),tw=e=>{let{sheet:t,categoryId:n,feeling:r,taggedUserIds:i,selectedItem:a,categoryItems:o,categoryTemplates:s,currentCategory:c,onCategory:l,onFeeling:u,onToggleTag:d,onSelectItem:f,onApplyTemplate:p,onClose:m,onSetSheet:h,searchQuery:g,onSearchQuery:_,isLoadingItems:v}=e;switch(t){case`category`:return(0,w.jsx)(BC,{categoryId:n,onCategory:e=>{WC(e,l,h,m)}});case`feeling`:return(0,w.jsx)(VC,{feeling:r,onFeeling:u});case`tag`:return(0,w.jsx)(zC,{taggedUserIds:i,onToggleTag:d});case`item`:return c===void 0?null:(0,w.jsx)($C,{currentCategory:c,categoryItems:o,categoryTemplates:s,searchQuery:g,onSearchQuery:_,isLoadingItems:v,onSetSheet:h,onSelectItem:f});case`template`:return(0,w.jsx)(ew,{currentCategory:c,categoryTemplates:s,selectedItem:a,onSetSheet:h,onApplyTemplate:p});case null:case`photo`:return null;default:return null}},nw=e=>{let{sheet:t,onClose:n}=e;if(t===null||t===`photo`)return null;let r=t!==`item`&&t!==`template`;return(0,w.jsxs)(`div`,{className:W.sheet,children:[r&&(0,w.jsxs)(`div`,{className:W.sheetHead,children:[(0,w.jsx)(`span`,{className:W.sheetLabel,children:vC[t]}),(0,w.jsx)(`button`,{type:`button`,className:W.sheetClose,"aria-label":`Close`,onClick:n,children:(0,w.jsx)(C,{size:14})})]}),(0,w.jsx)(tw,{...e})]})},rw=e=>e.map(e=>({url:URL.createObjectURL(e),name:e.name,size:e.size,file:e})),iw=({onOpen:e})=>(0,w.jsxs)(`button`,{type:`button`,className:W.dropzone,onClick:e,children:[(0,w.jsx)(`span`,{className:W.dropIcon,children:(0,w.jsx)(ne,{size:20})}),(0,w.jsx)(`span`,{className:W.dropTitle,children:`Click to upload or drag & drop`}),(0,w.jsx)(`span`,{className:W.dropHint,children:`Supported image formats: PNG, JPG, JPEG, GIF, WEBP, HEIC (Max 10MB)`})]}),aw=({photos:e,onOpen:t,onRemove:n})=>(0,w.jsxs)(`div`,{className:W.photoGrid,children:[e.map(e=>(0,w.jsxs)(`div`,{className:W.photoThumb,children:[(0,w.jsx)(`img`,{src:e.url,alt:e.name,className:W.photoImg}),(0,w.jsx)(`button`,{type:`button`,className:W.photoRemove,"aria-label":`Remove ${e.name}`,onClick:()=>{n(e.id)},children:(0,w.jsx)(C,{size:12})})]},e.id)),(0,w.jsx)(`button`,{type:`button`,className:W.photoAddMore,"aria-label":`Add more photos`,onClick:t,children:(0,w.jsx)(ge,{size:18})})]}),ow=(e,t)=>rw(e).map((e,n)=>({id:`${e.name}-${String(e.size)}-${String(t+n)}`,url:e.url,name:e.name,file:e.file})),sw=async e=>{if(e.files===null)return;let n=5-e.currentCount;if(n<=0){t.l.error(`You can only upload a maximum of 5 images.`);return}let r=[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/heic`,`image/heif`],i=e=>{if(r.includes(e.type))return!0;let t=e.name.split(`.`).pop()?.toLowerCase();return t===`heic`||t===`heif`},a=10*1024*1024,o=Array.from(e.files);o.some(e=>!i(e))&&t.l.error(`Only PNG, JPG, JPEG, GIF, WEBP, and HEIC images are supported.`);let s=o.filter(i);s.filter(e=>e.size>a).length>0&&t.l.error(`Some images exceed the 10MB limit and were skipped.`);let c=s.filter(e=>e.size<=a).slice(0,n);if(c.length===0)return;s.length>n&&t.l.error(`Only the first ${String(n)} images were added. Maximum limit is 5.`);let l=ow(await Promise.all(c.map(e=>cx(e))),e.existingPicked.length);if(l.length===0)return;let u=[...e.existingPicked,...l];e.onResult(u,u.map(e=>e.file))},cw=({photos:e,setPhotos:n})=>{let[i,a]=(0,r.useState)([]),[o,s]=(0,r.useState)(!1),c=(0,r.useRef)(null),l=(0,r.useRef)([]);l.current=i,(0,r.useEffect)(()=>()=>{for(let e of l.current)URL.revokeObjectURL(e.url)},[]);let u=t=>{sw({files:t,currentCount:e.length,existingPicked:i,onResult:(e,t)=>{a(e),n(t)}})};return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`input`,{ref:c,type:`file`,accept:`image/*`,multiple:!0,className:W.photoInput,onChange:e=>{u(e.target.files),c.current!==null&&(c.current.value=``)}}),(0,w.jsx)(`div`,{className:t.at(W.photoZone,o&&W.photoZoneDrag),onDragOver:e=>{e.preventDefault(),s(!0)},onDragLeave:()=>{s(!1)},onDrop:e=>{e.preventDefault(),s(!1),u(e.dataTransfer.files)},children:i.length===0?(0,w.jsx)(iw,{onOpen:()=>c.current?.click()}):(0,w.jsx)(aw,{photos:i,onOpen:()=>c.current?.click(),onRemove:e=>{a(t=>{let r=t.find(t=>t.id===e);r!==void 0&&URL.revokeObjectURL(r.url);let i=t.filter(t=>t.id!==e);return n(i.map(e=>e.file)),i})}})})]})},lw=({value:e,onChange:n,className:r})=>(0,w.jsx)(`input`,{className:t.at(W.titleInput,r),placeholder:`Add a headline (optional)`,value:e,onChange:e=>{n(e.target.value)}}),uw=({on:e,onToggle:n})=>(0,w.jsxs)(`div`,{className:W.compOption,children:[(0,w.jsxs)(`span`,{className:W.compOptionLabel,children:[(0,w.jsx)(t.st,{size:14}),` Must-read — require acknowledgement`]}),(0,w.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":`Require acknowledgement`,className:t.at(W.switch,e&&W.switchOn),onClick:n,children:(0,w.jsx)(`span`,{className:W.switchKnob})})]}),dw=(e,t)=>{let{detectLocation:n}=U();return()=>{if(e!==null){t(null);return}t(`Detecting location...`),n.execute().then(e=>{t(t=>t===`Detecting location...`?e.ok?e.value:`London Office`:t)})}},fw=e=>{let{category:t,feeling:n,location:r,sheet:i,categoryId:a,audienceId:o,mustRead:s,taggedUserIds:c,selectedItem:l,categoryItems:u,categoryTemplates:d,setSheet:f,setLocation:p,setCategoryId:m,setFeeling:h,setAudienceId:g,setMustRead:_,onToggleTag:v,onSelectItem:y,onApplyTemplate:b,photos:x,setPhotos:S,isEditMode:ee,editImagesNode:te}=e,ne=dw(r,p);return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(ZC,{category:t}),ee?te:(i===`photo`||x.length>0)&&(0,w.jsx)(cw,{photos:x,setPhotos:S}),(0,w.jsx)(QC,{sheet:i,location:r,onSheet:e=>{f(t=>t===e?null:e)},onToggleLocation:ne,showPhoto:!ee||te===void 0||i===`photo`}),(0,w.jsx)(nw,{sheet:i,categoryId:a,feeling:n,taggedUserIds:c,selectedItem:l,categoryItems:u,categoryTemplates:d,currentCategory:t,onCategory:m,onFeeling:e=>{h(t=>t===e?null:e)},onToggleTag:v,onSelectItem:y,onApplyTemplate:b,onClose:()=>{f(null)},onSetSheet:f,searchQuery:e.searchQuery,onSearchQuery:e.onSearchQuery,isLoadingItems:e.isLoadingItems}),(0,w.jsx)(IC,{audienceId:o,onChange:g}),(0,w.jsx)(uw,{on:s,onToggle:()=>{_(e=>!e)}})]})},pw=({length:e,limit:t,color:n,fontSize:r,padding:i})=>(0,w.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,fontSize:r,color:n===`danger`?`var(--color-danger)`:`var(--color-text-soft)`,padding:i,fontWeight:500},children:[e,` / `,t]}),mw=e=>{let{title:n,setTitle:r,body:i,setBody:a,bodyPlaceholder:o,isEditMode:s=!1,editImagesNode:c}=e,l=pt(n,300,250),u=pt(i,8e3,7e3);return(0,w.jsxs)(w.Fragment,{children:[s?(0,w.jsx)(`input`,{type:`text`,className:t.at(W.titleInput,l.isOverLimit&&W.textareaError),value:n,placeholder:`Add a headline (optional)...`,onChange:e=>{r(e.target.value)},style:{width:`100%`}}):(0,w.jsx)(lw,{value:n,onChange:r,className:l.isOverLimit?W.textareaError:void 0}),l.showCounter&&(0,w.jsx)(pw,{length:l.length,limit:300,color:l.counterColor,fontSize:`11px`,padding:`2px 16px 4px`}),(0,w.jsx)(`textarea`,{className:t.at(W.textarea,u.isOverLimit&&W.textareaError),placeholder:o,value:i,onChange:e=>{a(e.target.value)},style:s?{width:`100%`,minHeight:`100px`}:void 0}),u.showCounter&&(0,w.jsx)(pw,{length:u.length,limit:8e3,color:u.counterColor,fontSize:`12px`,padding:`2px 16px 6px`}),(0,w.jsx)(fw,{...e,isEditMode:s,...c===void 0?{}:{editImagesNode:c}})]})},hw=({authorInfo:e,audienceId:n,taggedUsers:r,feeling:i,location:a,onAudience:o,onClose:s})=>{let{data:c=[]}=Kb(),l=c.find(e=>e.id===i);return(0,w.jsxs)(`div`,{className:W.compHead,style:s?void 0:{borderBottom:`none`,padding:`0 0 10px`},children:[(0,w.jsxs)(`div`,{className:W.compAvatarWrapper,children:[(0,w.jsx)(`span`,{className:W.compAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),s&&(0,w.jsx)(`span`,{className:W.statusDot})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsxs)(`div`,{className:W.compHeaderTagline,children:[(0,w.jsx)(`strong`,{children:e.name}),l&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{className:W.compMutedText,children:` is feeling `}),(0,w.jsxs)(`strong`,{children:[l.emoji,` `,l.label]})]}),a&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{className:W.compMutedText,children:i||r.length>0?r.length>0?` at `:` — at `:` is at `}),(0,w.jsx)(`strong`,{children:a===`Detecting location...`?`Detecting...`:a})]})]}),r.length>0&&(0,w.jsx)(`div`,{className:W.taggedTagline,children:Zb(r).map((e,t)=>{let n=!s&&t===0&&e.text.startsWith(`with `)&&!i?`is ${e.text}`:e.text;return e.bold?(0,w.jsx)(`strong`,{children:n},t):n})}),(0,w.jsx)(FC,{audienceId:n,onChange:o})]}),s&&(0,w.jsx)(`button`,{type:`button`,className:W.compClose,"aria-label":`Close`,onClick:s,children:(0,w.jsx)(C,{size:16})})]})},gw=e=>e.split(/[\s_-]+/).filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(` `),_w=e=>gw((e.split(`@`)[0]??e).replace(/[._-]+/g,` `)),vw=(e,t)=>{let n=e.length>0?e:t;return n.includes(`@`)?_w(n):n},yw=(e,t,n)=>{let r=e.length>0?e:t;return r.length===0||r.includes(`@`)?vw(t,n):r},bw=(e,t,n)=>e!==void 0&&e.trim().length>0?e:t?dt(n):`?`,xw=(e,t,n)=>e!==void 0&&e.trim().length>0?e:t?ft(n):`#6b7280`,Sw=(e,t)=>{if(!t)return{name:``,initials:`?`,color:`#6b7280`};let n=yw(e?e.name:``,t.fullName,t.email.value);return{name:n,initials:bw(e?e.initials:void 0,!0,n),color:xw(e?e.color:void 0,!0,t.id)}};function Cw({profile:e,onClose:t}){let{data:n=[]}=Wb(),i=kC(t,n),a=i.category,[o,s]=(0,r.useState)(``),{rawItems:c,isLoadingItems:l,hasWebhook:u}=MC(a,o),{data:d=[]}=Hs(),f=jC(a,d),p=c.map(AC);return(0,w.jsxs)(`div`,{className:W.composer,children:[(0,w.jsx)(hw,{authorInfo:e,audienceId:i.audienceId,taggedUsers:i.taggedUsers,feeling:i.feeling,location:i.location,onAudience:i.setAudienceId,onClose:t}),(0,w.jsx)(mw,{title:i.title,setTitle:i.setTitle,body:i.body,setBody:i.setBody,bodyPlaceholder:`What's on your mind, ${e.name.split(` `)[0]??``}?`,category:i.category,feeling:i.feeling,location:i.location,sheet:i.sheet,categoryId:i.categoryId,audienceId:i.audienceId,mustRead:i.mustRead,taggedUserIds:i.taggedUsers.map(e=>e.id),selectedItem:i.selectedItem,categoryItems:p,categoryTemplates:f,setSheet:i.setSheet,setLocation:i.setLocation,setCategoryId:e=>{s(``),i.setCategoryId(e.id)},setFeeling:i.setFeeling,setAudienceId:i.setAudienceId,setMustRead:i.setMustRead,onToggleTag:i.toggleTag,onSelectItem:i.setSelectedItem,onApplyTemplate:i.applyTemplate,photos:i.photos,setPhotos:i.setPhotos,isEditMode:!1,searchQuery:o,onSearchQuery:u?s:void 0,isLoadingItems:l}),i.mode===`schedule`&&(0,w.jsx)(CC,{value:i.schedule,onChange:i.setSchedule,timezone:i.timezone}),(0,w.jsx)(wC,{mode:i.mode,disabled:i.submitDisabled,onMode:i.setMode,onCancel:t,onSubmit:()=>{i.submit()}})]})}var ww=()=>{let[e,n]=(0,r.useState)(!1),{user:i}=Dl(),a=Fi(),o=Sw(a.data,i),s=a.isPending;if(!e){let e=s?``:o.name.split(` `)[0]??``,r=e.length>0?`What's on your mind, ${e}?`:`What's on your mind?`;return(0,w.jsxs)(`div`,{className:W.composerCollapsed,children:[s?(0,w.jsx)(t.a,{variant:`circle`,width:`36px`,height:`36px`}):(0,w.jsx)(`span`,{className:W.ccAvatar,style:t.it({"--avatar-color":o.color}),children:o.initials}),(0,w.jsx)(`button`,{type:`button`,className:W.ccInput,onClick:()=>{n(!0)},children:r})]})}return(0,w.jsx)(Cw,{profile:o,onClose:()=>{n(!1)}})},Tw=()=>(0,w.jsxs)(`div`,{className:W.emptyState,children:[(0,w.jsx)(`div`,{className:W.emptyIconWrap,children:(0,w.jsx)(ve,{size:32})}),(0,w.jsx)(`h3`,{className:W.emptyTitle,children:`It's quiet in here`}),(0,w.jsx)(`p`,{className:W.emptyText,children:`There are no posts in this feed yet. Be the first to share an update!`})]}),Ew=e=>({id:e.id,name:e.fullName,email:e.email,userName:e.fullName,role:e.roleName,initials:e.initials,color:e.color}),Dw=e=>{let[n,i]=(0,r.useState)(e),[a,o]=(0,r.useState)([]);return{existingImages:n,setExistingImages:i,newPhotos:a,setNewPhotos:o,handleAddPhotos:async e=>{let r=5-(n.length+a.length);if(r<=0){t.l.error(`You can only have a maximum of 5 images.`);return}let i=Array.from(e).filter(e=>e.type.startsWith(`image/`)||e.name.toLowerCase().endsWith(`.heic`)||e.name.toLowerCase().endsWith(`.heif`)),s=10*1024*1024;i.filter(e=>e.size>s).length>0&&t.l.error(`Some images exceed the 10MB limit and were skipped.`);let c=i.filter(e=>e.size<=s),l=c.slice(0,r);c.length>r&&t.l.error(`Only the first ${String(r)} images were added. Maximum limit is 5.`);let u=await Promise.all(l.map(e=>cx(e)));o(e=>[...e,...u])},handleRemoveExisting:e=>{i(t=>t.filter(t=>t!==e))},handleRemoveNew:e=>{o(t=>t.filter((t,n)=>n!==e))}}},Ow=(e,t)=>{if(e.scheduledAt){let r=n.y(new Date(e.scheduledAt),t);return{date:`${String(r.year)}-${String(r.month).padStart(2,`0`)}-${String(r.day).padStart(2,`0`)}`,time:`${String(r.hour).padStart(2,`0`)}:${String(r.minute).padStart(2,`0`)}`,recurring:e.isRecurring,frequency:e.recurrenceFrequency??`weekly`}}return hC},kw=(e,t,i,a)=>{let[o,s]=(0,r.useState)(e.department??`general`),[c,l]=(0,r.useState)(e.audienceId),[u,d]=(0,r.useState)(e.feelingId),[f,p]=(0,r.useState)(e.locationLabel),[m,h]=(0,r.useState)(e.mustAcknowledge),[g,_]=(0,r.useState)(null),[v,y]=(0,r.useState)(null),b=!e.scheduledAt||new Date(e.scheduledAt).getTime()<=Date.now(),[x,S]=(0,r.useState)(b?`now`:`schedule`),[ee,te]=(0,r.useState)(()=>Ow(e,a)),ne=e=>{let t=typeof e==`function`?e(x):e;if(S(t),t===`schedule`&&!ee.date){let e=n.y(new Date,a),t=`${String(e.year)}-${String(e.month).padStart(2,`0`)}-${String(e.day).padStart(2,`0`)}`,r=`${String(e.hour).padStart(2,`0`)}:${String(e.minute).padStart(2,`0`)}`;te({...ee,date:t,time:r})}},[re,ie]=(0,r.useState)(t.filter(t=>e.taggedUserIds.includes(t.id)).map(Ew));return{categoryId:o,setCategoryId:s,audienceId:c,setAudienceId:l,feeling:u,setFeeling:d,location:f,setLocation:p,mustRead:m,setMustRead:h,taggedUsers:re,setTaggedUsers:ie,sheet:g,setSheet:_,selectedItem:v,setSelectedItem:y,mode:x,setMode:ne,schedule:ee,setSchedule:te,toggleTag:e=>{ie(t=>t.some(t=>t.id===e.id)?t.filter(t=>t.id!==e.id):[...t,e])},handleToggleLocation:()=>{if(f!==null){p(null);return}p(`Detecting location...`),i.execute().then(e=>{p(t=>t===`Detecting location...`?e.ok?e.value:`London Office`:t)})},isAlreadyPublished:b}},Aw=e=>{let t=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,n=e.indexOf(`#`);if(n!==-1){let r=e.substring(n+1);if(t.test(r))return r}let r=(e.split(`?`)[0]??e).split(`/`).pop()??``;return t.test(r)?r:null},jw=e=>e.map(e=>Aw(e)).filter(e=>e!==null),Mw=async(e,n)=>{if(e.length===0)return[];let r=await Promise.allSettled(e.map(e=>n(e))),i=[],a=0;for(let e of r)e.status===`fulfilled`?i.push(e.value):a+=1;return a>0&&t.l.error(`${String(a)} image${a>1?`s`:``} failed to upload.`),i},Nw=async({post:e,editTitle:r,editBody:i,photosState:a,composerState:o,updatePostMutation:s,uploadImageMutation:c,setIsEditing:l,timezone:u})=>{if(r.trim().length>300){t.l.error(`Post title cannot exceed 300 characters.`);return}if(i.trim().length>8e3){t.l.error(`Post body cannot exceed 8000 characters.`);return}let d;if(o.mode===`schedule`&&(d=n.b(o.schedule.date,o.schedule.time,u),d&&Date.parse(d)<Date.now())){t.l.error(`Schedule time must be in the future.`);return}try{let n=await Mw(a.newPhotos,e=>c.mutateAsync(e)),u=jw(a.existingImages);s.mutate({postId:e.id,input:{title:r.trim()||null,body:i,imageIds:[...u,...n],categoryId:o.categoryId,audienceId:o.audienceId,mustAcknowledge:o.mustRead,taggedUserIds:o.taggedUsers.map(e=>e.id),feelingId:o.feeling,locationLabel:o.location,scheduledAt:d,isRecurring:o.mode===`schedule`?o.schedule.recurring:!1,recurrenceFrequency:o.mode===`schedule`&&o.schedule.recurring?o.schedule.frequency:void 0}},{onSuccess:()=>{l(!1),a.setNewPhotos([])},onError:()=>{t.l.error(`Failed to update the post. Please try again.`)}})}catch{t.l.error(`Failed to process post images. Please try again.`)}},Pw=({post:e,setTitle:t,setBody:r,photos:i,composer:a,allUsers:o,timezone:s})=>{if(t(e.title??``),r(e.body),i.setExistingImages(e.imageUrls),i.setNewPhotos([]),a.setCategoryId(e.department??`general`),a.setAudienceId(e.audienceId),a.setFeeling(e.feelingId),a.setLocation(e.locationLabel),a.setMustRead(e.mustAcknowledge),a.setSheet(null),a.setSelectedItem(null),a.setMode(a.isAlreadyPublished?`now`:`schedule`),e.scheduledAt){let t=n.y(new Date(e.scheduledAt),s),r=`${String(t.year)}-${String(t.month).padStart(2,`0`)}-${String(t.day).padStart(2,`0`)}`,i=`${String(t.hour).padStart(2,`0`)}:${String(t.minute).padStart(2,`0`)}`;a.setSchedule({date:r,time:i,recurring:e.isRecurring,frequency:e.recurrenceFrequency??`weekly`})}else a.setSchedule(hC);a.setTaggedUsers(o.filter(t=>e.taggedUserIds.includes(t.id)).map(Ew))},Fw=()=>{let[e,t]=(0,r.useState)(!1),[n,i]=(0,r.useState)(!1),[a,o]=(0,r.useState)(null),[s,c]=(0,r.useState)(!1);return{commentsOpen:e,setCommentsOpen:t,shareOpen:n,setShareOpen:i,lightboxIndex:a,setLightboxIndex:o,isEditing:s,setIsEditing:c}},Iw={page:1,pageSize:1e3,filter:``,department:``,accessRole:``,branch:``,status:`all`},Lw=e=>({...e.ui,editTitle:e.editTitle,setEditTitle:e.setEditTitle,editBody:e.editBody,setEditBody:e.setEditBody,existingImages:e.photosState.existingImages,newPhotos:e.photosState.newPhotos,isPending:e.isPending,timezone:e.timezone,handleAddPhotos:t=>{e.photosState.handleAddPhotos(t)},handleRemoveExisting:e.photosState.handleRemoveExisting,handleRemoveNew:e.photosState.handleRemoveNew,handleSave:()=>{Nw({post:e.post,editTitle:e.editTitle,editBody:e.editBody,photosState:e.photosState,composerState:e.composerState,updatePostMutation:e.updatePostMutation,uploadImageMutation:e.uploadImageMutation,setIsEditing:e.ui.setIsEditing,timezone:e.timezone})},handleCancel:()=>{Pw({post:e.post,setTitle:e.setEditTitle,setBody:e.setEditBody,photos:e.photosState,composer:e.composerState,allUsers:e.allUsers,timezone:e.timezone}),e.ui.setIsEditing(!1)},categoryId:e.composerState.categoryId,setCategoryId:e.composerState.setCategoryId,audienceId:e.composerState.audienceId,setAudienceId:e.composerState.setAudienceId,feeling:e.composerState.feeling,setFeeling:e.composerState.setFeeling,location:e.composerState.location,setLocation:e.composerState.setLocation,mustRead:e.composerState.mustRead,setMustRead:e.composerState.setMustRead,taggedUsers:e.composerState.taggedUsers,sheet:e.composerState.sheet,setSheet:e.composerState.setSheet,selectedItem:e.composerState.selectedItem,setSelectedItem:e.composerState.setSelectedItem,mode:e.composerState.mode,setMode:e.composerState.setMode,schedule:e.composerState.schedule,setSchedule:e.composerState.setSchedule,isAlreadyPublished:e.composerState.isAlreadyPublished,toggleTag:e.composerState.toggleTag,handleToggleLocation:e.composerState.handleToggleLocation}),Rw=e=>{let t=Fw(),[i,a]=(0,r.useState)(e.title??``),[o,s]=(0,r.useState)(e.body),c=n.m().display,l=Ax(Iw).data?.users??[],{detectLocation:u}=U(),d=Dw(e.imageUrls),f=kw(e,l,u,c),p=Ib(),m=Jb();return(0,r.useEffect)(()=>{t.isEditing||Pw({post:e,setTitle:a,setBody:s,photos:d,composer:f,allUsers:l,timezone:c})},[t.isEditing,e,l,c]),Lw({ui:t,editTitle:i,setEditTitle:a,editBody:o,setEditBody:s,timezone:c,photosState:d,composerState:f,isPending:p.isPending||m.isPending,post:e,allUsers:l,updatePostMutation:p,uploadImageMutation:m})},zw=({url:e,onRemove:t})=>(0,w.jsxs)(`div`,{className:W.photoThumb,children:[(0,w.jsx)(`img`,{src:e,alt:`thumbnail`,className:W.photoImg}),(0,w.jsx)(`button`,{type:`button`,onClick:t,className:W.photoRemove,children:(0,w.jsx)(C,{size:12})})]}),Bw=({file:e,onRemove:t})=>{let[n,i]=(0,r.useState)(``);return(0,r.useEffect)(()=>{let t=URL.createObjectURL(e);return i(t),()=>{URL.revokeObjectURL(t)}},[e]),n?(0,w.jsx)(zw,{url:n,onRemove:t}):null},Vw=({existingImages:e,newPhotos:t,onAddPhotos:n,onRemoveExisting:i,onRemoveNew:a})=>{let o=(0,r.useRef)(null);return e.length===0&&t.length===0?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`input`,{ref:o,type:`file`,multiple:!0,accept:`image/*`,onChange:e=>{e.target.files!==null&&e.target.files.length>0&&n(e.target.files)},style:{display:`none`}}),(0,w.jsx)(iw,{onOpen:()=>o.current?.click()})]}):(0,w.jsxs)(`div`,{className:W.photoGrid,children:[e.map(e=>(0,w.jsx)(zw,{url:e,onRemove:()=>{i(e)}},e)),t.map((e,t)=>(0,w.jsx)(Bw,{file:e,onRemove:()=>{a(t)}},t)),(0,w.jsxs)(`label`,{className:W.photoAddMore,children:[(0,w.jsx)(ge,{size:18}),(0,w.jsx)(`input`,{type:`file`,multiple:!0,accept:`image/*`,onChange:e=>{e.target.files!==null&&e.target.files.length>0&&n(e.target.files)},style:{display:`none`}})]})]})},Hw=({comment:e,displayZone:n})=>(0,w.jsxs)(`div`,{className:W.commentRow,children:[(0,w.jsx)(`span`,{className:W.commentAvatar,style:t.it({"--avatar-color":e.authorColor}),children:e.authorInitials}),(0,w.jsxs)(`div`,{className:W.commentBubble,children:[(0,w.jsxs)(`div`,{className:W.commentAuthor,children:[e.authorName,` `,(0,w.jsxs)(`span`,{className:W.commentTime,children:[`· `,ox(e.createdAt,n)]})]}),(0,w.jsx)(`div`,{className:W.commentText,children:e.text})]})]}),Uw=({profile:e,isViewerLoading:n,pending:i,canComment:a,onAdd:o})=>{let[s,c]=(0,r.useState)(``),l=pt(s,4e3),u=()=>{!a||s.trim()===``||(o(s.trim()),c(``))};return(0,w.jsxs)(`div`,{className:W.commentRow,children:[n?(0,w.jsx)(t.a,{variant:`circle`,width:`26px`,height:`26px`}):(0,w.jsx)(`span`,{className:W.commentAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,gap:`4px`},children:[(0,w.jsxs)(`div`,{className:t.at(W.commentComposer,!a&&W.commentComposerDisabled,l.isOverLimit&&W.commentComposerError),title:a?void 0:`You do not have permission to comment`,children:[(0,w.jsx)(`input`,{className:W.commentInput,placeholder:a?`Write a comment…`:`You do not have permission to comment`,value:s,disabled:!a,onChange:e=>{c(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&!l.isOverLimit&&u()}}),(0,w.jsx)(`button`,{type:`button`,className:W.commentSend,disabled:!a||s.trim()===``||i||l.isOverLimit,onClick:u,title:a?void 0:`You do not have permission to comment`,children:(0,w.jsx)(Ke,{size:13})})]}),l.showCounter&&(0,w.jsxs)(`div`,{style:{alignSelf:`flex-end`,fontSize:`10px`,color:l.counterColor===`danger`?`var(--color-danger)`:`var(--color-text-soft)`,marginRight:`8px`,fontWeight:500},children:[l.length,` / 4000`]})]})]})},Ww=({comments:e,pending:t,canComment:r=!0,onAdd:i})=>{let{user:a}=Dl(),o=Fi(),s=n.m().display,c=Sw(o.data,a);return(0,w.jsxs)(`div`,{className:W.comments,children:[e.map(e=>(0,w.jsx)(Hw,{comment:e,displayZone:s},e.id)),(0,w.jsx)(Uw,{profile:c,isViewerLoading:o.isPending,pending:t,canComment:r,onAdd:i})]})},Gw=({url:e,alt:t,className:n})=>(0,w.jsx)(`img`,{src:e,alt:t,className:n,loading:`lazy`}),Kw=({urls:e,onImageClick:n})=>{let r=e.length;if(r===0)return null;let i=W.grid1;r===2&&(i=W.grid2),r===3&&(i=W.grid3),r>=4&&(i=W.grid4);let a=r>4?e.slice(0,4):e;return(0,w.jsx)(`div`,{className:t.at(W.postImagesGrid,i),children:a.map((e,i)=>{let a=i===3&&r>4;return(0,w.jsx)(`div`,{className:t.at(W.gridImageWrap,a&&W.moreImagesOverlay),"data-more":a?`+${String(r-4)}`:void 0,onClick:()=>{n(i)},role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&n(i)},children:(0,w.jsx)(Gw,{url:e,alt:`Attached`,className:W.gridImage})},i)})})},qw=(e,t,n)=>e===``||t.toLowerCase().includes(e)||n.toLowerCase().includes(e),Jw=e=>({id:`conv_${e.id}`,name:e.title,subtitle:e.subtitle||(e.kind===`group`?`${String(e.memberCount)} members`:``),initials:e.initials,color:e.color,square:e.kind===`group`,targetType:`conversation`,originalId:e.id}),Yw=e=>({id:`user_${e.id}`,name:e.name,subtitle:e.role,initials:e.initials,color:e.color,square:!1,targetType:`user`,originalId:e.id}),Xw=({post:e,comment:n,selected:r,sendMessage:i,startDirect:a,setIsSending:o,close:s,count:c,allTargets:l})=>{o(!0);let u=`${window.location.origin}/feed/posts/${e.postId}`,d={comment:n.trim(),card:{title:e.title,body:e.bodySnippet,authorName:e.authorName,authorInitials:e.authorInitials,authorColor:e.authorColor,categoryLabel:e.categoryLabel,categoryColor:e.categoryColor,link:u}},f=`__UAPP_SHARED_CARD__::${JSON.stringify(d)}`,p=Array.from(r).map(async e=>{let t=l.get(e);if(!t)return;let n=t.originalId;if(t.targetType===`user`){let e=await a.execute(n);if(e.ok)n=e.value.id;else throw Error(`Could not create DM`)}return i.execute(n,f,crypto.randomUUID())});Promise.allSettled(p).then(()=>{t.l.success(`Shared to ${String(c)} ${c===1?`chat`:`chats`}`),s()}).catch(()=>{t.l.error(`Failed to share post`),o(!1)})},Zw=(e,t,n)=>{let[i,a]=(0,r.useState)(``),[o,s]=(0,r.useState)(``),[c,l]=(0,r.useState)(()=>new Set),[u,d]=(0,r.useState)(!1),{sendMessage:f,startDirect:p}=D(),{data:m}=Fi(),{data:h=[]}=pi(`all`,``,{enabled:n}),g=h.filter(e=>e.kind===`dm`&&e.peerUserId!==null).map(e=>e.peerUserId??``),_=ea(m?[m.id,...g]:g,`directory`),v=o.trim().toLowerCase(),y=e=>{s(e),_.setSearch(e)},b=[...h.filter(e=>e.kind===`dm`).map(Jw).filter(e=>qw(v,e.name,e.subtitle)),..._.results.map(Yw)],x=h.filter(e=>e.kind===`group`).map(Jw).filter(e=>qw(v,e.name,e.subtitle)),S=e=>{l(t=>{let n=new Set(t);return n.delete(e)?n:n.add(e)})},ee=()=>{a(``),s(``),_.setSearch(``),l(new Set),d(!1),t()},te=new Map([...x,...b].map(e=>[e.id,e])),ne=c.size;return{comment:i,setComment:a,query:o,setQuery:y,selected:c,isSending:u,dms:b,groups:x,count:ne,toggle:S,close:ee,send:()=>{ne===0||u||i.length>1e3||Xw({post:e,comment:i,selected:c,sendMessage:f,startDirect:p,setIsSending:d,close:ee,count:ne,allTargets:te})}}},Qw=({onClose:e})=>(0,w.jsxs)(`div`,{className:W.shareHead,children:[(0,w.jsx)(`div`,{className:W.shareHeadIcon,children:(0,w.jsx)(Ve,{size:15})}),(0,w.jsxs)(`div`,{className:W.shareHeadText,children:[(0,w.jsx)(`h3`,{className:W.shareTitle,children:`Share Post`}),(0,w.jsx)(`p`,{className:W.shareDesc,children:`Share this post to chat conversations`})]}),(0,w.jsx)(`button`,{type:`button`,className:W.shareCloseBtn,"aria-label":`Close`,onClick:e,children:(0,w.jsx)(C,{size:18})})]}),$w=({count:e,disabled:t,onCancel:n,onSend:r})=>(0,w.jsxs)(`div`,{className:W.shareFooter,children:[(0,w.jsx)(`span`,{className:W.shareFootText,children:e===0?`Select at least one chat`:`${String(e)} ${e===1?`chat`:`chats`} selected`}),(0,w.jsxs)(`div`,{className:W.shareFootBtns,children:[(0,w.jsx)(`button`,{type:`button`,className:W.shareCancelBtn,onClick:n,children:`Cancel`}),(0,w.jsxs)(`button`,{type:`button`,className:W.shareSendBtn,disabled:e===0||t,onClick:r,children:[(0,w.jsx)(Ke,{size:12}),` Send`]})]})]}),eT=({post:e})=>(0,w.jsx)(`div`,{className:W.sharePreviewWrap,children:(0,w.jsxs)(`div`,{className:W.sharePreview,children:[(0,w.jsx)(`span`,{className:W.sharePreviewAvatar,style:t.it({"--avatar-color":e.authorColor}),children:e.authorInitials}),(0,w.jsxs)(`div`,{className:W.sharePreviewBody,children:[(0,w.jsxs)(`div`,{className:W.sharePreviewMeta,children:[e.authorName,` ·`,` `,(0,w.jsx)(`span`,{className:W.sharePreviewCat,style:t.it({"--cat":e.categoryColor}),children:e.categoryLabel})]}),e.authorRole?(0,w.jsx)(`div`,{style:{fontSize:`11px`,color:`var(--color-text-soft)`,marginTop:`1px`,marginBottom:`2px`},children:e.authorRole}):null,(0,w.jsx)(`div`,{className:W.sharePreviewTitle,children:e.title})]})]})}),tT=({target:e,selected:n,onToggle:r})=>(0,w.jsxs)(`button`,{type:`button`,className:t.at(W.shareRow,n&&W.shareRowOn),"aria-pressed":n,onClick:()=>{r(e.id)},children:[(0,w.jsx)(`span`,{className:t.at(W.shareAvatar,e.square&&W.shareAvatarSquare),style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`span`,{className:W.shareRowBody,children:[(0,w.jsx)(`span`,{className:W.shareRowName,children:e.name}),(0,w.jsx)(`span`,{className:W.shareRowSub,children:e.subtitle})]}),(0,w.jsx)(`span`,{className:t.at(W.shareCheck,n&&W.shareCheckOn),children:n&&(0,w.jsx)(b,{size:11,strokeWidth:3})})]}),nT=({label:e,targets:t,selected:n,onToggle:r})=>t.length===0?null:(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`div`,{className:W.shareSectionLabel,children:e}),t.map(e=>(0,w.jsx)(tT,{target:e,selected:n.has(e.id),onToggle:r},e.id))]}),rT=({comment:e,query:n,onComment:r,onQuery:i})=>{let a=pt(e,1e3);return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`div`,{className:W.shareField,style:{display:`flex`,flexDirection:`column`,gap:`4px`},children:[(0,w.jsx)(`input`,{className:t.at(W.shareComment,a.isOverLimit&&W.shareCommentError),placeholder:`Add a comment (optional)`,value:e,onChange:e=>{r(e.target.value)}}),a.showCounter&&(0,w.jsxs)(`div`,{style:{alignSelf:`flex-end`,fontSize:`10px`,color:a.counterColor===`danger`?`var(--color-danger)`:`var(--color-text-soft)`,marginRight:`8px`,fontWeight:500},children:[a.length,` / 1000`]})]}),(0,w.jsx)(`div`,{className:W.shareSearchWrap,children:(0,w.jsxs)(`div`,{className:W.shareSearch,children:[(0,w.jsx)(Ge,{size:13}),(0,w.jsx)(`input`,{className:W.shareSearchInput,placeholder:`Search people or groups…`,value:n,onChange:e=>{i(e.target.value)}})]})})]})},iT=({groups:e,dms:t,selected:n,onToggle:r})=>(0,w.jsxs)(`div`,{className:W.shareList,children:[(0,w.jsx)(nT,{label:`Groups`,targets:e,selected:n,onToggle:r}),(0,w.jsx)(nT,{label:`People`,targets:t,selected:n,onToggle:r}),e.length===0&&t.length===0&&(0,w.jsx)(`div`,{className:W.shareEmpty,children:`No matches.`})]}),aT=({open:e,post:n,onClose:r})=>{let a=Zw(n,r,e),o=t.Z();return e?(0,i.createPortal)((0,w.jsxs)(`div`,{className:W.shareRoot,children:[(0,w.jsx)(`button`,{type:`button`,className:W.shareBackdrop,"aria-label":`Close`,onClick:a.close}),(0,w.jsxs)(`div`,{className:W.shareModal,role:`dialog`,"aria-label":`Share post`,children:[(0,w.jsx)(Qw,{onClose:a.close}),(0,w.jsx)(eT,{post:n}),(0,w.jsx)(rT,{comment:a.comment,query:a.query,onComment:a.setComment,onQuery:a.setQuery}),(0,w.jsx)(iT,{groups:a.groups,dms:a.dms,selected:a.selected,onToggle:a.toggle}),(0,w.jsx)($w,{count:a.count,disabled:a.comment.length>1e3,onCancel:a.close,onSend:a.send})]})]}),o??document.body):null},oT=({post:e,taggedUsers:t})=>(0,w.jsxs)(`div`,{className:W.compHeaderTagline,style:{display:`block`,fontSize:`14px`,lineHeight:`1.4`},children:[(0,w.jsx)(`span`,{className:W.authorName,style:{fontWeight:600,color:`var(--color-text-main)`},children:e.authorName}),e.feelingEmoji&&e.feelingLabel&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{style:{color:`var(--color-text-soft)`},children:` is feeling `}),(0,w.jsxs)(`span`,{style:{fontWeight:600,color:`var(--color-text-main)`},children:[e.feelingEmoji,` `,e.feelingLabel]})]}),t.length>0&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{children:` `}),Zb(t).map((t,n)=>{let r=n===0&&t.text.startsWith(`with `)&&!e.feelingId?`is ${t.text}`:t.text;return(0,w.jsx)(`span`,{style:{fontWeight:t.bold?600:`normal`,color:t.bold?`var(--color-text-main)`:`var(--color-text-soft)`},children:r},n)})]}),e.locationLabel&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{style:{color:`var(--color-text-soft)`},children:e.feelingId||t.length>0?t.length>0?` at `:` — at `:` is at `}),(0,w.jsx)(`span`,{style:{fontWeight:600,color:`var(--color-text-main)`},children:e.locationLabel})]})]}),sT=({post:e,taggedUsers:r})=>{let i=n.m().display;return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{className:W.avatar,style:t.it({"--avatar-color":e.authorColor}),children:e.authorInitials}),(0,w.jsxs)(`div`,{className:W.cardAuthor,children:[(0,w.jsx)(oT,{post:e,taggedUsers:r}),(0,w.jsxs)(`div`,{className:W.metaRow,style:{marginTop:`4px`,display:`flex`,alignItems:`center`,gap:`6px`,fontSize:`12px`,color:`var(--color-text-soft)`},children:[e.authorRole&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{children:e.authorRole}),(0,w.jsx)(`span`,{style:{color:`var(--color-text-muted)`},children:`·`})]}),(0,w.jsx)(`span`,{children:ox(e.createdAt,i,e.scheduledAt)}),(0,w.jsx)(`span`,{style:{color:`var(--color-text-muted)`},children:`·`}),(0,w.jsx)(`span`,{children:e.audienceLabel}),(0,w.jsx)(`span`,{style:{color:`var(--color-text-muted)`},children:`·`}),(0,w.jsxs)(`span`,{children:[e.seenCount,` `,e.seenCount===1?`view`:`views`]})]})]})]})},cT=e=>{let t=Ax({page:1,pageSize:1e3,filter:``,department:``,accessRole:``,branch:``,status:`all`}).data;return t?t.users.filter(t=>e.includes(t.id)):[]},lT=({post:e,show:n,onBookmark:r})=>n?(0,w.jsx)(`button`,{type:`button`,className:t.at(W.bookmarkBtn,e.bookmarked&&W.bookmarkActive),"aria-label":e.bookmarked?`Remove bookmark`:`Save post`,onClick:r,children:(0,w.jsx)(f,{size:15,fill:e.bookmarked?`currentColor`:`none`})}):null,uT=({post:e,show:n,onPin:r})=>!n||!r?null:(0,w.jsx)(`button`,{type:`button`,className:t.at(W.pinBtn,e.pinned&&W.pinActive),"aria-label":e.pinned?`Unpin post`:`Pin post`,onClick:r,children:(0,w.jsx)(Ie,{size:15,fill:e.pinned?`currentColor`:`none`})}),dT=({show:e,onEdit:t})=>!e||!t?null:(0,w.jsx)(`button`,{type:`button`,className:W.editBtn,"aria-label":`Edit post`,onClick:t,children:(0,w.jsx)(Me,{size:15})}),fT=({show:e,onDelete:t})=>!e||!t?null:(0,w.jsx)(`button`,{type:`button`,className:W.deleteBtn,"aria-label":`Delete post`,onClick:t,children:(0,w.jsx)(at,{size:15})}),pT=({showBookmarkButton:e=!0,...t})=>(0,w.jsxs)(`div`,{className:W.cardActions,children:[(0,w.jsx)(fT,{show:t.showDeleteButton,onDelete:t.onDelete}),(0,w.jsx)(lT,{post:t.post,show:e,onBookmark:t.onBookmark}),(0,w.jsx)(uT,{post:t.post,show:t.showPinButton,onPin:t.onPin}),(0,w.jsx)(dT,{show:t.showEditButton,onEdit:t.onEdit})]}),mT=e=>{let n=cT(e.post.taggedUserIds),{categoryLabel:r,categoryColor:i}=Xb(e.post);return(0,w.jsxs)(`header`,{className:W.cardHead,children:[(0,w.jsx)(sT,{post:e.post,taggedUsers:n}),(0,w.jsxs)(`div`,{className:W.cardRight,children:[(0,w.jsxs)(`span`,{className:W.badge,style:t.it({"--badge-color":i}),children:[(0,w.jsx)(`span`,{className:W.badgeDot}),r]}),(0,w.jsx)(pT,{...e})]})]})},hT=e=>{let[t,n]=(0,r.useState)(0);return(0,w.jsx)(DT,{post:e.post,urls:e.post.imageUrls,index:t,onChange:n,commentPending:e.commentPending,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onAcknowledge:e.onAcknowledge,onAddComment:e.onAddComment,onShare:e.onShare,onClose:e.onClose,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:e.onEdit,showEditButton:e.showEditButton})},gT=[{id:`like`,label:`Like`,Icon:it,color:`#2563eb`},{id:`insightful`,label:`Insightful`,Icon:ye,color:`#f59e0b`},{id:`celebrate`,label:`Celebrate`,Icon:Ae,color:`#ec4899`}],_T=({post:e,onCommentClick:n})=>{if(e.totalReactions===0&&e.commentCount===0)return null;let r=gT.filter(t=>e.reactions[t.id]>0).slice(0,3);return(0,w.jsxs)(`div`,{className:W.summary,children:[(0,w.jsxs)(`div`,{className:W.summaryLeft,children:[r.length>0&&(0,w.jsx)(`span`,{className:W.summaryIcons,children:r.map(({id:e,Icon:n,color:r})=>(0,w.jsx)(`span`,{className:W.summaryDot,style:t.it({"--react-color":r}),children:(0,w.jsx)(n,{size:10})},e))}),e.totalReactions>0&&(0,w.jsx)(`span`,{className:W.summaryCount,children:e.totalReactions})]}),e.commentCount>0&&(0,w.jsxs)(`span`,{className:t.at(W.summaryComments,n!==void 0&&W.summaryCommentsClickable),onClick:n,role:n===void 0?void 0:`button`,tabIndex:n===void 0?void 0:0,onKeyDown:n===void 0?void 0:e=>{(e.key===`Enter`||e.key===` `)&&n()},children:[e.commentCount,` `,e.commentCount===1?`comment`:`comments`]})]})},vT=({post:e,canReact:n,onReact:i})=>{let[a,o]=(0,r.useState)(!1),s=gT.find(t=>t.id===e.myReaction),c=s?.Icon??it;return(0,w.jsxs)(`div`,{className:W.reactWrap,onMouseEnter:()=>{n&&o(!0)},onMouseLeave:()=>{o(!1)},children:[(0,w.jsxs)(`button`,{type:`button`,disabled:!n,title:n?void 0:`You do not have permission to react`,className:t.at(W.actionBtn,s!==void 0&&W.actionActive),style:s===void 0?void 0:t.it({"--react-color":s.color}),onClick:()=>{n&&(i(e.myReaction??`like`),o(!1))},children:[(0,w.jsx)(c,{size:16}),` `,s?.label??`Like`]}),n&&(0,w.jsx)(`div`,{className:t.at(W.picker,a&&W.pickerVisible),children:gT.map(({id:n,label:r,Icon:a,color:s})=>(0,w.jsx)(`button`,{type:`button`,className:t.at(W.pickerBtn,e.myReaction===n&&W.pickerActive),style:t.it({"--react-color":s}),title:r,onClick:()=>{i(n),o(!1)},children:(0,w.jsx)(a,{size:18})},n))})]})},yT=({post:e,commentsOpen:n,onReact:r,onComment:i,onShare:a,canReact:o=!0,canComment:s=!0})=>(0,w.jsxs)(`div`,{className:W.postBar,children:[(0,w.jsx)(vT,{post:e,canReact:o,onReact:r}),(0,w.jsxs)(`button`,{type:`button`,disabled:!s,title:s?void 0:`You do not have permission to comment`,className:t.at(W.actionBtn,n&&W.actionActive),onClick:()=>{s&&i()},children:[(0,w.jsx)(Te,{size:16}),` Comment`]}),(0,w.jsxs)(`button`,{type:`button`,className:W.actionBtn,onClick:a,children:[(0,w.jsx)(qe,{size:16}),` Share`]})]}),bT=({post:e,onAcknowledge:t,showAcknowledge:n=!0})=>!n||!e.mustAcknowledge?null:e.acknowledged?(0,w.jsx)(`div`,{className:W.ackDone,children:`✓ You acknowledged this`}):(0,w.jsxs)(`div`,{className:W.ackBanner,children:[(0,w.jsx)(`span`,{children:`Must read — please confirm you have seen this.`}),(0,w.jsx)(`button`,{type:`button`,className:W.ackBtn,onClick:t,children:`Acknowledge`})]}),xT=({title:e,onOpenDetail:t})=>(0,w.jsx)(`h2`,{className:W.cardTitle,onClick:t,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&t()},style:{cursor:`pointer`},children:e}),ST=({post:e,isAuthor:t,isEditing:n,onBookmark:r,showBookmarkButton:i,onPin:a,showPinButton:o,onEdit:s,onDelete:c,showDeleteButton:l})=>n?null:(0,w.jsx)(mT,{post:e,onBookmark:r,showBookmarkButton:i,onPin:a,showPinButton:o,showEditButton:t,onEdit:s,onDelete:c,showDeleteButton:l}),G={lightboxOverlay:`_lightboxOverlay_z9s6t_5`,lightboxContainer:`_lightboxContainer_z9s6t_20`,lightboxContainerTextOnly:`_lightboxContainerTextOnly_z9s6t_33`,lightboxLeft:`_lightboxLeft_z9s6t_48`,lightboxRight:`_lightboxRight_z9s6t_58`,lightboxRightFull:`_lightboxRightFull_z9s6t_69`,lightboxHeaderWrapper:`_lightboxHeaderWrapper_z9s6t_82`,lightboxScrollableContent:`_lightboxScrollableContent_z9s6t_91`,lightboxDivider:`_lightboxDivider_z9s6t_108`,lightboxClose:`_lightboxClose_z9s6t_138`,lightboxImage:`_lightboxImage_z9s6t_151`,lightboxArrow:`_lightboxArrow_z9s6t_186`,lightboxArrowLeft:`_lightboxArrowLeft_z9s6t_208`,lightboxArrowRight:`_lightboxArrowRight_z9s6t_216`,lightboxCounter:`_lightboxCounter_z9s6t_224`},CT=({urls:e,index:n,onPrev:r,onNext:i})=>(0,w.jsxs)(`div`,{className:G.lightboxLeft,children:[e.length>1&&(0,w.jsx)(`button`,{type:`button`,className:t.at(G.lightboxArrow,G.lightboxArrowLeft),onClick:r,"aria-label":`Previous image`,children:(0,w.jsx)(S,{size:24})}),(0,w.jsx)(Gw,{url:e[n]??``,alt:`Fullscreen view`,className:G.lightboxImage}),e.length>1&&(0,w.jsx)(`button`,{type:`button`,className:t.at(G.lightboxArrow,G.lightboxArrowRight),onClick:i,"aria-label":`Next image`,children:(0,w.jsx)(t.ct,{size:24})}),(0,w.jsxs)(`div`,{className:G.lightboxCounter,children:[n+1,` / `,e.length]})]}),wT=({post:e,commentPending:t,onReact:n,onBookmark:r,showBookmarkButton:i,onAcknowledge:a,showAcknowledgeSection:o,onAddComment:s,onShare:c,canReact:l,canComment:u,onPin:d,showPinButton:f,onEdit:p,showEditButton:m,onDelete:h,showDeleteButton:g,fullWidth:_=!1})=>(0,w.jsxs)(`div`,{className:_?G.lightboxRightFull:G.lightboxRight,children:[(0,w.jsx)(`div`,{className:G.lightboxHeaderWrapper,children:(0,w.jsx)(mT,{post:e,onBookmark:r,showBookmarkButton:i,onPin:d,showPinButton:f,onEdit:p,showEditButton:m,onDelete:h,showDeleteButton:g})}),(0,w.jsxs)(`div`,{className:G.lightboxScrollableContent,children:[e.title!==null&&(0,w.jsx)(`h2`,{className:W.cardTitle,children:e.title}),(0,w.jsx)(`p`,{className:W.cardBody,children:e.body}),(0,w.jsx)(bT,{post:e,onAcknowledge:a,showAcknowledge:o}),(0,w.jsx)(`div`,{className:G.lightboxDivider}),(0,w.jsx)(_T,{post:e}),(0,w.jsx)(yT,{post:e,commentsOpen:!0,onReact:n,canReact:l,canComment:u,onComment:()=>{},onShare:c}),(0,w.jsx)(`div`,{className:G.lightboxDivider}),(0,w.jsx)(Ww,{comments:e.comments,pending:t,canComment:u,onAdd:s})]})]}),TT=({hasImages:e,index:t,urlsLength:n,onClose:i,onChange:a})=>{(0,r.useEffect)(()=>{let r=r=>{r.key===`Escape`&&i(),e&&a!==void 0&&(r.key===`ArrowLeft`&&a((t-1+n)%n),r.key===`ArrowRight`&&a((t+1)%n))};return window.addEventListener(`keydown`,r),()=>{window.removeEventListener(`keydown`,r)}},[e,t,i,a,n])},ET=({urls:e=[],index:t=0,onClose:n,post:r,commentPending:i,onReact:a,onBookmark:o,showBookmarkButton:s,onAcknowledge:c,showAcknowledgeSection:l,onAddComment:u,onShare:d,canReact:f,canComment:p,onPin:m,showPinButton:h,onEdit:g,showEditButton:_,onDelete:v,showDeleteButton:y,hasImages:b,handlePrev:x,handleNext:S})=>(0,w.jsxs)(`div`,{className:b?G.lightboxContainer:G.lightboxContainerTextOnly,onClick:e=>{e.stopPropagation()},role:`presentation`,children:[(0,w.jsx)(`button`,{type:`button`,className:G.lightboxClose,onClick:n,"aria-label":`Close lightbox`,children:(0,w.jsx)(C,{size:20})}),b&&(0,w.jsx)(CT,{urls:e,index:t,onPrev:x,onNext:S}),(0,w.jsx)(wT,{post:r,commentPending:i,onReact:a,onBookmark:o,showBookmarkButton:s,onAcknowledge:c,showAcknowledgeSection:l,onAddComment:u,onShare:d,canReact:f,canComment:p,onPin:m,showPinButton:h,onEdit:g,showEditButton:_,onDelete:v,showDeleteButton:y,fullWidth:!b})]}),DT=e=>{let{urls:n=[],index:r=0,onClose:a,onChange:o,post:s}=e,{data:c}=Yb(s.id),l=c??s,u=n.length>0,d=t.Z();TT({hasImages:u,index:r,urlsLength:n.length,onClose:a,onChange:o});let f=()=>{o!==void 0&&o((r-1+n.length)%n.length)},p=()=>{o!==void 0&&o((r+1)%n.length)};return(0,i.createPortal)((0,w.jsx)(`div`,{className:G.lightboxOverlay,onClick:a,role:`presentation`,children:(0,w.jsx)(ET,{...e,post:l,hasImages:u,handlePrev:f,handleNext:p})}),d??document.body)},OT=({open:e,post:t,onClose:n})=>{let{categoryLabel:r,categoryColor:i}=Xb(t);return(0,w.jsx)(aT,{open:e,post:{postId:t.id,authorName:t.authorName,authorRole:t.authorRole,authorInitials:t.authorInitials,authorColor:t.authorColor,categoryLabel:r,categoryColor:i,title:t.title??t.body,bodySnippet:t.body.length>150?`${t.body.slice(0,150)}...`:t.body},onClose:n})},kT=e=>e.index===null?null:(0,w.jsx)(DT,{urls:e.post.imageUrls,index:e.index,post:e.post,commentPending:e.commentPending,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onAcknowledge:e.onAcknowledge,showAcknowledgeSection:e.showAcknowledgeSection,onAddComment:e.onAddComment,onShare:e.onShare,onClose:e.onClose,onChange:e.onChange,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:e.onEdit,showEditButton:e.showEditButton,onDelete:e.onDelete,showDeleteButton:e.showDeleteButton}),AT=({body:e,onOpenDetail:t})=>{let[n,i]=(0,r.useState)(!1),a=e.length>200;return(0,w.jsxs)(`p`,{className:W.cardBody,onClick:t,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&t()},style:{cursor:`pointer`},children:[a&&!n?`${e.slice(0,200)}...`:e,a&&(0,w.jsx)(`button`,{type:`button`,className:W.seeMoreBtn,onClick:e=>{e.stopPropagation(),n||t(),i(e=>!e)},children:n?` See less`:` See more`})]})},jT=(e,t,n,r)=>{let i=Vb();return{handleShare:()=>{t(!0),i.mutate(e.id)},handleImageClick:t=>{n(t),t!==null&&i.mutate(e.id)},handleOpenDetail:()=>{r(),i.mutate(e.id)}}},MT=({post:e,onAcknowledge:t,showAcknowledgeSection:n,toggleComments:r,handleImageClick:i,handleOpenDetail:a})=>(0,w.jsxs)(w.Fragment,{children:[e.title!==null&&(0,w.jsx)(xT,{title:e.title,onOpenDetail:a}),(0,w.jsx)(AT,{body:e.body,onOpenDetail:a}),(0,w.jsx)(Kw,{urls:e.imageUrls,onImageClick:i}),(0,w.jsx)(bT,{post:e,onAcknowledge:t,showAcknowledge:n}),(0,w.jsx)(_T,{post:e,onCommentClick:r})]}),NT=e=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(MT,{post:e.post,onAcknowledge:e.onAcknowledge,showAcknowledgeSection:e.showAcknowledgeSection,toggleComments:e.toggleComments,handleImageClick:e.handleImageClick,handleOpenDetail:e.handleOpenDetail}),(0,w.jsx)(yT,{post:e.post,commentsOpen:e.commentsOpen,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,onComment:e.toggleComments,onShare:e.handleShare}),e.commentsOpen&&(0,w.jsx)(Ww,{comments:e.post.comments,pending:e.commentPending,canComment:e.canComment,onAdd:e.onAddComment}),(0,w.jsx)(OT,{open:e.shareOpen,post:e.post,onClose:()=>{e.setShareOpen(!1)}}),(0,w.jsx)(kT,{index:e.lightboxIndex,post:e.post,commentPending:e.commentPending,onReact:e.onReact,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onAcknowledge:e.onAcknowledge,showAcknowledgeSection:e.showAcknowledgeSection,onAddComment:e.onAddComment,onShare:e.handleShare,onClose:()=>{e.setLightboxIndex(null)},onChange:e.setLightboxIndex,canReact:e.canReact,canComment:e.canComment,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:e.onEdit,showEditButton:e.showEditButton,onDelete:e.onDelete,showDeleteButton:e.showDeleteButton})]}),PT=e=>{let{post:t,setShareOpen:n,setLightboxIndex:r,onOpenDetail:i}=e,a=jT(t,n,r,i);return(0,w.jsx)(NT,{...e,...a})},FT=()=>{},IT=e=>{if(!(e.existingImages.length===0&&e.newPhotos.length===0&&e.sheet!==`photo`))return(0,w.jsx)(Vw,{existingImages:e.existingImages,newPhotos:e.newPhotos,onAddPhotos:t=>{e.handleAddPhotos(t)},onRemoveExisting:e.handleRemoveExisting,onRemoveNew:e.handleRemoveNew})},LT=e=>{let{data:t=[]}=Wb(),n=t.find(t=>t.id===e),[i,a]=(0,r.useState)(``),{rawItems:o,isLoadingItems:s,hasWebhook:c}=MC(n,i),{data:l=[]}=Hs();return{category:n,searchQuery:i,setSearchQuery:a,isLoadingItems:s,hasWebhook:c,categoryTemplates:jC(n,l),categoryItems:o.map(AC)}},RT=e=>{let t=LT(e.categoryId),n=n=>{t.setSearchQuery(``),e.setCategoryId(n.id)},r=(t,n)=>{e.setEditTitle(t),e.setEditBody(n),e.setSheet(null),e.setSelectedItem(null)};return{...t,handleSetCategory:n,handleApplyTemplate:r}},zT=({post:e,state:t})=>{let n=RT(t),{hasPermission:r}=ii(),i=r(T.feedUpdate);return(0,w.jsxs)(`div`,{style:{padding:`20px`,display:`flex`,flexDirection:`column`,gap:`12px`},children:[(0,w.jsx)(hw,{authorInfo:{name:e.authorName,initials:e.authorInitials,color:e.authorColor},audienceId:t.audienceId,taggedUsers:t.taggedUsers,feeling:t.feeling,location:t.location,onAudience:t.setAudienceId}),(0,w.jsx)(mw,{title:t.editTitle,setTitle:t.setEditTitle,body:t.editBody,setBody:t.setEditBody,bodyPlaceholder:`What's on your mind?`,category:n.category,feeling:t.feeling,location:t.location,sheet:t.sheet,categoryId:t.categoryId,audienceId:t.audienceId,mustRead:t.mustRead,taggedUserIds:t.taggedUsers.map(e=>e.id),setSheet:t.setSheet,setLocation:t.setLocation,setCategoryId:n.handleSetCategory,selectedItem:t.selectedItem,categoryItems:n.categoryItems,categoryTemplates:n.categoryTemplates,onSelectItem:t.setSelectedItem,onApplyTemplate:n.handleApplyTemplate,setFeeling:t.setFeeling,setAudienceId:t.setAudienceId,setMustRead:t.setMustRead,onToggleTag:t.toggleTag,photos:[],setPhotos:FT,isEditMode:!0,searchQuery:n.searchQuery,onSearchQuery:n.hasWebhook?n.setSearchQuery:void 0,isLoadingItems:n.isLoadingItems,editImagesNode:IT(t)}),t.mode===`schedule`&&(0,w.jsx)(CC,{value:t.schedule,timezone:t.timezone,onChange:t.setSchedule}),(0,w.jsx)(wC,{mode:t.mode,hideToggle:t.isAlreadyPublished,disabled:!i||t.isPending||!t.editBody.trim(),submitLabels:{schedule:t.isPending?`Saving...`:`Save schedule`,now:t.isPending?`Saving...`:`Save`},onMode:t.setMode,onCancel:t.handleCancel,onSubmit:t.handleSave})]})},BT=({post:e,commentPending:t,onReact:n,onBookmark:r,onAcknowledge:i,onAddComment:a,state:o,onOpenDetail:s,showAcknowledgeSection:c,canReact:l,canComment:u,showBookmarkButton:d,onPin:f,showPinButton:p,onEdit:m,showEditButton:h})=>o.isEditing?(0,w.jsx)(zT,{post:e,state:o}):(0,w.jsx)(PT,{post:e,commentsOpen:o.commentsOpen,commentPending:t,shareOpen:o.shareOpen,lightboxIndex:o.lightboxIndex,onReact:n,canReact:l,canComment:u,showAcknowledgeSection:c,onBookmark:r,showBookmarkButton:d,onAcknowledge:i,onAddComment:a,toggleComments:()=>{o.setCommentsOpen(e=>!e)},setShareOpen:o.setShareOpen,setLightboxIndex:o.setLightboxIndex,onOpenDetail:s,onPin:f,showPinButton:p,onEdit:m,showEditButton:h}),VT=(e,t)=>({handleEdit:()=>{e.setIsEditing(!0)},handleOpenDetail:()=>{t(!0)},handleEditFromDetail:()=>{e.setIsEditing(!0),t(!1)},handleShare:()=>{e.setShareOpen(!0)},handleCloseDetail:()=>{t(!1)}}),HT=e=>e.detailOpen?(0,w.jsx)(hT,{post:e.post,commentPending:e.commentPending,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:e.onEdit,showEditButton:e.isAuthor,onAcknowledge:e.onAcknowledge,showAcknowledgeSection:e.showAcknowledgeSection,onAddComment:e.onAddComment,onShare:e.onShare,onClose:e.onClose}):null,UT=e=>{let[n,i]=(0,r.useState)(!1),a=VT(e.state,i);return(0,w.jsxs)(t.C.article,{layout:`position`,id:`feed-post-${e.post.id}`,ref:e.elementRef,style:{y:e.cardY},className:W.card,children:[e.post.needsAcknowledgement&&(0,w.jsx)(`span`,{className:W.urgentStripe}),e.post.pinned&&(0,w.jsxs)(`div`,{className:W.pinnedRow,children:[(0,w.jsx)(Ie,{size:10,className:W.pin}),` Pinned`]}),(0,w.jsx)(ST,{post:e.post,isAuthor:e.isAuthor,isEditing:e.state.isEditing,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:a.handleEdit,onDelete:e.onDelete,showDeleteButton:e.showDeleteButton}),(0,w.jsx)(BT,{post:e.post,commentPending:e.commentPending,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,showAcknowledgeSection:e.showAcknowledgeSection,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onAcknowledge:e.onAcknowledge,onAddComment:e.onAddComment,state:e.state,onOpenDetail:a.handleOpenDetail,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:a.handleEdit,showEditButton:e.isAuthor}),(0,w.jsx)(HT,{post:e.post,detailOpen:n,commentPending:e.commentPending,isAuthor:e.isAuthor,canReact:e.canReact,canComment:e.canComment,showAcknowledgeSection:e.showAcknowledgeSection,showBookmarkButton:e.showBookmarkButton,showPinButton:e.showPinButton,onReact:e.onReact,onBookmark:e.onBookmark,onAcknowledge:e.onAcknowledge,onAddComment:e.onAddComment,onPin:e.onPin,onEdit:a.handleEditFromDetail,onShare:a.handleShare,onClose:a.handleCloseDetail})]})},WT=e=>{let t=(0,r.useRef)(null);(0,r.useEffect)(()=>{t.current=document.getElementById(`app-scroll-container`)},[]);let{scrollYProgress:n}=un({target:e,container:t,offset:[`start end`,`end start`]});return mn(n,[0,1],[-12,12])},GT=({post:e,commentPending:t,onReact:n,onBookmark:i,onAcknowledge:a,onAddComment:o})=>{let s=Rw(e),{user:c}=Dl(),{hasPermission:l}=ii(),u=e.authorUserId===c?.id,d=Ub(),f=Lb(),p=l(T.feedPin),m=l(T.feedReact),h=l(T.feedComment),g=l(T.feedBookmark),_=l(T.feedAcknowledge),v=l(T.feedDelete),y=()=>{d.mutateAsync({postId:e.id,pinned:!e.pinned})},b=()=>{f.mutateAsync(e.id)},x=(0,r.useRef)(null);return(0,w.jsx)(UT,{post:e,isAuthor:u,commentPending:t,onBookmark:i,showBookmarkButton:g,onPin:y,showPinButton:p,onDelete:b,showDeleteButton:v,showAcknowledgeSection:_,canReact:m,canComment:h,onReact:n,onAcknowledge:a,onAddComment:o,state:s,cardY:WT(x),elementRef:x})},KT=({posts:e})=>{let n=Rb(),r=zb(),i=Bb(),a=Hb();return(0,w.jsx)(w.Fragment,{children:e.map(e=>(0,w.jsx)(GT,{post:e,commentPending:a.isPending,onReact:t=>{n.mutate({postId:e.id,type:t})},onBookmark:()=>{r.mutate(e.id),t.l.success(e.bookmarked?`Bookmark removed`:`Post saved to bookmarks`)},onAcknowledge:()=>{i.mutate(e.id),t.l.success(`Post acknowledged`)},onAddComment:t=>{a.mutate({postId:e.id,text:t})}},e.id))})},qT=2,JT=e=>[...e].filter(e=>e.active).sort((e,t)=>e.priority-t.priority),YT=(e,t)=>e.find(e=>e.id===t.templateId),XT=(e,t,n)=>JT(e).map(e=>{let r=t.filter(t=>t.categoryId===e.id);return{id:e.id,name:e.name,color:e.color,count:r.length,template:YT(n,e),items:r.slice(0,qT)}}).filter(e=>e.count>0),ZT=e=>[{id:`all`,label:`All`},...JT(e).map(e=>({id:e.id,label:e.name}))],QT=e=>Object.values(e.values).join(` `).toLowerCase(),$T=(e,t,n)=>{let r=[];for(let i of JT(e.categories)){if(t!==`all`&&i.id!==t)continue;let a=YT(e.templates,i);if(a===void 0)continue;let o=e.promotions.filter(e=>e.categoryId===i.id),s=n===``?o:o.filter(e=>QT(e).includes(n));s.length>0&&r.push({category:i,template:a,items:s,count:o.length})}return r},eE=({onClose:e})=>(0,w.jsxs)(`div`,{className:W.ppHead,children:[(0,w.jsx)(`span`,{className:W.ppHeadIcon,children:(0,w.jsx)(Ce,{size:18})}),(0,w.jsxs)(`div`,{className:W.ppHeadText,children:[(0,w.jsx)(`h2`,{className:W.ppTitle,children:`Promotions & Campaigns`}),(0,w.jsx)(`p`,{className:W.ppSubtitle,children:`Latest campaigns, university updates, intake alerts and events.`}),(0,w.jsx)(`span`,{className:W.ppManaged,children:`Read-only · Managed by System Admin`})]}),(0,w.jsx)(`button`,{type:`button`,className:W.ppClose,"aria-label":`Close`,onClick:e,children:(0,w.jsx)(C,{size:18})})]}),tE=({tabs:e,active:n,onSelect:r})=>(0,w.jsx)(`div`,{className:W.ppTabs,children:e.map(e=>{let i=e.id===n;return(0,w.jsxs)(`button`,{type:`button`,className:t.at(W.ppTab,i&&W.ppTabActive),onClick:()=>{r(e.id)},children:[i&&(0,w.jsx)(t.C.span,{layoutId:`ppTabBg`,className:W.ppTabBg,transition:{type:`spring`,stiffness:420,damping:34}}),(0,w.jsx)(`span`,{className:W.ppTabLabel,children:e.label})]},e.id)})}),nE=({categories:e,promotions:n,templates:i,initialTab:a,onClose:o})=>{let[s,c]=(0,r.useState)(a),[l,u]=(0,r.useState)(``),d=ZT(e),f=$T({categories:e,promotions:n,templates:i},s,l.trim().toLowerCase());return(0,w.jsxs)(`div`,{className:W.ppRoot,children:[(0,w.jsx)(`button`,{type:`button`,className:W.ppOverlay,"aria-label":`Close promotions`,onClick:o}),(0,w.jsxs)(`div`,{className:W.ppPanel,role:`dialog`,"aria-label":`Promotions & Campaigns`,children:[(0,w.jsx)(eE,{onClose:o}),(0,w.jsx)(tE,{tabs:d,active:s,onSelect:c}),(0,w.jsxs)(`div`,{className:W.ppSearch,children:[(0,w.jsx)(Ge,{size:14,className:W.ppSearchIcon}),(0,w.jsx)(`input`,{type:`search`,className:W.ppSearchInput,placeholder:`Search promotions…`,value:l,onChange:e=>{u(e.target.value)}})]}),(0,w.jsx)(`div`,{className:W.ppList,children:(0,w.jsx)(t.T,{mode:`wait`,children:(0,w.jsx)(t.C.div,{className:W.ppListInner,initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0,y:-8},transition:{duration:.18,ease:`easeOut`},children:f.length===0?(0,w.jsx)(`p`,{className:W.ppEmpty,children:l.trim()===``?`No active promotions right now.`:`No promotions match.`}):f.map(e=>(0,w.jsx)(Js,{template:e.template,color:e.category.color,name:e.category.name,count:e.count,items:e.items},e.category.id))},s)})})]})]})},rE=({sections:e,onClose:n,onSeeAll:r,onSelectTab:i})=>(0,w.jsx)(t.C.div,{className:W.promoPopoverOverlay,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:e=>{e.target===e.currentTarget&&n()},children:(0,w.jsxs)(t.C.div,{className:W.promoPopoverCard,initial:{opacity:0,scale:.9,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.9,y:20},transition:{type:`spring`,damping:25,stiffness:300},children:[(0,w.jsxs)(`div`,{className:W.popoverHeader,children:[(0,w.jsx)(`button`,{type:`button`,className:W.popoverCloseX,onClick:n,"aria-label":`Close promotions modal`,children:(0,w.jsx)(C,{size:18})}),(0,w.jsx)(`div`,{className:W.popoverBadgeIcon,children:(0,w.jsx)(Ce,{size:24})}),(0,w.jsxs)(`div`,{className:W.popoverTitleRow,children:[(0,w.jsx)(`h3`,{className:W.popoverTitle,children:`Promotions & Campaigns`}),(0,w.jsx)(`button`,{type:`button`,className:W.popoverSeeAllBtn,onClick:()=>{n(),r()},children:`See all`})]}),(0,w.jsx)(`p`,{className:W.popoverSub,children:`Stay updated with active promotions and university campaigns`})]}),(0,w.jsx)(`div`,{className:W.popoverContent,children:e.length===0?(0,w.jsx)(`p`,{className:W.popoverEmpty,children:`No active promotions right now.`}):e.map(e=>e.template===void 0?null:(0,w.jsx)(Js,{template:e.template,color:e.color,name:e.name,count:e.count,items:e.items,onViewAll:()=>{n(),i(e.id)}},e.id))})]})}),iE=({sections:e,onSeeAll:t,onSelectTab:n})=>(0,w.jsxs)(`aside`,{className:W.rail,children:[(0,w.jsxs)(`div`,{className:W.railHead,children:[(0,w.jsxs)(`span`,{className:W.railHeadTitle,children:[(0,w.jsx)(Ce,{size:11}),` PROMOTIONS & CAMPAIGNS`]}),(0,w.jsx)(`button`,{type:`button`,className:W.railSeeAll,onClick:t,children:`See all`})]}),(0,w.jsx)(`div`,{className:W.railList,children:e.length===0?(0,w.jsx)(`p`,{className:W.railFoot,children:`No active promotions right now.`}):e.map(e=>e.template===void 0?null:(0,w.jsx)(Js,{template:e.template,color:e.color,name:e.name,count:e.count,items:e.items,onViewAll:()=>{n(e.id)}},e.id))}),(0,w.jsx)(`div`,{className:W.railFoot,children:`Managed by System Admin`})]}),aE=({onOpen:e})=>{let[n,i]=(0,r.useState)(!1),[a,o]=(0,r.useState)(!1),s=(0,r.useRef)(0);return(0,r.useEffect)(()=>{let e=document.getElementById(`app-scroll-container`);if(!e)return;let t=()=>{let t=e.scrollTop;t<=4||t<s.current?o(!1):o(!0),s.current=t};return e.addEventListener(`scroll`,t,{passive:!0}),()=>{e.removeEventListener(`scroll`,t)}},[]),(0,r.useEffect)(()=>{if(!n)return;let e=setTimeout(()=>{i(!1)},4e3);return()=>{clearTimeout(e)}},[n]),(0,w.jsxs)(`button`,{type:`button`,className:t.at(W.mobilePromoTrigger,n&&W.mobilePromoExpanded,a&&W.mobilePromoTriggerBarHidden),onClick:()=>{n?(i(!1),e()):i(!0)},"aria-label":`Promotions & Campaigns`,children:[(0,w.jsx)(`span`,{className:W.promoShimmerSweep}),(0,w.jsx)(`span`,{className:W.promoIconWrap,children:(0,w.jsx)(Ce,{size:15,className:W.sparkleIcon})}),(0,w.jsx)(`span`,{className:W.promoBtnText,children:`Promotions & Campaigns`})]})},oE=()=>{let e=Is(),n=Rs(),i=Ls(),[a,o]=(0,r.useState)(null),[s,c]=(0,r.useState)(!1),l=e.data??[],u=n.data??[],d=i.data??[],f=XT(l,u,d);return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(iE,{sections:f,onSeeAll:()=>{o(`all`)},onSelectTab:e=>{o(e)}}),(0,w.jsx)(aE,{onOpen:()=>{c(!0)}}),(0,w.jsx)(t.T,{children:s&&(0,w.jsx)(rE,{sections:f,onClose:()=>{c(!1)},onSeeAll:()=>{o(`all`)},onSelectTab:e=>{o(e)}})}),a!==null&&(0,w.jsx)(nE,{categories:l,promotions:u,templates:d,initialTab:a,onClose:()=>{o(null)}})]})},sE=[{id:`for_you`,label:`For You`},{id:`team`,label:`Team Updates`},{id:`company`,label:`Company Wide`},{id:`saved`,label:`Saved Posts`,icon:f}],cE=({scope:e,onChange:n})=>{let r=Pb(`saved`).data?.pages[0]?.totalCount;return(0,w.jsx)(`div`,{className:W.tabs,children:sE.map(i=>{let a=i.icon;return(0,w.jsxs)(`button`,{type:`button`,className:t.at(W.tab,e===i.id&&W.tabActive),onClick:()=>{n(i.id)},children:[a!==void 0&&(0,w.jsx)(a,{size:13}),i.label,i.id===`saved`&&r!==void 0&&r>0&&(0,w.jsx)(`span`,{className:W.tabBadge,children:r})]},i.id)})})},lE={skeletonCard:`_skeletonCard_7d381_1`,skeletonHeader:`_skeletonHeader_7d381_11`,skeletonAvatar:`_skeletonAvatar_7d381_17`,pulse:`_pulse_7d381_1`,skeletonMeta:`_skeletonMeta_7d381_25`,skeletonLine:`_skeletonLine_7d381_32`,short:`_short_7d381_39`,medium:`_medium_7d381_43`,full:`_full_7d381_47`,skeletonBody:`_skeletonBody_7d381_51`},uE=({count:e=3})=>(0,w.jsx)(w.Fragment,{children:Array.from({length:e}).map((e,n)=>(0,w.jsxs)(`div`,{className:lE.skeletonCard,children:[(0,w.jsxs)(`div`,{className:lE.skeletonHeader,children:[(0,w.jsx)(`div`,{className:lE.skeletonAvatar}),(0,w.jsxs)(`div`,{className:lE.skeletonMeta,children:[(0,w.jsx)(`div`,{className:t.at(lE.skeletonLine,lE.medium)}),(0,w.jsx)(`div`,{className:t.at(lE.skeletonLine,lE.short)})]})]}),(0,w.jsxs)(`div`,{className:lE.skeletonBody,children:[(0,w.jsx)(`div`,{className:t.at(lE.skeletonLine,lE.full)}),(0,w.jsx)(`div`,{className:t.at(lE.skeletonLine,lE.full)}),(0,w.jsx)(`div`,{className:t.at(lE.skeletonLine,lE.medium)})]})]},n))}),dE=(e,t,n)=>{let r=Rb(),i=zb(),a=Bb(),o=Hb(),s=Ub(),c=Lb();return{handleReact:t=>{r.mutateAsync({postId:e.id,type:t})},handleBookmark:()=>{i.mutateAsync(e.id)},handleAcknowledge:()=>{a.mutateAsync(e.id)},handleAddComment:t=>{o.mutateAsync({postId:e.id,text:t})},handlePin:()=>{s.mutateAsync({postId:e.id,pinned:!e.pinned})},handleEdit:()=>{t.setIsEditing(!0)},handleDelete:()=>{c.mutateAsync(e.id),n()},handleShare:()=>{t.setShareOpen(!0)},handleCloseShare:()=>{t.setShareOpen(!1)},commentPending:o.isPending}},fE=({post:e,state:t})=>(0,w.jsx)(`div`,{className:G.lightboxOverlay,children:(0,w.jsxs)(`div`,{className:G.lightboxContainerTextOnly,style:{padding:0},children:[(0,w.jsx)(`button`,{type:`button`,className:G.lightboxClose,onClick:()=>{t.setIsEditing(!1)},"aria-label":`Close edit`,children:(0,w.jsxs)(`svg`,{width:`24`,height:`24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,w.jsx)(`path`,{d:`M18 6 6 18`}),(0,w.jsx)(`path`,{d:`m6 6 12 12`})]})}),(0,w.jsx)(`div`,{style:{flex:1,overflowY:`auto`},children:(0,w.jsx)(zT,{post:e,state:t})})]})}),pE=({post:e,onClose:n})=>{let[a,o]=(0,r.useState)(0),{data:s}=Yb(e.id),c=s??e,l=Rw(c),u=dE(c,l,n),d=t.Z(),{user:f}=Dl(),{hasPermission:p}=ii(),m=c.authorUserId===f?.id,h=p(T.feedPin),g=p(T.feedReact),_=p(T.feedComment),v=p(T.feedBookmark),y=p(T.feedAcknowledge),b=p(T.feedDelete);return l.isEditing?(0,i.createPortal)((0,w.jsx)(fE,{post:c,state:l}),d??document.body):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(DT,{post:c,urls:c.imageUrls,index:a,onChange:o,commentPending:u.commentPending,onReact:u.handleReact,canReact:g,canComment:_,onBookmark:u.handleBookmark,showBookmarkButton:v,onAcknowledge:u.handleAcknowledge,showAcknowledgeSection:y,onAddComment:u.handleAddComment,onPin:u.handlePin,showPinButton:h,onEdit:u.handleEdit,showEditButton:m,onDelete:u.handleDelete,showDeleteButton:b,onShare:u.handleShare,onClose:n}),(0,w.jsx)(OT,{post:c,open:l.shareOpen,onClose:u.handleCloseShare})]})},mE=e=>{sx(`feed-post-${e}`,`app-scroll-container`,`start`)},hE=({post:e,onView:n,onDismiss:r,displayZone:i})=>{let{categoryLabel:a,categoryColor:o}=Xb(e);return(0,w.jsxs)(`div`,{className:W.missedCard,children:[(0,w.jsx)(`button`,{type:`button`,className:W.missedClose,"aria-label":`Dismiss`,onClick:r,children:(0,w.jsx)(C,{size:11,strokeWidth:2.5})}),(0,w.jsxs)(`div`,{className:W.missedCardTop,children:[(0,w.jsx)(`span`,{className:W.missedDot,style:t.it({"--dot":o})}),(0,w.jsx)(`span`,{className:W.missedCat,children:a}),(0,w.jsx)(`span`,{className:W.missedTime,children:ox(e.createdAt,i,e.scheduledAt)})]}),(0,w.jsx)(`p`,{className:W.missedSummary,children:e.title??e.body}),(0,w.jsxs)(`div`,{className:W.missedFoot,children:[(0,w.jsxs)(`button`,{type:`button`,className:W.missedCta,onClick:n,children:[`View post `,(0,w.jsx)(t.ct,{size:10,strokeWidth:3})]}),e.mustAcknowledge&&(0,w.jsxs)(`span`,{className:W.missedPriority,children:[(0,w.jsx)(te,{size:8}),` Priority`]})]})]})},gE=({posts:e})=>{let[i,a]=(0,r.useState)(new Set),[o,s]=(0,r.useState)(!1),c=(0,r.useRef)(null),l=n.m().display,d=e.filter(e=>e.mustAcknowledge&&!i.has(e.id)&&!e.acknowledged);if(o||d.length===0)return null;let f=e=>{c.current?.scrollBy({left:e*300,behavior:`smooth`})},p=d.length>2;return(0,w.jsxs)(`div`,{className:W.missed,children:[(0,w.jsxs)(`div`,{className:W.missedHead,children:[(0,w.jsx)(u,{size:14,className:W.missedSpark}),(0,w.jsx)(`span`,{className:W.missedTitle,children:`WHAT YOU MISSED`}),(0,w.jsx)(`span`,{className:W.missedBadge,children:d.length}),(0,w.jsx)(`button`,{type:`button`,className:W.missedRead,onClick:()=>{s(!0)},children:`Mark all read`})]}),(0,w.jsxs)(`div`,{className:t.at(W.missedScroller,p&&W.missedScrollerFade),children:[p&&(0,w.jsx)(`button`,{type:`button`,className:t.at(W.missedNav,W.missedNavLeft),"aria-label":`Scroll left`,onClick:()=>{f(-1)},children:(0,w.jsx)(S,{size:16})}),(0,w.jsx)(`div`,{className:W.missedTrack,ref:c,children:d.map(e=>(0,w.jsx)(hE,{post:e,displayZone:l,onView:()=>{mE(e.id)},onDismiss:()=>{a(t=>new Set(t).add(e.id))}},e.id))}),p&&(0,w.jsx)(`button`,{type:`button`,className:t.at(W.missedNav,W.missedNavRight),"aria-label":`Scroll right`,onClick:()=>{f(1)},children:(0,w.jsx)(t.ct,{size:16})})]})]})},_E=(e,t)=>{let n=t.trim();if(n===``)return e;let r=n.replace(/\s+/g,` `).toLowerCase();return e.filter(e=>[e.authorName,e.authorRole,e.audienceLabel,e.timestamp,e.title,e.body].filter(Boolean).join(` `).replace(/\s+/g,` `).toLowerCase().includes(r))},vE=(e,t,n)=>{let i=(0,r.useRef)(null),a=(0,r.useCallback)(r=>{r[0]?.isIntersecting&&e&&!t&&n()},[e,t,n]);return(0,r.useEffect)(()=>{let e=i.current;if(!e)return;let t=new IntersectionObserver(a,{rootMargin:`2000px`});return t.observe(e),()=>{t.disconnect()}},[a]),i},yE=e=>{let[n,i]=t.ut(),a=Yb(n.get(`postId`));(0,r.useEffect)(()=>{if(a.data===void 0)return;e(a.data);let t=new URLSearchParams(window.location.search);t.has(`postId`)&&(t.delete(`postId`),i(t,{replace:!0}))},[a.data])},bE=()=>{let[e,n]=(0,r.useState)(`for_you`),[i,a]=(0,r.useState)(``),[o,s]=(0,r.useState)(null),c=Pb(e),{hasPermission:l}=ii(),u=l(T.feedPost),{hasNextPage:d,isFetchingNextPage:f,fetchNextPage:p}=c,m=_E(c.data?c.data.pages.flatMap(e=>e.items):[],i);yE(e=>{s(e)});let h=vE(d,f,p);return(0,w.jsxs)(`div`,{className:W.screen,children:[(0,w.jsx)(`div`,{className:W.toolbar,children:(0,w.jsxs)(`div`,{className:W.toolbarContainer,children:[(0,w.jsxs)(`div`,{className:W.search,children:[(0,w.jsx)(Ge,{size:14,className:W.searchIcon}),(0,w.jsx)(`input`,{type:`search`,className:W.searchInput,placeholder:`Search posts by keyword, title, author, or role…`,value:i,onChange:e=>{a(e.target.value)}})]}),(0,w.jsx)(`div`,{className:W.toolbarRailSpacer})]})}),(0,w.jsxs)(`div`,{className:W.wrapper,children:[(0,w.jsxs)(`div`,{className:W.column,children:[(0,w.jsx)(cE,{scope:e,onChange:e=>{n(e)}}),(0,w.jsx)(gE,{posts:m}),u&&(0,w.jsx)(ww,{}),c.isPending&&(0,w.jsx)(uE,{count:3}),c.isError&&(0,w.jsx)(t.et,{tone:`error`,title:`Could not load the feed`,children:c.error.message}),c.isSuccess&&m.length===0&&(0,w.jsx)(Tw,{}),(0,w.jsx)(KT,{posts:m}),(0,w.jsx)(`div`,{ref:h,style:{height:`20px`,width:`100%`},children:c.isFetchingNextPage&&(0,w.jsx)(`div`,{style:{display:`flex`,justifyContent:`center`,padding:`1rem`},children:(0,w.jsx)(t.nt,{})})})]}),(0,w.jsx)(oE,{})]}),o!==null&&(0,w.jsx)(pE,{post:o,onClose:()=>{s(null)}})]})},xE=({path:e,children:n})=>(0,w.jsxs)(t.mt,{children:[(0,w.jsx)(t.pt,{path:e,element:(0,w.jsx)(w.Fragment,{children:n})}),(0,w.jsx)(t.pt,{path:`*`,element:(0,w.jsx)(t.ft,{to:e,replace:!0})})]}),SE=()=>{pC(`uapp-feed`,()=>(0,w.jsx)(xE,{path:`/comms/feed`,children:(0,w.jsx)(bE,{})}))},CE=e=>{let t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?`?`:((t[0]?.[0]??``)+(t.length>1?t[t.length-1]?.[0]??``:``)).toUpperCase()},wE=()=>{let{user:e}=Dl(),t=e?.fullName??``;return{id:e?.id??``,name:t,initials:CE(t),color:`#0f1f1f`,role:`Organizer`}},TE=(e,t,n)=>{let r=new Date(e).getTime(),i=new Date(t).getTime();return n.some(e=>new Date(e.startUtc).getTime()<i&&new Date(e.endUtc).getTime()>r)},EE=(e,t,n)=>{let r=new Date(e).getTime(),i=new Date(t).getTime();return n.some(e=>new Date(e.startUtc).getTime()<=r&&new Date(e.endUtc).getTime()>=i)},DE=e=>{let t=e=>{let[t,n]=e.split(`:`).map(Number);return(t??0)*60+(n??0)},n=e=>`${String(Math.floor(e/60)).padStart(2,`0`)}:${String(e%60).padStart(2,`0`)}`,r=t(e.end),i=[];for(let a=t(e.start);a+30<=r;a+=30)i.push({start:n(a),end:n(a+30),label:`${n(a)} – ${n(a+30)}`});return i},OE=(e,t)=>{let n=e??t,r=n.getFullYear(),i=String(n.getMonth()+1).padStart(2,`0`),a=String(n.getDate()).padStart(2,`0`);return`${String(r)}-${i}-${a}`},kE=(e,t)=>new Date(e).toLocaleTimeString(`en-US`,{hour:`numeric`,minute:`2-digit`,hour12:!0,timeZone:t}),AE=(e,t,n)=>!e||!t?``:`${kE(e,n)} – ${kE(t,n)}`,jE=(e,t)=>e?new Date(e).toLocaleDateString(`en-US`,{weekday:`short`,day:`numeric`,month:`short`,timeZone:t}):``,ME=(e,t)=>t.id!==``&&e===t.id,NE=(e,t,n)=>{if(ME(e,n))return n.name.split(` `)[0]??n.name;let r=t.find(t=>t.id===e);return r===void 0?``:r.name.split(` `)[0]??``},PE=(e,t,n)=>{if(ME(e,n))return{name:`${n.name} (You)`,role:n.role,initials:n.initials,color:n.color};let r=t.find(t=>t.id===e);return{name:r?.name??``,role:r?.role??``,initials:r?.initials??``,color:r?.color??`#555`}},FE=(e,t,r)=>{let i=new Date(n.b(e,`00:00`,t));return{rangeStart:i,rangeEnd:new Date(i.getTime()+1440*60*1e3),workWindows:r?.active?r.slots.map(r=>({start:new Date(n.b(e,r.from,t)),end:new Date(n.b(e,r.to,t))})):[]}},IE=(e,t,r,i)=>{let a=[],o=(e,t)=>{a.push({startUtc:new Date(e).getTime(),endUtc:new Date(t).getTime()})};i.workWindows.forEach(e=>{o(e.start,e.end)}),r.forEach(e=>{n.At(e,i.rangeStart,i.rangeEnd).forEach(e=>{o(e.start,e.end)})}),e.forEach(e=>{let n=t.get(e);n&&(n.workingHours.forEach(e=>{o(e.startUtc,e.endUtc)}),n.busy.forEach(e=>{o(e.startUtc,e.endUtc)}))});let s=i.rangeStart.getTime(),c=i.rangeEnd.getTime(),l=a.filter(e=>e.startUtc<c&&e.endUtc>s).map(e=>({startOffsetMs:Math.max(e.startUtc,s)-s,endOffsetMs:Math.min(e.endUtc,c)-s}));if(l.length===0)return{start:`09:00`,end:`17:00`};let u=1440*60*1e3,d=0;l.forEach(e=>{e.startOffsetMs<u&&(u=e.startOffsetMs),e.endOffsetMs>d&&(d=e.endOffsetMs)});let f=Math.floor(Math.max(0,u/6e4-60)/30)*30,p=Math.ceil(Math.min(1440,d/6e4+60)/30)*30,m=e=>`${String(Math.floor(e/60)).padStart(2,`0`)}:${String(e%60).padStart(2,`0`)}`;return{start:m(f),end:m(p)}},LE=2*6e4,RE=e=>new Date(e).getTime()<Date.now()-LE,K={bookCard:`_bookCard_11n7l_7`,bookTopBar:`_bookTopBar_11n7l_16`,bookGrid:`_bookGrid_11n7l_26`,colCalendar:`_colCalendar_11n7l_31`,search:`_search_11n7l_37`,searchIcon:`_searchIcon_11n7l_42`,searchInput:`_searchInput_11n7l_50`,contactList:`_contactList_11n7l_61`,contactRow:`_contactRow_11n7l_72`,contactActive:`_contactActive_11n7l_91`,contactAvatar:`_contactAvatar_11n7l_96`,contactText:`_contactText_11n7l_112`,contactName:`_contactName_11n7l_120`,contactRole:`_contactRole_11n7l_135`,contactCheck:`_contactCheck_11n7l_144`,contactCheckOn:`_contactCheckOn_11n7l_158`,contactCheckIcon:`_contactCheckIcon_11n7l_164`,contactEmpty:`_contactEmpty_11n7l_170`,calHead:`_calHead_11n7l_177`,calMonth:`_calMonth_11n7l_184`,calNav:`_calNav_11n7l_190`,calNavBtn:`_calNavBtn_11n7l_195`,calDays:`_calDays_11n7l_208`,calDayLabel:`_calDayLabel_11n7l_214`,calGrid:`_calGrid_11n7l_222`,calCell:`_calCell_11n7l_228`,calCellToday:`_calCellToday_11n7l_248`,calCellSelected:`_calCellSelected_11n7l_254`,calCellPast:`_calCellPast_11n7l_262`,calCellBlank:`_calCellBlank_11n7l_267`,bookBar:`_bookBar_11n7l_272`,bookHint:`_bookHint_11n7l_282`,bookSummary:`_bookSummary_11n7l_287`,bookSummaryName:`_bookSummaryName_11n7l_295`,bookSummarySlot:`_bookSummarySlot_11n7l_300`,bookBtn:`_bookBtn_11n7l_305`,disabledBtnWrapper:`_disabledBtnWrapper_11n7l_326`,confirmBody:`_confirmBody_11n7l_331`,confirmWho:`_confirmWho_11n7l_337`,confirmAvatar:`_confirmAvatar_11n7l_347`,confirmWhoText:`_confirmWhoText_11n7l_361`,confirmName:`_confirmName_11n7l_368`,confirmRole:`_confirmRole_11n7l_374`,confirmRows:`_confirmRows_11n7l_379`,confirmRow:`_confirmRow_11n7l_379`,confirmRowIcon:`_confirmRowIcon_11n7l_396`,confirmRowLabel:`_confirmRowLabel_11n7l_408`,confirmRowValue:`_confirmRowValue_11n7l_416`,bookedNote:`_bookedNote_11n7l_424`,typeSelector:`_typeSelector_11n7l_434`,typeBtn:`_typeBtn_11n7l_442`,typeBtnActive:`_typeBtnActive_11n7l_460`},zE=({spanKey:e,name:n,dateLabel:r,formattedSlot:i})=>(0,w.jsxs)(t.C.span,{className:K.bookSummary,initial:{opacity:0,x:-6},animate:{opacity:1,x:0},exit:{opacity:0},children:[(0,w.jsx)(`span`,{className:K.bookSummaryName,children:n}),` · `,r,` ·`,` `,(0,w.jsx)(`span`,{className:K.bookSummarySlot,children:i})]},e),BE=({meetingType:e,contact:t,dateLabel:n,slot:r,selectedContactIds:i,groupTitle:a,formattedSlot:o})=>e===`1:1`?t!==null&&n!==``&&r!==null?(0,w.jsx)(zE,{spanKey:`summary`,name:t.name,dateLabel:n,formattedSlot:o}):null:i.length>0&&n!==``&&r!==null?(0,w.jsx)(zE,{spanKey:`group-summary`,name:`${a||`Group Meeting`} (${String(i.length)} guests)`,dateLabel:n,formattedSlot:o}):null,VE=({success:e,meetingType:n,contact:r,dateLabel:i,slot:a,selectedContactIds:o,groupTitle:s,selectedSlot:c,tzId:l})=>{if(e)return(0,w.jsxs)(t.C.span,{className:K.bookedNote,initial:{opacity:0,x:-6},animate:{opacity:1,x:0},exit:{opacity:0},children:[(0,w.jsx)(b,{size:14,strokeWidth:3}),` Meeting booked — see the Scheduled tab.`]},`done`);let u=BE({meetingType:n,contact:r,dateLabel:i,slot:a,selectedContactIds:o,groupTitle:s,formattedSlot:c?AE(c.startUtc,c.endUtc,l):``});return u===null?(0,w.jsx)(`span`,{className:K.bookHint,children:n===`1:1`?`Pick a person, a date, and a time to book.`:`Select participants, set group title, pick a date and a time to book.`},`hint`):u},HE=({contact:e,dateLabel:n,slot:r,canBook:i,success:a,meetingType:o,selectedContactIds:s,groupTitle:l,onBook:u,selectedSlot:d,tzId:f})=>(0,w.jsxs)(`div`,{className:K.bookBar,children:[(0,w.jsx)(t.T,{mode:`wait`,children:(0,w.jsx)(VE,{success:a,meetingType:o,contact:e,dateLabel:n,slot:r,selectedContactIds:s,groupTitle:l,selectedSlot:d,tzId:f})}),(0,w.jsxs)(t.C.button,{type:`button`,className:K.bookBtn,disabled:!i,...i?{whileTap:{scale:.97}}:{},onClick:()=>{u()},children:[`Confirm booking `,(0,w.jsx)(c,{size:15})]})]}),UE=[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],WE=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],GE=e=>e.toLocaleDateString(`en-GB`,{weekday:`short`,day:`2-digit`,month:`short`}),KE=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),qE=(e,t,n)=>{let r=new Date(e,t,1).getDay(),i=new Date(e,t+1,0).getDate(),a=new Date(n.getFullYear(),n.getMonth(),n.getDate()),o=Array.from({length:r},()=>null);for(let r=1;r<=i;r+=1){let i=new Date(e,t,r);o.push({day:r,date:i,past:i<a,today:KE(i,n)})}return o},JE={col:`_col_18ut1_6`,colTitle:`_colTitle_18ut1_13`,stepDot:`_stepDot_18ut1_22`},YE=({cell:e,selected:n,onPick:r})=>(0,w.jsx)(t.C.button,{type:`button`,disabled:e.past,...e.past?{}:{whileHover:{scale:1.12},whileTap:{scale:.9}},className:t.at(K.calCell,e.past&&K.calCellPast,e.today&&K.calCellToday,n?.toDateString()===e.date.toDateString()&&K.calCellSelected),onClick:()=>{r(e.date)},children:e.day}),XE=({view:e,today:n,selected:r,onShift:i,onPick:a})=>(0,w.jsxs)(`div`,{className:K.colCalendar,children:[(0,w.jsxs)(`div`,{className:JE.colTitle,children:[(0,w.jsx)(`span`,{className:JE.stepDot,children:`2`}),` Pick a date`]}),(0,w.jsxs)(`div`,{className:K.calHead,children:[(0,w.jsxs)(`span`,{className:K.calMonth,children:[WE[e.month],` `,e.year]}),(0,w.jsxs)(`div`,{className:K.calNav,children:[(0,w.jsx)(t.C.button,{type:`button`,"aria-label":`Previous month`,className:K.calNavBtn,whileTap:{scale:.88},onClick:()=>{i(-1)},children:(0,w.jsx)(S,{size:15})}),(0,w.jsx)(t.C.button,{type:`button`,"aria-label":`Next month`,className:K.calNavBtn,whileTap:{scale:.88},onClick:()=>{i(1)},children:(0,w.jsx)(t.ct,{size:15})})]})]}),(0,w.jsx)(`div`,{className:K.calDays,children:UE.map(e=>(0,w.jsx)(`span`,{className:K.calDayLabel,children:e},e))}),(0,w.jsx)(t.C.div,{className:K.calGrid,initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.18,ease:[.22,1,.36,1]},children:qE(e.year,e.month,n).map((e,t)=>e===null?(0,w.jsx)(`span`,{className:K.calCellBlank},`blank-${String(t)}`):(0,w.jsx)(YE,{cell:e,selected:r,onPick:a},e.day))},`${String(e.year)}-${String(e.month)}`)]}),ZE={hidden:{},visible:{transition:{staggerChildren:.05,delayChildren:.05}}},QE={hidden:{opacity:0,x:-8},visible:{opacity:1,x:0,transition:{duration:.18,ease:`easeOut`}}},$E=({icon:e,label:n,value:r})=>(0,w.jsxs)(t.C.div,{className:K.confirmRow,variants:QE,children:[(0,w.jsx)(`span`,{className:K.confirmRowIcon,children:e}),(0,w.jsx)(`span`,{className:K.confirmRowLabel,children:n}),(0,w.jsx)(`span`,{className:K.confirmRowValue,children:r})]}),eD=({contact:e,dateLabel:n,formattedSlot:r,zone:i})=>(0,w.jsxs)(`div`,{className:K.confirmBody,children:[(0,w.jsxs)(`div`,{className:K.confirmWho,children:[(0,w.jsx)(`span`,{className:K.confirmAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`span`,{className:K.confirmWhoText,children:[(0,w.jsx)(`span`,{className:K.confirmName,children:e.name}),(0,w.jsx)(`span`,{className:K.confirmRole,children:e.role})]})]}),(0,w.jsxs)(t.C.div,{className:K.confirmRows,variants:ZE,initial:`hidden`,animate:`visible`,children:[(0,w.jsx)($E,{icon:(0,w.jsx)(g,{size:15}),label:`Date`,value:n}),(0,w.jsx)($E,{icon:(0,w.jsx)(t.ot,{size:15}),label:`Time`,value:r}),(0,w.jsx)($E,{icon:(0,w.jsx)(fe,{size:15}),label:`Timezone`,value:`${i.city} · ${i.offset}`}),(0,w.jsx)($E,{icon:(0,w.jsx)(lt,{size:15}),label:`Location`,value:`Online — link generated automatically`})]})]}),tD=({open:e,contact:n,dateLabel:r,slot:i,zone:a,pending:o,onConfirm:s,onClose:c,selectedSlot:l,tzId:u})=>{let{hasPermission:d}=ii(),f=d(T.meetingsBook),p=AE(l?.startUtc,l?.endUtc,u);return(0,w.jsx)(t.y,{open:e&&n!==null&&i!==null&&r!==``,onOpenChange:e=>{e||c()},title:`Confirm your booking`,description:`A calendar invite is sent to both of you once confirmed.`,footer:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(t.tt,{variant:`ghost`,onClick:c,children:`Back`}),(0,w.jsx)(t.p,{label:`You don't have permission to book meetings`,side:`top`,children:(0,w.jsx)(`span`,{className:K.disabledBtnWrapper,children:(0,w.jsx)(t.tt,{isLoading:o,disabled:!f||o,onClick:s,children:`Confirm booking`})})})]}),children:n!==null&&i!==null?(0,w.jsx)(eD,{contact:n,dateLabel:r,formattedSlot:p,zone:a}):null})},nD={titleWrap:`_titleWrap_18nb9_3`,titleInput:`_titleInput_18nb9_7`},rD={hidden:{},visible:{transition:{staggerChildren:.04}}},iD=({contact:e,active:n,onSelect:r})=>(0,w.jsxs)(t.C.button,{type:`button`,layout:!0,variants:t.x,whileHover:{x:3},whileTap:{scale:.985},transition:{type:`spring`,stiffness:500,damping:34},className:t.at(K.contactRow,n&&K.contactActive),onClick:r,children:[(0,w.jsx)(`span`,{className:K.contactAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`span`,{className:K.contactText,children:[(0,w.jsx)(`span`,{className:K.contactName,children:e.name}),(0,w.jsx)(`span`,{className:K.contactRole,children:e.role})]}),(0,w.jsx)(`span`,{className:t.at(K.contactCheck,n&&K.contactCheckOn),children:(0,w.jsx)(t.T,{children:n&&(0,w.jsx)(t.C.span,{className:K.contactCheckIcon,initial:{scale:0},animate:{scale:1},exit:{scale:0},transition:{type:`spring`,stiffness:500,damping:28},children:(0,w.jsx)(b,{size:11,strokeWidth:3})})})})]}),aD=({contacts:e,selectedId:n,search:r,onSearch:i,onSelect:a,mode:o=`1:1`,selectedIds:s=[],onSelectGroup:c,groupTitle:l=``,onGroupTitleChange:u})=>(0,w.jsxs)(`div`,{className:JE.col,children:[(0,w.jsxs)(`div`,{className:JE.colTitle,children:[(0,w.jsx)(`span`,{className:JE.stepDot,children:`1`}),` `,o===`group`?`Configure Group Event`:`Choose a person`]}),o===`group`&&u&&(0,w.jsx)(`div`,{className:nD.titleWrap,children:(0,w.jsx)(`input`,{type:`text`,className:t.at(K.searchInput,nD.titleInput),placeholder:`Group Event Title (e.g. Team Sync)`,value:l,onChange:e=>{u(e.target.value)}})}),(0,w.jsxs)(`div`,{className:K.search,children:[(0,w.jsx)(Ge,{size:14,className:K.searchIcon}),(0,w.jsx)(`input`,{type:`search`,className:K.searchInput,placeholder:`Search people…`,value:r,onChange:e=>{i(e.target.value)}})]}),(0,w.jsxs)(t.C.div,{className:K.contactList,variants:rD,initial:`hidden`,animate:`visible`,children:[(0,w.jsx)(t.T,{initial:!1,children:e.map(e=>(0,w.jsx)(iD,{contact:e,active:o===`group`?s.includes(e.id):n===e.id,onSelect:()=>{o===`group`&&c?c(s.includes(e.id)?s.filter(t=>t!==e.id):[...s,e.id]):a(e.id)}},e.id))}),e.length===0&&(0,w.jsx)(`p`,{className:K.contactEmpty,children:`No people match.`})]})]}),q={wizardContainer:`_wizardContainer_pyr7v_8`,stepper:`_stepper_pyr7v_17`,stepItem:`_stepItem_pyr7v_27`,stepLine:`_stepLine_pyr7v_34`,stepLineActive:`_stepLineActive_pyr7v_40`,stepCircle:`_stepCircle_pyr7v_44`,stepCircleActive:`_stepCircleActive_pyr7v_60`,stepCircleDone:`_stepCircleDone_pyr7v_66`,stepText:`_stepText_pyr7v_72`,stepTextActive:`_stepTextActive_pyr7v_78`,wizardContent:`_wizardContent_pyr7v_83`,wizardRow:`_wizardRow_pyr7v_90`,wizardPanelLeft:`_wizardPanelLeft_pyr7v_96`,wizardPanelRight:`_wizardPanelRight_pyr7v_106`,timePanelLeft:`_timePanelLeft_pyr7v_114`,wizardList:`_wizardList_pyr7v_118`,timePanelRight:`_timePanelRight_pyr7v_128`,panelHeading:`_panelHeading_pyr7v_132`,wizardSearch:`_wizardSearch_pyr7v_139`,wizardListBtn:`_wizardListBtn_pyr7v_159`,wizardListBtnActive:`_wizardListBtnActive_pyr7v_176`,avatar:`_avatar_pyr7v_181`,avatarSmall:`_avatarSmall_pyr7v_193`,contactName:`_contactName_pyr7v_205`,contactRole:`_contactRole_pyr7v_211`,checkbox:`_checkbox_pyr7v_217`,checkboxActive:`_checkboxActive_pyr7v_228`,panelHeader:`_panelHeader_pyr7v_234`,badge:`_badge_pyr7v_246`,selectedGrid:`_selectedGrid_pyr7v_254`,selectedEmpty:`_selectedEmpty_pyr7v_274`,selectedEmptyIcon:`_selectedEmptyIcon_pyr7v_285`,selectedItemCard:`_selectedItemCard_pyr7v_291`,cardName:`_cardName_pyr7v_301`,cardRole:`_cardRole_pyr7v_310`,removeBtn:`_removeBtn_pyr7v_318`,attendeeStatusItem:`_attendeeStatusItem_pyr7v_337`,statusIndicator:`_statusIndicator_pyr7v_346`,statusIndicatorAvail:`_statusIndicatorAvail_pyr7v_353`,statusIndicatorBusy:`_statusIndicatorBusy_pyr7v_357`,statusIndicatorOoh:`_statusIndicatorOoh_pyr7v_361`,gridToolbar:`_gridToolbar_pyr7v_366`,datePickerInput:`_datePickerInput_pyr7v_377`,durationSelector:`_durationSelector_pyr7v_386`,durBtn:`_durBtn_pyr7v_394`,durBtnActive:`_durBtnActive_pyr7v_405`,legend:`_legend_pyr7v_411`,legendItem:`_legendItem_pyr7v_418`,dotAvail:`_dotAvail_pyr7v_425`,dotBusy:`_dotBusy_pyr7v_426`,dotOoh:`_dotOoh_pyr7v_427`,suggestedStrip:`_suggestedStrip_pyr7v_443`,suggestedRow:`_suggestedRow_pyr7v_449`,suggestedCard:`_suggestedCard_pyr7v_456`,suggestedCardActive:`_suggestedCardActive_pyr7v_472`,suggestedCardFree:`_suggestedCardFree_pyr7v_479`,gridEmpty:`_gridEmpty_pyr7v_489`,wizardConfirmContainer:`_wizardConfirmContainer_pyr7v_501`,confirmHeading:`_confirmHeading_pyr7v_509`,confirmSub:`_confirmSub_pyr7v_516`,confirmCard:`_confirmCard_pyr7v_522`,confirmRow:`_confirmRow_pyr7v_532`,confirmLabel:`_confirmLabel_pyr7v_540`,confirmVal:`_confirmVal_pyr7v_548`,confirmAttendeeBadge:`_confirmAttendeeBadge_pyr7v_554`,avatarTiny:`_avatarTiny_pyr7v_567`,wizardFooter:`_wizardFooter_pyr7v_580`,wizardBackBtn:`_wizardBackBtn_pyr7v_589`,wizardNextBtn:`_wizardNextBtn_pyr7v_609`,selectedStatusAlert:`_selectedStatusAlert_pyr7v_634`,successContainer:`_successContainer_pyr7v_647`,successHeader:`_successHeader_pyr7v_659`,successTitle:`_successTitle_pyr7v_667`,successSub:`_successSub_pyr7v_674`,successCard:`_successCard_pyr7v_680`,successRow:`_successRow_pyr7v_694`,successLabel:`_successLabel_pyr7v_707`,successVal:`_successVal_pyr7v_716`,successActions:`_successActions_pyr7v_725`,successBtn:`_successBtn_pyr7v_733`,successBtnPrimary:`_successBtnPrimary_pyr7v_743`,successBtnSecondary:`_successBtnSecondary_pyr7v_752`},oD={titleVal:`_titleVal_195yt_3`,inlineIcon:`_inlineIcon_195yt_8`,agendaVal:`_agendaVal_195yt_13`,lastRow:`_lastRow_195yt_17`,guestList:`_guestList_195yt_21`},sD=({d:e})=>{let n=e.selectedContactIds.map(t=>e.list.find(e=>e.id===t)),r=e.groupTitle.trim()===``?`Group Meeting`:e.groupTitle,i=e.selectedSlot?AE(e.selectedSlot.startUtc,e.selectedSlot.endUtc,e.tzId):`No time selected`,a=e.selectedSlot?jE(e.selectedSlot.startUtc,e.tzId):e.dateLabel;return(0,w.jsxs)(`div`,{className:q.wizardConfirmContainer,children:[(0,w.jsx)(`h3`,{className:q.confirmHeading,children:`Review group meeting`}),(0,w.jsx)(`p`,{className:q.confirmSub,children:`Ensure everything is correct before sending invitations.`}),(0,w.jsxs)(`div`,{className:q.confirmCard,children:[(0,w.jsxs)(`div`,{className:q.confirmRow,children:[(0,w.jsx)(`span`,{className:q.confirmLabel,children:`Title`}),(0,w.jsx)(`span`,{className:t.at(q.confirmVal,oD.titleVal),children:r})]}),(0,w.jsxs)(`div`,{className:q.confirmRow,children:[(0,w.jsx)(`span`,{className:q.confirmLabel,children:`Date & Time`}),(0,w.jsxs)(`span`,{className:q.confirmVal,children:[a,` @ `,i,` (`,e.zone.offset,`)`]})]}),(0,w.jsxs)(`div`,{className:q.confirmRow,children:[(0,w.jsx)(`span`,{className:q.confirmLabel,children:`Location`}),(0,w.jsxs)(`span`,{className:q.confirmVal,children:[(0,w.jsx)(xe,{size:13,className:oD.inlineIcon}),e.groupLocation]})]}),e.groupDescription.trim()&&(0,w.jsxs)(`div`,{className:q.confirmRow,children:[(0,w.jsx)(`span`,{className:q.confirmLabel,children:`Agenda`}),(0,w.jsx)(`span`,{className:t.at(q.confirmVal,oD.agendaVal),children:e.groupDescription})]}),(0,w.jsxs)(`div`,{className:t.at(q.confirmRow,oD.lastRow),children:[(0,w.jsx)(`span`,{className:q.confirmLabel,children:`Invited Guests`}),(0,w.jsx)(`div`,{className:t.at(q.confirmVal,oD.guestList),children:n.map(e=>e===void 0?null:(0,w.jsxs)(`span`,{className:q.confirmAttendeeBadge,children:[(0,w.jsx)(`span`,{className:q.avatarTiny,style:{backgroundColor:e.color},children:e.initials}),e.name]},e.id))})]})]})]})},cD={wizardDetailsForm:`_wizardDetailsForm_79bfd_3`,detailsHeading:`_detailsHeading_79bfd_11`,detailsSub:`_detailsSub_79bfd_18`,formGroup:`_formGroup_79bfd_24`,formLabel:`_formLabel_79bfd_28`,formInput:`_formInput_79bfd_37`,formTextarea:`_formTextarea_79bfd_54`},lD=({d:e})=>(0,w.jsxs)(`div`,{className:cD.wizardDetailsForm,children:[(0,w.jsx)(`h3`,{className:cD.detailsHeading,children:`Meeting details`}),(0,w.jsx)(`p`,{className:cD.detailsSub,children:`Add context to the invite so attendees know what to expect.`}),(0,w.jsxs)(`div`,{className:cD.formGroup,children:[(0,w.jsx)(`label`,{className:cD.formLabel,children:`MEETING TITLE *`}),(0,w.jsx)(`input`,{type:`text`,className:cD.formInput,placeholder:`e.g. Weekly Admissions Alignment`,value:e.groupTitle,onChange:t=>{e.setGroupTitle(t.target.value)}})]}),(0,w.jsxs)(`div`,{className:cD.formGroup,children:[(0,w.jsx)(`label`,{className:cD.formLabel,children:`LOCATION / TYPE *`}),(0,w.jsx)(`input`,{type:`text`,className:cD.formInput,placeholder:`e.g. Google Meet, Room 402`,value:e.groupLocation,onChange:t=>{e.setGroupLocation(t.target.value)}})]}),(0,w.jsxs)(`div`,{className:cD.formGroup,children:[(0,w.jsx)(`label`,{className:cD.formLabel,children:`AGENDA / DESCRIPTION`}),(0,w.jsx)(`textarea`,{className:cD.formTextarea,rows:5,placeholder:`What will you cover in this meeting? (optional)`,value:e.groupDescription,onChange:t=>{e.setGroupDescription(t.target.value)}})]})]}),uD={searchWrap:`_searchWrap_3i51q_3`,contactMeta:`_contactMeta_3i51q_7`,selectedMeta:`_selectedMeta_3i51q_13`},dD=({d:e,isSelected:n,onToggle:r})=>(0,w.jsxs)(`div`,{className:q.wizardPanelLeft,children:[(0,w.jsxs)(`div`,{className:uD.searchWrap,children:[(0,w.jsx)(`h3`,{className:q.panelHeading,children:`Add participants`}),(0,w.jsx)(`input`,{type:`text`,className:q.wizardSearch,placeholder:`Search by name, role or department...`,value:e.search,onChange:t=>{e.setSearch(t.target.value)}})]}),(0,w.jsx)(`div`,{className:q.wizardList,children:e.searchResults.map(e=>(0,w.jsxs)(`button`,{type:`button`,className:t.at(q.wizardListBtn,n(e.id)&&q.wizardListBtnActive),onClick:()=>{r(e.id)},children:[(0,w.jsx)(`span`,{className:q.avatar,style:{backgroundColor:e.color},children:e.initials}),(0,w.jsxs)(`div`,{className:uD.contactMeta,children:[(0,w.jsx)(`div`,{className:q.contactName,children:e.name}),(0,w.jsx)(`div`,{className:q.contactRole,children:e.role})]}),(0,w.jsx)(`div`,{className:t.at(q.checkbox,n(e.id)&&q.checkboxActive),children:n(e.id)&&(0,w.jsx)(b,{size:10,strokeWidth:3})})]},e.id))})]}),fD=({d:e,onToggle:n})=>(0,w.jsxs)(`div`,{className:q.wizardPanelRight,children:[(0,w.jsxs)(`div`,{className:q.panelHeader,children:[(0,w.jsx)(`span`,{children:`SELECTED`}),(0,w.jsxs)(`span`,{className:q.badge,children:[String(e.selectedContactIds.length),` guests`]})]}),(0,w.jsx)(`div`,{className:q.selectedGrid,children:(0,w.jsx)(t.T,{initial:!1,children:e.selectedContactIds.length===0?(0,w.jsxs)(t.C.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:q.selectedEmpty,children:[(0,w.jsx)(ct,{size:22,className:q.selectedEmptyIcon}),(0,w.jsx)(`span`,{children:`Select people on the left to add them to the meeting.`})]},`empty`):e.selectedContactIds.map(r=>{let i=e.list.find(e=>e.id===r);return i===void 0?null:(0,w.jsxs)(t.C.div,{layout:!0,initial:{opacity:0,y:10,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,scale:.9,x:20},transition:{type:`spring`,stiffness:300,damping:25},className:q.selectedItemCard,children:[(0,w.jsx)(`span`,{className:q.avatarSmall,style:{backgroundColor:i.color},children:i.initials}),(0,w.jsxs)(`div`,{className:uD.selectedMeta,children:[(0,w.jsx)(`div`,{className:q.cardName,children:i.name}),(0,w.jsx)(`div`,{className:q.cardRole,children:i.role})]}),(0,w.jsx)(`button`,{type:`button`,className:q.removeBtn,onClick:()=>{n(r)},children:(0,w.jsx)(at,{size:13})})]},r)})})})]}),pD=({d:e})=>{let t=t=>e.selectedContactIds.includes(t),n=n=>{t(n)?e.setSelectedContactIds(e.selectedContactIds.filter(e=>e!==n)):e.setSelectedContactIds([...e.selectedContactIds,n])};return(0,w.jsxs)(`div`,{className:q.wizardRow,children:[(0,w.jsx)(dD,{d:e,isSelected:t,onToggle:n}),(0,w.jsx)(fD,{d:e,onToggle:n})]})},mD={timelineContainer:`_timelineContainer_1799e_3`,timelineHeaderRow:`_timelineHeaderRow_1799e_18`,timelineTimeCell:`_timelineTimeCell_1799e_27`,timelineHeaderCell:`_timelineHeaderCell_1799e_38`,timelineBody:`_timelineBody_1799e_52`,timelineRow:`_timelineRow_1799e_57`,timelineTimeCellActive:`_timelineTimeCellActive_1799e_75`,timelineCell:`_timelineCell_1799e_81`,cellAvail:`_cellAvail_1799e_90`,cellBusy:`_cellBusy_1799e_94`,cellOoh:`_cellOoh_1799e_98`,cellSelected:`_cellSelected_1799e_109`,gridTooltip:`_gridTooltip_1799e_114`,cellPast:`_cellPast_1799e_133`},hD=30,gD=(e,t,r)=>{let i=n.b(t,e.start,r);return{startUtc:i,endUtc:new Date(new Date(i).getTime()+hD*6e4).toISOString()}},_D=(e,t,n)=>{let r=new Date(new Date(n.startUtc).getTime()+e.groupDuration*6e4).toISOString();e.pickSlot({label:t,startUtc:n.startUtc,endUtc:r,conflicts:[]})},vD=({id:e,d:t,rowInstants:r,serverBusy:i,selfBounds:a,allBlocks:o})=>{let s=i.get(e);return s===void 0?t.selected===null?`ooh`:n.u({userId:e,selfUserId:t.viewer.id,slotStart:new Date(r.startUtc),slotEnd:new Date(r.endUtc),allBlocks:o,rangeStart:a.rangeStart,rangeEnd:a.rangeEnd,workWindows:a.workWindows}):TE(r.startUtc,r.endUtc,s.busy)?`busy`:s.workingHours.length>0&&!EE(r.startUtc,r.endUtc,s.workingHours)?`ooh`:`available`},yD=({id:e,slotItem:n,d:r,allBlocks:i,serverBusy:a,rowInstants:o,selfBounds:s,isSelected:c,isPast:l,hoverCell:u,setHoverCell:d})=>{let f=vD({id:e,d:r,rowInstants:o,serverBusy:a,selfBounds:s,allBlocks:i}),p=u!==null&&u.userId===e&&u.slotLabel===n.label;return(0,w.jsx)(`div`,{className:t.at(mD.timelineCell,f===`available`&&mD.cellAvail,f===`busy`&&mD.cellBusy,f===`ooh`&&mD.cellOoh,c&&mD.cellSelected,l&&mD.cellPast),onClick:l?void 0:()=>{_D(r,n.label,o)},onMouseEnter:()=>{d({userId:e,slotLabel:n.label})},onMouseLeave:()=>{d(null)},children:p&&(0,w.jsxs)(`div`,{className:mD.gridTooltip,children:[(0,w.jsx)(`strong`,{children:NE(e,r.list,r.viewer)}),` ·`,` `,l?`PAST`:f.toUpperCase()]})})},bD=({slotItem:e,d:r,activeAttendees:i,allBlocks:a,serverBusy:o,isoDate:s,displayZone:c,selfBounds:l,hoverCell:u,setHoverCell:d})=>{let f=r.slot===e.label,p=gD(e,s,c),m=RE(p.startUtc),h=n.h.from({pick:c}).formatTime(p.startUtc);return(0,w.jsxs)(`div`,{className:mD.timelineRow,children:[(0,w.jsx)(`button`,{type:`button`,disabled:m,className:t.at(mD.timelineTimeCell,f&&mD.timelineTimeCellActive),onClick:()=>{_D(r,e.label,p)},children:h}),i.map(t=>(0,w.jsx)(yD,{id:t,slotItem:e,d:r,allBlocks:a,serverBusy:o,rowInstants:p,selfBounds:l,isSelected:f,isPast:m,hoverCell:u,setHoverCell:d},t+`-`+e.label))]})},xD=({d:e,activeAttendees:t,allBlocks:n,serverBusy:r,isoDate:i,hoverCell:a,setHoverCell:o})=>{let s=e.tzId,c=FE(i,s,e.hostDayWindow),l=DE(IE(t,r,n,c));return(0,w.jsxs)(`div`,{className:mD.timelineContainer,children:[(0,w.jsxs)(`div`,{className:mD.timelineHeaderRow,children:[(0,w.jsx)(`div`,{className:mD.timelineTimeCell}),t.map(t=>(0,w.jsx)(`div`,{className:mD.timelineHeaderCell,children:NE(t,e.list,e.viewer)},t))]}),(0,w.jsx)(`div`,{className:mD.timelineBody,children:l.map(l=>(0,w.jsx)(bD,{slotItem:l,d:e,activeAttendees:t,allBlocks:n,serverBusy:r,isoDate:i,displayZone:s,selfBounds:c,hoverCell:a,setHoverCell:o},l.label))})]})},SD={header:`_header_1afpk_3`,slotNote:`_slotNote_1afpk_7`,cardMeta:`_cardMeta_1afpk_12`},CD=({userId:e,selfUserId:t,startStr:r,endStr:i,anchorTzId:a,isoDate:o,allBlocks:s,dayWindow:c})=>{let l=c?.active?c.slots.map(e=>({start:new Date(n.b(o,e.from,a)),end:new Date(n.b(o,e.to,a))})):[],u=new Date(n.b(o,`00:00`,a)),d=new Date(u.getTime()+1440*60*1e3);return n.u({userId:e,selfUserId:t,slotStart:new Date(n.b(o,r,a)),slotEnd:new Date(n.b(o,i,a)),allBlocks:s,rangeStart:u,rangeEnd:d,workWindows:l})},wD=(e,t,r)=>{let{id:i,d:a,allBlocks:o,serverBusy:s,anchorTzId:c,isoDate:l}=e,u=a.hostDayWindow;if(a.selected===null||u===null)return`available`;let d=s.get(i);if(d!==void 0){let e=n.b(l,t,c),i=n.b(l,r,c);return TE(e,i,d.busy)?`busy`:d.workingHours.length>0&&!EE(e,i,d.workingHours)?`ooh`:`available`}return CD({userId:i,selfUserId:a.viewer.id,startStr:t,endStr:r,anchorTzId:c,isoDate:l,allBlocks:o,dayWindow:u})},TD=e=>{let{id:n,d:r,curSlot:i}=e,a=PE(n,r.list,r.viewer),[o,s]=i?i.split(` – `):[null,null],c=o&&s?wD(e,o,s):`available`;return(0,w.jsxs)(`div`,{className:q.attendeeStatusItem,children:[(0,w.jsx)(`span`,{className:q.avatarSmall,style:{backgroundColor:a.color},children:a.initials}),(0,w.jsxs)(`div`,{className:SD.cardMeta,children:[(0,w.jsx)(`div`,{className:q.cardName,children:a.name}),(0,w.jsx)(`div`,{className:q.cardRole,children:a.role})]}),(0,w.jsx)(`span`,{className:t.at(q.statusIndicator,c===`available`&&q.statusIndicatorAvail,c===`busy`&&q.statusIndicatorBusy,c===`ooh`&&q.statusIndicatorOoh)})]})},ED=({d:e,activeAttendees:n,curSlot:r,allBlocks:i,serverBusy:a,anchorTzId:o,isoDate:s})=>(0,w.jsxs)(`div`,{className:t.at(q.wizardPanelLeft,q.timePanelLeft),children:[(0,w.jsxs)(`div`,{className:SD.header,children:[(0,w.jsx)(`h3`,{className:q.panelHeading,children:`Attendees Availability`}),(0,w.jsxs)(`span`,{className:SD.slotNote,children:[`For selected slot: `,r??`None`]})]}),(0,w.jsx)(`div`,{className:q.wizardList,children:n.map(t=>(0,w.jsx)(TD,{id:t,d:e,curSlot:r,allBlocks:i,serverBusy:a,anchorTzId:o,isoDate:s},t))})]}),DD={toolbarGroup:`_toolbarGroup_1hpun_3`,toolbarLabel:`_toolbarLabel_1hpun_9`,suggestedHeader:`_suggestedHeader_1hpun_15`,suggestedTitle:`_suggestedTitle_1hpun_22`,freeBadge:`_freeBadge_1hpun_29`,slotTime:`_slotTime_1hpun_34`,noSlots:`_noSlots_1hpun_40`,emptyIcon:`_emptyIcon_1hpun_46`},OD=({suggestedOptions:e,slot:n,activeAttendeesCount:r,setSlot:i,tzId:a})=>(0,w.jsxs)(`div`,{className:q.suggestedRow,children:[e.map(e=>{let o=n===e.label,s=r-e.conflicts.length,c=AE(e.startUtc,e.endUtc,a);return(0,w.jsxs)(`button`,{type:`button`,className:t.at(q.suggestedCard,o&&q.suggestedCardActive,e.conflicts.length===0&&q.suggestedCardFree),onClick:()=>{i(e.label)},children:[(0,w.jsx)(`div`,{className:DD.freeBadge,children:e.conflicts.length===0?`ALL FREE`:`${String(s)}/${String(r)} FREE`}),(0,w.jsx)(`div`,{className:DD.slotTime,children:c})]},e.label)}),e.length===0&&(0,w.jsx)(`div`,{className:DD.noSlots,children:`No suggested slots found.`})]}),kD=({d:e})=>(0,w.jsxs)(`div`,{className:q.gridToolbar,children:[(0,w.jsxs)(`div`,{className:DD.toolbarGroup,children:[(0,w.jsx)(g,{size:14,color:`var(--color-primary)`}),(0,w.jsx)(`input`,{type:`date`,className:q.datePickerInput,value:e.selected?e.selected.toISOString().substring(0,10):``,onChange:t=>{t.target.value&&e.pickDate(new Date(t.target.value))}})]}),(0,w.jsxs)(`div`,{className:DD.toolbarGroup,children:[(0,w.jsx)(`span`,{className:DD.toolbarLabel,children:`DURATION`}),(0,w.jsx)(`div`,{className:q.durationSelector,children:[15,30,60,90,120].map(n=>(0,w.jsx)(`button`,{type:`button`,className:t.at(q.durBtn,e.groupDuration===n&&q.durBtnActive),onClick:()=>{e.setGroupDuration(n)},children:n<60?`${String(n)}m`:`${String(n/60)}h`},n))})]}),(0,w.jsxs)(`div`,{className:q.legend,children:[(0,w.jsxs)(`span`,{className:q.legendItem,children:[(0,w.jsx)(`span`,{className:q.dotAvail}),` Free`]}),(0,w.jsxs)(`span`,{className:q.legendItem,children:[(0,w.jsx)(`span`,{className:q.dotBusy}),` Busy`]}),(0,w.jsxs)(`span`,{className:q.legendItem,children:[(0,w.jsx)(`span`,{className:q.dotOoh}),` Out of hours`]})]})]}),AD=({d:e,activeAttendees:n,allBlocks:r,serverBusy:i,isoDate:a,hoverCell:o,setHoverCell:s})=>e.selected===null?(0,w.jsxs)(`div`,{className:q.gridEmpty,children:[(0,w.jsx)(t.ot,{size:28,className:DD.emptyIcon}),(0,w.jsx)(`span`,{children:`Select a date above to display the availability grid.`})]}):(0,w.jsx)(xD,{d:e,activeAttendees:n,allBlocks:r,serverBusy:i,isoDate:a,hoverCell:o,setHoverCell:s}),jD=e=>{let t=n.O().data??[],i=n.m().anchor,a=e.selected===null?null:OE(e.selected,e.today),o=n.t(e.selectedContactIds,a);return{allBlocks:t,anchorTzId:i,isoDate:a,serverBusy:(0,r.useMemo)(()=>{let e=new Map;for(let t of o.data??[])e.set(t.userId,{busy:t.busy,workingHours:t.workingHours});return e},[o.data]),activeAttendees:e.viewer.id===``?[...e.selectedContactIds]:[e.viewer.id,...e.selectedContactIds],curSlot:e.slot}},MD=({d:e})=>{let{allBlocks:n,anchorTzId:i,isoDate:a,serverBusy:o,activeAttendees:s,curSlot:c}=jD(e),[l,u]=(0,r.useState)(null);return(0,w.jsxs)(`div`,{className:q.wizardRow,children:[(0,w.jsx)(ED,{d:e,activeAttendees:s,curSlot:c,allBlocks:n,serverBusy:o,anchorTzId:i,isoDate:a??``}),(0,w.jsxs)(`div`,{className:t.at(q.wizardPanelRight,q.timePanelRight),children:[(0,w.jsx)(kD,{d:e}),(0,w.jsxs)(`div`,{className:q.suggestedStrip,children:[(0,w.jsxs)(`div`,{className:DD.suggestedHeader,children:[(0,w.jsx)($e,{size:12,color:`var(--color-secondary)`}),(0,w.jsx)(`span`,{className:DD.suggestedTitle,children:`SUGGESTED TIMESLOTS`})]}),(0,w.jsx)(OD,{suggestedOptions:e.availableSlots.slice(0,4),slot:e.slot,activeAttendeesCount:s.length,setSlot:e.setSlot,tzId:e.tzId})]}),(0,w.jsx)(AD,{d:e,activeAttendees:s,allBlocks:n,serverBusy:o,isoDate:a??``,hoverCell:l,setHoverCell:u})]})]})},ND=()=>{let[e,t]=(0,r.useState)(`participants`),[n,i]=(0,r.useState)(30),[a,o]=(0,r.useState)(`Online Meeting`),[s,c]=(0,r.useState)(``);return{groupStep:e,groupDuration:n,groupLocation:a,groupDescription:s,setGroupStep:t,setGroupDuration:i,setGroupLocation:o,setGroupDescription:c,resetGroupWizardState:()=>{t(`participants`),i(30),o(`Online Meeting`),c(``)}}},PD=(e,t,n,r)=>{let i=e.s.meetingType===`group`;return{contactId:i?e.s.selectedContactIds[0]??``:e.s.contactId??``,dateLabel:GE(t),slot:n,title:i?e.s.groupTitle||`Group Meeting`:void 0,isGroup:i,attendeeIds:i?e.s.selectedContactIds:void 0,location:i?e.gw.groupLocation:void 0,description:i?e.gw.groupDescription:void 0,isoDate:OE(t,e.today),startUtc:r?.startUtc,endUtc:r?.endUtc}},FD=e=>e.s.pickedSlot??(e.s.slot===null?null:e.availableSlots.find(t=>t.label===e.s.slot)??null),ID=e=>()=>{if(e.s.slot===null||e.s.selected===null)return;let r=FD(e);e.book.mutate(PD(e,e.s.selected,e.s.slot,r),{onSuccess:()=>{e.s.setBookedSlot(r),e.s.setSlot(null),e.s.setPickedSlot(null),e.s.setConfirmOpen(!1)},onError:r=>{t.l.error(r.message),r instanceof n.p&&(e.s.setSlot(null),e.s.setPickedSlot(null),e.s.setConfirmOpen(!1),e.s.meetingType===`group`&&e.gw.setGroupStep(`time`))}})},LD=e=>({setMeetingType:t=>{e.s.setMeetingType(t),t===`group`&&e.resetGroupWizard()},setContactId:t=>{e.s.setContactId(t),e.s.setSlot(null),e.s.setPickedSlot(null)},setSelectedContactIds:t=>{e.s.setSelectedContactIds(t),e.s.setSlot(null),e.s.setPickedSlot(null)},setGroupTitle:e.s.setGroupTitle,setSearch:e.s.setSearch,setTzId:e.setTzId,setSlot:t=>{e.s.setSlot(t),e.s.setPickedSlot(null)},pickSlot:t=>{e.s.setSlot(t.label),e.s.setPickedSlot(t)},setConfirmOpen:e.s.setConfirmOpen,shift:t=>{e.s.setView(e=>({year:e.year+Math.floor((e.month+t)/12),month:((e.month+t)%12+12)%12}))},pickDate:t=>{e.s.setSelected(t),e.s.setSlot(null),e.s.setPickedSlot(null)},setGroupStep:e.gw.setGroupStep,setGroupDuration:e.gw.setGroupDuration,setGroupLocation:e.gw.setGroupLocation,setGroupDescription:e.gw.setGroupDescription,resetGroupWizard:e.resetGroupWizard,reset:e.reset,confirm:ID(e)}),RD=e=>{let t=LD(e);return{today:e.today,viewer:e.viewer,meetingType:e.s.meetingType,contactId:e.s.contactId,selectedContactIds:e.s.selectedContactIds,groupTitle:e.s.groupTitle,search:e.s.search,tzId:e.tzId,view:e.s.view,selected:e.s.selected,slot:e.s.slot,selectedSlot:FD(e),bookedSlot:e.s.bookedSlot,confirmOpen:e.s.confirmOpen,list:e.list,searchResults:e.searchResults,contact:e.contact,dateLabel:e.s.selected===null?``:GE(e.s.selected),zone:n.f(e.tzId),canBook:(e.s.meetingType===`1:1`?e.s.contactId!==null:e.s.selectedContactIds.length>0)&&e.s.selected!==null&&e.s.slot!==null&&!e.book.isPending,pending:e.book.isPending,success:e.book.isSuccess,availableSlots:e.availableSlots,hostDayWindow:e.hostDayWindow,groupStep:e.gw.groupStep,groupDuration:e.gw.groupDuration,groupLocation:e.gw.groupLocation,groupDescription:e.gw.groupDescription,...t}},zD=(e,t)=>{let[n,i]=(0,r.useState)(e);return(0,r.useEffect)(()=>{let n=setTimeout(()=>{i(e)},t);return()=>{clearTimeout(n)}},[e,t]),n},BD=e=>`${String(e.getFullYear())}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,VD=e=>{let t=[`mon`,`tue`,`wed`,`thu`,`fri`,`sat`,`sun`],n={};for(let r of t)n[r]={active:e[r].active,slots:e[r].active?[{id:r+`-default`,from:e[r].from,to:e[r].to}]:[]};return n},HD=(e,t)=>e.selected===null?null:e.meetingType===`group`?e.selectedContactIds.length===0?null:{isoDate:BD(e.selected),timeZone:t,isGroup:!0,contactId:void 0,attendeeIds:[...e.selectedContactIds].sort()}:e.contactId===null?null:{isoDate:BD(e.selected),timeZone:t,isGroup:!1,contactId:e.contactId,attendeeIds:void 0},UD=e=>{let[t,n]=(0,r.useState)(`1:1`),[i,a]=(0,r.useState)(null),[o,s]=(0,r.useState)([]),[c,l]=(0,r.useState)(``),[u,d]=(0,r.useState)(``),[f,p]=(0,r.useState)(``),[m,h]=(0,r.useState)({year:e.getFullYear(),month:e.getMonth()}),[g,_]=(0,r.useState)(null),[v,y]=(0,r.useState)(null),[b,x]=(0,r.useState)(null),[S,ee]=(0,r.useState)(null),[te,ne]=(0,r.useState)(!1);return{meetingType:t,setMeetingType:n,contactId:i,setContactId:a,selectedContactIds:o,setSelectedContactIds:s,groupTitle:c,setGroupTitle:l,search:u,setSearch:d,tzId:f,setTzIdState:p,view:m,setView:h,selected:g,setSelected:_,slot:v,setSlot:y,pickedSlot:b,setPickedSlot:x,bookedSlot:S,setBookedSlot:ee,confirmOpen:te,setConfirmOpen:ne}},WD=()=>{let e=n.r(),t=wE(),r=new Date,i=ND(),a=UD(r),o=zD(a.search,250),s=n.i(),c=n.i(o),l=n.T(),u=n.x(),d=Vs(),f=s.data??[],p=f,m=c.data??[],h=f.find(e=>e.id===a.contactId)??null,g=l.data??{meetingDuration:i.groupDuration,bufferMinutes:5,workStart:`09:00`,workEnd:`17:00`,timezone:`Europe/London`,branchId:`uk`,availabilityTimezone:`Europe/London`},_=n.h.from({pick:a.tzId,personal:g.timezone,anchor:g.availabilityTimezone}).display,v=d.data?VD($a(d.data,g.branchId)):null,y=n.Nt(u.data??null,v),b=a.selected===null?null:n.Mt(y,a.selected);return RD({today:r,viewer:t,s:a,gw:i,book:e,list:p,searchResults:m,contact:h,availableSlots:n.n(HD(a,_)).data??[],hostDayWindow:b,tzId:_,setTzId:e=>{a.setTzIdState(e)},resetGroupWizard:()=>{i.resetGroupWizardState(),a.setSelectedContactIds([]),a.setGroupTitle(``),a.setSlot(null),a.setPickedSlot(null),a.setSelected(null)},reset:()=>{e.reset(),a.setContactId(null),a.setSelectedContactIds([]),a.setGroupTitle(``),a.setSlot(null),a.setPickedSlot(null),a.setBookedSlot(null),a.setSelected(null),i.resetGroupWizardState()}})},GD={wizardContentClip:`_wizardContentClip_14i7n_3`,wizardStep:`_wizardStep_14i7n_8`},KD=({currentStep:e})=>{let n=[{id:`participants`,label:`Participants`},{id:`time`,label:`Find a time`},{id:`details`,label:`Details`},{id:`confirm`,label:`Confirm`}],i=(e=>n.findIndex(t=>t.id===e))(e);return(0,w.jsx)(`div`,{className:q.stepper,children:n.map((e,n)=>{let a=n<i,o=n===i;return(0,w.jsxs)(r.Fragment,{children:[n>0&&(0,w.jsx)(`div`,{className:t.at(q.stepLine,n<=i&&q.stepLineActive)}),(0,w.jsxs)(`div`,{className:q.stepItem,children:[(0,w.jsx)(`div`,{className:t.at(q.stepCircle,o&&q.stepCircleActive,a&&q.stepCircleDone),children:a?(0,w.jsx)(b,{size:12,strokeWidth:3}):n+1}),(0,w.jsx)(`span`,{className:t.at(q.stepText,o&&q.stepTextActive),children:e.label})]})]},e.id)})})},qD=e=>e===`participants`?`time`:e===`time`?`details`:e===`details`?`confirm`:null,JD=e=>e===`time`?`participants`:e===`details`?`time`:e===`confirm`?`details`:null,YD=({step:e,selectedContactIds:t,slot:n,title:r,location:i,pending:a})=>e===`participants`?t.length===0:e===`time`?n===null:e===`details`?r.trim()===``||i.trim()===``:a,XD=e=>e===`participants`?`Next: Find a time`:e===`time`?`Next: Details`:e===`details`?`Next: Confirm`:`Confirm Booking`,ZD=(e,t)=>e?`You don't have permission to book meetings`:t,QD=({d:e})=>{let n=()=>{let t=JD(e.groupStep);t?e.setGroupStep(t):e.setMeetingType(`1:1`)},r=()=>{let t=qD(e.groupStep);t?e.setGroupStep(t):e.confirm()},{hasPermission:i}=ii(),a=i(T.meetingsBook),o=YD({step:e.groupStep,selectedContactIds:e.selectedContactIds,slot:e.slot,title:e.groupTitle,location:e.groupLocation,pending:e.pending}),s=XD(e.groupStep),c=e.groupStep===`confirm`&&!a;return(0,w.jsxs)(`div`,{className:q.wizardContainer,children:[(0,w.jsx)(KD,{currentStep:e.groupStep}),(0,w.jsx)(`div`,{className:t.at(q.wizardContent,GD.wizardContentClip),children:(0,w.jsx)(t.T,{mode:`wait`,children:(0,w.jsxs)(t.C.div,{initial:{opacity:0,x:15},animate:{opacity:1,x:0},exit:{opacity:0,x:-15},transition:{duration:.18,ease:`easeInOut`},className:GD.wizardStep,children:[e.groupStep===`participants`&&(0,w.jsx)(pD,{d:e}),e.groupStep===`time`&&(0,w.jsx)(MD,{d:e}),e.groupStep===`details`&&(0,w.jsx)(lD,{d:e}),e.groupStep===`confirm`&&(0,w.jsx)(sD,{d:e})]},e.groupStep)})}),(0,w.jsxs)(`div`,{className:q.wizardFooter,children:[(0,w.jsxs)(`button`,{type:`button`,className:q.wizardBackBtn,onClick:n,disabled:e.pending,children:[(0,w.jsx)(S,{size:16}),` Back`]}),e.groupStep===`time`&&e.slot&&(0,w.jsxs)(`div`,{className:q.selectedStatusAlert,children:[(0,w.jsx)(te,{size:14,color:`var(--color-primary)`}),(0,w.jsxs)(`span`,{children:[`Selected: `,e.slot]})]}),(0,w.jsx)(t.p,{label:ZD(c,s),side:`top`,children:(0,w.jsxs)(`button`,{type:`button`,className:q.wizardNextBtn,disabled:o||e.pending||c,onClick:r,children:[e.pending?`Booking...`:s,!e.pending&&(0,w.jsx)(t.ct,{size:16})]})})]})]})},$D={slotsDate:`_slotsDate_1rdif_3`,slotsEmpty:`_slotsEmpty_1rdif_10`,slotsEmptyIcon:`_slotsEmptyIcon_1rdif_24`,slotsEmptyTitle:`_slotsEmptyTitle_1rdif_36`,slotList:`_slotList_1rdif_42`,slot:`_slot_1rdif_3`,slotActive:`_slotActive_1rdif_86`,slotWithConflicts:`_slotWithConflicts_1rdif_102`,slotMain:`_slotMain_1rdif_113`,slotConflictList:`_slotConflictList_1rdif_120`,conflictLabel:`_conflictLabel_1rdif_131`,conflictAvatar:`_conflictAvatar_1rdif_136`,noSlots:`_noSlots_1rdif_162`},eO={hidden:{},visible:{transition:{staggerChildren:.03}}},tO=`You're not available at this time — you can still book.`,nO=({option:e,isSelected:n,onSlot:r,contactsList:i,viewer:a,tzId:o})=>{let s=AE(e.startUtc,e.endUtc,o),c=e.conflicts.length>0,l=e.conflicts.includes(a.id);return(0,w.jsxs)(t.C.button,{type:`button`,variants:t.x,whileTap:{scale:.97},className:t.at($D.slot,n&&$D.slotActive,c&&!n&&$D.slotWithConflicts),title:l?tO:void 0,onClick:()=>{r(e.label)},children:[(0,w.jsxs)(`div`,{className:$D.slotMain,children:[(0,w.jsx)(`span`,{children:s}),n&&(0,w.jsx)(b,{size:14,strokeWidth:3})]}),c&&(0,w.jsxs)(`div`,{className:$D.slotConflictList,children:[(0,w.jsx)(`span`,{className:$D.conflictLabel,children:l?`You're busy —`:`Conflict:`}),e.conflicts.map(e=>{let t=e===a.id,n=i.find(t=>t.id===e);return(0,w.jsx)(`span`,{className:$D.conflictAvatar,title:t?tO:`${n?.name??``} is busy / unavailable`,children:t?a.initials||`YOU`:n?.initials??``},e)})]})]})},rO=({dateLabel:e,slot:n,offset:r,onSlot:i,slots:a,contactsList:o,viewer:s,tzId:c})=>(0,w.jsxs)(`div`,{className:JE.col,children:[(0,w.jsxs)(`div`,{className:JE.colTitle,children:[(0,w.jsx)(`span`,{className:JE.stepDot,children:`3`}),` Available times`]}),e===``?(0,w.jsxs)(`div`,{className:$D.slotsEmpty,children:[(0,w.jsx)(`span`,{className:$D.slotsEmptyIcon,children:(0,w.jsx)(t.ot,{size:28})}),(0,w.jsx)(`span`,{className:$D.slotsEmptyTitle,children:`Pick a date`}),(0,w.jsx)(`span`,{children:`Choose a day to see open times.`})]}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`div`,{className:$D.slotsDate,children:[e,` · times in `,r]}),(0,w.jsxs)(t.C.div,{className:$D.slotList,variants:eO,initial:`hidden`,animate:`visible`,children:[a.map(e=>(0,w.jsx)(nO,{option:e,isSelected:n===e.label,onSlot:i,contactsList:o,viewer:s,tzId:c},e.label)),a.length===0&&(0,w.jsx)(`div`,{className:$D.noSlots,children:`No available timeslots found for this day.`})]})]})]}),iO={tzWrap:`_tzWrap_n6w9w_3`,tzBtn:`_tzBtn_n6w9w_8`,tzBtnOffset:`_tzBtnOffset_n6w9w_30`,tzChevron:`_tzChevron_n6w9w_36`,tzBackdrop:`_tzBackdrop_n6w9w_40`,tzPop:`_tzPop_n6w9w_49`,tzSearch:`_tzSearch_n6w9w_62`,tzSearchInput:`_tzSearchInput_n6w9w_74`,tzList:`_tzList_n6w9w_84`,tzRow:`_tzRow_n6w9w_119`,tzRowActive:`_tzRowActive_n6w9w_138`,tzCity:`_tzCity_n6w9w_142`,tzRowOffset:`_tzRowOffset_n6w9w_151`,tzCheck:`_tzCheck_n6w9w_157`,tzEmpty:`_tzEmpty_n6w9w_161`},aO=({search:e,list:n,value:r,onSearch:i,onPick:a})=>(0,w.jsxs)(t.C.div,{className:iO.tzPop,variants:t.S,initial:`hidden`,animate:`visible`,exit:`exit`,children:[(0,w.jsxs)(`div`,{className:iO.tzSearch,children:[(0,w.jsx)(Ge,{size:13}),(0,w.jsx)(`input`,{className:iO.tzSearchInput,placeholder:`Search timezones…`,value:e,onChange:e=>{i(e.target.value)}})]}),(0,w.jsxs)(`div`,{className:iO.tzList,children:[n.map(e=>(0,w.jsxs)(`button`,{type:`button`,className:t.at(iO.tzRow,e.id===r&&iO.tzRowActive),onClick:()=>{a(e.id)},children:[(0,w.jsx)(`span`,{className:iO.tzCity,children:e.city}),(0,w.jsx)(`span`,{className:iO.tzRowOffset,children:e.offset}),e.id===r&&(0,w.jsx)(b,{size:13,className:iO.tzCheck})]},e.id)),n.length===0&&(0,w.jsx)(`p`,{className:iO.tzEmpty,children:`No timezones match.`})]})]}),oO=({value:e,onChange:i})=>{let[a,o]=(0,r.useState)(!1),[s,c]=(0,r.useState)(``),l=n.f(e),u=s.trim().toLowerCase(),d=(n.d.some(e=>e.id===l.id)?n.d:[l,...n.d]).filter(e=>u===``||e.city.toLowerCase().includes(u)||e.offset.toLowerCase().includes(u)||e.id.toLowerCase().includes(u));return(0,w.jsxs)(`div`,{className:iO.tzWrap,children:[(0,w.jsxs)(`button`,{type:`button`,className:iO.tzBtn,"aria-expanded":a,"aria-label":`Change timezone`,onClick:()=>{o(e=>!e)},children:[(0,w.jsx)(fe,{size:13}),(0,w.jsx)(`span`,{className:iO.tzBtnCity,children:l.city}),(0,w.jsx)(`span`,{className:iO.tzBtnOffset,children:l.offset}),(0,w.jsx)(x,{size:13,className:iO.tzChevron})]}),(0,w.jsx)(t.T,{children:a&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`button`,{type:`button`,className:iO.tzBackdrop,"aria-label":`Close timezone picker`,onClick:()=>{o(!1)}}),(0,w.jsx)(aO,{search:s,list:d,value:e,onSearch:c,onPick:e=>{i(e),c(``),o(!1)}})]})})]})},sO={badgeWrap:`_badgeWrap_swq6w_3`,badgeCircle:`_badgeCircle_swq6w_10`,guestRow:`_guestRow_swq6w_21`,eventVal:`_eventVal_swq6w_28`,iconRow:`_iconRow_swq6w_33`,iconRowMuted:`_iconRowMuted_swq6w_39`,iconRowTop:`_iconRowTop_swq6w_47`,agendaVal:`_agendaVal_swq6w_53`,iconTop:`_iconTop_swq6w_58`},cO=()=>(0,w.jsxs)(`div`,{className:q.successHeader,children:[(0,w.jsx)(`div`,{className:sO.badgeWrap,children:(0,w.jsx)(t.C.div,{initial:{scale:0},animate:{scale:1},transition:{type:`spring`,stiffness:260,damping:20},className:sO.badgeCircle,children:(0,w.jsx)(t.C.div,{initial:{scale:0,rotate:-45},animate:{scale:1,rotate:0},transition:{delay:.2,type:`spring`,stiffness:200,damping:15},children:(0,w.jsx)(b,{size:32,color:`var(--color-success)`,strokeWidth:3})})})}),(0,w.jsx)(`h2`,{className:q.successTitle,children:`Booking Confirmed!`}),(0,w.jsx)(`p`,{className:q.successSub,children:`A calendar invite has been sent to all participants.`})]}),lO=({d:e})=>{let n=e.meetingType===`group`;return(0,w.jsxs)(`div`,{className:q.successRow,children:[(0,w.jsx)(`span`,{className:q.successLabel,children:n?`Invited Guests`:`Attendee`}),(0,w.jsx)(`div`,{className:t.at(q.successVal,sO.guestRow),children:n?e.selectedContactIds.map(t=>{let n=e.list.find(e=>e.id===t);return n===void 0?null:(0,w.jsxs)(`span`,{className:q.confirmAttendeeBadge,children:[(0,w.jsx)(`span`,{className:q.avatarTiny,style:{backgroundColor:n.color},children:n.initials}),n.name]},n.id)}):e.contact?(0,w.jsxs)(`span`,{className:q.confirmAttendeeBadge,children:[(0,w.jsx)(`span`,{className:q.avatarTiny,style:{backgroundColor:e.contact.color},children:e.contact.initials}),e.contact.name]}):`None`})]})},uO=({d:e})=>{let n=e.meetingType===`group`,r=n?e.groupTitle||`Group Meeting`:`1:1 with ${e.contact?.name??`Attendee`}`,i=n?e.groupLocation:`Online — link generated automatically`,a=n?e.groupDescription:``,o=AE(e.bookedSlot?.startUtc,e.bookedSlot?.endUtc,e.tzId);return(0,w.jsxs)(t.C.div,{className:q.successCard,initial:{opacity:0,y:15},animate:{opacity:1,y:0},transition:{delay:.3,duration:.25,ease:`easeOut`},children:[(0,w.jsxs)(`div`,{className:q.successRow,children:[(0,w.jsx)(`span`,{className:q.successLabel,children:`Event`}),(0,w.jsx)(`span`,{className:t.at(q.successVal,sO.eventVal),children:r})]}),(0,w.jsxs)(`div`,{className:q.successRow,children:[(0,w.jsx)(`span`,{className:q.successLabel,children:`Date & Time`}),(0,w.jsxs)(`span`,{className:q.successVal,children:[(0,w.jsxs)(`span`,{className:sO.iconRow,children:[(0,w.jsx)(g,{size:14,color:`var(--color-primary)`}),e.dateLabel]}),(0,w.jsxs)(`span`,{className:sO.iconRowMuted,children:[(0,w.jsx)(t.ot,{size:14}),o,` (`,e.zone.offset,`)`]})]})]}),(0,w.jsxs)(`div`,{className:q.successRow,children:[(0,w.jsx)(`span`,{className:q.successLabel,children:`Location`}),(0,w.jsx)(`span`,{className:q.successVal,children:(0,w.jsxs)(`span`,{className:sO.iconRow,children:[(0,w.jsx)(xe,{size:14,color:`var(--color-primary)`}),i]})})]}),(0,w.jsx)(lO,{d:e}),n&&a.trim()!==``&&(0,w.jsxs)(`div`,{className:q.successRow,children:[(0,w.jsx)(`span`,{className:q.successLabel,children:`Agenda`}),(0,w.jsx)(`span`,{className:t.at(q.successVal,sO.agendaVal),children:(0,w.jsxs)(`span`,{className:sO.iconRowTop,children:[(0,w.jsx)(rt,{size:14,className:sO.iconTop}),a]})})]})]})},dO=({d:e,onViewScheduled:n})=>(0,w.jsxs)(`div`,{className:q.successActions,children:[(0,w.jsx)(`button`,{type:`button`,className:t.at(q.successBtn,q.successBtnPrimary),onClick:()=>{n!==void 0&&n()},children:`View Scheduled Meetings`}),(0,w.jsx)(`button`,{type:`button`,className:t.at(q.successBtn,q.successBtnSecondary),onClick:()=>{e.reset()},children:`Book Another Meeting`})]}),fO=({d:e,onViewScheduled:t})=>(0,w.jsxs)(`div`,{className:q.successContainer,children:[(0,w.jsx)(cO,{}),(0,w.jsx)(uO,{d:e}),(0,w.jsx)(dO,{d:e,onViewScheduled:t})]}),pO=({d:e})=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`div`,{className:K.bookGrid,children:[(0,w.jsx)(aD,{contacts:e.searchResults,selectedId:e.contactId,search:e.search,onSearch:t=>{e.setSearch(t)},onSelect:t=>{e.setContactId(t)},mode:e.meetingType,selectedIds:e.selectedContactIds,onSelectGroup:t=>{e.setSelectedContactIds(t)},groupTitle:e.groupTitle,onGroupTitleChange:t=>{e.setGroupTitle(t)}}),(0,w.jsx)(XE,{view:e.view,today:e.today,selected:e.selected,onShift:t=>{e.shift(t)},onPick:t=>{e.pickDate(t)}}),(0,w.jsx)(rO,{dateLabel:e.dateLabel,slot:e.slot,offset:e.zone.offset,onSlot:t=>{e.setSlot(t)},slots:e.availableSlots,contactsList:e.list,viewer:e.viewer,tzId:e.tzId})]}),(0,w.jsx)(HE,{contact:e.contact,dateLabel:e.dateLabel,slot:e.slot,canBook:e.canBook,success:e.success,meetingType:e.meetingType,selectedContactIds:e.selectedContactIds,groupTitle:e.groupTitle,onBook:()=>{e.setConfirmOpen(!0)},selectedSlot:e.selectedSlot,tzId:e.tzId}),(0,w.jsx)(tD,{open:e.confirmOpen,contact:e.contact,dateLabel:e.dateLabel,slot:e.slot,zone:e.zone,pending:e.pending,onConfirm:()=>{e.confirm()},onClose:()=>{e.setConfirmOpen(!1)},selectedSlot:e.selectedSlot,tzId:e.tzId})]}),mO=({onViewScheduled:e})=>{let n=WD();return n.success?(0,w.jsx)(fO,{d:n,onViewScheduled:e}):(0,w.jsxs)(`div`,{className:K.bookCard,children:[(0,w.jsxs)(`div`,{className:K.bookTopBar,children:[(0,w.jsxs)(`div`,{className:K.typeSelector,children:[(0,w.jsx)(`button`,{type:`button`,className:t.at(K.typeBtn,n.meetingType===`1:1`&&K.typeBtnActive),onClick:()=>{n.setMeetingType(`1:1`)},children:`1:1 Meeting`}),(0,w.jsx)(`button`,{type:`button`,className:t.at(K.typeBtn,n.meetingType===`group`&&K.typeBtnActive),onClick:()=>{n.setMeetingType(`group`)},children:`Group Meeting (1:Many)`})]}),(0,w.jsx)(oO,{value:n.tzId,onChange:e=>{n.setTzId(e)}})]}),n.meetingType===`group`?(0,w.jsx)(QD,{d:n}):(0,w.jsx)(pO,{d:n})]})},J={schedWrap:`_schedWrap_d5mtd_4`,bucketTabs:`_bucketTabs_d5mtd_11`,bucketTab:`_bucketTab_d5mtd_11`,bucketTabActive:`_bucketTabActive_d5mtd_38`,bucketBg:`_bucketBg_d5mtd_45`,bucketLabel:`_bucketLabel_d5mtd_53`,bucketCount:`_bucketCount_d5mtd_58`,meetingList:`_meetingList_d5mtd_76`,meeting:`_meeting_d5mtd_76`,datePlate:`_datePlate_d5mtd_101`,datePlatePassed:`_datePlatePassed_d5mtd_114`,datePlateCanceled:`_datePlateCanceled_d5mtd_118`,datePlateMonth:`_datePlateMonth_d5mtd_122`,datePlateDay:`_datePlateDay_d5mtd_129`,meetingAvatar:`_meetingAvatar_d5mtd_141`,meetingBody:`_meetingBody_d5mtd_155`,meetingTitle:`_meetingTitle_d5mtd_163`,meetingMeta:`_meetingMeta_d5mtd_174`,meetingMetaItem:`_meetingMetaItem_d5mtd_183`,meetingActions:`_meetingActions_d5mtd_189`,acceptBtn:`_acceptBtn_d5mtd_196`,joinBtn:`_joinBtn_d5mtd_197`,acceptBtnDisabled:`_acceptBtnDisabled_d5mtd_214`,joinBtnDisabled:`_joinBtnDisabled_d5mtd_216`,declineBtn:`_declineBtn_d5mtd_224`,declineBtnDisabled:`_declineBtnDisabled_d5mtd_235`,cancelBtn:`_cancelBtn_d5mtd_241`,cancelBtnDisabled:`_cancelBtnDisabled_d5mtd_252`,statusPill:`_statusPill_d5mtd_260`,statusAccepted:`_statusAccepted_d5mtd_270`,statusPending:`_statusPending_d5mtd_275`,statusRejected:`_statusRejected_d5mtd_280`,statusCanceled:`_statusCanceled_d5mtd_281`,liveNow:`_liveNow_d5mtd_288`,liveNowDot:`_liveNowDot_d5mtd_293`,"live-now-breathe":`_live-now-breathe_d5mtd_1`,statusCompleted:`_statusCompleted_d5mtd_319`,empty:`_empty_d5mtd_324`,emptyIconWrap:`_emptyIconWrap_d5mtd_334`,emptyTitle:`_emptyTitle_d5mtd_346`,emptyText:`_emptyText_d5mtd_353`,participantsChip:`_participantsChip_d5mtd_389`,participantsPanel:`_participantsPanel_d5mtd_409`,participantRow:`_participantRow_d5mtd_416`,participantAvatar:`_participantAvatar_d5mtd_428`,participantName:`_participantName_d5mtd_442`,participantOrganizer:`_participantOrganizer_d5mtd_453`,participantStatus:`_participantStatus_d5mtd_458`,participantAccepted:`_participantAccepted_d5mtd_464`,participantRejected:`_participantRejected_d5mtd_468`,participantPending:`_participantPending_d5mtd_472`},hO=e=>e===`accepted`?`Accepted`:e===`rejected`?`Declined`:`Pending`,gO=e=>e===`accepted`?J.participantAccepted??!1:e===`rejected`?J.participantRejected??!1:J.participantPending??!1,_O=({participants:e})=>e.length===0?null:(0,w.jsx)(t.h,{ariaLabel:`Meeting participants`,contentClassName:J.participantsPanel,trigger:(0,w.jsxs)(`button`,{type:`button`,className:J.participantsChip,"aria-label":`${String(e.length)} participants — show who is in this meeting`,children:[(0,w.jsx)(ct,{size:11}),` `,e.length]}),children:e.map(e=>(0,w.jsxs)(`div`,{className:J.participantRow,children:[(0,w.jsx)(`span`,{className:J.participantAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`span`,{className:J.participantName,children:[e.name,e.isOrganizer&&(0,w.jsx)(`span`,{className:J.participantOrganizer,children:` · organizer`})]}),(0,w.jsx)(`span`,{className:t.at(J.participantStatus,gO(e.status)),children:hO(e.status)})]},e.userId))}),vO=e=>e===`accepted`?`Accepted`:e===`rejected`?`Declined`:`Pending`,yO=e=>e===`accepted`?J.statusAccepted??!1:e===`rejected`?J.statusRejected??!1:J.statusPending??!1,bO=(e,t)=>e?`Leave the active call before canceling`:t?`Cancel meeting`:`You don't have permission to cancel meetings`,xO=e=>{if(!e.isOrganizer||e.participants.length===0)return{label:vO(e.myStatus),status:e.myStatus};let t=e.participants.filter(e=>!e.isOrganizer);if(t.length===1){let e=t[0];if(e!==void 0)return e.status===`pending`?{label:`Awaiting reply`,status:`pending`}:{label:vO(e.status),status:e.status}}let n=t.filter(e=>e.status===`accepted`).length;return{label:`${String(n)}/${String(t.length)} accepted`,status:n>0?`accepted`:`pending`}},SO=({onRespond:e,canRespond:n})=>{let r=(0,w.jsxs)(`button`,{type:`button`,className:t.at(J.acceptBtn,!n&&J.acceptBtnDisabled),disabled:!n,onClick:()=>{e(!0)},children:[(0,w.jsx)(b,{size:12,strokeWidth:3}),` Accept`]}),i=(0,w.jsx)(`button`,{type:`button`,className:t.at(J.declineBtn,!n&&J.declineBtnDisabled),disabled:!n,onClick:()=>{e(!1)},children:`Decline`});return(0,w.jsxs)(`div`,{className:J.meetingActions,children:[n?r:(0,w.jsx)(t.p,{label:`You don't have permission to respond to meetings`,side:`top`,children:r}),n?i:(0,w.jsx)(t.p,{label:`You don't have permission to respond to meetings`,side:`top`,children:i})]})},CO=({meeting:e,onCancel:n,onJoin:r,canJoin:i,joinHint:a,canCancel:o})=>{let s=t.t(e=>e.activeMeeting),c=t.t(e=>e.isJoined)&&s!==null&&s.meetingId===e.id,l=e.myStatus===`accepted`,u=!i||c,d=c?`You are currently in this meeting`:a,f=bO(c,o),p=xO(e);return(0,w.jsxs)(`div`,{className:J.meetingActions,children:[(0,w.jsx)(_O,{participants:e.participants}),(0,w.jsx)(`span`,{className:t.at(J.statusPill,yO(p.status)),children:p.label}),l&&(0,w.jsx)(t.p,{label:d,side:`top`,children:(0,w.jsxs)(`button`,{type:`button`,className:t.at(J.joinBtn,u&&J.joinBtnDisabled),disabled:u,"aria-label":d,onClick:r,children:[(0,w.jsx)(lt,{size:13}),` `,c?`Joined`:`Join`]})}),e.isOrganizer&&(0,w.jsx)(t.p,{label:f,side:`top`,children:(0,w.jsx)(`button`,{type:`button`,className:t.at(J.cancelBtn,(c||!o)&&J.cancelBtnDisabled),disabled:c||!o,"aria-label":f,onClick:n,children:`Cancel`})})]})},wO=e=>{let{meeting:n,onRespond:r,canRespond:i}=e;return n.awaitingResponse?(0,w.jsx)(SO,{onRespond:r,canRespond:i}):n.bucket===`canceled`?(0,w.jsx)(`span`,{className:t.at(J.statusPill,J.statusCanceled),children:`Canceled`}):n.bucket===`passed`?(0,w.jsx)(`span`,{className:t.at(J.statusPill,J.statusCompleted),children:`Completed`}):(0,w.jsx)(CO,{...e})},TO=e=>e.isGroup?e.title===``||/^group (meeting|event)$/i.test(e.title.trim())?`Group Meeting`:`${e.title} · Group Meeting`:/^1:1\b/i.test(e.title.trim())||e.title===``?`1:1 with ${e.withName}`:e.withName===``?e.title:`${e.title} · ${e.withName}`,EO=1800*1e3,DO=e=>{let t=Math.max(1,Math.ceil(e/6e4)),n=Math.floor(t/1440);if(n>=1){let e=Math.floor((t-n*60*24)/60);return e>0?`in ${String(n)}d ${String(e)}h`:`in ${String(n)}d`}let r=Math.floor(t/60),i=t%60;return r>=1?i>0?`in ${String(r)}h ${String(i)}m`:`in ${String(r)}h`:`in ${String(i)}m`},OO=(e,t)=>({month:e.toLocaleDateString(`en-US`,{month:`short`,timeZone:t}).toUpperCase(),day:e.toLocaleDateString(`en-US`,{day:`numeric`,timeZone:t})}),kO=(e,t)=>{let[n,i]=(0,r.useState)(()=>Date.now());(0,r.useEffect)(()=>{let e=setInterval(()=>{i(Date.now())},3e4);return()=>{clearInterval(e)}},[]);let a=n>=e-EO&&n<=t;return{canJoin:a,joinHint:a?`Join the meeting`:n>t?`This meeting has ended`:`Join opens 30 min before — starts ${DO(e-n)}`,isHappeningNow:n>=e&&n<=t}},AO=({meeting:e,showLiveBadge:n,displayStart:r,displayEnd:i,tzSuffix:a})=>(0,w.jsxs)(`div`,{className:J.meetingBody,children:[(0,w.jsxs)(`span`,{className:J.meetingTitle,children:[TO(e),n&&(0,w.jsxs)(`span`,{className:t.at(J.statusPill,J.liveNow),children:[(0,w.jsx)(`span`,{className:J.liveNowDot,"aria-hidden":`true`}),`Happening now`]})]}),(0,w.jsxs)(`div`,{className:J.meetingMeta,children:[(0,w.jsxs)(`span`,{className:J.meetingMetaItem,children:[(0,w.jsx)(t.ot,{size:11}),` `,r,`–`,i,a]}),(0,w.jsxs)(`span`,{className:J.meetingMetaItem,children:[(0,w.jsx)(xe,{size:11}),` `,e.location]})]})]}),jO=e=>{let{meeting:i}=e,a=n.m(),{hasPermission:o}=ii(),s=o(T.meetingsRespond),c=o(T.meetingsCancel),l=new Date(i.startUtc),u=new Date(i.endUtc),d=a.formatTime(i.startUtc),f=a.formatTime(i.endUtc),p=OO(l,a.display),m=` (${n.f(a.display).offset})`,{canJoin:h,joinHint:g,isHappeningNow:_}=kO(l.getTime(),u.getTime()),v=_&&i.bucket===`upcoming`,y=(0,r.useRef)(null),b=(0,r.useRef)(null);(0,r.useEffect)(()=>{b.current=document.getElementById(`app-scroll-container`)},[]);let{scrollYProgress:x}=un({target:y,container:b,offset:[`start end`,`end start`]}),S=mn(x,[0,1],[-8,8]);return(0,w.jsxs)(t.C.article,{ref:y,style:{y:S},className:J.meeting,variants:t.x,whileHover:{y:-2},transition:{type:`spring`,stiffness:400,damping:30},children:[(0,w.jsxs)(`div`,{className:t.at(J.datePlate,i.bucket===`passed`&&J.datePlatePassed,i.bucket===`canceled`&&J.datePlateCanceled),children:[(0,w.jsx)(`span`,{className:J.datePlateMonth,children:p.month}),(0,w.jsx)(`span`,{className:J.datePlateDay,children:p.day})]}),(0,w.jsx)(`span`,{className:J.meetingAvatar,style:t.it({"--avatar-color":i.withColor}),children:i.withInitials}),(0,w.jsx)(AO,{meeting:i,showLiveBadge:v,displayStart:d,displayEnd:f,tzSuffix:m}),(0,w.jsx)(wO,{...e,canJoin:h,joinHint:g,canRespond:s,canCancel:c})]})},MO={list:`_list_1vv5w_1`,meeting:`_meeting_1vv5w_7`,datePlate:`_datePlate_1vv5w_17`,pulse:`_pulse_1vv5w_1`,avatar:`_avatar_1vv5w_26`,body:`_body_1vv5w_35`,title:`_title_1vv5w_43`,meta:`_meta_1vv5w_51`,actions:`_actions_1vv5w_59`,btn:`_btn_1vv5w_66`},NO=()=>(0,w.jsx)(`div`,{className:MO.list,children:Array.from({length:3}).map((e,t)=>(0,w.jsxs)(`div`,{className:MO.meeting,children:[(0,w.jsx)(`div`,{className:MO.datePlate}),(0,w.jsx)(`div`,{className:MO.avatar}),(0,w.jsxs)(`div`,{className:MO.body,children:[(0,w.jsx)(`div`,{className:MO.title}),(0,w.jsx)(`div`,{className:MO.meta})]}),(0,w.jsxs)(`div`,{className:MO.actions,children:[(0,w.jsx)(`div`,{className:MO.btn}),(0,w.jsx)(`div`,{className:MO.btn})]})]},`skel-${String(t)}`))}),PO=[{id:`upcoming`,label:`Upcoming`},{id:`passed`,label:`Past`},{id:`canceled`,label:`Canceled`}],FO={type:`spring`,stiffness:420,damping:34},IO={hidden:{},visible:{transition:{staggerChildren:.05}}},LO=({bucket:e,counts:n,onSelect:r})=>(0,w.jsx)(`div`,{className:J.bucketTabs,children:PO.map(i=>{let a=e===i.id;return(0,w.jsxs)(`button`,{type:`button`,className:t.at(J.bucketTab,a&&J.bucketTabActive),onClick:()=>{r(i.id)},children:[a&&(0,w.jsx)(t.C.span,{layoutId:`bucketBg`,className:J.bucketBg,transition:FO}),(0,w.jsx)(`span`,{className:J.bucketLabel,children:i.label}),(0,w.jsx)(`span`,{className:J.bucketCount,children:n[i.id]})]},i.id)})}),RO=1e4,zO=()=>{let e=t.gt(),i=n.o(RO),a=n.s(),o=n.a(),[s,c]=(0,r.useState)(`upcoming`),l=i.data??[],u=i.data===void 0,d=[...l].filter(e=>e.bucket===s).sort((e,t)=>new Date(e.startUtc).getTime()-new Date(t.startUtc).getTime()),f={upcoming:l.filter(e=>e.bucket===`upcoming`).length,passed:l.filter(e=>e.bucket===`passed`).length,canceled:l.filter(e=>e.bucket===`canceled`).length};return(0,w.jsxs)(`div`,{className:J.schedWrap,children:[(0,w.jsx)(LO,{bucket:s,counts:f,onSelect:c}),i.isPending?(0,w.jsx)(NO,{}):null,i.isError&&u?(0,w.jsx)(t.et,{tone:`error`,title:`Could not load meetings`,children:i.error.message}):null,i.isError&&!u?(0,w.jsx)(t.et,{tone:`info`,title:`Showing the last known meetings`,children:`Could not refresh just now. This will update on its own.`}):null,!u&&d.length===0?(0,w.jsxs)(`div`,{className:J.empty,children:[(0,w.jsx)(`div`,{className:J.emptyIconWrap,children:(0,w.jsx)(_,{size:32})}),(0,w.jsxs)(`span`,{className:J.emptyTitle,children:[`No `,s,` meetings`]}),(0,w.jsx)(`span`,{className:J.emptyText,children:`Nothing scheduled here yet.`})]}):null,!u&&d.length>0?(0,w.jsx)(t.T,{mode:`wait`,children:(0,w.jsx)(t.C.div,{className:J.meetingList,variants:IO,initial:`hidden`,animate:`visible`,children:d.map(t=>(0,w.jsx)(jO,{meeting:t,onRespond:e=>{a.mutate({meetingId:t.id,accept:e})},onCancel:()=>{o.mutate(t.id)},onJoin:()=>{e(`/comms/meetings/${t.id}/room`)}},t.id))},s)}):null]})},BO={screen:`_screen_18kgg_6`,head:`_head_18kgg_13`,headTop:`_headTop_18kgg_19`,title:`_title_18kgg_27`,subtitle:`_subtitle_18kgg_35`,headBadge:`_headBadge_18kgg_41`,headBadgeNum:`_headBadgeNum_18kgg_47`,headBadgeLabel:`_headBadgeLabel_18kgg_53`,tabs:`_tabs_18kgg_59`,tab:`_tab_18kgg_59`,tabActive:`_tabActive_18kgg_84`,tabUnderline:`_tabUnderline_18kgg_90`,body:`_body_18kgg_100`,tabContent:`_tabContent_18kgg_107`},VO=()=>{let[e,i]=(0,r.useState)(`scheduled`),a=(n.o().data??[]).filter(e=>e.bucket===`upcoming`).length;return(0,w.jsxs)(`div`,{className:BO.screen,children:[(0,w.jsxs)(`header`,{className:BO.head,children:[(0,w.jsxs)(`div`,{className:BO.headTop,children:[(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`h1`,{className:BO.title,children:`Meetings`}),(0,w.jsx)(`p`,{className:BO.subtitle,children:`Book 1:1 meetings and manage your invitations.`})]}),(0,w.jsxs)(`div`,{className:BO.headBadge,children:[(0,w.jsx)(`span`,{className:BO.headBadgeNum,children:a}),(0,w.jsx)(`span`,{className:BO.headBadgeLabel,children:`upcoming`})]})]}),(0,w.jsxs)(`div`,{className:BO.tabs,children:[(0,w.jsxs)(`button`,{type:`button`,className:t.at(BO.tab,e===`book`&&BO.tabActive),onClick:()=>{i(`book`)},children:[(0,w.jsx)(g,{size:15}),` Book a Meeting`,e===`book`&&(0,w.jsx)(t.C.span,{layoutId:`bookTabUnderline`,className:BO.tabUnderline,transition:{type:`spring`,stiffness:420,damping:34}})]}),(0,w.jsxs)(`button`,{type:`button`,className:t.at(BO.tab,e===`scheduled`&&BO.tabActive),onClick:()=>{i(`scheduled`)},children:[(0,w.jsx)(t.ot,{size:15}),` Scheduled`,e===`scheduled`&&(0,w.jsx)(t.C.span,{layoutId:`bookTabUnderline`,className:BO.tabUnderline,transition:{type:`spring`,stiffness:420,damping:34}})]})]})]}),(0,w.jsx)(`div`,{className:BO.body,children:(0,w.jsx)(t.T,{mode:`wait`,children:(0,w.jsx)(t.C.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.2,ease:`easeOut`},className:BO.tabContent,children:e===`book`?(0,w.jsx)(mO,{onViewScheduled:()=>{i(`scheduled`)}}):(0,w.jsx)(zO,{})},e)})})]})},HO=()=>{let{meetingId:e}=t.vt(),n=t.t(e=>e.setRequestedMeetingId);return(0,r.useEffect)(()=>{e!==void 0&&n(e)},[e,n]),(0,w.jsx)(w.Fragment,{})},UO=`/comms/bookings`,WO=`/comms/meetings/:meetingId/room`,GO=()=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(t.mt,{children:[(0,w.jsx)(t.pt,{path:UO,element:(0,w.jsx)(VO,{})}),(0,w.jsx)(t.pt,{path:WO,element:(0,w.jsx)(HO,{})}),(0,w.jsx)(t.pt,{path:`*`,element:(0,w.jsx)(t.ft,{to:UO,replace:!0})})]}),(0,w.jsx)(bS,{takeover:!0}),(0,w.jsx)(tS,{})]}),KO=()=>{pC(`uapp-bookings`,()=>(0,w.jsx)(GO,{}))},qO=(e,t=0)=>{let n=new Date(e);return n.setHours(0,0,0,0),n.setDate(e.getDate()-(e.getDay()+6)%7+t*7),Array.from({length:7},(e,t)=>{let r=new Date(n);return r.setDate(n.getDate()+t),r})},JO=(e,t)=>{let r=n.Pt(e);return qO(e,t).map(e=>({date:e,dayNumber:e.getDate(),isToday:n.Pt(e)===r}))},YO=(e,t)=>e.toLocaleDateString(void 0,t),XO=(e,t)=>{let n=qO(e,t),r=n[0]??e,i=n[6]??e,a=r.getFullYear()===i.getFullYear();return a&&r.getMonth()===i.getMonth()?`${String(r.getDate())} – ${YO(i,{day:`numeric`,month:`long`,year:`numeric`})}`:a?`${YO(r,{day:`numeric`,month:`short`})} – ${YO(i,{day:`numeric`,month:`short`,year:`numeric`})}`:`${YO(r,{day:`numeric`,month:`short`,year:`numeric`})} – ${YO(i,{day:`numeric`,month:`short`,year:`numeric`})}`},ZO=(e,t)=>new Date(e.getFullYear(),e.getMonth()+t,1),QO=(e,t)=>ZO(e,t).toLocaleDateString(void 0,{month:`long`,year:`numeric`}),$O=(e,t)=>{let n=ZO(e,t),r=(n.getDay()+6)%7,i=new Date(n.getFullYear(),n.getMonth()+1,0).getDate(),a=Math.ceil((r+i)/7),o=new Date(n);return o.setDate(n.getDate()-r),Array.from({length:a*7},(e,t)=>{let n=new Date(o);return n.setDate(o.getDate()+t),n})},ek=e=>{if(e<60)return`${String(e)}m`;let t=Math.floor(e/60),n=e%60;return n===0?`${String(t)}h`:`${String(t)}h ${String(n)}m`},tk=e=>{let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`},nk=e=>new Date(e).toLocaleDateString(void 0,{weekday:`short`,day:`numeric`,month:`short`}),rk=e=>n.Pt(e),ik=e=>tk(e),ak=(e,t)=>{let[n,r,i]=e.split(`-`),[a,o]=t.split(`:`);return new Date(Number(n??`1970`),Number(r??`1`)-1,Number(i??`1`),Number(a??`0`),Number(o??`0`),0,0).toISOString()},ok={available:{label:`Available`,color:`#22c55e`,Icon:b},busy:{label:`Busy`,color:`#ef4444`,Icon:l},meeting:{label:`Meeting`,color:`#3b82f6`,Icon:lt},focus:{label:`Focus`,color:`#8b5cf6`,Icon:nt},away:{label:`Away`,color:`#94a3b8`,Icon:t.ot}},sk=e=>e===0||e===24?`12 AM`:e===12?`12 PM`:e<12?`${String(e)} AM`:`${String(e-12)} PM`,ck=(e,t)=>{let r=n.Lt(e),i=n.Lt(t);return i<=r?1440:i},lk=(e,t)=>{let r=n.vt(t);return r<=n.vt(e)?1440:r},uk=(e,t,r)=>{let i=n.vt(r)<=n.vt(t)?0:Math.max(0,Math.floor(n.vt(t)/60)-1),a=Math.min(24,Math.ceil(lk(t,r)/60)+1);for(let t of e){let e=t.block.status===`available`&&(t.continuesFromPrevDay===!0||t.continuesToNextDay===!0);t.block.allDay&&!e||(i=Math.min(i,Math.floor(n.Lt(t.start)/60)),a=Math.max(a,Math.ceil(ck(t.start,t.end)/60)))}return i=Math.max(0,Math.min(i,22)),a=Math.min(24,Math.max(a,i+2)),{startHour:i,endHour:a}},dk=e=>Array.from({length:e.endHour-e.startHour},(t,n)=>e.startHour+n),fk=e=>(e.endHour-e.startHour)*52,pk=(e,t,r)=>{let i=n.Lt(e),a=ck(e,t);return{top:(i-r.startHour*60)*52/60,height:Math.max(20,(a-i)*52/60-2)}},mk=(e,t,n)=>{let r=n.startHour*60,i=Math.max(e,r),a=Math.min(t,n.endHour*60);return a<=i?null:{top:(i-r)*52/60,height:(a-i)*52/60}},hk=(e,t,r)=>e?t.flatMap(e=>{let t=n.vt(e.from),i=n.vt(e.to);if(i<=t)return[mk(t,1440,r),mk(0,i,r)].filter(e=>e!==null);let a=mk(t,i,r);return a===null?[]:[a]}):[],gk=(e,t)=>{let n=e.getHours()*60+e.getMinutes();return n<t.startHour*60||n>t.endHour*60?null:(n-t.startHour*60)*52/60},_k=(e,t,r,i=90)=>((n.vt(t)<=n.vt(e)?0:n.vt(e))-r*60)*52/60-i*52/60,vk=(e,t,n=90)=>(e.getHours()*60+e.getMinutes()-t*60)*52/60-n*52/60,yk=e=>{let t=[...e].sort((e,t)=>n.Lt(e.start)-n.Lt(t.start)||ck(e.start,e.end)-ck(t.start,t.end)),r=[],i=[],a=[],o=()=>{let e=Math.max(1,a.length);for(let t of i)r.push({occurrence:t.occurrence,lane:t.lane,lanes:e});i=[],a=[]};for(let e of t){let t=n.Lt(e.start),r=ck(e.start,e.end);i.length>0&&t>=Math.max(...a)&&o();let s=a.findIndex(e=>e<=t);s===-1?(s=a.length,a.push(r)):a[s]=r,i.push({occurrence:e,lane:s})}return o(),r},bk=e=>{let t=e.filter(e=>e.end>e.start).slice().sort((e,t)=>e.start-t.start),n=[];for(let e of t){let t=n[n.length-1];t!==void 0&&e.start<=t.end?n[n.length-1]={start:t.start,end:Math.max(t.end,e.end)}:n.push(e)}return n},xk=e=>e.reduce((e,t)=>e+(t.end-t.start),0),Sk=(e,t,r)=>{let i=n.Pt(t),a=e.filter(e=>e.date===i&&!e.block.allDay),o=bk([...r.map(e=>{let t=n.vt(e.from),r=n.vt(e.to);return{start:t,end:r<=t?1440:r}}),...a.filter(e=>e.block.status===`available`).map(e=>({start:n.Lt(e.start),end:ck(e.start,e.end)}))]),s=a.filter(e=>e.block.status!==`available`).map(e=>({start:n.Lt(e.start),end:ck(e.start,e.end)})),c=0;for(let e of o){let t=bk(s.map(t=>({start:Math.max(e.start,t.start),end:Math.min(e.end,t.end)})));c+=e.end-e.start-xk(t)}return Math.max(0,Math.round(c/60))},Ck=(e,t)=>new Date(new Date(e).getTime()+t*6e4).toISOString(),wk=(e,t)=>{let r=new Date(e),i=n.v(t,r)-n.v(n.g(),r);return i===0?e:new Date(r.getTime()-i*6e4).toISOString()},Tk=(e,t)=>{let r=new Date(e),i=n.v(t,r)-n.v(n.g(),r);return i===0?e:new Date(r.getTime()+i*6e4).toISOString()},Ek=(e,t)=>({...e,start:wk(e.start,t),end:wk(e.end,t)}),Dk=e=>{if(e.mode===`edit`){let{block:t}=e;return{title:t.title,status:t.status,start:t.start,end:t.allDay?t.end:ak(rk(t.start),ik(t.end)),allDay:t.allDay,notes:t.notes,recurrence:t.recurrence}}let t=e.start,r=e.end??Ck(t,60),i=null,a=n.Pt(t);if(a!==n.Pt(r)){r=ak(a,ik(r));let o=new Date(t),s=new Date(e.end??r),c=[],l=new Date(o),u=0;for(;n.Pt(l)<=n.Pt(s)&&u<100;)u++,c.push(l.getDay()),l.setDate(l.getDate()+1);i={freq:`weekly`,interval:1,weekdays:c,monthlyMode:`dayOfMonth`,endType:`on`,endCount:13,endDate:n.Pt(s),exceptions:[]}}return{title:e.title??``,status:e.status??`available`,start:t,end:r,allDay:!1,notes:``,recurrence:i}},Ok=e=>({...e,recurrence:e.recurrence===null?n.Ot(e.start):null}),kk=(e,t)=>({...e,recurrence:t}),Ak=(e,t)=>({...e,start:ak(t,ik(e.start)),end:ak(t,ik(e.end))}),jk=(e,t)=>{let n=ak(rk(e.start),t),r=new Date(n).getTime()-new Date(e.start).getTime();return{...e,start:n,end:new Date(new Date(e.end).getTime()+r).toISOString()}},Mk=(e,t)=>({...e,end:ak(rk(e.start),t)}),Nk=(e,t)=>{let n=rk(e.start);return t?{...e,allDay:!0,start:ak(n,`00:00`),end:ak(n,`23:59`)}:{...e,allDay:!1,start:ak(n,`09:00`),end:ak(n,`10:00`)}},Y={notesInput:`_notesInput_1ut2q_7`,actionSpacer:`_actionSpacer_1ut2q_24`,panelHead:`_panelHead_1ut2q_29`,panelTitle:`_panelTitle_1ut2q_41`,panelForm:`_panelForm_1ut2q_47`,microLabel:`_microLabel_1ut2q_54`,panelInput:`_panelInput_1ut2q_62`,inputError:`_inputError_1ut2q_79`,fieldError:`_fieldError_1ut2q_84`,statusPills:`_statusPills_1ut2q_90`,statusPill:`_statusPill_1ut2q_90`,statusPillActive:`_statusPillActive_1ut2q_110`,dtGrid:`_dtGrid_1ut2q_116`,checkRow:`_checkRow_1ut2q_133`,checkbox:`_checkbox_1ut2q_143`,recurToggle:`_recurToggle_1ut2q_150`,recurToggleOn:`_recurToggleOn_1ut2q_163`,recurToggleLabel:`_recurToggleLabel_1ut2q_168`,recurSwitch:`_recurSwitch_1ut2q_181`,recurSwitchOn:`_recurSwitchOn_1ut2q_191`,recurKnob:`_recurKnob_1ut2q_195`,panelFooter:`_panelFooter_1ut2q_210`,panelSummary:`_panelSummary_1ut2q_215`,panelActions:`_panelActions_1ut2q_226`,recurSection:`_recurSection_1ut2q_234`,recurBuilder:`_recurBuilder_1ut2q_240`,recurChips:`_recurChips_1ut2q_250`,recurChip:`_recurChip_1ut2q_250`,recurChipActive:`_recurChipActive_1ut2q_267`,recurInline:`_recurInline_1ut2q_273`,recurInlineLabel:`_recurInlineLabel_1ut2q_281`,recurNumber:`_recurNumber_1ut2q_286`,recurWeekdays:`_recurWeekdays_1ut2q_297`,recurDay:`_recurDay_1ut2q_303`,recurDayActive:`_recurDayActive_1ut2q_315`,recurEnds:`_recurEnds_1ut2q_321`,recurRadio:`_recurRadio_1ut2q_327`,recurDate:`_recurDate_1ut2q_339`,recurSummaryBox:`_recurSummaryBox_1ut2q_349`,panelSummaryError:`_panelSummaryError_1ut2q_360`,disabledButtonWrapper:`_disabledButtonWrapper_1ut2q_368`,resolveConflictBtn:`_resolveConflictBtn_1ut2q_373`,upcomingCard:`_upcomingCard_1ut2q_394`,upcomingHeader:`_upcomingHeader_1ut2q_402`,upcomingRow:`_upcomingRow_1ut2q_414`,upcomingRowDate:`_upcomingRowDate_1ut2q_427`,upcomingRowTime:`_upcomingRowTime_1ut2q_431`,upcomingMore:`_upcomingMore_1ut2q_436`,differentTimeRow:`_differentTimeRow_1ut2q_445`,differentTimeList:`_differentTimeList_1ut2q_456`,differentTimeRowItem:`_differentTimeRowItem_1ut2q_467`,differentTimeDayLabel:`_differentTimeDayLabel_1ut2q_479`,differentTimeNote:`_differentTimeNote_1ut2q_488`,differentTimeRowGroup:`_differentTimeRowGroup_1ut2q_495`,differentTimeDayLabelSpacer:`_differentTimeDayLabelSpacer_1ut2q_501`,slotActionBtn:`_slotActionBtn_1ut2q_507`,slotActionBtnTrash:`_slotActionBtnTrash_1ut2q_524`},Pk={center:`_center_10cfo_6`,field:`_field_10cfo_12`,dash:`_dash_10cfo_18`},Fk={timeInput:`_timeInput_ik08d_4`},Ik=[{wd:1,label:`M`,longLabel:`Mon`},{wd:2,label:`T`,longLabel:`Tue`},{wd:3,label:`W`,longLabel:`Wed`},{wd:4,label:`T`,longLabel:`Thu`},{wd:5,label:`F`,longLabel:`Fri`},{wd:6,label:`S`,longLabel:`Sat`},{wd:0,label:`S`,longLabel:`Sun`}],Lk=e=>{let[t,n]=e.split(`:`).map(Number);return(t??0)*60+(n??0)},Rk=e=>{let t=Math.floor(e/60),n=e%60;return`${String(t).padStart(2,`0`)}:${String(n).padStart(2,`0`)}`},zk=e=>{if(!e)return{start:`09:00`,end:`17:00`};let t=Lk(e.start),n=Lk(e.end),r=n>t?n-t:60,i=n,a=i+r;return i>=1439?{start:`23:00`,end:`23:59`}:(a>1439&&(a=1439),{start:Rk(i),end:Rk(a)})},Bk=({slot:e,index:n,dayMeta:r,dayName:i,showTrash:a,onUpdateStart:o,onUpdateEnd:s,onAdd:c,onRemove:l})=>(0,w.jsxs)(`div`,{className:Y.differentTimeRowItem,children:[n===0?(0,w.jsx)(`span`,{className:Y.differentTimeDayLabel,children:r?.longLabel??i}):(0,w.jsx)(`span`,{className:Y.differentTimeDayLabelSpacer}),(0,w.jsx)(`input`,{type:`time`,className:t.at(Y.recurDate,Fk.timeInput),value:e.start,onChange:e=>{o(e.target.value)}}),(0,w.jsx)(`span`,{className:Pk.dash,children:`–`}),(0,w.jsx)(`input`,{type:`time`,className:t.at(Y.recurDate,Fk.timeInput),value:e.end,onChange:e=>{s(e.target.value)}}),(0,w.jsx)(`button`,{type:`button`,className:Y.slotActionBtn,onClick:c,children:(0,w.jsx)(Le,{size:14})}),a&&(0,w.jsx)(`button`,{type:`button`,className:Y.slotActionBtnTrash,onClick:l,children:(0,w.jsx)(at,{size:12})})]}),Vk=({dayMeta:e,dayName:t,slots:n,startIso:r,endIso:i,onChangeSlots:a})=>{let o=n.length>0?n:[{start:ik(r),end:ik(i??r)}];return(0,w.jsx)(`div`,{className:Y.differentTimeRowGroup,children:o.map((n,r)=>(0,w.jsx)(Bk,{slot:n,index:r,dayMeta:e,dayName:t,showTrash:o.length>1,onUpdateStart:e=>{let t=[...o];t[r]={...n,start:e},a(t)},onUpdateEnd:e=>{let t=[...o];t[r]={...n,end:e},a(t)},onAdd:()=>{let e=o[o.length-1];a([...o,zk(e)])},onRemove:()=>{a(o.filter((e,t)=>t!==r))}},r))})},Hk=({rec:e,onChange:t,startIso:n,endIso:r})=>e.weekdays.length===0?(0,w.jsx)(w.Fragment,{}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`label`,{className:Y.differentTimeRow,children:[(0,w.jsx)(`input`,{type:`checkbox`,checked:e.differentTimes??!1,onChange:n=>{t({...e,differentTimes:n.target.checked})}}),(0,w.jsx)(`span`,{children:`Different time per day`})]}),e.differentTimes&&(0,w.jsxs)(`div`,{className:Y.differentTimeList,children:[e.weekdays.map(i=>{let a=Ik.find(e=>e.wd===i);return(0,w.jsx)(Vk,{dayMeta:a,dayName:a?a.longLabel:``,slots:e.weekdayTimes?.[i]??[],startIso:n,endIso:r,onChangeSlots:n=>{let r={...e.weekdayTimes,[i]:n};t({...e,weekdayTimes:r})}},i)}),(0,w.jsx)(`div`,{className:Y.differentTimeNote,children:`Defaults to the base event time when not overridden. Use + to add multiple slots per day.`})]})]}),Uk=({recurrence:e,startIso:t,endIso:r})=>{let i=new Date(t),a=r===void 0?new Date(i.getTime()+1800*1e3):new Date(r),o=i,s=new Date(i.getTime()+2160*60*60*1e3),c=n.kt({start:t,end:a.toISOString(),recurrence:e},o,s),l=c.slice(0,5);return l.length===0?(0,w.jsx)(w.Fragment,{}):(0,w.jsxs)(`div`,{className:Y.upcomingCard,children:[(0,w.jsxs)(`div`,{className:Y.upcomingHeader,children:[(0,w.jsx)(v,{size:12}),` Upcoming Occurrences`]}),(0,w.jsx)(`div`,{children:l.map((e,t)=>{let n=new Date(e.start).toLocaleDateString(void 0,{weekday:`short`,month:`short`,day:`numeric`}),r=`${tk(e.start)} – ${tk(e.end)}`;return(0,w.jsxs)(`div`,{className:Y.upcomingRow,children:[(0,w.jsx)(`span`,{className:Y.upcomingRowDate,children:n}),(0,w.jsx)(`span`,{className:Y.upcomingRowTime,children:r})]},t)})}),c.length>5&&(0,w.jsx)(`div`,{className:Y.upcomingMore,children:`...and more beyond`})]})},Wk=[{wd:1,label:`M`},{wd:2,label:`T`},{wd:3,label:`W`},{wd:4,label:`T`},{wd:5,label:`F`},{wd:6,label:`S`},{wd:0,label:`S`}],Gk={daily:`day`,weekly:`week`,monthly:`month`,yearly:`year`},Kk=[{id:`dayOfMonth`,label:`Day of month`},{id:`nthWeekday`,label:`Day of week`}],qk=({rec:e,onChange:r})=>(0,w.jsx)(`div`,{className:Y.recurChips,children:n.Dt.map(n=>(0,w.jsx)(`button`,{type:`button`,className:t.at(Y.recurChip,e.freq===n.id&&Y.recurChipActive),"aria-pressed":e.freq===n.id,onClick:()=>{r({...e,freq:n.id})},children:n.label},n.id))}),Jk=({rec:e,onChange:t})=>(0,w.jsxs)(`label`,{className:Y.recurInline,children:[(0,w.jsx)(`span`,{className:Y.recurInlineLabel,children:`Every`}),(0,w.jsx)(`input`,{type:`number`,min:1,max:99,className:Y.recurNumber,value:e.interval,onChange:n=>{t({...e,interval:Math.max(1,Number(n.target.value)||1)})}}),(0,w.jsxs)(`span`,{className:Y.recurInlineLabel,children:[Gk[e.freq],e.interval>1?`s`:``]})]}),Yk=({rec:e,onChange:n})=>(0,w.jsx)(`div`,{className:Y.recurWeekdays,children:Wk.map(({wd:r,label:i})=>{let a=e.weekdays.includes(r);return(0,w.jsx)(`button`,{type:`button`,className:t.at(Y.recurDay,a&&Y.recurDayActive),"aria-pressed":a,onClick:()=>{n({...e,weekdays:a?e.weekdays.filter(e=>e!==r):[...e.weekdays,r]})},children:i},r)})}),Xk=({rec:e,onChange:n})=>(0,w.jsx)(`div`,{className:Y.recurChips,children:Kk.map(r=>(0,w.jsx)(`button`,{type:`button`,className:t.at(Y.recurChip,e.monthlyMode===r.id&&Y.recurChipActive),onClick:()=>{n({...e,monthlyMode:r.id})},children:r.label},r.id))}),Zk=({rec:e,startIso:t,onChange:n})=>(0,w.jsxs)(`div`,{className:Y.recurEnds,children:[(0,w.jsxs)(`label`,{className:Y.recurRadio,children:[(0,w.jsx)(`input`,{type:`radio`,name:`recur-end`,checked:e.endType===`never`,onChange:()=>{n({...e,endType:`never`})}}),(0,w.jsx)(`span`,{children:`Never ends`})]}),(0,w.jsxs)(`label`,{className:Y.recurRadio,children:[(0,w.jsx)(`input`,{type:`radio`,name:`recur-end`,checked:e.endType===`after`,onChange:()=>{n({...e,endType:`after`})}}),(0,w.jsx)(`span`,{children:`After`}),(0,w.jsx)(`input`,{type:`number`,min:1,max:365,className:Y.recurNumber,value:e.endCount,disabled:e.endType!==`after`,onChange:t=>{n({...e,endType:`after`,endCount:Math.max(1,Number(t.target.value)||1)})}}),(0,w.jsx)(`span`,{children:`times`})]}),(0,w.jsxs)(`label`,{className:Y.recurRadio,children:[(0,w.jsx)(`input`,{type:`radio`,name:`recur-end`,checked:e.endType===`on`,onChange:()=>{n({...e,endType:`on`})}}),(0,w.jsx)(`span`,{children:`On`}),(0,w.jsx)(`input`,{type:`date`,className:Y.recurDate,min:t.slice(0,10),value:e.endDate,disabled:e.endType!==`on`,onChange:t=>{n({...e,endType:`on`,endDate:t.target.value})}})]})]}),Qk=({recurrence:e,startIso:t,endIso:r,onChange:i})=>{let a=e.freq===`weekly`,o=e.freq===`monthly`||e.freq===`yearly`;return(0,w.jsxs)(`div`,{className:Y.recurBuilder,children:[(0,w.jsx)(qk,{rec:e,onChange:i}),(0,w.jsx)(Jk,{rec:e,onChange:i}),a&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(Yk,{rec:e,onChange:i}),(0,w.jsx)(Hk,{rec:e,onChange:i,startIso:t,endIso:r})]}),o&&(0,w.jsx)(Xk,{rec:e,onChange:i}),(0,w.jsx)(Zk,{rec:e,startIso:t,onChange:i}),(0,w.jsx)(`div`,{className:Y.recurSummaryBox,children:n.jt(e,t)}),(0,w.jsx)(Uk,{recurrence:e,startIso:t,endIso:r})]})},$k=({draft:e,onChange:r})=>(0,w.jsxs)(`div`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:Y.microLabel,children:`Status`}),(0,w.jsx)(`div`,{className:Y.statusPills,children:n.St.map(n=>{let i=ok[n.id],a=e.status===n.id;return(0,w.jsxs)(`button`,{type:`button`,className:t.at(Y.statusPill,a&&Y.statusPillActive),style:t.it({"--status-color":i.color}),"aria-pressed":a,onClick:()=>{r({...e,status:n.id})},children:[(0,w.jsx)(i.Icon,{size:13}),` `,n.label]},n.id)})})]}),eA=({draft:e,onChange:n})=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`div`,{className:e.allDay?Pk.field:Y.dtGrid,children:[(0,w.jsxs)(`label`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:Y.microLabel,children:`Date`}),(0,w.jsx)(`input`,{type:`date`,className:Y.panelInput,value:rk(e.start),onChange:t=>{n(Ak(e,t.target.value))}})]}),!e.allDay&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`label`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:Y.microLabel,children:`Start`}),(0,w.jsx)(t.r,{value:ik(e.start),onChange:t=>{n(jk(e,t))}})]}),(0,w.jsxs)(`label`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:Y.microLabel,children:`End`}),(0,w.jsx)(t.r,{align:`end`,value:ik(e.end),onChange:t=>{n(Mk(e,t))}})]})]})]}),(0,w.jsxs)(`label`,{className:Y.checkRow,children:[(0,w.jsx)(`input`,{type:`checkbox`,className:Y.checkbox,checked:e.allDay,onChange:t=>{n(Nk(e,t.target.checked))}}),(0,w.jsx)(`span`,{children:`All-day`})]})]}),tA=({draft:e,onChange:n})=>{let r=e.recurrence!==null;return(0,w.jsxs)(`div`,{className:Y.recurSection,children:[(0,w.jsxs)(`button`,{type:`button`,className:t.at(Y.recurToggle,r&&Y.recurToggleOn),"aria-pressed":r,onClick:()=>{n(Ok(e))},children:[(0,w.jsxs)(`span`,{className:Y.recurToggleLabel,children:[(0,w.jsx)(We,{size:13}),` Recurring`]}),(0,w.jsx)(`span`,{className:t.at(Y.recurSwitch,r&&Y.recurSwitchOn),children:(0,w.jsx)(`span`,{className:Y.recurKnob})})]}),e.recurrence!==null&&(0,w.jsx)(Qk,{recurrence:e.recurrence,startIso:e.start,endIso:e.end,onChange:t=>{n(kk(e,t))}})]})},nA=({draft:e,onChange:n})=>(0,w.jsxs)(`div`,{className:Y.panelForm,children:[(0,w.jsxs)(`label`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:Y.microLabel,children:`Title`}),(0,w.jsx)(`input`,{type:`text`,className:t.at(Y.panelInput,e.title.length>200&&Y.inputError),value:e.title,placeholder:`e.g. Morning availability`,onChange:t=>{n({...e,title:t.target.value})}}),e.title.length>200&&(0,w.jsx)(`span`,{className:Y.fieldError,children:`The field Title must be a string with a maximum length of 200.`})]}),(0,w.jsx)($k,{draft:e,onChange:n}),(0,w.jsx)(eA,{draft:e,onChange:n}),(0,w.jsx)(tA,{draft:e,onChange:n}),(0,w.jsxs)(`label`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:Y.microLabel,children:`Notes`}),(0,w.jsx)(`textarea`,{className:Y.notesInput,rows:3,value:e.notes,placeholder:`Optional notes`,onChange:t=>{n({...e,notes:t.target.value})}})]})]}),rA=(e,r,i,a)=>{let o=n.S(),s=n.k(),c=n.C();return{busy:o.isPending||s.isPending||c.isPending,onSave:()=>{let n=Ek(r,i),c=e=>{t.l.success(e),a()};if(e.mode===`edit`){s.mutate({id:e.block.id,draft:n},{onSuccess:()=>{c(`Event updated`)},onError:e=>{t.l.error(e.message)}});return}o.mutate(n,{onSuccess:()=>{c(`Event added`)},onError:e=>{t.l.error(e.message)}})},onDelete:()=>{if(e.mode!==`edit`)return;let n=e.block.sourceMeetingId!==null;c.mutate(e.block.id,{onSuccess:()=>{t.l.success(n?`Meeting cancelled for everyone`:`Event removed`),a()},onError:e=>{t.l.error(e.message)}})}}},iA=(e,t,n,r)=>{let i=new Date(e).getTime(),a=new Date(t).getTime(),o=new Date(n).getTime(),s=new Date(r).getTime();return i<=o&&a>=s?{type:`delete`}:i>o&&a<s?{type:`split`,updateEnd:new Date(i).toISOString(),createStart:new Date(a).toISOString(),createEnd:new Date(s).toISOString()}:i<=o&&a>o&&a<s?{type:`update`,start:new Date(a).toISOString(),end:r}:i>o&&i<s&&a>=s?{type:`update`,start:n,end:new Date(i).toISOString()}:null},aA=(e,t)=>{let n=new Date(e.start).getTime(),r=new Date(e.end).getTime(),i=new Date(t.start).getTime();return n<new Date(t.end).getTime()&&r>i},oA=(e,t)=>{let n=e.block.status===`available`&&t.block.status===`available`,r=e.block.status!==`available`&&t.block.status!==`available`;return(n||r)&&aA(e,t)},sA=(e,t,r)=>{let i=n.bt([new n.Et({id:`draft`,...e})],r),a=n.bt(t,r),o=[];for(let e of a)i.some(t=>oA(t,e))&&o.push(e);return o},cA=e=>({userId:e.userId,title:e.title,status:e.status,start:e.start,end:e.end,allDay:e.allDay,notes:e.notes,recurrence:e.recurrence}),lA=(e,t,n)=>({...cA(e),start:t,end:n,recurrence:null}),uA=(e,t)=>{let n=e.recurrence;if(n===null)return cA(e);let r=Array.from(new Set([...n.exceptions,...t]));return{...cA(e),recurrence:{...n,exceptions:r}}},dA=(e,t,n)=>n.type===`delete`?[]:n.type===`update`?[lA(e,n.start,n.end)]:[lA(e,t.start,n.updateEnd),lA(e,n.createStart,n.createEnd)],fA=(e,t,n)=>{let r=iA(n.start,n.end,t.start,t.end);return r===null?[]:r.type===`delete`?[{kind:`delete`,blockId:e.id}]:r.type===`update`?[{kind:`update`,blockId:e.id,draft:lA(e,r.start,r.end)}]:[{kind:`update`,blockId:e.id,draft:lA(e,t.start,r.updateEnd)},{kind:`create`,draft:lA(e,r.createStart,r.createEnd)}]},pA=(e,t,n)=>{let r=[],i=[];for(let a of t){let t=iA(n.start,n.end,a.start,a.end);if(t!==null){r.push(a.date);for(let n of dA(e,a,t))i.push({kind:`create`,draft:n})}}return r.length===0?[]:[{kind:`update`,blockId:e.id,draft:uA(e,r)},...i]},mA=(e,t)=>{let n=new Map;for(let e of t){let t=n.get(e.block.id)??[];t.push(e),n.set(e.block.id,t)}let r=[];for(let t of n.values()){let n=t[0];if(n===void 0)continue;let i=n.block.recurrence===null?fA(n.block,n,e):pA(n.block,t,e);r.push(...i)}return r},hA=(e,t)=>e.filter(e=>t.mode!==`edit`||e.id!==t.block.id),gA=(e,t,n)=>{let r=new Map;for(let i of sA(e,t,n))r.set(i.block.id,i.block);return[...r.values()]},_A=300*1e3,vA=(e,t,n,r)=>{if(!(n.mode!==`edit`||t.start!==Ek({...e,start:n.block.start,end:n.block.end},r).start)||new Date(t.start).getTime()>=Date.now()-_A)return null;let i=new Date(t.end).getTime();return e.allDay&&i>Date.now()?`All-day events cannot be scheduled for today as part of the day has passed. Please uncheck 'All-day' to select a specific time.`:`Cannot schedule an event in the past.`},yA=(e,t)=>{if(t.length===0)return null;let n=t[0];if(n===void 0)return null;let r=t.some(e=>e.status===`meeting`);return e===`available`&&n.status===`available`?{error:`This block overlaps with an existing availability.`,code:`overlap_availability`,hasMeetingConflict:r}:{error:r?`This block overlaps with a scheduled Meeting. Meetings cannot be auto-adjusted or overwritten.`:`This block overlaps with an existing event.`,code:`overlap_event`,hasMeetingConflict:r}},bA=(e,t,r,i)=>{if(e.title.trim().length===0)return{error:`Event title is required.`,code:`empty_title`};if(e.title.length>200)return{error:`The field Title must be a string with a maximum length of 200.`,code:`title_too_long`};if(!n.It(e.start,e.end))return{error:`End time must be after start time.`,code:`invalid_time`};let a=Ek(e,i),o=vA(e,a,r,i);if(o!==null)return{error:o,code:`invalid_time`};let s=qO(new Date(a.start),0),c=gA(a,hA(t,r),s);return yA(e.status,c)??{error:null}},xA=(e,r,i)=>{let a=n.S(),o=n.k(),s=n.C(),c=async e=>{if(e.kind===`delete`){await s.mutateAsync(e.blockId);return}if(e.kind===`update`){await o.mutateAsync({id:e.blockId,draft:e.draft});return}await a.mutateAsync(e.draft)};return{resolve:async(n,a)=>{let o=Ek(e,i),s=qO(new Date(o.start),0),l=mA(o,sA(o,hA(n,r),s));try{await Promise.all(l.map(c)),t.l.success(`Conflicts resolved successfully!`),a()}catch(e){let n=e instanceof Error?e.message:String(e);t.l.error(`Failed to resolve conflicts: ${n}`)}}}},SA={errorStack:`_errorStack_q9qoj_4`,errorLine:`_errorLine_q9qoj_11`},CA=`You do not have permission to create events`,wA=`You do not have permission to update events`,TA=`You do not have permission to delete events`,EA=({isEdit:e,canSave:n,canCreate:r,canUpdate:i,busy:a,validationError:o,onSave:s})=>{let c=e?`Save changes`:`Create`,l=e?i:r,u=e?wA:CA;return l?n?(0,w.jsx)(t.tt,{onClick:s,isLoading:a,children:c}):(0,w.jsx)(t.p,{label:o??`Cannot save`,side:`top`,children:(0,w.jsx)(`span`,{className:Y.disabledButtonWrapper,children:(0,w.jsx)(t.tt,{onClick:s,isLoading:a,disabled:!0,children:c})})}):(0,w.jsx)(t.p,{label:u,side:`top`,children:(0,w.jsx)(`span`,{className:Y.disabledButtonWrapper,children:(0,w.jsx)(t.tt,{disabled:!0,isLoading:a,children:c})})})},DA=({canDelete:e,busy:n,onDelete:r})=>e?(0,w.jsxs)(t.tt,{variant:`ghost`,onClick:r,disabled:n,children:[(0,w.jsx)(at,{size:15}),` Delete`]}):(0,w.jsx)(t.p,{label:TA,side:`top`,children:(0,w.jsx)(`span`,{className:Y.disabledButtonWrapper,children:(0,w.jsxs)(t.tt,{variant:`ghost`,disabled:!0,children:[(0,w.jsx)(at,{size:15}),` Delete`]})})}),OA=({isEdit:e,busy:n,canSave:r,validationError:i,isConflict:a,summary:o,canCreateEvent:s,canUpdateEvent:c,canDeleteEvent:l,onSave:u,onDelete:d,onCancel:f,onResolveConflicts:p})=>(0,w.jsxs)(`div`,{className:Y.panelFooter,children:[(0,w.jsx)(`div`,{className:t.at(Y.panelSummary,i!==null&&Y.panelSummaryError),children:i===null?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(g,{size:14}),` `,o]}):(0,w.jsxs)(`div`,{className:SA.errorStack,children:[(0,w.jsxs)(`span`,{className:SA.errorLine,children:[(0,w.jsx)(te,{size:14}),` `,i]}),a&&(0,w.jsxs)(`button`,{type:`button`,className:Y.resolveConflictBtn,onClick:p,disabled:n,children:[(0,w.jsx)(Be,{size:11}),` Auto-adjust blocks to fit`]})]})}),(0,w.jsxs)(`div`,{className:Y.panelActions,children:[e&&(0,w.jsx)(DA,{canDelete:l,busy:n,onDelete:d}),(0,w.jsx)(`span`,{className:Y.actionSpacer}),(0,w.jsx)(t.tt,{variant:`secondary`,onClick:f,disabled:n,children:`Cancel`}),(0,w.jsx)(EA,{isEdit:e,canSave:r,canCreate:s,canUpdate:c,busy:n,validationError:i,onSave:u})]})]}),kA=` · `,AA=` – `,jA=e=>{let t=n.Pt(e.start)===n.Pt(e.end)?nk(e.start):`${nk(e.start)}${AA}${nk(e.end)}`,r=e.recurrence===null?``:`${kA}${n.jt(e.recurrence,e.start)}`;return e.allDay?`${t}${kA}All day${r}`:e.recurrence?.differentTimes?`${t}${r}`:`${t}${kA}${`${tk(e.start)}${AA}${tk(e.end)}`}${kA}${ek(n.Ft(e.start,e.end))}${r}`},MA=({open:e,onConfirm:n,onCancel:r})=>(0,w.jsx)(t.v,{open:e,elevated:!0,title:`Cancel this meeting?`,message:`This event came from a booking. Removing it cancels the meeting and frees the time on everyone's calendar, not just yours.`,confirmLabel:`Cancel meeting`,onConfirm:n,onCancel:r}),NA=({state:e,timezone:i,onClose:a})=>{let{hasPermission:o}=ii(),s=o(T.scheduleCreate),c=o(T.scheduleUpdate),l=o(T.scheduleDelete),[u,d]=(0,r.useState)(()=>Dk(e)),{busy:f,onSave:p,onDelete:m}=rA(e,u,i,a),[h,g]=(0,r.useState)(!1),_=e.mode===`edit`&&e.block.sourceMeetingId!==null,{data:v=[]}=n.O(),y=xA(u,e,i),b=e.mode===`edit`,x=bA(u,v,e,i),S=x.code===`title_too_long`?null:x.error,ee=x.error===null,te=(x.code===`overlap_availability`||x.code===`overlap_event`)&&!x.hasMeetingConflict;return(0,w.jsxs)(t._,{open:!0,side:`right`,title:b?`Edit Event`:`New Event`,onOpenChange:e=>{e||a()},footer:(0,w.jsx)(OA,{isEdit:b,busy:f,canSave:ee,validationError:S,isConflict:te,summary:jA(u),canCreateEvent:s,canUpdateEvent:c,canDeleteEvent:l,onSave:p,onDelete:()=>{if(_){g(!0);return}m()},onCancel:a,onResolveConflicts:()=>{y.resolve(v,p)}}),children:[(0,w.jsxs)(`header`,{className:Y.panelHead,children:[(0,w.jsx)(`span`,{className:Y.panelTitle,children:b?`Edit Event`:`New Event`}),(0,w.jsx)(t.Q,{label:`Close`,onClick:a,children:(0,w.jsx)(C,{size:18})})]}),(0,w.jsx)(nA,{draft:u,onChange:d}),(0,w.jsx)(MA,{open:h,onConfirm:()=>{g(!1),m()},onCancel:()=>{g(!1)}})]})},PA=()=>{let e=Intl.supportedValuesOf;return typeof e==`function`?e(`timeZone`):n.Tt},FA=/^(\d{1,2}):(\d{2})$/,IA=e=>String(e).padStart(2,`0`),LA=e=>{let t=FA.exec(e);return t===null?0:Number(t[1])*60+Number(t[2])},RA=e=>{let t=Math.max(0,Math.min(1439,e)),n=Math.floor(t/60),r=t%60;return`${IA(n)}:${IA(r)}`},zA=[`mon`,`tue`,`wed`,`thu`,`fri`,`sat`,`sun`],BA=e=>zA[(e+6)%7]??`sun`,VA=e=>zA[(e+1)%7]??`mon`,HA=e=>zA[e]??`mon`,UA=(e,t,n)=>{if(e>=0)return null;let r=e+1440,i=Math.min(0,t)+1440;return i<=r?null:{targetDay:BA(n),from:r,to:i,id:crypto.randomUUID()}},WA=(e,t,n)=>{if(t<=1440)return null;let r=Math.max(1440,e)-1440,i=t-1440;return i<=r?null:{targetDay:VA(n),from:r,to:i,id:crypto.randomUUID()}},GA=(e,t,n,r)=>{let i=Math.max(0,e),a=Math.min(1440,t);return a<=i?null:{targetDay:HA(n),from:i,to:a,id:r}},KA=(e,t,n)=>{let r=LA(e.from),i=e.to===`23:59`||e.to===`24:00`||e.to===`00:00`?1440:LA(e.to);if(i<=r)return[];let a=r+n,o=i+n;return[UA(a,o,t),GA(a,o,t,e.id),WA(a,o,t)].filter(e=>e!==null)},qA=(e,t,n)=>{e.sort((e,t)=>e.from-t.from);let r=[];for(let t of e){let e=r[r.length-1];e!==void 0&&t.from<=e.to+1?e.to=Math.max(e.to,t.to):r.push({...t})}let i=r.map(e=>({id:e.id,from:RA(e.from),to:e.to>=1440?`23:59`:RA(e.to)}));return{active:i.length>0&&t,slots:i.length>0?i:n.map(e=>({...e}))}},JA=(e,t,r,i)=>{if(t===r)return e;let a=n.v(r,i)-n.v(t,i);if(a===0)return e;let o={mon:[],tue:[],wed:[],thu:[],fri:[],sat:[],sun:[]},s={mon:!1,tue:!1,wed:!1,thu:!1,fri:!1,sat:!1,sun:!1};return n.zt.forEach((t,n)=>{let r=e[t.id];r.active&&r.slots.length>0&&r.slots.forEach(e=>{KA(e,n,a).forEach(e=>{o[e.targetDay].push({from:e.from,to:e.to,id:e.id}),s[e.targetDay]=!0})})}),{mon:qA(o.mon,s.mon,e.mon.slots),tue:qA(o.tue,s.tue,e.tue.slots),wed:qA(o.wed,s.wed,e.wed.slots),thu:qA(o.thu,s.thu,e.thu.slots),fri:qA(o.fri,s.fri,e.fri.slots),sat:qA(o.sat,s.sat,e.sat.slots),sun:qA(o.sun,s.sun,e.sun.slots)}},YA=(e,t)=>{let r=PA();return(r.includes(t)?r:[t,...r]).map(t=>({id:t,offset:n._(n.v(t,e))}))},XA={tzWrap:`_tzWrap_horpb_4`,tzTrigger:`_tzTrigger_horpb_8`,tzGlobe:`_tzGlobe_horpb_30`,tzTriggerLabel:`_tzTriggerLabel_horpb_35`,tzTriggerOffset:`_tzTriggerOffset_horpb_44`,tzChevron:`_tzChevron_horpb_51`,tzBackdrop:`_tzBackdrop_horpb_56`,tzPop:`_tzPop_horpb_65`,tzSearch:`_tzSearch_horpb_78`,tzSearchInput:`_tzSearchInput_horpb_90`,tzList:`_tzList_horpb_100`,tzRow:`_tzRow_horpb_135`,tzRowActive:`_tzRowActive_horpb_154`,tzRowLabel:`_tzRowLabel_horpb_158`,tzRowOffset:`_tzRowOffset_horpb_171`,tzCheck:`_tzCheck_horpb_178`,tzEmpty:`_tzEmpty_horpb_183`},ZA=(e,t)=>t===``||e.id.toLowerCase().includes(t)||e.offset.toLowerCase().includes(t),QA=({search:e,list:n,value:r,onSearch:i,onPick:a})=>(0,w.jsxs)(t.C.div,{className:XA.tzPop,variants:t.S,initial:`hidden`,animate:`visible`,exit:`exit`,children:[(0,w.jsxs)(`div`,{className:XA.tzSearch,children:[(0,w.jsx)(Ge,{size:13}),(0,w.jsx)(`input`,{className:XA.tzSearchInput,placeholder:`Search timezones…`,value:e,onChange:e=>{i(e.target.value)}})]}),(0,w.jsxs)(`div`,{className:XA.tzList,children:[n.map(e=>(0,w.jsxs)(`button`,{type:`button`,className:t.at(XA.tzRow,e.id===r&&XA.tzRowActive),onClick:()=>{a(e.id)},children:[(0,w.jsx)(`span`,{className:XA.tzRowLabel,children:e.id}),(0,w.jsx)(`span`,{className:XA.tzRowOffset,children:e.offset}),e.id===r&&(0,w.jsx)(b,{size:13,className:XA.tzCheck})]},e.id)),n.length===0&&(0,w.jsx)(`p`,{className:XA.tzEmpty,children:`No timezones match.`})]})]}),$A=({value:e,now:n,onChange:i})=>{let[a,o]=(0,r.useState)(!1),[s,c]=(0,r.useState)(``),l=(0,r.useMemo)(()=>YA(n,e),[n,e]),u=l.find(t=>t.id===e)??{id:e,offset:``},d=s.trim().toLowerCase(),f=l.filter(e=>ZA(e,d));return(0,w.jsxs)(`div`,{className:XA.tzWrap,children:[(0,w.jsxs)(`button`,{type:`button`,className:XA.tzTrigger,"aria-expanded":a,"aria-label":`Change timezone`,onClick:()=>{o(e=>!e)},children:[(0,w.jsx)(fe,{size:14,className:XA.tzGlobe}),(0,w.jsx)(`span`,{className:XA.tzTriggerLabel,children:u.id}),(0,w.jsx)(`span`,{className:XA.tzTriggerOffset,children:u.offset}),(0,w.jsx)(x,{size:15,className:XA.tzChevron})]}),(0,w.jsx)(t.T,{children:a&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`button`,{type:`button`,className:XA.tzBackdrop,"aria-label":`Close timezone picker`,onClick:()=>{o(!1)}}),(0,w.jsx)(QA,{search:s,list:f,value:e,onSearch:c,onPick:e=>{i(e),c(``),o(!1)}})]})})]})},X={gridScroll:`_gridScroll_1vnsd_7`,gridInner:`_gridInner_1vnsd_33`,gutter:`_gutter_1vnsd_38`,gutterHead:`_gutterHead_1vnsd_44`,gutterAllDay:`_gutterAllDay_1vnsd_48`,gutterHour:`_gutterHour_1vnsd_62`,dayCol:`_dayCol_1vnsd_73`,dayHeader:`_dayHeader_1vnsd_79`,colDay:`_colDay_1vnsd_93`,colDayToday:`_colDayToday_1vnsd_101`,dayNum:`_dayNum_1vnsd_105`,dayNumToday:`_dayNumToday_1vnsd_125`,dayCount:`_dayCount_1vnsd_131`,allDayBand:`_allDayBand_1vnsd_137`,allDayChip:`_allDayChip_1vnsd_148`,hoursWrap:`_hoursWrap_1vnsd_168`,workBand:`_workBand_1vnsd_174`,hourRow:`_hourRow_1vnsd_184`,nowLine:`_nowLine_1vnsd_203`,nowDot:`_nowDot_1vnsd_214`,block:`_block_1vnsd_224`,blockTitle:`_blockTitle_1vnsd_261`,blockTime:`_blockTime_1vnsd_279`,monthScroll:`_monthScroll_1vnsd_293`,monthHead:`_monthHead_1vnsd_302`,monthHeadCell:`_monthHeadCell_1vnsd_309`,monthGrid:`_monthGrid_1vnsd_319`,monthCell:`_monthCell_1vnsd_326`,monthCellOff:`_monthCellOff_1vnsd_347`,monthDayNum:`_monthDayNum_1vnsd_351`,monthCellToday:`_monthCellToday_1vnsd_355`,monthDayNumToday:`_monthDayNumToday_1vnsd_366`,monthChip:`_monthChip_1vnsd_379`,monthMore:`_monthMore_1vnsd_402`,agendaScroll:`_agendaScroll_1vnsd_410`,agendaGroup:`_agendaGroup_1vnsd_418`,agendaDay:`_agendaDay_1vnsd_422`,agendaItems:`_agendaItems_1vnsd_432`,agendaRow:`_agendaRow_1vnsd_438`,agendaAccent:`_agendaAccent_1vnsd_459`,agendaBody:`_agendaBody_1vnsd_467`,agendaTitle:`_agendaTitle_1vnsd_475`,agendaMeta:`_agendaMeta_1vnsd_484`,agendaPill:`_agendaPill_1vnsd_493`,agendaEmpty:`_agendaEmpty_1vnsd_506`,agendaEmptyIcon:`_agendaEmptyIcon_1vnsd_517`,agendaEmptyTitle:`_agendaEmptyTitle_1vnsd_522`,agendaEmptyText:`_agendaEmptyText_1vnsd_528`,agendaEmptyBtn:`_agendaEmptyBtn_1vnsd_533`,availabilityBand:`_availabilityBand_1vnsd_546`,availabilityBandLabel:`_availabilityBandLabel_1vnsd_579`,availabilityBandEditBtn:`_availabilityBandEditBtn_1vnsd_589`,dragSelectionHighlight:`_dragSelectionHighlight_1vnsd_612`,dragSelectionLabel:`_dragSelectionLabel_1vnsd_631`},ej={hidden:{},visible:{transition:{staggerChildren:.04}}},tj=e=>{let t=[...e].sort((e,t)=>e.start<t.start?-1:1),n=new Map;for(let e of t){let t=n.get(e.date);t===void 0?n.set(e.date,{key:e.date,label:new Date(e.start).toLocaleDateString(void 0,{weekday:`long`,day:`numeric`,month:`long`}),items:[e]}):t.items.push(e)}return[...n.values()]},nj=({occurrence:e,onSelect:n})=>{let{block:r}=e,i=ok[r.status],a=r.allDay?`All day`:`${tk(e.start)} – ${tk(e.end)}`;return(0,w.jsxs)(t.C.button,{type:`button`,variants:t.x,whileHover:{x:3},className:X.agendaRow,style:t.it({"--status-color":i.color}),onClick:()=>{n(r)},children:[(0,w.jsx)(`span`,{className:X.agendaAccent}),(0,w.jsxs)(`span`,{className:X.agendaBody,children:[(0,w.jsx)(`span`,{className:X.agendaTitle,children:r.title}),(0,w.jsxs)(`span`,{className:X.agendaMeta,children:[a,r.recurrence!==null&&(0,w.jsxs)(w.Fragment,{children:[` · `,(0,w.jsx)(He,{size:10}),` Recurring`]})]})]}),(0,w.jsxs)(`span`,{className:X.agendaPill,children:[(0,w.jsx)(i.Icon,{size:10}),` `,i.label]})]})},rj=({occurrences:e,onSelectBlock:n,onCreate:r})=>{let i=tj(e);return i.length===0?(0,w.jsxs)(`div`,{className:X.agendaEmpty,children:[(0,w.jsx)(`span`,{className:X.agendaEmptyIcon,children:(0,w.jsx)(_,{size:30})}),(0,w.jsx)(`span`,{className:X.agendaEmptyTitle,children:`Nothing scheduled this month`}),(0,w.jsx)(`span`,{className:X.agendaEmptyText,children:`Create a block to fill your week.`}),(0,w.jsx)(`button`,{type:`button`,className:X.agendaEmptyBtn,onClick:r,children:`Create New Event`})]}):(0,w.jsx)(`div`,{className:X.agendaScroll,children:i.map(e=>(0,w.jsxs)(`div`,{className:X.agendaGroup,children:[(0,w.jsx)(`div`,{className:X.agendaDay,children:e.label}),(0,w.jsx)(t.C.div,{className:X.agendaItems,variants:ej,initial:`hidden`,animate:`visible`,children:e.items.map(e=>(0,w.jsx)(nj,{occurrence:e,onSelect:n},e.key))})]},e.key))})},ij=[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],aj=3,oj=e=>{let t=new Map;for(let n of e){let e=t.get(n.date)??[];e.push(n),t.set(n.date,e)}for(let e of t.values())e.sort((e,t)=>e.start<t.start?-1:1);return t},sj=e=>{let{date:r,inMonth:i,isToday:a,occs:o}=e,s=o.length-aj;return(0,w.jsxs)(`div`,{className:t.at(X.monthCell,!i&&X.monthCellOff,a&&X.monthCellToday),onClick:()=>{e.onSelectSlot(ak(n.Pt(r),`09:00`))},children:[(0,w.jsx)(`span`,{className:t.at(X.monthDayNum,a&&X.monthDayNumToday),children:r.getDate()}),o.slice(0,aj).map(n=>(0,w.jsx)(`button`,{type:`button`,className:X.monthChip,style:t.it({"--status-color":ok[n.block.status].color}),onClick:t=>{t.stopPropagation(),e.onSelectBlock(n.block)},children:n.block.title},n.key)),s>0&&(0,w.jsxs)(`span`,{className:X.monthMore,children:[`+`,s,` more`]})]})},cj=({dates:e,anchor:r,occurrences:i,today:a,onSelectBlock:o,onSelectSlot:s})=>{let c=oj(i),l=n.Pt(a);return(0,w.jsxs)(`div`,{className:X.monthScroll,children:[(0,w.jsx)(`div`,{className:X.monthHead,children:ij.map(e=>(0,w.jsx)(`span`,{className:X.monthHeadCell,children:e},e))}),(0,w.jsx)(t.C.div,{className:X.monthGrid,initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2,ease:[.22,1,.36,1]},children:e.map(e=>{let t=n.Pt(e);return(0,w.jsx)(sj,{date:e,inMonth:e.getMonth()===r.getMonth()&&e.getFullYear()===r.getFullYear(),isToday:t===l,occs:c.get(t)??[],onSelectBlock:o,onSelectSlot:s},t)})})]})},Z={sidebar:`_sidebar_p4iov_4`,summaryGrid:`_summaryGrid_p4iov_36`,summaryCard:`_summaryCard_p4iov_42`,summaryTop:`_summaryTop_p4iov_54`,summaryTopIcon:`_summaryTopIcon_p4iov_60`,summaryValue:`_summaryValue_p4iov_65`,summaryLabel:`_summaryLabel_p4iov_73`,sideHeader:`_sideHeader_p4iov_82`,quickRow:`_quickRow_p4iov_92`,quickBtn:`_quickBtn_p4iov_97`,legendIcon:`_legendIcon_p4iov_118`,legend:`_legend_p4iov_118`,legendItem:`_legendItem_p4iov_129`,legendItemOn:`_legendItemOn_p4iov_151`,legendOff:`_legendOff_p4iov_156`,legendSwatch:`_legendSwatch_p4iov_160`,legendSwatchOff:`_legendSwatchOff_p4iov_172`,drawerHeader:`_drawerHeader_p4iov_177`,drawerTitle:`_drawerTitle_p4iov_185`,drawerCloseBtn:`_drawerCloseBtn_p4iov_191`},lj={hidden:{},visible:{transition:{staggerChildren:.05}}},uj=({occurrences:e,today:r,availability:i})=>{let a=n.xt(e,r),o=n.zt[(r.getDay()+6)%7]?.id??`mon`,s=i?.[o],c=s?.active?s.slots:[],l=[{label:`Free`,value:`${String(Sk(e,r,c))}h`,color:`var(--color-primary)`,Icon:t.ot},{label:`Busy`,value:`${String(a.busyHours)}h`,color:ok.busy.color,Icon:ok.busy.Icon},{label:`Meetings`,value:String(a.meetingCount),color:ok.meeting.color,Icon:ok.meeting.Icon},{label:`Focus`,value:`${String(a.focusHours)}h`,color:ok.focus.color,Icon:ok.focus.Icon}];return(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`div`,{className:Z.sideHeader,children:`Today`}),(0,w.jsx)(t.C.div,{className:Z.summaryGrid,variants:lj,initial:`hidden`,animate:`visible`,children:l.map(e=>(0,w.jsxs)(t.C.div,{className:Z.summaryCard,style:t.it({"--v":e.color}),variants:t.x,whileHover:{y:-2},children:[(0,w.jsxs)(`span`,{className:Z.summaryTop,children:[(0,w.jsx)(e.Icon,{size:12,strokeWidth:2.4,className:Z.summaryTopIcon}),(0,w.jsx)(`span`,{className:Z.summaryLabel,children:e.label})]}),(0,w.jsx)(`span`,{className:Z.summaryValue,children:e.value})]},e.label))})]})},dj=({onQuickAdd:e})=>(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`div`,{className:Z.sideHeader,children:`Quick add`}),(0,w.jsx)(`div`,{className:Z.quickRow,children:[{status:`focus`,minutes:60,title:`Deep work`,label:`Focus 1h`},{status:`busy`,minutes:30,title:`Busy`,label:`Busy 30m`}].map(n=>{let r=ok[n.status];return(0,w.jsxs)(t.C.button,{type:`button`,whileTap:{scale:.96},className:Z.quickBtn,style:t.it({"--status-color":r.color}),onClick:()=>{e(n.status,n.minutes,n.title)},children:[(0,w.jsx)(r.Icon,{size:11}),` `,n.label]},n.label)})})]}),fj=({activeStatuses:e,onToggleStatus:r})=>(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`div`,{className:Z.sideHeader,children:`Status legend`}),(0,w.jsx)(`div`,{className:Z.legend,children:n.St.map(n=>{let i=ok[n.id],a=e.has(n.id);return(0,w.jsxs)(t.C.button,{type:`button`,whileTap:{scale:.97},className:t.at(Z.legendItem,a?Z.legendItemOn:Z.legendOff),style:t.it({"--status-color":i.color}),onClick:()=>{r(n.id)},children:[(0,w.jsx)(`span`,{className:t.at(Z.legendSwatch,!a&&Z.legendSwatchOff),children:(0,w.jsx)(t.T,{children:a&&(0,w.jsx)(t.C.span,{initial:{scale:0},animate:{scale:1},exit:{scale:0},transition:{type:`spring`,stiffness:500,damping:28},children:(0,w.jsx)(b,{size:11,strokeWidth:3})})})}),(0,w.jsx)(i.Icon,{size:12,className:Z.legendIcon}),n.label]},n.id)})})]}),pj=e=>(0,w.jsxs)(`aside`,{className:Z.sidebar,children:[e.onClose!==void 0&&(0,w.jsxs)(`div`,{className:Z.drawerHeader,children:[(0,w.jsx)(`span`,{className:Z.drawerTitle,children:`Schedule Settings`}),(0,w.jsx)(`button`,{type:`button`,className:Z.drawerCloseBtn,onClick:e.onClose,"aria-label":`Close schedule settings`,children:(0,w.jsx)(C,{size:16})})]}),(0,w.jsx)(uj,{occurrences:e.occurrences,today:e.today,availability:e.availability}),(0,w.jsx)(dj,{onQuickAdd:e.onQuickAdd}),(0,w.jsx)(fj,{activeStatuses:e.activeStatuses,onToggleStatus:e.onToggleStatus})]}),mj=(e,t,n,r)=>{let i=Math.min(e,t),a=Math.max(e,t);if(e===t){let e=r-1;return{firstDayIdx:i,lastDayIdx:a,startHour:Math.min(n,e),endHour:Math.max(n,e)+1}}return e>t?{firstDayIdx:i,lastDayIdx:a,startHour:r-1,endHour:n}:{firstDayIdx:i,lastDayIdx:a,startHour:n,endHour:r}},hj=({item:e,range:n,onSelect:r})=>{let{occurrence:i}=e,{block:a}=i,o=ok[a.status],s=pk(i.start,i.end,n),c=i.continuesFromPrevDay===!0,l=i.continuesToNextDay===!0,u=c?`Continued from the previous day`:l?`Continues into the next day`:void 0;return(0,w.jsxs)(t.C.button,{type:`button`,draggable:!0,title:u,onDragStartCapture:e=>{e.dataTransfer.setData(`text/plain`,a.id)},initial:{opacity:0,scale:.96},animate:{opacity:1,scale:1},transition:{duration:.18,ease:[.22,1,.36,1]},className:X.block,style:{...t.it({"--status-color":o.color,"--top":`${String(s.top)}px`,"--h":`${String(s.height)}px`,"--lane":e.lane,"--lanes":e.lanes}),...c?{borderTopLeftRadius:0,borderTopRightRadius:0}:{},...l?{borderBottomLeftRadius:0,borderBottomRightRadius:0}:{}},onClick:()=>{r(a)},children:[(0,w.jsxs)(`span`,{className:X.blockTitle,children:[c&&(0,w.jsx)(ee,{size:10,"aria-hidden":!0}),` `,(0,w.jsx)(o.Icon,{size:10}),` `,a.title]}),s.height>=30&&(0,w.jsxs)(`span`,{className:X.blockTime,children:[tk(i.start),` – `,tk(i.end),l&&(0,w.jsx)(x,{size:10,"aria-hidden":!0})]})]})},gj=({occurrence:e,onSelect:n})=>{let{block:r}=e,i=ok[r.status];return(0,w.jsxs)(`button`,{type:`button`,className:X.allDayChip,style:t.it({"--status-color":i.color}),onClick:()=>{n(r)},children:[(0,w.jsx)(i.Icon,{size:10}),` `,r.title]})},_j=e=>`${String(e).padStart(2,`0`)}:00`,vj=({bands:e,range:n,onSelectSlot:r,onSelectBlock:i})=>(0,w.jsx)(w.Fragment,{children:e.map(e=>{let a=e.block.allDay&&e.continuesFromPrevDay!==!0&&e.continuesToNextDay!==!0?{top:0,height:fk(n)}:pk(e.start,e.end,n);return(0,w.jsxs)(`div`,{className:X.availabilityBand,style:t.it({"--top":`${String(a.top)}px`,"--h":`${String(a.height)}px`}),onClick:()=>{r(e.start,e.end)},children:[(0,w.jsxs)(`span`,{className:X.availabilityBandLabel,children:[(0,w.jsx)(b,{size:11,strokeWidth:3}),` Available`]}),(0,w.jsx)(`button`,{type:`button`,className:X.availabilityBandEditBtn,onClick:t=>{t.stopPropagation(),i(e.block)},children:`Edit`})]},e.key)})}),yj=({day:e,cell:t,dayIndex:r,range:i,onDragSelectStart:a,onDragSelectEnter:o,onDropBlock:s,onSelectSlot:c})=>(0,w.jsx)(w.Fragment,{children:dk(i).map(i=>(0,w.jsx)(`button`,{type:`button`,className:X.hourRow,"aria-label":`Add a block on ${e.long} at ${sk(i)}`,onMouseDown:e=>{e.button===0&&(e.preventDefault(),a(r,i))},onMouseEnter:e=>{o(r,i,e.buttons)},onDragOver:e=>{e.preventDefault()},onDrop:e=>{let r=e.dataTransfer.getData(`text/plain`);r&&s(r,ak(n.Pt(t.date),_j(i)))},onClick:()=>{c(ak(n.Pt(t.date),_j(i)))}},i))}),bj=e=>e===0?``:e===1?`1 event`:`${String(e)} events`,xj=({day:e,cell:n,count:r,off:i})=>(0,w.jsxs)(`div`,{className:X.dayHeader,children:[(0,w.jsx)(`span`,{className:t.at(X.colDay,n.isToday&&X.colDayToday),children:e.short}),(0,w.jsx)(`span`,{className:t.at(X.dayNum,n.isToday&&X.dayNumToday),children:n.dayNumber}),(0,w.jsx)(`span`,{className:X.dayCount,children:i?`Day off`:bj(r)})]}),Sj=({allDay:e,onSelectBlock:t})=>(0,w.jsx)(`div`,{className:X.allDayBand,children:e.map(e=>(0,w.jsx)(gj,{occurrence:e,onSelect:t},e.key))}),Cj=({dayIndex:e,dragSelect:n,rangeStartHour:r})=>n===null||e<Math.min(n.startDayIndex,n.endDayIndex)||e>Math.max(n.startDayIndex,n.endDayIndex)?null:(0,w.jsx)(`div`,{className:X.dragSelectionHighlight,style:t.it({"--top":`${String((Math.min(n.startHour,n.endHour-1)-r)*52)}px`,"--h":`${String(Math.abs(n.endHour-n.startHour)*52)}px`}),children:(0,w.jsxs)(`span`,{className:X.dragSelectionLabel,children:[sk(Math.min(n.startHour,n.endHour)),` –`,` `,sk(Math.max(n.startHour,n.endHour))]})}),wj=(e,t)=>{let n=e.filter(e=>e.dayIndex===t);return{dayOccs:n,allDay:n.filter(e=>e.block.allDay&&e.block.status!==`available`),availabilityBands:n.filter(e=>e.block.status===`available`),laid:yk(n.filter(e=>!e.block.allDay&&e.block.status!==`available`))}},Tj=({active:e,slots:n,range:r,cell:i,day:a,dayIndex:o,now:s,availabilityBands:c,laid:l,dragSelect:u,onDragSelectStart:d,onDragSelectEnter:f,onDropBlock:p,onSelectSlot:m,onSelectBlock:h})=>{let g=hk(e,n,r),_=i.isToday?gk(s,r):null;return(0,w.jsxs)(`div`,{className:X.hoursWrap,style:t.it({"--grid-h":`${String(fk(r))}px`}),children:[g.map(e=>(0,w.jsx)(`div`,{className:X.workBand,style:t.it({"--top":`${String(e.top)}px`,"--h":`${String(e.height)}px`})},e.top)),(0,w.jsx)(vj,{bands:c,range:r,onSelectSlot:m,onSelectBlock:h}),(0,w.jsx)(yj,{day:a,cell:i,dayIndex:o,range:r,onDragSelectStart:d,onDragSelectEnter:f,onDropBlock:p,onSelectSlot:m}),(0,w.jsx)(Cj,{dayIndex:o,dragSelect:u,rangeStartHour:r.startHour}),_!==null&&(0,w.jsx)(`div`,{className:X.nowLine,style:t.it({"--top":`${String(_)}px`}),children:(0,w.jsx)(`span`,{className:X.nowDot})}),l.map(e=>(0,w.jsx)(hj,{item:e,range:r,onSelect:h},e.occurrence.key))]})},Ej=e=>{let{day:n,cell:r,dayIndex:i,occurrences:a,onSelectBlock:o,active:s}=e,{dayOccs:c,allDay:l,availabilityBands:u,laid:d}=wj(a,i),f=!s;return(0,w.jsxs)(`div`,{className:t.at(X.dayCol,r.isToday&&X.dayColToday),children:[(0,w.jsx)(xj,{day:n,cell:r,count:c.length,off:f}),(0,w.jsx)(Sj,{allDay:l,onSelectBlock:o}),(0,w.jsx)(Tj,{...e,availabilityBands:u,laid:d})]})},Dj=({range:e})=>(0,w.jsxs)(`div`,{className:X.gutter,children:[(0,w.jsx)(`div`,{className:X.gutterHead}),(0,w.jsx)(`div`,{className:X.gutterAllDay,children:`all-day`}),Array.from({length:e.endHour-e.startHour},(t,n)=>e.startHour+n).map(e=>(0,w.jsx)(`div`,{className:X.gutterHour,children:sk(e)},e))]}),Oj=(e,t)=>{let[i,a]=(0,r.useState)(null);return(0,r.useEffect)(()=>{let r=()=>{if(i!==null){let{firstDayIdx:r,lastDayIdx:o,startHour:s,endHour:c}=mj(i.startDayIndex,i.endDayIndex,i.startHour,i.endHour),l=e[r],u=e[o];l&&u&&t(ak(n.Pt(l.date),`${String(s).padStart(2,`0`)}:00`),ak(n.Pt(u.date),`${String(c).padStart(2,`0`)}:00`)),a(null)}};return window.addEventListener(`mouseup`,r),()=>{window.removeEventListener(`mouseup`,r)}},[i,e,t]),{dragSelect:i,startDrag:(e,t)=>{a({startDayIndex:e,endDayIndex:e,startHour:t,endHour:t+1})},enterDrag:(e,t,n)=>{if(i!==null){if(n!==1){a(null);return}a({...i,endDayIndex:e,endHour:t+1})}}}},kj=e=>{let t=n.k();return{dropBlock:(n,r)=>{let i=e.find(e=>e.block.id===n);if(!i)return;let a=i.block.durationMinutes,o=new Date(new Date(r).getTime()+a*6e4).toISOString();t.mutate({id:n,draft:{title:i.block.title,status:i.block.status,start:r,end:o,allDay:i.block.allDay,notes:i.block.notes,recurrence:i.block.recurrence}})}}},Aj=e=>({active:e?e.active:!0,slots:e?.slots??[{from:`09:00`,to:`17:00`}]}),jj=({days:e,cells:i,occurrences:a,availability:o,workStart:s,workEnd:c,range:l,now:u,onSelectBlock:d,onSelectSlot:f})=>{let p=(0,r.useRef)(null),{dragSelect:m,startDrag:h,enterDrag:g}=Oj(i,f),{dropBlock:_}=kj(a),v=(0,r.useRef)(u);v.current=u;let{startHour:y,endHour:b}=l,x=u.getHours()*60+u.getMinutes(),S=i.some(e=>e.isToday)&&x>=y*60&&x<=b*60;(0,r.useEffect)(()=>{let e=p.current;if(e===null)return;let t=S?vk(v.current,y):_k(s,c,y);e.scrollTo({top:Math.max(0,Math.min(t,e.scrollHeight-e.clientHeight))})},[y,s,c,S]);let ee=Math.max(1,...e.map(e=>{let t=n.zt.findIndex(t=>t.id===e.id);return a.filter(e=>e.dayIndex===t&&e.block.allDay).length}));return(0,w.jsx)(`div`,{className:X.gridScroll,ref:p,children:(0,w.jsxs)(`div`,{className:X.gridInner,style:t.it({"--all-day-rows":ee}),children:[(0,w.jsx)(Dj,{range:l}),e.map(e=>{let t=n.zt.findIndex(t=>t.id===e.id),r=i[t]??i[0];if(r===void 0)return null;let{active:s,slots:c}=Aj(o?o[e.id]:null);return(0,w.jsx)(Ej,{day:e,cell:r,dayIndex:t,active:s,slots:c,range:l,now:u,occurrences:a,dragSelect:m,onDragSelectStart:h,onDragSelectEnter:g,onDropBlock:_,onSelectBlock:d,onSelectSlot:f},e.id)})]})})},Mj=[{id:`day`,label:`Day`},{id:`week`,label:`Week`},{id:`workweek`,label:`Work Week`},{id:`month`,label:`Month`},{id:`agenda`,label:`Agenda`},{id:`hours`,label:`Working Hours`}],Nj=e=>e===`month`||e===`agenda`,Pj=(e,t)=>{let n=new Set(e);return t===`agenda`?n.delete(`available`):t!==`hours`&&n.add(`available`),n},Fj=(e,t)=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n},Ij=()=>{let[e,t]=(0,r.useState)(`week`),[i,a]=(0,r.useState)(0),[o,s]=(0,r.useState)(0),[c,l]=(0,r.useState)(null),[u,d]=(0,r.useState)(()=>new Set(n.St.map(e=>e.id))),[f,p]=(0,r.useState)(``),m=n.m(f).display;return{view:e,setView:e=>{t(e),d(t=>Pj(t,e))},dayOffset:i,monthOffset:o,goPrev:()=>{Nj(e)?s(e=>e-1):a(e===`day`?e=>e-1:e=>e-7)},goNext:()=>{Nj(e)?s(e=>e+1):a(e===`day`?e=>e+1:e=>e+7)},goToday:()=>{a(0),s(0)},active:u,toggle:e=>{d(t=>Fj(t,e))},editor:c,openCreate:(e,t)=>{l({mode:`create`,start:e,...t===void 0?{}:{end:t}})},openQuick:(e,t,n)=>{let r=new Date(Tk(new Date().toISOString(),m));r.setSeconds(0,0),r.setMinutes(Math.ceil(r.getMinutes()/5)*5);let i=new Date(r.getTime()+t*6e4);l({mode:`create`,start:r.toISOString(),end:i.toISOString(),status:e,title:n})},openEdit:e=>{l({mode:`edit`,block:e})},closeEditor:()=>{l(null)},timezone:m,setTimezone:p}},Q={scheduleRoot:`_scheduleRoot_5za8e_7`,toolbar:`_toolbar_5za8e_16`,scheduleSelect:`_scheduleSelect_5za8e_27`,weekNav:`_weekNav_5za8e_39`,dateLabel:`_dateLabel_5za8e_45`,navBtn:`_navBtn_5za8e_54`,todayBtn:`_todayBtn_5za8e_75`,viewChips:`_viewChips_5za8e_92`,viewChip:`_viewChip_5za8e_92`,viewChipBg:`_viewChipBg_5za8e_119`,viewChipLabel:`_viewChipLabel_5za8e_128`,viewChipActive:`_viewChipActive_5za8e_134`,newBtn:`_newBtn_5za8e_140`,main:`_main_5za8e_156`,calArea:`_calArea_5za8e_163`,hoursArea:`_hoursArea_5za8e_172`,sidebarToggleBtn:`_sidebarToggleBtn_5za8e_181`,sidebarToggleBtnActive:`_sidebarToggleBtnActive_5za8e_199`},Lj=e=>e.view===`month`?(0,w.jsx)(cj,{dates:e.monthDates,anchor:e.monthAnchor,occurrences:e.monthOccurrences,today:e.today,onSelectBlock:e.onSelectBlock,onSelectSlot:e.onSelectSlot}):e.view===`agenda`?(0,w.jsx)(rj,{occurrences:e.monthOccurrences,onSelectBlock:e.onSelectBlock,onCreate:e.onCreate}):(0,w.jsx)(jj,{days:e.days,cells:e.cells,occurrences:e.weekOccurrences,availability:e.availability,workStart:e.workStart,workEnd:e.workEnd,range:e.range,now:e.today,onSelectBlock:e.onSelectBlock,onSelectSlot:e.onSelectSlot}),Rj=e=>{let n=t.rt(`(max-width: 1024px)`);return(0,w.jsxs)(`div`,{className:Q.main,children:[(0,w.jsxs)(`div`,{className:Q.calArea,children:[e.query.isPending&&(0,w.jsx)(`div`,{className:Pk.center,children:(0,w.jsx)(t.nt,{label:`Loading schedule`})}),e.query.isError&&(0,w.jsx)(t.et,{tone:`error`,title:`Could not load schedule`,children:e.query.error.message}),e.query.isSuccess&&Lj(e)]}),!n&&(0,w.jsx)(pj,{occurrences:e.summary,today:e.today,availability:e.availability,workStart:e.workStart,workEnd:e.workEnd,activeStatuses:e.active,onToggleStatus:e.onToggle,onQuickAdd:e.onQuickAdd}),n&&(0,w.jsx)(t._,{open:e.isSidebarOpen??!1,onOpenChange:t=>{!t&&e.onCloseSidebar!==void 0&&e.onCloseSidebar()},title:`Schedule Settings`,side:`right`,children:(0,w.jsx)(pj,{occurrences:e.summary,today:e.today,availability:e.availability,workStart:e.workStart,workEnd:e.workEnd,activeStatuses:e.active,onToggleStatus:e.onToggle,onQuickAdd:e.onQuickAdd,onClose:e.onCloseSidebar})})]})},zj=(e,t)=>e.meetingDuration!==t.meetingDuration||e.bufferMinutes!==t.bufferMinutes,Bj=(e,t,r)=>{let i=n.h.from({personal:t.timezone,anchor:t.availabilityTimezone});return{anchorZone:i.anchor,initialTimezone:i.display,initialInZone:JA(e,i.anchor,i.display,r)}},Vj=e=>{let t={};for(let[n,r]of Object.entries(e))t[n]={active:r.active,slots:r.slots.map(e=>({from:e.from,to:e.to}))};return t},Hj=(e,i,a)=>{let o=n.E(),s=n.D(),[c]=(0,r.useState)(()=>a.now()),[{anchorZone:l,initialTimezone:u,initialInZone:d}]=(0,r.useState)(()=>Bj(e,i,c)),[f,p]=(0,r.useState)(d),[m,h]=(0,r.useState)(u),[g,_]=(0,r.useState)(i.meetingDuration),[v,y]=(0,r.useState)(i.bufferMinutes),b=JA(f,m,l,c),x=JSON.stringify(Vj(b))!==JSON.stringify(Vj(e)),S=zj({meetingDuration:g,bufferMinutes:v},i);return(0,r.useEffect)(()=>{o.isSuccess&&p(JA(e,l,m,c))},[e,o.isSuccess,l,m,c]),(0,r.useEffect)(()=>{s.isSuccess&&(_(i.meetingDuration),y(i.bufferMinutes))},[i,s.isSuccess]),{draft:f,timezone:m,meetingDuration:g,bufferMinutes:v,now:c,dirty:x||S,isSaving:o.isPending||s.isPending,isSuccess:o.isSuccess||s.isSuccess,isError:o.isError||s.isError,errorMsg:o.error?.message??s.error?.message??``,setMeetingDuration:_,setBufferMinutes:y,patchDay:(e,t)=>{o.reset(),s.reset(),p(n=>({...n,[e]:{...n[e],...t}}))},changeTimezone:e=>{o.reset(),s.reset(),p(t=>JA(t,m,e,c)),h(e)},reset:()=>{o.mutate(null,{onSuccess:()=>{t.l.success(`Reverted to your branch default hours.`)},onError:()=>{t.l.error(`Could not revert to branch defaults. Please try again.`)}})},onSave:()=>{o.reset(),s.reset(),x&&o.mutate(b),S&&s.mutate({...i,meetingDuration:g,bufferMinutes:v})}}},$={hours:`_hours_ftj0h_5`,fieldLabel:`_fieldLabel_ftj0h_18`,chips:`_chips_ftj0h_24`,chipBtn:`_chipBtn_ftj0h_30`,chipBtnActive:`_chipBtnActive_ftj0h_50`,chipBg:`_chipBg_ftj0h_56`,chipLabel:`_chipLabel_ftj0h_64`,dayRow:`_dayRow_ftj0h_69`,toggle:`_toggle_ftj0h_77`,toggleOn:`_toggleOn_ftj0h_90`,toggleKnob:`_toggleKnob_ftj0h_95`,dayName:`_dayName_ftj0h_102`,overflowLabel:`_overflowLabel_ftj0h_112`,dayTimes:`_dayTimes_ftj0h_119`,timeInput:`_timeInput_ftj0h_127`,resetBtn:`_resetBtn_ftj0h_144`,readonlyField:`_readonlyField_ftj0h_162`,fieldHint:`_fieldHint_ftj0h_175`,formFooter:`_formFooter_ftj0h_180`,formStatus:`_formStatus_ftj0h_188`,saveBtn:`_saveBtn_ftj0h_194`,inheritedBanner:`_inheritedBanner_ftj0h_212`,inheritedBadge:`_inheritedBadge_ftj0h_218`,badgeSub:`_badgeSub_ftj0h_229`,customBadge:`_customBadge_ftj0h_234`,customBadgeText:`_customBadgeText_ftj0h_247`,resetToBranchBtn:`_resetToBranchBtn_ftj0h_251`,settingsGrid:`_settingsGrid_ftj0h_271`},Uj=({name:e,options:n,selected:r,onSelect:i})=>(0,w.jsx)(`div`,{className:$.chips,children:n.map(n=>{let a=r===n;return(0,w.jsxs)(`button`,{type:`button`,className:t.at($.chipBtn,a&&$.chipBtnActive),onClick:()=>{i(n)},children:[a&&(0,w.jsx)(t.C.span,{layoutId:`chip-${e}`,className:$.chipBg,transition:{type:`spring`,stiffness:420,damping:34}}),(0,w.jsxs)(`span`,{className:$.chipLabel,children:[n,`m`]})]},n)})}),Wj=({meetingDuration:e,bufferMinutes:t,onDurationChange:r,onBufferChange:i})=>(0,w.jsxs)(`div`,{className:$.settingsGrid,children:[(0,w.jsxs)(`div`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:$.fieldLabel,children:`Meeting duration`}),(0,w.jsx)(Uj,{name:`duration`,options:n.wt,selected:e,onSelect:r})]}),(0,w.jsxs)(`div`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:$.fieldLabel,children:`Buffer between meetings`}),(0,w.jsx)(Uj,{name:`buffer`,options:n.Ct,selected:t,onSelect:i})]})]}),Gj=({slot:e,index:n,slots:r,active:i,onChange:a})=>{let o=r[n-1],s=r[n+1],c=o===void 0?void 0:o.to,l=e.to,u=e.from,d=s===void 0?void 0:s.from;return(0,w.jsxs)(`div`,{className:$.dayTimes,children:[(0,w.jsx)(t.r,{value:e.from,minTime:c,maxTime:l,disabled:!i,onChange:t=>{let i=[...r];i[n]={...e,from:t},a(i)}}),(0,w.jsx)(`span`,{className:Pk.dash,children:`–`}),(0,w.jsx)(t.r,{value:e.to,minTime:u,maxTime:d,disabled:!i,align:`end`,onChange:t=>{let i=[...r];i[n]={...e,to:t},a(i)}}),(0,w.jsx)(`button`,{type:`button`,className:$.resetBtn,disabled:!i||r.length===1,onClick:()=>{a(r.filter((e,t)=>t!==n))},children:`Delete`})]})},Kj=({day:e,value:n,onChange:r})=>(0,w.jsxs)(`div`,{className:$.dayRow,children:[(0,w.jsx)(`button`,{type:`button`,className:t.at($.toggle,n.active&&$.toggleOn),"aria-pressed":n.active,onClick:()=>{r({active:!n.active})},children:(0,w.jsx)(`span`,{className:$.toggleKnob})}),(0,w.jsx)(`span`,{className:$.dayName,children:e.long}),(0,w.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`8px`,flex:1},children:[n.slots.map((e,t)=>(0,w.jsx)(Gj,{slot:e,index:t,slots:n.slots,active:n.active,onChange:e=>{r({slots:e})}},e.id)),(0,w.jsx)(`button`,{type:`button`,className:$.resetBtn,style:{alignSelf:`flex-start`,margin:0},disabled:!n.active,onClick:()=>{let e=n.slots[n.slots.length-1],t=`09:00`,i=`17:00`;e!==void 0&&e.to<`22:00`&&(t=e.to,i=`23:00`),r({slots:[...n.slots,{id:crypto.randomUUID(),from:t,to:i}]})},children:`+ Add Time`})]}),(0,w.jsxs)(`button`,{type:`button`,className:$.resetBtn,onClick:()=>{r({active:!0,slots:[{id:crypto.randomUUID(),from:`09:00`,to:`17:00`}]})},children:[(0,w.jsx)(ze,{size:13}),` Reset`]})]}),qj=({timezone:e,branchName:t,now:n,onTimezoneChange:r})=>(0,w.jsxs)(`div`,{className:$.settingsGrid,children:[(0,w.jsxs)(`div`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:$.fieldLabel,children:`Timezone`}),(0,w.jsx)($A,{value:e,now:n,onChange:r}),(0,w.jsx)(`span`,{className:$.fieldHint,children:`Preview only — set your saved timezone in Profile`})]}),(0,w.jsxs)(`div`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:$.fieldLabel,children:`Home Branch`}),(0,w.jsx)(`div`,{className:$.readonlyField,children:t}),(0,w.jsx)(`span`,{className:$.fieldHint,children:`Assigned from your UAPP account`})]})]}),Jj=({isOverride:e,branchName:t,onReset:n})=>(0,w.jsx)(`div`,{className:$.inheritedBanner,children:e?(0,w.jsxs)(`div`,{className:$.customBadge,children:[(0,w.jsxs)(`span`,{className:$.customBadgeText,children:[`Customized Working Hours (overrides `,t,`)`]}),(0,w.jsxs)(`button`,{type:`button`,className:$.resetToBranchBtn,onClick:n,children:[(0,w.jsx)(ot,{size:13}),` Use Branch Defaults`]})]}):(0,w.jsxs)(`div`,{className:$.inheritedBadge,children:[(0,w.jsxs)(`span`,{children:[`Inheriting default hours from `,(0,w.jsx)(`strong`,{children:t})]}),(0,w.jsx)(`span`,{className:$.badgeSub,children:`Modifying the hours below will create a personal override.`})]})}),Yj=({statusText:e,disabled:t,onClick:n})=>(0,w.jsxs)(`div`,{className:$.formFooter,children:[(0,w.jsx)(`span`,{className:$.formStatus,children:e}),(0,w.jsx)(`button`,{type:`button`,className:$.saveBtn,disabled:t,onClick:n,children:`Save changes`})]}),Xj=(e,t)=>e?`Unsaved changes`:t?`Saved`:``,Zj=({initial:e,isOverride:r,branchName:i,prefs:a})=>{let{clock:o}=n.A(),s=Hj(e,a,o),c=Xj(s.dirty,s.isSuccess);return(0,w.jsxs)(`div`,{className:$.hours,children:[(0,w.jsx)(qj,{timezone:s.timezone,branchName:i,now:s.now,onTimezoneChange:s.changeTimezone}),(0,w.jsx)(Wj,{meetingDuration:s.meetingDuration,bufferMinutes:s.bufferMinutes,onDurationChange:s.setMeetingDuration,onBufferChange:s.setBufferMinutes}),(0,w.jsx)(Jj,{isOverride:r,branchName:i,onReset:s.reset}),n.zt.map(e=>(0,w.jsx)(Kj,{day:e,value:s.draft[e.id],onChange:t=>{s.patchDay(e.id,t)}},e.id)),s.isError&&(0,w.jsx)(t.et,{tone:`error`,title:`Could not save`,children:s.errorMsg}),(0,w.jsx)(Yj,{statusText:c,disabled:!s.dirty||s.isSaving,onClick:s.onSave})]})},Qj=(e,t,n)=>e?.message??t?.message??n?.message??`Unknown error`,$j=(e,t)=>e?.branches.find(e=>e.id===t)?.name??`your branch`,eM=()=>{let e=n.w(),r=Vs(),i=n.T();if(e.isPending||r.isPending||i.isPending)return(0,w.jsx)(`div`,{className:Pk.center,children:(0,w.jsx)(t.nt,{label:`Loading working hours`})});if(e.isError||r.isError||i.isError)return(0,w.jsx)(t.et,{tone:`error`,title:`Could not load working hours`,children:Qj(e.error,r.error,i.error)});let a=$j(r.data,i.data.branchId);return(0,w.jsx)(Zj,{initial:e.data.weekly,isOverride:e.data.isOverride,branchName:a,prefs:i.data},`${String(e.data.isOverride)}:${e.data.source}`)},tM={workStart:`09:00`,workEnd:`17:00`,branchId:`uk`},nM=(e,t)=>e===`day`?n.zt.slice(t,t+1):e===`workweek`?n.zt.slice(0,5):n.zt,rM=e=>{let[t]=e.split(`:`);return Number(t??`0`)},iM=(e,t,r)=>{if(e!==null)return e;if(t){let e=$a(t,r),i={};for(let t of n.zt){let n=e[t.id];i[t.id]={active:n.active,slots:[{id:crypto.randomUUID(),from:n.from,to:n.to}]}}return i}let i={};for(let e of n.zt)i[e.id]={active:e.id!==`sat`&&e.id!==`sun`,slots:[{id:crypto.randomUUID(),from:`09:00`,to:`17:00`}]};return i},aM=(e,t,n,r)=>t!==``&&t!==n?JA(e,t,n,r):e,oM=e=>{let t=Object.values(e).filter(e=>e.active).flatMap(e=>e.slots),n=t.length>0?Math.min(...t.map(e=>rM(e.from))):9,r=t.length>0?Math.max(...t.map(e=>rM(e.to))):17;return{workStart:`${String(Math.max(0,n)).padStart(2,`0`)}:00`,workEnd:`${String(Math.min(24,r)).padStart(2,`0`)}:00`}},sM=(e,t)=>(0,r.useMemo)(()=>{let r=e??[],i=n.g();if(t===i)return r;let a=e=>{let r=new Date(e),a=n.v(t,r)-n.v(i,r);return a===0?e:new Date(r.getTime()+a*6e4).toISOString()};return r.map(e=>new n.Et({id:e.id,userId:e.userId,title:e.title,status:e.status,start:a(e.start),end:a(e.end),allDay:e.allDay,notes:e.notes,recurrence:e.recurrence}))},[e,t]),cM=e=>{let t=n.O(),i=n.x().data??null,a=n.T().data,o=a??tM,s=Vs(),c=new Date,l=n.v(e.timezone,c)-n.v(n.g(),c),u=new Date(c.getTime()+l*6e4),d=e.view===`month`||e.view===`agenda`,f=t=>e.active.has(t.block.status),p=o.branchId,m=aM((0,r.useMemo)(()=>iM(i,s.data,p),[i,s.data,p]),a?.availabilityTimezone??``,e.timezone,c),{workStart:h,workEnd:g}=oM(m),_=e.timezone,v=sM(t.data,_),y=(u.getDay()+6)%7,b=Math.floor((e.dayOffset+y)/7),x=((e.dayOffset+y)%7+7)%7,S=n.bt(v,qO(u,b)),ee=$O(u,e.monthOffset),te=n.yt(ee[0]??u,ee[ee.length-1]??u,v),ne=new Date(u);return ne.setSeconds(0,0),ne.setMinutes(Math.ceil(ne.getMinutes()/30)*30),{query:t,today:u,days:nM(e.view,x),cells:JO(u,b),weekOccurrences:S.filter(f),availability:m,workStart:h,workEnd:g,range:uk(S,h,g),monthDates:ee,monthAnchor:ZO(u,e.monthOffset),monthOccurrences:te.filter(f),summary:d?te:S,rangeText:d?QO(u,e.monthOffset):XO(u,b),defaultStart:ne.toISOString()}},lM=({view:e,onView:n})=>(0,w.jsx)(`div`,{className:Q.viewChips,children:Mj.map(r=>{let i=e===r.id;return(0,w.jsxs)(`button`,{type:`button`,className:t.at(Q.viewChip,i&&Q.viewChipActive),onClick:()=>{n(r.id)},children:[i&&(0,w.jsx)(t.C.span,{layoutId:`schedViewBg`,className:Q.viewChipBg,transition:{type:`spring`,stiffness:420,damping:34}}),(0,w.jsx)(`span`,{className:Q.viewChipLabel,children:r.label})]},r.id)})}),uM=({view:e,onView:n,rangeText:r,showNav:i,onPrev:a,onNext:o,onToday:s,onNew:c,timezone:l,setTimezone:u,todayDate:d,onToggleSidebar:f,isSidebarOpen:p})=>(0,w.jsxs)(`div`,{className:Q.toolbar,children:[(0,w.jsx)(`select`,{className:Q.scheduleSelect,"aria-label":`Calendar`,defaultValue:`my`,children:(0,w.jsx)(`option`,{value:`my`,children:`My Schedule`})}),e!==`hours`&&(0,w.jsx)($A,{value:l,onChange:u,now:d}),i&&(0,w.jsxs)(`div`,{className:Q.weekNav,children:[(0,w.jsx)(`button`,{type:`button`,className:Q.todayBtn,onClick:s,children:`Today`}),(0,w.jsx)(`button`,{type:`button`,className:Q.navBtn,"aria-label":`Previous week`,onClick:a,children:(0,w.jsx)(S,{size:16})}),(0,w.jsx)(`button`,{type:`button`,className:Q.navBtn,"aria-label":`Next week`,onClick:o,children:(0,w.jsx)(t.ct,{size:16})}),(0,w.jsx)(`span`,{className:Q.dateLabel,children:r})]}),e!==`hours`&&f!==void 0&&(0,w.jsx)(`button`,{type:`button`,className:t.at(Q.sidebarToggleBtn,p&&Q.sidebarToggleBtnActive),"aria-label":`Schedule settings`,title:`Schedule settings`,onClick:f,children:(0,w.jsx)(Xe,{size:15})}),(0,w.jsx)(lM,{view:e,onView:n}),(0,w.jsxs)(`button`,{type:`button`,className:Q.newBtn,onClick:c,children:[(0,w.jsx)(Le,{size:14,strokeWidth:2.5}),` New`]})]}),dM=()=>{let[e,t]=(0,r.useState)(!1),n=Ij(),i=cM(n),a=()=>{n.openCreate(i.defaultStart)};return(0,w.jsxs)(`div`,{className:Q.scheduleRoot,children:[(0,w.jsx)(uM,{view:n.view,onView:n.setView,rangeText:i.rangeText,showNav:n.view!==`hours`,onPrev:n.goPrev,onNext:n.goNext,onToday:n.goToday,onNew:a,timezone:n.timezone,setTimezone:n.setTimezone,todayDate:i.today,onToggleSidebar:()=>{t(e=>!e)},isSidebarOpen:e}),n.view===`hours`?(0,w.jsx)(`div`,{className:Q.hoursArea,children:(0,w.jsx)(eM,{})}):(0,w.jsx)(Rj,{query:i.query,view:n.view,today:i.today,days:i.days,cells:i.cells,weekOccurrences:i.weekOccurrences,availability:i.availability,workStart:i.workStart,workEnd:i.workEnd,range:i.range,monthDates:i.monthDates,monthAnchor:i.monthAnchor,monthOccurrences:i.monthOccurrences,summary:i.summary,active:n.active,onToggle:n.toggle,onSelectBlock:n.openEdit,onSelectSlot:n.openCreate,onCreate:a,onQuickAdd:n.openQuick,isSidebarOpen:e,onCloseSidebar:()=>{t(!1)}}),n.editor!==null&&(0,w.jsx)(NA,{state:n.editor,timezone:n.timezone,onClose:n.closeEditor})]})},fM=()=>{pC(`uapp-schedule`,()=>(0,w.jsx)(xE,{path:`/comms/schedule`,children:(0,w.jsx)(dM,{})}))},pM=6e4,mM=e=>{let t=e.logger??new tr(`info`),n=new cr,r,i=0,a=new Qn(new Jn(new Kn({logger:t,baseUrl:e.apiBaseUrl,getAuthToken:()=>r}),{timeoutMs:2e4,logger:t}),{logger:t}),o=new e_({httpClient:a,clock:n,logger:t,clientKey:e.clientKey,modules:e.modules});return{httpClient:a,logger:t,token:async()=>{if(r!==void 0&&n.now().getTime()<i-pM)return r;let a=await e.getAssertion(),s=await o.exchangeSsoSecret(a);if(!s.ok){t.error(`Could not exchange the assertion for a token`,s.error);return}return r=s.value.accessToken,i=s.value.expiresAt.getTime(),r},currentToken:()=>r}},hM=`/api/app/notification`,gM=async(e,t)=>{try{let t=await e.get(hM);return(Array.isArray(t)?t:[]).map($S).filter(e=>e!==null)}catch(e){return t.error(`Could not load unread notifications`,e),[]}},_M=(e,t,n)=>new wv({logger:t}).create({url:`${e}/signalr/notifications`,accessTokenProvider:n}),vM=e=>{let t=mM({apiBaseUrl:e.apiBaseUrl,clientKey:e.clientKey,getAssertion:e.getAssertion,modules:e.modules??[`commhub.feed`],...e.logger===void 0?{}:{logger:e.logger}}),{httpClient:n,logger:r,token:i}=t,a=null,o=null,s=[];return{start:async()=>{a===null&&await i()!==void 0&&(s=await gM(n,r),s.forEach(e.onNotification),a=_M(e.apiBaseUrl,r,t.currentToken),o=a.on(lx.ReceiveNotification,t=>{let n=$S(t);if(n===null){r.error(`Discarded a malformed notification payload`,{rawPayload:t});return}s=[n,...s.filter(e=>e.id!==n.id)],e.onNotification(n)}),await a.start())},stop:async()=>{o?.(),o=null,await a?.stop(),a=null},markAsRead:async e=>{await i()!==void 0&&(await n.post(`${hM}/${e}/mark-as-read`,{}),s=s.filter(t=>t.id!==e))},unread:()=>s}},yM=e=>{let t=mM({apiBaseUrl:e.apiBaseUrl,clientKey:e.clientKey,getAssertion:e.getAssertion,modules:e.modules??[`commhub.chat`],...e.logger===void 0?{}:{logger:e.logger}}),r=new od({httpClient:t.httpClient,logger:t.logger}),i=async e=>{if(await t.token()===void 0)return null;let r=await e();return n.Ht(r)?r.value:null};return{getMine:()=>i(()=>r.getMine()),setMine:e=>i(()=>r.setMine(e)),clearMine:()=>i(()=>r.clearMine()),getOf:async e=>{if(await t.token()===void 0)return null;let i=await r.getOf(e);return n.Ht(i)?i.value:null}}},bM=()=>{mC(),SE(),KO(),fM()};exports.CommsProvider=rC,exports.SDK_MODULE_SCOPES=n_,exports.WidgetRoot=iC,exports.createNotificationClient=vM,exports.createPresenceClient=yM,exports.defineCustomElements=bM,exports.registerBookingsWidget=KO,exports.registerChatWidget=mC,exports.registerFeedWidget=SE,exports.registerScheduleWidget=fM;
8
+ `),a=Reflect.get(e,`CSSStyleSheet`);if(typeof a?.prototype.replaceSync!=`function`){let t=e.document.createElement(`style`);t.textContent=i,r.append(t)}else{let e=new a;e.replaceSync(i),r.adoptedStyleSheets=[e]}let o=t.host,s=o.getAttribute(`data-theme`);return s!==null&&n.setAttribute(`data-theme`,s),n.setAttribute(`style`,o.getAttribute(`style`)??``),r},ql=async(e={},t=document,n=window)=>{let r=n.documentPictureInPicture;if(r===void 0)return null;try{let n=await r.requestWindow({width:e.width??320,height:e.height??220});return t instanceof ShadowRoot?{window:n,container:Kl(n,t)}:(Wl(n,t),Gl(n,t),{window:n,container:n.document.body})}catch{return null}},Jl=(e,t)=>{let[n,i]=(0,r.useState)(null),a=(0,r.useRef)(null);a.current=n;let o=(0,r.useRef)(t);o.current=t;let s=(0,r.useCallback)(()=>{a.current?.window.close(),i(null)},[]),c=(0,r.useCallback)(async()=>{if(a.current!==null)return;let e=o.current.current?.getRootNode(),t=await ql({},e instanceof ShadowRoot||e instanceof Document?e:document);t!==null&&(t.window.addEventListener(`pagehide`,()=>{i(null)}),i(t))},[]),l=(0,r.useCallback)(()=>{c()},[c]);return(0,r.useEffect)(()=>{let t=Reflect.get(navigator,`mediaSession`);if(!e||!zl()||t===void 0)return;let n=`enterpictureinpicture`;try{t.setActionHandler(n,()=>{c()})}catch{return}return()=>{try{t.setActionHandler(n,null)}catch{}}},[e,c]),(0,r.useEffect)(()=>{let e=()=>{document.visibilityState===`visible`&&s()};return document.addEventListener(`visibilitychange`,e),()=>{document.removeEventListener(`visibilitychange`,e)}},[s]),(0,r.useEffect)(()=>{e||(s(),Bl()?.close())},[e,s]),(0,r.useEffect)(()=>s,[s]),{mount:n,popOut:l}},j={overlay:`_overlay_1agsz_5`,card:`_card_1agsz_12`,draggable:`_draggable_1agsz_30`,head:`_head_1agsz_40`,info:`_info_1agsz_46`,avatarRing:`_avatarRing_1agsz_53`,avatarRingPulse:`_avatarRingPulse_1agsz_65`,callPulse:`_callPulse_1agsz_1`,avatar:`_avatar_1agsz_53`,name:`_name_1agsz_107`,status:`_status_1agsz_117`,timer:`_timer_1agsz_123`,actions:`_actions_1agsz_130`,btn:`_btn_1agsz_137`,accept:`_accept_1agsz_163`,acceptBob:`_acceptBob_1agsz_1`,decline:`_decline_1agsz_178`,mute:`_mute_1agsz_182`,muteOn:`_muteOn_1agsz_191`,popped:`_popped_1agsz_208`,popOut:`_popOut_1agsz_224`},Yl=e=>{let t=e.trim().split(/\s+/).filter(e=>e.length>0);if(t.length===0)return`?`;let n=t[0]??``,r=t.length>1?t[t.length-1]??``:``;return(n.charAt(0)+r.charAt(0)).toUpperCase()},Xl=e=>e===`unavailable`?`Unavailable`:e===`busy`?`Busy`:e===`failed`?`Call failed`:`Call ended`,Zl=(e,t,n,r)=>{let i=t===`video`?`video`:`voice`;switch(e){case`incoming`:return`Incoming ${i} call`;case`outgoing`:return n?`Ringing…`:`Calling…`;case`active`:return`Connecting…`;case`ended`:return Xl(r);case`idle`:return``}},Ql=({sinceMs:e})=>{let[t,n]=(0,r.useState)(()=>Date.now());(0,r.useEffect)(()=>{let e=window.setInterval(()=>{n(Date.now())},1e3);return()=>{window.clearInterval(e)}},[]);let i=Math.max(0,Math.floor((t-e)/1e3)),a=String(Math.floor(i/60)).padStart(2,`0`),o=String(i%60).padStart(2,`0`);return(0,w.jsxs)(`span`,{className:j.timer,children:[a,`:`,o]})},$l=({phase:e,muted:n,actions:r})=>e===`ended`?null:e===`incoming`?(0,w.jsxs)(`div`,{className:j.actions,children:[(0,w.jsx)(`button`,{type:`button`,className:t.at(j.btn,j.decline),onClick:()=>{r.decline()},"aria-label":`Decline call`,children:(0,w.jsx)(Ne,{size:24})}),(0,w.jsx)(`button`,{type:`button`,className:t.at(j.btn,j.accept),onClick:()=>{r.accept()},"aria-label":`Accept call`,children:(0,w.jsx)(Pe,{size:24})})]}):(0,w.jsxs)(`div`,{className:j.actions,children:[e===`active`&&(0,w.jsx)(`button`,{type:`button`,className:t.at(j.btn,j.mute,n&&j.muteOn),onClick:()=>{r.toggleMute()},"aria-label":n?`Unmute`:`Mute`,children:n?(0,w.jsx)(Ee,{size:20}):(0,w.jsx)(De,{size:20})}),(0,w.jsx)(`button`,{type:`button`,className:t.at(j.btn,j.decline),onClick:()=>{r.hangup()},"aria-label":`Hang up`,children:(0,w.jsx)(Ne,{size:24})})]}),eu=e=>{let t=e.phase===`outgoing`&&e.callId!==null,n=e.phase===`active`&&e.connected&&e.activeSinceMs!==null;return{ringing:e.phase===`incoming`||e.phase===`outgoing`,initials:e.peerInitials===``?Yl(e.peerName):e.peerInitials,status:n?(0,w.jsx)(Ql,{sinceMs:e.activeSinceMs}):Zl(e.phase,e.mediaType,t,e.endReason)}},tu=({peerName:e,initials:n,peerColor:r,ringing:i,status:a,onPopOut:o})=>(0,w.jsxs)(`div`,{className:j.head,children:[(0,w.jsx)(`div`,{className:t.at(j.avatarRing,i&&j.avatarRingPulse),children:(0,w.jsx)(`div`,{className:j.avatar,style:r===``?void 0:t.it({"--avatar-color":r}),"aria-hidden":`true`,children:n})}),(0,w.jsxs)(`div`,{className:j.info,children:[(0,w.jsx)(`div`,{className:j.name,children:e===``?`Unknown caller`:e}),(0,w.jsx)(`div`,{className:j.status,children:a})]}),o!==null&&(0,w.jsx)(`button`,{type:`button`,className:j.popOut,onClick:o,"aria-label":`Keep call on top`,title:`Keep call on top`,children:(0,w.jsx)(Fe,{size:16})})]}),nu=({actions:e})=>{let n=jl(e=>e.phase),a=jl(e=>e.callId),o=jl(e=>e.peerName),s=jl(e=>e.peerInitials),c=jl(e=>e.peerColor),l=jl(e=>e.mediaType),u=jl(e=>e.muted),d=jl(e=>e.connected),f=jl(e=>e.activeSinceMs),p=jl(e=>e.endReason),m=(0,r.useRef)(null),{mount:h,popOut:g}=Jl(n===`incoming`||n===`outgoing`||n===`active`,m);if(n===`idle`)return null;let _=h!==null,v=n===`active`&&!_,{ringing:y,initials:b,status:x}=eu({phase:n,callId:a,peerName:o,peerInitials:s,mediaType:l,connected:d,activeSinceMs:f,endReason:p}),S=(0,w.jsx)(`div`,{className:t.at(j.overlay,_&&j.popped),ref:m,role:`dialog`,"aria-label":`Call`,children:(0,w.jsxs)(t.C.div,{className:t.at(j.card,v&&j.draggable),variants:t.S,initial:`hidden`,animate:`visible`,drag:v,dragConstraints:m,dragElastic:.12,dragMomentum:!1,children:[(0,w.jsx)(tu,{peerName:o,initials:b,peerColor:c,ringing:y,status:x,onPopOut:!_&&zl()?g:null}),(0,w.jsx)($l,{phase:n,muted:u,actions:e})]})});return h===null?S:(0,i.createPortal)(S,h.container)},ru=()=>typeof window<`u`&&`Notification`in window,iu=async()=>{if(!ru())return`denied`;if(Notification.permission==="default")try{return await Notification.requestPermission()}catch{return`denied`}return Notification.permission},au=({callerName:e,mediaType:t,onAccept:n,onDecline:r})=>{if(!ru()||Notification.permission!==`granted`)return null;let i=`Incoming ${t===`video`?`video`:`voice`} call`,a=`${e||`Someone`} is calling you...`;try{let e=new Notification(i,{body:a,icon:`/favicon.ico`,tag:`incoming-call`,requireInteraction:!0});return e.onclick=()=>{window.focus(),e.close()},e}catch{return null}},ou=({phase:e,peerName:t,mediaType:n})=>{(0,r.useEffect)(()=>{if(e!==`incoming`)return;let r=null,i=null,a=document.title,o=()=>{if(document.visibilityState===`hidden`){if(r??=au({callerName:t,mediaType:n}),i===null){let e=!1;i=window.setInterval(()=>{e=!e,document.title=e?`📞 Incoming call (${t||`Calling`})...`:a},1e3)}}else r!==null&&(r.close(),r=null),i!==null&&(window.clearInterval(i),i=null,document.title=a)};o();let s=()=>{o()};return document.addEventListener(`visibilitychange`,s),()=>{document.removeEventListener(`visibilitychange`,s),i!==null&&window.clearInterval(i),document.title=a,r!==null&&r.close()}},[e,t,n])},su=0,cu=(e,t)=>{let n=e.getState();return n.direction===`outgoing`&&n.phase===`outgoing`&&n.callId===null&&n.dialId===t},lu=async({store:e,cancelCall:t,dialId:n,result:r})=>{let i=cu(e,n);if(!r.ok){i&&e.getState().ended(`failed`);return}let a=r.value;if(a.status===`callee_busy`){i&&e.getState().ended(`busy`);return}if(a.status===`callee_unavailable`||a.joinTicket===null){i&&e.getState().ended(`unavailable`);return}if(!i){await t.execute(a.callId);return}e.getState().attachOutgoing({callId:a.callId,ticket:a.joinTicket})},uu=()=>{let{store:e,startCall:t,acceptCall:n,declineCall:i,cancelCall:a,endCall:o}=Al();return{startCall:(0,r.useCallback)(async n=>{if(n.userId===``)return;let r=e.getState().phase;if(r!==`idle`&&r!==`ended`)return;let i=String(su+=1);e.getState().dialing({peer:n,mediaType:`audio`,dialId:i}),await lu({store:e,cancelCall:a,dialId:i,result:await t.execute(n.userId,`audio`)})},[e,t,a]),accept:(0,r.useCallback)(async()=>{let{callId:t,direction:r}=e.getState();if(t===null||r!==`incoming`)return;e.getState().activate(null,Date.now());let i=await n.execute(t);if(!i.ok){e.getState().ended(`failed`);return}e.getState().activate(i.value,Date.now())},[e,n]),decline:(0,r.useCallback)(async()=>{let{callId:t}=e.getState();e.getState().reset(),t!==null&&await i.execute(t)},[e,i]),hangup:(0,r.useCallback)(async()=>{let{callId:t,phase:n}=e.getState();e.getState().ended(`hung_up`),t!==null&&(n===`active`?await o.execute(t):await a.execute(t))},[e,o,a]),mediaEnded:(0,r.useCallback)(async()=>{let{callId:t,phase:n}=e.getState();e.getState().ended(`ended`),!(t===null||n!==`active`)&&await o.execute(t)},[e,o]),toggleMute:(0,r.useCallback)(()=>{let t=e.getState();t.setMuted(!t.muted)},[e])}},du=15e3,fu=3e3,pu=e=>{switch(e){case`outgoing`:case`incoming`:return fu;case`active`:return du;case`idle`:case`ended`:return null}},mu=(e,t)=>{let{store:n,heartbeatCall:i}=Al(),a=pu(t);(0,r.useEffect)(()=>{if(e===null||a===null)return;let t=!1,r=!1,o=async()=>{if(!r){r=!0;try{let r=await i.execute(e);if(t||!r.ok||r.value.active)return;let a=n.getState();a.callId===e&&a.ended(`ended`)}finally{r=!1}}},s=window.setInterval(()=>{o()},a);return()=>{t=!0,window.clearInterval(s)}},[e,a,n,i])},hu=()=>{let e=jl(e=>e.phase),t=jl(e=>e.callId),n=jl(e=>e.ticket),i=jl(e=>e.muted),a=jl(e=>e.peerName),o=jl(e=>e.mediaType),s=Al().store,c=uu(),l=(0,r.useRef)(null);l.current??=Il();let u=l.current;return(0,r.useEffect)(()=>{iu();let e=()=>{u.unlock(),iu()};return window.addEventListener(`pointerdown`,e,{once:!0}),()=>{window.removeEventListener(`pointerdown`,e)}},[u]),ou({phase:e,peerName:a,mediaType:o}),mu(t,e),(0,r.useEffect)(()=>{e===`incoming`?u.playRing():e===`outgoing`?u.playRingback():u.stop()},[e,u]),(0,r.useEffect)(()=>()=>{u.dispose()},[u]),(0,r.useEffect)(()=>{if(e!==`ended`)return;let t=window.setTimeout(()=>{s.getState().reset()},2500);return()=>{window.clearTimeout(t)}},[e,s]),e===`idle`?null:(0,w.jsxs)(w.Fragment,{children:[n!==null&&(e===`outgoing`||e===`active`)&&(0,w.jsx)(Rl,{ticket:n,muted:i,onConnected:()=>{s.getState().markConnected()},onEnded:()=>{c.mediaEnded()}}),(0,w.jsx)(nu,{actions:c})]})},gu=()=>{let{startCall:e}=uu(),t=jl(e=>e.phase);return{start:t=>{e(t)},busy:t!==`idle`&&t!==`ended`}},_u={callBtn:`_callBtn_1q44j_1`},vu=({calleeUserId:e,calleeName:n,calleeInitials:r=``,calleeColor:i=``,className:a,canCalls:o,canStartCall:s})=>{let{hasPermission:c}=ii(),{start:l,busy:u}=gu(),d=o??c(T.calls),f=s??c(T.callsStart);return e===``||!d?null:(0,w.jsx)(`button`,{type:`button`,className:t.at(_u.callBtn,a),disabled:u||!f,onClick:()=>{f&&l({userId:e,name:n,initials:r,color:i})},"aria-label":`Call ${n}`,title:f?`Call ${n}`:`You do not have permission to start calls`,children:(0,w.jsx)(Pe,{size:18})})},yu=({conversation:e})=>e.isGroup||e.peerUserId===null?null:(0,w.jsx)(`div`,{className:E.headEnd,children:(0,w.jsx)(vu,{calleeUserId:e.peerUserId,calleeName:e.title,calleeInitials:e.initials,calleeColor:e.color})}),bu=6e4,xu=36e5,Su=864e5,Cu=(e,t)=>{if(e===null)return null;let n=Date.parse(e);if(Number.isNaN(n))return null;let r=Math.max(0,t-n);return r<bu?`Last seen just now`:r<xu?`Last seen ${String(Math.floor(r/bu))}m ago`:r<Su?`Last seen ${String(Math.floor(r/xu))}h ago`:`Last seen ${String(Math.floor(r/Su))}d ago`},wu=({conversation:e,live:t,liveStatus:n,nowMs:r})=>{if(t?.online??(n===void 0?e.online:n.status!==`offline`)){let t=n?.status??e.status;return{online:!0,subtitle:`Online`,status:t!==`offline`&&t!==`available`?t:null}}return{online:!1,subtitle:(t===void 0?null:Cu(t.lastSeenUtc,r))??`Offline`,status:null}},Tu=`This message was deleted`,Eu=e=>{if(e.startsWith(`__UAPP_SHARED_CARD__::`))try{let t=e.substring(22);return JSON.parse(t)}catch{return null}return null},Du=e=>{if(e.startsWith(`__UAPP_SHARED_CARD__::`)){let t=Eu(e);if(t!==null){let e=t.card.title;return e.length>0?`Shared Post: ${e}`:`Shared Post`}return`Shared Post`}return e},Ou=(e,t=null)=>t?.text.startsWith(`__UAPP_SHARED_CARD__::`)?{messageId:e.id,authorName:t.authorName,text:t.text}:e.replyTo?.text.startsWith(`__UAPP_SHARED_CARD__::`)?{messageId:e.id,authorName:e.replyTo.authorName,text:e.replyTo.text}:{messageId:e.id,authorName:e.authorName,text:e.text},ku=(e,t)=>{if(e.replyTo===null)return null;let n=t.get(e.replyTo.messageId),r=n?.deletedForEveryone?Tu:n?.text??e.replyTo.text,i=n?.authorName??e.replyTo.authorName;return r.startsWith(`__UAPP_SHARED_CARD__::`)?{author:i,text:r}:null},Au=(e,t)=>{if(e===null)return null;if(e.authorName.length>0||e.text.length>0)return e;let n=t.get(e.messageId);if(n===void 0)return e;let r=n.authorName,i=n.deletedForEveryone?Tu:n.text,a=ku(n,t);return a!==null&&(r=a.author,i=a.text),{messageId:e.messageId,authorName:r,text:i}},ju=(e,t)=>e.some(e=>e.id===t.id)?e:t.clientMessageId!==null&&e.some(e=>e.clientMessageId===t.clientMessageId)?e.map(e=>e.clientMessageId===t.clientMessageId?t.withFallbackSentAt(e.sentAt):e):[...e,t].sort((e,t)=>e.sequence-t.sequence),Mu=`pending:`,Nu=e=>`${Mu}${e}`,Pu=e=>e.id.startsWith(Mu),Fu=e=>e.reduce((e,t)=>Math.max(e,t.sequence),0),Iu=e=>e.filter(e=>!Pu(e)).reduce((e,t)=>Math.max(e,t.sequence),0),Lu=e=>new Wr({id:Nu(e.clientMessageId),kind:`text`,authorName:e.viewer.name,authorInitials:e.viewer.initials,authorColor:e.viewer.color,text:e.text.trim(),time:e.timeLabel,sentAt:e.sentAt??``,fromViewer:!0,reactions:[],sequence:e.sequence,senderId:e.viewer.id,clientMessageId:e.clientMessageId,replyTo:e.replyTo??null,mediaUrl:null,isEdited:!1}),Ru=e=>new Wr({id:Nu(e.clientMessageId),kind:`media`,authorName:e.viewer.name,authorInitials:e.viewer.initials,authorColor:e.viewer.color,text:e.caption.trim(),time:``,sentAt:e.sentAt,fromViewer:!0,reactions:[],sequence:e.sequence,senderId:e.viewer.id,clientMessageId:e.clientMessageId,replyTo:e.replyTo??null,mediaUrl:e.fileUrl,mediaContentType:e.contentType,mediaFileName:e.fileName,isEdited:!1}),zu=(e,t)=>ju(e??[],t),Bu=(e,t)=>ju(e??[],t),Vu=({selectedMessage:e,onClearSelection:n,onReply:r,onStartEdit:i,onDelete:a})=>{let o=Pu(e),s=e.fromViewer&&!e.deletedForEveryone&&e.canEdit(Date.now());return(0,w.jsxs)(`div`,{className:E.mobileSelectionHeader,children:[(0,w.jsxs)(`div`,{className:E.selectionLeft,children:[(0,w.jsx)(`button`,{type:`button`,className:E.selectionActionBtn,"aria-label":`Clear selection`,onClick:n,children:(0,w.jsx)(C,{size:18})}),(0,w.jsx)(`span`,{className:E.selectionTitle,children:`1 Selected`})]}),(0,w.jsxs)(`div`,{className:E.selectionActions,children:[!o&&r!==void 0&&(0,w.jsx)(`button`,{type:`button`,className:E.selectionActionBtn,title:`Reply`,"aria-label":`Reply`,onClick:()=>{r(Ou(e)),n!==void 0&&n()},children:(0,w.jsx)(Ue,{size:17})}),!o&&s&&i!==void 0&&(0,w.jsx)(`button`,{type:`button`,className:E.selectionActionBtn,title:`Edit message`,"aria-label":`Edit message`,onClick:()=>{i(e),n!==void 0&&n()},children:(0,w.jsx)(Me,{size:17})}),!o&&e.fromViewer&&a!==void 0&&(0,w.jsx)(`button`,{type:`button`,className:t.at(E.selectionActionBtn,E.selectionActionDanger),title:`Delete message`,"aria-label":`Delete message`,onClick:()=>{a(e.id),n!==void 0&&n()},children:(0,w.jsx)(at,{size:17})})]})]})},Hu=(e,t,n,r={})=>{let i=r.canManageMembers??!0,s=r.canDelete??!0;return[...e.lastSynced===null?[]:[{label:`Last synced ${e.lastSynced}`,icon:(0,w.jsx)(ze,{size:14}),onSelect:()=>{t.refresh(e)}}],...i?[{label:`Manage members`,icon:(0,w.jsx)(ct,{size:14}),onSelect:n.onManageMembers}]:[],{label:e.favourite?`Remove from Favourites`:`Add to Favourites`,icon:(0,w.jsx)(et,{size:14}),onSelect:()=>{t.toggleFavourite(e)}},{label:e.pinned?`Unpin`:`Pin to top`,icon:(0,w.jsx)(Ie,{size:14}),onSelect:()=>{t.togglePin(e)}},{label:e.archived?`Unarchive`:`Archive`,icon:e.archived?(0,w.jsx)(a,{size:14}):(0,w.jsx)(o,{size:14}),onSelect:()=>{t.toggleArchive(e)}},{label:`Leave group`,icon:(0,w.jsx)(be,{size:14}),onSelect:()=>{n.onRequestLeave(e)}},...s?[{label:`Delete group`,icon:(0,w.jsx)(at,{size:14}),danger:!0,onSelect:()=>{n.onRequestDelete(e)}}]:[]]},Uu=(e,t)=>{let n=t.find(t=>t.id===e.categoryId&&t.tenantId===e.tenantId);return n===void 0?t.find(t=>t.locked&&t.tenantId===e.tenantId)??null:n},Wu=e=>{let t=Object.entries(e.data).filter(([e,t])=>e!==`statusColor`&&t!==``).map(([,e])=>e);return t.length>0?t.join(` · `):e.subtitle},Gu=(e,t)=>{let n=Uu(e,t);if(n===null)return{icon:null,accent:e.color,pill:null,subtitle:e.subtitle};let r=t=>e.data[t]??``,i=n.fields.filter(e=>e.visible&&r(e.key)!==``);if(i.length===0)return{icon:n.icon,accent:n.accent,pill:null,subtitle:Wu(e)};let a=i.find(e=>e.type===`pill`),o=i.filter(e=>e.type!==`pill`).map(e=>r(e.key));return{icon:n.icon,accent:n.accent,pill:a===void 0?null:{value:r(a.key),color:e.data.statusColor??n.accent},subtitle:o.length>0?o.join(` · `):e.subtitle}},Ku=[`override`,`activity`,`calendar`,`connection`],qu=e=>Ku[e??-1]??`connection`,Ju=class extends n.Gt{code=`PRESENCE_UNAVAILABLE`;constructor(e){super(`Your status is unavailable right now. Please try again.`,{cause:e})}},Yu=class{gateway;constructor(e){this.gateway=e.presenceGateway}execute(){return this.gateway.getMine()}},Xu=class{gateway;constructor(e){this.gateway=e.presenceGateway}execute(e){return this.gateway.setMine(e)}},Zu=class{gateway;constructor(e){this.gateway=e.presenceGateway}execute(){return this.gateway.clearMine()}},Qu=class{gateway;constructor(e){this.gateway=e.presenceGateway}execute(e){return this.gateway.getOf(e)}},$u=n.dt({status:n.ut(),source:n.ut(),untilUtc:n.pt().nullish(),note:n.pt().nullish(),hasOverride:n.at()}),ed=n.dt({userId:n.pt(),online:n.at(),status:n.ut(),untilUtc:n.pt().nullish()}),td=n.it(ed),nd={mine:`/api/app/presence/mine`,setMine:`/api/app/presence/set-mine`,clearMine:`/api/app/presence/clear-mine`,of:e=>`/api/app/presence/of?${e.map(e=>`Ids=${encodeURIComponent(e)}`).join(`&`)}`},rd=e=>({status:Xs(e.status),source:qu(e.source),untilUtc:e.untilUtc??null,note:e.note??null,hasOverride:e.hasOverride}),id=e=>({status:Zs(e.status),minutes:e.minutes,...e.note===void 0?{}:{note:e.note}}),ad=e=>({userId:e.userId,online:e.online,status:Xs(e.status),untilUtc:e.untilUtc??null}),od=class{http;logger;constructor(e){this.http=e.httpClient,this.logger=e.logger.child(`http-presence-gateway`)}getMine(){return this.request(()=>this.http.get(nd.mine),`getMine`)}setMine(e){return this.request(()=>this.http.post(nd.setMine,id(e)),`setMine`)}async getOf(e){if(e.length===0)return n.Ut([]);try{let t=td.safeParse(await this.http.get(nd.of(e)));return t.success?n.Ut(t.data.map(ad)):(this.logger.error(`getOf: unexpected response shape`,t.error),n.Bt(new Ju(t.error)))}catch(e){return this.logger.error(`getOf failed`,e),n.Bt(new Ju(e))}}clearMine(){return this.request(()=>this.http.post(nd.clearMine,{}),`clearMine`)}async request(e,t){try{let r=$u.safeParse(await e());return r.success?n.Ut(rd(r.data)):(this.logger.error(`${t}: unexpected response shape`,r.error),n.Bt(new Ju(r.error)))}catch(e){return this.logger.error(`${t} failed`,e),n.Bt(new Ju(e))}}},sd=e=>{let t={presenceGateway:new od({httpClient:e.httpClient,logger:e.logger}),logger:e.logger};return{getMyPresence:new Yu(t),setMyPresence:new Xu(t),clearMyPresence:new Zu(t),getPresenceOf:new Qu(t),logger:e.logger}},cd=(0,r.createContext)(null),ld=()=>{let e=(0,r.useContext)(cd);if(e===null)throw Error(`Presence hooks must be used within <PresenceModuleProvider>.`);return e},ud=3e4,dd=()=>{let{getPresenceOf:e}=ld(),t=ic(),i=(0,r.useMemo)(()=>t===``?[]:t.split(`,`),[t]),{data:a}=n.M({queryKey:[`presence`,`of`,t],enabled:i.length>0,queryFn:()=>n.Wt(e.execute(i)),refetchInterval:ud,refetchOnWindowFocus:!0,retry:!1});(0,r.useEffect)(()=>{a!==void 0&&oc(a)},[a])},fd=()=>(dd(),null),pd=({module:e,children:t})=>(0,w.jsxs)(cd.Provider,{value:e,children:[(0,w.jsx)(fd,{}),t]});Qs.filter(e=>e.id!==`offline`);var md=({status:e,untilUtc:t,size:r})=>{let i=n.m();return(0,w.jsx)(cc,{status:e,untilUtc:t??null,formatUntil:e=>i.formatUntil(e),...r===void 0?{}:{size:r}})},hd=4,gd={Hash:me,GraduationCap:pe,Users:ct,Building2:m,Briefcase:p,BookOpen:d,Globe:fe},_d=({conversation:e,header:n,dmOnline:r})=>{let i=n?.icon??null,a=i===null?void 0:gd[i];return a===void 0?(0,w.jsxs)(`span`,{className:E.viewAvatarWrap,children:[(0,w.jsx)(`span`,{className:E.viewAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),r===!0&&(0,w.jsx)(`span`,{className:t.at(E.presenceDot,E.viewPresenceDot),"aria-label":`Online`})]}):(0,w.jsx)(`span`,{className:E.viewIcon,style:t.it({"--avatar-color":n?.accent??e.color}),children:(0,w.jsx)(a,{size:18})})},vd=({members:e})=>{if(e.length===0)return null;let n=e.length-hd;return(0,w.jsxs)(`div`,{className:E.memberStack,children:[e.slice(0,hd).map(e=>(0,w.jsx)(`span`,{className:E.memberAvatar,title:e.name,children:(0,w.jsx)(t.s,{initials:e.initials,color:e.color,size:`xs`})},e.id)),n>0&&(0,w.jsxs)(`span`,{className:E.memberMore,children:[`+`,n]})]})},yd=({conversation:e,pill:n,presence:r,statusPill:i,subtitle:a})=>(0,w.jsxs)(`span`,{className:E.viewHeadText,children:[(0,w.jsxs)(`span`,{className:E.viewTitleRow,children:[(0,w.jsx)(`span`,{className:E.viewTitle,children:e.title}),e.admin&&(0,w.jsx)(`span`,{className:E.adminBadge,children:`You're admin`}),n?(0,w.jsx)(`span`,{className:E.statusPill,style:t.it({"--pill":n.color}),children:n.value}):null,r!==null&&(0,w.jsx)(md,{untilUtc:e.statusUntilUtc,status:r}),i]}),(0,w.jsx)(`span`,{className:E.viewSub,children:a})]}),bd=(e,t)=>{let n=`${String(e.memberCount)} member${e.memberCount===1?``:`s`}`,r=t?.subtitle??e.subtitle;return r===``||r===e.title?n:`${n} · ${r}`},xd=({conversation:e,actions:n,canManageMembers:r,canDelete:i,onManageMembers:a,onRequestDelete:o,onRequestLeave:s})=>(0,w.jsxs)(`div`,{className:E.headEnd,children:[r&&(0,w.jsx)(`button`,{type:`button`,className:E.memberStackBtn,"aria-label":`Manage members`,onClick:a,children:(0,w.jsx)(vd,{members:e.members})}),(0,w.jsx)(t.g,{align:`end`,trigger:(0,w.jsx)(`button`,{type:`button`,className:E.headMenuBtn,"aria-label":`Group options`,children:(0,w.jsx)(ie,{size:16})}),items:Hu(e,n,{onManageMembers:a,onRequestDelete:o,onRequestLeave:s},{canManageMembers:r,canDelete:i})})]}),Sd=({conversation:e,header:n,dmOnline:r,dmStatus:i,pill:a,statusPill:o,subtitle:c,actions:l,onManageMembers:u,onRequestDelete:d,onRequestLeave:f})=>{let p=t.gt(),{hasPermission:m}=ii(),h=m(T.chatManageMembers),g=m(T.chatDelete);return(0,w.jsxs)(`div`,{className:E.standardHeader,children:[(0,w.jsx)(`button`,{type:`button`,className:E.backBtn,"aria-label":`Back to conversations`,onClick:()=>{p(`/comms/chats`)},children:(0,w.jsx)(s,{size:18})}),(0,w.jsx)(_d,{conversation:e,header:n,dmOnline:r}),(0,w.jsx)(yd,{conversation:e,pill:a,presence:i,statusPill:o,subtitle:c}),e.isGroup&&(0,w.jsx)(xd,{conversation:e,actions:l,canManageMembers:h,canDelete:g,onManageMembers:u,onRequestDelete:d,onRequestLeave:f}),(0,w.jsx)(yu,{conversation:e})]})},Cd=({conversation:e,categories:n,actions:r,statusPill:i,onManageMembers:a,onRequestDelete:o,onRequestLeave:s,selectedMessage:c=null,onClearSelection:l,onReply:u,onStartEdit:d,onDelete:f})=>{let p=e.isGroup?Gu(e,n):null,m=p?.pill??null,h=e.peerUserId,g=wu({conversation:e,live:Mr(e=>h===null?void 0:e.presence[h]),liveStatus:rc(h),nowMs:Date.now()}),_=e.isGroup?bd(e,p):g.subtitle;return(0,w.jsxs)(`header`,{className:t.at(E.viewHead,c!==null&&E.hasMobileSelection),children:[c!==null&&(0,w.jsx)(Vu,{selectedMessage:c,onClearSelection:l,onReply:u,onStartEdit:d,onDelete:f}),(0,w.jsx)(Sd,{conversation:e,header:p,dmOnline:e.isGroup?null:g.online,dmStatus:e.isGroup?null:g.status,pill:m,statusPill:i,subtitle:_,actions:r,onManageMembers:a,onRequestDelete:o,onRequestLeave:s})]})},wd=({excludeIds:e,onAdd:n,onBack:r})=>{let{search:i,setSearch:a,results:o,loading:c,hasQuery:l}=ea(e,`groupPool`);return(0,w.jsxs)(`div`,{className:E.addPanel,children:[(0,w.jsxs)(`div`,{className:E.addPanelHead,children:[(0,w.jsx)(`button`,{type:`button`,className:E.memberRowMenuBtn,"aria-label":`Back to members`,onClick:r,children:(0,w.jsx)(s,{size:15})}),(0,w.jsx)(`span`,{className:E.addPanelTitle,children:`Add member`})]}),(0,w.jsxs)(`div`,{className:E.addPanelSearch,children:[(0,w.jsx)(Ge,{size:14}),(0,w.jsx)(`input`,{className:E.searchInput,placeholder:`Search staff`,value:i,onChange:e=>{a(e.target.value)}}),c&&(0,w.jsx)(t.nt,{size:`sm`,label:`Searching staff`})]}),(0,w.jsxs)(`div`,{className:E.addPanelList,children:[(0,w.jsx)(t.T,{initial:!1,children:o.map(e=>(0,w.jsxs)(t.C.div,{layout:!0,variants:t.x,initial:`hidden`,animate:`visible`,exit:`exit`,className:E.memberRow,children:[(0,w.jsx)(`span`,{className:E.memberRowAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`span`,{className:E.memberRowBody,children:[(0,w.jsx)(`span`,{className:E.memberRowName,children:e.name}),(0,w.jsx)(`span`,{className:E.memberRowRole,children:e.role})]}),(0,w.jsxs)(`button`,{type:`button`,className:E.addMemberBtn,onClick:()=>{n(e)},children:[(0,w.jsx)(Le,{size:13}),` Add`]})]},e.id))}),o.length===0&&!c&&(0,w.jsx)(`p`,{className:E.addPanelEmpty,children:l?`No staff match your search.`:`Everyone is already in this group.`})]})]})},Td=e=>{let{member:t,isAdmin:n,adminCount:r,onMakeAdmin:i,onRemoveAdmin:a,onRemove:o}=e,s=[];return n||s.push({label:`Make admin`,icon:(0,w.jsx)(Ye,{size:14}),onSelect:()=>{i(t.id)}}),n&&r>1&&s.push({label:`Remove admin`,icon:(0,w.jsx)(Je,{size:14}),onSelect:()=>{a(t.id)}}),s.push({label:`Remove from group`,icon:(0,w.jsx)(at,{size:14}),danger:!0,onSelect:()=>{o(t.id)}}),s},Ed=({member:e})=>{let t=rc(e.id),n=t?.status??e.status??`offline`;return n===`offline`?null:(0,w.jsx)(md,{status:n,untilUtc:t===void 0?e.statusUntilUtc??null:t.untilUtc})},Dd=e=>{let{member:n,isAdmin:r,isSelf:i,isNew:a,isPromoted:o,isDemoted:s,canManage:c}=e,l=Mr(e=>e.presence[n.id]?.online??!1);return(0,w.jsxs)(t.C.div,{layout:!0,variants:t.x,initial:`hidden`,animate:`visible`,className:t.at(E.memberRow,a&&E.memberRowNew),children:[(0,w.jsxs)(`span`,{className:E.memberRowAvatarWrap,children:[(0,w.jsx)(`span`,{className:E.memberRowAvatar,style:t.it({"--avatar-color":n.color}),children:n.initials}),l&&(0,w.jsx)(`span`,{className:E.presenceDot,"aria-label":`Online`})]}),(0,w.jsxs)(`span`,{className:E.memberRowBody,children:[(0,w.jsxs)(`span`,{className:E.memberRowName,children:[n.name,i&&(0,w.jsx)(`span`,{className:E.memberRowYou,children:` (You)`}),r?(0,w.jsx)(`span`,{className:E.memberBadgeAdmin,children:`ADMIN`}):(0,w.jsx)(`span`,{className:E.memberBadge,children:`MEMBER`}),a&&(0,w.jsx)(`span`,{className:E.memberPillNew,children:`+ NEW`}),o&&!a&&(0,w.jsx)(`span`,{className:E.memberPillUp,children:`↑ PROMOTED`}),s&&(0,w.jsx)(`span`,{className:E.memberPillDown,children:`↓ DEMOTED`})]}),(0,w.jsxs)(`span`,{className:E.memberRowRole,children:[n.role,(0,w.jsx)(Ed,{member:n})]})]}),c&&!i&&(0,w.jsx)(t.g,{align:`end`,trigger:(0,w.jsx)(`button`,{type:`button`,className:E.memberRowMenuBtn,"aria-label":`Actions for ${n.name}`,children:(0,w.jsx)(ie,{size:14})}),items:Td(e)})]})},Od=(e,t,n,r)=>{let i=e.map(e=>e.id),a=n.map(e=>e.id),o=a.filter(e=>!i.includes(e)),s=i.filter(e=>!a.includes(e)),c=r.filter(e=>!t.includes(e)&&a.includes(e)),l=t.filter(e=>!r.includes(e)&&a.includes(e));return{addedIds:o,removedIds:s,promotedIds:c,demotedIds:l,total:o.length+s.length+c.length+l.length}},kd=(e,t)=>t.some(t=>e.some(e=>e.id===t)),Ad=e=>{let{addedIds:t,removedIds:n,promotedIds:r,demotedIds:i,total:a}=e;if(a===0)return`Save changes`;if(t.length===a)return t.length===1?`Add member`:`Add ${String(t.length)}`;if(n.length===a)return n.length===1?`Remove member`:`Remove ${String(n.length)}`;let o=r.length+i.length;return o===a?o===1?`Confirm`:`Confirm ${String(o)}`:`Save changes (${String(a)})`},jd=(e,t)=>{let[n,i]=(0,r.useState)(e.members),[a,o]=(0,r.useState)(e.adminIds),[s,c]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{t&&(i(e.members),o(e.adminIds),c(!1))},[t,e.id,e.members,e.adminIds]),{members:n,adminIds:a,adding:s,diff:Od(e.members,e.adminIds,n,a),adminCount:a.filter(e=>n.some(t=>t.id===e)).length,setAdding:c,addMember:e=>{i(t=>[...t,e]),c(!1)},removeMember:e=>{i(t=>t.filter(t=>t.id!==e)),o(t=>t.filter(t=>t!==e))},makeAdmin:e=>{o(t=>t.includes(e)?t:[...t,e])},removeAdmin:e=>{o(t=>t.filter(t=>t!==e))},undoRemove:e=>{i(t=>[...t,e])}}},Md=({member:e,onUndo:n})=>(0,w.jsxs)(`div`,{className:E.removedRow,children:[(0,w.jsx)(`span`,{className:E.memberRowAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`span`,{className:E.memberRowBody,children:[(0,w.jsx)(`span`,{className:E.removedName,children:e.name}),(0,w.jsx)(`span`,{className:E.memberRowRole,children:e.role})]}),(0,w.jsxs)(`button`,{type:`button`,className:E.undoBtn,onClick:n,children:[(0,w.jsx)(We,{size:12}),` Undo`]})]}),Nd=e=>{let{conversation:n,draftMembers:r,draftAdminIds:i,diff:a,adminCount:o,iAmAdmin:s}=e,{viewerId:c}=e;return(0,w.jsxs)(`div`,{className:E.membersBody,children:[a.total>0&&(0,w.jsxs)(`div`,{className:E.unsavedBar,children:[a.total,` unsaved `,a.total===1?`change`:`changes`]}),s&&(0,w.jsxs)(`button`,{type:`button`,className:E.addMemberCta,onClick:e.onAddClick,children:[(0,w.jsx)(st,{size:14}),` Add member`]}),(0,w.jsxs)(`div`,{className:E.membersSectionLabel,children:[`MEMBERS · `,r.length]}),(0,w.jsxs)(`div`,{className:E.membersList,children:[(0,w.jsx)(t.T,{initial:!1,children:r.map(t=>(0,w.jsx)(Dd,{member:t,isAdmin:i.includes(t.id),isSelf:t.id===c,isNew:a.addedIds.includes(t.id),isPromoted:a.promotedIds.includes(t.id),isDemoted:a.demotedIds.includes(t.id),canManage:s,adminCount:o,onMakeAdmin:e.onMakeAdmin,onRemoveAdmin:e.onRemoveAdmin,onRemove:e.onRemove},t.id))}),a.removedIds.length>0&&(0,w.jsxs)(t.C.div,{variants:t.x,initial:`hidden`,animate:`visible`,children:[(0,w.jsxs)(`div`,{className:E.removedLabel,children:[`WILL BE REMOVED · `,a.removedIds.length]}),a.removedIds.map(t=>{let r=n.members.find(e=>e.id===t);return r===void 0?null:(0,w.jsx)(Md,{member:r,onUndo:()=>{e.onUndoRemove(r)}},t)})]})]})]})},Pd=({diff:e,saving:n,onCancel:r,onSave:i})=>{let a=e.removedIds.length===e.total&&e.total>0;return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(t.tt,{variant:`ghost`,onClick:r,children:`Cancel`}),(0,w.jsx)(t.tt,{variant:a?`danger`:`primary`,isLoading:n,disabled:e.total===0,onClick:i,children:Ad(e)})]})},Fd=({conversation:e,open:n,onClose:r})=>{let i=Wi(e.id),a=jd(e,n),{data:o}=Fi(),s=o?.id??``,c=()=>{if(a.diff.total===0){r();return}if(!kd(a.members,a.adminIds)){t.l.error(`A group must keep at least one admin`);return}i.mutate({members:a.members,adminIds:a.adminIds},{onSuccess:()=>{t.l.success(`Members updated`),r()}})},l=a.members.length===1?`member`:`members`,u=a.adminCount===1?`admin`:`admins`;return(0,w.jsx)(t.y,{open:n,onOpenChange:e=>{e||r()},title:`Manage members`,description:`${e.title} · ${String(a.members.length)} ${l} · ${String(a.adminCount)} ${u}`,footer:a.adding?void 0:(0,w.jsx)(Pd,{diff:a.diff,saving:i.isPending,onCancel:r,onSave:c}),children:a.adding?(0,w.jsx)(wd,{excludeIds:a.members.map(e=>e.id),onAdd:a.addMember,onBack:()=>{a.setAdding(!1)}}):(0,w.jsx)(Nd,{conversation:e,draftMembers:a.members,draftAdminIds:a.adminIds,diff:a.diff,adminCount:a.adminCount,iAmAdmin:e.canManageMembers(s),viewerId:s,onAddClick:()=>{a.setAdding(!0)},onMakeAdmin:a.makeAdmin,onRemoveAdmin:a.removeAdmin,onRemove:a.removeMember,onUndoRemove:a.undoRemove})})},Id=({open:e,canDeleteForEveryone:n,onDeleteForMe:r,onDeleteForEveryone:i,onCancel:a})=>(0,w.jsx)(t.y,{open:e,onOpenChange:e=>{e||a()},title:`Delete message?`,footer:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(t.tt,{variant:`ghost`,onClick:a,children:`Cancel`}),(0,w.jsx)(t.tt,{variant:`secondary`,onClick:r,children:`Delete for me`}),n&&(0,w.jsx)(t.tt,{variant:`danger`,onClick:i,children:`Delete for everyone`})]}),children:n?`Delete this message for everyone, or just remove it from this device?`:`This message can only be removed from this device — the time limit to delete it for everyone has passed.`}),Ld=e=>e===1?`typing…`:`${String(e)} people typing…`,Rd=({conversationId:e})=>{let n=Mr(t=>t.typingUserIds(e,Date.now()).length);return(0,w.jsx)(t.T,{children:n>0&&(0,w.jsxs)(t.C.div,{className:E.typingRow,variants:t.b,initial:`hidden`,animate:`visible`,exit:`exit`,children:[(0,w.jsxs)(`span`,{className:E.typingDots,"aria-hidden":!0,children:[(0,w.jsx)(`span`,{}),(0,w.jsx)(`span`,{}),(0,w.jsx)(`span`,{})]}),(0,w.jsx)(`span`,{className:E.typingText,children:Ld(n)})]})})},zd=()=>{let e=Mr(e=>e.status);if(e===`connected`||e===`connecting`)return null;let t=e===`reconnecting`?`Reconnecting…`:`Offline`;return(0,w.jsxs)(`span`,{className:E.connPill,children:[(0,w.jsx)(ut,{size:12}),` `,t]})},Bd=20*1024*1024,Vd=(e,t,n)=>{let r=[],i=!1;for(let a of e){if(r.length>=t)break;if(a.size>n){i=!0;continue}r.push(a)}let a=e.reduce((e,t)=>e+ +(t.size<=n),0);return{accepted:r,skippedOversize:i,overflowed:a>t}},Hd=()=>{let[e,n]=(0,r.useState)([]),i=(0,r.useRef)([]);return i.current=e,(0,r.useEffect)(()=>()=>{for(let e of i.current)e.previewUrl!==null&&URL.revokeObjectURL(e.previewUrl)},[]),{items:e,add:e=>{let r=10-i.current.length;if(r<=0){t.l.error(`You can attach up to 10 files at once.`);return}let{accepted:a,skippedOversize:o,overflowed:s}=Vd(Array.from(e),r,Bd);if(o&&t.l.error(`That file is over the 20 MB limit — please send a smaller file.`),s&&t.l.error(`You can attach up to 10 files at once.`),a.length===0)return;let c=a.map(e=>({id:crypto.randomUUID(),file:e,previewUrl:e.type.startsWith(`image/`)?URL.createObjectURL(e):null}));n(e=>[...e,...c])},remove:e=>{let t=i.current.find(t=>t.id===e);t!==void 0&&t.previewUrl!==null&&URL.revokeObjectURL(t.previewUrl),n(t=>t.filter(t=>t.id!==e))},clear:()=>{for(let e of i.current)e.previewUrl!==null&&URL.revokeObjectURL(e.previewUrl);n([])}}},Ud=(e,t,n,r)=>{let i=r.canSendMessage??!0,a=()=>{n.current?.click()},o=()=>{i&&(e.items.length>0?(r.onSendMedia(e.items.map(e=>e.file),t),e.clear()):r.onSubmit())};return{openPicker:a,send:o,handleKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),i&&o())},handlePaste:t=>{let n=t.clipboardData.files;n.length>0&&(t.preventDefault(),e.add(n))},onFileChange:t=>{t.target.files!==null&&t.target.files.length>0&&e.add(t.target.files);let r=n.current;r!==null&&(r.value=``)}}},Wd=[`👍`,`🎉`,`❤️`,`😂`,`🙌`,`👏`],Gd=[`😀`,`😄`,`😁`,`😂`,`😍`,`😎`,`🤝`,`🙏`,`👍`,`👏`,`🙌`,`🔥`,`🎉`,`⭐`,`✅`,`❤️`,`💡`,`📌`,`🚀`,`😢`],Kd=({onPick:e})=>{let[n,i]=(0,r.useState)(!1);return(0,w.jsxs)(`div`,{className:E.emojiWrap,children:[(0,w.jsx)(`button`,{type:`button`,className:E.composerIcon,"aria-label":`Insert emoji`,"aria-expanded":n,onClick:()=>{i(e=>!e)},children:(0,w.jsx)(Qe,{size:18})}),(0,w.jsx)(t.T,{children:n&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`button`,{type:`button`,className:E.emojiBackdrop,"aria-label":`Close emoji picker`,onClick:()=>{i(!1)}}),(0,w.jsx)(t.C.div,{className:E.emojiPop,variants:t.S,initial:`hidden`,animate:`visible`,exit:`exit`,children:Gd.map(t=>(0,w.jsx)(`button`,{type:`button`,className:E.emojiBtn,onClick:()=>{e(t),i(!1)},children:t},t))})]})})]})},qd=({replyTo:e,onClear:t})=>(0,w.jsxs)(`div`,{className:E.replyBar,children:[(0,w.jsxs)(`span`,{className:E.replyBarText,children:[`Replying to `,e.authorName,`: `,Du(e.text)]}),(0,w.jsx)(`button`,{type:`button`,className:E.replyBarClose,"aria-label":`Cancel reply`,onClick:t,children:(0,w.jsx)(C,{size:16})})]}),Jd=({attachments:e,onRemove:n,onAddMore:r})=>(0,w.jsxs)(t.C.div,{className:E.attachTray,initial:{opacity:0,y:8},animate:{opacity:1,y:0},transition:{duration:.16},children:[e.map(e=>(0,w.jsxs)(`div`,{className:E.attachItem,children:[e.previewUrl===null?(0,w.jsxs)(`div`,{className:E.attachFile,children:[(0,w.jsx)(ue,{size:20}),(0,w.jsx)(`span`,{className:E.attachFileName,children:e.file.name})]}):(0,w.jsx)(`img`,{className:E.attachThumb,src:e.previewUrl,alt:e.file.name}),(0,w.jsx)(`button`,{type:`button`,className:E.attachRemove,"aria-label":`Remove ${e.file.name}`,onClick:()=>{n(e.id)},children:(0,w.jsx)(C,{size:13})})]},e.id)),(0,w.jsx)(`button`,{type:`button`,className:E.attachAdd,"aria-label":`Add more files`,onClick:r,children:(0,w.jsx)(Le,{size:20})})]}),Yd=({fileRef:e,onAttach:t,onFileChange:n})=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`input`,{ref:e,type:`file`,multiple:!0,className:E.hiddenFileInput,accept:`image/*,video/*,.pdf,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.txt,.csv,.zip`,onChange:n}),(0,w.jsx)(`button`,{type:`button`,className:E.composerIcon,"aria-label":`Attach files`,onClick:t,children:(0,w.jsx)(ke,{size:18})})]}),Xd=({hasAttachments:e,disabled:n,canSendMessage:r,onSend:i})=>{let a=(0,w.jsx)(`button`,{type:`button`,className:E.sendBtn,"aria-label":e?`Send attachments`:`Send message`,disabled:n,onClick:i,children:(0,w.jsx)(Ke,{size:16})});return r?a:(0,w.jsx)(t.p,{label:`You do not have permission to send messages`,children:(0,w.jsx)(`span`,{style:{display:`inline-flex`},children:a})})},Zd=({editingText:e,onClear:t})=>(0,w.jsxs)(`div`,{className:E.replyBar,children:[(0,w.jsx)(Me,{size:15,style:{marginRight:6}}),(0,w.jsxs)(`span`,{className:E.replyBarText,children:[`Editing message: `,Du(e)]}),(0,w.jsx)(`button`,{type:`button`,className:E.replyBarClose,"aria-label":`Cancel edit`,onClick:t,children:(0,w.jsx)(C,{size:16})})]}),Qd=({value:e,title:n,hasAttachments:r,isSending:i,canSend:a,canSendMessage:o,fileRef:s,onChange:c,onTyping:l,onKeyDown:u,onPaste:d,onAttach:f,onFileChange:p,onSend:m})=>{let h=t.rt(`(max-width: 1024px)`),g=pt(e,4e3),_=r?`Add a caption…`:h?`Message ${n}…`:`Message ${n}… (Shift+Enter for new line)`;return(0,w.jsxs)(`div`,{className:E.composer,children:[(0,w.jsx)(Kd,{onPick:t=>{c(e+t)}}),(0,w.jsx)(Yd,{fileRef:s,onAttach:f,onFileChange:p}),(0,w.jsxs)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`},children:[(0,w.jsx)(`textarea`,{className:t.at(E.composerInput,g.isOverLimit&&E.composerInputError),rows:1,placeholder:_,value:e,onChange:e=>{c(e.target.value),l()},onKeyDown:u,onPaste:d}),g.showCounter&&(0,w.jsxs)(`div`,{style:{alignSelf:`flex-end`,fontSize:`10px`,color:g.counterColor===`danger`?`var(--color-danger)`:`var(--color-text-soft)`,marginRight:`8px`,fontWeight:500},children:[g.length,` / 4000`]})]}),(0,w.jsx)(Xd,{hasAttachments:r,disabled:i||!a||g.isOverLimit||!o,canSendMessage:o,onSend:m})]})},$d=({value:e,isSending:t,title:n,replyTo:i,editingMessage:a=null,onChange:o,onSubmit:s,onClearReply:c,onClearEditing:l,onSendMedia:u,onTyping:d,canSendMessage:f})=>{let{hasPermission:p}=ii(),m=f??p(T.chatSendMessage),h=(0,r.useRef)(null),g=Hd(),_=g.items.length>0,v=_||e.trim().length>0,{openPicker:y,send:b,handleKeyDown:x,handlePaste:S,onFileChange:ee}=Ud(g,e,h,{onSubmit:s,onSendMedia:u,canSendMessage:m});return(0,w.jsxs)(w.Fragment,{children:[a!==null&&l!==void 0&&(0,w.jsx)(Zd,{editingText:a.text,onClear:l}),i!==null&&(0,w.jsx)(qd,{replyTo:i,onClear:c}),_&&(0,w.jsx)(Jd,{attachments:g.items,onRemove:g.remove,onAddMore:y}),(0,w.jsx)(Qd,{value:e,title:n,hasAttachments:_,isSending:t,canSend:v,canSendMessage:m,fileRef:h,onChange:o,onTyping:d,onKeyDown:x,onPaste:S,onAttach:y,onFileChange:ee,onSend:b})]})},ef=({conversation:e,conversationId:t,text:n,replyTo:r,editingMessage:i=null,isSending:a,onChange:o,onSubmit:s,onClearReply:c,onClearEditing:l,onSendMedia:u,onTyping:d})=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(Rd,{conversationId:t}),(0,w.jsx)($d,{value:n,isSending:a,title:e.title,replyTo:r,editingMessage:i,onChange:o,onSubmit:s,onClearReply:c,onClearEditing:l,onSendMedia:u,onTyping:d})]}),tf=(e,t,n,r)=>(e[t]?.[n]??0)>=r,nf=(e,t,n)=>tf(t,e,`read`,n)?`read`:tf(t,e,`delivered`,n)?`delivered`:`sent`,rf=(e,t,n)=>e.length===0?`sent`:e.every(e=>tf(t,e,`read`,n))?`read`:e.every(e=>tf(t,e,`delivered`,n))?`delivered`:`sent`,af=(e,t)=>t.peerUserId===null?rf(t.otherMemberIds,t.receipts,e.sequence):nf(t.peerUserId,t.receipts,e.sequence),of=(e,t)=>{if(t.length===0)return e;let n=new Map;for(let r of[...t,...e])n.set(r.id,r);return[...n.values()].sort((e,t)=>e.sequence-t.sequence)},sf=e=>{let t=e[0];return t===void 0?null:e.reduce((e,t)=>Math.min(e,t.sequence),t.sequence)},cf=e=>{let{getMessagesBefore:t}=D(),i=n.F(),[a,o]=(0,r.useState)(!0),[s,c]=(0,r.useState)(!1),l=(0,r.useRef)(!1);return(0,r.useEffect)(()=>{o(!0),c(!1),l.current=!1},[e]),{loadOlder:(0,r.useCallback)(()=>{if(e===null||l.current||!a)return;let r=Ni(e),s=sf(i.getQueryData(r)??[]);s!==null&&(l.current=!0,c(!0),n.Wt(t.execute(e,s,50)).then(e=>{i.setQueryData(r,t=>of(t??[],e)),e.length<50&&o(!1)}).catch(()=>{}).finally(()=>{l.current=!1,c(!1)}))},[e,t,a,i]),hasMore:a,isLoadingOlder:s}},lf=80,uf=60,df={tailKey:``,headKey:``,count:0,lastFromViewer:!1},ff=e=>{let t=e.at(-1);return{tailKey:t?.id??``,headKey:e[0]?.id??``,count:e.length,lastFromViewer:t?.fromViewer??!1}},pf=(e,t)=>{e!==null&&e.scrollTo({top:e.scrollHeight,behavior:t?`smooth`:`auto`})},mf=(e,t,n)=>{let i=(0,r.useRef)(null),[a,o]=(0,r.useState)(!0),[s,c]=(0,r.useState)(!1),l=(0,r.useRef)(df),u=(0,r.useRef)(!0),d=(0,r.useRef)(null),f=(0,r.useRef)(n);f.current=n;let p=(0,r.useCallback)(e=>{pf(i.current,e),c(!1)},[]),m=(0,r.useCallback)(()=>{let e=i.current;if(e===null)return;let t=e.scrollHeight-e.scrollTop-e.clientHeight<lf;u.current=t,o(t),t&&c(!1),e.scrollTop<uf&&(d.current=e.scrollHeight,f.current())},[]);return(0,r.useLayoutEffect)(()=>{l.current=df,u.current=!0,d.current=null,o(!0),c(!1)},[e]),(0,r.useLayoutEffect)(()=>{let e=ff(t),n=l.current;l.current=e;let r=i.current;if(e.tailKey===``||r===null)return;if(n.tailKey===``){pf(r,!1);return}let a=e.count>n.count,o=a&&e.tailKey!==n.tailKey;a&&e.headKey!==n.headKey&&d.current!==null&&(r.scrollTop+=r.scrollHeight-d.current,d.current=null),o&&(u.current||e.lastFromViewer)?(pf(r,!0),c(!1)):o&&c(!0)},[t]),(0,r.useEffect)(()=>{m()},[m]),{scrollRef:i,isAtBottom:a,hasNewBelow:s,scrollToBottom:p,onScroll:m}},hf={card:`_card_1bdwl_1`,header:`_header_1bdwl_29`,body:`_body_1bdwl_43`,authorRow:`_authorRow_1bdwl_47`,avatar:`_avatar_1bdwl_54`,authorInfo:`_authorInfo_1bdwl_68`,authorName:`_authorName_1bdwl_73`,category:`_category_1bdwl_80`,catDot:`_catDot_1bdwl_90`,title:`_title_1bdwl_97`,snippet:`_snippet_1bdwl_105`,footer:`_footer_1bdwl_116`},gf=/\/feed\/posts\/([a-zA-Z0-9-]+)$/,_f=({title:e,body:n,authorName:r,authorInitials:i,authorColor:a,categoryLabel:o,categoryColor:s,link:c})=>{let l=t.gt();return(0,w.jsxs)(`button`,{type:`button`,onClick:e=>{e.preventDefault();let t=gf.exec(c);if(t?.[1]!==void 0){let e=t[1];l(`/comms/feed?postId=${e}`)}else (c.startsWith(`/`)||c.toLowerCase().startsWith(`http://`)||c.toLowerCase().startsWith(`https://`))&&window.open(c,`_blank`,`noopener,noreferrer`)},className:hf.card,style:{textAlign:`left`},children:[(0,w.jsxs)(`div`,{className:hf.header,children:[(0,w.jsx)(Oe,{size:10}),`Shared from News Feed`]}),(0,w.jsxs)(`div`,{className:hf.body,children:[(0,w.jsxs)(`div`,{className:hf.authorRow,children:[(0,w.jsx)(`span`,{className:hf.avatar,style:t.it({"--avatar-color":a}),children:i}),(0,w.jsxs)(`div`,{className:hf.authorInfo,children:[(0,w.jsx)(`div`,{className:hf.authorName,children:r}),o!==null&&s!==null&&(0,w.jsxs)(`div`,{className:hf.category,style:t.it({"--cat-color":s}),children:[(0,w.jsx)(`span`,{className:hf.catDot}),o]})]})]}),(0,w.jsx)(`div`,{className:hf.title,children:e}),(0,w.jsx)(`div`,{className:hf.snippet,children:n}),(0,w.jsx)(`div`,{className:hf.footer,children:`Open in News Feed >`})]})]})},vf=e=>e.startsWith(`blob:`),yf=e=>e.type.length>0?URL.createObjectURL(e):URL.createObjectURL(new Blob([e],{type:`image/jpeg`})),bf=e=>{let{downloadChatMedia:t}=D(),[i,a]=(0,r.useState)(!1),o=e!==null&&vf(e),s=e!==null&&!o?e:null,c=n.M({queryKey:[`chat-media`,s],queryFn:()=>n.Wt(t.execute(s??``)),enabled:s!==null&&s.length>0,staleTime:1/0,gcTime:12e4,retry:1}),[l,u]=(0,r.useState)(null);(0,r.useEffect)(()=>{a(!1),u(null)},[e]),(0,r.useEffect)(()=>{let e=c.data;if(e===void 0)return;let t=yf(e);return u(t),()=>{URL.revokeObjectURL(t)}},[c.data]);let d=(0,r.useCallback)(()=>{a(!0)},[]);if(o)return{src:i?null:e,isLoading:!1,isError:i,onImageError:d};let f=c.isPending||c.isFetching;return{src:i?null:l,isLoading:f,isError:c.isError||i,onImageError:d}},xf=t.u(e=>({open:!1,urls:[],index:0,openViewer:(t,n)=>{t.length!==0&&e({open:!0,urls:t,index:Math.max(0,Math.min(n,t.length-1))})},close:()=>{e({open:!1})},next:()=>{e(e=>({index:Math.min(e.index+1,e.urls.length-1)}))},prev:()=>{e(e=>({index:Math.max(e.index-1,0)}))}})),Sf=({mediaUrl:e,album:n,index:r=0})=>{let{src:i,isLoading:a,isError:o,onImageError:s}=bf(e),c=xf(e=>e.openViewer);return o?(0,w.jsxs)(`div`,{className:E.msgMediaFallback,children:[(0,w.jsx)(he,{size:18}),(0,w.jsx)(`span`,{children:`Image unavailable`})]}):i===null||a?(0,w.jsx)(`div`,{className:E.msgMediaLoading,children:(0,w.jsx)(t.nt,{size:`sm`})}):(0,w.jsx)(`button`,{type:`button`,className:t.at(E.mediaButton,n!==void 0&&E.mediaButtonFill),"aria-label":`Open image preview`,onClick:()=>{c(n??[e],r)},children:(0,w.jsx)(`img`,{className:E.msgMedia,src:i,alt:``,onError:s})})},Cf=e=>(e??``).toLowerCase().split(`.`).pop()??``,wf=[`png`,`jpg`,`jpeg`,`gif`,`webp`,`bmp`,`svg`,`avif`,`heic`],Tf=(e,t)=>e!==null&&e.length>0?e.startsWith(`image/`):wf.includes(Cf(t)),Ef={pdf:`pdf`,zip:`archive`,rar:`archive`,"7z":`archive`,gz:`archive`,tar:`archive`,doc:`document`,docx:`document`,txt:`document`,rtf:`document`,odt:`document`,xls:`spreadsheet`,xlsx:`spreadsheet`,csv:`spreadsheet`,ods:`spreadsheet`,ppt:`presentation`,pptx:`presentation`,odp:`presentation`,mp3:`audio`,wav:`audio`,ogg:`audio`,m4a:`audio`,aac:`audio`,mp4:`video`,mov:`video`,webm:`video`,mkv:`video`,avi:`video`},Df=e=>{if(e===`application/pdf`)return`pdf`;if(e.startsWith(`audio/`))return`audio`;if(e.startsWith(`video/`))return`video`;if(e.startsWith(`text/`))return`document`;if(/zip|compressed|tar/.test(e))return`archive`;if(/spreadsheet|excel/.test(e))return`spreadsheet`;if(/presentation|powerpoint/.test(e))return`presentation`;if(e.includes(`word`))return`document`},Of=(e,t)=>Tf(e,t)?`image`:Df(e??``)??Ef[Cf(t)]??`generic`,kf={image:`Image`,pdf:`PDF Document`,archive:`Archive`,document:`Document`,spreadsheet:`Spreadsheet`,presentation:`Presentation`,audio:`Audio`,video:`Video`,generic:`File`},Af=e=>kf[e],jf={image:se,pdf:ue,archive:ae,document:ue,spreadsheet:le,presentation:Re,audio:oe,video:ce,generic:de},Mf=(e,t)=>{let n=URL.createObjectURL(e),r=document.createElement(`a`);r.href=n,r.download=t.length>0?t:`download`,document.body.appendChild(r),r.click(),r.remove(),URL.revokeObjectURL(n)},Nf=({mediaUrl:e,contentType:n,fileName:i,fromViewer:a})=>{let{downloadChatMedia:o}=D(),[s,c]=(0,r.useState)(!1),l=Of(n,i),u=jf[l],d=i!==null&&i.length>0?i:`Attachment`,f=(0,r.useCallback)(()=>{c(!0),o.execute(e).then(e=>{c(!1),e.ok?Mf(e.value,d):t.l.error(`Could not download the file.`)})},[o,e,d]);return(0,w.jsxs)(`button`,{type:`button`,className:t.at(E.fileCard,a?E.fileCardMe:E.fileCardThem),onClick:f,disabled:s,"aria-label":`Download ${d}`,children:[(0,w.jsx)(`span`,{className:E.fileCardIcon,children:(0,w.jsx)(u,{size:22})}),(0,w.jsxs)(`span`,{className:E.fileCardInfo,children:[(0,w.jsx)(`span`,{className:E.fileCardName,children:d}),(0,w.jsx)(`span`,{className:E.fileCardMetaLabel,children:Af(l)})]}),(0,w.jsx)(`span`,{className:E.fileCardDownload,children:s?(0,w.jsx)(t.nt,{size:`sm`}):(0,w.jsx)(re,{size:16})})]})},Pf=({tick:e})=>e===`read`?(0,w.jsx)(`span`,{className:t.at(E.tick,E.tickRead),"aria-label":`Read`,children:(0,w.jsx)(y,{size:13})}):e===`delivered`?(0,w.jsx)(`span`,{className:E.tick,"aria-label":`Delivered`,children:(0,w.jsx)(y,{size:13})}):(0,w.jsx)(`span`,{className:E.tick,"aria-label":`Sent`,children:(0,w.jsx)(b,{size:13})}),Ff=({message:e,pending:n,tick:r,onRetry:i})=>n===`sending`?(0,w.jsx)(`span`,{className:E.tick,"aria-label":`Sending`,children:(0,w.jsx)(t.ot,{size:13})}):n===`failed`?(0,w.jsxs)(`span`,{className:E.sendFailed,children:[(0,w.jsx)(`span`,{className:E.sendFailedText,children:`Not delivered`}),(0,w.jsx)(`button`,{type:`button`,className:E.retryBtn,onClick:()=>{e.clientMessageId!==null&&i(e.clientMessageId,e.text)},children:`Retry`})]}):r===null?null:(0,w.jsx)(Pf,{tick:r}),If=({initial:e,onSave:t})=>{let[n,i]=(0,r.useState)(e);return(0,w.jsxs)(`span`,{className:E.msgActions,children:[(0,w.jsx)(`input`,{className:E.composerInput,value:n,onChange:e=>{i(e.target.value)}}),(0,w.jsx)(`button`,{type:`button`,className:E.msgActionBtn,onClick:()=>{n.trim().length>0&&t(n.trim())},children:`Save`})]})},Lf=({message:e,fromViewer:t,onReply:n,onEdit:i,onDelete:a,resolvedReplyTo:o=null})=>{let[s,c]=(0,r.useState)(!1),l=Ou(e,o);return Pu(e)?(0,w.jsx)(`span`,{className:E.msgActions}):t?s?(0,w.jsx)(If,{initial:e.text,onSave:t=>{i(e.id,t),c(!1)}}):(0,w.jsxs)(`span`,{className:E.msgActions,children:[(0,w.jsx)(`button`,{type:`button`,className:E.msgActionBtn,onClick:()=>{n(l)},children:`Reply`}),e.canEdit(Date.now())&&(0,w.jsx)(`button`,{type:`button`,className:E.msgActionBtn,onClick:()=>{c(!0)},children:`Edit`}),(0,w.jsx)(`button`,{type:`button`,className:E.msgActionBtn,onClick:()=>{a(e.id)},children:`Delete`})]}):(0,w.jsx)(`span`,{className:E.msgActions,children:(0,w.jsx)(`button`,{type:`button`,className:E.msgActionBtn,onClick:()=>{n(l)},children:`Reply`})})},Rf=`comms:chat:jump-to-message`,zf=e=>{if(typeof window>`u`||e.length===0)return;let t=new CustomEvent(Rf,{detail:{messageId:e},bubbles:!0});window.dispatchEvent(t)},Bf=(e,t,n=`msg-highlight-flash`)=>{let r=e.closest(t)??e.parentElement;if(r!==null){let t=r.getBoundingClientRect(),n=e.getBoundingClientRect(),i=r.scrollTop+(n.top-t.top)-t.height/2+n.height/2;typeof r.scrollTo==`function`&&r.scrollTo({top:Math.max(0,i),behavior:`smooth`})}e.classList.remove(n),e.offsetWidth,e.classList.add(n),window.setTimeout(()=>{e.classList.remove(n)},1600)},Vf=({replyTo:e})=>{let t=Eu(e.text);if(t!==null)return(0,w.jsx)(`div`,{style:{marginBottom:6,display:`block`,width:`100%`},children:(0,w.jsx)(_f,{...t.card})});let n=e.text.trim().length>0;return(0,w.jsxs)(`span`,{role:`button`,tabIndex:0,className:E.replyPreview,onClick:t=>{t.stopPropagation(),zf(e.messageId)},onKeyDown:t=>{(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),zf(e.messageId))},children:[e.authorName.length>0&&(0,w.jsx)(`span`,{className:E.replyPreviewAuthor,children:e.authorName}),(0,w.jsx)(`span`,{className:E.replyPreviewText,children:n?Du(e.text):`Message`})]})},Hf=`This message was deleted`,Uf=({message:e})=>{let t=e.mediaUrl;return t===null||t.length===0?null:Tf(e.mediaContentType,e.mediaFileName)?(0,w.jsx)(Sf,{mediaUrl:t}):(0,w.jsx)(Nf,{mediaUrl:t,contentType:e.mediaContentType,fileName:e.mediaFileName,fromViewer:e.fromViewer})},Wf=({message:e,fromViewer:t,deletedForEveryone:r,pending:i,tick:a,onRetry:o})=>{let s=n.m();return(0,w.jsxs)(`span`,{className:E.msgMeta,children:[(0,w.jsx)(`span`,{className:E.msgTime,children:Kr(e.sentAt,s.display)||e.time}),!r&&e.isEdited&&(0,w.jsx)(`span`,{className:E.editedLabel,children:`edited`}),t&&(e.kind===`text`||e.kind===`media`)&&(0,w.jsx)(Ff,{message:e,pending:i,tick:a,onRetry:o})]})},Gf=/(https?:\/\/[^\s]+)/g,Kf=({text:e})=>e?(0,w.jsx)(w.Fragment,{children:e.split(Gf).map((e,t)=>e.match(Gf)?(0,w.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:E.msgLink,children:e},t):(0,w.jsx)(r.Fragment,{children:e},t))}):(0,w.jsx)(w.Fragment,{children:e}),qf=({sharedComment:e,sharedCardProps:n})=>(0,w.jsxs)(w.Fragment,{children:[e.length>0&&(0,w.jsx)(`span`,{className:t.at(E.msgText,E.msgTextWithCard),children:(0,w.jsx)(Kf,{text:e})}),(0,w.jsx)(_f,{...n})]}),Jf=({messageText:e,deletedForEveryone:n})=>(0,w.jsx)(`span`,{className:t.at(E.msgText,n&&E.msgTextDeleted),children:n?Hf:(0,w.jsx)(Kf,{text:e})}),Yf=({message:e,authorName:n,showAuthor:r,replyTo:i,fromViewer:a,deletedForEveryone:o,pending:s,tick:c,onRetry:l,isSelected:u,onSelect:d})=>{let f=o?null:Eu(e.text);return(0,w.jsxs)(`div`,{className:t.at(E.bubble,a?E.bubbleMe:E.bubbleThem,u&&E.bubbleSelected),onClick:()=>{d!==void 0&&d(e)},children:[r&&(0,w.jsx)(`span`,{className:E.msgAuthor,children:n}),!o&&i!==null&&(0,w.jsx)(Vf,{replyTo:i}),!o&&(0,w.jsx)(Uf,{message:e}),f===null?(0,w.jsx)(Jf,{messageText:e.text,deletedForEveryone:o}):(0,w.jsx)(qf,{sharedComment:f.comment,sharedCardProps:f.card}),(0,w.jsx)(Wf,{message:e,fromViewer:a,deletedForEveryone:o,pending:s,tick:c,onRetry:l})]})},Xf=({message:e,identity:n,replyTo:r,isSelected:i,onSelect:a,showAvatar:o,showAuthor:s,tick:c,pending:l,onRetry:u,onReply:d,onEdit:f,onDelete:p,quickReact:m,reactions:h})=>{let{fromViewer:g,deletedForEveryone:_}=e,v=!Pu(e)&&!_,y=h!==null;return(0,w.jsxs)(w.Fragment,{children:[!g&&(o?(0,w.jsx)(`span`,{className:E.msgAvatar,style:t.it({"--avatar-color":n.color}),children:n.initials}):(0,w.jsx)(`span`,{className:E.msgAvatarSpacer,"aria-hidden":`true`})),(0,w.jsx)(`div`,{className:t.at(E.msgCol,y&&E.msgColWithReactions),children:(0,w.jsxs)(`div`,{className:E.msgBubbleWrap,children:[(0,w.jsx)(Yf,{message:e,authorName:n.name,showAuthor:s,replyTo:r,fromViewer:g,deletedForEveryone:_,pending:l,tick:c,onRetry:u,isSelected:i,onSelect:a}),y&&h,v&&m,v&&(0,w.jsx)(Lf,{message:e,fromViewer:g,onReply:d,onEdit:f,onDelete:p,resolvedReplyTo:r})]})})]})},Zf=e=>e.trim().toLowerCase(),Qf=(e,t)=>Zf(e)===Zf(t),$f=(e,t)=>{if(e.fromViewer)return{name:e.authorName,initials:e.authorInitials,color:e.authorColor};let n=t.members.find(t=>Qf(t.id,e.senderId));return n===void 0?t.kind===`dm`&&t.peerUserId!==null&&Qf(t.peerUserId,e.senderId)?{name:t.title,initials:t.initials,color:t.color}:{name:e.authorName,initials:e.authorInitials,color:e.authorColor}:{name:n.name,initials:n.initials,color:n.color}},ep=({align:e,onPick:n})=>{let[i,a]=(0,r.useState)(!1);return(0,w.jsxs)(`div`,{className:E.reactWrap,children:[(0,w.jsx)(`button`,{type:`button`,className:E.reactBtn,"aria-label":`Add reaction`,onClick:()=>{a(e=>!e)},children:(0,w.jsx)(Ze,{size:14})}),(0,w.jsx)(t.T,{children:i&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`button`,{type:`button`,className:E.emojiBackdrop,"aria-label":`Close reaction picker`,onClick:()=>{a(!1)}}),(0,w.jsx)(t.C.div,{className:t.at(E.reactPop,e===`right`?E.reactPopRight:E.reactPopLeft),variants:t.S,initial:`hidden`,animate:`visible`,exit:`exit`,children:Wd.map(e=>(0,w.jsx)(`button`,{type:`button`,className:E.reactPopBtn,onClick:()=>{n(e),a(!1)},children:e},e))})]})})]})},tp=({message:e,onReact:n,fromViewer:r})=>{let i=e.reactions.reduce((e,t)=>e+t.count,0);if(i===0)return null;let a=e.reactions.find(e=>e.reacted);return(0,w.jsxs)(`button`,{type:`button`,className:t.at(E.reactionPill,r?E.reactionsMe:E.reactionsThem,a!==void 0&&E.reactionPillActive),onClick:()=>{if(a!==void 0)n(e.id,a.emoji);else if(e.reactions.length>0){let t=e.reactions[0]?.emoji;t!==void 0&&n(e.id,t)}},"aria-label":`Reactions`,children:[(0,w.jsx)(`span`,{className:E.reactionEmojis,children:e.reactions.map(e=>e.emoji).join(``)}),i>1&&(0,w.jsx)(`span`,{className:E.reactionCount,children:i})]})},np=({text:e})=>(0,w.jsx)(t.C.div,{className:E.systemRow,variants:t.x,initial:`hidden`,animate:`visible`,children:(0,w.jsx)(`span`,{className:E.systemPill,children:e})}),rp=(e,t,n)=>!e.deletedForEveryone&&e.reactions.length>0?(0,w.jsx)(tp,{message:e,onReact:n,fromViewer:t}):null,ip=({conversation:e,message:n,layoutStatic:r=!1,firstOfGroup:i=!0,lastOfGroup:a=!0,replyTo:o,isSelected:s,onSelect:c,onReact:l,tick:u,pending:d,onRetry:f,onReply:p,onEdit:m,onDelete:h})=>{if(n.isSystem)return(0,w.jsx)(np,{text:n.text});let{fromViewer:g}=n,_=$f(n,e),v=t.at(E.msgRow,g&&E.msgRowMe,i&&E.msgRowGroupStart),y=(0,w.jsx)(Xf,{message:n,identity:_,replyTo:o??n.replyTo,isSelected:s,onSelect:c,showAvatar:a,showAuthor:i&&e.isGroup,tick:u,pending:d,onRetry:f,onReply:p,onEdit:m,onDelete:h,quickReact:(0,w.jsx)(ep,{align:g?`right`:`left`,onPick:e=>{l(n.id,e)}}),reactions:rp(n,g,l)});return r?(0,w.jsx)(`div`,{id:`msg-${n.id}`,className:v,children:y}):(0,w.jsx)(t.C.div,{id:`msg-${n.id}`,className:v,variants:t.x,initial:`hidden`,animate:`visible`,whileHover:{y:-1,scale:1.005},transition:{type:`spring`,stiffness:500,damping:30},children:y})},ap=()=>void 0,op=e=>e.find(e=>e.text.trim().length>0)?.text??``,sp=({fromViewer:e,lastOfGroup:n,identity:r})=>e?null:n?(0,w.jsx)(`span`,{className:E.msgAvatar,style:t.it({"--avatar-color":r.color}),children:r.initials}):(0,w.jsx)(`span`,{className:E.msgAvatarSpacer,"aria-hidden":`true`}),cp=({message:e,onReact:t,onReply:n,onDelete:r})=>(0,w.jsxs)(`div`,{className:E.albumCellActions,children:[(0,w.jsx)(ep,{align:e.fromViewer?`right`:`left`,onPick:n=>{t(e.id,n)}}),(0,w.jsx)(`button`,{type:`button`,className:E.albumActionBtn,"aria-label":`Reply`,onClick:()=>{n(Ou(e))},children:(0,w.jsx)(Ue,{size:13})}),e.fromViewer&&(0,w.jsx)(`button`,{type:`button`,className:E.albumActionBtn,"aria-label":`Delete`,onClick:()=>{r(e.id)},children:(0,w.jsx)(at,{size:13})})]}),lp=e=>{let{message:t,album:n,index:r}=e,i=!Pu(t)&&!t.deletedForEveryone,a=!t.deletedForEveryone&&t.reactions.length>0;return(0,w.jsxs)(`div`,{id:`msg-${t.id}`,className:E.albumCell,children:[(0,w.jsx)(`div`,{className:E.albumCellMedia,children:t.mediaUrl!==null&&t.mediaUrl.length>0&&(0,w.jsx)(Sf,{mediaUrl:t.mediaUrl,album:n,index:r})}),i&&(0,w.jsx)(cp,{...e}),a&&(0,w.jsx)(`div`,{className:E.albumCellReactions,children:(0,w.jsx)(tp,{message:t,onReact:e.onReact,fromViewer:t.fromViewer})})]})},up=({last:e,fromViewer:t,tick:r,pending:i})=>{let a=n.m();return(0,w.jsxs)(`span`,{className:E.msgMeta,children:[(0,w.jsx)(`span`,{className:E.msgTime,children:Kr(e.sentAt,a.display)||e.time}),t&&(0,w.jsx)(Ff,{message:e,pending:i,tick:r,onRetry:ap})]})},dp=({conversation:e,messages:n,firstOfGroup:r,lastOfGroup:i,tick:a,pending:o,onReact:s,onReply:c,onDelete:l})=>{let u=n.at(0),d=n.at(-1);if(u===void 0||d===void 0)return(0,w.jsx)(w.Fragment,{});let{fromViewer:f}=u,p=$f(u,e),m=op(n),h=r&&e.isGroup,g=n.map(e=>e.mediaUrl??``);return(0,w.jsxs)(`div`,{id:`msg-${d.id}`,className:t.at(E.msgRow,f&&E.msgRowMe,r&&E.msgRowGroupStart),children:[(0,w.jsx)(sp,{fromViewer:f,lastOfGroup:i,identity:p}),(0,w.jsx)(`div`,{className:E.msgCol,children:(0,w.jsx)(`div`,{className:E.msgBubbleWrap,children:(0,w.jsxs)(`div`,{className:t.at(E.bubble,f?E.bubbleMe:E.bubbleThem),children:[h&&(0,w.jsx)(`span`,{className:E.msgAuthor,children:p.name}),(0,w.jsx)(`div`,{className:E.albumGrid,children:n.map((e,t)=>(0,w.jsx)(lp,{message:e,album:g,index:t,onReact:s,onReply:c,onDelete:l},e.id))}),m.length>0&&(0,w.jsx)(`span`,{className:E.msgText,children:m}),(0,w.jsx)(up,{last:d,fromViewer:f,tick:a,pending:o})]})})})]})},fp=(e,t)=>{if(e.length===0)return null;let r=Ur(e);if(Number.isNaN(r.getTime()))return null;if(t&&t.length>0){let e=n.y(r,t),i=String(e.month).padStart(2,`0`),a=String(e.day).padStart(2,`0`);return`${String(e.year)}-${i}-${a}`}let i=String(r.getMonth()+1).padStart(2,`0`),a=String(r.getDate()).padStart(2,`0`);return`${String(r.getFullYear())}-${i}-${a}`},pp=(e,t)=>{let[n,r,i]=e.split(`-`);return new Date(Date.UTC(Number(n),Number(r)-1,Number(i))).toLocaleDateString(`en-US`,{weekday:`short`,day:`numeric`,month:`short`,year:`numeric`,timeZone:`UTC`})},mp=(e,t)=>!e.isSystem&&!t.isSystem&&e.senderId===t.senderId,hp=(e,t)=>{let n=[],r=null;return e.forEach((i,a)=>{let o=fp(i.sentAt,t),s=o!==null&&o!==r;s&&n.push({kind:`date`,key:`date:${o}`,label:pp(o,t)}),r=o??r;let c=e[a-1],l=e[a+1],u=s||c===void 0||!mp(c,i),d=l===void 0||!mp(i,l)||fp(l.sentAt,t)!==o;n.push({kind:`message`,key:i.id,row:{message:i,firstOfGroup:u,lastOfGroup:d}})}),n},gp=2,_p=e=>e.kind===`message`&&e.row.message.kind===`media`&&!e.row.message.isSystem&&!e.row.message.deletedForEveryone&&(e.row.message.mediaUrl??``).length>0&&Tf(e.row.message.mediaContentType,e.row.message.mediaFileName),vp=e=>e.kind===`message`&&e.row.message.kind===`media`&&!e.row.message.isSystem&&e.row.message.deletedForEveryone,yp=e=>_p(e)||vp(e),bp=(e,t,n)=>({kind:`album`,key:`album:${(e[0]??t).row.message.id}`,messages:e.map(e=>e.row.message),firstOfGroup:t.row.firstOfGroup,lastOfGroup:n.row.lastOfGroup}),xp=(e,t,n)=>({kind:`message`,key:e.key,row:{message:e.row.message,firstOfGroup:t.row.firstOfGroup,lastOfGroup:n.row.lastOfGroup}}),Sp=(e,t)=>{let n=e[0],r=e[e.length-1];if(n===void 0||r===void 0)return;let i=e.filter(_p);if(i.length>=gp){t.push(bp(i,n,r));return}if(i.length===1&&i[0]!==void 0){t.push(xp(i[0],n,r));return}t.push(xp(n,n,r))},Cp=e=>{let t=[],n=[];for(let r of e){if(yp(r)){let e=n.at(-1);e!==void 0&&e.row.message.senderId!==r.row.message.senderId&&(Sp(n,t),n=[]),n.push(r);continue}Sp(n,t),n=[],t.push(r)}return Sp(n,t),t},wp=(e,t)=>!(e.fromViewer&&(e.kind===`text`||e.kind===`media`))||e.clientMessageId===null?null:t[e.clientMessageId]??null,Tp=({label:e})=>(0,w.jsx)(`div`,{className:E.dateSep,children:(0,w.jsx)(`span`,{className:E.dateSepPill,children:e})}),Ep=({conversation:e,messages:t,pending:i,selectedMessageId:a,onSelectMessage:o,onReact:s,onRetry:c,onReply:l,onEdit:u,onDelete:d,tickFor:f})=>{let p=n.m(),m=(0,r.useMemo)(()=>new Map(t.map(e=>[e.id,e])),[t]);return(0,w.jsx)(w.Fragment,{children:Cp(hp(t,p.display)).map(t=>{if(t.kind===`date`)return(0,w.jsx)(Tp,{label:t.label},t.key);if(t.kind===`album`){let n=t.messages.at(-1);return(0,w.jsx)(dp,{conversation:e,messages:t.messages,firstOfGroup:t.firstOfGroup,lastOfGroup:t.lastOfGroup,tick:n===void 0?null:f(n),pending:n===void 0?null:wp(n,i),onReact:s,onReply:l,onDelete:d},t.key)}return(0,w.jsx)(ip,{layoutStatic:!0,firstOfGroup:t.row.firstOfGroup,lastOfGroup:t.row.lastOfGroup,conversation:e,message:t.row.message,isSelected:a===t.row.message.id,onSelect:o,replyTo:Au(t.row.message.replyTo,m),onReact:s,pending:wp(t.row.message,i),tick:f(t.row.message),onRetry:c,onReply:l,onEdit:u,onDelete:d},t.key)})})},Dp={id:`u-shamim`,name:`Shamim Rahman`,initials:`SR`,color:`#e9445a`},Op=`t-uapp`,kp={id:`u-andreea`,name:`Andreea Cinpoi`,initials:`AN`,color:`#7c3aed`,role:`Sales Manager`},Ap={id:`u-laura`,name:`Laura Tomova`,initials:`LA`,color:`#3a7bd5`,role:`Compliance Officer`},jp={id:`s-mahmud`,name:`Mahmud Hasan`,initials:`MH`,color:`#16a34a`,role:`Student`},Mp={id:`u-mihadul`,name:`Mihadul Islam`,initials:`MI`,color:`#65a30d`,role:`Admission Officer`},Np={id:`u-nur`,name:`Nur Mohammad`,initials:`NM`,color:`#8b5cf6`,role:`Team Leader`},Pp={id:`u-md-shamim`,name:`Md Shamim`,initials:`MS`,color:`#0a6e6f`,role:`Sales Lead`};Dp.id,Dp.name,Dp.initials,Dp.color;var Fp=(e,t)=>({...t,admin:!1,lastSynced:null,tenantId:Op,categoryId:null,members:[],adminIds:[],data:{},peerUserId:e,memberReceipts:[]});Dp.id,jp.id,Dp.id,Mp.id,Np.id,jp.id,Dp.id,Pp.id,kp.id,Dp.id,kp.id,Ap.id,{...Fp(`u-tousif`,{id:`c-tousif`,kind:`dm`,title:`Tousif Sadman`,subtitle:`Consultant`,initials:`TS`,color:`#0e7c66`,online:!0,unread:2,pinned:!1,favourite:!0,archived:!1,lastMessage:`Sure, I'll send the documents`,lastTime:`5m`})},Dp.id,Fp(`u-raj`,{id:`c-raj`,kind:`dm`,title:`Raj Ahmed`,subtitle:`Global Admission Manager`,initials:`RA`,color:`#0ea5e9`,online:!0,unread:1,pinned:!1,favourite:!1,archived:!1,lastMessage:`The offer letter is ready`,lastTime:`1h`}),Fp(`u-andreea`,{id:`c-andreea`,kind:`dm`,title:`Andreea Cinpoi`,subtitle:`Sales Manager`,initials:`AN`,color:`#7c3aed`,online:!1,unread:0,pinned:!1,favourite:!1,archived:!1,lastMessage:`Thanks for the update`,lastTime:`2h`}),Fp(`u-jennifer`,{id:`c-jennifer`,kind:`dm`,title:`Jennifer Aboje`,subtitle:`Branch Manager`,initials:`JA`,color:`#fc7300`,online:!1,unread:0,pinned:!1,favourite:!1,archived:!1,lastMessage:`Let me check with the team`,lastTime:`Yesterday`}),Fp(`u-laura`,{id:`c-laura`,kind:`dm`,title:`Laura Tomova`,subtitle:`Compliance Officer`,initials:`LA`,color:`#3a7bd5`,online:!1,unread:0,pinned:!1,favourite:!1,archived:!0,lastMessage:`Archived — visa file closed`,lastTime:`3d`});var Ip=n.dt({id:n.pt(),name:n.pt(),initials:n.pt(),color:n.pt(),role:n.pt(),status:n.ut().optional(),statusUntilUtc:n.pt().nullish()}),Lp=n.dt({userId:n.pt(),deliveredUpto:n.ut(),readUpto:n.ut()}),Rp=n.dt({id:n.pt(),type:n.ut(),title:n.pt(),subtitle:n.pt(),initials:n.pt(),color:n.pt(),online:n.at(),status:n.ut().optional(),statusUntilUtc:n.pt().nullish(),unread:n.ut(),pinned:n.at(),favourite:n.at(),archived:n.at(),unreadCount:n.ut(),admin:n.at(),lastMessage:n.pt(),lastTime:n.pt(),lastMessageAt:n.pt().nullable().optional(),lastSyncedAt:n.pt().nullable(),categoryId:n.pt().nullable(),headerFields:n.ft(n.pt(),n.pt()).optional(),members:n.it(Ip),adminIds:n.it(n.pt()),peerUserId:n.pt().nullable().optional().default(null),memberReceipts:n.it(Lp).optional().default([])}).passthrough(),zp=n.dt({emoji:n.pt(),count:n.ut(),reacted:n.at()}),Bp=n.dt({id:n.pt(),conversationId:n.pt(),kind:n.ut(),senderId:n.pt(),authorName:n.pt(),authorInitials:n.pt(),authorColor:n.pt(),text:n.pt(),sentAt:n.pt(),time:n.pt(),sequence:n.ut(),clientMessageId:n.pt().nullable(),fromViewer:n.at(),reactions:n.it(zp),replyToMessageId:n.pt().nullable().optional().default(null),replyToAuthorName:n.pt().optional().default(``),replyToText:n.pt().optional().default(``),mediaUrl:n.pt().nullable().optional().default(null),mediaContentType:n.pt().nullable().optional().default(null),mediaFileName:n.pt().nullable().optional().default(null),editedAt:n.pt().nullable().optional().default(null),isEdited:n.at().optional().default(!1),deletedForEveryone:n.at().optional().default(!1)}),Vp=n.dt({id:n.pt(),name:n.pt(),initials:n.pt(),color:n.pt()}),Hp=n.it(Rp),Up=n.it(Ip),Wp=n.dt({totalCount:n.ut(),items:Hp}),Gp=n.dt({unread:n.ut(),favourites:n.ut(),groups:n.ut(),archived:n.ut()}),Kp=n.dt({blobName:n.pt(),url:n.pt(),contentType:n.pt().optional().default(`application/octet-stream`),fileName:n.pt().nullable().optional().default(null)}),qp=n.it(Bp),Jp=6e4,Yp=60*Jp,Xp=24*Yp,Zp=(e,t)=>{let n=t.getTime()-e.getTime();return n<Jp?`just now`:n<Yp?`${String(Math.floor(n/Jp))}m`:n<Xp?`${String(Math.floor(n/Yp))}h`:`${String(Math.floor(n/Xp))}d`},Qp=e=>e===0?`dm`:`group`,$p=e=>e===1?`system`:e===2?`media`:`text`,em=e=>({id:e.id,name:e.name,initials:e.initials,color:e.color,role:e.role,status:Xs(e.status),statusUntilUtc:e.statusUntilUtc??null}),tm=e=>({id:e.id,name:e.name,initials:e.initials,color:e.color}),nm=e=>{if(e.startsWith(`__UAPP_SHARED_CARD__::`))try{let t=e.substring(22),n=JSON.parse(t).card?.title??``;return n.length>0?`Shared Post: ${n}`:`Shared Post`}catch{return`Shared Post`}return e},rm=(e,t)=>new Gr({id:e.id,kind:Qp(e.type),title:e.title,subtitle:e.subtitle,initials:e.initials,color:e.color,online:e.online,status:Xs(e.status),statusUntilUtc:e.statusUntilUtc??null,unread:e.unreadCount,pinned:e.pinned,favourite:e.favourite,archived:e.archived,admin:e.admin,lastMessage:nm(e.lastMessage),lastTime:e.lastTime,lastMessageAt:e.lastMessageAt??null,lastSynced:e.lastSyncedAt===null?null:Zp(new Date(e.lastSyncedAt),t),tenantId:``,categoryId:e.categoryId,members:e.members.map(em),adminIds:e.adminIds,data:e.headerFields??{},peerUserId:e.peerUserId,memberReceipts:e.memberReceipts.map(e=>({userId:e.userId,deliveredUpto:e.deliveredUpto,readUpto:e.readUpto}))}),im=e=>{let t=e.replyToMessageId!==null&&e.replyToMessageId.length>0?{messageId:e.replyToMessageId,authorName:e.replyToAuthorName,text:e.replyToText}:null;return new Wr({id:e.id,kind:$p(e.kind),authorName:e.authorName,authorInitials:e.authorInitials,authorColor:e.authorColor,text:e.text,time:e.time,sentAt:e.sentAt,fromViewer:e.fromViewer,reactions:e.reactions.map(e=>({emoji:e.emoji,count:e.count,reacted:e.reacted})),sequence:e.sequence,senderId:e.senderId,clientMessageId:e.clientMessageId,replyTo:t,mediaUrl:e.mediaUrl,mediaContentType:e.mediaContentType,mediaFileName:e.mediaFileName,isEdited:e.deletedForEveryone?!1:(e.editedAt??``).length>0||e.isEdited,deletedForEveryone:e.deletedForEveryone})},am=(e,t,r)=>(e.error(`Chat ${t} returned an unexpected shape`,r),n.Bt(new Pr(r))),om=e=>{if(e.length===0)return;let t=e[0];if(t&&typeof t==`object`&&`message`in t){let e=t.message;if(typeof e==`string`&&e.trim().length>0)return e}},sm=e=>{if(Array.isArray(e.validationErrors)){let t=om(e.validationErrors);if(t!==void 0)return t}if(typeof e.details==`string`&&e.details.trim().length>0&&!e.details.includes(`The following errors were detected`))return e.details;if(typeof e.message==`string`&&e.message.trim().length>0)return e.message},cm=e=>{if(!e||typeof e!=`object`||!(`body`in e))return;let t=e.body;if(!t||typeof t!=`object`)return;let n=t;return sm(`error`in n&&n.error&&typeof n.error==`object`?n.error:n)},M=(e,t)=>(e.error(`Chat request failed`,t),new Pr(t,cm(t))),lm=(e,t,r)=>{let i=qp.safeParse(r);return i.success?n.Ut(i.data.map(im)):am(e,t,i.error)},um=(e,t,r,i)=>{let a=Rp.safeParse(i);return a.success?n.Ut(rm(a.data,t.now())):am(e,r,a.error)},dm=`/api/app/chat-media/download?blobName=`,fm=e=>`${dm}${encodeURIComponent(decodeURIComponent(e))}`,pm=e=>{if(!e.startsWith(`http://`)&&!e.startsWith(`https://`))return e;try{let t=new URL(e);return`${t.pathname}${t.search}`}catch{return e}},mm=e=>{let t=/^\/api\/app\/chat-media\/download\?blobName=([^&]+)/.exec(e);if(t?.[1]!==void 0)return t[1];let n=/^\/api\/app\/chat-media\?blobName=([^&]+)/.exec(e);if(n?.[1]!==void 0)return n[1];let r=/^\/api\/app\/chat-media\/([^/?]+)/.exec(e)?.[1];if(r!==void 0&&r!==`upload`&&r!==`download`)return r},hm=e=>{let t=e.trim();if(t.length===0)return t;let n=pm(t),r=mm(n);return r===void 0?n.startsWith(`/`)?n:`/${n}`:fm(r)},gm={conversations:`/api/app/chat/conversations`,conversationCounts:`/api/app/chat/conversation-scope-counts`,listStaff:`/api/app/chat/list-staff`,groupMemberPool:`/api/app/chat/group-member-pool`,viewer:`/api/app/chat/viewer`,createGroup:`/api/app/chat/group`,uploadChatMedia:`/api/app/chat-media/upload`,subscribePush:`/api/app/web-push/subscribe`},_m={afterSequence:`afterSequence`,beforeSequence:`beforeSequence`,skipCount:`skipCount`,maxResultCount:`maxResultCount`,filter:`filter`,scope:`scope`,uptoSequence:`uptoSequence`,favourite:`favourite`,archived:`archived`,pinned:`pinned`},N=e=>encodeURIComponent(e),P={conversation:e=>`/api/app/chat/conversation/${N(e)}`,messages:e=>`/api/app/chat/messages/${N(e)}`,messagesBefore:e=>`/api/app/chat/messages-before/${N(e)}`,messagesSince:e=>`/api/app/chat/messages-since/${N(e)}`,sendMessage:e=>`/api/app/chat/send-message/${N(e)}`,sendMediaMessage:e=>`/api/app/chat/send-media-message/${N(e)}`,markDelivered:e=>`/api/app/chat/mark-delivered/${N(e)}`,markRead:e=>`/api/app/chat/mark-read/${N(e)}`,reactToMessage:e=>`/api/app/chat/react-to-message/${N(e)}`,saveMembers:e=>`/api/app/chat/save-members/${N(e)}`,leaveConversation:e=>`/api/app/chat/leave-conversation/${N(e)}`,setFavourite:e=>`/api/app/chat/set-favourite/${N(e)}`,setArchived:e=>`/api/app/chat/set-archived/${N(e)}`,setPinned:e=>`/api/app/chat/set-pinned/${N(e)}`,deleteConversation:e=>`/api/app/chat/conversation/${N(e)}`,refreshPortal:e=>`/api/app/chat/refresh-portal/${N(e)}`,startDirect:e=>`/api/app/chat/start-direct/${N(e)}`,editMessage:e=>`/api/app/chat/edit-message/${N(e)}`,deleteMessage:e=>`/api/app/chat/message/${N(e)}`,deleteMessageForMe:e=>`/api/app/chat/message-for-me/${N(e)}`},vm=async(e,t,r,i)=>{try{let a=new FormData;a.append(`file`,r,i);let o=await e.httpClient.post(gm.uploadChatMedia,a,{query:{conversationId:t}}),s=Kp.safeParse(o);return s.success?n.Ut({mediaId:s.data.blobName,url:s.data.url}):am(e.logger,`upload-media`,s.error)}catch(t){return n.Bt(M(e.logger,t))}},ym=async(e,t)=>{try{let r=await vm(e,t.conversationId,t.file,t.fileName);if(!r.ok)return r;let i={blobName:r.value.mediaId,clientMessageId:t.clientMessageId};t.file.type.length>0&&(i.contentType=t.file.type),t.fileName.length>0&&(i.fileName=t.fileName),t.caption!==void 0&&t.caption.trim().length>0&&(i.caption=t.caption.trim()),t.replyToMessageId!==void 0&&t.replyToMessageId!==null&&(i.replyToMessageId=t.replyToMessageId);let a=await e.httpClient.post(P.sendMediaMessage(t.conversationId),i),o=Bp.safeParse(a);return o.success?n.Ut(im(o.data)):am(e.logger,`send-media-message`,o.error)}catch(t){return n.Bt(M(e.logger,t))}},bm=async(e,t)=>{try{let r=hm(t),i=await e.httpClient.getBlob(r,{headers:{Accept:`image/*,*/*`}});return i.size===0?n.Bt(new Pr(`Chat media response was empty`)):n.Ut(i)}catch(t){return n.Bt(M(e.logger,t))}},xm=async(e,t,r,i)=>{try{let t=await e.httpClient.post(P.editMessage(r),{text:i}),a=Bp.safeParse(t);return a.success?n.Ut(im(a.data)):am(e.logger,`edit-message`,a.error)}catch(t){return n.Bt(M(e.logger,t))}},Sm=async(e,t,r)=>{try{return await e.httpClient.delete(P.deleteMessage(r)),n.Ut(void 0)}catch(t){return n.Bt(M(e.logger,t))}},Cm=async(e,t,r)=>{try{return await e.httpClient.delete(P.deleteMessageForMe(r)),n.Ut(void 0)}catch(t){return n.Bt(M(e.logger,t))}},wm=async(e,t)=>{try{return await e.httpClient.post(gm.subscribePush,{endpoint:t.endpoint,p256dh:t.p256dh,auth:t.auth}),n.Ut(void 0)}catch(t){return n.Bt(M(e.logger,t))}},Tm=async(e,t,r,i)=>{try{return await e.post(r,void 0,{query:i}),n.Ut(void 0)}catch(e){return n.Bt(M(t,e))}},Em=async e=>{try{return await e.httpClient.post(e.path,e.body,{query:e.query}),n.Ut(void 0)}catch(t){return n.Bt(M(e.logger,t))}},Dm=async(e,t,r)=>{try{return await e.delete(r),n.Ut(void 0)}catch(e){return n.Bt(M(t,e))}},Om=(e,t,n)=>Tm(e.httpClient,e.logger,P.markDelivered(t),{[_m.uptoSequence]:n}),km=(e,t,n)=>Tm(e.httpClient,e.logger,P.markRead(t),{[_m.uptoSequence]:n}),Am=(e,t,n)=>Tm(e.httpClient,e.logger,P.setFavourite(t),{[_m.favourite]:n}),jm=(e,t,n)=>Tm(e.httpClient,e.logger,P.setArchived(t),{[_m.archived]:n}),Mm=(e,t,n)=>Tm(e.httpClient,e.logger,P.setPinned(t),{[_m.pinned]:n}),Nm=(e,t)=>Tm(e.httpClient,e.logger,P.leaveConversation(t),{}),Pm=(e,t)=>Tm(e.httpClient,e.logger,P.refreshPortal(t),{}),Fm=(e,t,n)=>Em({httpClient:e.httpClient,logger:e.logger,path:P.reactToMessage(t),query:{},body:{emoji:n}}),Im=(e,t,n,r)=>Em({httpClient:e.httpClient,logger:e.logger,path:P.saveMembers(t),query:{},body:{members:n.map(e=>({id:e.id,name:e.name,initials:e.initials,color:e.color,role:e.role})),adminIds:[...r]}}),Lm=(e,t)=>Dm(e.httpClient,e.logger,P.deleteConversation(t)),Rm={all:`All`,unread:`Unread`,favourites:`Favourites`,groups:`Groups`,archive:`Archive`},zm=async(e,t)=>{let r=t.filter?.trim();try{let i=await e.httpClient.get(gm.conversations,{query:{[_m.scope]:Rm[t.scope],[_m.filter]:r===void 0||r===``?void 0:r,[_m.skipCount]:t.skipCount,[_m.maxResultCount]:t.maxResultCount}}),a=Wp.safeParse(i);if(!a.success)return am(e.logger,`conversations`,a.error);let o=e.clock.now();return n.Ut({items:a.data.items.map(e=>rm(e,o)),totalCount:a.data.totalCount})}catch(t){return n.Bt(M(e.logger,t))}},Bm=async e=>{try{let t=await e.httpClient.get(gm.conversationCounts),r=Gp.safeParse(t);return r.success?n.Ut(r.data):am(e.logger,`conversation-counts`,r.error)}catch(t){return n.Bt(M(e.logger,t))}},Vm=async(e,t)=>{try{let n=await e.httpClient.get(P.conversation(t));return um(e.logger,e.clock,`conversation`,n)}catch(t){return n.Bt(M(e.logger,t))}},Hm=async(e,t)=>{let r=t?.trim();try{let t=await e.httpClient.post(gm.listStaff,void 0,{query:{[_m.filter]:r===void 0||r===``?void 0:r}}),i=Up.safeParse(t);return i.success?n.Ut(i.data.map(em)):am(e.logger,`list-staff`,i.error)}catch(t){return n.Bt(M(e.logger,t))}},Um=async(e,t)=>{let r=t?.trim();try{let t=await e.httpClient.get(gm.groupMemberPool,{query:{[_m.filter]:r===void 0||r===``?void 0:r}}),i=Up.safeParse(t);return i.success?n.Ut(i.data.map(em)):am(e.logger,`group-member-pool`,i.error)}catch(t){return n.Bt(M(e.logger,t))}},Wm=async e=>{try{let t=await e.httpClient.get(gm.viewer),r=Vp.safeParse(t);return r.success?n.Ut(tm(r.data)):am(e.logger,`viewer`,r.error)}catch(t){return n.Bt(M(e.logger,t))}},Gm=async(e,t,r)=>{try{let n=r===void 0?void 0:{query:{[_m.maxResultCount]:r}},i=await e.httpClient.get(P.messages(t),n);return lm(e.logger,`messages`,i)}catch(t){return n.Bt(M(e.logger,t))}},Km=async(e,t,r,i)=>{try{let n=await e.httpClient.get(P.messagesSince(t),{query:{[_m.afterSequence]:r,[_m.maxResultCount]:i}});return lm(e.logger,`messages-since`,n)}catch(t){return n.Bt(M(e.logger,t))}},qm=async(e,t,r,i)=>{try{let n=await e.httpClient.get(P.messagesBefore(t),{query:{[_m.beforeSequence]:r,[_m.maxResultCount]:i}});return lm(e.logger,`messages-before`,n)}catch(t){return n.Bt(M(e.logger,t))}},Jm=async(e,t)=>{try{let n=await e.httpClient.post(P.startDirect(t),void 0);return um(e.logger,e.clock,`start-direct`,n)}catch(t){return n.Bt(M(e.logger,t))}},Ym=async(e,t,r)=>{try{let n={title:t,memberIds:[...r]},i=await e.httpClient.post(gm.createGroup,n);return um(e.logger,e.clock,`group`,i)}catch(t){return n.Bt(M(e.logger,t))}},Xm=async e=>{let{deps:t,conversationId:r,text:i,clientMessageId:a,replyToMessageId:o}=e;try{let e={text:i,clientMessageId:a};o!=null&&(e.replyToMessageId=o);let s=await t.httpClient.post(P.sendMessage(r),e),c=Bp.safeParse(s);return c.success?n.Ut(im(c.data)):am(t.logger,`send-message`,c.error)}catch(e){return n.Bt(M(t.logger,e))}},Zm=class{httpClient;clock;logger;constructor(e){this.httpClient=e.httpClient,this.clock=e.clock,this.logger=e.logger.child(`http-chat-gateway`)}deps(){return{httpClient:this.httpClient,logger:this.logger}}queryDeps(){return{httpClient:this.httpClient,clock:this.clock,logger:this.logger}}listConversations(e){return zm(this.queryDeps(),e)}getConversationCounts(){return Bm(this.deps())}getConversation(e){return Vm(this.queryDeps(),e)}listStaff(e){return Hm(this.deps(),e)}getGroupMemberPool(e){return Um(this.deps(),e)}getViewer(){return Wm(this.deps())}getMessages(e,t){return Gm(this.deps(),e,t)}getMessagesSince(e,t,n){return Km(this.deps(),e,t,n)}getMessagesBefore(e,t,n){return qm(this.deps(),e,t,n)}startDirect(e){return Jm(this.queryDeps(),e)}createGroup(e,t){return Ym(this.queryDeps(),e,t)}sendMessage(e,t,n,r){return Xm({deps:this.deps(),conversationId:e,text:t,clientMessageId:n,replyToMessageId:r})}uploadChatMedia(e,t,n){return vm(this.deps(),e,t,n)}sendMediaMessage(e){return ym(this.deps(),e)}downloadMedia(e){return bm(this.deps(),e)}editMessage(e,t,n){return xm(this.deps(),e,t,n)}deleteMessage(e,t){return Sm(this.deps(),e,t)}deleteMessageForMe(e,t){return Cm(this.deps(),e,t)}subscribePush(e){return wm(this.deps(),e)}markDelivered(e,t){return Om(this.deps(),e,t)}markRead(e,t){return km(this.deps(),e,t)}setFavourite(e,t){return Am(this.deps(),e,t)}setArchived(e,t){return jm(this.deps(),e,t)}setPinned(e,t){return Mm(this.deps(),e,t)}deleteConversation(e){return Lm(this.deps(),e)}leaveConversation(e){return Nm(this.deps(),e)}refreshPortal(e){return Pm(this.deps(),e)}reactToMessage(e,t,n){return Fm(this.deps(),t,n)}saveMembers(e,t,n){return Im(this.deps(),e,t,n)}};function Qm(e){return new Promise((t,n)=>{e.oncomplete=e.onsuccess=()=>t(e.result),e.onabort=e.onerror=()=>n(e.error)})}function $m(e,t){let n,r=()=>{if(n)return n;let r=indexedDB.open(e);return r.onupgradeneeded=()=>r.result.createObjectStore(t),n=Qm(r),n.then(e=>{e.onclose=()=>n=void 0},()=>{}),n};return(e,n)=>r().then(r=>n(r.transaction(t,e).objectStore(t)))}var eh;function th(){return eh||=$m(`keyval-store`,`keyval`),eh}function nh(e,t=th()){return t(`readonly`,t=>Qm(t.get(e)))}function rh(e,t,n=th()){return n(`readwrite`,n=>(n.put(t,e),Qm(n.transaction)))}function ih(e,t=th()){return t(`readwrite`,t=>(t.delete(e),Qm(t.transaction)))}function ah(e,t){return e.openCursor().onsuccess=function(){this.result&&(t(this.result),this.result.continue())},Qm(e.transaction)}function oh(e=th()){return e(`readonly`,e=>{if(e.getAllKeys)return Qm(e.getAllKeys());let t=[];return ah(e,e=>t.push(e.key)).then(()=>t)})}var sh=$m(`chat-outbox`,`pending-sends`),ch=e=>`send:${e}`,lh=()=>({put:async e=>{await rh(ch(e.clientMessageId),e,sh)},remove:async e=>{await ih(ch(e),sh)},listAll:async()=>{let e=await oh(sh);return(await Promise.all(e.map(async e=>nh(e,sh)))).filter(e=>e!==void 0)},listByConversation:async e=>{let t=await oh(sh);return(await Promise.all(t.map(async e=>nh(e,sh)))).filter(t=>t?.conversationId===e)}}),F={MessageReceived:`MessageReceived`,MessageEdited:`MessageEdited`,MessageDeleted:`MessageDeleted`,MessageDelivered:`MessageDelivered`,MessageRead:`MessageRead`,Typing:`Typing`,PresenceChanged:`PresenceChanged`,StatusChanged:`StatusChanged`,ReactionToggled:`ReactionToggled`,RemovedFromConversation:`RemovedFromConversation`},uh={MarkRead:`MarkRead`,MarkDelivered:`MarkDelivered`,Typing:`Typing`},dh=n.dt({conversationId:n.pt(),byUserId:n.pt(),uptoSequence:n.ut()}),fh=n.dt({conversationId:n.pt(),userId:n.pt(),isTyping:n.at()}),ph=n.dt({userId:n.pt(),online:n.at(),lastSeenUtc:n.pt().nullable()}),mh=n.dt({userId:n.pt(),status:n.ut(),untilUtc:n.pt().nullish()}),hh=n.dt({conversationId:n.pt(),messageId:n.pt(),byUserId:n.pt(),emoji:n.pt(),added:n.at()}),gh=n.dt({conversationId:n.pt(),messageId:n.pt()}),_h=n.dt({conversationId:n.pt()}),vh=(e,t,n,r)=>{let i=e.safeParse(t);return!i.success||i.data===void 0?(r.warn(`Ignoring malformed realtime payload`,{event:n}),null):i.data},yh=(e,t,n)=>vh(Bp,e,t,n),bh=(e,t,n)=>vh(dh,e,t,n),xh=(e,t,n)=>vh(fh,e,t,n),Sh=(e,t,n)=>vh(ph,e,t,n),Ch=(e,t,n)=>vh(mh,e,t,n),wh=(e,t,n)=>vh(hh,e,t,n),Th=(e,t,n)=>vh(gh,e,t,n),Eh=(e,t,n)=>vh(_h,e,t,n),Dh=`chat.hidden-messages`,Oh=n.it(n.pt()),kh=()=>{try{let e=window.localStorage.getItem(Dh);if(e===null)return[];let t=Oh.safeParse(JSON.parse(e));return t.success?t.data:[]}catch{return[]}},Ah=e=>{try{window.localStorage.setItem(Dh,JSON.stringify(e))}catch{}},jh=t.u((e,t)=>({hidden:new Set(kh()),hideForMe:n=>{if(t().hidden.has(n))return;let r=new Set(t().hidden);r.add(n),Ah([...r]),e({hidden:r})}})),Mh=(e,t)=>t.length>0&&Qf(e,t),Nh=(e,t)=>{let n=Mh(e.senderId,t),r=n?e.reactions:e.reactions.map(e=>e.reacted?{...e,reacted:!1}:e),i=r.length===e.reactions.length&&r.every((t,n)=>{let r=e.reactions[n];return r===void 0?!1:t.reacted===r.reacted&&t.emoji===r.emoji&&t.count===r.count});return n===e.fromViewer&&i?e:e.with({fromViewer:n,reactions:r})},Ph=(e,t)=>t.length===0?e:e.map(e=>Nh(e,t)),Fh=(e,t,n)=>{let i=(0,r.useRef)(null);(0,r.useEffect)(()=>{let t=i.current;if(t===null)return;let r=document.getElementById(`msg-${t}`);r===null?n.hasMore&&!n.isLoadingOlder?n.loadOlder():i.current=null:(i.current=null,Bf(r,e))},[t,n,e]),(0,r.useEffect)(()=>{let t=t=>{let r=t.detail.messageId;if(typeof r!=`string`||r.length===0)return;let a=document.getElementById(`msg-${r}`);a===null?n.hasMore&&(i.current=r,n.loadOlder()):(i.current=null,Bf(a,e))};return window.addEventListener(Rf,t),()=>{window.removeEventListener(Rf,t)}},[n,e])},Ih=[],Lh=({isLoadingOlder:e,hasMessages:n})=>!n||!e?null:(0,w.jsx)(`div`,{className:E.olderRow,children:(0,w.jsx)(t.nt,{size:`sm`,label:`Loading older messages`})}),Rh=(e,t,n,r)=>!(e.fromViewer&&(e.kind===`text`||e.kind===`media`))||Pu(e)?null:af(e,{peerUserId:t,otherMemberIds:n,receipts:r}),zh=({messages:e,older:n,hasMessages:r})=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(Lh,{isLoadingOlder:n.isLoadingOlder,hasMessages:r}),e.isPending&&(0,w.jsx)(`div`,{className:E.center,children:(0,w.jsx)(t.nt,{label:`Loading messages`})}),e.isError&&(0,w.jsx)(t.et,{tone:`error`,title:`Could not load messages`,children:e.error.message})]}),Bh=({conversation:e,viewerId:n,messages:i,selectedMessageId:a,onSelectMessage:o,onReact:s,onRetry:c,onReply:l,onEdit:u,onDelete:d})=>{let f=e.id,p=jh(e=>e.hidden),m=(0,r.useMemo)(()=>Ph(i.data??Ih,n).filter(e=>!p.has(e.id)),[i.data,n,p]),h=Mr(e=>e.receipts[f]),g=Mr(e=>e.pending),_=e.members.map(e=>e.id).filter(e=>e!==n),v=cf(f),y=mf(f,m,v.loadOlder);return Fh(`.${E.messages??`messages`}`,m,v),(0,w.jsxs)(`div`,{className:E.threadWrap,children:[(0,w.jsx)(`div`,{className:E.messages,ref:y.scrollRef,onScroll:y.onScroll,children:(0,w.jsxs)(`div`,{className:E.thread,children:[(0,w.jsx)(zh,{messages:i,older:v,hasMessages:m.length>0}),m.length>0&&(0,w.jsx)(Ep,{conversation:e,messages:m,pending:g,selectedMessageId:a,onSelectMessage:o,tickFor:t=>Rh(t,e.peerUserId,_,h??{}),onReact:s,onRetry:c,onReply:l,onEdit:u,onDelete:d})]})}),y.hasNewBelow&&(0,w.jsxs)(`button`,{type:`button`,className:t.at(E.newPill),onClick:()=>{y.scrollToBottom(!0)},children:[(0,w.jsx)(x,{size:14}),`New messages`]})]})},Vh=e=>(0,w.jsx)(Bh,{...e}),Hh=(e,t,n,i)=>{let[a,o]=(0,r.useState)(null),s=()=>{o(null)};return{requestDelete:t=>{o(e.find(e=>e.id===t)??null)},dialogProps:{open:a!==null,canDeleteForEveryone:a?.canDeleteForEveryone(i.now().getTime())??!1,onDeleteForMe:()=>{a!==null&&n(a.id),s()},onDeleteForEveryone:()=>{a!==null&&t(a.id),s()},onCancel:s}}},Uh=`now`,Wh=(e,t,n)=>{e.outbox.put({clientMessageId:t.clientMessageId,conversationId:e.conversationId,text:t.text,failedAt:n})},Gh=(e,t,n)=>{e.queryClient.setQueryData(Ni(e.conversationId),r=>zu(r,Lu({viewer:t,text:n.text,clientMessageId:n.clientMessageId,sequence:Fu(r??[])+1,timeLabel:Uh,sentAt:e.clock.now().toISOString(),replyTo:n.replyTo??null}))),e.store.getState().markSending(n.clientMessageId),Wh(e,n,null)},Kh=(e,t,n)=>{e.queryClient.setQueryData(Ni(e.conversationId),e=>Bu(e,t)),e.store.getState().clearPending(n),e.outbox.remove(n),_i(e.queryClient)},qh=(e,t,r)=>n.Wt(t.execute(e.conversationId,r.text,r.clientMessageId,r.replyToMessageId)),Jh=e=>{let{sendMessage:i,outbox:a,clock:o}=D(),s=n.F(),c=jr(),l=Fi().data??null,u={queryClient:s,store:c,outbox:a,conversationId:e,clock:o},d=n.j({mutationFn:e=>qh(u,i,e),onMutate:e=>{l!==null&&Gh(u,l,e)},onSuccess:(e,t)=>{Kh(u,e,t.clientMessageId)},onError:(e,n)=>{t.l.error(e instanceof Error?e.message:`Failed to send message`),c.getState().markFailed(n.clientMessageId),Wh(u,n,u.clock.now().toISOString()),t.l.error(e.message)}}),f=(0,r.useCallback)(()=>{a.listByConversation(e).then(e=>{for(let t of e)t.failedAt!==null&&(c.getState().markSending(t.clientMessageId),d.mutate({text:t.text,clientMessageId:t.clientMessageId}))})},[e,d,a,c]);return(0,r.useEffect)(()=>{let e=()=>{f()};return window.addEventListener(`online`,e),()=>{window.removeEventListener(`online`,e)}},[f]),{send:(0,r.useCallback)((e,t=null)=>{d.mutate({text:e,clientMessageId:crypto.randomUUID(),replyToMessageId:t?.messageId??null,replyTo:t})},[d]),retry:(0,r.useCallback)((e,t)=>{c.getState().markSending(e),d.mutate({text:t,clientMessageId:e})},[d,c]),isSending:d.isPending}},Yh=(e,t)=>{let n=e.then(t,t);return{run:n,next:n.then(()=>void 0,()=>void 0)}},Xh=(e,t)=>{let n=e.get(t);n!==void 0&&(e.delete(t),globalThis.setTimeout(()=>{URL.revokeObjectURL(n)},250))},Zh=(e,t)=>{let n=e.viewer;if(n===null)return;let r=URL.createObjectURL(t.file);e.urls.set(t.clientMessageId,r);let i=e.nowIso();e.queryClient.setQueryData(Ni(e.conversationId),e=>zu(e,Ru({viewer:n,fileUrl:r,caption:t.caption??``,clientMessageId:t.clientMessageId,sequence:Fu(e??[])+1,sentAt:i,contentType:t.file.type,fileName:t.fileName}))),e.store.getState().markSending(t.clientMessageId)},Qh=(e,t,n)=>{e.queryClient.setQueryData(Ni(e.conversationId),e=>Bu(e,t)),e.store.getState().clearPending(n),Xh(e.urls,n),_i(e.queryClient)},$h=(e,n)=>{let r=Nu(n.clientMessageId);e.queryClient.setQueryData(Ni(e.conversationId),e=>e?.filter(e=>e.id!==r)??[]),e.store.getState().clearPending(n.clientMessageId),Xh(e.urls,n.clientMessageId),t.l.error(`Couldn't send ${n.fileName}.`)},eg=e=>{let{sendMediaMessage:t,clock:i}=D(),a=n.F(),o=jr(),s=Fi().data??null,c=(0,r.useRef)(new Map),l=(0,r.useRef)(Promise.resolve()),u={queryClient:a,store:o,viewer:s,conversationId:e,nowIso:()=>i.now().toISOString(),urls:c.current},d=n.j({mutationFn:e=>{let{run:r,next:i}=Yh(l.current,()=>n.Wt(t.execute(e)));return l.current=i,r},onMutate:e=>{Zh(u,e)},onSuccess:(e,t)=>{Qh(u,e,t.clientMessageId)},onError:(e,t)=>{$h(u,t)}});return{sendMedia:(0,r.useCallback)((t,n,r)=>{let i={conversationId:e,file:t,fileName:t.name,clientMessageId:crypto.randomUUID(),...n!==void 0&&n.trim().length>0?{caption:n}:{},...r===void 0?{}:{replyToMessageId:r}};d.mutate(i)},[e,d]),isSending:d.isPending}},tg=(e,t)=>{let n=Ai(),i=(0,r.useRef)({conversationId:null,upto:0,acknowledge:(e,t)=>{}});i.current.acknowledge=(e,t)=>{n.mutate({conversationId:e,uptoSequence:t})},(0,r.useEffect)(()=>{if(e===null||t===void 0||t.length===0)return;let n=Iu(t),r=i.current;r.conversationId===e&&n<=r.upto||(r.conversationId=e,r.upto=n,r.acknowledge(e,n))},[e,t])},ng=2e3,rg=3e3,ig=e=>{let{realtime:t,logger:n}=D(),i=Mr(e=>e.status===`connected`),a=(0,r.useRef)(0),o=(0,r.useRef)(!1),s=(0,r.useRef)(null),c=(0,r.useCallback)(r=>{e===null||!i||t.invoke(uh.Typing,e,r).catch(()=>{n.debug(`Typing signal dropped (best-effort)`)})},[e,i,t,n]),l=(0,r.useCallback)(()=>{s.current!==null&&(clearTimeout(s.current),s.current=null)},[]),u=(0,r.useCallback)(()=>{l(),o.current&&(o.current=!1,a.current=0,c(!1))},[l,c]),d=(0,r.useCallback)(()=>{let e=Date.now();(!o.current||e-a.current>ng)&&(o.current=!0,a.current=e,c(!0)),l(),s.current=setTimeout(u,rg)},[l,c,u]);return(0,r.useEffect)(()=>u,[e,u]),{onInput:d,stop:u}},ag=e=>{let{subscribePush:t}=D();(0,r.useEffect)(()=>{!e||!(`serviceWorker`in navigator)||`PushManager`in window},[e,t])},og=()=>{let[e,t]=(0,r.useState)(``),[n,i]=(0,r.useState)(null),[a,o]=(0,r.useState)(null);return{text:e,setText:t,replyTo:n,setReplyTo:i,editingMessage:a,setEditingMessage:o}},sg=({messages:e,send:t,media:n,draft:r,actions:i})=>({messages:e,send:t,media:n,text:r.text,setText:r.setText,replyTo:r.replyTo,setReplyTo:r.setReplyTo,editingMessage:r.editingMessage,startEdit:i.startEdit,clearEditing:i.clearEditing,onReact:i.onReact,onEdit:i.onEdit,onDelete:i.onDelete,onDeleteForMe:i.onDeleteForMe,submit:i.submit,onSendMedia:i.onSendMedia,onTyping:i.onTyping,isSending:t.isSending||n.isSending}),cg=e=>{let t=Ii(e),n=Jh(e),r=eg(e),i=qi(e),a=Ji(e),o=Yi(e),s=Xi(e),c=jh(e=>e.hideForMe),l=ig(e),u=og();return ag(!0),tg(e,t.data),sg({messages:t,send:n,media:r,draft:u,actions:{startEdit:e=>{u.setEditingMessage({id:e.id,text:e.text}),u.setText(e.text),u.setReplyTo(null)},clearEditing:()=>{u.setEditingMessage(null),u.setText(``)},onReact:(e,t)=>{i.mutate({messageId:e,emoji:t})},onEdit:(e,t)=>{a.mutate({messageId:e,text:t})},onDelete:e=>{o.mutate(e)},onDeleteForMe:e=>{c(e),s.mutate(e)},submit:()=>{if(u.text.trim().length!==0){if(l.stop(),u.editingMessage!==null){a.mutate({messageId:u.editingMessage.id,text:u.text.trim()}),u.setEditingMessage(null),u.setText(``);return}n.send(u.text,u.replyTo),u.setText(``),u.setReplyTo(null)}},onSendMedia:(e,t)=>{e.forEach((e,n)=>{r.sendMedia(e,n===0?t:void 0,n===0?u.replyTo?.messageId??null:null)}),u.setText(``),u.setReplyTo(null)},onTyping:l.onInput}})},lg=()=>(0,w.jsxs)(`div`,{className:E.removedComposer,children:[(0,w.jsx)(l,{size:15}),(0,w.jsx)(`span`,{children:`You can no longer send messages here — you’re no longer a member of this group.`})]}),ug=({conversation:e,conversationId:t,active:n,removed:r})=>r?(0,w.jsx)(lg,{}):(0,w.jsx)(ef,{conversation:e,conversationId:t,text:n.text,replyTo:n.replyTo,editingMessage:n.editingMessage,isSending:n.isSending,onChange:n.setText,onSubmit:n.submit,onClearReply:()=>{n.setReplyTo(null)},onClearEditing:n.clearEditing,onSendMedia:n.onSendMedia,onTyping:n.onTyping}),dg=({conversation:e,conversationId:t,actions:n,onRequestDelete:i,onRequestLeave:a})=>{let o=Bs(),s=Fi(),{clock:c}=D(),l=cg(t),u=Hh(l.messages.data??[],l.onDelete,l.onDeleteForMe,c),d=Mr(e=>e.isRemovedFromConversation(t)),[f,p]=(0,r.useState)(!1),[m,h]=(0,r.useState)(null);return(0,r.useEffect)(()=>{h(null)},[t]),(0,w.jsxs)(`div`,{className:E.view,children:[(0,w.jsx)(Cd,{conversation:e,categories:o.data??[],actions:n,statusPill:(0,w.jsx)(zd,{}),onManageMembers:()=>{p(!0)},onRequestDelete:i,onRequestLeave:a,selectedMessage:m,onClearSelection:()=>{h(null)},onReply:l.setReplyTo,onStartEdit:l.startEdit,onDelete:u.requestDelete}),(0,w.jsx)(Vh,{conversation:e,viewerId:s.data?.id??``,messages:l.messages,selectedMessageId:m?.id??null,onSelectMessage:e=>{h(t=>t?.id===e.id?null:e)},onReact:l.onReact,onRetry:l.send.retry,onReply:l.setReplyTo,onEdit:l.onEdit,onDelete:u.requestDelete}),(0,w.jsx)(ug,{conversation:e,conversationId:t,active:l,removed:d}),e.isGroup&&(0,w.jsx)(Fd,{conversation:e,open:f,onClose:()=>{p(!1)}}),(0,w.jsx)(Id,{...u.dialogProps})]})},fg=()=>(0,w.jsxs)(`div`,{className:E.viewEmpty,children:[(0,w.jsx)(`div`,{className:E.emptyIconWrap,children:(0,w.jsx)(l,{size:32})}),(0,w.jsx)(`h3`,{className:E.emptyTitle,children:`No longer available`}),(0,w.jsx)(`p`,{className:E.emptyText,children:`You no longer have access to this conversation — you may have been removed from the group, or it was deleted. You can no longer read or send messages here.`})]}),pg=()=>{let e=dn(0),n=dn(0),r=vn(e,{stiffness:60,damping:20}),i=vn(n,{stiffness:60,damping:20}),a=mn(r,[-1,1],[-25,25]),o=mn(i,[-1,1],[-25,25]),s=mn(r,[-1,1],[20,-20]),c=mn(i,[-1,1],[-15,15]),l=mn(r,[-1,1],[-15,15]),u=mn(i,[-1,1],[20,-20]);return(0,w.jsxs)(`div`,{className:E.viewEmpty,onMouseMove:t=>{let r=t.currentTarget.getBoundingClientRect(),i=(t.clientX-r.left-r.width/2)/(r.width/2),a=(t.clientY-r.top-r.height/2)/(r.height/2);e.set(i),n.set(a)},onMouseLeave:()=>{e.set(0),n.set(0)},children:[(0,w.jsx)(t.C.div,{className:E.emptyFloating1,style:{x:a,y:o},children:(0,w.jsx)(Te,{size:24})}),(0,w.jsx)(t.C.div,{className:E.emptyFloating2,style:{x:s,y:c},children:(0,w.jsx)($e,{size:20})}),(0,w.jsx)(t.C.div,{className:E.emptyFloating3,style:{x:l,y:u},children:(0,w.jsx)(Ke,{size:16})}),(0,w.jsx)(`div`,{className:E.emptyIconWrap,children:(0,w.jsx)(we,{size:32})}),(0,w.jsx)(`h3`,{className:E.emptyTitle,children:`Your Messages`}),(0,w.jsx)(`p`,{className:E.emptyText,children:`Select a conversation from the sidebar or start a new chat.`})]})},mg=({conversation:e,conversationId:n,lostAccess:i,actions:a,onRequestDelete:o,onRequestLeave:s})=>{let c=jr();return(0,r.useEffect)(()=>(c.getState().setActiveConversationId(n),()=>{c.getState().setActiveConversationId(null)}),[n,c]),e===void 0||n===null?i?(0,w.jsx)(fg,{}):(0,w.jsx)(pg,{}):(0,w.jsx)(t.C.div,{initial:{opacity:0,y:12},animate:{opacity:1,y:0},exit:{opacity:0,y:-12},transition:{type:`spring`,stiffness:350,damping:28},className:E.viewPaneWrapper,children:(0,w.jsx)(dg,{conversation:e,conversationId:n,actions:a,onRequestDelete:o,onRequestLeave:s})},n)},hg=({mediaUrl:e})=>{let{src:n,isLoading:r,isError:i,onImageError:a}=bf(e);return i?(0,w.jsxs)(`div`,{className:E.viewerFallback,children:[(0,w.jsx)(he,{size:30}),(0,w.jsx)(`span`,{children:`Image unavailable`})]}):n===null||r?(0,w.jsx)(t.nt,{label:`Loading image`}):(0,w.jsx)(`img`,{className:E.viewerImg,src:n,alt:``,onError:a})},gg=(e,t,n,i)=>{(0,r.useEffect)(()=>{if(!e)return;let r=e=>{e.key===`Escape`?t():e.key===`ArrowRight`?n():e.key===`ArrowLeft`&&i()};return window.addEventListener(`keydown`,r),()=>{window.removeEventListener(`keydown`,r)}},[e,t,n,i])},_g=()=>{let e=xf(e=>e.open),n=xf(e=>e.urls),r=xf(e=>e.index),a=xf(e=>e.close),o=xf(e=>e.next),s=xf(e=>e.prev),c=t.Z();gg(e,a,o,s);let l=n[r];if(!e||l===void 0)return null;let u=n.length>1;return(0,i.createPortal)((0,w.jsxs)(`div`,{className:E.viewerBackdrop,role:`dialog`,"aria-modal":`true`,"aria-label":`Image preview`,children:[(0,w.jsx)(`button`,{type:`button`,className:E.viewerScrim,"aria-label":`Close preview`,onClick:a}),(0,w.jsx)(`button`,{type:`button`,className:E.viewerClose,"aria-label":`Close preview`,onClick:a,children:(0,w.jsx)(C,{size:22})}),u&&(0,w.jsx)(`button`,{type:`button`,className:t.at(E.viewerNav,E.viewerNavPrev),"aria-label":`Previous image`,disabled:r===0,onClick:s,children:(0,w.jsx)(S,{size:26})}),(0,w.jsx)(`div`,{className:E.viewerStage,children:(0,w.jsx)(hg,{mediaUrl:l})}),u&&(0,w.jsx)(`button`,{type:`button`,className:t.at(E.viewerNav,E.viewerNavNext),"aria-label":`Next image`,disabled:r===n.length-1,onClick:o,children:(0,w.jsx)(t.ct,{size:26})}),u&&(0,w.jsxs)(`span`,{className:E.viewerCount,children:[r+1,` / `,n.length]})]}),c??document.body)},vg=()=>{let e=Ri(),n=Bi(),r=zi(),i=Vi(),a=Hi(),o=Ui();return{toggleFavourite:n=>{e.mutate({id:n.id,value:!n.favourite},{onSuccess:()=>{t.l.success(n.favourite?`Removed from Favourites`:`Added to Favourites`)}})},togglePin:e=>{n.mutate({id:e.id,value:!e.pinned},{onSuccess:()=>{t.l.success(e.pinned?`Unpinned`:`Pinned to top`)}})},toggleArchive:e=>{r.mutate({id:e.id,value:!e.archived},{onSuccess:()=>{t.l.success(e.archived?`Chat unarchived`:`Chat archived`)}})},remove:e=>{i.mutate(e,{onSuccess:()=>{t.l.success(`Chat deleted`)}})},leave:e=>{a.mutate(e.id,{onSuccess:()=>{t.l.success(`You left "${e.title}"`)}})},refresh:e=>{o.mutate(e.id,{onSuccess:()=>{t.l.success(`Portal data refreshed`)}})}}},yg=e=>{let t=jr();(0,r.useEffect)(()=>{let{seedReceipts:n}=t.getState();for(let t of e)n(t.id,t.memberReceipts)},[t,e])},bg=[],xg=(e,t,n)=>{let r=pi(e,t),i=pi(e,``),a=mi(),o=r.data??bg,s=i.data??bg,c=n??s[0]?.id??o[0]?.id??null,l=gi(c);return yg(o),{conversations:r,counts:a.data,list:o,activeId:c,active:l.data??o.find(e=>e.id===c),lostAccess:n!==null&&l.isError}},Sg=`/comms/chats`,Cg=(e,t,n)=>{let[i,a]=(0,r.useState)(null),[o,s]=(0,r.useState)(null);return{pendingDelete:i,pendingLeave:o,requestDelete:a,requestLeave:s,confirmDelete:()=>{i!==null&&(e.remove(i.id),i.id===t&&n(Sg)),a(null)},confirmLeave:()=>{o!==null&&(e.leave(o),o.id===t&&n(Sg)),s(null)},cancelDelete:()=>{a(null)},cancelLeave:()=>{s(null)}}},wg=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/iu,Tg=`--`,Eg=e=>e.replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/u,``),Dg=e=>{let t=e.replace(/-/g,`+`).replace(/_/g,`/`);return t+`=`.repeat((4-t.length%4)%4)},Og=e=>{let t=e.replace(/-/g,``),n=``;for(let e=0;e<t.length;e+=2)n+=String.fromCharCode(Number.parseInt(t.slice(e,e+2),16));return Eg(btoa(n))},kg=e=>{let t;try{t=atob(Dg(e))}catch{return null}if(t.length!==16)return null;let n=``;for(let e=0;e<t.length;e+=1)n+=t.charCodeAt(e).toString(16).padStart(2,`0`);return`${n.slice(0,8)}-${n.slice(8,12)}-${n.slice(12,16)}-${n.slice(16,20)}-${n.slice(20)}`},Ag=e=>wg.test(e)?Og(e):`~${Eg(btoa(e))}`,jg=e=>{if(e.startsWith(`~`))try{return atob(Dg(e.slice(1)))}catch{return null}return kg(e)},Mg=e=>{let t=e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,40);return t.length>0?t:`chat`},Ng=(e,t)=>`/comms/chats/${Mg(t)}${Tg}${Ag(e)}`,Pg=e=>{let t=e.indexOf(Tg),n=t>=0?e.slice(t+2):e;return wg.test(n)?n:jg(n)},Fg=()=>{let e=t._t(),[n,i]=(0,r.useState)(`all`),[a,o]=(0,r.useState)(``),s=$i(a,250),{conversationId:c}=t.vt(),l=c===void 0?null:Pg(c),{conversations:u,counts:d,list:f,activeId:p,active:m,lostAccess:h}=xg(n,s,l),g=vg(),_=t.gt(),v=Cg(g,l,_);return u.isPending?(0,w.jsx)(ga,{}):u.isSuccess?(0,w.jsxs)(`div`,{className:t.at(E.root,l!==null&&E.hasActiveChat),children:[(0,w.jsx)(ha,{conversations:f,activeId:p,actions:g,filter:{tab:n,onTabChange:i,search:a,onSearchChange:o,counts:d},hasNextPage:u.hasNextPage,isFetchingNextPage:u.isFetchingNextPage,onLoadMore:u.fetchNextPage,onRequestDelete:v.requestDelete,onSelect:e=>{_(Ng(e,f.find(t=>t.id===e)?.title??``))}}),(0,w.jsx)(mg,{conversation:m,conversationId:p,lostAccess:h,actions:g,onRequestDelete:v.requestDelete,onRequestLeave:v.requestLeave}),(0,w.jsx)(yn,{pendingDelete:v.pendingDelete,pendingLeave:v.pendingLeave,onConfirmDelete:v.confirmDelete,onConfirmLeave:v.confirmLeave,onCancelDelete:v.cancelDelete,onCancelLeave:v.cancelLeave}),(0,w.jsx)(_g,{}),e]}):(0,w.jsx)(`div`,{className:E.fullCenter,children:(0,w.jsx)(t.et,{tone:`error`,title:`Could not load chats`,children:u.error?.message??`Please try again.`})})},Ig=`/comms/chats`,Lg=()=>(0,w.jsxs)(t.mt,{children:[(0,w.jsxs)(t.pt,{path:Ig,element:(0,w.jsx)(Fg,{}),children:[(0,w.jsx)(t.pt,{index:!0,element:null}),(0,w.jsx)(t.pt,{path:`:conversationId`,element:null})]}),(0,w.jsx)(t.pt,{path:`*`,element:(0,w.jsx)(t.ft,{to:Ig,replace:!0})})]}),Rg=e.n((e=>{var t=require("react-dom");if(process.env.NODE_ENV===`production`)e.createRoot=t.createRoot,e.hydrateRoot=t.hydrateRoot;else{var n=t.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;e.createRoot=function(e,r){n.usingClientEntryPoint=!0;try{return t.createRoot(e,r)}finally{n.usingClientEntryPoint=!1}},e.hydrateRoot=function(e,r,i){n.usingClientEntryPoint=!0;try{return t.hydrateRoot(e,r,i)}finally{n.usingClientEntryPoint=!1}}}}))(),zg=`__COMMHUB_SDK_CSS__`,Bg,Vg=()=>{let e=globalThis[zg];return typeof e==`string`?e:``},Hg=()=>typeof CSSStyleSheet==`function`&&typeof CSSStyleSheet.prototype.replaceSync==`function`,Ug=()=>{let e=Vg();if(e===``||!Hg())return[];if(Bg===void 0)try{let t=new CSSStyleSheet;t.replaceSync(e),Bg=t}catch{Bg=null}return Bg===null?[]:[Bg]},Wg=()=>{let e=Vg();if(e===``)return null;let t=document.createElement(`style`);return t.textContent=e,t},Gg=`commhub-widget-root`;function Kg(e,t,n=[]){if(customElements.get(e))return;class r extends HTMLElement{reactRoot=null;mountPoint;configValue={};static get observedAttributes(){return n}get config(){return this.configValue}set config(e){this.configValue=e,this.render()}constructor(){super();let e=this.attachShadow({mode:`open`}),t=Ug();if(t.length>0)e.adoptedStyleSheets=[...t];else{let t=Wg();t!==null&&e.appendChild(t)}this.mountPoint=document.createElement(`div`),this.mountPoint.className=Gg,e.appendChild(this.mountPoint)}connectedCallback(){this.render()}disconnectedCallback(){let e=this.reactRoot;e!==null&&(this.reactRoot=null,queueMicrotask(()=>{if(this.isConnected){this.reactRoot??=e;return}e.unmount()}))}attributeChangedCallback(){this.reactRoot!==null&&this.render()}render(){this.isConnected&&(this.reactRoot??=(0,Rg.createRoot)(this.mountPoint),this.reactRoot.render(t(this)))}}customElements.define(e,r)}var qg={notice:`_notice_184jj_6`,title:`_title_184jj_23`,detail:`_detail_184jj_29`},Jg=({tagName:e,detail:t})=>(0,w.jsxs)(`div`,{className:qg.notice,role:`alert`,children:[(0,w.jsxs)(`strong`,{className:qg.title,children:[`<`,e,`> could not start: invalid configuration`]}),(0,w.jsx)(`span`,{className:qg.detail,children:t})]}),Yg=class{entries=new Map;getItem(e){return this.entries.get(e)??null}setItem(e,t){this.entries.set(e,t)}removeItem(e){this.entries.delete(e)}},Xg=e=>{let t=new Sl({storage:new Yg,logger:e.logger,namespace:e.storageNamespace});return Cl({completeSsoLoginUseCase:new el({authGateway:e.authGateway,sessionStore:t,logger:e.logger}),logoutUseCase:new tl({authGateway:e.authGateway,sessionStore:t,logger:e.logger}),restoreSessionUseCase:new nl({authGateway:e.authGateway,sessionStore:t,clock:e.clock,logger:e.logger}),refreshSessionUseCase:new rl({authGateway:e.authGateway,sessionStore:t,logger:e.logger}),setAccessToken:e.setAccessToken,loginUrl:``})},Zg=`sdk_signed`,Qg=`assertion`,$g=`CommunicationHub`,e_=class{httpClient;clock;logger;clientKey;scope;constructor(e){this.httpClient=e.httpClient,this.clock=e.clock,this.logger=e.logger.child(`sdk-signed-gateway`),this.clientKey=e.clientKey,this.scope=[$g,...e.modules].join(` `)}exchangeSsoSecret(e){return e.trim().length===0||this.clientKey.trim().length===0?Promise.resolve(n.Bt(new Xc)):this.requestToken({grant_type:Zg,client_id:this.clientKey,[Qg]:e,scope:this.scope})}refresh(e){return Promise.resolve(n.Bt(new A(`sdk_signed re-authenticates with a fresh host assertion, not a refresh token.`)))}signOut(e){return Promise.resolve()}async requestToken(e){try{let t=await this.httpClient.postForm(dl,e,{anonymous:!0}),r=il.safeParse(t);return r.success?ul(r.data,this.clock.now()):(this.logger.error(`Token endpoint returned an unexpected shape`,r.error),n.Bt(new A(r.error)))}catch(e){return e instanceof n.gt&&e.isClientError()?(this.logger.warn(`Signed assertion was rejected`,{status:e.status}),n.Bt(new Xc)):(this.logger.error(`Failed to exchange signed assertion`,{error:e}),n.Bt(new A(e)))}}},t_=class{clock;logger;constructor(e){this.clock=e.clock,this.logger=e.logger.child(`sdk-host-token-gateway`)}exchangeSsoSecret(e){if(e.trim().length===0)return Promise.resolve(n.Bt(new Xc));try{let t=cl(e);if(n.Vt(t))return this.logger.error(`Invalid JWT token provided by host`,t.error),Promise.resolve(n.Bt(new A(`Invalid host token provided.`)));let r=t.value.exp;if(typeof r!=`number`)return Promise.resolve(n.Bt(new A(`Host token missing or invalid exp claim.`)));let i=r-Math.floor(this.clock.now().getTime()/1e3);return i<=0?Promise.resolve(n.Bt(new A(`Host token is already expired.`))):Promise.resolve(ul({access_token:e,token_type:`Bearer`,expires_in:i,refresh_token:null},this.clock.now()))}catch(e){return this.logger.error(`Failed to parse host token`,{error:e}),Promise.resolve(n.Bt(new A(e)))}}refresh(e){return Promise.resolve(n.Bt(new A(`host-token does not support traditional refresh tokens.`)))}signOut(e){return Promise.resolve()}},n_=[`commhub.chat`,`commhub.bookings`,`commhub.schedule`,`commhub.feed`],r_={"commhub.chat":Yr.chat,"commhub.feed":Yr.feed,"commhub.schedule":Yr.schedule,"commhub.bookings":Yr.meetings},i_=e=>Object.hasOwn(r_,e),a_=e=>n_.filter(t=>e.has(r_[t])),o_=(e,t)=>e.filter(e=>!t.has(r_[e])),s_=1e4,c_=1e3,l_=6e4,u_=class{deps;timer=null;unwatch=null;started=!1;disposed=!1;inFlight=!1;failures=0;authenticated=!1;constructor(e){this.deps=e}start(){this.started||this.isDisposed()||(this.started=!0,this.watchSession(),this.run())}isDisposed(){return this.disposed}dispose(){this.disposed=!0,this.clearTimer(),this.unwatch?.(),this.unwatch=null}async run(){if(!(this.isDisposed()||this.inFlight)){this.inFlight=!0;try{let e=await this.deps.requestCredential(),t=await this.deps.authStore.getState().completeLogin(e);if(this.isDisposed())return;if(t){await this.onAuthenticated();return}this.onExpired()}catch(e){if(this.isDisposed())return;let t=e instanceof Error?e.message:String(e);this.deps.logger.error(`SDK handshake failed`,{error:e}),this.deps.emit({type:`error`,payload:{code:`HANDSHAKE_FAILED`,message:t}}),this.scheduleRetry()}finally{this.inFlight=!1}}}async onAuthenticated(){this.failures=0,this.authenticated=!0;let e=await this.deps.moduleAccessModule.getModuleAccess.execute();if(!this.isDisposed()){if(e.ok){let t=e.value.grantedModules;this.deps.emit({type:`ready`,payload:{apiVersion:`1.0`,modules:a_(t)}});let n=o_(this.deps.requestedModules,t);n.length>0&&this.deps.emit({type:`scope-denied`,payload:{required:[...n],granted:a_(t)}})}this.scheduleRenewal()}}onExpired(){(this.authenticated||this.failures===0)&&this.deps.emit({type:`auth-expired`,payload:{}}),this.authenticated=!1,this.scheduleRetry()}scheduleRetry(){let e=Math.min(l_,c_*2**this.failures);this.failures+=1,this.scheduleAt(e)}scheduleRenewal(){if(!this.deps.renewable)return;let e=this.deps.authStore.getState().session;if(!e)return;let t=e.expiresAt.getTime()-Date.now();this.scheduleAt(Math.max(0,t-s_))}scheduleAt(e){this.clearTimer(),!this.isDisposed()&&(this.timer=setTimeout(()=>{this.timer=null,this.run()},e))}clearTimer(){this.timer!==null&&(clearTimeout(this.timer),this.timer=null)}watchSession(){this.unwatch=this.deps.authStore.subscribe(e=>{this.inFlight||e.status===`unauthenticated`&&this.authenticated&&(this.deps.logger.warn(`SDK session expired mid-session; re-handshaking`),this.onExpired())})}},d_=class{createRunner;eventListeners=new Set;statusListeners=new Set;runner=null;currentStatus=`pending`;constructor(e){this.createRunner=e}get status(){return this.currentStatus}attach(e){let t=e;t!==void 0&&this.eventListeners.add(t),this.runner??=this.createRunner(e=>{this.emit(e)}),this.runner.start();let n=!1;return()=>{n||(n=!0,t!==void 0&&this.eventListeners.delete(t),this.eventListeners.size===0&&this.statusListeners.size===0&&(this.runner?.dispose(),this.runner=null,this.setStatus(`pending`)))}}subscribeStatus(e){return this.statusListeners.add(e),()=>{this.statusListeners.delete(e)}}dispose(){this.runner?.dispose(),this.runner=null,this.eventListeners.clear(),this.statusListeners.clear(),this.currentStatus=`pending`}emit(e){e.type===`ready`?this.setStatus(`ready`):e.type===`error`?this.setStatus(`failed`):e.type===`auth-expired`&&this.setStatus(`pending`);for(let t of[...this.eventListeners])t(e)}setStatus(e){if(this.currentStatus!==e){this.currentStatus=e;for(let e of[...this.statusListeners])e()}}},f_=class extends Error{constructor(e,t){let n=new.target.prototype;super(`${e}: Status code '${t}'`),this.statusCode=t,this.__proto__=n}},p_=class extends Error{constructor(e=`A timeout occurred.`){let t=new.target.prototype;super(e),this.__proto__=t}},m_=class extends Error{constructor(e=`An abort occurred.`){let t=new.target.prototype;super(e),this.__proto__=t}},h_=class extends Error{constructor(e,t){let n=new.target.prototype;super(e),this.transport=t,this.errorType=`UnsupportedTransportError`,this.__proto__=n}},g_=class extends Error{constructor(e,t){let n=new.target.prototype;super(e),this.transport=t,this.errorType=`DisabledTransportError`,this.__proto__=n}},__=class extends Error{constructor(e,t){let n=new.target.prototype;super(e),this.transport=t,this.errorType=`FailedToStartTransportError`,this.__proto__=n}},v_=class extends Error{constructor(e){let t=new.target.prototype;super(e),this.errorType=`FailedToNegotiateWithServerError`,this.__proto__=t}},y_=class extends Error{constructor(e,t){let n=new.target.prototype;super(e),this.innerErrors=t,this.__proto__=n}},b_=class{constructor(e,t,n){this.statusCode=e,this.statusText=t,this.content=n}},x_=class{get(e,t){return this.send({...t,method:`GET`,url:e})}post(e,t){return this.send({...t,method:`POST`,url:e})}delete(e,t){return this.send({...t,method:`DELETE`,url:e})}getCookieString(e){return``}},I;(function(e){e[e.Trace=0]=`Trace`,e[e.Debug=1]=`Debug`,e[e.Information=2]=`Information`,e[e.Warning=3]=`Warning`,e[e.Error=4]=`Error`,e[e.Critical=5]=`Critical`,e[e.None=6]=`None`})(I||={});var S_=class{constructor(){}log(e,t){}};S_.instance=new S_;var C_=`10.0.0`,L=class{static isRequired(e,t){if(e==null)throw Error(`The '${t}' argument is required.`)}static isNotEmpty(e,t){if(!e||e.match(/^\s*$/))throw Error(`The '${t}' argument should not be empty.`)}static isIn(e,t,n){if(!(e in t))throw Error(`Unknown ${n} value: ${e}.`)}},R=class e{static get isBrowser(){return!e.isNode&&typeof window==`object`&&typeof window.document==`object`}static get isWebWorker(){return!e.isNode&&typeof self==`object`&&`importScripts`in self}static get isReactNative(){return!e.isNode&&typeof window==`object`&&window.document===void 0}static get isNode(){return typeof process<`u`&&process.release&&process.release.name===`node`}};function w_(e,t){let n=``;return E_(e)?(n=`Binary data of length ${e.byteLength}`,t&&(n+=`. Content: '${T_(e)}'`)):typeof e==`string`&&(n=`String data of length ${e.length}`,t&&(n+=`. Content: '${e}'`)),n}function T_(e){let t=new Uint8Array(e),n=``;return t.forEach(e=>{n+=`0x${e<16?`0`:``}${e.toString(16)} `}),n.substring(0,n.length-1)}function E_(e){return e&&typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||e.constructor&&e.constructor.name===`ArrayBuffer`)}async function D_(e,t,n,r,i,a){let o={},[s,c]=j_();o[s]=c,e.log(I.Trace,`(${t} transport) sending data. ${w_(i,a.logMessageContent)}.`);let l=E_(i)?`arraybuffer`:`text`,u=await n.post(r,{content:i,headers:{...o,...a.headers},responseType:l,timeout:a.timeout,withCredentials:a.withCredentials});e.log(I.Trace,`(${t} transport) request complete. Response status: ${u.statusCode}.`)}function O_(e){return e===void 0?new A_(I.Information):e===null?S_.instance:e.log===void 0?new A_(e):e}var k_=class{constructor(e,t){this._subject=e,this._observer=t}dispose(){let e=this._subject.observers.indexOf(this._observer);e>-1&&this._subject.observers.splice(e,1),this._subject.observers.length===0&&this._subject.cancelCallback&&this._subject.cancelCallback().catch(e=>{})}},A_=class{constructor(e){this._minLevel=e,this.out=console}log(e,t){if(e>=this._minLevel){let n=`[${new Date().toISOString()}] ${I[e]}: ${t}`;switch(e){case I.Critical:case I.Error:this.out.error(n);break;case I.Warning:this.out.warn(n);break;case I.Information:this.out.info(n);break;default:this.out.log(n);break}}}};function j_(){let e=`X-SignalR-User-Agent`;return R.isNode&&(e=`User-Agent`),[e,M_(C_,N_(),F_(),P_())]}function M_(e,t,n,r){let i=`Microsoft SignalR/`,a=e.split(`.`);return i+=`${a[0]}.${a[1]}`,i+=` (${e}; `,t&&t!==``?i+=`${t}; `:i+=`Unknown OS; `,i+=`${n}`,r?i+=`; ${r}`:i+=`; Unknown Runtime Version`,i+=`)`,i}function N_(){if(R.isNode)switch(process.platform){case`win32`:return`Windows NT`;case`darwin`:return`macOS`;case`linux`:return`Linux`;default:return process.platform}else return``}function P_(){if(R.isNode)return process.versions.node}function F_(){return R.isNode?`NodeJS`:`Browser`}function I_(e){return e.stack?e.stack:e.message?e.message:`${e}`}function L_(){if(typeof globalThis<`u`)return globalThis;if(typeof self<`u`)return self;if(typeof window<`u`)return window;if(typeof global<`u`)return global;throw Error(`could not find global`)}var R_=class extends x_{constructor(e){if(super(),this._logger=e,typeof fetch>`u`||R.isNode){let e=typeof __webpack_require__==`function`?__non_webpack_require__:require;this._jar=new(e(`tough-cookie`)).CookieJar,typeof fetch>`u`?this._fetchType=e(`node-fetch`):this._fetchType=fetch,this._fetchType=e(`fetch-cookie`)(this._fetchType,this._jar)}else this._fetchType=fetch.bind(L_());if(typeof AbortController>`u`){let e=typeof __webpack_require__==`function`?__non_webpack_require__:require;this._abortControllerType=e(`abort-controller`)}else this._abortControllerType=AbortController}async send(e){if(e.abortSignal&&e.abortSignal.aborted)throw new m_;if(!e.method)throw Error(`No method defined.`);if(!e.url)throw Error(`No url defined.`);let t=new this._abortControllerType,n;e.abortSignal&&(e.abortSignal.onabort=()=>{t.abort(),n=new m_});let r=null;if(e.timeout){let i=e.timeout;r=setTimeout(()=>{t.abort(),this._logger.log(I.Warning,`Timeout from HTTP request.`),n=new p_},i)}e.content===``&&(e.content=void 0),e.content&&(e.headers=e.headers||{},E_(e.content)?e.headers[`Content-Type`]=`application/octet-stream`:e.headers[`Content-Type`]=`text/plain;charset=UTF-8`);let i;try{i=await this._fetchType(e.url,{body:e.content,cache:`no-cache`,credentials:e.withCredentials===!0?`include`:`same-origin`,headers:{"X-Requested-With":`XMLHttpRequest`,...e.headers},method:e.method,mode:`cors`,redirect:`follow`,signal:t.signal})}catch(e){throw n||(this._logger.log(I.Warning,`Error from HTTP request. ${e}.`),e)}finally{r&&clearTimeout(r),e.abortSignal&&(e.abortSignal.onabort=null)}if(!i.ok)throw new f_(await z_(i,`text`)||i.statusText,i.status);let a=await z_(i,e.responseType);return new b_(i.status,i.statusText,a)}getCookieString(e){let t=``;return R.isNode&&this._jar&&this._jar.getCookies(e,(e,n)=>t=n.join(`; `)),t}};function z_(e,t){let n;switch(t){case`arraybuffer`:n=e.arrayBuffer();break;case`text`:n=e.text();break;case`blob`:case`document`:case`json`:throw Error(`${t} is not supported.`);default:n=e.text();break}return n}var B_=class extends x_{constructor(e){super(),this._logger=e}send(e){return e.abortSignal&&e.abortSignal.aborted?Promise.reject(new m_):e.method?e.url?new Promise((t,n)=>{let r=new XMLHttpRequest;r.open(e.method,e.url,!0),r.withCredentials=e.withCredentials===void 0?!0:e.withCredentials,r.setRequestHeader(`X-Requested-With`,`XMLHttpRequest`),e.content===``&&(e.content=void 0),e.content&&(E_(e.content)?r.setRequestHeader(`Content-Type`,`application/octet-stream`):r.setRequestHeader(`Content-Type`,`text/plain;charset=UTF-8`));let i=e.headers;i&&Object.keys(i).forEach(e=>{r.setRequestHeader(e,i[e])}),e.responseType&&(r.responseType=e.responseType),e.abortSignal&&(e.abortSignal.onabort=()=>{r.abort(),n(new m_)}),e.timeout&&(r.timeout=e.timeout),r.onload=()=>{e.abortSignal&&(e.abortSignal.onabort=null),r.status>=200&&r.status<300?t(new b_(r.status,r.statusText,r.response||r.responseText)):n(new f_(r.response||r.responseText||r.statusText,r.status))},r.onerror=()=>{this._logger.log(I.Warning,`Error from HTTP request. ${r.status}: ${r.statusText}.`),n(new f_(r.statusText,r.status))},r.ontimeout=()=>{this._logger.log(I.Warning,`Timeout from HTTP request.`),n(new p_)},r.send(e.content)}):Promise.reject(Error(`No url defined.`)):Promise.reject(Error(`No method defined.`))}},V_=class extends x_{constructor(e){if(super(),typeof fetch<`u`||R.isNode)this._httpClient=new R_(e);else if(typeof XMLHttpRequest<`u`)this._httpClient=new B_(e);else throw Error(`No usable HttpClient found.`)}send(e){return e.abortSignal&&e.abortSignal.aborted?Promise.reject(new m_):e.method?e.url?this._httpClient.send(e):Promise.reject(Error(`No url defined.`)):Promise.reject(Error(`No method defined.`))}getCookieString(e){return this._httpClient.getCookieString(e)}},H_=class e{static write(t){return`${t}${e.RecordSeparator}`}static parse(t){if(t[t.length-1]!==e.RecordSeparator)throw Error(`Message is incomplete.`);let n=t.split(e.RecordSeparator);return n.pop(),n}};H_.RecordSeparatorCode=30,H_.RecordSeparator=String.fromCharCode(H_.RecordSeparatorCode);var U_=class{writeHandshakeRequest(e){return H_.write(JSON.stringify(e))}parseHandshakeResponse(e){let t,n;if(E_(e)){let r=new Uint8Array(e),i=r.indexOf(H_.RecordSeparatorCode);if(i===-1)throw Error(`Message is incomplete.`);let a=i+1;t=String.fromCharCode.apply(null,Array.prototype.slice.call(r.slice(0,a))),n=r.byteLength>a?r.slice(a).buffer:null}else{let r=e,i=r.indexOf(H_.RecordSeparator);if(i===-1)throw Error(`Message is incomplete.`);let a=i+1;t=r.substring(0,a),n=r.length>a?r.substring(a):null}let r=H_.parse(t),i=JSON.parse(r[0]);if(i.type)throw Error(`Expected a handshake response from the server.`);return[n,i]}},z;(function(e){e[e.Invocation=1]=`Invocation`,e[e.StreamItem=2]=`StreamItem`,e[e.Completion=3]=`Completion`,e[e.StreamInvocation=4]=`StreamInvocation`,e[e.CancelInvocation=5]=`CancelInvocation`,e[e.Ping=6]=`Ping`,e[e.Close=7]=`Close`,e[e.Ack=8]=`Ack`,e[e.Sequence=9]=`Sequence`})(z||={});var W_=class{constructor(){this.observers=[]}next(e){for(let t of this.observers)t.next(e)}error(e){for(let t of this.observers)t.error&&t.error(e)}complete(){for(let e of this.observers)e.complete&&e.complete()}subscribe(e){return this.observers.push(e),new k_(this,e)}},G_=class{constructor(e,t,n){this._bufferSize=1e5,this._messages=[],this._totalMessageCount=0,this._waitForSequenceMessage=!1,this._nextReceivingSequenceId=1,this._latestReceivedSequenceId=0,this._bufferedByteCount=0,this._reconnectInProgress=!1,this._protocol=e,this._connection=t,this._bufferSize=n}async _send(e){let t=this._protocol.writeMessage(e),n=Promise.resolve();if(this._isInvocationMessage(e)){this._totalMessageCount++;let e=()=>{},r=()=>{};E_(t)?this._bufferedByteCount+=t.byteLength:this._bufferedByteCount+=t.length,this._bufferedByteCount>=this._bufferSize&&(n=new Promise((t,n)=>{e=t,r=n})),this._messages.push(new K_(t,this._totalMessageCount,e,r))}try{this._reconnectInProgress||await this._connection.send(t)}catch{this._disconnected()}await n}_ack(e){let t=-1;for(let n=0;n<this._messages.length;n++){let r=this._messages[n];if(r._id<=e.sequenceId)t=n,E_(r._message)?this._bufferedByteCount-=r._message.byteLength:this._bufferedByteCount-=r._message.length,r._resolver();else if(this._bufferedByteCount<this._bufferSize)r._resolver();else break}t!==-1&&(this._messages=this._messages.slice(t+1))}_shouldProcessMessage(e){if(this._waitForSequenceMessage)return e.type===z.Sequence?(this._waitForSequenceMessage=!1,!0):!1;if(!this._isInvocationMessage(e))return!0;let t=this._nextReceivingSequenceId;return this._nextReceivingSequenceId++,t<=this._latestReceivedSequenceId?(t===this._latestReceivedSequenceId&&this._ackTimer(),!1):(this._latestReceivedSequenceId=t,this._ackTimer(),!0)}_resetSequence(e){if(e.sequenceId>this._nextReceivingSequenceId){this._connection.stop(Error(`Sequence ID greater than amount of messages we've received.`));return}this._nextReceivingSequenceId=e.sequenceId}_disconnected(){this._reconnectInProgress=!0,this._waitForSequenceMessage=!0}async _resend(){let e=this._messages.length===0?this._totalMessageCount+1:this._messages[0]._id;await this._connection.send(this._protocol.writeMessage({type:z.Sequence,sequenceId:e}));let t=this._messages;for(let e of t)await this._connection.send(e._message);this._reconnectInProgress=!1}_dispose(e){e??=Error(`Unable to reconnect to server.`);for(let t of this._messages)t._rejector(e)}_isInvocationMessage(e){switch(e.type){case z.Invocation:case z.StreamItem:case z.Completion:case z.StreamInvocation:case z.CancelInvocation:return!0;case z.Close:case z.Sequence:case z.Ping:case z.Ack:return!1}}_ackTimer(){this._ackTimerHandle===void 0&&(this._ackTimerHandle=setTimeout(async()=>{try{this._reconnectInProgress||await this._connection.send(this._protocol.writeMessage({type:z.Ack,sequenceId:this._latestReceivedSequenceId}))}catch{}clearTimeout(this._ackTimerHandle),this._ackTimerHandle=void 0},1e3))}},K_=class{constructor(e,t,n,r){this._message=e,this._id=t,this._resolver=n,this._rejector=r}},q_=30*1e3,J_=15*1e3,Y_=1e5,B;(function(e){e.Disconnected=`Disconnected`,e.Connecting=`Connecting`,e.Connected=`Connected`,e.Disconnecting=`Disconnecting`,e.Reconnecting=`Reconnecting`})(B||={});var X_=class e{static create(t,n,r,i,a,o,s){return new e(t,n,r,i,a,o,s)}constructor(e,t,n,r,i,a,o){this._nextKeepAlive=0,this._freezeEventListener=()=>{this._logger.log(I.Warning,`The page is being frozen, this will likely lead to the connection being closed and messages being lost. For more information see the docs at https://learn.microsoft.com/aspnet/core/signalr/javascript-client#bsleep`)},L.isRequired(e,`connection`),L.isRequired(t,`logger`),L.isRequired(n,`protocol`),this.serverTimeoutInMilliseconds=i??q_,this.keepAliveIntervalInMilliseconds=a??J_,this._statefulReconnectBufferSize=o??Y_,this._logger=t,this._protocol=n,this.connection=e,this._reconnectPolicy=r,this._handshakeProtocol=new U_,this.connection.onreceive=e=>this._processIncomingData(e),this.connection.onclose=e=>this._connectionClosed(e),this._callbacks={},this._methods={},this._closedCallbacks=[],this._reconnectingCallbacks=[],this._reconnectedCallbacks=[],this._invocationId=0,this._receivedHandshakeResponse=!1,this._connectionState=B.Disconnected,this._connectionStarted=!1,this._cachedPingMessage=this._protocol.writeMessage({type:z.Ping})}get state(){return this._connectionState}get connectionId(){return this.connection&&this.connection.connectionId||null}get baseUrl(){return this.connection.baseUrl||``}set baseUrl(e){if(this._connectionState!==B.Disconnected&&this._connectionState!==B.Reconnecting)throw Error(`The HubConnection must be in the Disconnected or Reconnecting state to change the url.`);if(!e)throw Error(`The HubConnection url must be a valid url.`);this.connection.baseUrl=e}start(){return this._startPromise=this._startWithStateTransitions(),this._startPromise}async _startWithStateTransitions(){if(this._connectionState!==B.Disconnected)return Promise.reject(Error(`Cannot start a HubConnection that is not in the 'Disconnected' state.`));this._connectionState=B.Connecting,this._logger.log(I.Debug,`Starting HubConnection.`);try{await this._startInternal(),R.isBrowser&&window.document.addEventListener(`freeze`,this._freezeEventListener),this._connectionState=B.Connected,this._connectionStarted=!0,this._logger.log(I.Debug,`HubConnection connected successfully.`)}catch(e){return this._connectionState=B.Disconnected,this._logger.log(I.Debug,`HubConnection failed to start successfully because of error '${e}'.`),Promise.reject(e)}}async _startInternal(){this._stopDuringStartError=void 0,this._receivedHandshakeResponse=!1;let e=new Promise((e,t)=>{this._handshakeResolver=e,this._handshakeRejecter=t});await this.connection.start(this._protocol.transferFormat);try{let t=this._protocol.version;this.connection.features.reconnect||(t=1);let n={protocol:this._protocol.name,version:t};if(this._logger.log(I.Debug,`Sending handshake request.`),await this._sendMessage(this._handshakeProtocol.writeHandshakeRequest(n)),this._logger.log(I.Information,`Using HubProtocol '${this._protocol.name}'.`),this._cleanupTimeout(),this._resetTimeoutPeriod(),this._resetKeepAliveInterval(),await e,this._stopDuringStartError)throw this._stopDuringStartError;this.connection.features.reconnect&&(this._messageBuffer=new G_(this._protocol,this.connection,this._statefulReconnectBufferSize),this.connection.features.disconnected=this._messageBuffer._disconnected.bind(this._messageBuffer),this.connection.features.resend=()=>{if(this._messageBuffer)return this._messageBuffer._resend()}),this.connection.features.inherentKeepAlive||await this._sendMessage(this._cachedPingMessage)}catch(e){throw this._logger.log(I.Debug,`Hub handshake failed with error '${e}' during start(). Stopping HubConnection.`),this._cleanupTimeout(),this._cleanupPingTimer(),await this.connection.stop(e),e}}async stop(){let e=this._startPromise;this.connection.features.reconnect=!1,this._stopPromise=this._stopInternal(),await this._stopPromise;try{await e}catch{}}_stopInternal(e){if(this._connectionState===B.Disconnected)return this._logger.log(I.Debug,`Call to HubConnection.stop(${e}) ignored because it is already in the disconnected state.`),Promise.resolve();if(this._connectionState===B.Disconnecting)return this._logger.log(I.Debug,`Call to HttpConnection.stop(${e}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;let t=this._connectionState;return this._connectionState=B.Disconnecting,this._logger.log(I.Debug,`Stopping HubConnection.`),this._reconnectDelayHandle?(this._logger.log(I.Debug,`Connection stopped during reconnect delay. Done reconnecting.`),clearTimeout(this._reconnectDelayHandle),this._reconnectDelayHandle=void 0,this._completeClose(),Promise.resolve()):(t===B.Connected&&this._sendCloseMessage(),this._cleanupTimeout(),this._cleanupPingTimer(),this._stopDuringStartError=e||new m_(`The connection was stopped before the hub handshake could complete.`),this.connection.stop(e))}async _sendCloseMessage(){try{await this._sendWithProtocol(this._createCloseMessage())}catch{}}stream(e,...t){let[n,r]=this._replaceStreamingParams(t),i=this._createStreamInvocation(e,t,r),a,o=new W_;return o.cancelCallback=()=>{let e=this._createCancelInvocation(i.invocationId);return delete this._callbacks[i.invocationId],a.then(()=>this._sendWithProtocol(e))},this._callbacks[i.invocationId]=(e,t)=>{if(t){o.error(t);return}else e&&(e.type===z.Completion?e.error?o.error(Error(e.error)):o.complete():o.next(e.item))},a=this._sendWithProtocol(i).catch(e=>{o.error(e),delete this._callbacks[i.invocationId]}),this._launchStreams(n,a),o}_sendMessage(e){return this._resetKeepAliveInterval(),this.connection.send(e)}_sendWithProtocol(e){return this._messageBuffer?this._messageBuffer._send(e):this._sendMessage(this._protocol.writeMessage(e))}send(e,...t){let[n,r]=this._replaceStreamingParams(t),i=this._sendWithProtocol(this._createInvocation(e,t,!0,r));return this._launchStreams(n,i),i}invoke(e,...t){let[n,r]=this._replaceStreamingParams(t),i=this._createInvocation(e,t,!1,r);return new Promise((e,t)=>{this._callbacks[i.invocationId]=(n,r)=>{if(r){t(r);return}else n&&(n.type===z.Completion?n.error?t(Error(n.error)):e(n.result):t(Error(`Unexpected message type: ${n.type}`)))};let r=this._sendWithProtocol(i).catch(e=>{t(e),delete this._callbacks[i.invocationId]});this._launchStreams(n,r)})}on(e,t){!e||!t||(e=e.toLowerCase(),this._methods[e]||(this._methods[e]=[]),this._methods[e].indexOf(t)===-1&&this._methods[e].push(t))}off(e,t){if(!e)return;e=e.toLowerCase();let n=this._methods[e];if(n)if(t){let r=n.indexOf(t);r!==-1&&(n.splice(r,1),n.length===0&&delete this._methods[e])}else delete this._methods[e]}onclose(e){e&&this._closedCallbacks.push(e)}onreconnecting(e){e&&this._reconnectingCallbacks.push(e)}onreconnected(e){e&&this._reconnectedCallbacks.push(e)}_processIncomingData(e){if(this._cleanupTimeout(),this._receivedHandshakeResponse||=(e=this._processHandshakeResponse(e),!0),e){let t=this._protocol.parseMessages(e,this._logger);for(let e of t)if(!(this._messageBuffer&&!this._messageBuffer._shouldProcessMessage(e)))switch(e.type){case z.Invocation:this._invokeClientMethod(e).catch(e=>{this._logger.log(I.Error,`Invoke client method threw error: ${I_(e)}`)});break;case z.StreamItem:case z.Completion:{let t=this._callbacks[e.invocationId];if(t){e.type===z.Completion&&delete this._callbacks[e.invocationId];try{t(e)}catch(e){this._logger.log(I.Error,`Stream callback threw error: ${I_(e)}`)}}break}case z.Ping:break;case z.Close:{this._logger.log(I.Information,`Close message received from server.`);let t=e.error?Error(`Server returned an error on close: `+e.error):void 0;e.allowReconnect===!0?this.connection.stop(t):this._stopPromise=this._stopInternal(t);break}case z.Ack:this._messageBuffer&&this._messageBuffer._ack(e);break;case z.Sequence:this._messageBuffer&&this._messageBuffer._resetSequence(e);break;default:this._logger.log(I.Warning,`Invalid message type: ${e.type}.`);break}}this._resetTimeoutPeriod()}_processHandshakeResponse(e){let t,n;try{[n,t]=this._handshakeProtocol.parseHandshakeResponse(e)}catch(e){let t=`Error parsing handshake response: `+e;this._logger.log(I.Error,t);let n=Error(t);throw this._handshakeRejecter(n),n}if(t.error){let e=`Server returned handshake error: `+t.error;this._logger.log(I.Error,e);let n=Error(e);throw this._handshakeRejecter(n),n}else this._logger.log(I.Debug,`Server handshake complete.`);return this._handshakeResolver(),n}_resetKeepAliveInterval(){this.connection.features.inherentKeepAlive||(this._nextKeepAlive=new Date().getTime()+this.keepAliveIntervalInMilliseconds,this._cleanupPingTimer())}_resetTimeoutPeriod(){if(!this.connection.features||!this.connection.features.inherentKeepAlive){this._timeoutHandle=setTimeout(()=>this.serverTimeout(),this.serverTimeoutInMilliseconds);let e=this._nextKeepAlive-new Date().getTime();if(e<0){this._connectionState===B.Connected&&this._trySendPingMessage();return}this._pingServerHandle===void 0&&(e<0&&(e=0),this._pingServerHandle=setTimeout(async()=>{this._connectionState===B.Connected&&await this._trySendPingMessage()},e))}}serverTimeout(){this.connection.stop(Error(`Server timeout elapsed without receiving a message from the server.`))}async _invokeClientMethod(e){let t=e.target.toLowerCase(),n=this._methods[t];if(!n){this._logger.log(I.Warning,`No client method with the name '${t}' found.`),e.invocationId&&(this._logger.log(I.Warning,`No result given for '${t}' method and invocation ID '${e.invocationId}'.`),await this._sendWithProtocol(this._createCompletionMessage(e.invocationId,`Client didn't provide a result.`,null)));return}let r=n.slice(),i=!!e.invocationId,a,o,s;for(let n of r)try{let r=a;a=await n.apply(this,e.arguments),i&&a&&r&&(this._logger.log(I.Error,`Multiple results provided for '${t}'. Sending error to server.`),s=this._createCompletionMessage(e.invocationId,`Client provided multiple results.`,null)),o=void 0}catch(e){o=e,this._logger.log(I.Error,`A callback for the method '${t}' threw error '${e}'.`)}s?await this._sendWithProtocol(s):i?(o?s=this._createCompletionMessage(e.invocationId,`${o}`,null):a===void 0?(this._logger.log(I.Warning,`No result given for '${t}' method and invocation ID '${e.invocationId}'.`),s=this._createCompletionMessage(e.invocationId,`Client didn't provide a result.`,null)):s=this._createCompletionMessage(e.invocationId,null,a),await this._sendWithProtocol(s)):a&&this._logger.log(I.Error,`Result given for '${t}' method but server is not expecting a result.`)}_connectionClosed(e){this._logger.log(I.Debug,`HubConnection.connectionClosed(${e}) called while in state ${this._connectionState}.`),this._stopDuringStartError=this._stopDuringStartError||e||new m_(`The underlying connection was closed before the hub handshake could complete.`),this._handshakeResolver&&this._handshakeResolver(),this._cancelCallbacksWithError(e||Error(`Invocation canceled due to the underlying connection being closed.`)),this._cleanupTimeout(),this._cleanupPingTimer(),this._connectionState===B.Disconnecting?this._completeClose(e):this._connectionState===B.Connected&&this._reconnectPolicy?this._reconnect(e):this._connectionState===B.Connected&&this._completeClose(e)}_completeClose(e){if(this._connectionStarted){this._connectionState=B.Disconnected,this._connectionStarted=!1,this._messageBuffer&&=(this._messageBuffer._dispose(e??Error(`Connection closed.`)),void 0),R.isBrowser&&window.document.removeEventListener(`freeze`,this._freezeEventListener);try{this._closedCallbacks.forEach(t=>t.apply(this,[e]))}catch(t){this._logger.log(I.Error,`An onclose callback called with error '${e}' threw error '${t}'.`)}}}async _reconnect(e){let t=Date.now(),n=0,r=e===void 0?Error(`Attempting to reconnect due to a unknown error.`):e,i=this._getNextRetryDelay(n,0,r);if(i===null){this._logger.log(I.Debug,`Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt.`),this._completeClose(e);return}if(this._connectionState=B.Reconnecting,e?this._logger.log(I.Information,`Connection reconnecting because of error '${e}'.`):this._logger.log(I.Information,`Connection reconnecting.`),this._reconnectingCallbacks.length!==0){try{this._reconnectingCallbacks.forEach(t=>t.apply(this,[e]))}catch(t){this._logger.log(I.Error,`An onreconnecting callback called with error '${e}' threw error '${t}'.`)}if(this._connectionState!==B.Reconnecting){this._logger.log(I.Debug,`Connection left the reconnecting state in onreconnecting callback. Done reconnecting.`);return}}for(;i!==null;){if(this._logger.log(I.Information,`Reconnect attempt number ${n+1} will start in ${i} ms.`),await new Promise(e=>{this._reconnectDelayHandle=setTimeout(e,i)}),this._reconnectDelayHandle=void 0,this._connectionState!==B.Reconnecting){this._logger.log(I.Debug,`Connection left the reconnecting state during reconnect delay. Done reconnecting.`);return}try{if(await this._startInternal(),this._connectionState=B.Connected,this._logger.log(I.Information,`HubConnection reconnected successfully.`),this._reconnectedCallbacks.length!==0)try{this._reconnectedCallbacks.forEach(e=>e.apply(this,[this.connection.connectionId]))}catch(e){this._logger.log(I.Error,`An onreconnected callback called with connectionId '${this.connection.connectionId}; threw error '${e}'.`)}return}catch(e){if(this._logger.log(I.Information,`Reconnect attempt failed because of error '${e}'.`),this._connectionState!==B.Reconnecting){this._logger.log(I.Debug,`Connection moved to the '${this._connectionState}' from the reconnecting state during reconnect attempt. Done reconnecting.`),this._connectionState===B.Disconnecting&&this._completeClose();return}n++,r=e instanceof Error?e:Error(e.toString()),i=this._getNextRetryDelay(n,Date.now()-t,r)}}this._logger.log(I.Information,`Reconnect retries have been exhausted after ${Date.now()-t} ms and ${n} failed attempts. Connection disconnecting.`),this._completeClose()}_getNextRetryDelay(e,t,n){try{return this._reconnectPolicy.nextRetryDelayInMilliseconds({elapsedMilliseconds:t,previousRetryCount:e,retryReason:n})}catch(n){return this._logger.log(I.Error,`IRetryPolicy.nextRetryDelayInMilliseconds(${e}, ${t}) threw error '${n}'.`),null}}_cancelCallbacksWithError(e){let t=this._callbacks;this._callbacks={},Object.keys(t).forEach(n=>{let r=t[n];try{r(null,e)}catch(t){this._logger.log(I.Error,`Stream 'error' callback called with '${e}' threw error: ${I_(t)}`)}})}_cleanupPingTimer(){this._pingServerHandle&&=(clearTimeout(this._pingServerHandle),void 0)}_cleanupTimeout(){this._timeoutHandle&&clearTimeout(this._timeoutHandle)}_createInvocation(e,t,n,r){if(n)return r.length===0?{target:e,arguments:t,type:z.Invocation}:{target:e,arguments:t,streamIds:r,type:z.Invocation};{let n=this._invocationId;return this._invocationId++,r.length===0?{target:e,arguments:t,invocationId:n.toString(),type:z.Invocation}:{target:e,arguments:t,invocationId:n.toString(),streamIds:r,type:z.Invocation}}}_launchStreams(e,t){if(e.length!==0){t||=Promise.resolve();for(let n in e)e[n].subscribe({complete:()=>{t=t.then(()=>this._sendWithProtocol(this._createCompletionMessage(n)))},error:e=>{let r;r=e instanceof Error?e.message:e&&e.toString?e.toString():`Unknown error`,t=t.then(()=>this._sendWithProtocol(this._createCompletionMessage(n,r)))},next:e=>{t=t.then(()=>this._sendWithProtocol(this._createStreamItemMessage(n,e)))}})}}_replaceStreamingParams(e){let t=[],n=[];for(let r=0;r<e.length;r++){let i=e[r];if(this._isObservable(i)){let a=this._invocationId;this._invocationId++,t[a]=i,n.push(a.toString()),e.splice(r,1)}}return[t,n]}_isObservable(e){return e&&e.subscribe&&typeof e.subscribe==`function`}_createStreamInvocation(e,t,n){let r=this._invocationId;return this._invocationId++,n.length===0?{target:e,arguments:t,invocationId:r.toString(),type:z.StreamInvocation}:{target:e,arguments:t,invocationId:r.toString(),streamIds:n,type:z.StreamInvocation}}_createCancelInvocation(e){return{invocationId:e,type:z.CancelInvocation}}_createStreamItemMessage(e,t){return{invocationId:e,item:t,type:z.StreamItem}}_createCompletionMessage(e,t,n){return t?{error:t,invocationId:e,type:z.Completion}:{invocationId:e,result:n,type:z.Completion}}_createCloseMessage(){return{type:z.Close}}async _trySendPingMessage(){try{await this._sendMessage(this._cachedPingMessage)}catch{this._cleanupPingTimer()}}},Z_=[0,2e3,1e4,3e4,null],Q_=class{constructor(e){this._retryDelays=e===void 0?Z_:[...e,null]}nextRetryDelayInMilliseconds(e){return this._retryDelays[e.previousRetryCount]}},$_=class{};$_.Authorization=`Authorization`,$_.Cookie=`Cookie`;var ev=class extends x_{constructor(e,t){super(),this._innerClient=e,this._accessTokenFactory=t}async send(e){let t=!0;this._accessTokenFactory&&(!this._accessToken||e.url&&e.url.indexOf(`/negotiate?`)>0)&&(t=!1,this._accessToken=await this._accessTokenFactory()),this._setAuthorizationHeader(e);let n=await this._innerClient.send(e);return t&&n.statusCode===401&&this._accessTokenFactory?(this._accessToken=await this._accessTokenFactory(),this._setAuthorizationHeader(e),await this._innerClient.send(e)):n}_setAuthorizationHeader(e){e.headers||={},this._accessToken?e.headers[$_.Authorization]=`Bearer ${this._accessToken}`:this._accessTokenFactory&&e.headers[$_.Authorization]&&delete e.headers[$_.Authorization]}getCookieString(e){return this._innerClient.getCookieString(e)}},V;(function(e){e[e.None=0]=`None`,e[e.WebSockets=1]=`WebSockets`,e[e.ServerSentEvents=2]=`ServerSentEvents`,e[e.LongPolling=4]=`LongPolling`})(V||={});var tv;(function(e){e[e.Text=1]=`Text`,e[e.Binary=2]=`Binary`})(tv||={});var nv=class{constructor(){this._isAborted=!1,this.onabort=null}abort(){this._isAborted||(this._isAborted=!0,this.onabort&&this.onabort())}get signal(){return this}get aborted(){return this._isAborted}},rv=class{get pollAborted(){return this._pollAbort.aborted}constructor(e,t,n){this._httpClient=e,this._logger=t,this._pollAbort=new nv,this._options=n,this._running=!1,this.onreceive=null,this.onclose=null}async connect(e,t){if(L.isRequired(e,`url`),L.isRequired(t,`transferFormat`),L.isIn(t,tv,`transferFormat`),this._url=e,this._logger.log(I.Trace,`(LongPolling transport) Connecting.`),t===tv.Binary&&typeof XMLHttpRequest<`u`&&typeof new XMLHttpRequest().responseType!=`string`)throw Error(`Binary protocols over XmlHttpRequest not implementing advanced features are not supported.`);let[n,r]=j_(),i={[n]:r,...this._options.headers},a={abortSignal:this._pollAbort.signal,headers:i,timeout:1e5,withCredentials:this._options.withCredentials};t===tv.Binary&&(a.responseType=`arraybuffer`);let o=`${e}&_=${Date.now()}`;this._logger.log(I.Trace,`(LongPolling transport) polling: ${o}.`);let s=await this._httpClient.get(o,a);s.statusCode===200?this._running=!0:(this._logger.log(I.Error,`(LongPolling transport) Unexpected response code: ${s.statusCode}.`),this._closeError=new f_(s.statusText||``,s.statusCode),this._running=!1),this._receiving=this._poll(this._url,a)}async _poll(e,t){try{for(;this._running;)try{let n=`${e}&_=${Date.now()}`;this._logger.log(I.Trace,`(LongPolling transport) polling: ${n}.`);let r=await this._httpClient.get(n,t);r.statusCode===204?(this._logger.log(I.Information,`(LongPolling transport) Poll terminated by server.`),this._running=!1):r.statusCode===200?r.content?(this._logger.log(I.Trace,`(LongPolling transport) data received. ${w_(r.content,this._options.logMessageContent)}.`),this.onreceive&&this.onreceive(r.content)):this._logger.log(I.Trace,`(LongPolling transport) Poll timed out, reissuing.`):(this._logger.log(I.Error,`(LongPolling transport) Unexpected response code: ${r.statusCode}.`),this._closeError=new f_(r.statusText||``,r.statusCode),this._running=!1)}catch(e){this._running?e instanceof p_?this._logger.log(I.Trace,`(LongPolling transport) Poll timed out, reissuing.`):(this._closeError=e,this._running=!1):this._logger.log(I.Trace,`(LongPolling transport) Poll errored after shutdown: ${e.message}`)}}finally{this._logger.log(I.Trace,`(LongPolling transport) Polling complete.`),this.pollAborted||this._raiseOnClose()}}async send(e){return this._running?D_(this._logger,`LongPolling`,this._httpClient,this._url,e,this._options):Promise.reject(Error(`Cannot send until the transport is connected`))}async stop(){this._logger.log(I.Trace,`(LongPolling transport) Stopping polling.`),this._running=!1,this._pollAbort.abort();try{await this._receiving,this._logger.log(I.Trace,`(LongPolling transport) sending DELETE request to ${this._url}.`);let e={},[t,n]=j_();e[t]=n;let r={headers:{...e,...this._options.headers},timeout:this._options.timeout,withCredentials:this._options.withCredentials},i;try{await this._httpClient.delete(this._url,r)}catch(e){i=e}i?i instanceof f_&&(i.statusCode===404?this._logger.log(I.Trace,`(LongPolling transport) A 404 response was returned from sending a DELETE request.`):this._logger.log(I.Trace,`(LongPolling transport) Error sending a DELETE request: ${i}`)):this._logger.log(I.Trace,`(LongPolling transport) DELETE request accepted.`)}finally{this._logger.log(I.Trace,`(LongPolling transport) Stop finished.`),this._raiseOnClose()}}_raiseOnClose(){if(this.onclose){let e=`(LongPolling transport) Firing onclose event.`;this._closeError&&(e+=` Error: `+this._closeError),this._logger.log(I.Trace,e),this.onclose(this._closeError)}}},iv=class{constructor(e,t,n,r){this._httpClient=e,this._accessToken=t,this._logger=n,this._options=r,this.onreceive=null,this.onclose=null}async connect(e,t){return L.isRequired(e,`url`),L.isRequired(t,`transferFormat`),L.isIn(t,tv,`transferFormat`),this._logger.log(I.Trace,`(SSE transport) Connecting.`),this._url=e,this._accessToken&&(e+=(e.indexOf(`?`)<0?`?`:`&`)+`access_token=${encodeURIComponent(this._accessToken)}`),new Promise((n,r)=>{let i=!1;if(t!==tv.Text){r(Error(`The Server-Sent Events transport only supports the 'Text' transfer format`));return}let a;if(R.isBrowser||R.isWebWorker)a=new this._options.EventSource(e,{withCredentials:this._options.withCredentials});else{let t=this._httpClient.getCookieString(e),n={};n.Cookie=t;let[r,i]=j_();n[r]=i,a=new this._options.EventSource(e,{withCredentials:this._options.withCredentials,headers:{...n,...this._options.headers}})}try{a.onmessage=e=>{if(this.onreceive)try{this._logger.log(I.Trace,`(SSE transport) data received. ${w_(e.data,this._options.logMessageContent)}.`),this.onreceive(e.data)}catch(e){this._close(e);return}},a.onerror=e=>{i?this._close():r(Error(`EventSource failed to connect. The connection could not be found on the server, either the connection ID is not present on the server, or a proxy is refusing/buffering the connection. If you have multiple servers check that sticky sessions are enabled.`))},a.onopen=()=>{this._logger.log(I.Information,`SSE connected to ${this._url}`),this._eventSource=a,i=!0,n()}}catch(e){r(e);return}})}async send(e){return this._eventSource?D_(this._logger,`SSE`,this._httpClient,this._url,e,this._options):Promise.reject(Error(`Cannot send until the transport is connected`))}stop(){return this._close(),Promise.resolve()}_close(e){this._eventSource&&(this._eventSource.close(),this._eventSource=void 0,this.onclose&&this.onclose(e))}},av=class{constructor(e,t,n,r,i,a){this._logger=n,this._accessTokenFactory=t,this._logMessageContent=r,this._webSocketConstructor=i,this._httpClient=e,this.onreceive=null,this.onclose=null,this._headers=a}async connect(e,t){L.isRequired(e,`url`),L.isRequired(t,`transferFormat`),L.isIn(t,tv,`transferFormat`),this._logger.log(I.Trace,`(WebSockets transport) Connecting.`);let n;return this._accessTokenFactory&&(n=await this._accessTokenFactory()),new Promise((r,i)=>{e=e.replace(/^http/,`ws`);let a,o=this._httpClient.getCookieString(e),s=!1;if(R.isNode||R.isReactNative){let t={},[r,i]=j_();t[r]=i,n&&(t[$_.Authorization]=`Bearer ${n}`),o&&(t[$_.Cookie]=o),a=new this._webSocketConstructor(e,void 0,{headers:{...t,...this._headers}})}else n&&(e+=(e.indexOf(`?`)<0?`?`:`&`)+`access_token=${encodeURIComponent(n)}`);a||=new this._webSocketConstructor(e),t===tv.Binary&&(a.binaryType=`arraybuffer`),a.onopen=t=>{this._logger.log(I.Information,`WebSocket connected to ${e}.`),this._webSocket=a,s=!0,r()},a.onerror=e=>{let t=null;t=typeof ErrorEvent<`u`&&e instanceof ErrorEvent?e.error:`There was an error with the transport`,this._logger.log(I.Information,`(WebSockets transport) ${t}.`)},a.onmessage=e=>{if(this._logger.log(I.Trace,`(WebSockets transport) data received. ${w_(e.data,this._logMessageContent)}.`),this.onreceive)try{this.onreceive(e.data)}catch(e){this._close(e);return}},a.onclose=e=>{if(s)this._close(e);else{let t=null;t=typeof ErrorEvent<`u`&&e instanceof ErrorEvent?e.error:`WebSocket failed to connect. The connection could not be found on the server, either the endpoint may not be a SignalR endpoint, the connection ID is not present on the server, or there is a proxy blocking WebSockets. If you have multiple servers check that sticky sessions are enabled.`,i(Error(t))}}})}send(e){return this._webSocket&&this._webSocket.readyState===this._webSocketConstructor.OPEN?(this._logger.log(I.Trace,`(WebSockets transport) sending data. ${w_(e,this._logMessageContent)}.`),this._webSocket.send(e),Promise.resolve()):Promise.reject(`WebSocket is not in the OPEN state`)}stop(){return this._webSocket&&this._close(void 0),Promise.resolve()}_close(e){this._webSocket&&=(this._webSocket.onclose=()=>{},this._webSocket.onmessage=()=>{},this._webSocket.onerror=()=>{},this._webSocket.close(),void 0),this._logger.log(I.Trace,`(WebSockets transport) socket closed.`),this.onclose&&(this._isCloseEvent(e)&&(e.wasClean===!1||e.code!==1e3)?this.onclose(Error(`WebSocket closed with status code: ${e.code} (${e.reason||`no reason given`}).`)):e instanceof Error?this.onclose(e):this.onclose())}_isCloseEvent(e){return e&&typeof e.wasClean==`boolean`&&typeof e.code==`number`}},ov=100,sv=class{constructor(e,t={}){if(this._stopPromiseResolver=()=>{},this.features={},this._negotiateVersion=1,L.isRequired(e,`url`),this._logger=O_(t.logger),this.baseUrl=this._resolveUrl(e),t||={},t.logMessageContent=t.logMessageContent===void 0?!1:t.logMessageContent,typeof t.withCredentials==`boolean`||t.withCredentials===void 0)t.withCredentials=t.withCredentials===void 0?!0:t.withCredentials;else throw Error(`withCredentials option was not a 'boolean' or 'undefined' value`);t.timeout=t.timeout===void 0?100*1e3:t.timeout;let n=null,r=null;if(R.isNode&&typeof require<`u`){let e=typeof __webpack_require__==`function`?__non_webpack_require__:require;n=e(`ws`),r=e(`eventsource`)}!R.isNode&&typeof WebSocket<`u`&&!t.WebSocket?t.WebSocket=WebSocket:R.isNode&&!t.WebSocket&&n&&(t.WebSocket=n),!R.isNode&&typeof EventSource<`u`&&!t.EventSource?t.EventSource=EventSource:R.isNode&&!t.EventSource&&r!==void 0&&(t.EventSource=r),this._httpClient=new ev(t.httpClient||new V_(this._logger),t.accessTokenFactory),this._connectionState=`Disconnected`,this._connectionStarted=!1,this._options=t,this.onreceive=null,this.onclose=null}async start(e){if(e||=tv.Binary,L.isIn(e,tv,`transferFormat`),this._logger.log(I.Debug,`Starting connection with transfer format '${tv[e]}'.`),this._connectionState!==`Disconnected`)return Promise.reject(Error(`Cannot start an HttpConnection that is not in the 'Disconnected' state.`));if(this._connectionState=`Connecting`,this._startInternalPromise=this._startInternal(e),await this._startInternalPromise,this._connectionState===`Disconnecting`){let e=`Failed to start the HttpConnection before stop() was called.`;return this._logger.log(I.Error,e),await this._stopPromise,Promise.reject(new m_(e))}else if(this._connectionState!==`Connected`){let e=`HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!`;return this._logger.log(I.Error,e),Promise.reject(new m_(e))}this._connectionStarted=!0}send(e){return this._connectionState===`Connected`?(this._sendQueue||=new lv(this.transport),this._sendQueue.send(e)):Promise.reject(Error(`Cannot send data if the connection is not in the 'Connected' State.`))}async stop(e){if(this._connectionState===`Disconnected`)return this._logger.log(I.Debug,`Call to HttpConnection.stop(${e}) ignored because the connection is already in the disconnected state.`),Promise.resolve();if(this._connectionState===`Disconnecting`)return this._logger.log(I.Debug,`Call to HttpConnection.stop(${e}) ignored because the connection is already in the disconnecting state.`),this._stopPromise;this._connectionState=`Disconnecting`,this._stopPromise=new Promise(e=>{this._stopPromiseResolver=e}),await this._stopInternal(e),await this._stopPromise}async _stopInternal(e){this._stopError=e;try{await this._startInternalPromise}catch{}if(this.transport){try{await this.transport.stop()}catch(e){this._logger.log(I.Error,`HttpConnection.transport.stop() threw error '${e}'.`),this._stopConnection()}this.transport=void 0}else this._logger.log(I.Debug,`HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.`)}async _startInternal(e){let t=this.baseUrl;this._accessTokenFactory=this._options.accessTokenFactory,this._httpClient._accessTokenFactory=this._accessTokenFactory;try{if(this._options.skipNegotiation)if(this._options.transport===V.WebSockets)this.transport=this._constructTransport(V.WebSockets),await this._startTransport(t,e);else throw Error(`Negotiation can only be skipped when using the WebSocket transport directly.`);else{let n=null,r=0;do{if(n=await this._getNegotiationResponse(t),this._connectionState===`Disconnecting`||this._connectionState===`Disconnected`)throw new m_(`The connection was stopped during negotiation.`);if(n.error)throw Error(n.error);if(n.ProtocolVersion)throw Error(`Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.`);if(n.url&&(t=n.url),n.accessToken){let e=n.accessToken;this._accessTokenFactory=()=>e,this._httpClient._accessToken=e,this._httpClient._accessTokenFactory=void 0}r++}while(n.url&&r<ov);if(r===ov&&n.url)throw Error(`Negotiate redirection limit exceeded.`);await this._createTransport(t,this._options.transport,n,e)}this.transport instanceof rv&&(this.features.inherentKeepAlive=!0),this._connectionState===`Connecting`&&(this._logger.log(I.Debug,`The HttpConnection connected successfully.`),this._connectionState=`Connected`)}catch(e){return this._logger.log(I.Error,`Failed to start the connection: `+e),this._connectionState=`Disconnected`,this.transport=void 0,this._stopPromiseResolver(),Promise.reject(e)}}async _getNegotiationResponse(e){let t={},[n,r]=j_();t[n]=r;let i=this._resolveNegotiateUrl(e);this._logger.log(I.Debug,`Sending negotiation request: ${i}.`);try{let e=await this._httpClient.post(i,{content:``,headers:{...t,...this._options.headers},timeout:this._options.timeout,withCredentials:this._options.withCredentials});if(e.statusCode!==200)return Promise.reject(Error(`Unexpected status code returned from negotiate '${e.statusCode}'`));let n=JSON.parse(e.content);return(!n.negotiateVersion||n.negotiateVersion<1)&&(n.connectionToken=n.connectionId),n.useStatefulReconnect&&this._options._useStatefulReconnect!==!0?Promise.reject(new v_(`Client didn't negotiate Stateful Reconnect but the server did.`)):n}catch(e){let t=`Failed to complete negotiation with the server: `+e;return e instanceof f_&&e.statusCode===404&&(t+=` Either this is not a SignalR endpoint or there is a proxy blocking the connection.`),this._logger.log(I.Error,t),Promise.reject(new v_(t))}}_createConnectUrl(e,t){return t?e+(e.indexOf(`?`)===-1?`?`:`&`)+`id=${t}`:e}async _createTransport(e,t,n,r){let i=this._createConnectUrl(e,n.connectionToken);if(this._isITransport(t)){this._logger.log(I.Debug,`Connection was provided an instance of ITransport, using that directly.`),this.transport=t,await this._startTransport(i,r),this.connectionId=n.connectionId;return}let a=[],o=n.availableTransports||[],s=n;for(let n of o){let o=this._resolveTransportOrError(n,t,r,s?.useStatefulReconnect===!0);if(o instanceof Error)a.push(`${n.transport} failed:`),a.push(o);else if(this._isITransport(o)){if(this.transport=o,!s){try{s=await this._getNegotiationResponse(e)}catch(e){return Promise.reject(e)}i=this._createConnectUrl(e,s.connectionToken)}try{await this._startTransport(i,r),this.connectionId=s.connectionId;return}catch(e){if(this._logger.log(I.Error,`Failed to start the transport '${n.transport}': ${e}`),s=void 0,a.push(new __(`${n.transport} failed: ${e}`,V[n.transport])),this._connectionState!==`Connecting`){let e=`Failed to select transport before stop() was called.`;return this._logger.log(I.Debug,e),Promise.reject(new m_(e))}}}}return a.length>0?Promise.reject(new y_(`Unable to connect to the server with any of the available transports. ${a.join(` `)}`,a)):Promise.reject(Error(`None of the transports supported by the client are supported by the server.`))}_constructTransport(e){switch(e){case V.WebSockets:if(!this._options.WebSocket)throw Error(`'WebSocket' is not supported in your environment.`);return new av(this._httpClient,this._accessTokenFactory,this._logger,this._options.logMessageContent,this._options.WebSocket,this._options.headers||{});case V.ServerSentEvents:if(!this._options.EventSource)throw Error(`'EventSource' is not supported in your environment.`);return new iv(this._httpClient,this._httpClient._accessToken,this._logger,this._options);case V.LongPolling:return new rv(this._httpClient,this._logger,this._options);default:throw Error(`Unknown transport: ${e}.`)}}_startTransport(e,t){return this.transport.onreceive=this.onreceive,this.features.reconnect?this.transport.onclose=async n=>{let r=!1;if(this.features.reconnect)try{this.features.disconnected(),await this.transport.connect(e,t),await this.features.resend()}catch{r=!0}else{this._stopConnection(n);return}r&&this._stopConnection(n)}:this.transport.onclose=e=>this._stopConnection(e),this.transport.connect(e,t)}_resolveTransportOrError(e,t,n,r){let i=V[e.transport];if(i==null)return this._logger.log(I.Debug,`Skipping transport '${e.transport}' because it is not supported by this client.`),Error(`Skipping transport '${e.transport}' because it is not supported by this client.`);if(cv(t,i))if(e.transferFormats.map(e=>tv[e]).indexOf(n)>=0){if(i===V.WebSockets&&!this._options.WebSocket||i===V.ServerSentEvents&&!this._options.EventSource)return this._logger.log(I.Debug,`Skipping transport '${V[i]}' because it is not supported in your environment.'`),new h_(`'${V[i]}' is not supported in your environment.`,i);this._logger.log(I.Debug,`Selecting transport '${V[i]}'.`);try{return this.features.reconnect=i===V.WebSockets?r:void 0,this._constructTransport(i)}catch(e){return e}}else return this._logger.log(I.Debug,`Skipping transport '${V[i]}' because it does not support the requested transfer format '${tv[n]}'.`),Error(`'${V[i]}' does not support ${tv[n]}.`);else return this._logger.log(I.Debug,`Skipping transport '${V[i]}' because it was disabled by the client.`),new g_(`'${V[i]}' is disabled by the client.`,i)}_isITransport(e){return e&&typeof e==`object`&&`connect`in e}_stopConnection(e){if(this._logger.log(I.Debug,`HttpConnection.stopConnection(${e}) called while in state ${this._connectionState}.`),this.transport=void 0,e=this._stopError||e,this._stopError=void 0,this._connectionState===`Disconnected`){this._logger.log(I.Debug,`Call to HttpConnection.stopConnection(${e}) was ignored because the connection is already in the disconnected state.`);return}if(this._connectionState===`Connecting`)throw this._logger.log(I.Warning,`Call to HttpConnection.stopConnection(${e}) was ignored because the connection is still in the connecting state.`),Error(`HttpConnection.stopConnection(${e}) was called while the connection is still in the connecting state.`);if(this._connectionState===`Disconnecting`&&this._stopPromiseResolver(),e?this._logger.log(I.Error,`Connection disconnected with error '${e}'.`):this._logger.log(I.Information,`Connection disconnected.`),this._sendQueue&&=(this._sendQueue.stop().catch(e=>{this._logger.log(I.Error,`TransportSendQueue.stop() threw error '${e}'.`)}),void 0),this.connectionId=void 0,this._connectionState=`Disconnected`,this._connectionStarted){this._connectionStarted=!1;try{this.onclose&&this.onclose(e)}catch(t){this._logger.log(I.Error,`HttpConnection.onclose(${e}) threw error '${t}'.`)}}}_resolveUrl(e){if(e.lastIndexOf(`https://`,0)===0||e.lastIndexOf(`http://`,0)===0)return e;if(!R.isBrowser)throw Error(`Cannot resolve '${e}'.`);let t=window.document.createElement(`a`);return t.href=e,this._logger.log(I.Information,`Normalizing '${e}' to '${t.href}'.`),t.href}_resolveNegotiateUrl(e){let t=new URL(e);t.pathname.endsWith(`/`)?t.pathname+=`negotiate`:t.pathname+=`/negotiate`;let n=new URLSearchParams(t.searchParams);return n.has(`negotiateVersion`)||n.append(`negotiateVersion`,this._negotiateVersion.toString()),n.has(`useStatefulReconnect`)?n.get(`useStatefulReconnect`)===`true`&&(this._options._useStatefulReconnect=!0):this._options._useStatefulReconnect===!0&&n.append(`useStatefulReconnect`,`true`),t.search=n.toString(),t.toString()}};function cv(e,t){return!e||(t&e)!==0}var lv=class e{constructor(e){this._transport=e,this._buffer=[],this._executing=!0,this._sendBufferedData=new uv,this._transportResult=new uv,this._sendLoopPromise=this._sendLoop()}send(e){return this._bufferData(e),this._transportResult||=new uv,this._transportResult.promise}stop(){return this._executing=!1,this._sendBufferedData.resolve(),this._sendLoopPromise}_bufferData(e){if(this._buffer.length&&typeof this._buffer[0]!=typeof e)throw Error(`Expected data to be of type ${typeof this._buffer} but was of type ${typeof e}`);this._buffer.push(e),this._sendBufferedData.resolve()}async _sendLoop(){for(;;){if(await this._sendBufferedData.promise,!this._executing){this._transportResult&&this._transportResult.reject(`Connection stopped.`);break}this._sendBufferedData=new uv;let t=this._transportResult;this._transportResult=void 0;let n=typeof this._buffer[0]==`string`?this._buffer.join(``):e._concatBuffers(this._buffer);this._buffer.length=0;try{await this._transport.send(n),t.resolve()}catch(e){t.reject(e)}}}static _concatBuffers(e){let t=e.map(e=>e.byteLength).reduce((e,t)=>e+t),n=new Uint8Array(t),r=0;for(let t of e)n.set(new Uint8Array(t),r),r+=t.byteLength;return n.buffer}},uv=class{constructor(){this.promise=new Promise((e,t)=>[this._resolver,this._rejecter]=[e,t])}resolve(){this._resolver()}reject(e){this._rejecter(e)}},dv=`json`,fv=class{constructor(){this.name=dv,this.version=2,this.transferFormat=tv.Text}parseMessages(e,t){if(typeof e!=`string`)throw Error(`Invalid input for JSON hub protocol. Expected a string.`);if(!e)return[];t===null&&(t=S_.instance);let n=H_.parse(e),r=[];for(let e of n){let n=JSON.parse(e);if(typeof n.type!=`number`)throw Error(`Invalid payload.`);switch(n.type){case z.Invocation:this._isInvocationMessage(n);break;case z.StreamItem:this._isStreamItemMessage(n);break;case z.Completion:this._isCompletionMessage(n);break;case z.Ping:break;case z.Close:break;case z.Ack:this._isAckMessage(n);break;case z.Sequence:this._isSequenceMessage(n);break;default:t.log(I.Information,`Unknown message type '`+n.type+`' ignored.`);continue}r.push(n)}return r}writeMessage(e){return H_.write(JSON.stringify(e))}_isInvocationMessage(e){this._assertNotEmptyString(e.target,`Invalid payload for Invocation message.`),e.invocationId!==void 0&&this._assertNotEmptyString(e.invocationId,`Invalid payload for Invocation message.`)}_isStreamItemMessage(e){if(this._assertNotEmptyString(e.invocationId,`Invalid payload for StreamItem message.`),e.item===void 0)throw Error(`Invalid payload for StreamItem message.`)}_isCompletionMessage(e){if(e.result&&e.error)throw Error(`Invalid payload for Completion message.`);!e.result&&e.error&&this._assertNotEmptyString(e.error,`Invalid payload for Completion message.`),this._assertNotEmptyString(e.invocationId,`Invalid payload for Completion message.`)}_isAckMessage(e){if(typeof e.sequenceId!=`number`)throw Error(`Invalid SequenceId for Ack message.`)}_isSequenceMessage(e){if(typeof e.sequenceId!=`number`)throw Error(`Invalid SequenceId for Sequence message.`)}_assertNotEmptyString(e,t){if(typeof e!=`string`||e===``)throw Error(t)}},pv={trace:I.Trace,debug:I.Debug,info:I.Information,information:I.Information,warn:I.Warning,warning:I.Warning,error:I.Error,critical:I.Critical,none:I.None};function mv(e){let t=pv[e.toLowerCase()];if(t!==void 0)return t;throw Error(`Unknown log level: ${e}`)}var hv=class{configureLogging(e){if(L.isRequired(e,`logging`),gv(e))this.logger=e;else if(typeof e==`string`){let t=mv(e);this.logger=new A_(t)}else this.logger=new A_(e);return this}withUrl(e,t){return L.isRequired(e,`url`),L.isNotEmpty(e,`url`),this.url=e,typeof t==`object`?this.httpConnectionOptions={...this.httpConnectionOptions,...t}:this.httpConnectionOptions={...this.httpConnectionOptions,transport:t},this}withHubProtocol(e){return L.isRequired(e,`protocol`),this.protocol=e,this}withAutomaticReconnect(e){if(this.reconnectPolicy)throw Error(`A reconnectPolicy has already been set.`);return e?Array.isArray(e)?this.reconnectPolicy=new Q_(e):this.reconnectPolicy=e:this.reconnectPolicy=new Q_,this}withServerTimeout(e){return L.isRequired(e,`milliseconds`),this._serverTimeoutInMilliseconds=e,this}withKeepAliveInterval(e){return L.isRequired(e,`milliseconds`),this._keepAliveIntervalInMilliseconds=e,this}withStatefulReconnect(e){return this.httpConnectionOptions===void 0&&(this.httpConnectionOptions={}),this.httpConnectionOptions._useStatefulReconnect=!0,this._statefulReconnectBufferSize=e?.bufferSize,this}build(){let e=this.httpConnectionOptions||{};if(e.logger===void 0&&(e.logger=this.logger),!this.url)throw Error(`The 'HubConnectionBuilder.withUrl' method must be called before building the connection.`);let t=new sv(this.url,e);return X_.create(t,this.logger||S_.instance,this.protocol||new fv,this.reconnectPolicy,this._serverTimeoutInMilliseconds,this._keepAliveIntervalInMilliseconds,this._statefulReconnectBufferSize)}};function gv(e){return e.log!==void 0}var _v=15e3,vv=5,yv=(e,t=Math.random)=>{let n=Math.min(_v,1e3*2**Math.min(Math.max(e,0),vv));return Math.round(t()*n)},bv=class{nextRetryDelayInMilliseconds(e){return yv(e.previousRetryCount)}},xv=e=>({log(t,n){t>=I.Error?e.error(n):t>=I.Warning?e.warn(n):e.debug(n)}}),Sv=e=>{switch(e){case B.Connected:return`connected`;case B.Connecting:return`connecting`;case B.Reconnecting:return`reconnecting`;case B.Disconnected:case B.Disconnecting:return`disconnected`;default:return`disconnected`}},Cv=class{connection;logger;statusHandlers=new Set;starting=null;intentionallyStopped=!0;reconnectTimer=null;reconnectAttempt=0;constructor(e,t){this.logger=t.child(`realtime`),this.connection=new hv().withUrl(e.url,{accessTokenFactory:()=>e.accessTokenProvider()??``}).withAutomaticReconnect(new bv).configureLogging(xv(this.logger)).build(),this.connection.onreconnecting(()=>{this.emitStatus(`reconnecting`)}),this.connection.onreconnected(()=>{this.reconnectAttempt=0,this.emitStatus(`connected`)}),this.connection.onclose(()=>{this.emitStatus(`disconnected`),this.scheduleReconnect()})}get status(){return Sv(this.connection.state)}async start(){if(this.intentionallyStopped=!1,this.clearReconnectTimer(),this.connection.state===B.Disconnecting)for(;this.connection.state===B.Disconnecting;)await new Promise(e=>setTimeout(e,50));if(this.connection.state===B.Disconnected)return this.starting===null?(this.emitStatus(`connecting`),this.starting=this.connection.start().then(()=>{this.reconnectAttempt=0,this.emitStatus(`connected`)}).catch(e=>{throw this.emitStatus(`disconnected`),this.logger.warn(`Realtime connection failed to start`),e}).finally(()=>{this.starting=null}),this.starting):this.starting}async stop(){this.intentionallyStopped=!0,this.clearReconnectTimer(),await this.connection.stop(),this.emitStatus(`disconnected`)}on(e,t){let n=e=>{t(e)};return this.connection.on(e,n),()=>{this.connection.off(e,n)}}invoke(e,...t){return this.connection.invoke(e,...t)}onStatusChange(e){return this.statusHandlers.add(e),e(this.status),()=>{this.statusHandlers.delete(e)}}scheduleReconnect(){if(this.intentionallyStopped)return;this.clearReconnectTimer();let e=yv(this.reconnectAttempt);this.reconnectAttempt+=1,this.reconnectTimer=setTimeout(()=>{this.reconnectNow()},e)}async reconnectNow(){if(this.reconnectTimer=null,!(this.intentionallyStopped||this.connection.state!==B.Disconnected)){if(!this.isOnline()){this.scheduleReconnect();return}this.emitStatus(`reconnecting`);try{await this.connection.start(),this.reconnectAttempt=0,this.emitStatus(`connected`)}catch{this.emitStatus(`disconnected`),this.scheduleReconnect()}}}clearReconnectTimer(){this.reconnectTimer!==null&&(clearTimeout(this.reconnectTimer),this.reconnectTimer=null)}isOnline(){return typeof navigator>`u`?!0:navigator.onLine}emitStatus(e){for(let t of this.statusHandlers)t(e)}},wv=class{logger;constructor(e){this.logger=e.logger}create(e){return new Cv(e,this.logger)}},Tv=class{status=`disconnected`;async start(){return Promise.resolve()}async stop(){return Promise.resolve()}on(e,t){return()=>{}}async invoke(e,...t){return Promise.reject(Error(`Cannot invoke method on NullRealtimeConnection`))}onStatusChange(e){return()=>{}}},Ev=`/api/app/sdk-capabilities`,Dv=n.dt({apiVersion:n.pt(),modules:n.it(n.pt())}),Ov=e=>{let t=new Set;for(let n of e.modules)i_(n)&&t.add(r_[n]);return{grantedModules:t,grantedPolicies:new Set,canManageUserAccess:!1}},kv=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`sdk-module-access`)}async getModuleAccess(){let e;try{e=await this.httpClient.get(Ev)}catch(e){return this.logger.error(`Failed to fetch SDK capabilities`,{error:e}),n.Bt(new Qr(e))}let t=Dv.safeParse(e);return t.success?n.Ut(Ov(t.data)):(this.logger.error(`Malformed capabilities response`,{error:t.error}),n.Bt(new Qr(t.error)))}},Av=e=>({getModuleAccess:new Jr({moduleAccessGateway:new kv({httpClient:e.httpClient,logger:e.logger}),logger:e.logger}),gateMode:`fail-closed`}),jv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`list-conversations`)}async execute(e){let t=await this.chatGateway.listConversations(e);return t.ok||this.logger.warn(`Listing conversations failed`,{code:t.error.code}),t}},Mv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-conversation`)}async execute(e){let t=await this.chatGateway.getConversation(e);return t.ok||this.logger.warn(`Fetching conversation failed`,{code:t.error.code}),t}},Nv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-conversation-counts`)}async execute(){let e=await this.chatGateway.getConversationCounts();return e.ok||this.logger.warn(`Fetching conversation counts failed`,{code:e.error.code}),e}},Pv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`list-staff`)}async execute(e){let t=await this.chatGateway.listStaff(e);return t.ok||this.logger.warn(`Listing staff failed`,{code:t.error.code}),t}},Fv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-group-member-pool`)}async execute(e){let t=await this.chatGateway.getGroupMemberPool(e);return t.ok||this.logger.warn(`Fetching the group member pool failed`,{code:t.error.code}),t}},Iv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-viewer`)}async execute(){let e=await this.chatGateway.getViewer();return e.ok||this.logger.warn(`Loading viewer failed`,{code:e.error.code}),e}},Lv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-messages`)}async execute(e){let t=await this.chatGateway.getMessages(e,50);return t.ok||this.logger.warn(`Loading messages failed`,{code:t.error.code}),t}},Rv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-messages-since`)}async execute(e,t,n){let r=await this.chatGateway.getMessagesSince(e,t,n);return r.ok||this.logger.warn(`Loading messages since cursor failed`,{code:r.error.code}),r}},zv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`get-messages-before`)}async execute(e,t,n){let r=await this.chatGateway.getMessagesBefore(e,t,n);return r.ok||this.logger.warn(`Loading messages before cursor failed`,{code:r.error.code}),r}},Bv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`start-direct`)}async execute(e){let t=e.trim();return t.length===0?(this.logger.warn(`Rejected start-direct with no recipient`),n.Bt(new zr)):this.chatGateway.startDirect(t)}},Vv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`create-group`)}async execute(e,t){let r=e.trim();return r.length===0?(this.logger.warn(`Rejected group with no title`),n.Bt(new Lr)):t.length===0?(this.logger.warn(`Rejected group with no members`),n.Bt(new Rr)):this.chatGateway.createGroup(r,t)}},Hv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`send-message`)}async execute(e,t,r,i){let a=t.trim();return a.length===0?(this.logger.warn(`Rejected empty message`,{conversationId:e}),n.Bt(new Fr)):a.length>4e3?(this.logger.warn(`Rejected oversized message`,{conversationId:e}),n.Bt(new Ir(4e3))):this.chatGateway.sendMessage(e,a,r,i)}},Uv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`mark-delivered`)}execute(e,t){return this.logger.debug(`Mark delivered`,{conversationId:e,uptoSequence:t}),this.chatGateway.markDelivered(e,t)}},Wv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`mark-read`)}execute(e,t){return this.logger.debug(`Mark read`,{conversationId:e,uptoSequence:t}),this.chatGateway.markRead(e,t)}},Gv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`set-favourite`)}async execute(e,t){return this.logger.info(`Set favourite`,{conversationId:e,favourite:t}),this.chatGateway.setFavourite(e,t)}},Kv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`set-archived`)}async execute(e,t){return this.logger.info(`Set archived`,{conversationId:e,archived:t}),this.chatGateway.setArchived(e,t)}},qv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`set-pinned`)}async execute(e,t){return this.logger.info(`Set pinned`,{conversationId:e,pinned:t}),this.chatGateway.setPinned(e,t)}},Jv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`delete-conversation`)}async execute(e){return this.logger.info(`Delete conversation`,{conversationId:e}),this.chatGateway.deleteConversation(e)}},Yv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`leave-conversation`)}async execute(e){return this.logger.info(`Leave conversation`,{conversationId:e}),this.chatGateway.leaveConversation(e)}},Xv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`refresh-portal`)}async execute(e){return this.logger.info(`Refresh portal data`,{conversationId:e}),this.chatGateway.refreshPortal(e)}},Zv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`react-to-message`)}async execute(e,t,r){return r.trim().length===0?(this.logger.warn(`Rejected empty reaction`,{conversationId:e,messageId:t}),n.Bt(new Pr)):this.chatGateway.reactToMessage(e,t,r)}},Qv=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`save-members`)}async execute(e,t,n){return this.logger.info(`Save members`,{conversationId:e,members:t.length,admins:n.length}),this.chatGateway.saveMembers(e,t,n)}},$v=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`edit-message`)}async execute(e,t,n){let r=n.trim(),i=await this.chatGateway.editMessage(e,t,r);return i.ok||this.logger.warn(`Edit message failed`,{code:i.error.code}),i}},ey=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`delete-message`)}async execute(e,t){let n=await this.chatGateway.deleteMessage(e,t);return n.ok||this.logger.warn(`Delete message failed`,{code:n.error.code}),n}},ty=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`delete-message-for-me`)}async execute(e,t){let n=await this.chatGateway.deleteMessageForMe(e,t);return n.ok||this.logger.warn(`Delete message for me failed`,{code:n.error.code}),n}},ny=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`send-media-message`)}async execute(e){let t=await this.chatGateway.sendMediaMessage(e);return t.ok||this.logger.warn(`Send media message failed`,{code:t.error.code}),t}},ry=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`download-chat-media`)}async execute(e){let t=await this.chatGateway.downloadMedia(e);return t.ok||this.logger.warn(`Downloading media failed`,{code:t.error.code}),t}},iy=class{chatGateway;logger;constructor(e){this.chatGateway=e.chatGateway,this.logger=e.logger.child(`subscribe-push`)}async execute(e){let t=await this.chatGateway.subscribePush(e);return t.ok||this.logger.warn(`Subscribe push failed`,{code:t.error.code}),t}},ay=e=>{let t={chatGateway:new Zm({httpClient:e.httpClient,clock:e.clock,logger:e.logger}),logger:e.logger},n=lh();return{listConversations:new jv(t),getConversation:new Mv(t),getConversationCounts:new Nv(t),listStaff:new Pv(t),getGroupMemberPool:new Fv(t),getViewer:new Iv(t),getMessages:new Lv(t),getMessagesSince:new Rv(t),getMessagesBefore:new zv(t),startDirect:new Bv(t),createGroup:new Vv(t),sendMessage:new Hv(t),sendMediaMessage:new ny(t),downloadChatMedia:new ry(t),editMessage:new $v(t),deleteMessage:new ey(t),deleteMessageForMe:new ty(t),subscribePush:new iy(t),markDelivered:new Uv(t),markRead:new Wv(t),setFavourite:new Gv(t),setArchived:new Kv(t),setPinned:new qv(t),deleteConversation:new Jv(t),leaveConversation:new Yv(t),refreshPortal:new Xv(t),reactToMessage:new Zv(t),saveMembers:new Qv(t),clock:e.clock,realtime:e.realtime,realtimeStore:kr(),logger:e.logger.child(`chat-realtime`),outbox:n}},oy=({module:e,children:t})=>(0,w.jsx)(ci.Provider,{value:e,children:(0,w.jsx)(Ar.Provider,{value:e.realtimeStore,children:t})}),sy=e=>e.connection.on(F.MessageReceived,t=>{let n=yh(t,F.MessageReceived,e.logger);if(n===null)return;let r=e.viewerId()??``,i=Nh(im(n),r);if(e.queryClient.setQueryData(Ni(n.conversationId),e=>ju(e??[],i)),_i(e.queryClient),i.kind===`system`){if(i.text.endsWith(` left the group`)){let t=i.text.slice(0,-15).trim().toLowerCase();bi(e.queryClient,n.conversationId,e=>{let n=e.members.find(e=>e.name.toLowerCase()===t);return n===void 0?e:e.with({members:e.members.filter(e=>e.id!==n.id),adminIds:e.adminIds.filter(e=>e!==n.id)})})}e.queryClient.refetchQueries({queryKey:di(n.conversationId)})}}),cy=(e,t,n)=>e.connection.on(t,r=>{let i=bh(r,t,e.logger);i===null||i.byUserId===e.viewerId()||e.store.getState().applyReceipt(i.conversationId,i.byUserId,n,i.uptoSequence)}),ly=e=>e.connection.on(F.Typing,t=>{let n=xh(t,F.Typing,e.logger);n===null||n.userId===e.viewerId()||e.store.getState().applyTyping(n.conversationId,n.userId,n.isTyping,Date.now())}),uy=e=>e.connection.on(F.ReactionToggled,t=>{let n=wh(t,F.ReactionToggled,e.logger),r=e.viewerId();n===null||n.byUserId===r||e.queryClient.setQueryData(Ni(n.conversationId),e=>e?.map(e=>e.id===n.messageId?Ti(e,n,r??``):e))}),dy=e=>e.connection.on(F.MessageEdited,t=>{let n=yh(t,F.MessageEdited,e.logger);if(n===null)return;let r=e.viewerId()??``,i=Nh(im(n),r);e.queryClient.setQueryData(Ni(n.conversationId),e=>e?.map(e=>e.id===i.id?i:e)??[i])}),fy=e=>e.connection.on(F.MessageDeleted,t=>{let n=Th(t,F.MessageDeleted,e.logger);n!==null&&(e.queryClient.setQueryData(Ni(n.conversationId),e=>e?.map(e=>e.id===n.messageId?e.asDeletedForEveryone():e)??[]),_i(e.queryClient))}),py=e=>e.connection.on(F.RemovedFromConversation,t=>{let n=Eh(t,F.RemovedFromConversation,e.logger);n!==null&&e.store.getState().markRemovedFromConversation(n.conversationId)}),my=e=>e.connection.on(F.PresenceChanged,t=>{let n=Sh(t,F.PresenceChanged,e.logger);n!==null&&e.store.getState().applyPresence(n.userId,n.online,n.lastSeenUtc)}),hy=e=>e.connection.on(F.StatusChanged,t=>{let n=Ch(t,F.StatusChanged,e.logger);n!==null&&ac(n.userId,Xs(n.status),n.untilUtc??null)}),gy=e=>{let t=[sy(e),dy(e),fy(e),cy(e,F.MessageDelivered,`delivered`),cy(e,F.MessageRead,`read`),ly(e),my(e),hy(e),uy(e),py(e)];return()=>{for(let e of t)e()}},_y=(e,t,n)=>{n.length!==0&&e.setQueryData(Ni(t),e=>n.reduce((e,t)=>ju(e,t),e??[]))},vy=async(e,t,r,i)=>{let a=e.getState().activeConversationId;if(a===null){vi(t);return}let o=Iu(t.getQueryData(Ni(a))??[]);try{_y(t,a,await n.Wt(r.execute(a,o,50)))}catch{i.warn(`Reconnect sync failed; conversation list will still refresh`)}vi(t)},yy=()=>{let{realtime:e,getMessagesSince:t,logger:i}=D(),a=jr(),o=n.F();(0,r.useEffect)(()=>{let n=e.status;return e.onStatusChange(e=>{e===`connected`&&n!==`connected`&&vy(a,o,t,i),n=e})},[e,a,o,t,i])},by=()=>{let{isAuthenticated:e}=Dl(),{realtime:t,logger:i}=D(),a=jr(),o=n.F(),s=Fi();yy();let c=(0,r.useRef)(null);c.current=s.data?.id??null,(0,r.useEffect)(()=>t.onStatusChange(e=>{a.getState().setStatus(e)}),[t,a]),(0,r.useEffect)(()=>gy({connection:t,store:a,queryClient:o,viewerId:()=>c.current,logger:i}),[t,a,o,i]),(0,r.useEffect)(()=>{if(!e){t.stop(),a.getState().clear(),sc();return}return t.start().catch(()=>{}),()=>{t.stop()}},[e,t,a])},xy=({children:e})=>(by(),(0,w.jsx)(w.Fragment,{children:e})),Sy=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`get-post`)}async execute(e){let t=await this.feedGateway.getPost(e);return t.ok||this.logger.warn(`Fetching post by id failed`,{code:t.error.code}),t}},Cy=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`list-feed`)}async execute(e){let t=await this.feedGateway.listPosts(e.scope,e.skipCount,e.maxResultCount);return t.ok||this.logger.warn(`Listing feed failed`,{code:t.error.code,scope:e.scope}),t}},wy=class extends n.Kt{},Ty=class extends wy{code=`FEED_UNAVAILABLE`;constructor(e){super(`The news feed is currently unavailable. Please try again.`,{cause:e})}},Ey=class extends wy{code=`FEED_EMPTY_POST`;constructor(){super(`Write something before posting.`)}},Dy=class{id;authorUserId;authorName;authorInitials;authorColor;authorRole;categoryLabel;categoryColor;audienceLabel;timestamp;createdAt;pinned;mustAcknowledge;acknowledged;title;body;reactions;myReaction;commentCount;comments;seenCount;bookmarked;taggedUserIds;locationLabel;imageUrls;department;audienceId;feelingId;feelingLabel;feelingEmoji;scheduledAt;isRecurring;recurrenceFrequency;constructor(e){this.id=e.id,this.authorUserId=e.authorUserId,this.authorName=e.authorName,this.authorInitials=e.authorInitials,this.authorColor=e.authorColor,this.authorRole=e.authorRole,this.categoryLabel=e.categoryLabel,this.categoryColor=e.categoryColor,this.audienceLabel=e.audienceLabel,this.timestamp=e.timestamp,this.createdAt=e.createdAt,this.pinned=e.pinned,this.mustAcknowledge=e.mustAcknowledge,this.acknowledged=e.acknowledged,this.title=e.title,this.body=e.body,this.reactions=e.reactions,this.myReaction=e.myReaction,this.commentCount=e.commentCount,this.comments=e.comments,this.seenCount=e.seenCount,this.bookmarked=e.bookmarked,this.taggedUserIds=e.taggedUserIds,this.locationLabel=e.locationLabel,this.imageUrls=e.imageUrls,this.department=e.department,this.audienceId=e.audienceId,this.feelingId=e.feelingId,this.feelingLabel=e.feelingLabel,this.feelingEmoji=e.feelingEmoji,this.scheduledAt=e.scheduledAt??null,this.isRecurring=e.isRecurring??!1,this.recurrenceFrequency=e.recurrenceFrequency??null}get totalReactions(){return this.reactions.like+this.reactions.insightful+this.reactions.celebrate}get needsAcknowledgement(){return this.mustAcknowledge&&!this.acknowledged}},Oy=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`create-post`)}async execute(e){return e.body.trim().length===0?(this.logger.warn(`Rejected empty post`),n.Bt(new Ey)):this.feedGateway.createPost({...e,body:e.body.trim()})}},ky=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`update-post`)}async execute(e,t){return t.body.trim().length===0?(this.logger.warn(`Rejected empty body for post update`),n.Bt(new Ey)):this.feedGateway.updatePost(e,{...t,body:t.body.trim()})}},Ay=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`delete-post`)}async execute(e){let t=await this.feedGateway.deletePost(e);return t.ok||this.logger.warn(`Deleting post failed`,{code:t.error.code}),t}},jy=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`react-to-post`)}async execute(e,t){let n=await this.feedGateway.react(e,t);return n.ok||this.logger.warn(`Reacting to post failed`,{code:n.error.code}),n}},My=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`toggle-bookmark`)}async execute(e){let t=await this.feedGateway.toggleBookmark(e);return t.ok||this.logger.warn(`Bookmarking post failed`,{code:t.error.code}),t}},Ny=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`acknowledge-post`)}async execute(e){let t=await this.feedGateway.acknowledge(e);return t.ok||this.logger.warn(`Acknowledging post failed`,{code:t.error.code}),t}},Py=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`add-comment`)}async execute({postId:e,text:t}){if(t.trim().length===0)return this.logger.warn(`Rejected empty comment`,{postId:e}),n.Bt(new Ty);let r=await this.feedGateway.addComment(e,t.trim());return r.ok||this.logger.warn(`Adding comment failed`,{code:r.error.code}),r}},Fy=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.listCategories()}},Iy=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.listAudiences()}},Ly=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.listFeelings()}},Ry=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(e){return this.feedGateway.searchUsers(e)}},zy=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.detectLocation()}},By=class{gateway;logger;constructor(e){this.gateway=e.feedGateway,this.logger=e.logger.child(`upload-feed-image-use-case`)}async execute(e){return this.logger.debug(`Uploading feed image`),this.gateway.uploadImage(e)}},Vy=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`mark-seen`)}async execute(e){let t=await this.feedGateway.markSeen(e);return t.ok||this.logger.warn(`Marking post as seen failed`,{code:t.error.code}),t}},Hy=class{feedGateway;logger;constructor(e){this.feedGateway=e.feedGateway,this.logger=e.logger.child(`set-post-pinned`)}async execute(e,t){let n=await this.feedGateway.setPinned(e,t);return n.ok||this.logger.warn(`Pinning post failed`,{code:n.error.code,pinned:t}),n}},Uy=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(){return this.feedGateway.getNotifications()}},Wy=class{feedGateway;constructor(e){this.feedGateway=e.feedGateway}async execute(e){return this.feedGateway.markNotificationAsRead(e)}};function Gy(e){return e.replace(/\s+(division|province|district|state|region)$/i,``).trim()}function Ky(e){let t=Gy(e.regionName??e.region??``),n=t.length>0?t:(e.cityName??e.city??``).trim(),r=(e.countryName??e.country_name??``).trim();return n.length>0&&r.length>0?`${n}, ${r}`:r.length>0?r:null}function qy(){try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;if(e){let t=e.split(`/`),n=t[t.length-1];if(n)return n.replace(/_/g,` `)}}catch{}return`London Office`}async function Jy(e){try{let t=await fetch(`/ip-geolocation`);if(t.ok){let e=Ky(await t.json());if(e!==null)return n.Ut(e)}e.warn(`Proxy location fetch returned unexpected response, falling back to local timezone`)}catch(t){e.warn(`Failed to fetch location via dev proxy, falling back to local timezone`,{error:t})}return n.Ut(qy())}var Yy=n.dt({type:n.ut(),count:n.ut(),reacted:n.at()}),Xy=n.dt({id:n.pt(),authorUserId:n.pt(),authorName:n.pt(),authorInitials:n.pt(),authorColor:n.pt(),text:n.pt(),createdAt:n.pt(),time:n.pt()}),Zy=n.dt({id:n.pt(),authorUserId:n.pt(),authorName:n.pt(),authorInitials:n.pt(),authorColor:n.pt(),authorRole:n.pt(),department:n.pt().nullable().optional(),categoryLabel:n.pt(),categoryColor:n.pt(),audienceLabel:n.pt(),createdAt:n.pt(),timestamp:n.pt(),pinned:n.at(),mustAcknowledge:n.at(),acknowledged:n.at(),title:n.pt().nullable(),body:n.pt(),reactions:n.it(Yy),myReaction:n.ut().nullable().optional(),commentCount:n.ut(),comments:n.it(Xy),seenCount:n.ut(),bookmarked:n.at(),audienceId:n.pt(),taggedUserIds:n.it(n.pt()).optional(),scheduledAt:n.pt().nullable().optional(),isRecurring:n.at().optional(),recurrenceFrequency:n.pt().nullable().optional(),nextOccurrenceTime:n.pt().nullable().optional(),feelingId:n.pt().nullable().optional(),feelingLabel:n.pt().nullable().optional(),feelingEmoji:n.pt().nullable().optional(),locationLabel:n.pt().nullable().optional(),imageUrls:n.it(n.pt()).optional()}).passthrough();n.it(Zy);var Qy=n.dt({totalCount:n.ut(),items:n.it(Zy)}),$y=n.dt({id:n.pt(),name:n.pt(),email:n.pt(),userName:n.pt(),role:n.pt(),initials:n.pt(),color:n.pt()}),eb=n.it($y),tb=n.dt({id:n.pt(),key:n.pt().optional(),label:n.pt(),color:n.pt(),templateIds:n.it(n.pt()).optional(),dataTemplateIds:n.it(n.pt()).optional(),webhookId:n.pt().nullable().optional()}),nb=n.it(tb),rb=n.dt({key:n.pt(),label:n.pt()}),ib=n.it(rb),ab=n.dt({id:n.pt(),label:n.pt(),emoji:n.pt()}),ob=n.it(ab),sb=e=>e===1?`insightful`:e===2?`celebrate`:`like`,cb=e=>{let t={like:0,insightful:0,celebrate:0};for(let n of e){let e=sb(n.type);t[e]=n.count}return t},lb=e=>({id:e.id,authorName:e.authorName,authorInitials:e.authorInitials,authorColor:e.authorColor,text:e.text,time:e.time,createdAt:e.createdAt}),ub=e=>e==null?null:sb(e),db=e=>({department:e.department??null,feelingId:e.feelingId??null,feelingLabel:e.feelingLabel??null,feelingEmoji:e.feelingEmoji??null,locationLabel:e.locationLabel??null}),fb=e=>{let t=db(e);return new Dy({id:e.id,authorUserId:e.authorUserId,authorName:e.authorName,authorInitials:e.authorInitials,authorColor:e.authorColor,authorRole:e.authorRole,categoryLabel:e.categoryLabel,categoryColor:e.categoryColor,audienceLabel:e.audienceLabel,createdAt:e.createdAt,timestamp:e.timestamp,pinned:e.pinned,mustAcknowledge:e.mustAcknowledge,acknowledged:e.acknowledged,title:e.title,body:e.body,reactions:cb(e.reactions),myReaction:ub(e.myReaction),commentCount:e.commentCount,comments:e.comments.map(lb),seenCount:e.seenCount,bookmarked:e.bookmarked,taggedUserIds:e.taggedUserIds??[],imageUrls:e.imageUrls??[],audienceId:e.audienceId,scheduledAt:e.scheduledAt??null,isRecurring:e.isRecurring??!1,recurrenceFrequency:e.recurrenceFrequency??null,...t})},pb=e=>({id:e.key??e.id,label:e.label,color:e.color,categoryKey:e.key??e.id,templateIds:e.templateIds??[],dataTemplateIds:e.dataTemplateIds??[],webhookId:e.webhookId??void 0}),mb=e=>({id:e.key,label:e.label}),hb=e=>({id:e.id,label:e.label,emoji:e.emoji}),gb=(e,t,r)=>(e.error(`Feed ${t} returned an unexpected shape`,r),n.Bt(new Ty(r))),H=(e,t)=>(e.error(`Feed request failed`,t),new Ty(t)),_b=(e,t,r)=>{let i=Qy.safeParse(r);return i.success?n.Ut({totalCount:i.data.totalCount,items:i.data.items.map(fb)}):gb(e,t,i.error)},vb=(e,t,r)=>{let i=Zy.safeParse(r);return i.success?n.Ut(fb(i.data)):gb(e,t,i.error)},yb=(e,t,r)=>{let i=nb.safeParse(r);return i.success?n.Ut(i.data.map(pb)):gb(e,t,i.error)},bb=(e,t,r)=>{let i=ib.safeParse(r);return i.success?n.Ut(i.data.map(mb)):gb(e,t,i.error)},xb=(e,t,r)=>{let i=ob.safeParse(r);return i.success?n.Ut(i.data.map(hb)):gb(e,t,i.error)},Sb=(e,t,r)=>{let i=eb.safeParse(r);return i.success?n.Ut(i.data):gb(e,t,i.error)},Cb=n.dt({id:n.pt(),userId:n.pt(),kind:n.ct([`meeting`,`group`,`feed`,`member`]),actorName:n.pt(),initials:n.pt(),color:n.pt(),message:n.pt(),detail:n.pt().nullable().optional(),postId:n.pt().nullable().optional(),isRead:n.at(),creationTime:n.pt()}),wb=n.it(Cb),Tb={for_you:0,team:1,company:2,saved:3},Eb={like:0,insightful:1,celebrate:2},Db=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger.child(`http-feed-gateway`)}async listPosts(e,t,r){try{let n=Tb[e],i=await this.httpClient.get(`/api/app/feed/posts`,{query:{scope:n,...t!==void 0&&{skipCount:t},...r!==void 0&&{maxResultCount:r}}});return _b(this.logger,`listPosts`,i)}catch(e){return n.Bt(H(this.logger,e))}}async getPost(e){try{let t=await this.httpClient.get(`/api/app/feed/post/${e}`);return vb(this.logger,`getPost`,t)}catch(e){return n.Bt(H(this.logger,e))}}async createPost(e){try{let t=await this.httpClient.post(`/api/app/feed/post`,e);return vb(this.logger,`createPost`,t)}catch(e){return n.Bt(H(this.logger,e))}}async updatePost(e,t){try{let n=await this.httpClient.put(`/api/app/feed/post/${e}`,t);return vb(this.logger,`updatePost`,n)}catch(e){return n.Bt(H(this.logger,e))}}async deletePost(e){try{return await this.httpClient.delete(`/api/app/feed/post/${e}`),n.Ut(void 0)}catch(e){return n.Bt(H(this.logger,e))}}async react(e,t){try{let n=await this.httpClient.post(`/api/app/feed/react-to-post/${e}`,{type:Eb[t]});return vb(this.logger,`react`,n)}catch(e){return n.Bt(H(this.logger,e))}}async toggleBookmark(e){try{let t=await this.httpClient.post(`/api/app/feed/toggle-bookmark/${e}`,void 0);return vb(this.logger,`toggleBookmark`,t)}catch(e){return n.Bt(H(this.logger,e))}}async setPinned(e,t){try{let n=await this.httpClient.post(`/api/app/feed/set-pinned/${e}`,{pinned:t});return vb(this.logger,`setPinned`,n)}catch(e){return n.Bt(H(this.logger,e))}}async acknowledge(e){try{let t=await this.httpClient.post(`/api/app/feed/acknowledge/${e}`,void 0);return vb(this.logger,`acknowledge`,t)}catch(e){return n.Bt(H(this.logger,e))}}async markSeen(e){try{let t=await this.httpClient.post(`/api/app/feed/mark-seen/${e}`,void 0);return vb(this.logger,`markSeen`,t)}catch(e){return n.Bt(H(this.logger,e))}}async addComment(e,t){try{let n=await this.httpClient.post(`/api/app/feed/comment/${e}`,{text:t});return vb(this.logger,`addComment`,n)}catch(e){return n.Bt(H(this.logger,e))}}async listCategories(){try{let e=await this.httpClient.get(`/api/app/feed/feed-categories`);return yb(this.logger,`listCategories`,e)}catch(e){return n.Bt(H(this.logger,e))}}async listAudiences(){try{let e=await this.httpClient.get(`/api/app/feed/feed-audiences`);return bb(this.logger,`listAudiences`,e)}catch(e){return n.Bt(H(this.logger,e))}}async listFeelings(){try{let e=await this.httpClient.get(`/api/app/feed/feed-feelings`);return xb(this.logger,`listFeelings`,e)}catch(e){return n.Bt(H(this.logger,e))}}async searchUsers(e){try{let t=await this.httpClient.get(`/api/app/feed/search-users`,{query:{filter:e}});return Sb(this.logger,`searchUsers`,t)}catch(e){return n.Bt(H(this.logger,e))}}async detectLocation(){return Jy(this.logger)}async uploadImage(e){try{let t=new FormData;t.append(`file`,e);let r=await this.httpClient.post(`/api/app/file/upload?category=FeedPost`,t);return typeof r==`object`&&r&&`id`in r&&typeof r.id==`string`?n.Ut(r.id):n.Bt(new Ty(`Invalid response shape`))}catch(e){return n.Bt(H(this.logger,e))}}async getNotifications(){try{let e=await this.httpClient.get(`/api/app/notification`);return n.Ut(wb.parse(e).map(e=>({id:e.id,kind:e.kind,initials:e.initials,color:e.color,actor:e.actorName,message:e.message,creationTime:e.creationTime,...e.detail!==null&&e.detail!==void 0?{detail:e.detail}:{},...e.postId!==null&&e.postId!==void 0?{postId:e.postId}:{}})))}catch(e){return n.Bt(H(this.logger,e))}}async markNotificationAsRead(e){try{return await this.httpClient.post(`/api/app/notification/${e}/mark-as-read`,void 0),n.Ut(void 0)}catch(e){return n.Bt(H(this.logger,e))}}async deleteNotification(e){try{return await this.httpClient.delete(`/api/app/notification/${e}`),n.Ut(void 0)}catch(e){return n.Bt(H(this.logger,e))}}},Ob=e=>{let t={feedGateway:new Db({httpClient:e.httpClient,logger:e.logger}),logger:e.logger};return{listFeed:new Cy(t),getPost:new Sy(t),createPost:new Oy(t),updatePost:new ky(t),deletePost:new Ay(t),reactToPost:new jy(t),toggleBookmark:new My(t),acknowledgePost:new Ny(t),addComment:new Py(t),listFeedCategories:new Fy(t),listFeedAudiences:new Iy(t),listFeedFeelings:new Ly(t),searchFeedUsers:new Ry(t),detectLocation:new zy(t),uploadFeedImage:new By(t),setPostPinned:new Hy(t),markSeen:new Vy(t),getNotifications:new Uy(t),markNotificationRead:new Wy(t),notificationRealtime:e.notificationRealtime,logger:e.logger}},kb=(0,r.createContext)(null),Ab=({module:e,children:t})=>(0,w.jsx)(kb.Provider,{value:e,children:t}),U=()=>{let e=(0,r.useContext)(kb);if(e===null)throw Error(`Feed hooks must be used within <FeedModuleProvider>.`);return e},jb=e=>[`feed`,e],Mb=e=>{e.invalidateQueries({queryKey:[`feed`]})},Nb=(e,t)=>{e.setQueriesData({queryKey:[`feed`]},e=>e&&{...e,pages:e.pages.map(e=>({...e,items:e.items.map(e=>e.id===t.id?t:e)}))}),e.setQueryData([`feed-post`,t.id],t)},Pb=e=>{let{listFeed:t}=U();return sr({queryKey:jb(e),queryFn:({pageParam:r})=>n.Wt(t.execute({scope:e,skipCount:r,maxResultCount:10})),initialPageParam:0,getNextPageParam:(e,t)=>{let n=t.reduce((e,t)=>e+t.items.length,0);if(!(n>=e.totalCount))return n}})},Fb=()=>{let{createPost:e}=U(),t=n.F();return n.j({mutationFn:t=>n.Wt(e.execute(t)),onSuccess:()=>{Mb(t)}})},Ib=()=>{let{updatePost:e}=U(),t=n.F();return n.j({mutationFn:({postId:t,input:r})=>n.Wt(e.execute(t,r)),onSuccess:e=>{Nb(t,e)}})},Lb=()=>{let{deletePost:e}=U(),t=n.F();return n.j({mutationFn:t=>n.Wt(e.execute(t)),onSuccess:()=>{Mb(t)}})},Rb=()=>{let{reactToPost:e}=U(),t=n.F();return n.j({mutationFn:({postId:t,type:r})=>n.Wt(e.execute(t,r)),onSuccess:e=>{Nb(t,e)}})},zb=()=>{let{toggleBookmark:e}=U(),t=n.F();return n.j({mutationFn:t=>n.Wt(e.execute(t)),onSuccess:e=>{Nb(t,e),t.invalidateQueries({queryKey:jb(`saved`)})}})},Bb=()=>{let{acknowledgePost:e}=U(),t=n.F();return n.j({mutationFn:t=>n.Wt(e.execute(t)),onSuccess:e=>{Nb(t,e)}})},Vb=()=>{let{markSeen:e}=U(),t=n.F();return n.j({mutationFn:t=>n.Wt(e.execute(t)),onSuccess:e=>{Nb(t,e)}})},Hb=()=>{let{addComment:e}=U(),t=n.F();return n.j({mutationFn:t=>n.Wt(e.execute(t)),onSuccess:e=>{Nb(t,e)}})},Ub=()=>{let{setPostPinned:e}=U(),t=n.F();return n.j({mutationFn:({postId:t,pinned:r})=>n.Wt(e.execute(t,r)),onSuccess:e=>{Nb(t,e)}})},Wb=()=>{let{listFeedCategories:e}=U();return n.M({queryKey:[`feed-categories`],queryFn:()=>n.Wt(e.execute())})},Gb=()=>{let{listFeedAudiences:e}=U();return n.M({queryKey:[`feed-audiences`],queryFn:()=>n.Wt(e.execute())})},Kb=()=>{let{listFeedFeelings:e}=U();return n.M({queryKey:[`feed-feelings`],queryFn:()=>n.Wt(e.execute())})},qb=e=>{let{searchFeedUsers:t}=U();return n.M({queryKey:[`feed-search-users`,e],queryFn:()=>n.Wt(t.execute(e)),enabled:e.trim().length>0})},Jb=()=>{let{uploadFeedImage:e}=U();return n.j({mutationFn:t=>n.Wt(e.execute(t))})},Yb=e=>{let{getPost:t}=U();return n.M({queryKey:[`feed-post`,e],queryFn:()=>n.Wt(t.execute(e??``)),enabled:e!==null})},Xb=e=>{let{data:t=[]}=Wb(),n=t.find(t=>t.id===e.department);return{categoryLabel:n?.label??e.categoryLabel,categoryColor:n?.color??e.categoryColor}},Zb=e=>{if(e.length===0)return[];let t=e[0]?.fullName??e[0]?.name??``;if(e.length===1)return[{text:`with `,bold:!1},{text:t,bold:!0}];let n=e[1]?.fullName??e[1]?.name??``;return e.length===2?[{text:`with `,bold:!1},{text:t,bold:!0},{text:` and `,bold:!1},{text:n,bold:!0}]:[{text:`with `,bold:!1},{text:t,bold:!0},{text:`, `,bold:!1},{text:n,bold:!0},{text:` and `,bold:!1},{text:`${String(e.length-2)} others`,bold:!0}]},Qb=e=>{let t=e;return/^\d{4}-\d{2}-\d{2}T/.test(e)&&!e.endsWith(`Z`)&&!/[+-]\d{2}:?\d{2}$/.test(e)&&(t=`${e}Z`),new Date(t)},$b=e=>{let t=String(e.minute).padStart(2,`0`),n=e.hour>=12?`PM`:`AM`,r=e.hour%12;return`${String(r===0?12:r)}:${t} ${n}`},ex=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],tx=(e,t)=>e.year===t.year&&e.month===t.month&&e.day===t.day,nx=(e,t,n)=>{let r=n.getTime()-t.getTime();if(r<0){let t=new Date(e);if(!Number.isNaN(t.getTime())){let e=n.getTime()-t.getTime();if(e>=0)return e}}return r},rx=(e,t,r)=>{let i=Qb(e);if(Number.isNaN(i.getTime()))return null;let a=i.getTime()-t.getTime();if(a<=0)return null;let o=60*1e3,s=60*o,c=24*s;if(a<o)return`Publishes shortly`;if(a<s){let e=Math.floor(a/o);return`Publishes in ${String(e)}m`}if(a<c){let e=Math.floor(a/s);return`Publishes in ${String(e)} ${e===1?`hour`:`hours`}`}let l=n.y(i,r);return tx(l,n.y(new Date(t.getTime()+c),r))?`Scheduled for tomorrow at ${$b(l)}`:`Scheduled for ${ex[l.month-1]??``} ${String(l.day)} at ${$b(l)}`},ix=(e,t,n)=>t&&Qb(t).getTime()<=n.getTime()?t:e,ax=(e,t,r,i)=>{let a=60*1e3,o=60*a,s=24*o;if(e<a)return`now`;if(e<o)return`${String(Math.floor(e/a))}m ago`;if(e<s){let t=Math.floor(e/o);return`${String(t)} ${t===1?`hour`:`hours`} ago`}let c=n.y(t,r);return tx(c,n.y(new Date(i.getTime()-s),r))?`Yesterday at ${$b(c)}`:`${ex[c.month-1]??``} ${String(c.day)} at ${$b(c)}`},ox=(e,t,n=null,r=new Date)=>{if(n&&Qb(n).getTime()>r.getTime()){let e=rx(n,r,t);if(e!==null)return e}let i=ix(e,n,r),a=Qb(i);return Number.isNaN(a.getTime())?`now`:ax(nx(i,a,r),a,t,r)},sx=(e,t,n)=>{let r=document.getElementById(e),i=document.getElementById(t);if(r&&i){let e=i.getBoundingClientRect(),t=r.getBoundingClientRect(),a=t.top-e.top,o=i.scrollTop+a;n===`center`&&(o=o-e.height/2+t.height/2),i.scrollTo({top:o,behavior:`smooth`})}},cx=(e,t=1600,n=1600,r=.8)=>new Promise(i=>{if(!e.type.startsWith(`image/`)){i(e);return}let a=new Image;a.src=URL.createObjectURL(e),a.onload=()=>{URL.revokeObjectURL(a.src);let o=a.width,s=a.height;if(o>t||s>n){let e=Math.min(t/o,n/s);o=Math.round(o*e),s=Math.round(s*e)}let c=document.createElement(`canvas`);c.width=o,c.height=s;let l=c.getContext(`2d`);if(!l){i(e);return}l.drawImage(a,0,0,o,s),c.toBlob(t=>{if(!t){i(e);return}i(new File([t],e.name.replace(/\.[^/.]+$/,``)+`.jpg`,{type:`image/jpeg`,lastModified:Date.now()}))},`image/jpeg`,r)},a.onerror=()=>{i(e)}}),lx={ReceiveNotification:`ReceiveNotification`},ux=n.dt({id:n.pt(),kind:n.ct([`meeting`,`group`,`feed`,`member`]),initials:n.pt(),color:n.pt(),actor:n.pt(),time:n.pt(),message:n.pt().nullable().optional(),detail:n.pt().nullable().optional(),postId:n.pt().nullable().optional()}),dx=class{userGateway;logger;constructor(e){this.userGateway=e.userGateway,this.logger=e.logger.child(`list-users`)}async execute(e){let t=await this.userGateway.list(e);return t.ok||this.logger.warn(`Listing users failed`,{code:t.error.code}),t}},fx=class{userGateway;logger;constructor(e){this.userGateway=e.userGateway,this.logger=e.logger.child(`list-directory-facets`)}async execute(){let[e,t,r]=await Promise.all([this.userGateway.getDepartments(),this.userGateway.getAccessRoles(),this.userGateway.getBranches()]);return e.ok?t.ok?r.ok?n.Ut({departments:e.value,accessRoles:t.value,branches:r.value}):(this.logger.warn(`Loading directory facets failed`,{code:r.error.code}),n.Bt(r.error)):(this.logger.warn(`Loading directory facets failed`,{code:t.error.code}),n.Bt(t.error)):(this.logger.warn(`Loading directory facets failed`,{code:e.error.code}),n.Bt(e.error))}},px=class extends n.Kt{},mx=class extends px{code=`USERS_UNAVAILABLE`;constructor(e){super(`The users directory is currently unavailable. Please try again.`,{cause:e})}},hx=class{id;fullName;email;roleName;department;branchKey;branchName;level;online;status;statusUntilUtc;hasAccount;initials;color;permissionSetName;permissionSetColor;constructor(e){this.id=e.id,this.fullName=e.fullName,this.email=e.email,this.roleName=e.roleName,this.department=e.department,this.branchKey=e.branchKey,this.branchName=e.branchName,this.level=e.level,this.online=e.online,this.status=e.status??`offline`,this.statusUntilUtc=e.statusUntilUtc??null,this.hasAccount=e.hasAccount??!0,this.initials=e.initials,this.color=e.color,this.permissionSetName=e.permissionSetName,this.permissionSetColor=e.permissionSetColor}get isSenior(){return this.level<=3}},gx=n.dt({id:n.pt(),fullName:n.pt(),email:n.pt(),roleName:n.pt(),department:n.pt(),branchKey:n.pt().nullish(),branchName:n.pt().nullish(),level:n.ut(),online:n.at(),status:n.ut().nullish(),statusUntilUtc:n.pt().nullish(),hasAccount:n.at().nullish(),initials:n.pt(),color:n.pt(),permissionSetName:n.pt().nullish(),permissionSetColor:n.pt().nullish()}),_x=n.dt({totalCount:n.ut(),items:n.it(gx)}),vx=(e,t)=>(e.error(`Users request failed`,t),new mx(t)),yx={staffMembers:`/api/app/staff-member`,departments:`/api/app/staff-member/departments`,accessRoles:`/api/app/staff-member/access-roles`,branches:`/api/app/staff-member/branches`},bx={skipCount:`skipCount`,maxResultCount:`maxResultCount`,filter:`filter`,department:`department`,accessRole:`accessRole`,branch:`branch`,online:`online`},xx=e=>new hx({id:e.id,fullName:e.fullName,email:e.email,roleName:e.roleName,department:e.department,branchKey:e.branchKey??``,branchName:e.branchName??``,level:e.level,online:e.online,status:Xs(e.status),statusUntilUtc:e.statusUntilUtc??null,hasAccount:e.hasAccount??!0,initials:e.initials,color:e.color,permissionSetName:e.permissionSetName??void 0,permissionSetColor:e.permissionSetColor??void 0}),Sx=n.it(n.pt()),Cx=n.it(n.dt({key:n.pt(),name:n.pt()})),wx=class{httpClient;logger;constructor(e){this.httpClient=e.httpClient,this.logger=e.logger}async list(e){try{let t={[bx.skipCount]:(e.page-1)*e.pageSize,[bx.maxResultCount]:e.pageSize};e.filter!==``&&(t[bx.filter]=e.filter),e.department!==``&&(t[bx.department]=e.department),e.accessRole!==``&&(t[bx.accessRole]=e.accessRole),e.branch!==``&&(t[bx.branch]=e.branch),e.status!==`all`&&(t[bx.online]=e.status===`online`);let r=await this.httpClient.get(yx.staffMembers,{query:t}),i=_x.safeParse(r);if(!i.success)throw this.logger.error(`Users staff-member list returned an unexpected shape`,i.error),new mx(i.error);return n.Ut({users:i.data.items.map(xx),totalCount:i.data.totalCount})}catch(e){return n.Bt(vx(this.logger,e))}}async getDepartments(){return this.getStringList(yx.departments,`departments`)}async getAccessRoles(){return this.getStringList(yx.accessRoles,`access roles`)}async getBranches(){try{let e=await this.httpClient.get(yx.branches),t=Cx.safeParse(e);if(!t.success)throw this.logger.error(`Users branches returned an unexpected shape`,t.error),new mx(t.error);return n.Ut(t.data)}catch(e){return n.Bt(vx(this.logger,e))}}async getStringList(e,t){try{let r=await this.httpClient.get(e),i=Sx.safeParse(r);if(!i.success)throw this.logger.error(`Users ${t} returned an unexpected shape`,i.error),new mx(i.error);return n.Ut(i.data)}catch(e){return n.Bt(vx(this.logger,e))}}},Tx=e=>{let t={userGateway:new wx({httpClient:e.httpClient,logger:e.logger}),logger:e.logger};return{listUsers:new dx(t),listDirectoryFacets:new fx(t)}},Ex=(0,r.createContext)(null),Dx=({module:e,children:t})=>(0,w.jsx)(Ex.Provider,{value:e,children:t}),Ox=()=>{let e=(0,r.useContext)(Ex);if(e===null)throw Error(`Users hooks must be used within <UsersModuleProvider>.`);return e},kx=[`users`],Ax=e=>{let{listUsers:t}=Ox();return n.M({queryKey:[...kx,e],queryFn:()=>n.Wt(t.execute(e)),placeholderData:n.K,staleTime:3e4})},jx=class{gateway;logger;constructor(e){this.gateway=e.meetingVideoGateway,this.logger=e.logger.child(`join-meeting-video`)}async execute(e){let t=await this.gateway.join(e);return t.ok||this.logger.warn(`Joining meeting video failed`,{code:t.error.code}),t}},Mx=class{meetingVideoGateway;logger;constructor(e){this.meetingVideoGateway=e.meetingVideoGateway,this.logger=e.logger.child(`get-meeting-room-status`)}async execute(e){let t=await this.meetingVideoGateway.getRoomStatus(e);return t.ok||this.logger.debug(`Meeting status poll failed`,{code:t.error.code}),t}},Nx=class{meetingVideoGateway;logger;constructor(e){this.meetingVideoGateway=e.meetingVideoGateway,this.logger=e.logger.child(`extend-meeting`)}async execute(e,t){let n=await this.meetingVideoGateway.extendMeeting(e,t);return n.ok?this.logger.info(`Meeting extended`,{meetingId:e,minutes:t}):this.logger.warn(`Extending the meeting failed`,{code:n.error.code}),n}},Px=class{meetingVideoGateway;logger;constructor(e){this.meetingVideoGateway=e.meetingVideoGateway,this.logger=e.logger.child(`end-meeting-now`)}async execute(e){let t=await this.meetingVideoGateway.endMeetingNow(e);return t.ok?this.logger.info(`Meeting ended for everyone`,{meetingId:e}):this.logger.warn(`Ending the meeting failed`,{code:t.error.code}),t}},Fx=class extends n.Kt{},Ix=class extends Fx{code=`MEETING_VIDEO_UNAVAILABLE`;constructor(e){super(`This meeting could not be joined right now. Please try again.`,{cause:e})}},Lx=n.dt({token:n.pt(),providerType:n.pt(),roomId:n.pt(),participantName:n.pt(),title:n.pt().nullish(),startUtc:n.pt().nullish(),endUtc:n.pt().nullish(),isOrganizer:n.at().nullish()}).passthrough(),Rx=n.dt({bucket:n.ut(),end:n.pt(),isEnded:n.at().nullish()}).passthrough(),zx=encodeURIComponent,Bx={join:e=>`/api/app/meeting-video/${zx(e)}/join`,meeting:e=>`/api/app/meeting/${zx(e)}`,extend:e=>`/api/app/meeting/${zx(e)}/extend`,endNow:e=>`/api/app/meeting/${zx(e)}/end-now`},Vx=/[zZ]|[+-]\d{2}:?\d{2}$/,Hx=e=>Vx.test(e)?e:`${e}Z`,Ux=e=>typeof e==`string`?Hx(e):null,Wx=e=>({token:e.token,providerType:e.providerType,roomId:e.roomId,participantName:e.participantName,title:e.title??``,startUtc:Ux(e.startUtc),endUtc:Ux(e.endUtc),isOrganizer:e.isOrganizer??!1}),Gx=2,Kx=e=>({canceled:e.bucket===Gx,ended:e.isEnded??!1,endUtc:Hx(e.end)}),qx=class{http;logger;constructor(e){this.http=e.httpClient,this.logger=e.logger.child(`http-meeting-video-gateway`)}async join(e){try{let t=await this.http.post(Bx.join(e)),r=Lx.safeParse(t);return r.success?n.Ut(Wx(r.data)):this.fail(`Join returned an unexpected shape`,r.error)}catch(e){return this.fail(`Joining meeting video failed`,e)}}async getRoomStatus(e){try{let t=await this.http.get(Bx.meeting(e)),r=Rx.safeParse(t);return r.success?n.Ut(Kx(r.data)):this.fail(`Meeting status returned an unexpected shape`,r.error)}catch(e){return this.fail(`Reading the meeting status failed`,e)}}async extendMeeting(e,t){try{let n=await this.http.post(Bx.extend(e),{minutes:t});return this.parseStatus(n,`Extending the meeting`)}catch(e){return this.fail(`Extending the meeting failed`,e)}}async endMeetingNow(e){try{let t=await this.http.post(Bx.endNow(e));return this.parseStatus(t,`Ending the meeting`)}catch(e){return this.fail(`Ending the meeting failed`,e)}}parseStatus(e,t){let r=Rx.safeParse(e);return r.success?n.Ut(Kx(r.data)):this.fail(`${t} returned an unexpected shape`,r.error)}fail(e,t){return this.logger.error(e,t),n.Bt(new Ix(t))}},Jx=e=>{let t=new qx({httpClient:e.httpClient,logger:e.logger});return{joinMeetingVideo:new jx({meetingVideoGateway:t,logger:e.logger}),getMeetingRoomStatus:new Mx({meetingVideoGateway:t,logger:e.logger}),extendMeeting:new Nx({meetingVideoGateway:t,logger:e.logger}),endMeetingNow:new Px({meetingVideoGateway:t,logger:e.logger})}},Yx=(0,r.createContext)(null),Xx=({module:e,children:t})=>(0,w.jsx)(Yx.Provider,{value:e,children:t}),Zx=()=>{let e=(0,r.useContext)(Yx);if(e===null)throw Error(`Meeting-video hooks must be used within <MeetingVideoModuleProvider>.`);return e},Qx=e=>[`meeting-video`,`join`,e],$x=e=>{let{joinMeetingVideo:t}=Zx();return n.M({queryKey:Qx(e),queryFn:()=>{if(e===null)throw new Ix;return n.Wt(t.execute(e))},enabled:e!==null,staleTime:1/0,gcTime:0,retry:!1,refetchOnWindowFocus:!1})},eS={floatingWidget:`_floatingWidget_933j8_1`,floatingInfo:`_floatingInfo_933j8_17`,floatingTitle:`_floatingTitle_933j8_25`,floatingStatus:`_floatingStatus_933j8_34`,statusDot:`_statusDot_933j8_43`,pulse:`_pulse_933j8_1`,floatingActions:`_floatingActions_933j8_63`},tS=()=>{let{pathname:e}=t.ht(),n=t.gt(),i=t.t(e=>e.activeMeeting),a=t.t(e=>e.isJoined),o=t.t(e=>e.leaveActiveMeeting),s=i?`/comms/meetings/${i.meetingId}/room`:``,c=i!==null&&(e===s||e.endsWith(`/room`)||e.includes(`/comms/meetings/`)),l=(0,r.useCallback)(()=>{i&&n(s)},[i,n,s]),u=(0,r.useCallback)(()=>{o()},[o]);if(i===null||!a||c)return null;let{ticket:d}=i,f=d.title===``?d.roomId:d.title;return(0,w.jsx)(t.T,{children:(0,w.jsxs)(t.C.div,{className:eS.floatingWidget,initial:{opacity:0,y:20,scale:.92},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,y:20,scale:.92},transition:{duration:.2,ease:[.22,1,.36,1]},children:[(0,w.jsx)(lt,{size:18,style:{color:`var(--color-primary)`}}),(0,w.jsxs)(`div`,{className:eS.floatingInfo,children:[(0,w.jsx)(`span`,{className:eS.floatingTitle,children:f}),(0,w.jsxs)(`span`,{className:eS.floatingStatus,children:[(0,w.jsx)(`span`,{className:eS.statusDot}),`Meeting in progress`]})]}),(0,w.jsxs)(`div`,{className:eS.floatingActions,children:[(0,w.jsx)(t.p,{label:`Return to meeting`,side:`top`,children:(0,w.jsx)(t.tt,{variant:`ghost`,size:`sm`,"aria-label":`Return to meeting`,onClick:l,children:(0,w.jsx)(Se,{size:14})})}),(0,w.jsx)(t.p,{label:`Leave call`,side:`top`,children:(0,w.jsx)(t.tt,{variant:`danger`,size:`sm`,"aria-label":`Leave call`,onClick:u,children:(0,w.jsx)(Ne,{size:14})})})]})]})})},nS=15e3,rS=(e,t,n,i)=>{let[a,o]=(0,r.useState)(e.endUtc),[s,c]=(0,r.useState)(null),l=(0,r.useRef)(i);l.current=i;let u=(0,r.useRef)(!1),d=(0,r.useRef)(!1);return(0,r.useEffect)(()=>{if(a===null){c(null);return}let e=new Date(a).getTime();e>Date.now()&&(d.current=!1);let t=()=>{let t=e-Date.now();c(Math.max(0,t)),t<=0&&!d.current&&!u.current&&(d.current=!0,l.current.onTimeUp())};t();let n=window.setInterval(t,1e3);return()=>{window.clearInterval(n)}},[a]),(0,r.useEffect)(()=>{let e=!1,r=!1,i=async()=>{if(!(r||u.current)){r=!0;try{let r=await n.execute(t);if(e||!r.ok)return;if(r.value.ended){u.current=!0,l.current.onEnded();return}if(r.value.canceled){u.current=!0,l.current.onCanceled();return}o(r.value.endUtc)}finally{r=!1}}},a=window.setInterval(()=>{i()},nS);return()=>{e=!0,window.clearInterval(a)}},[t,n]),{remainingMs:s,adoptEnd:(0,r.useCallback)(e=>{o(e)},[])}},iS={room:`_room_118cm_1`,center:`_center_118cm_12`,topBar:`_topBar_118cm_25`,clockChip:`_clockChip_118cm_38`,clockWarn:`_clockWarn_118cm_51`,clockDanger:`_clockDanger_118cm_56`,clockButton:`_clockButton_118cm_62`,extendChoices:`_extendChoices_118cm_69`},aS=5*6e4,oS=6e4,sS=[15,30],cS=e=>{let t=Math.max(0,Math.floor(e/1e3)),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60,a=e=>String(e).padStart(2,`0`);return n>0?`${String(n)}:${a(r)}:${a(i)}`:`${String(r)}:${a(i)}`},lS=({remainingMs:e,isOrganizer:n,onOpenControls:r})=>{if(e===null)return null;let i=e<=0?`Time over`:`${cS(e)} left`,a=t.at(iS.clockChip,e<=aS&&iS.clockWarn,e<=oS&&iS.clockDanger);return(0,w.jsx)(`div`,{className:iS.topBar,children:n?(0,w.jsxs)(`button`,{type:`button`,className:t.at(a,iS.clockButton),title:`Extend or end the meeting`,onClick:r,children:[(0,w.jsx)(t.ot,{size:12}),` `,i]}):(0,w.jsxs)(`span`,{className:a,children:[(0,w.jsx)(t.ot,{size:12}),` `,i]})})},uS=({open:e,onOpenChange:n,overtime:r,busy:i,onExtend:a,onEnd:o})=>(0,w.jsx)(t.y,{open:e,onOpenChange:n,title:r?`The scheduled time is over`:`Meeting time`,description:r?`Nobody has been disconnected — add more time, or end the meeting for everyone.`:`Add more time now, or end the meeting for everyone.`,footer:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(t.tt,{variant:`secondary`,disabled:i,onClick:()=>{n(!1)},children:`Keep going`}),(0,w.jsx)(t.tt,{variant:`danger`,disabled:i,onClick:o,children:`End meeting for everyone`})]}),children:(0,w.jsx)(`div`,{className:iS.extendChoices,children:sS.map(e=>(0,w.jsxs)(t.tt,{variant:`secondary`,disabled:i,onClick:()=>{a(e)},children:[`+`,e,` minutes`]},e))})}),dS=(e,n,r)=>({onTimeUp:()=>{e?n():t.l.info(`The scheduled time is over — the organizer can extend or end the meeting.`)},onCanceled:()=>{t.l.info(`This meeting was canceled.`),r()},onEnded:()=>{t.l.info(`The organizer ended this meeting.`),r()}}),fS=({ticket:e,meetingId:n,onLeft:i})=>{let{getMeetingRoomStatus:a,extendMeeting:o,endMeetingNow:s}=Zx(),[c,l]=(0,r.useState)(!1),[u,d]=(0,r.useState)(!1),{remainingMs:f,adoptEnd:p}=rS(e,n,a,dS(e.isOrganizer,()=>{l(!0)},i));return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(lS,{remainingMs:f,isOrganizer:e.isOrganizer,onOpenControls:()=>{l(!0)}}),e.isOrganizer&&(0,w.jsx)(uS,{open:c,onOpenChange:l,overtime:f!==null&&f<=0,busy:u,onExtend:e=>{(async()=>{d(!0);let r=await o.execute(n,e);d(!1),r.ok?(p(r.value.endUtc),l(!1),t.l.success(`Meeting extended by ${String(e)} minutes.`)):t.l.error(r.error.message)})()},onEnd:()=>{(async()=>{d(!0);let e=await s.execute(n);d(!1),e.ok?(l(!1),t.l.info(`Meeting ended.`),i()):t.l.error(e.error.message)})()}})]})},pS=`/comms/bookings`,mS=new Map([[`cloudflare`,(0,r.lazy)(async()=>({default:(await Promise.resolve().then(()=>require("./CloudflareMeetingExperience-B4DDJ_J3.cjs"))).CloudflareMeetingExperience}))]]);mS.set(`zoom`,(0,r.lazy)(async()=>({default:(await Promise.resolve().then(()=>require("./ZoomMeetingExperience-Bk31KY_k.cjs"))).ZoomMeetingExperience})));var hS=({ticket:e,meetingId:n,Experience:i,onLeft:a})=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(fS,{ticket:e,meetingId:n,onLeft:a}),(0,w.jsx)(r.Suspense,{fallback:(0,w.jsx)(gS,{children:(0,w.jsx)(t.nt,{size:`lg`,label:`Loading…`})}),children:(0,w.jsx)(i,{ticket:e,onLeft:a})})]}),gS=({children:e})=>(0,w.jsx)(`div`,{className:iS.center,children:e}),_S=({title:e,message:n,onBack:r})=>(0,w.jsxs)(`div`,{className:iS.center,children:[(0,w.jsx)(t.et,{tone:`error`,title:e,children:n}),(0,w.jsx)(t.tt,{variant:`secondary`,onClick:r,children:`Back to bookings`})]}),vS=({meetingId:e})=>{let n=t.gt(),i=$x(e),a=t.t(e=>e.setActiveMeeting),o=t.t(e=>e.leaveActiveMeeting);(0,r.useEffect)(()=>{i.data&&a({ticket:i.data,meetingId:e})},[i.data,e,a]);let s=(0,r.useCallback)(()=>{o(),n(pS)},[o,n]);if(i.isPending)return(0,w.jsx)(gS,{children:(0,w.jsx)(t.nt,{size:`lg`,label:`Joining the meeting…`})});if(i.isError)return(0,w.jsx)(_S,{title:`Could not join this meeting`,message:i.error.message,onBack:s});let c=mS.get(i.data.providerType.toLowerCase());return c===void 0?(0,w.jsx)(_S,{title:`Unsupported meeting provider`,message:`This meeting uses a provider this app cannot open yet.`,onBack:s}):(0,w.jsx)(`div`,{className:iS.room,children:(0,w.jsx)(hS,{ticket:i.data,meetingId:e,Experience:c,onLeft:s})})},yS={meetingOverlay:`_meetingOverlay_1ykdp_1`,meetingTakeover:`_meetingTakeover_1ykdp_12`,meetingHidden:`_meetingHidden_1ykdp_18`},bS=({takeover:e=!1})=>{let{pathname:n}=t.ht(),r=t.t(e=>e.requestedMeetingId),i=n.includes(`/meetings/`)&&n.endsWith(`/room`);return r===null?null:(0,w.jsx)(`div`,{className:t.at(yS.meetingOverlay,e&&yS.meetingTakeover,!i&&yS.meetingHidden),children:(0,w.jsx)(vS,{meetingId:r})})},xS=15e3,SS=5*6e4,CS=(e,t,n)=>{let r=new wv({logger:t}),i=t=>e.modules===void 0||e.modules.includes(t);return{chat:i(`commhub.chat`)?r.create({url:`${e.apiBaseUrl}/signalr/chat`,accessTokenProvider:n}):new Tv,calls:i(`commhub.chat`)?r.create({url:`${e.apiBaseUrl}/signalr/calls`,accessTokenProvider:n}):new Tv,notifications:i(`commhub.feed`)?r.create({url:`${e.apiBaseUrl}/signalr/notifications`,accessTokenProvider:n}):new Tv}},wS=e=>{let t=e.logger??new tr(`info`),r=new cr,i=e.authStore,a=i.getState().session?.accessToken??null,o=i.subscribe(e=>{a=e.session?.accessToken??null}),s=()=>a??void 0,c=new $n(new Qn(new Jn(new Kn({logger:t,baseUrl:e.apiBaseUrl,getAuthToken:s}),{timeoutMs:xS,logger:t}),{logger:t}),{logger:t,refresh:()=>i.getState().refreshSession()}),l=new or({defaultOptions:{queries:{staleTime:SS,retry:1,refetchOnWindowFocus:!0}}}),u=CS(e,t,s);return{logger:t,authStore:i,moduleAccessModule:Av({httpClient:c,logger:t}),chatModule:ay({logger:t,httpClient:c,realtime:u.chat,clock:r}),feedModule:Ob({logger:t,httpClient:c,notificationRealtime:u.notifications}),meetingsModule:n.l({logger:t,httpClient:c}),meetingVideoModule:Jx({logger:t,httpClient:c}),scheduleModule:n.nt({logger:t,httpClient:c,clock:r}),settingsModule:js({logger:t,httpClient:c}),usersModule:Tx({logger:t,httpClient:c}),presenceModule:sd({logger:t,httpClient:c}),callsModule:Kc({logger:t,httpClient:c,realtime:u.calls}),queryClient:l,dispose:async()=>{o(),l.clear(),await Promise.all([u.chat.stop(),u.calls.stop(),u.notifications.stop()])}}},TS=new Map,ES=e=>`${e.apiBaseUrl}|${e.clientKey}|${e.authKind}`,DS=(e,t,n)=>{let r=TS.get(e);if(r===void 0){let n=t();r={composition:n.composition,handshake:n.handshake,refCount:0},TS.set(e,r)}r.refCount+=1;let i=!1,a=r;return{composition:a.composition,handshake:a.handshake,release:()=>{i||(i=!0,--a.refCount,!(a.refCount>0)&&(TS.get(e)===a&&TS.delete(e),a.handshake.dispose(),a.composition.dispose().catch(e=>{n?.warn(`Disposing the shared SDK runtime failed`,{error:e})})))}}},OS=`*`,kS=e=>{switch(e.kind){case`sso`:return e.getSecret();case`signed`:return e.getAssertion();case`host-token`:return e.getToken()}},AS=e=>{let t=new cr,n=new Kn({logger:e.logger,baseUrl:e.apiBaseUrl,getAuthToken:()=>void 0});switch(e.kind){case`sso`:return new _l({httpClient:n,clock:t,logger:e.logger});case`signed`:return new e_({httpClient:n,clock:t,logger:e.logger,clientKey:e.clientKey,modules:e.modules});case`host-token`:return new t_({clock:t,logger:e.logger})}},jS=e=>{let{apiBaseUrl:t,clientKey:n,authKind:i}=e,a=e.modules===void 0?OS:e.modules.join(`,`),o=(0,r.useRef)(e.logger);o.current=e.logger;let s=(0,r.useMemo)(()=>a===OS?void 0:MS(a),[a]),c=(0,r.useRef)(e.requestCredential);c.current=e.requestCredential;let l=ES({apiBaseUrl:t,clientKey:n,authKind:i}),[u]=(0,r.useState)(()=>DS(l,()=>{let e=o.current??new tr(`info`,`commhub-sdk`),r=AS({kind:i,clientKey:n,apiBaseUrl:t,logger:e,modules:s??[]}),a=wS({apiBaseUrl:t,authStore:Xg({clock:new cr,logger:e,storageNamespace:`sdk:${n}`,authGateway:r,setAccessToken:()=>{}}),modules:s,logger:e});return{composition:a,handshake:new d_(t=>new u_({authStore:a.authStore,moduleAccessModule:a.moduleAccessModule,requestCredential:()=>c.current(),requestedModules:s??[],emit:t,logger:e,renewable:i!==`sso`}))}},o.current));return(0,r.useEffect)(()=>()=>{u.release()},[u]),{composition:u.composition,handshake:u.handshake}},MS=e=>e===``?[]:e.split(`,`),NS=({handshake:e,auth:t,onEvent:n})=>{let i=(0,r.useRef)(n);i.current=n;let a=(0,r.useRef)(t);return a.current=t,(0,r.useEffect)(()=>e.attach(e=>{i.current?.(e)}),[e]),(0,r.useSyncExternalStore)(t=>e.subscribeStatus(t),()=>e.status,()=>e.status)},PS=e=>Math.min(100,Math.max(0,e)),FS=([e,t,n],r=0)=>`hsl(${String(e)} ${String(PS(t))}% ${String(PS(n+r))}%)`,IS=([e,t,n],r)=>`hsl(${String(e)} ${String(PS(t))}% ${String(PS(n))}% / ${String(r)})`,LS=60,RS=e=>e[2]>LS?`#0f172a`:`#ffffff`,zS={a30:.18,a20:.12,a10:.06,a05:.035,border:.22},BS=e=>`${String(Math.max(0,Math.round(e)))}px`,VS=e=>({"--color-primary":FS(e),"--color-primary-strong":FS(e,-12),"--color-primary-light":FS(e,12),"--color-primary-30":IS(e,zS.a30),"--color-primary-20":IS(e,zS.a20),"--color-primary-10":IS(e,zS.a10),"--color-primary-05":IS(e,zS.a05),"--color-primary-border":IS(e,zS.border),"--color-on-primary":RS(e)}),HS=e=>({"--color-secondary":FS(e),"--color-secondary-strong":FS(e,-12),"--color-secondary-30":IS(e,.3),"--color-secondary-20":IS(e,zS.a20),"--color-secondary-10":IS(e,.07),"--color-secondary-border":IS(e,.3)}),US=e=>({"--radius-sm":BS(e-4),"--radius-md":BS(e),"--radius-lg":BS(e+4),"--radius-xl":BS(e+6)}),WS=[4,6,9,12,15,18,24],GS=()=>{let e={"--height-btn":BS(32),"--height-input":BS(34),"--height-row":BS(44),"--height-nav":BS(36)};return WS.forEach((t,n)=>{e[`--space-${String(n+1)}`]=BS(t)}),e},KS=e=>e?{...e.brand?VS(e.brand):{},...e.accent?HS(e.accent):{},...e.radius===void 0?{}:US(e.radius),...e.font===void 0?{}:{"--font-sans":e.font},...e.density===`compact`?GS():{}}:{},qS=e=>{let t=e?.mode??`system`;return t===`system`?null:t},JS=`data-theme`,YS=e=>{let t=e.getRootNode();return t instanceof ShadowRoot?t.host:e},XS=e=>{let t=(0,r.useRef)(null),n=JSON.stringify(e??null),i=(0,r.useMemo)(()=>JSON.parse(n),[n]);return(0,r.useEffect)(()=>{let e=t.current;if(e===null)return;let n=YS(e),r=KS(i??void 0),a=qS(i??void 0);for(let[e,t]of Object.entries(r))n.style.setProperty(e,t);return a===null?n.removeAttribute(JS):n.setAttribute(JS,a),()=>{for(let e of Object.keys(r))n.style.removeProperty(e);n.removeAttribute(JS)}},[i]),t},ZS=e=>{if(e)return e;try{let e=Intl.DateTimeFormat().resolvedOptions().timeZone;if(e)return e}catch{}return`UTC`},QS=class extends r.Component{state={error:null};static getDerivedStateFromError(e){return{error:e}}componentDidCatch(e,t){this.props.logger.error(`Unhandled error inside the Communication Hub widget`,e,{componentStack:t.componentStack}),this.props.onEvent?.({type:`error`,payload:{code:`WIDGET_CRASHED`,message:e.message}})}render(){let{error:e}=this.state;return e===null?this.props.children:(0,w.jsx)(t.et,{tone:`error`,title:`This widget could not be displayed`,children:`Something went wrong inside the Communication Hub widget. Reloading the page usually fixes it.`})}},$S=e=>{let t=ux.safeParse(e);if(!t.success)return null;let{id:n,kind:r,actor:i,message:a,detail:o,time:s,postId:c}=t.data;return{id:n,kind:r,actor:i,occurredAt:s,...a==null?{}:{message:a},...o==null?{}:{detail:o},...c==null?{}:{postId:c}}},eC=({onEvent:e})=>{let{notificationRealtime:t,logger:n}=U();return(0,r.useEffect)(()=>{if(e===void 0)return;let r=t.on(lx.ReceiveNotification,t=>{let r=$S(t);if(r===null){n.error(`Discarded a malformed notification payload`,{rawPayload:t});return}e({type:`notification`,payload:r})});return t.start().catch(e=>{n.error(`Could not open the notification connection`,e)}),()=>{r()}},[t,n,e]),null},tC=({composition:e,children:r,onEvent:i})=>(0,w.jsx)(n.P,{client:e.queryClient,children:(0,w.jsx)(yt,{reducedMotion:`user`,children:(0,w.jsx)(t.m,{children:(0,w.jsx)(Tl,{store:e.authStore,children:(0,w.jsx)(ei,{module:e.moduleAccessModule,children:(0,w.jsx)(oy,{module:e.chatModule,children:(0,w.jsx)(xy,{children:(0,w.jsx)(Ab,{module:e.feedModule,children:(0,w.jsx)(n.c,{module:e.meetingsModule,children:(0,w.jsx)(Xx,{module:e.meetingVideoModule,children:(0,w.jsx)(n.tt,{module:e.scheduleModule,children:(0,w.jsx)(Ns,{module:e.settingsModule,children:(0,w.jsx)(Dx,{module:e.usersModule,children:(0,w.jsx)(pd,{module:e.presenceModule,children:(0,w.jsx)(Jc,{module:e.callsModule,children:(0,w.jsxs)(Nl,{children:[r,(0,w.jsx)(hu,{}),(0,w.jsx)(eC,{onEvent:i}),(0,w.jsx)(t.c,{})]})})})})})})})})})})})})})})})}),nC={scope:`_scope_p8b6f_6`},rC=e=>{let{auth:n,apiBaseUrl:i,clientKey:a,modules:o,theme:s,timezone:c,logger:l,onEvent:u}=e,{composition:d,handshake:f}=jS({apiBaseUrl:i,clientKey:a,authKind:n.kind,modules:o,logger:l,requestCredential:()=>kS(n)}),p=NS({handshake:f,auth:n,onEvent:u}),m=XS(s),[h,g]=(0,r.useState)(null);return(0,w.jsx)(`div`,{ref:e=>{m.current=e,g(e)},className:nC.scope,"data-timezone":ZS(c),"data-handshake":p,children:(0,w.jsx)(t.n,{container:h,children:(0,w.jsx)(QS,{logger:d.logger,onEvent:u,children:p===`ready`?(0,w.jsx)(tC,{composition:d,onEvent:u,children:e.children}):null})})})},iC=({children:e,initialRoute:n,...r})=>(0,w.jsx)(rC,{...r,children:(0,w.jsx)(t.dt,{initialEntries:[n??`/`],children:e})}),aC=class extends n.Gt{code=`SDK_WIDGET_CONFIG_INVALID`},oC=()=>n.ot(e=>typeof e==`function`,{message:`Expected a function`}),sC=n.st(`kind`,[n.dt({kind:n.lt(`signed`),getAssertion:oC()})]),cC=n.mt([n.ut(),n.ut(),n.ut()]),lC=n.dt({brand:cC.optional(),accent:cC.optional(),radius:n.ut().optional(),font:n.pt().optional(),density:n.ct([`comfortable`,`compact`]).optional(),mode:n.ct([`light`,`dark`,`system`]).optional()}),uC=n.dt({apiBaseUrl:n.pt().url(),clientKey:n.pt().min(1),auth:sC,modules:n.it(n.ct(n_)).optional(),theme:lC.optional(),timezone:n.pt().optional(),locale:n.pt().optional(),logger:n.ot().optional(),onEvent:oC().optional()}),dC=e=>{let t=uC.safeParse(e);return t.success?n.Ut(t.data):n.Bt(new aC(t.error.issues.map(e=>`${e.path.join(`.`)||`(root)`}: ${e.message}`).join(`; `)))},fC=`route`,pC=(e,t,n=[])=>{Kg(e,n=>{let r=dC(n.config);if(!r.ok)return(0,w.jsx)(Jg,{tagName:e,detail:r.error.message});let i=n.getAttribute(fC);return(0,w.jsx)(iC,{...r.value,...i===null?{}:{initialRoute:i},children:t()})},[fC,...n])},mC=()=>{pC(`uapp-chat`,()=>(0,w.jsx)(Lg,{}))},hC={date:``,time:``,recurring:!1,frequency:`weekly`},gC=[{value:`now`,label:`Post now`},{value:`schedule`,label:`Schedule`}],_C=[{value:`daily`,label:`Daily`},{value:`weekly`,label:`Weekly`},{value:`monthly`,label:`Monthly`}],vC={photo:`Add photos`,tag:`Tag people`,feeling:`How are you feeling?`,category:`POST CATEGORY`,item:`Select Item`,template:`Choose Template`},W={screen:`_screen_19h5l_1`,toolbar:`_toolbar_19h5l_8`,toolbarContainer:`_toolbarContainer_19h5l_14`,search:`_search_19h5l_23`,toolbarRailSpacer:`_toolbarRailSpacer_19h5l_31`,searchIcon:`_searchIcon_19h5l_36`,searchInput:`_searchInput_19h5l_44`,textareaError:`_textareaError_19h5l_59`,commentComposerError:`_commentComposerError_19h5l_60`,shareCommentError:`_shareCommentError_19h5l_61`,wrapper:`_wrapper_19h5l_70`,column:`_column_19h5l_80`,rail:`_rail_19h5l_91`,railHead:`_railHead_19h5l_102`,railHeadTitle:`_railHeadTitle_19h5l_109`,railSeeAll:`_railSeeAll_19h5l_123`,railList:`_railList_19h5l_132`,cardBody:`_cardBody_19h5l_142`,seeMoreBtn:`_seeMoreBtn_19h5l_151`,railFoot:`_railFoot_19h5l_166`,missed:`_missed_19h5l_177`,missedHead:`_missedHead_19h5l_184`,missedSpark:`_missedSpark_19h5l_192`,missedTitle:`_missedTitle_19h5l_196`,missedBadge:`_missedBadge_19h5l_203`,missedScroller:`_missedScroller_19h5l_212`,missedScrollerFade:`_missedScrollerFade_19h5l_217`,missedTrack:`_missedTrack_19h5l_217`,missedNav:`_missedNav_19h5l_229`,missedNavLeft:`_missedNavLeft_19h5l_264`,missedNavRight:`_missedNavRight_19h5l_268`,missedCard:`_missedCard_19h5l_272`,missedCardTop:`_missedCardTop_19h5l_282`,missedDot:`_missedDot_19h5l_289`,missedCat:`_missedCat_19h5l_297`,missedTime:`_missedTime_19h5l_304`,missedSummary:`_missedSummary_19h5l_311`,missedFoot:`_missedFoot_19h5l_323`,missedCta:`_missedCta_19h5l_329`,missedPriority:`_missedPriority_19h5l_338`,compChips:`_compChips_19h5l_354`,compChip:`_compChip_19h5l_354`,actionBar:`_actionBar_19h5l_374`,actionBarLabel:`_actionBarLabel_19h5l_386`,actionBarBtns:`_actionBarBtns_19h5l_392`,actionIcon:`_actionIcon_19h5l_397`,actionIconActive:`_actionIconActive_19h5l_414`,sheet:`_sheet_19h5l_419`,sheetHead:`_sheetHead_19h5l_427`,sheetLabel:`_sheetLabel_19h5l_435`,sheetClose:`_sheetClose_19h5l_443`,sheetChips:`_sheetChips_19h5l_465`,catChip:`_catChip_19h5l_471`,catChipOn:`_catChipOn_19h5l_483`,feelGrid:`_feelGrid_19h5l_488`,feelBtn:`_feelBtn_19h5l_494`,feelBtnOn:`_feelBtnOn_19h5l_509`,feelEmoji:`_feelEmoji_19h5l_515`,photoInput:`_photoInput_19h5l_519`,photoZone:`_photoZone_19h5l_523`,photoZoneDrag:`_photoZoneDrag_19h5l_528`,dropzone:`_dropzone_19h5l_533`,dropIcon:`_dropIcon_19h5l_554`,dropTitle:`_dropTitle_19h5l_566`,dropHint:`_dropHint_19h5l_572`,photoGrid:`_photoGrid_19h5l_577`,photoThumb:`_photoThumb_19h5l_584`,photoImg:`_photoImg_19h5l_592`,photoRemove:`_photoRemove_19h5l_599`,photoAddMore:`_photoAddMore_19h5l_619`,mobilePromoTrigger:`_mobilePromoTrigger_19h5l_642`,promoPulseGlow:`_promoPulseGlow_19h5l_1`,mobilePromoTriggerBarHidden:`_mobilePromoTriggerBarHidden_19h5l_739`,mobilePromoExpanded:`_mobilePromoExpanded_19h5l_745`,promoShimmerSweep:`_promoShimmerSweep_19h5l_758`,promoShimmer:`_promoShimmer_19h5l_758`,promoIconWrap:`_promoIconWrap_19h5l_774`,sparkleIcon:`_sparkleIcon_19h5l_787`,sparkleTwinkle:`_sparkleTwinkle_19h5l_1`,promoBtnText:`_promoBtnText_19h5l_791`,mobilePromoBadge:`_mobilePromoBadge_19h5l_810`,promoPopoverOverlay:`_promoPopoverOverlay_19h5l_827`,promoPopoverCard:`_promoPopoverCard_19h5l_839`,popoverHeader:`_popoverHeader_19h5l_853`,popoverCloseX:`_popoverCloseX_19h5l_862`,popoverBadgeIcon:`_popoverBadgeIcon_19h5l_883`,popoverTitleRow:`_popoverTitleRow_19h5l_895`,popoverTitle:`_popoverTitle_19h5l_895`,popoverSeeAllBtn:`_popoverSeeAllBtn_19h5l_911`,popoverSub:`_popoverSub_19h5l_927`,popoverContent:`_popoverContent_19h5l_934`,popoverEmpty:`_popoverEmpty_19h5l_943`,missedClose:`_missedClose_19h5l_992`,missedRead:`_missedRead_19h5l_1029`,comments:`_comments_19h5l_1055`,commentRow:`_commentRow_19h5l_1064`,commentAvatar:`_commentAvatar_19h5l_1069`,commentBubble:`_commentBubble_19h5l_1083`,commentAuthor:`_commentAuthor_19h5l_1091`,commentTime:`_commentTime_19h5l_1097`,commentText:`_commentText_19h5l_1102`,commentComposer:`_commentComposer_19h5l_60`,commentComposerDisabled:`_commentComposerDisabled_19h5l_1123`,commentInput:`_commentInput_19h5l_1134`,commentSend:`_commentSend_19h5l_1148`,sharePreviewWrap:`_sharePreviewWrap_19h5l_1178`,sharePreview:`_sharePreview_19h5l_1178`,sharePreviewAvatar:`_sharePreviewAvatar_19h5l_1194`,sharePreviewBody:`_sharePreviewBody_19h5l_1208`,sharePreviewMeta:`_sharePreviewMeta_19h5l_1213`,sharePreviewCat:`_sharePreviewCat_19h5l_1219`,sharePreviewTitle:`_sharePreviewTitle_19h5l_1224`,shareField:`_shareField_19h5l_1234`,shareComment:`_shareComment_19h5l_61`,shareSearchWrap:`_shareSearchWrap_19h5l_1258`,shareSearch:`_shareSearch_19h5l_1258`,shareSearchInput:`_shareSearchInput_19h5l_1274`,shareList:`_shareList_19h5l_1291`,shareSectionLabel:`_shareSectionLabel_19h5l_1298`,shareRow:`_shareRow_19h5l_1307`,shareRowOn:`_shareRowOn_19h5l_1325`,shareAvatar:`_shareAvatar_19h5l_1331`,shareAvatarSquare:`_shareAvatarSquare_19h5l_1345`,shareRowBody:`_shareRowBody_19h5l_1349`,shareRowName:`_shareRowName_19h5l_1356`,shareRowSub:`_shareRowSub_19h5l_1362`,shareCheck:`_shareCheck_19h5l_1367`,shareCheckOn:`_shareCheckOn_19h5l_1380`,shareEmpty:`_shareEmpty_19h5l_1385`,shareFootText:`_shareFootText_19h5l_1393`,shareFootBtns:`_shareFootBtns_19h5l_1398`,shareCancelBtn:`_shareCancelBtn_19h5l_1403`,shareSendBtn:`_shareSendBtn_19h5l_1418`,shareRoot:`_shareRoot_19h5l_1439`,shareBackdrop:`_shareBackdrop_19h5l_1449`,shareFade:`_shareFade_19h5l_1`,shareModal:`_shareModal_19h5l_1459`,shareIn:`_shareIn_19h5l_1`,shareHead:`_shareHead_19h5l_1493`,shareHeadIcon:`_shareHeadIcon_19h5l_1501`,shareHeadText:`_shareHeadText_19h5l_1513`,shareTitle:`_shareTitle_19h5l_1518`,shareDesc:`_shareDesc_19h5l_1525`,shareCloseBtn:`_shareCloseBtn_19h5l_1531`,shareFooter:`_shareFooter_19h5l_1550`,ppRoot:`_ppRoot_19h5l_1561`,ppOverlay:`_ppOverlay_19h5l_1569`,ppFade:`_ppFade_19h5l_1`,ppPanel:`_ppPanel_19h5l_1579`,ppSlide:`_ppSlide_19h5l_1`,ppHead:`_ppHead_19h5l_1611`,ppHeadIcon:`_ppHeadIcon_19h5l_1620`,ppHeadText:`_ppHeadText_19h5l_1631`,ppTitle:`_ppTitle_19h5l_1636`,ppSubtitle:`_ppSubtitle_19h5l_1653`,ppManaged:`_ppManaged_19h5l_1659`,ppClose:`_ppClose_19h5l_1664`,ppTabs:`_ppTabs_19h5l_1684`,ppTab:`_ppTab_19h5l_1684`,ppSearch:`_ppSearch_19h5l_1693`,ppTabActive:`_ppTabActive_19h5l_1714`,ppTabBg:`_ppTabBg_19h5l_1718`,ppTabLabel:`_ppTabLabel_19h5l_1726`,ppSearchIcon:`_ppSearchIcon_19h5l_1736`,ppSearchInput:`_ppSearchInput_19h5l_1744`,ppList:`_ppList_19h5l_1763`,ppListInner:`_ppListInner_19h5l_1771`,ppEmpty:`_ppEmpty_19h5l_1786`,emptyState:`_emptyState_19h5l_1800`,emptyIconWrap:`_emptyIconWrap_19h5l_1812`,emptyTitle:`_emptyTitle_19h5l_1824`,emptyText:`_emptyText_19h5l_1831`,tabs:`_tabs_19h5l_1840`,tab:`_tab_19h5l_1840`,tabActive:`_tabActive_19h5l_1862`,tabBadge:`_tabBadge_19h5l_1868`,composerCollapsed:`_composerCollapsed_19h5l_1876`,ccAvatar:`_ccAvatar_19h5l_1886`,compAvatar:`_compAvatar_19h5l_1887`,avatar:`_avatar_19h5l_1888`,ccInput:`_ccInput_19h5l_1905`,composer:`_composer_19h5l_1876`,compHead:`_compHead_19h5l_1931`,compAvatarWrapper:`_compAvatarWrapper_19h5l_1938`,statusDot:`_statusDot_19h5l_1943`,compHeaderTagline:`_compHeaderTagline_19h5l_1960`,compMutedText:`_compMutedText_19h5l_1966`,taggedTagline:`_taggedTagline_19h5l_1971`,audiencePill:`_audiencePill_19h5l_1983`,audienceSection:`_audienceSection_19h5l_2002`,audienceLabel:`_audienceLabel_19h5l_2013`,audienceRow:`_audienceRow_19h5l_2021`,audienceBtn:`_audienceBtn_19h5l_2027`,audienceBtnActive:`_audienceBtnActive_19h5l_2045`,compClose:`_compClose_19h5l_2051`,titleInput:`_titleInput_19h5l_2070`,textarea:`_textarea_19h5l_59`,compOption:`_compOption_19h5l_2103`,compOptionLabel:`_compOptionLabel_19h5l_2115`,compFooter:`_compFooter_19h5l_2128`,submitRight:`_submitRight_19h5l_2137`,modeToggle:`_modeToggle_19h5l_2143`,cancelBtn:`_cancelBtn_19h5l_2147`,postBtn:`_postBtn_19h5l_2162`,card:`_card_19h5l_142`,urgentStripe:`_urgentStripe_19h5l_2196`,pinnedRow:`_pinnedRow_19h5l_2207`,pin:`_pin_19h5l_2207`,cardHead:`_cardHead_19h5l_2222`,cardAuthor:`_cardAuthor_19h5l_2234`,authorName:`_authorName_19h5l_2239`,metaRow:`_metaRow_19h5l_2249`,cardRight:`_cardRight_19h5l_2259`,badge:`_badge_19h5l_2267`,badgeDot:`_badgeDot_19h5l_2280`,bookmarkBtn:`_bookmarkBtn_19h5l_2287`,bookmarkActive:`_bookmarkActive_19h5l_2305`,pinBtn:`_pinBtn_19h5l_2310`,pinActive:`_pinActive_19h5l_2328`,editBtn:`_editBtn_19h5l_2333`,deleteBtn:`_deleteBtn_19h5l_2351`,cardActions:`_cardActions_19h5l_2369`,cardTitle:`_cardTitle_19h5l_2375`,ackBanner:`_ackBanner_19h5l_2395`,ackBtn:`_ackBtn_19h5l_2410`,ackDone:`_ackDone_19h5l_2422`,summary:`_summary_19h5l_2436`,summaryLeft:`_summaryLeft_19h5l_2446`,summaryIcons:`_summaryIcons_19h5l_2452`,summaryDot:`_summaryDot_19h5l_2457`,summaryCount:`_summaryCount_19h5l_2473`,summaryComments:`_summaryComments_19h5l_2478`,summaryCommentsClickable:`_summaryCommentsClickable_19h5l_2482`,postBar:`_postBar_19h5l_2492`,reactWrap:`_reactWrap_19h5l_2500`,actionBtn:`_actionBtn_19h5l_2506`,actionActive:`_actionActive_19h5l_2544`,picker:`_picker_19h5l_2561`,pickerVisible:`_pickerVisible_19h5l_2593`,pickerBtn:`_pickerBtn_19h5l_2599`,pickerActive:`_pickerActive_19h5l_2621`,schedule:`_schedule_19h5l_2664`,scheduleHead:`_scheduleHead_19h5l_2675`,scheduleGrid:`_scheduleGrid_19h5l_2689`,scheduleField:`_scheduleField_19h5l_2695`,scheduleLabel:`_scheduleLabel_19h5l_2701`,scheduleInput:`_scheduleInput_19h5l_2707`,scheduleRow:`_scheduleRow_19h5l_2724`,scheduleRowLabel:`_scheduleRowLabel_19h5l_2734`,switch:`_switch_19h5l_2747`,switchOn:`_switchOn_19h5l_2759`,switchKnob:`_switchKnob_19h5l_2763`,scheduleFreq:`_scheduleFreq_19h5l_2778`,scheduleTz:`_scheduleTz_19h5l_2782`,tagSearch:`_tagSearch_19h5l_2796`,tagSearchInput:`_tagSearchInput_19h5l_2807`,tagList:`_tagList_19h5l_2816`,tagRow:`_tagRow_19h5l_2824`,tagRowActive:`_tagRowActive_19h5l_2841`,tagRowContent:`_tagRowContent_19h5l_2846`,tagAvatar:`_tagAvatar_19h5l_2852`,tagInfo:`_tagInfo_19h5l_2865`,tagName:`_tagName_19h5l_2870`,tagRole:`_tagRole_19h5l_2876`,tagCheckbox:`_tagCheckbox_19h5l_2881`,tagCheckboxActive:`_tagCheckboxActive_19h5l_2892`,postImagesGrid:`_postImagesGrid_19h5l_2899`,grid1:`_grid1_19h5l_2918`,grid2:`_grid2_19h5l_2922`,grid3:`_grid3_19h5l_2926`,grid4:`_grid4_19h5l_2931`,gridImageWrap:`_gridImageWrap_19h5l_2936`,gridImage:`_gridImage_19h5l_2936`,moreImagesOverlay:`_moreImagesOverlay_19h5l_2962`,lightboxOverlay:`_lightboxOverlay_19h5l_2985`,lightboxContainer:`_lightboxContainer_19h5l_3002`,lightboxLeft:`_lightboxLeft_19h5l_3015`,lightboxRight:`_lightboxRight_19h5l_3025`,lightboxScrollableContent:`_lightboxScrollableContent_19h5l_3035`,lightboxDivider:`_lightboxDivider_19h5l_3046`,lightboxClose:`_lightboxClose_19h5l_3070`,lightboxImage:`_lightboxImage_19h5l_3083`,lightboxArrow:`_lightboxArrow_19h5l_3119`,lightboxArrowLeft:`_lightboxArrowLeft_19h5l_3141`,lightboxArrowRight:`_lightboxArrowRight_19h5l_3149`,lightboxCounter:`_lightboxCounter_19h5l_3157`,templateSheet:`_templateSheet_19h5l_3175`,templateSheetHeader:`_templateSheetHeader_19h5l_3181`,templateBackBtn:`_templateBackBtn_19h5l_3189`,templateSheetTitle:`_templateSheetTitle_19h5l_3212`,templateSheetMeta:`_templateSheetMeta_19h5l_3221`,templateSearch:`_templateSearch_19h5l_3233`,templateSearchIcon:`_templateSearchIcon_19h5l_3239`,templateSearchInput:`_templateSearchInput_19h5l_3248`,templateList:`_templateList_19h5l_3265`,templateItem:`_templateItem_19h5l_3272`,templateItemBody:`_templateItemBody_19h5l_3296`,templateItemTitle:`_templateItemTitle_19h5l_3304`,templateItemSub:`_templateItemSub_19h5l_3313`,templateUseBtn:`_templateUseBtn_19h5l_3321`,templateEmpty:`_templateEmpty_19h5l_3342`,itemIconContainer:`_itemIconContainer_19h5l_3349`,itemBadge:`_itemBadge_19h5l_3361`,itemMetaRow:`_itemMetaRow_19h5l_3371`},yC=({on:e,label:n,onToggle:r})=>(0,w.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":n,className:t.at(W.switch,e&&W.switchOn),onClick:r,children:(0,w.jsx)(`span`,{className:W.switchKnob})}),bC=e=>{let t=n.y(new Date,e),r=t.hour*60+t.minute+1,i=Math.floor(r/60)%24,a=r%60;return`${String(i).padStart(2,`0`)}:${String(a).padStart(2,`0`)}`},xC=({value:e,todayStr:t,clampTime:n,onChange:r})=>(0,w.jsxs)(`label`,{className:W.scheduleField,children:[(0,w.jsx)(`span`,{className:W.scheduleLabel,children:`Date`}),(0,w.jsx)(`input`,{type:`date`,className:W.scheduleInput,value:e.date,min:t,onChange:i=>{let a=i.target.value;r({...e,date:a,time:a===t?n(e.time):e.time})}})]}),SC=({value:e,minTimeStr:n,isPastTime:r,clampTime:i,onChange:a})=>(0,w.jsxs)(`label`,{className:W.scheduleField,children:[(0,w.jsx)(`span`,{className:W.scheduleLabel,children:`Time`}),(0,w.jsx)(`input`,{type:`time`,className:t.at(W.scheduleInput,r&&W.scheduleInputError),"aria-invalid":r,"aria-describedby":r?`schedule-time-error`:void 0,value:e.time,min:n,onChange:t=>{a({...e,time:i(t.target.value)})},onBlur:()=>{r&&a({...e,time:n})}}),r&&(0,w.jsx)(`span`,{id:`schedule-time-error`,className:W.scheduleTimeError,role:`alert`,children:`Past time — snapped to earliest available time.`})]}),CC=({value:e,onChange:r,timezone:i})=>{let a=n.y(new Date,i),o=`${String(a.year)}-${String(a.month).padStart(2,`0`)}-${String(a.day).padStart(2,`0`)}`,s=e.date===o,c=bC(i),l=e=>s&&e<c?c:e,u=s&&e.time<c;return(0,w.jsxs)(`div`,{className:W.schedule,children:[(0,w.jsxs)(`div`,{className:W.scheduleHead,children:[(0,w.jsx)(h,{size:13}),` SCHEDULE THIS POST`]}),(0,w.jsxs)(`div`,{className:W.scheduleGrid,children:[(0,w.jsx)(xC,{value:e,todayStr:o,clampTime:l,onChange:r}),(0,w.jsx)(SC,{value:e,minTimeStr:c,isPastTime:u,clampTime:l,onChange:r})]}),(0,w.jsxs)(`div`,{className:W.scheduleRow,children:[(0,w.jsxs)(`span`,{className:W.scheduleRowLabel,children:[(0,w.jsx)(We,{size:13}),` Recurring`]}),(0,w.jsx)(yC,{on:e.recurring,label:`Repeat this post`,onToggle:()=>{r({...e,recurring:!e.recurring})}})]}),e.recurring&&(0,w.jsx)(t.i,{ariaLabel:`Repeat frequency`,className:W.scheduleFreq??``,options:_C,value:e.frequency,onChange:t=>{r({...e,frequency:t})}}),(0,w.jsxs)(`div`,{className:W.scheduleTz,children:[(0,w.jsx)(fe,{size:12}),` Timezone: `,(0,w.jsx)(`strong`,{children:i})]})]})},wC=({mode:e,disabled:n,submitLabels:r,hideToggle:i,onMode:a,onCancel:o,onSubmit:s})=>(0,w.jsxs)(`div`,{className:W.compFooter,children:[(0,w.jsx)(`button`,{type:`button`,className:W.cancelBtn,onClick:o,children:`Cancel`}),(0,w.jsxs)(`div`,{className:W.submitRight,children:[!i&&(0,w.jsx)(t.i,{ariaLabel:`Publish timing`,className:W.modeToggle??``,options:gC,value:e,onChange:a}),(0,w.jsx)(`button`,{type:`button`,className:W.postBtn,disabled:n,onClick:s,children:e===`schedule`?r?.schedule??(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(t.ot,{size:12}),` Schedule post`]}):r?.now??(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(Ke,{size:12}),` Post now`]})})]})]});function TC(e,t,r){if(e===`schedule`)return n.b(t.date,t.time,r)}function EC(){let[e,t]=(0,r.useState)(``),[n,i]=(0,r.useState)(``),[a,o]=(0,r.useState)(!1),[s,c]=(0,r.useState)(`general`),[l,u]=(0,r.useState)(`all`),[d,f]=(0,r.useState)(null),[p,m]=(0,r.useState)(null),[h,g]=(0,r.useState)(null),[_,v]=(0,r.useState)(`now`),[y,b]=(0,r.useState)(hC),[x,S]=(0,r.useState)([]),[ee,te]=(0,r.useState)([]),[ne,re]=(0,r.useState)(null);return{body:e,setBody:t,title:n,setTitle:i,mustRead:a,setMustRead:o,categoryId:s,setCategoryId:c,audienceId:l,setAudienceId:u,feeling:d,setFeeling:f,location:p,setLocation:m,sheet:h,setSheet:g,mode:_,setMode:v,schedule:y,setSchedule:b,taggedUsers:x,setTaggedUsers:S,photos:ee,setPhotos:te,selectedItem:ne,setSelectedItem:re}}function DC(e,t){return e.title.trim().length>300?`Post title cannot exceed 300 characters.`:e.body.trim().length>8e3?`Post body cannot exceed 8000 characters.`:e.mode===`schedule`&&t&&Date.parse(t)<Date.now()?`Schedule time must be in the future.`:null}function OC(e,n,r){let i=Fb(),a=Jb(),o=e.body.trim().length===0||i.isPending||a.isPending||e.mode===`schedule`&&(!e.schedule.date||!e.schedule.time);return{submitDisabled:o,submit:async()=>{if(o)return;let s=TC(e.mode,e.schedule,r),c=DC(e,s);if(c){t.l.error(c);return}try{let r=[];e.photos.length>0&&(r=await Promise.all(e.photos.map(e=>a.mutateAsync(e)))),i.mutate({body:e.body,categoryId:e.categoryId,audienceId:e.audienceId,mustAcknowledge:e.mustRead,taggedUserIds:e.taggedUsers.map(e=>e.id),...e.title.trim()?{title:e.title.trim()}:{},scheduledAt:s,isRecurring:e.mode===`schedule`?e.schedule.recurring:!1,recurrenceFrequency:e.mode===`schedule`&&e.schedule.recurring?e.schedule.frequency:void 0,locationLabel:e.location??void 0,imageIds:r.length>0?r:void 0},{onSuccess:()=>{e.mode===`schedule`&&t.l.success(`Post scheduled for ${e.schedule.date} at ${e.schedule.time}`),n()},onError:()=>{t.l.error(`Failed to publish post. Please try again.`)}})}catch{t.l.error(`Invalid schedule date or time, or image upload failed.`)}}}}function kC(e,t){let r=EC(),i=n.m().display,{submitDisabled:a,submit:o}=OC(r,e,i),s=e=>{r.setTaggedUsers(t=>t.some(t=>t.id===e.id)?t.filter(t=>t.id!==e.id):[...t,e])},c=(e,t)=>{r.setTitle(e),r.setBody(t),r.setSheet(null),r.setSelectedItem(null)},l=e=>{let t=typeof e==`function`?e(r.mode):e;if(r.setMode(t),t===`schedule`&&!r.schedule.date){let e=n.y(new Date,i),t=`${String(e.year)}-${String(e.month).padStart(2,`0`)}-${String(e.day).padStart(2,`0`)}`,a=`${String(e.hour).padStart(2,`0`)}:${String(e.minute).padStart(2,`0`)}`;r.setSchedule({...r.schedule,date:t,time:a})}};return{...r,setMode:l,category:t.find(e=>e.id===r.categoryId),timezone:i,submitDisabled:a,toggleTag:s,applyTemplate:c,submit:o}}var AC=e=>{let t=e.values,n=[`item_title`,`student_name`,`university_name`,`course_name`,`name`,`title`].find(e=>{let n=t[e];return n?n.trim()!==``:!1}),r=n===void 0?void 0:t[n],i=Object.entries(t).find(([e,t])=>t.trim()!==``),a=r??i?.[1]??e.id,o=n??i?.[0],s=[`item_description`,`university`,`status`].find(e=>{let n=t[e];return n?n.trim()!==``:!1}),c=s===void 0?void 0:t[s],l=Object.entries(t).find(([e,t])=>e!==o&&t.trim()!==``),u=c??l?.[1]??``;return{id:e.id,label:a,sublabel:u,values:t}},jC=(e,t)=>e===void 0?[]:t.filter(t=>e.templateIds.includes(t.id)||e.dataTemplateIds.includes(t.id)),MC=(e,t)=>{let n=!!e?.webhookId,r=Us(n?void 0:e?.categoryKey),i=Ws(e?.categoryKey??``,t,n),a=n?i:r;return{rawItems:a.data??[],isLoadingItems:a.isPending,hasWebhook:n}},NC={all:ct,sales:p,admission:pe,leadership:et},PC=e=>NC[e]??ct,FC=({audienceId:e,onChange:n})=>{let{data:r=[]}=Gb(),i=r.find(t=>t.id===e)??r[0],a=PC(i?.id??`all`);return(0,w.jsx)(t.g,{align:`start`,trigger:(0,w.jsxs)(`button`,{type:`button`,className:W.audiencePill,"aria-label":`Audience`,children:[(0,w.jsx)(a,{size:12}),` `,i?.label??`Everyone`,(0,w.jsx)(x,{size:12})]}),items:r.map(e=>{let t=PC(e.id);return{label:e.label,icon:(0,w.jsx)(t,{size:14}),onSelect:()=>{n(e.id)}}})})},IC=({audienceId:e,onChange:n})=>{let{data:r=[]}=Gb();return(0,w.jsxs)(`div`,{className:W.audienceSection,children:[(0,w.jsx)(`span`,{className:W.audienceLabel,children:`Who can see this post?`}),(0,w.jsx)(`div`,{className:W.audienceRow,children:r.map(r=>{let i=PC(r.id),a=r.id===e;return(0,w.jsxs)(`button`,{type:`button`,className:t.at(W.audienceBtn,a&&W.audienceBtnActive),"aria-pressed":a,onClick:()=>{n(r.id)},children:[(0,w.jsx)(i,{size:14}),` `,r.label,a&&(0,w.jsx)(b,{size:13})]},r.id)})})]})},LC=({user:e,isSelected:n,onToggleTag:r})=>(0,w.jsxs)(`button`,{type:`button`,className:t.at(W.tagRow,n&&W.tagRowActive),onClick:()=>{r(e)},children:[(0,w.jsxs)(`div`,{className:W.tagRowContent,children:[(0,w.jsx)(`span`,{className:W.tagAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`div`,{className:W.tagInfo,children:[(0,w.jsx)(`span`,{className:W.tagName,children:e.name}),(0,w.jsx)(`span`,{className:W.tagRole,children:e.role})]})]}),(0,w.jsx)(`div`,{className:t.at(W.tagCheckbox,n&&W.tagCheckboxActive),children:(0,w.jsx)(b,{size:12})})]}),RC=({isSearching:e,isPending:t,search:n,activeList:r,taggedUserIds:i,onToggleTag:a})=>e?t?(0,w.jsx)(`span`,{className:W.actionBarLabel,style:{display:`block`,textAlign:`center`,padding:`20px 0`},children:`Searching...`}):r.length===0?(0,w.jsxs)(`span`,{className:W.actionBarLabel,style:{display:`block`,textAlign:`center`,padding:`20px 0`},children:[`No teammates found matching "`,n,`".`]}):(0,w.jsx)(w.Fragment,{children:r.map(e=>(0,w.jsx)(LC,{user:e,isSelected:i.includes(e.id),onToggleTag:a},e.id))}):(0,w.jsx)(`span`,{className:W.actionBarLabel,style:{display:`block`,textAlign:`center`,padding:`20px 0`},children:`Type a name or email to search teammates.`}),zC=({taggedUserIds:e,onToggleTag:t})=>{let[n,i]=(0,r.useState)(``),a=qb(n),{user:o}=Dl(),s=n.trim().length>0,c=(a.data??[]).filter(e=>e.id!==o?.id);return(0,w.jsxs)(`div`,{children:[(0,w.jsxs)(`div`,{className:W.tagSearch,children:[(0,w.jsx)(Ge,{size:14,className:W.actionBarLabel}),(0,w.jsx)(`input`,{type:`text`,className:W.tagSearchInput,placeholder:`Search teammates`,value:n,onChange:e=>{i(e.target.value)}}),n&&(0,w.jsx)(`button`,{type:`button`,onClick:()=>{i(``)},style:{border:`none`,background:`transparent`,cursor:`pointer`,display:`flex`,alignItems:`center`,justifyContent:`center`,padding:`2px`,color:`var(--color-text-soft)`,borderRadius:`50%`},"aria-label":`Clear search`,children:(0,w.jsx)(C,{size:14})})]}),(0,w.jsx)(`div`,{className:W.tagList,children:(0,w.jsx)(RC,{isSearching:s,isPending:a.isPending,search:n,activeList:c,taggedUserIds:e,onToggleTag:t})})]})},BC=({categoryId:e,onCategory:n})=>{let{data:r=[]}=Wb();return(0,w.jsx)(`div`,{className:W.sheetChips,children:r.map(r=>(0,w.jsx)(`button`,{type:`button`,className:t.at(W.catChip,e===r.id&&W.catChipOn),style:t.it({"--chip":r.color}),onClick:()=>{n(r)},children:r.label},r.id))})},VC=({feeling:e,onFeeling:n})=>{let{data:r=[]}=Kb();return(0,w.jsx)(`div`,{className:W.feelGrid,children:r.map(r=>(0,w.jsxs)(`button`,{type:`button`,className:t.at(W.feelBtn,e===r.id&&W.feelBtnOn),onClick:()=>{n(r.id)},children:[(0,w.jsx)(`span`,{className:W.feelEmoji,children:r.emoji}),r.label]},r.id))})},HC=(e,t)=>{let n={};return Object.entries(t).forEach(([e,t])=>{n[e.toLowerCase()]=t}),e.replace(/\{\{\s*([a-z0-9_]+)\s*\}\}/gi,(e,t)=>n[t.toLowerCase()]??``)},UC=e=>e.length>120?`${e.slice(0,120)}…`:e,WC=(e,t,n,r)=>{t(e),e.dataTemplateIds.length>0||e.templateIds.length>0?n(`item`):r()},GC=(e,t)=>{t(`item`)},KC=e=>{let t=new Set,n=/\{\{\s*([a-z0-9_]+)\s*\}\}/gi;return e.forEach(e=>{let r=`${e.postTitle} ${e.postBody}`.matchAll(n);for(let e of r)e[1]!==void 0&&t.add(e[1].toLowerCase())}),t},qC=({item:e,templates:t})=>{let n=KC(t),r=Object.entries(e.values).filter(([e,t])=>(n.size===0||n.has(e.toLowerCase()))&&e!==`item_title`&&e!==`student_name`&&e!==`university_name`&&e!==`course_name`&&e!==`name`&&e!==`title`&&e!==`item_description`&&e!==`university`&&e!==`status`&&t.trim()!==``);return r.length===0?null:(0,w.jsx)(`div`,{className:W.itemMetaRow,children:r.map(([e,t])=>(0,w.jsxs)(`span`,{className:W.itemBadge,children:[e.replace(/_/g,` `),`: `,t]},e))})},JC=({item:e,templates:t,onSelect:n})=>{let r=e.label,i=(0,w.jsxs)(w.Fragment,{children:[e.sublabel!==``&&(0,w.jsx)(`span`,{className:W.templateItemSub,children:e.sublabel}),(0,w.jsx)(qC,{item:e,templates:t})]});if(t.length>0&&t[0]!==void 0){let n=t[0],a=new Date,o={item_count:`1`,current_year:String(a.getFullYear()),current_date:a.toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}),...e.values};r=HC(n.postTitle,o),i=(0,w.jsx)(`span`,{className:W.templateItemSub,children:UC(HC(n.postBody,o))})}return(0,w.jsxs)(`button`,{type:`button`,className:W.templateItem,onClick:()=>{n(e)},children:[(0,w.jsx)(`div`,{className:W.itemIconContainer,children:(0,w.jsx)(ue,{size:16})}),(0,w.jsxs)(`div`,{className:W.templateItemBody,children:[(0,w.jsx)(`span`,{className:W.templateItemTitle,children:r}),i]}),(0,w.jsx)(`span`,{className:W.templateUseBtn,children:`SELECT`})]})},YC=({category:e,items:n,templates:i,searchQuery:a,onSearchQuery:o,isLoading:c,onBack:l,onSelectItem:u})=>{let[d,f]=(0,r.useState)(``),p=o!==void 0,m=p?a??``:d,h=p?o:f,g=p||m.trim()===``?n:n.filter(e=>[e.label,e.sublabel,e.id].join(` `).toLowerCase().includes(m.toLowerCase()));return(0,w.jsxs)(`div`,{className:W.templateSheet,children:[(0,w.jsxs)(`div`,{className:W.templateSheetHeader,children:[(0,w.jsx)(`button`,{type:`button`,className:W.templateBackBtn,onClick:l,children:(0,w.jsx)(s,{size:14})}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`span`,{className:W.templateSheetTitle,children:`Select Item`}),(0,w.jsxs)(`span`,{className:W.templateSheetMeta,children:[`Showing items for `,(0,w.jsx)(`strong`,{children:e.label})]})]})]}),(0,w.jsxs)(`div`,{className:W.templateSearch,children:[(0,w.jsx)(Ge,{size:13,className:W.templateSearchIcon}),(0,w.jsx)(`input`,{type:`text`,className:W.templateSearchInput,placeholder:`Search items…`,value:m,onChange:e=>{h(e.target.value)}}),c&&g.length>0&&(0,w.jsx)(`div`,{style:{marginLeft:`8px`,display:`flex`,alignItems:`center`},children:(0,w.jsx)(t.nt,{size:`sm`})})]}),(0,w.jsx)(`div`,{className:W.templateList,children:c&&g.length===0?(0,w.jsx)(`div`,{style:{padding:`2rem`,display:`flex`,justifyContent:`center`},children:(0,w.jsx)(t.nt,{})}):g.length===0?(0,w.jsx)(`p`,{className:W.templateEmpty,children:`No items found.`}):g.map(e=>(0,w.jsx)(JC,{item:e,templates:i,onSelect:u},e.id))})]})},XC=({selectedItem:e,templates:t,onBack:n,onUse:r})=>(0,w.jsxs)(`div`,{className:W.templateSheet,children:[(0,w.jsxs)(`div`,{className:W.templateSheetHeader,children:[(0,w.jsx)(`button`,{type:`button`,className:W.templateBackBtn,onClick:n,children:(0,w.jsx)(s,{size:14})}),(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`span`,{className:W.templateSheetTitle,children:`Choose Template`}),(0,w.jsxs)(`span`,{className:W.templateSheetMeta,children:[e.label,` · `,(0,w.jsx)(`strong`,{children:e.sublabel})]})]})]}),(0,w.jsx)(`div`,{className:W.templateList,children:t.length===0?(0,w.jsx)(`p`,{className:W.templateEmpty,children:`No templates linked to this category.`}):t.map(t=>{let n=new Date,i={item_count:`1`,current_year:String(n.getFullYear()),current_date:n.toLocaleDateString(`en-GB`,{day:`numeric`,month:`short`,year:`numeric`}),...e.values},a=HC(t.postBody,i),o=HC(t.postTitle,i);return(0,w.jsxs)(`button`,{type:`button`,className:W.templateItem,onClick:()=>{r(o,a)},children:[(0,w.jsxs)(`div`,{className:W.templateItemBody,children:[(0,w.jsx)(`span`,{className:W.templateItemTitle,children:t.name}),(0,w.jsx)(`span`,{className:W.templateItemSub,children:UC(a)})]}),(0,w.jsxs)(`span`,{className:W.templateUseBtn,children:[(0,w.jsx)(b,{size:11}),`USE`]})]},t.id)})})]}),ZC=({category:e})=>e===void 0?null:(0,w.jsx)(`div`,{className:W.compChips,children:(0,w.jsxs)(`span`,{className:W.compChip,children:[`🏷️ `,e.label]})}),QC=({sheet:e,location:n,onSheet:r,onToggleLocation:i,showPhoto:a=!0})=>(0,w.jsxs)(`div`,{className:W.actionBar,children:[(0,w.jsx)(`span`,{className:W.actionBarLabel,children:`Add to your post`}),(0,w.jsxs)(`div`,{className:W.actionBarBtns,children:[a&&(0,w.jsx)(`button`,{type:`button`,title:`Photo/video`,className:t.at(W.actionIcon,e===`photo`&&W.actionIconActive),onClick:()=>{r(`photo`)},children:(0,w.jsx)(_e,{size:15})}),(0,w.jsx)(`button`,{type:`button`,title:`Tag people`,className:t.at(W.actionIcon,e===`tag`&&W.actionIconActive),onClick:()=>{r(`tag`)},children:(0,w.jsx)(st,{size:15})}),(0,w.jsx)(`button`,{type:`button`,title:`Feeling/activity`,className:t.at(W.actionIcon,e===`feeling`&&W.actionIconActive),onClick:()=>{r(`feeling`)},children:(0,w.jsx)(Qe,{size:15})}),(0,w.jsx)(`button`,{type:`button`,title:`Location`,className:t.at(W.actionIcon,n!==null&&W.actionIconActive),onClick:i,children:(0,w.jsx)(xe,{size:15})}),(0,w.jsx)(`button`,{type:`button`,title:`Category`,className:t.at(W.actionIcon,(e===`category`||e===`item`||e===`template`)&&W.actionIconActive),onClick:()=>{r(`category`)},children:(0,w.jsx)(tt,{size:15})})]})]}),$C=({currentCategory:e,categoryItems:t,categoryTemplates:n,searchQuery:r,onSearchQuery:i,isLoadingItems:a,onSetSheet:o,onSelectItem:s})=>(0,w.jsx)(YC,{category:e,items:t,templates:n.filter(t=>e.dataTemplateIds.includes(t.id)),searchQuery:r,onSearchQuery:i,isLoading:a,onBack:()=>{o(`category`)},onSelectItem:e=>{s(e),o(`template`)}}),ew=({currentCategory:e,categoryTemplates:t,selectedItem:n,onSetSheet:r,onApplyTemplate:i})=>n===null?null:(0,w.jsx)(XC,{selectedItem:n,templates:t.filter(t=>e?.templateIds.includes(t.id)),onBack:()=>{GC(e,r)},onUse:i}),tw=e=>{let{sheet:t,categoryId:n,feeling:r,taggedUserIds:i,selectedItem:a,categoryItems:o,categoryTemplates:s,currentCategory:c,onCategory:l,onFeeling:u,onToggleTag:d,onSelectItem:f,onApplyTemplate:p,onClose:m,onSetSheet:h,searchQuery:g,onSearchQuery:_,isLoadingItems:v}=e;switch(t){case`category`:return(0,w.jsx)(BC,{categoryId:n,onCategory:e=>{WC(e,l,h,m)}});case`feeling`:return(0,w.jsx)(VC,{feeling:r,onFeeling:u});case`tag`:return(0,w.jsx)(zC,{taggedUserIds:i,onToggleTag:d});case`item`:return c===void 0?null:(0,w.jsx)($C,{currentCategory:c,categoryItems:o,categoryTemplates:s,searchQuery:g,onSearchQuery:_,isLoadingItems:v,onSetSheet:h,onSelectItem:f});case`template`:return(0,w.jsx)(ew,{currentCategory:c,categoryTemplates:s,selectedItem:a,onSetSheet:h,onApplyTemplate:p});case null:case`photo`:return null;default:return null}},nw=e=>{let{sheet:t,onClose:n}=e;if(t===null||t===`photo`)return null;let r=t!==`item`&&t!==`template`;return(0,w.jsxs)(`div`,{className:W.sheet,children:[r&&(0,w.jsxs)(`div`,{className:W.sheetHead,children:[(0,w.jsx)(`span`,{className:W.sheetLabel,children:vC[t]}),(0,w.jsx)(`button`,{type:`button`,className:W.sheetClose,"aria-label":`Close`,onClick:n,children:(0,w.jsx)(C,{size:14})})]}),(0,w.jsx)(tw,{...e})]})},rw=e=>e.map(e=>({url:URL.createObjectURL(e),name:e.name,size:e.size,file:e})),iw=({onOpen:e})=>(0,w.jsxs)(`button`,{type:`button`,className:W.dropzone,onClick:e,children:[(0,w.jsx)(`span`,{className:W.dropIcon,children:(0,w.jsx)(ne,{size:20})}),(0,w.jsx)(`span`,{className:W.dropTitle,children:`Click to upload or drag & drop`}),(0,w.jsx)(`span`,{className:W.dropHint,children:`Supported image formats: PNG, JPG, JPEG, GIF, WEBP, HEIC (Max 10MB)`})]}),aw=({photos:e,onOpen:t,onRemove:n})=>(0,w.jsxs)(`div`,{className:W.photoGrid,children:[e.map(e=>(0,w.jsxs)(`div`,{className:W.photoThumb,children:[(0,w.jsx)(`img`,{src:e.url,alt:e.name,className:W.photoImg}),(0,w.jsx)(`button`,{type:`button`,className:W.photoRemove,"aria-label":`Remove ${e.name}`,onClick:()=>{n(e.id)},children:(0,w.jsx)(C,{size:12})})]},e.id)),(0,w.jsx)(`button`,{type:`button`,className:W.photoAddMore,"aria-label":`Add more photos`,onClick:t,children:(0,w.jsx)(ge,{size:18})})]}),ow=(e,t)=>rw(e).map((e,n)=>({id:`${e.name}-${String(e.size)}-${String(t+n)}`,url:e.url,name:e.name,file:e.file})),sw=async e=>{if(e.files===null)return;let n=5-e.currentCount;if(n<=0){t.l.error(`You can only upload a maximum of 5 images.`);return}let r=[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`image/heic`,`image/heif`],i=e=>{if(r.includes(e.type))return!0;let t=e.name.split(`.`).pop()?.toLowerCase();return t===`heic`||t===`heif`},a=10*1024*1024,o=Array.from(e.files);o.some(e=>!i(e))&&t.l.error(`Only PNG, JPG, JPEG, GIF, WEBP, and HEIC images are supported.`);let s=o.filter(i);s.filter(e=>e.size>a).length>0&&t.l.error(`Some images exceed the 10MB limit and were skipped.`);let c=s.filter(e=>e.size<=a).slice(0,n);if(c.length===0)return;s.length>n&&t.l.error(`Only the first ${String(n)} images were added. Maximum limit is 5.`);let l=ow(await Promise.all(c.map(e=>cx(e))),e.existingPicked.length);if(l.length===0)return;let u=[...e.existingPicked,...l];e.onResult(u,u.map(e=>e.file))},cw=({photos:e,setPhotos:n})=>{let[i,a]=(0,r.useState)([]),[o,s]=(0,r.useState)(!1),c=(0,r.useRef)(null),l=(0,r.useRef)([]);l.current=i,(0,r.useEffect)(()=>()=>{for(let e of l.current)URL.revokeObjectURL(e.url)},[]);let u=t=>{sw({files:t,currentCount:e.length,existingPicked:i,onResult:(e,t)=>{a(e),n(t)}})};return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`input`,{ref:c,type:`file`,accept:`image/*`,multiple:!0,className:W.photoInput,onChange:e=>{u(e.target.files),c.current!==null&&(c.current.value=``)}}),(0,w.jsx)(`div`,{className:t.at(W.photoZone,o&&W.photoZoneDrag),onDragOver:e=>{e.preventDefault(),s(!0)},onDragLeave:()=>{s(!1)},onDrop:e=>{e.preventDefault(),s(!1),u(e.dataTransfer.files)},children:i.length===0?(0,w.jsx)(iw,{onOpen:()=>c.current?.click()}):(0,w.jsx)(aw,{photos:i,onOpen:()=>c.current?.click(),onRemove:e=>{a(t=>{let r=t.find(t=>t.id===e);r!==void 0&&URL.revokeObjectURL(r.url);let i=t.filter(t=>t.id!==e);return n(i.map(e=>e.file)),i})}})})]})},lw=({value:e,onChange:n,className:r})=>(0,w.jsx)(`input`,{className:t.at(W.titleInput,r),placeholder:`Add a headline (optional)`,value:e,onChange:e=>{n(e.target.value)}}),uw=({on:e,onToggle:n})=>(0,w.jsxs)(`div`,{className:W.compOption,children:[(0,w.jsxs)(`span`,{className:W.compOptionLabel,children:[(0,w.jsx)(t.st,{size:14}),` Must-read — require acknowledgement`]}),(0,w.jsx)(`button`,{type:`button`,role:`switch`,"aria-checked":e,"aria-label":`Require acknowledgement`,className:t.at(W.switch,e&&W.switchOn),onClick:n,children:(0,w.jsx)(`span`,{className:W.switchKnob})})]}),dw=(e,t)=>{let{detectLocation:n}=U();return()=>{if(e!==null){t(null);return}t(`Detecting location...`),n.execute().then(e=>{t(t=>t===`Detecting location...`?e.ok?e.value:`London Office`:t)})}},fw=e=>{let{category:t,feeling:n,location:r,sheet:i,categoryId:a,audienceId:o,mustRead:s,taggedUserIds:c,selectedItem:l,categoryItems:u,categoryTemplates:d,setSheet:f,setLocation:p,setCategoryId:m,setFeeling:h,setAudienceId:g,setMustRead:_,onToggleTag:v,onSelectItem:y,onApplyTemplate:b,photos:x,setPhotos:S,isEditMode:ee,editImagesNode:te}=e,ne=dw(r,p);return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(ZC,{category:t}),ee?te:(i===`photo`||x.length>0)&&(0,w.jsx)(cw,{photos:x,setPhotos:S}),(0,w.jsx)(QC,{sheet:i,location:r,onSheet:e=>{f(t=>t===e?null:e)},onToggleLocation:ne,showPhoto:!ee||te===void 0||i===`photo`}),(0,w.jsx)(nw,{sheet:i,categoryId:a,feeling:n,taggedUserIds:c,selectedItem:l,categoryItems:u,categoryTemplates:d,currentCategory:t,onCategory:m,onFeeling:e=>{h(t=>t===e?null:e)},onToggleTag:v,onSelectItem:y,onApplyTemplate:b,onClose:()=>{f(null)},onSetSheet:f,searchQuery:e.searchQuery,onSearchQuery:e.onSearchQuery,isLoadingItems:e.isLoadingItems}),(0,w.jsx)(IC,{audienceId:o,onChange:g}),(0,w.jsx)(uw,{on:s,onToggle:()=>{_(e=>!e)}})]})},pw=({length:e,limit:t,color:n,fontSize:r,padding:i})=>(0,w.jsxs)(`div`,{style:{display:`flex`,justifyContent:`flex-end`,fontSize:r,color:n===`danger`?`var(--color-danger)`:`var(--color-text-soft)`,padding:i,fontWeight:500},children:[e,` / `,t]}),mw=e=>{let{title:n,setTitle:r,body:i,setBody:a,bodyPlaceholder:o,isEditMode:s=!1,editImagesNode:c}=e,l=pt(n,300,250),u=pt(i,8e3,7e3);return(0,w.jsxs)(w.Fragment,{children:[s?(0,w.jsx)(`input`,{type:`text`,className:t.at(W.titleInput,l.isOverLimit&&W.textareaError),value:n,placeholder:`Add a headline (optional)...`,onChange:e=>{r(e.target.value)},style:{width:`100%`}}):(0,w.jsx)(lw,{value:n,onChange:r,className:l.isOverLimit?W.textareaError:void 0}),l.showCounter&&(0,w.jsx)(pw,{length:l.length,limit:300,color:l.counterColor,fontSize:`11px`,padding:`2px 16px 4px`}),(0,w.jsx)(`textarea`,{className:t.at(W.textarea,u.isOverLimit&&W.textareaError),placeholder:o,value:i,onChange:e=>{a(e.target.value)},style:s?{width:`100%`,minHeight:`100px`}:void 0}),u.showCounter&&(0,w.jsx)(pw,{length:u.length,limit:8e3,color:u.counterColor,fontSize:`12px`,padding:`2px 16px 6px`}),(0,w.jsx)(fw,{...e,isEditMode:s,...c===void 0?{}:{editImagesNode:c}})]})},hw=({authorInfo:e,audienceId:n,taggedUsers:r,feeling:i,location:a,onAudience:o,onClose:s})=>{let{data:c=[]}=Kb(),l=c.find(e=>e.id===i);return(0,w.jsxs)(`div`,{className:W.compHead,style:s?void 0:{borderBottom:`none`,padding:`0 0 10px`},children:[(0,w.jsxs)(`div`,{className:W.compAvatarWrapper,children:[(0,w.jsx)(`span`,{className:W.compAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),s&&(0,w.jsx)(`span`,{className:W.statusDot})]}),(0,w.jsxs)(`div`,{children:[(0,w.jsxs)(`div`,{className:W.compHeaderTagline,children:[(0,w.jsx)(`strong`,{children:e.name}),l&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{className:W.compMutedText,children:` is feeling `}),(0,w.jsxs)(`strong`,{children:[l.emoji,` `,l.label]})]}),a&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{className:W.compMutedText,children:i||r.length>0?r.length>0?` at `:` — at `:` is at `}),(0,w.jsx)(`strong`,{children:a===`Detecting location...`?`Detecting...`:a})]})]}),r.length>0&&(0,w.jsx)(`div`,{className:W.taggedTagline,children:Zb(r).map((e,t)=>{let n=!s&&t===0&&e.text.startsWith(`with `)&&!i?`is ${e.text}`:e.text;return e.bold?(0,w.jsx)(`strong`,{children:n},t):n})}),(0,w.jsx)(FC,{audienceId:n,onChange:o})]}),s&&(0,w.jsx)(`button`,{type:`button`,className:W.compClose,"aria-label":`Close`,onClick:s,children:(0,w.jsx)(C,{size:16})})]})},gw=e=>e.split(/[\s_-]+/).filter(e=>e.length>0).map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(` `),_w=e=>gw((e.split(`@`)[0]??e).replace(/[._-]+/g,` `)),vw=(e,t)=>{let n=e.length>0?e:t;return n.includes(`@`)?_w(n):n},yw=(e,t,n)=>{let r=e.length>0?e:t;return r.length===0||r.includes(`@`)?vw(t,n):r},bw=(e,t,n)=>e!==void 0&&e.trim().length>0?e:t?dt(n):`?`,xw=(e,t,n)=>e!==void 0&&e.trim().length>0?e:t?ft(n):`#6b7280`,Sw=(e,t)=>{if(!t)return{name:``,initials:`?`,color:`#6b7280`};let n=yw(e?e.name:``,t.fullName,t.email.value);return{name:n,initials:bw(e?e.initials:void 0,!0,n),color:xw(e?e.color:void 0,!0,t.id)}};function Cw({profile:e,onClose:t}){let{data:n=[]}=Wb(),i=kC(t,n),a=i.category,[o,s]=(0,r.useState)(``),{rawItems:c,isLoadingItems:l,hasWebhook:u}=MC(a,o),{data:d=[]}=Hs(),f=jC(a,d),p=c.map(AC);return(0,w.jsxs)(`div`,{className:W.composer,children:[(0,w.jsx)(hw,{authorInfo:e,audienceId:i.audienceId,taggedUsers:i.taggedUsers,feeling:i.feeling,location:i.location,onAudience:i.setAudienceId,onClose:t}),(0,w.jsx)(mw,{title:i.title,setTitle:i.setTitle,body:i.body,setBody:i.setBody,bodyPlaceholder:`What's on your mind, ${e.name.split(` `)[0]??``}?`,category:i.category,feeling:i.feeling,location:i.location,sheet:i.sheet,categoryId:i.categoryId,audienceId:i.audienceId,mustRead:i.mustRead,taggedUserIds:i.taggedUsers.map(e=>e.id),selectedItem:i.selectedItem,categoryItems:p,categoryTemplates:f,setSheet:i.setSheet,setLocation:i.setLocation,setCategoryId:e=>{s(``),i.setCategoryId(e.id)},setFeeling:i.setFeeling,setAudienceId:i.setAudienceId,setMustRead:i.setMustRead,onToggleTag:i.toggleTag,onSelectItem:i.setSelectedItem,onApplyTemplate:i.applyTemplate,photos:i.photos,setPhotos:i.setPhotos,isEditMode:!1,searchQuery:o,onSearchQuery:u?s:void 0,isLoadingItems:l}),i.mode===`schedule`&&(0,w.jsx)(CC,{value:i.schedule,onChange:i.setSchedule,timezone:i.timezone}),(0,w.jsx)(wC,{mode:i.mode,disabled:i.submitDisabled,onMode:i.setMode,onCancel:t,onSubmit:()=>{i.submit()}})]})}var ww=()=>{let[e,n]=(0,r.useState)(!1),{user:i}=Dl(),a=Fi(),o=Sw(a.data,i),s=a.isPending;if(!e){let e=s?``:o.name.split(` `)[0]??``,r=e.length>0?`What's on your mind, ${e}?`:`What's on your mind?`;return(0,w.jsxs)(`div`,{className:W.composerCollapsed,children:[s?(0,w.jsx)(t.a,{variant:`circle`,width:`36px`,height:`36px`}):(0,w.jsx)(`span`,{className:W.ccAvatar,style:t.it({"--avatar-color":o.color}),children:o.initials}),(0,w.jsx)(`button`,{type:`button`,className:W.ccInput,onClick:()=>{n(!0)},children:r})]})}return(0,w.jsx)(Cw,{profile:o,onClose:()=>{n(!1)}})},Tw=()=>(0,w.jsxs)(`div`,{className:W.emptyState,children:[(0,w.jsx)(`div`,{className:W.emptyIconWrap,children:(0,w.jsx)(ve,{size:32})}),(0,w.jsx)(`h3`,{className:W.emptyTitle,children:`It's quiet in here`}),(0,w.jsx)(`p`,{className:W.emptyText,children:`There are no posts in this feed yet. Be the first to share an update!`})]}),Ew=e=>({id:e.id,name:e.fullName,email:e.email,userName:e.fullName,role:e.roleName,initials:e.initials,color:e.color}),Dw=e=>{let[n,i]=(0,r.useState)(e),[a,o]=(0,r.useState)([]);return{existingImages:n,setExistingImages:i,newPhotos:a,setNewPhotos:o,handleAddPhotos:async e=>{let r=5-(n.length+a.length);if(r<=0){t.l.error(`You can only have a maximum of 5 images.`);return}let i=Array.from(e).filter(e=>e.type.startsWith(`image/`)||e.name.toLowerCase().endsWith(`.heic`)||e.name.toLowerCase().endsWith(`.heif`)),s=10*1024*1024;i.filter(e=>e.size>s).length>0&&t.l.error(`Some images exceed the 10MB limit and were skipped.`);let c=i.filter(e=>e.size<=s),l=c.slice(0,r);c.length>r&&t.l.error(`Only the first ${String(r)} images were added. Maximum limit is 5.`);let u=await Promise.all(l.map(e=>cx(e)));o(e=>[...e,...u])},handleRemoveExisting:e=>{i(t=>t.filter(t=>t!==e))},handleRemoveNew:e=>{o(t=>t.filter((t,n)=>n!==e))}}},Ow=(e,t)=>{if(e.scheduledAt){let r=n.y(new Date(e.scheduledAt),t);return{date:`${String(r.year)}-${String(r.month).padStart(2,`0`)}-${String(r.day).padStart(2,`0`)}`,time:`${String(r.hour).padStart(2,`0`)}:${String(r.minute).padStart(2,`0`)}`,recurring:e.isRecurring,frequency:e.recurrenceFrequency??`weekly`}}return hC},kw=(e,t,i,a)=>{let[o,s]=(0,r.useState)(e.department??`general`),[c,l]=(0,r.useState)(e.audienceId),[u,d]=(0,r.useState)(e.feelingId),[f,p]=(0,r.useState)(e.locationLabel),[m,h]=(0,r.useState)(e.mustAcknowledge),[g,_]=(0,r.useState)(null),[v,y]=(0,r.useState)(null),b=!e.scheduledAt||new Date(e.scheduledAt).getTime()<=Date.now(),[x,S]=(0,r.useState)(b?`now`:`schedule`),[ee,te]=(0,r.useState)(()=>Ow(e,a)),ne=e=>{let t=typeof e==`function`?e(x):e;if(S(t),t===`schedule`&&!ee.date){let e=n.y(new Date,a),t=`${String(e.year)}-${String(e.month).padStart(2,`0`)}-${String(e.day).padStart(2,`0`)}`,r=`${String(e.hour).padStart(2,`0`)}:${String(e.minute).padStart(2,`0`)}`;te({...ee,date:t,time:r})}},[re,ie]=(0,r.useState)(t.filter(t=>e.taggedUserIds.includes(t.id)).map(Ew));return{categoryId:o,setCategoryId:s,audienceId:c,setAudienceId:l,feeling:u,setFeeling:d,location:f,setLocation:p,mustRead:m,setMustRead:h,taggedUsers:re,setTaggedUsers:ie,sheet:g,setSheet:_,selectedItem:v,setSelectedItem:y,mode:x,setMode:ne,schedule:ee,setSchedule:te,toggleTag:e=>{ie(t=>t.some(t=>t.id===e.id)?t.filter(t=>t.id!==e.id):[...t,e])},handleToggleLocation:()=>{if(f!==null){p(null);return}p(`Detecting location...`),i.execute().then(e=>{p(t=>t===`Detecting location...`?e.ok?e.value:`London Office`:t)})},isAlreadyPublished:b}},Aw=e=>{let t=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,n=e.indexOf(`#`);if(n!==-1){let r=e.substring(n+1);if(t.test(r))return r}let r=(e.split(`?`)[0]??e).split(`/`).pop()??``;return t.test(r)?r:null},jw=e=>e.map(e=>Aw(e)).filter(e=>e!==null),Mw=async(e,n)=>{if(e.length===0)return[];let r=await Promise.allSettled(e.map(e=>n(e))),i=[],a=0;for(let e of r)e.status===`fulfilled`?i.push(e.value):a+=1;return a>0&&t.l.error(`${String(a)} image${a>1?`s`:``} failed to upload.`),i},Nw=async({post:e,editTitle:r,editBody:i,photosState:a,composerState:o,updatePostMutation:s,uploadImageMutation:c,setIsEditing:l,timezone:u})=>{if(r.trim().length>300){t.l.error(`Post title cannot exceed 300 characters.`);return}if(i.trim().length>8e3){t.l.error(`Post body cannot exceed 8000 characters.`);return}let d;if(o.mode===`schedule`&&(d=n.b(o.schedule.date,o.schedule.time,u),d&&Date.parse(d)<Date.now())){t.l.error(`Schedule time must be in the future.`);return}try{let n=await Mw(a.newPhotos,e=>c.mutateAsync(e)),u=jw(a.existingImages);s.mutate({postId:e.id,input:{title:r.trim()||null,body:i,imageIds:[...u,...n],categoryId:o.categoryId,audienceId:o.audienceId,mustAcknowledge:o.mustRead,taggedUserIds:o.taggedUsers.map(e=>e.id),feelingId:o.feeling,locationLabel:o.location,scheduledAt:d,isRecurring:o.mode===`schedule`?o.schedule.recurring:!1,recurrenceFrequency:o.mode===`schedule`&&o.schedule.recurring?o.schedule.frequency:void 0}},{onSuccess:()=>{l(!1),a.setNewPhotos([])},onError:()=>{t.l.error(`Failed to update the post. Please try again.`)}})}catch{t.l.error(`Failed to process post images. Please try again.`)}},Pw=({post:e,setTitle:t,setBody:r,photos:i,composer:a,allUsers:o,timezone:s})=>{if(t(e.title??``),r(e.body),i.setExistingImages(e.imageUrls),i.setNewPhotos([]),a.setCategoryId(e.department??`general`),a.setAudienceId(e.audienceId),a.setFeeling(e.feelingId),a.setLocation(e.locationLabel),a.setMustRead(e.mustAcknowledge),a.setSheet(null),a.setSelectedItem(null),a.setMode(a.isAlreadyPublished?`now`:`schedule`),e.scheduledAt){let t=n.y(new Date(e.scheduledAt),s),r=`${String(t.year)}-${String(t.month).padStart(2,`0`)}-${String(t.day).padStart(2,`0`)}`,i=`${String(t.hour).padStart(2,`0`)}:${String(t.minute).padStart(2,`0`)}`;a.setSchedule({date:r,time:i,recurring:e.isRecurring,frequency:e.recurrenceFrequency??`weekly`})}else a.setSchedule(hC);a.setTaggedUsers(o.filter(t=>e.taggedUserIds.includes(t.id)).map(Ew))},Fw=()=>{let[e,t]=(0,r.useState)(!1),[n,i]=(0,r.useState)(!1),[a,o]=(0,r.useState)(null),[s,c]=(0,r.useState)(!1);return{commentsOpen:e,setCommentsOpen:t,shareOpen:n,setShareOpen:i,lightboxIndex:a,setLightboxIndex:o,isEditing:s,setIsEditing:c}},Iw={page:1,pageSize:1e3,filter:``,department:``,accessRole:``,branch:``,status:`all`},Lw=e=>({...e.ui,editTitle:e.editTitle,setEditTitle:e.setEditTitle,editBody:e.editBody,setEditBody:e.setEditBody,existingImages:e.photosState.existingImages,newPhotos:e.photosState.newPhotos,isPending:e.isPending,timezone:e.timezone,handleAddPhotos:t=>{e.photosState.handleAddPhotos(t)},handleRemoveExisting:e.photosState.handleRemoveExisting,handleRemoveNew:e.photosState.handleRemoveNew,handleSave:()=>{Nw({post:e.post,editTitle:e.editTitle,editBody:e.editBody,photosState:e.photosState,composerState:e.composerState,updatePostMutation:e.updatePostMutation,uploadImageMutation:e.uploadImageMutation,setIsEditing:e.ui.setIsEditing,timezone:e.timezone})},handleCancel:()=>{Pw({post:e.post,setTitle:e.setEditTitle,setBody:e.setEditBody,photos:e.photosState,composer:e.composerState,allUsers:e.allUsers,timezone:e.timezone}),e.ui.setIsEditing(!1)},categoryId:e.composerState.categoryId,setCategoryId:e.composerState.setCategoryId,audienceId:e.composerState.audienceId,setAudienceId:e.composerState.setAudienceId,feeling:e.composerState.feeling,setFeeling:e.composerState.setFeeling,location:e.composerState.location,setLocation:e.composerState.setLocation,mustRead:e.composerState.mustRead,setMustRead:e.composerState.setMustRead,taggedUsers:e.composerState.taggedUsers,sheet:e.composerState.sheet,setSheet:e.composerState.setSheet,selectedItem:e.composerState.selectedItem,setSelectedItem:e.composerState.setSelectedItem,mode:e.composerState.mode,setMode:e.composerState.setMode,schedule:e.composerState.schedule,setSchedule:e.composerState.setSchedule,isAlreadyPublished:e.composerState.isAlreadyPublished,toggleTag:e.composerState.toggleTag,handleToggleLocation:e.composerState.handleToggleLocation}),Rw=e=>{let t=Fw(),[i,a]=(0,r.useState)(e.title??``),[o,s]=(0,r.useState)(e.body),c=n.m().display,l=Ax(Iw).data?.users??[],{detectLocation:u}=U(),d=Dw(e.imageUrls),f=kw(e,l,u,c),p=Ib(),m=Jb();return(0,r.useEffect)(()=>{t.isEditing||Pw({post:e,setTitle:a,setBody:s,photos:d,composer:f,allUsers:l,timezone:c})},[t.isEditing,e,l,c]),Lw({ui:t,editTitle:i,setEditTitle:a,editBody:o,setEditBody:s,timezone:c,photosState:d,composerState:f,isPending:p.isPending||m.isPending,post:e,allUsers:l,updatePostMutation:p,uploadImageMutation:m})},zw=({url:e,onRemove:t})=>(0,w.jsxs)(`div`,{className:W.photoThumb,children:[(0,w.jsx)(`img`,{src:e,alt:`thumbnail`,className:W.photoImg}),(0,w.jsx)(`button`,{type:`button`,onClick:t,className:W.photoRemove,children:(0,w.jsx)(C,{size:12})})]}),Bw=({file:e,onRemove:t})=>{let[n,i]=(0,r.useState)(``);return(0,r.useEffect)(()=>{let t=URL.createObjectURL(e);return i(t),()=>{URL.revokeObjectURL(t)}},[e]),n?(0,w.jsx)(zw,{url:n,onRemove:t}):null},Vw=({existingImages:e,newPhotos:t,onAddPhotos:n,onRemoveExisting:i,onRemoveNew:a})=>{let o=(0,r.useRef)(null);return e.length===0&&t.length===0?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`input`,{ref:o,type:`file`,multiple:!0,accept:`image/*`,onChange:e=>{e.target.files!==null&&e.target.files.length>0&&n(e.target.files)},style:{display:`none`}}),(0,w.jsx)(iw,{onOpen:()=>o.current?.click()})]}):(0,w.jsxs)(`div`,{className:W.photoGrid,children:[e.map(e=>(0,w.jsx)(zw,{url:e,onRemove:()=>{i(e)}},e)),t.map((e,t)=>(0,w.jsx)(Bw,{file:e,onRemove:()=>{a(t)}},t)),(0,w.jsxs)(`label`,{className:W.photoAddMore,children:[(0,w.jsx)(ge,{size:18}),(0,w.jsx)(`input`,{type:`file`,multiple:!0,accept:`image/*`,onChange:e=>{e.target.files!==null&&e.target.files.length>0&&n(e.target.files)},style:{display:`none`}})]})]})},Hw=({comment:e,displayZone:n})=>(0,w.jsxs)(`div`,{className:W.commentRow,children:[(0,w.jsx)(`span`,{className:W.commentAvatar,style:t.it({"--avatar-color":e.authorColor}),children:e.authorInitials}),(0,w.jsxs)(`div`,{className:W.commentBubble,children:[(0,w.jsxs)(`div`,{className:W.commentAuthor,children:[e.authorName,` `,(0,w.jsxs)(`span`,{className:W.commentTime,children:[`· `,ox(e.createdAt,n)]})]}),(0,w.jsx)(`div`,{className:W.commentText,children:e.text})]})]}),Uw=({profile:e,isViewerLoading:n,pending:i,canComment:a,onAdd:o})=>{let[s,c]=(0,r.useState)(``),l=pt(s,4e3),u=()=>{!a||s.trim()===``||(o(s.trim()),c(``))};return(0,w.jsxs)(`div`,{className:W.commentRow,children:[n?(0,w.jsx)(t.a,{variant:`circle`,width:`26px`,height:`26px`}):(0,w.jsx)(`span`,{className:W.commentAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`div`,{style:{flex:1,display:`flex`,flexDirection:`column`,gap:`4px`},children:[(0,w.jsxs)(`div`,{className:t.at(W.commentComposer,!a&&W.commentComposerDisabled,l.isOverLimit&&W.commentComposerError),title:a?void 0:`You do not have permission to comment`,children:[(0,w.jsx)(`input`,{className:W.commentInput,placeholder:a?`Write a comment…`:`You do not have permission to comment`,value:s,disabled:!a,onChange:e=>{c(e.target.value)},onKeyDown:e=>{e.key===`Enter`&&!l.isOverLimit&&u()}}),(0,w.jsx)(`button`,{type:`button`,className:W.commentSend,disabled:!a||s.trim()===``||i||l.isOverLimit,onClick:u,title:a?void 0:`You do not have permission to comment`,children:(0,w.jsx)(Ke,{size:13})})]}),l.showCounter&&(0,w.jsxs)(`div`,{style:{alignSelf:`flex-end`,fontSize:`10px`,color:l.counterColor===`danger`?`var(--color-danger)`:`var(--color-text-soft)`,marginRight:`8px`,fontWeight:500},children:[l.length,` / 4000`]})]})]})},Ww=({comments:e,pending:t,canComment:r=!0,onAdd:i})=>{let{user:a}=Dl(),o=Fi(),s=n.m().display,c=Sw(o.data,a);return(0,w.jsxs)(`div`,{className:W.comments,children:[e.map(e=>(0,w.jsx)(Hw,{comment:e,displayZone:s},e.id)),(0,w.jsx)(Uw,{profile:c,isViewerLoading:o.isPending,pending:t,canComment:r,onAdd:i})]})},Gw=({url:e,alt:t,className:n})=>(0,w.jsx)(`img`,{src:e,alt:t,className:n,loading:`lazy`}),Kw=({urls:e,onImageClick:n})=>{let r=e.length;if(r===0)return null;let i=W.grid1;r===2&&(i=W.grid2),r===3&&(i=W.grid3),r>=4&&(i=W.grid4);let a=r>4?e.slice(0,4):e;return(0,w.jsx)(`div`,{className:t.at(W.postImagesGrid,i),children:a.map((e,i)=>{let a=i===3&&r>4;return(0,w.jsx)(`div`,{className:t.at(W.gridImageWrap,a&&W.moreImagesOverlay),"data-more":a?`+${String(r-4)}`:void 0,onClick:()=>{n(i)},role:`button`,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&n(i)},children:(0,w.jsx)(Gw,{url:e,alt:`Attached`,className:W.gridImage})},i)})})},qw=(e,t,n)=>e===``||t.toLowerCase().includes(e)||n.toLowerCase().includes(e),Jw=e=>({id:`conv_${e.id}`,name:e.title,subtitle:e.subtitle||(e.kind===`group`?`${String(e.memberCount)} members`:``),initials:e.initials,color:e.color,square:e.kind===`group`,targetType:`conversation`,originalId:e.id}),Yw=e=>({id:`user_${e.id}`,name:e.name,subtitle:e.role,initials:e.initials,color:e.color,square:!1,targetType:`user`,originalId:e.id}),Xw=({post:e,comment:n,selected:r,sendMessage:i,startDirect:a,setIsSending:o,close:s,count:c,allTargets:l})=>{o(!0);let u=`${window.location.origin}/feed/posts/${e.postId}`,d={comment:n.trim(),card:{title:e.title,body:e.bodySnippet,authorName:e.authorName,authorInitials:e.authorInitials,authorColor:e.authorColor,categoryLabel:e.categoryLabel,categoryColor:e.categoryColor,link:u}},f=`__UAPP_SHARED_CARD__::${JSON.stringify(d)}`,p=Array.from(r).map(async e=>{let t=l.get(e);if(!t)return;let n=t.originalId;if(t.targetType===`user`){let e=await a.execute(n);if(e.ok)n=e.value.id;else throw Error(`Could not create DM`)}return i.execute(n,f,crypto.randomUUID())});Promise.allSettled(p).then(()=>{t.l.success(`Shared to ${String(c)} ${c===1?`chat`:`chats`}`),s()}).catch(()=>{t.l.error(`Failed to share post`),o(!1)})},Zw=(e,t,n)=>{let[i,a]=(0,r.useState)(``),[o,s]=(0,r.useState)(``),[c,l]=(0,r.useState)(()=>new Set),[u,d]=(0,r.useState)(!1),{sendMessage:f,startDirect:p}=D(),{data:m}=Fi(),{data:h=[]}=pi(`all`,``,{enabled:n}),g=h.filter(e=>e.kind===`dm`&&e.peerUserId!==null).map(e=>e.peerUserId??``),_=ea(m?[m.id,...g]:g,`directory`),v=o.trim().toLowerCase(),y=e=>{s(e),_.setSearch(e)},b=[...h.filter(e=>e.kind===`dm`).map(Jw).filter(e=>qw(v,e.name,e.subtitle)),..._.results.map(Yw)],x=h.filter(e=>e.kind===`group`).map(Jw).filter(e=>qw(v,e.name,e.subtitle)),S=e=>{l(t=>{let n=new Set(t);return n.delete(e)?n:n.add(e)})},ee=()=>{a(``),s(``),_.setSearch(``),l(new Set),d(!1),t()},te=new Map([...x,...b].map(e=>[e.id,e])),ne=c.size;return{comment:i,setComment:a,query:o,setQuery:y,selected:c,isSending:u,dms:b,groups:x,count:ne,toggle:S,close:ee,send:()=>{ne===0||u||i.length>1e3||Xw({post:e,comment:i,selected:c,sendMessage:f,startDirect:p,setIsSending:d,close:ee,count:ne,allTargets:te})}}},Qw=({onClose:e})=>(0,w.jsxs)(`div`,{className:W.shareHead,children:[(0,w.jsx)(`div`,{className:W.shareHeadIcon,children:(0,w.jsx)(Ve,{size:15})}),(0,w.jsxs)(`div`,{className:W.shareHeadText,children:[(0,w.jsx)(`h3`,{className:W.shareTitle,children:`Share Post`}),(0,w.jsx)(`p`,{className:W.shareDesc,children:`Share this post to chat conversations`})]}),(0,w.jsx)(`button`,{type:`button`,className:W.shareCloseBtn,"aria-label":`Close`,onClick:e,children:(0,w.jsx)(C,{size:18})})]}),$w=({count:e,disabled:t,onCancel:n,onSend:r})=>(0,w.jsxs)(`div`,{className:W.shareFooter,children:[(0,w.jsx)(`span`,{className:W.shareFootText,children:e===0?`Select at least one chat`:`${String(e)} ${e===1?`chat`:`chats`} selected`}),(0,w.jsxs)(`div`,{className:W.shareFootBtns,children:[(0,w.jsx)(`button`,{type:`button`,className:W.shareCancelBtn,onClick:n,children:`Cancel`}),(0,w.jsxs)(`button`,{type:`button`,className:W.shareSendBtn,disabled:e===0||t,onClick:r,children:[(0,w.jsx)(Ke,{size:12}),` Send`]})]})]}),eT=({post:e})=>(0,w.jsx)(`div`,{className:W.sharePreviewWrap,children:(0,w.jsxs)(`div`,{className:W.sharePreview,children:[(0,w.jsx)(`span`,{className:W.sharePreviewAvatar,style:t.it({"--avatar-color":e.authorColor}),children:e.authorInitials}),(0,w.jsxs)(`div`,{className:W.sharePreviewBody,children:[(0,w.jsxs)(`div`,{className:W.sharePreviewMeta,children:[e.authorName,` ·`,` `,(0,w.jsx)(`span`,{className:W.sharePreviewCat,style:t.it({"--cat":e.categoryColor}),children:e.categoryLabel})]}),e.authorRole?(0,w.jsx)(`div`,{style:{fontSize:`11px`,color:`var(--color-text-soft)`,marginTop:`1px`,marginBottom:`2px`},children:e.authorRole}):null,(0,w.jsx)(`div`,{className:W.sharePreviewTitle,children:e.title})]})]})}),tT=({target:e,selected:n,onToggle:r})=>(0,w.jsxs)(`button`,{type:`button`,className:t.at(W.shareRow,n&&W.shareRowOn),"aria-pressed":n,onClick:()=>{r(e.id)},children:[(0,w.jsx)(`span`,{className:t.at(W.shareAvatar,e.square&&W.shareAvatarSquare),style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`span`,{className:W.shareRowBody,children:[(0,w.jsx)(`span`,{className:W.shareRowName,children:e.name}),(0,w.jsx)(`span`,{className:W.shareRowSub,children:e.subtitle})]}),(0,w.jsx)(`span`,{className:t.at(W.shareCheck,n&&W.shareCheckOn),children:n&&(0,w.jsx)(b,{size:11,strokeWidth:3})})]}),nT=({label:e,targets:t,selected:n,onToggle:r})=>t.length===0?null:(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`div`,{className:W.shareSectionLabel,children:e}),t.map(e=>(0,w.jsx)(tT,{target:e,selected:n.has(e.id),onToggle:r},e.id))]}),rT=({comment:e,query:n,onComment:r,onQuery:i})=>{let a=pt(e,1e3);return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`div`,{className:W.shareField,style:{display:`flex`,flexDirection:`column`,gap:`4px`},children:[(0,w.jsx)(`input`,{className:t.at(W.shareComment,a.isOverLimit&&W.shareCommentError),placeholder:`Add a comment (optional)`,value:e,onChange:e=>{r(e.target.value)}}),a.showCounter&&(0,w.jsxs)(`div`,{style:{alignSelf:`flex-end`,fontSize:`10px`,color:a.counterColor===`danger`?`var(--color-danger)`:`var(--color-text-soft)`,marginRight:`8px`,fontWeight:500},children:[a.length,` / 1000`]})]}),(0,w.jsx)(`div`,{className:W.shareSearchWrap,children:(0,w.jsxs)(`div`,{className:W.shareSearch,children:[(0,w.jsx)(Ge,{size:13}),(0,w.jsx)(`input`,{className:W.shareSearchInput,placeholder:`Search people or groups…`,value:n,onChange:e=>{i(e.target.value)}})]})})]})},iT=({groups:e,dms:t,selected:n,onToggle:r})=>(0,w.jsxs)(`div`,{className:W.shareList,children:[(0,w.jsx)(nT,{label:`Groups`,targets:e,selected:n,onToggle:r}),(0,w.jsx)(nT,{label:`People`,targets:t,selected:n,onToggle:r}),e.length===0&&t.length===0&&(0,w.jsx)(`div`,{className:W.shareEmpty,children:`No matches.`})]}),aT=({open:e,post:n,onClose:r})=>{let a=Zw(n,r,e),o=t.Z();return e?(0,i.createPortal)((0,w.jsxs)(`div`,{className:W.shareRoot,children:[(0,w.jsx)(`button`,{type:`button`,className:W.shareBackdrop,"aria-label":`Close`,onClick:a.close}),(0,w.jsxs)(`div`,{className:W.shareModal,role:`dialog`,"aria-label":`Share post`,children:[(0,w.jsx)(Qw,{onClose:a.close}),(0,w.jsx)(eT,{post:n}),(0,w.jsx)(rT,{comment:a.comment,query:a.query,onComment:a.setComment,onQuery:a.setQuery}),(0,w.jsx)(iT,{groups:a.groups,dms:a.dms,selected:a.selected,onToggle:a.toggle}),(0,w.jsx)($w,{count:a.count,disabled:a.comment.length>1e3,onCancel:a.close,onSend:a.send})]})]}),o??document.body):null},oT=({post:e,taggedUsers:t})=>(0,w.jsxs)(`div`,{className:W.compHeaderTagline,style:{display:`block`,fontSize:`14px`,lineHeight:`1.4`},children:[(0,w.jsx)(`span`,{className:W.authorName,style:{fontWeight:600,color:`var(--color-text-main)`},children:e.authorName}),e.feelingEmoji&&e.feelingLabel&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{style:{color:`var(--color-text-soft)`},children:` is feeling `}),(0,w.jsxs)(`span`,{style:{fontWeight:600,color:`var(--color-text-main)`},children:[e.feelingEmoji,` `,e.feelingLabel]})]}),t.length>0&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{children:` `}),Zb(t).map((t,n)=>{let r=n===0&&t.text.startsWith(`with `)&&!e.feelingId?`is ${t.text}`:t.text;return(0,w.jsx)(`span`,{style:{fontWeight:t.bold?600:`normal`,color:t.bold?`var(--color-text-main)`:`var(--color-text-soft)`},children:r},n)})]}),e.locationLabel&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{style:{color:`var(--color-text-soft)`},children:e.feelingId||t.length>0?t.length>0?` at `:` — at `:` is at `}),(0,w.jsx)(`span`,{style:{fontWeight:600,color:`var(--color-text-main)`},children:e.locationLabel})]})]}),sT=({post:e,taggedUsers:r})=>{let i=n.m().display;return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{className:W.avatar,style:t.it({"--avatar-color":e.authorColor}),children:e.authorInitials}),(0,w.jsxs)(`div`,{className:W.cardAuthor,children:[(0,w.jsx)(oT,{post:e,taggedUsers:r}),(0,w.jsxs)(`div`,{className:W.metaRow,style:{marginTop:`4px`,display:`flex`,alignItems:`center`,gap:`6px`,fontSize:`12px`,color:`var(--color-text-soft)`},children:[e.authorRole&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`span`,{children:e.authorRole}),(0,w.jsx)(`span`,{style:{color:`var(--color-text-muted)`},children:`·`})]}),(0,w.jsx)(`span`,{children:ox(e.createdAt,i,e.scheduledAt)}),(0,w.jsx)(`span`,{style:{color:`var(--color-text-muted)`},children:`·`}),(0,w.jsx)(`span`,{children:e.audienceLabel}),(0,w.jsx)(`span`,{style:{color:`var(--color-text-muted)`},children:`·`}),(0,w.jsxs)(`span`,{children:[e.seenCount,` `,e.seenCount===1?`view`:`views`]})]})]})]})},cT=e=>{let t=Ax({page:1,pageSize:1e3,filter:``,department:``,accessRole:``,branch:``,status:`all`}).data;return t?t.users.filter(t=>e.includes(t.id)):[]},lT=({post:e,show:n,onBookmark:r})=>n?(0,w.jsx)(`button`,{type:`button`,className:t.at(W.bookmarkBtn,e.bookmarked&&W.bookmarkActive),"aria-label":e.bookmarked?`Remove bookmark`:`Save post`,onClick:r,children:(0,w.jsx)(f,{size:15,fill:e.bookmarked?`currentColor`:`none`})}):null,uT=({post:e,show:n,onPin:r})=>!n||!r?null:(0,w.jsx)(`button`,{type:`button`,className:t.at(W.pinBtn,e.pinned&&W.pinActive),"aria-label":e.pinned?`Unpin post`:`Pin post`,onClick:r,children:(0,w.jsx)(Ie,{size:15,fill:e.pinned?`currentColor`:`none`})}),dT=({show:e,onEdit:t})=>!e||!t?null:(0,w.jsx)(`button`,{type:`button`,className:W.editBtn,"aria-label":`Edit post`,onClick:t,children:(0,w.jsx)(Me,{size:15})}),fT=({show:e,onDelete:t})=>!e||!t?null:(0,w.jsx)(`button`,{type:`button`,className:W.deleteBtn,"aria-label":`Delete post`,onClick:t,children:(0,w.jsx)(at,{size:15})}),pT=({showBookmarkButton:e=!0,...t})=>(0,w.jsxs)(`div`,{className:W.cardActions,children:[(0,w.jsx)(fT,{show:t.showDeleteButton,onDelete:t.onDelete}),(0,w.jsx)(lT,{post:t.post,show:e,onBookmark:t.onBookmark}),(0,w.jsx)(uT,{post:t.post,show:t.showPinButton,onPin:t.onPin}),(0,w.jsx)(dT,{show:t.showEditButton,onEdit:t.onEdit})]}),mT=e=>{let n=cT(e.post.taggedUserIds),{categoryLabel:r,categoryColor:i}=Xb(e.post);return(0,w.jsxs)(`header`,{className:W.cardHead,children:[(0,w.jsx)(sT,{post:e.post,taggedUsers:n}),(0,w.jsxs)(`div`,{className:W.cardRight,children:[(0,w.jsxs)(`span`,{className:W.badge,style:t.it({"--badge-color":i}),children:[(0,w.jsx)(`span`,{className:W.badgeDot}),r]}),(0,w.jsx)(pT,{...e})]})]})},hT=e=>{let[t,n]=(0,r.useState)(0);return(0,w.jsx)(DT,{post:e.post,urls:e.post.imageUrls,index:t,onChange:n,commentPending:e.commentPending,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onAcknowledge:e.onAcknowledge,onAddComment:e.onAddComment,onShare:e.onShare,onClose:e.onClose,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:e.onEdit,showEditButton:e.showEditButton})},gT=[{id:`like`,label:`Like`,Icon:it,color:`#2563eb`},{id:`insightful`,label:`Insightful`,Icon:ye,color:`#f59e0b`},{id:`celebrate`,label:`Celebrate`,Icon:Ae,color:`#ec4899`}],_T=({post:e,onCommentClick:n})=>{if(e.totalReactions===0&&e.commentCount===0)return null;let r=gT.filter(t=>e.reactions[t.id]>0).slice(0,3);return(0,w.jsxs)(`div`,{className:W.summary,children:[(0,w.jsxs)(`div`,{className:W.summaryLeft,children:[r.length>0&&(0,w.jsx)(`span`,{className:W.summaryIcons,children:r.map(({id:e,Icon:n,color:r})=>(0,w.jsx)(`span`,{className:W.summaryDot,style:t.it({"--react-color":r}),children:(0,w.jsx)(n,{size:10})},e))}),e.totalReactions>0&&(0,w.jsx)(`span`,{className:W.summaryCount,children:e.totalReactions})]}),e.commentCount>0&&(0,w.jsxs)(`span`,{className:t.at(W.summaryComments,n!==void 0&&W.summaryCommentsClickable),onClick:n,role:n===void 0?void 0:`button`,tabIndex:n===void 0?void 0:0,onKeyDown:n===void 0?void 0:e=>{(e.key===`Enter`||e.key===` `)&&n()},children:[e.commentCount,` `,e.commentCount===1?`comment`:`comments`]})]})},vT=({post:e,canReact:n,onReact:i})=>{let[a,o]=(0,r.useState)(!1),s=gT.find(t=>t.id===e.myReaction),c=s?.Icon??it;return(0,w.jsxs)(`div`,{className:W.reactWrap,onMouseEnter:()=>{n&&o(!0)},onMouseLeave:()=>{o(!1)},children:[(0,w.jsxs)(`button`,{type:`button`,disabled:!n,title:n?void 0:`You do not have permission to react`,className:t.at(W.actionBtn,s!==void 0&&W.actionActive),style:s===void 0?void 0:t.it({"--react-color":s.color}),onClick:()=>{n&&(i(e.myReaction??`like`),o(!1))},children:[(0,w.jsx)(c,{size:16}),` `,s?.label??`Like`]}),n&&(0,w.jsx)(`div`,{className:t.at(W.picker,a&&W.pickerVisible),children:gT.map(({id:n,label:r,Icon:a,color:s})=>(0,w.jsx)(`button`,{type:`button`,className:t.at(W.pickerBtn,e.myReaction===n&&W.pickerActive),style:t.it({"--react-color":s}),title:r,onClick:()=>{i(n),o(!1)},children:(0,w.jsx)(a,{size:18})},n))})]})},yT=({post:e,commentsOpen:n,onReact:r,onComment:i,onShare:a,canReact:o=!0,canComment:s=!0})=>(0,w.jsxs)(`div`,{className:W.postBar,children:[(0,w.jsx)(vT,{post:e,canReact:o,onReact:r}),(0,w.jsxs)(`button`,{type:`button`,disabled:!s,title:s?void 0:`You do not have permission to comment`,className:t.at(W.actionBtn,n&&W.actionActive),onClick:()=>{s&&i()},children:[(0,w.jsx)(Te,{size:16}),` Comment`]}),(0,w.jsxs)(`button`,{type:`button`,className:W.actionBtn,onClick:a,children:[(0,w.jsx)(qe,{size:16}),` Share`]})]}),bT=({post:e,onAcknowledge:t,showAcknowledge:n=!0})=>!n||!e.mustAcknowledge?null:e.acknowledged?(0,w.jsx)(`div`,{className:W.ackDone,children:`✓ You acknowledged this`}):(0,w.jsxs)(`div`,{className:W.ackBanner,children:[(0,w.jsx)(`span`,{children:`Must read — please confirm you have seen this.`}),(0,w.jsx)(`button`,{type:`button`,className:W.ackBtn,onClick:t,children:`Acknowledge`})]}),xT=({title:e,onOpenDetail:t})=>(0,w.jsx)(`h2`,{className:W.cardTitle,onClick:t,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&t()},style:{cursor:`pointer`},children:e}),ST=({post:e,isAuthor:t,isEditing:n,onBookmark:r,showBookmarkButton:i,onPin:a,showPinButton:o,onEdit:s,onDelete:c,showDeleteButton:l})=>n?null:(0,w.jsx)(mT,{post:e,onBookmark:r,showBookmarkButton:i,onPin:a,showPinButton:o,showEditButton:t,onEdit:s,onDelete:c,showDeleteButton:l}),G={lightboxOverlay:`_lightboxOverlay_z9s6t_5`,lightboxContainer:`_lightboxContainer_z9s6t_20`,lightboxContainerTextOnly:`_lightboxContainerTextOnly_z9s6t_33`,lightboxLeft:`_lightboxLeft_z9s6t_48`,lightboxRight:`_lightboxRight_z9s6t_58`,lightboxRightFull:`_lightboxRightFull_z9s6t_69`,lightboxHeaderWrapper:`_lightboxHeaderWrapper_z9s6t_82`,lightboxScrollableContent:`_lightboxScrollableContent_z9s6t_91`,lightboxDivider:`_lightboxDivider_z9s6t_108`,lightboxClose:`_lightboxClose_z9s6t_138`,lightboxImage:`_lightboxImage_z9s6t_151`,lightboxArrow:`_lightboxArrow_z9s6t_186`,lightboxArrowLeft:`_lightboxArrowLeft_z9s6t_208`,lightboxArrowRight:`_lightboxArrowRight_z9s6t_216`,lightboxCounter:`_lightboxCounter_z9s6t_224`},CT=({urls:e,index:n,onPrev:r,onNext:i})=>(0,w.jsxs)(`div`,{className:G.lightboxLeft,children:[e.length>1&&(0,w.jsx)(`button`,{type:`button`,className:t.at(G.lightboxArrow,G.lightboxArrowLeft),onClick:r,"aria-label":`Previous image`,children:(0,w.jsx)(S,{size:24})}),(0,w.jsx)(Gw,{url:e[n]??``,alt:`Fullscreen view`,className:G.lightboxImage}),e.length>1&&(0,w.jsx)(`button`,{type:`button`,className:t.at(G.lightboxArrow,G.lightboxArrowRight),onClick:i,"aria-label":`Next image`,children:(0,w.jsx)(t.ct,{size:24})}),(0,w.jsxs)(`div`,{className:G.lightboxCounter,children:[n+1,` / `,e.length]})]}),wT=({post:e,commentPending:t,onReact:n,onBookmark:r,showBookmarkButton:i,onAcknowledge:a,showAcknowledgeSection:o,onAddComment:s,onShare:c,canReact:l,canComment:u,onPin:d,showPinButton:f,onEdit:p,showEditButton:m,onDelete:h,showDeleteButton:g,fullWidth:_=!1})=>(0,w.jsxs)(`div`,{className:_?G.lightboxRightFull:G.lightboxRight,children:[(0,w.jsx)(`div`,{className:G.lightboxHeaderWrapper,children:(0,w.jsx)(mT,{post:e,onBookmark:r,showBookmarkButton:i,onPin:d,showPinButton:f,onEdit:p,showEditButton:m,onDelete:h,showDeleteButton:g})}),(0,w.jsxs)(`div`,{className:G.lightboxScrollableContent,children:[e.title!==null&&(0,w.jsx)(`h2`,{className:W.cardTitle,children:e.title}),(0,w.jsx)(`p`,{className:W.cardBody,children:e.body}),(0,w.jsx)(bT,{post:e,onAcknowledge:a,showAcknowledge:o}),(0,w.jsx)(`div`,{className:G.lightboxDivider}),(0,w.jsx)(_T,{post:e}),(0,w.jsx)(yT,{post:e,commentsOpen:!0,onReact:n,canReact:l,canComment:u,onComment:()=>{},onShare:c}),(0,w.jsx)(`div`,{className:G.lightboxDivider}),(0,w.jsx)(Ww,{comments:e.comments,pending:t,canComment:u,onAdd:s})]})]}),TT=({hasImages:e,index:t,urlsLength:n,onClose:i,onChange:a})=>{(0,r.useEffect)(()=>{let r=r=>{r.key===`Escape`&&i(),e&&a!==void 0&&(r.key===`ArrowLeft`&&a((t-1+n)%n),r.key===`ArrowRight`&&a((t+1)%n))};return window.addEventListener(`keydown`,r),()=>{window.removeEventListener(`keydown`,r)}},[e,t,i,a,n])},ET=({urls:e=[],index:t=0,onClose:n,post:r,commentPending:i,onReact:a,onBookmark:o,showBookmarkButton:s,onAcknowledge:c,showAcknowledgeSection:l,onAddComment:u,onShare:d,canReact:f,canComment:p,onPin:m,showPinButton:h,onEdit:g,showEditButton:_,onDelete:v,showDeleteButton:y,hasImages:b,handlePrev:x,handleNext:S})=>(0,w.jsxs)(`div`,{className:b?G.lightboxContainer:G.lightboxContainerTextOnly,onClick:e=>{e.stopPropagation()},role:`presentation`,children:[(0,w.jsx)(`button`,{type:`button`,className:G.lightboxClose,onClick:n,"aria-label":`Close lightbox`,children:(0,w.jsx)(C,{size:20})}),b&&(0,w.jsx)(CT,{urls:e,index:t,onPrev:x,onNext:S}),(0,w.jsx)(wT,{post:r,commentPending:i,onReact:a,onBookmark:o,showBookmarkButton:s,onAcknowledge:c,showAcknowledgeSection:l,onAddComment:u,onShare:d,canReact:f,canComment:p,onPin:m,showPinButton:h,onEdit:g,showEditButton:_,onDelete:v,showDeleteButton:y,fullWidth:!b})]}),DT=e=>{let{urls:n=[],index:r=0,onClose:a,onChange:o,post:s}=e,{data:c}=Yb(s.id),l=c??s,u=n.length>0,d=t.Z();TT({hasImages:u,index:r,urlsLength:n.length,onClose:a,onChange:o});let f=()=>{o!==void 0&&o((r-1+n.length)%n.length)},p=()=>{o!==void 0&&o((r+1)%n.length)};return(0,i.createPortal)((0,w.jsx)(`div`,{className:G.lightboxOverlay,onClick:a,role:`presentation`,children:(0,w.jsx)(ET,{...e,post:l,hasImages:u,handlePrev:f,handleNext:p})}),d??document.body)},OT=({open:e,post:t,onClose:n})=>{let{categoryLabel:r,categoryColor:i}=Xb(t);return(0,w.jsx)(aT,{open:e,post:{postId:t.id,authorName:t.authorName,authorRole:t.authorRole,authorInitials:t.authorInitials,authorColor:t.authorColor,categoryLabel:r,categoryColor:i,title:t.title??t.body,bodySnippet:t.body.length>150?`${t.body.slice(0,150)}...`:t.body},onClose:n})},kT=e=>e.index===null?null:(0,w.jsx)(DT,{urls:e.post.imageUrls,index:e.index,post:e.post,commentPending:e.commentPending,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onAcknowledge:e.onAcknowledge,showAcknowledgeSection:e.showAcknowledgeSection,onAddComment:e.onAddComment,onShare:e.onShare,onClose:e.onClose,onChange:e.onChange,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:e.onEdit,showEditButton:e.showEditButton,onDelete:e.onDelete,showDeleteButton:e.showDeleteButton}),AT=({body:e,onOpenDetail:t})=>{let[n,i]=(0,r.useState)(!1),a=e.length>200;return(0,w.jsxs)(`p`,{className:W.cardBody,onClick:t,tabIndex:0,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&t()},style:{cursor:`pointer`},children:[a&&!n?`${e.slice(0,200)}...`:e,a&&(0,w.jsx)(`button`,{type:`button`,className:W.seeMoreBtn,onClick:e=>{e.stopPropagation(),n||t(),i(e=>!e)},children:n?` See less`:` See more`})]})},jT=(e,t,n,r)=>{let i=Vb();return{handleShare:()=>{t(!0),i.mutate(e.id)},handleImageClick:t=>{n(t),t!==null&&i.mutate(e.id)},handleOpenDetail:()=>{r(),i.mutate(e.id)}}},MT=({post:e,onAcknowledge:t,showAcknowledgeSection:n,toggleComments:r,handleImageClick:i,handleOpenDetail:a})=>(0,w.jsxs)(w.Fragment,{children:[e.title!==null&&(0,w.jsx)(xT,{title:e.title,onOpenDetail:a}),(0,w.jsx)(AT,{body:e.body,onOpenDetail:a}),(0,w.jsx)(Kw,{urls:e.imageUrls,onImageClick:i}),(0,w.jsx)(bT,{post:e,onAcknowledge:t,showAcknowledge:n}),(0,w.jsx)(_T,{post:e,onCommentClick:r})]}),NT=e=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(MT,{post:e.post,onAcknowledge:e.onAcknowledge,showAcknowledgeSection:e.showAcknowledgeSection,toggleComments:e.toggleComments,handleImageClick:e.handleImageClick,handleOpenDetail:e.handleOpenDetail}),(0,w.jsx)(yT,{post:e.post,commentsOpen:e.commentsOpen,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,onComment:e.toggleComments,onShare:e.handleShare}),e.commentsOpen&&(0,w.jsx)(Ww,{comments:e.post.comments,pending:e.commentPending,canComment:e.canComment,onAdd:e.onAddComment}),(0,w.jsx)(OT,{open:e.shareOpen,post:e.post,onClose:()=>{e.setShareOpen(!1)}}),(0,w.jsx)(kT,{index:e.lightboxIndex,post:e.post,commentPending:e.commentPending,onReact:e.onReact,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onAcknowledge:e.onAcknowledge,showAcknowledgeSection:e.showAcknowledgeSection,onAddComment:e.onAddComment,onShare:e.handleShare,onClose:()=>{e.setLightboxIndex(null)},onChange:e.setLightboxIndex,canReact:e.canReact,canComment:e.canComment,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:e.onEdit,showEditButton:e.showEditButton,onDelete:e.onDelete,showDeleteButton:e.showDeleteButton})]}),PT=e=>{let{post:t,setShareOpen:n,setLightboxIndex:r,onOpenDetail:i}=e,a=jT(t,n,r,i);return(0,w.jsx)(NT,{...e,...a})},FT=()=>{},IT=e=>{if(!(e.existingImages.length===0&&e.newPhotos.length===0&&e.sheet!==`photo`))return(0,w.jsx)(Vw,{existingImages:e.existingImages,newPhotos:e.newPhotos,onAddPhotos:t=>{e.handleAddPhotos(t)},onRemoveExisting:e.handleRemoveExisting,onRemoveNew:e.handleRemoveNew})},LT=e=>{let{data:t=[]}=Wb(),n=t.find(t=>t.id===e),[i,a]=(0,r.useState)(``),{rawItems:o,isLoadingItems:s,hasWebhook:c}=MC(n,i),{data:l=[]}=Hs();return{category:n,searchQuery:i,setSearchQuery:a,isLoadingItems:s,hasWebhook:c,categoryTemplates:jC(n,l),categoryItems:o.map(AC)}},RT=e=>{let t=LT(e.categoryId),n=n=>{t.setSearchQuery(``),e.setCategoryId(n.id)},r=(t,n)=>{e.setEditTitle(t),e.setEditBody(n),e.setSheet(null),e.setSelectedItem(null)};return{...t,handleSetCategory:n,handleApplyTemplate:r}},zT=({post:e,state:t})=>{let n=RT(t),{hasPermission:r}=ii(),i=r(T.feedUpdate);return(0,w.jsxs)(`div`,{style:{padding:`20px`,display:`flex`,flexDirection:`column`,gap:`12px`},children:[(0,w.jsx)(hw,{authorInfo:{name:e.authorName,initials:e.authorInitials,color:e.authorColor},audienceId:t.audienceId,taggedUsers:t.taggedUsers,feeling:t.feeling,location:t.location,onAudience:t.setAudienceId}),(0,w.jsx)(mw,{title:t.editTitle,setTitle:t.setEditTitle,body:t.editBody,setBody:t.setEditBody,bodyPlaceholder:`What's on your mind?`,category:n.category,feeling:t.feeling,location:t.location,sheet:t.sheet,categoryId:t.categoryId,audienceId:t.audienceId,mustRead:t.mustRead,taggedUserIds:t.taggedUsers.map(e=>e.id),setSheet:t.setSheet,setLocation:t.setLocation,setCategoryId:n.handleSetCategory,selectedItem:t.selectedItem,categoryItems:n.categoryItems,categoryTemplates:n.categoryTemplates,onSelectItem:t.setSelectedItem,onApplyTemplate:n.handleApplyTemplate,setFeeling:t.setFeeling,setAudienceId:t.setAudienceId,setMustRead:t.setMustRead,onToggleTag:t.toggleTag,photos:[],setPhotos:FT,isEditMode:!0,searchQuery:n.searchQuery,onSearchQuery:n.hasWebhook?n.setSearchQuery:void 0,isLoadingItems:n.isLoadingItems,editImagesNode:IT(t)}),t.mode===`schedule`&&(0,w.jsx)(CC,{value:t.schedule,timezone:t.timezone,onChange:t.setSchedule}),(0,w.jsx)(wC,{mode:t.mode,hideToggle:t.isAlreadyPublished,disabled:!i||t.isPending||!t.editBody.trim(),submitLabels:{schedule:t.isPending?`Saving...`:`Save schedule`,now:t.isPending?`Saving...`:`Save`},onMode:t.setMode,onCancel:t.handleCancel,onSubmit:t.handleSave})]})},BT=({post:e,commentPending:t,onReact:n,onBookmark:r,onAcknowledge:i,onAddComment:a,state:o,onOpenDetail:s,showAcknowledgeSection:c,canReact:l,canComment:u,showBookmarkButton:d,onPin:f,showPinButton:p,onEdit:m,showEditButton:h})=>o.isEditing?(0,w.jsx)(zT,{post:e,state:o}):(0,w.jsx)(PT,{post:e,commentsOpen:o.commentsOpen,commentPending:t,shareOpen:o.shareOpen,lightboxIndex:o.lightboxIndex,onReact:n,canReact:l,canComment:u,showAcknowledgeSection:c,onBookmark:r,showBookmarkButton:d,onAcknowledge:i,onAddComment:a,toggleComments:()=>{o.setCommentsOpen(e=>!e)},setShareOpen:o.setShareOpen,setLightboxIndex:o.setLightboxIndex,onOpenDetail:s,onPin:f,showPinButton:p,onEdit:m,showEditButton:h}),VT=(e,t)=>({handleEdit:()=>{e.setIsEditing(!0)},handleOpenDetail:()=>{t(!0)},handleEditFromDetail:()=>{e.setIsEditing(!0),t(!1)},handleShare:()=>{e.setShareOpen(!0)},handleCloseDetail:()=>{t(!1)}}),HT=e=>e.detailOpen?(0,w.jsx)(hT,{post:e.post,commentPending:e.commentPending,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:e.onEdit,showEditButton:e.isAuthor,onAcknowledge:e.onAcknowledge,showAcknowledgeSection:e.showAcknowledgeSection,onAddComment:e.onAddComment,onShare:e.onShare,onClose:e.onClose}):null,UT=e=>{let[n,i]=(0,r.useState)(!1),a=VT(e.state,i);return(0,w.jsxs)(t.C.article,{layout:`position`,id:`feed-post-${e.post.id}`,ref:e.elementRef,style:{y:e.cardY},className:W.card,children:[e.post.needsAcknowledgement&&(0,w.jsx)(`span`,{className:W.urgentStripe}),e.post.pinned&&(0,w.jsxs)(`div`,{className:W.pinnedRow,children:[(0,w.jsx)(Ie,{size:10,className:W.pin}),` Pinned`]}),(0,w.jsx)(ST,{post:e.post,isAuthor:e.isAuthor,isEditing:e.state.isEditing,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:a.handleEdit,onDelete:e.onDelete,showDeleteButton:e.showDeleteButton}),(0,w.jsx)(BT,{post:e.post,commentPending:e.commentPending,onReact:e.onReact,canReact:e.canReact,canComment:e.canComment,showAcknowledgeSection:e.showAcknowledgeSection,onBookmark:e.onBookmark,showBookmarkButton:e.showBookmarkButton,onAcknowledge:e.onAcknowledge,onAddComment:e.onAddComment,state:e.state,onOpenDetail:a.handleOpenDetail,onPin:e.onPin,showPinButton:e.showPinButton,onEdit:a.handleEdit,showEditButton:e.isAuthor}),(0,w.jsx)(HT,{post:e.post,detailOpen:n,commentPending:e.commentPending,isAuthor:e.isAuthor,canReact:e.canReact,canComment:e.canComment,showAcknowledgeSection:e.showAcknowledgeSection,showBookmarkButton:e.showBookmarkButton,showPinButton:e.showPinButton,onReact:e.onReact,onBookmark:e.onBookmark,onAcknowledge:e.onAcknowledge,onAddComment:e.onAddComment,onPin:e.onPin,onEdit:a.handleEditFromDetail,onShare:a.handleShare,onClose:a.handleCloseDetail})]})},WT=e=>{let t=(0,r.useRef)(null);(0,r.useEffect)(()=>{t.current=document.getElementById(`app-scroll-container`)},[]);let{scrollYProgress:n}=un({target:e,container:t,offset:[`start end`,`end start`]});return mn(n,[0,1],[-12,12])},GT=({post:e,commentPending:t,onReact:n,onBookmark:i,onAcknowledge:a,onAddComment:o})=>{let s=Rw(e),{user:c}=Dl(),{hasPermission:l}=ii(),u=e.authorUserId===c?.id,d=Ub(),f=Lb(),p=l(T.feedPin),m=l(T.feedReact),h=l(T.feedComment),g=l(T.feedBookmark),_=l(T.feedAcknowledge),v=l(T.feedDelete),y=()=>{d.mutateAsync({postId:e.id,pinned:!e.pinned})},b=()=>{f.mutateAsync(e.id)},x=(0,r.useRef)(null);return(0,w.jsx)(UT,{post:e,isAuthor:u,commentPending:t,onBookmark:i,showBookmarkButton:g,onPin:y,showPinButton:p,onDelete:b,showDeleteButton:v,showAcknowledgeSection:_,canReact:m,canComment:h,onReact:n,onAcknowledge:a,onAddComment:o,state:s,cardY:WT(x),elementRef:x})},KT=({posts:e})=>{let n=Rb(),r=zb(),i=Bb(),a=Hb();return(0,w.jsx)(w.Fragment,{children:e.map(e=>(0,w.jsx)(GT,{post:e,commentPending:a.isPending,onReact:t=>{n.mutate({postId:e.id,type:t})},onBookmark:()=>{r.mutate(e.id),t.l.success(e.bookmarked?`Bookmark removed`:`Post saved to bookmarks`)},onAcknowledge:()=>{i.mutate(e.id),t.l.success(`Post acknowledged`)},onAddComment:t=>{a.mutate({postId:e.id,text:t})}},e.id))})},qT=2,JT=e=>[...e].filter(e=>e.active).sort((e,t)=>e.priority-t.priority),YT=(e,t)=>e.find(e=>e.id===t.templateId),XT=(e,t,n)=>JT(e).map(e=>{let r=t.filter(t=>t.categoryId===e.id);return{id:e.id,name:e.name,color:e.color,count:r.length,template:YT(n,e),items:r.slice(0,qT)}}).filter(e=>e.count>0),ZT=e=>[{id:`all`,label:`All`},...JT(e).map(e=>({id:e.id,label:e.name}))],QT=e=>Object.values(e.values).join(` `).toLowerCase(),$T=(e,t,n)=>{let r=[];for(let i of JT(e.categories)){if(t!==`all`&&i.id!==t)continue;let a=YT(e.templates,i);if(a===void 0)continue;let o=e.promotions.filter(e=>e.categoryId===i.id),s=n===``?o:o.filter(e=>QT(e).includes(n));s.length>0&&r.push({category:i,template:a,items:s,count:o.length})}return r},eE=({onClose:e})=>(0,w.jsxs)(`div`,{className:W.ppHead,children:[(0,w.jsx)(`span`,{className:W.ppHeadIcon,children:(0,w.jsx)(Ce,{size:18})}),(0,w.jsxs)(`div`,{className:W.ppHeadText,children:[(0,w.jsx)(`h2`,{className:W.ppTitle,children:`Promotions & Campaigns`}),(0,w.jsx)(`p`,{className:W.ppSubtitle,children:`Latest campaigns, university updates, intake alerts and events.`}),(0,w.jsx)(`span`,{className:W.ppManaged,children:`Read-only · Managed by System Admin`})]}),(0,w.jsx)(`button`,{type:`button`,className:W.ppClose,"aria-label":`Close`,onClick:e,children:(0,w.jsx)(C,{size:18})})]}),tE=({tabs:e,active:n,onSelect:r})=>(0,w.jsx)(`div`,{className:W.ppTabs,children:e.map(e=>{let i=e.id===n;return(0,w.jsxs)(`button`,{type:`button`,className:t.at(W.ppTab,i&&W.ppTabActive),onClick:()=>{r(e.id)},children:[i&&(0,w.jsx)(t.C.span,{layoutId:`ppTabBg`,className:W.ppTabBg,transition:{type:`spring`,stiffness:420,damping:34}}),(0,w.jsx)(`span`,{className:W.ppTabLabel,children:e.label})]},e.id)})}),nE=({categories:e,promotions:n,templates:i,initialTab:a,onClose:o})=>{let[s,c]=(0,r.useState)(a),[l,u]=(0,r.useState)(``),d=ZT(e),f=$T({categories:e,promotions:n,templates:i},s,l.trim().toLowerCase());return(0,w.jsxs)(`div`,{className:W.ppRoot,children:[(0,w.jsx)(`button`,{type:`button`,className:W.ppOverlay,"aria-label":`Close promotions`,onClick:o}),(0,w.jsxs)(`div`,{className:W.ppPanel,role:`dialog`,"aria-label":`Promotions & Campaigns`,children:[(0,w.jsx)(eE,{onClose:o}),(0,w.jsx)(tE,{tabs:d,active:s,onSelect:c}),(0,w.jsxs)(`div`,{className:W.ppSearch,children:[(0,w.jsx)(Ge,{size:14,className:W.ppSearchIcon}),(0,w.jsx)(`input`,{type:`search`,className:W.ppSearchInput,placeholder:`Search promotions…`,value:l,onChange:e=>{u(e.target.value)}})]}),(0,w.jsx)(`div`,{className:W.ppList,children:(0,w.jsx)(t.T,{mode:`wait`,children:(0,w.jsx)(t.C.div,{className:W.ppListInner,initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0,y:-8},transition:{duration:.18,ease:`easeOut`},children:f.length===0?(0,w.jsx)(`p`,{className:W.ppEmpty,children:l.trim()===``?`No active promotions right now.`:`No promotions match.`}):f.map(e=>(0,w.jsx)(Js,{template:e.template,color:e.category.color,name:e.category.name,count:e.count,items:e.items},e.category.id))},s)})})]})]})},rE=({sections:e,onClose:n,onSeeAll:r,onSelectTab:i})=>(0,w.jsx)(t.C.div,{className:W.promoPopoverOverlay,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},onClick:e=>{e.target===e.currentTarget&&n()},children:(0,w.jsxs)(t.C.div,{className:W.promoPopoverCard,initial:{opacity:0,scale:.9,y:20},animate:{opacity:1,scale:1,y:0},exit:{opacity:0,scale:.9,y:20},transition:{type:`spring`,damping:25,stiffness:300},children:[(0,w.jsxs)(`div`,{className:W.popoverHeader,children:[(0,w.jsx)(`button`,{type:`button`,className:W.popoverCloseX,onClick:n,"aria-label":`Close promotions modal`,children:(0,w.jsx)(C,{size:18})}),(0,w.jsx)(`div`,{className:W.popoverBadgeIcon,children:(0,w.jsx)(Ce,{size:24})}),(0,w.jsxs)(`div`,{className:W.popoverTitleRow,children:[(0,w.jsx)(`h3`,{className:W.popoverTitle,children:`Promotions & Campaigns`}),(0,w.jsx)(`button`,{type:`button`,className:W.popoverSeeAllBtn,onClick:()=>{n(),r()},children:`See all`})]}),(0,w.jsx)(`p`,{className:W.popoverSub,children:`Stay updated with active promotions and university campaigns`})]}),(0,w.jsx)(`div`,{className:W.popoverContent,children:e.length===0?(0,w.jsx)(`p`,{className:W.popoverEmpty,children:`No active promotions right now.`}):e.map(e=>e.template===void 0?null:(0,w.jsx)(Js,{template:e.template,color:e.color,name:e.name,count:e.count,items:e.items,onViewAll:()=>{n(),i(e.id)}},e.id))})]})}),iE=({sections:e,onSeeAll:t,onSelectTab:n})=>(0,w.jsxs)(`aside`,{className:W.rail,children:[(0,w.jsxs)(`div`,{className:W.railHead,children:[(0,w.jsxs)(`span`,{className:W.railHeadTitle,children:[(0,w.jsx)(Ce,{size:11}),` PROMOTIONS & CAMPAIGNS`]}),(0,w.jsx)(`button`,{type:`button`,className:W.railSeeAll,onClick:t,children:`See all`})]}),(0,w.jsx)(`div`,{className:W.railList,children:e.length===0?(0,w.jsx)(`p`,{className:W.railFoot,children:`No active promotions right now.`}):e.map(e=>e.template===void 0?null:(0,w.jsx)(Js,{template:e.template,color:e.color,name:e.name,count:e.count,items:e.items,onViewAll:()=>{n(e.id)}},e.id))}),(0,w.jsx)(`div`,{className:W.railFoot,children:`Managed by System Admin`})]}),aE=({onOpen:e})=>{let[n,i]=(0,r.useState)(!1),[a,o]=(0,r.useState)(!1),s=(0,r.useRef)(0);return(0,r.useEffect)(()=>{let e=document.getElementById(`app-scroll-container`);if(!e)return;let t=()=>{let t=e.scrollTop;t<=4||t<s.current?o(!1):o(!0),s.current=t};return e.addEventListener(`scroll`,t,{passive:!0}),()=>{e.removeEventListener(`scroll`,t)}},[]),(0,r.useEffect)(()=>{if(!n)return;let e=setTimeout(()=>{i(!1)},4e3);return()=>{clearTimeout(e)}},[n]),(0,w.jsxs)(`button`,{type:`button`,className:t.at(W.mobilePromoTrigger,n&&W.mobilePromoExpanded,a&&W.mobilePromoTriggerBarHidden),onClick:()=>{n?(i(!1),e()):i(!0)},"aria-label":`Promotions & Campaigns`,children:[(0,w.jsx)(`span`,{className:W.promoShimmerSweep}),(0,w.jsx)(`span`,{className:W.promoIconWrap,children:(0,w.jsx)(Ce,{size:15,className:W.sparkleIcon})}),(0,w.jsx)(`span`,{className:W.promoBtnText,children:`Promotions & Campaigns`})]})},oE=()=>{let e=Is(),n=Rs(),i=Ls(),[a,o]=(0,r.useState)(null),[s,c]=(0,r.useState)(!1),l=e.data??[],u=n.data??[],d=i.data??[],f=XT(l,u,d);return(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(iE,{sections:f,onSeeAll:()=>{o(`all`)},onSelectTab:e=>{o(e)}}),(0,w.jsx)(aE,{onOpen:()=>{c(!0)}}),(0,w.jsx)(t.T,{children:s&&(0,w.jsx)(rE,{sections:f,onClose:()=>{c(!1)},onSeeAll:()=>{o(`all`)},onSelectTab:e=>{o(e)}})}),a!==null&&(0,w.jsx)(nE,{categories:l,promotions:u,templates:d,initialTab:a,onClose:()=>{o(null)}})]})},sE=[{id:`for_you`,label:`For You`},{id:`team`,label:`Team Updates`},{id:`company`,label:`Company Wide`},{id:`saved`,label:`Saved Posts`,icon:f}],cE=({scope:e,onChange:n})=>{let r=Pb(`saved`).data?.pages[0]?.totalCount;return(0,w.jsx)(`div`,{className:W.tabs,children:sE.map(i=>{let a=i.icon;return(0,w.jsxs)(`button`,{type:`button`,className:t.at(W.tab,e===i.id&&W.tabActive),onClick:()=>{n(i.id)},children:[a!==void 0&&(0,w.jsx)(a,{size:13}),i.label,i.id===`saved`&&r!==void 0&&r>0&&(0,w.jsx)(`span`,{className:W.tabBadge,children:r})]},i.id)})})},lE={skeletonCard:`_skeletonCard_7d381_1`,skeletonHeader:`_skeletonHeader_7d381_11`,skeletonAvatar:`_skeletonAvatar_7d381_17`,pulse:`_pulse_7d381_1`,skeletonMeta:`_skeletonMeta_7d381_25`,skeletonLine:`_skeletonLine_7d381_32`,short:`_short_7d381_39`,medium:`_medium_7d381_43`,full:`_full_7d381_47`,skeletonBody:`_skeletonBody_7d381_51`},uE=({count:e=3})=>(0,w.jsx)(w.Fragment,{children:Array.from({length:e}).map((e,n)=>(0,w.jsxs)(`div`,{className:lE.skeletonCard,children:[(0,w.jsxs)(`div`,{className:lE.skeletonHeader,children:[(0,w.jsx)(`div`,{className:lE.skeletonAvatar}),(0,w.jsxs)(`div`,{className:lE.skeletonMeta,children:[(0,w.jsx)(`div`,{className:t.at(lE.skeletonLine,lE.medium)}),(0,w.jsx)(`div`,{className:t.at(lE.skeletonLine,lE.short)})]})]}),(0,w.jsxs)(`div`,{className:lE.skeletonBody,children:[(0,w.jsx)(`div`,{className:t.at(lE.skeletonLine,lE.full)}),(0,w.jsx)(`div`,{className:t.at(lE.skeletonLine,lE.full)}),(0,w.jsx)(`div`,{className:t.at(lE.skeletonLine,lE.medium)})]})]},n))}),dE=(e,t,n)=>{let r=Rb(),i=zb(),a=Bb(),o=Hb(),s=Ub(),c=Lb();return{handleReact:t=>{r.mutateAsync({postId:e.id,type:t})},handleBookmark:()=>{i.mutateAsync(e.id)},handleAcknowledge:()=>{a.mutateAsync(e.id)},handleAddComment:t=>{o.mutateAsync({postId:e.id,text:t})},handlePin:()=>{s.mutateAsync({postId:e.id,pinned:!e.pinned})},handleEdit:()=>{t.setIsEditing(!0)},handleDelete:()=>{c.mutateAsync(e.id),n()},handleShare:()=>{t.setShareOpen(!0)},handleCloseShare:()=>{t.setShareOpen(!1)},commentPending:o.isPending}},fE=({post:e,state:t})=>(0,w.jsx)(`div`,{className:G.lightboxOverlay,children:(0,w.jsxs)(`div`,{className:G.lightboxContainerTextOnly,style:{padding:0},children:[(0,w.jsx)(`button`,{type:`button`,className:G.lightboxClose,onClick:()=>{t.setIsEditing(!1)},"aria-label":`Close edit`,children:(0,w.jsxs)(`svg`,{width:`24`,height:`24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,w.jsx)(`path`,{d:`M18 6 6 18`}),(0,w.jsx)(`path`,{d:`m6 6 12 12`})]})}),(0,w.jsx)(`div`,{style:{flex:1,overflowY:`auto`},children:(0,w.jsx)(zT,{post:e,state:t})})]})}),pE=({post:e,onClose:n})=>{let[a,o]=(0,r.useState)(0),{data:s}=Yb(e.id),c=s??e,l=Rw(c),u=dE(c,l,n),d=t.Z(),{user:f}=Dl(),{hasPermission:p}=ii(),m=c.authorUserId===f?.id,h=p(T.feedPin),g=p(T.feedReact),_=p(T.feedComment),v=p(T.feedBookmark),y=p(T.feedAcknowledge),b=p(T.feedDelete);return l.isEditing?(0,i.createPortal)((0,w.jsx)(fE,{post:c,state:l}),d??document.body):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(DT,{post:c,urls:c.imageUrls,index:a,onChange:o,commentPending:u.commentPending,onReact:u.handleReact,canReact:g,canComment:_,onBookmark:u.handleBookmark,showBookmarkButton:v,onAcknowledge:u.handleAcknowledge,showAcknowledgeSection:y,onAddComment:u.handleAddComment,onPin:u.handlePin,showPinButton:h,onEdit:u.handleEdit,showEditButton:m,onDelete:u.handleDelete,showDeleteButton:b,onShare:u.handleShare,onClose:n}),(0,w.jsx)(OT,{post:c,open:l.shareOpen,onClose:u.handleCloseShare})]})},mE=e=>{sx(`feed-post-${e}`,`app-scroll-container`,`start`)},hE=({post:e,onView:n,onDismiss:r,displayZone:i})=>{let{categoryLabel:a,categoryColor:o}=Xb(e);return(0,w.jsxs)(`div`,{className:W.missedCard,children:[(0,w.jsx)(`button`,{type:`button`,className:W.missedClose,"aria-label":`Dismiss`,onClick:r,children:(0,w.jsx)(C,{size:11,strokeWidth:2.5})}),(0,w.jsxs)(`div`,{className:W.missedCardTop,children:[(0,w.jsx)(`span`,{className:W.missedDot,style:t.it({"--dot":o})}),(0,w.jsx)(`span`,{className:W.missedCat,children:a}),(0,w.jsx)(`span`,{className:W.missedTime,children:ox(e.createdAt,i,e.scheduledAt)})]}),(0,w.jsx)(`p`,{className:W.missedSummary,children:e.title??e.body}),(0,w.jsxs)(`div`,{className:W.missedFoot,children:[(0,w.jsxs)(`button`,{type:`button`,className:W.missedCta,onClick:n,children:[`View post `,(0,w.jsx)(t.ct,{size:10,strokeWidth:3})]}),e.mustAcknowledge&&(0,w.jsxs)(`span`,{className:W.missedPriority,children:[(0,w.jsx)(te,{size:8}),` Priority`]})]})]})},gE=({posts:e})=>{let[i,a]=(0,r.useState)(new Set),[o,s]=(0,r.useState)(!1),c=(0,r.useRef)(null),l=n.m().display,d=e.filter(e=>e.mustAcknowledge&&!i.has(e.id)&&!e.acknowledged);if(o||d.length===0)return null;let f=e=>{c.current?.scrollBy({left:e*300,behavior:`smooth`})},p=d.length>2;return(0,w.jsxs)(`div`,{className:W.missed,children:[(0,w.jsxs)(`div`,{className:W.missedHead,children:[(0,w.jsx)(u,{size:14,className:W.missedSpark}),(0,w.jsx)(`span`,{className:W.missedTitle,children:`WHAT YOU MISSED`}),(0,w.jsx)(`span`,{className:W.missedBadge,children:d.length}),(0,w.jsx)(`button`,{type:`button`,className:W.missedRead,onClick:()=>{s(!0)},children:`Mark all read`})]}),(0,w.jsxs)(`div`,{className:t.at(W.missedScroller,p&&W.missedScrollerFade),children:[p&&(0,w.jsx)(`button`,{type:`button`,className:t.at(W.missedNav,W.missedNavLeft),"aria-label":`Scroll left`,onClick:()=>{f(-1)},children:(0,w.jsx)(S,{size:16})}),(0,w.jsx)(`div`,{className:W.missedTrack,ref:c,children:d.map(e=>(0,w.jsx)(hE,{post:e,displayZone:l,onView:()=>{mE(e.id)},onDismiss:()=>{a(t=>new Set(t).add(e.id))}},e.id))}),p&&(0,w.jsx)(`button`,{type:`button`,className:t.at(W.missedNav,W.missedNavRight),"aria-label":`Scroll right`,onClick:()=>{f(1)},children:(0,w.jsx)(t.ct,{size:16})})]})]})},_E=(e,t)=>{let n=t.trim();if(n===``)return e;let r=n.replace(/\s+/g,` `).toLowerCase();return e.filter(e=>[e.authorName,e.authorRole,e.audienceLabel,e.timestamp,e.title,e.body].filter(Boolean).join(` `).replace(/\s+/g,` `).toLowerCase().includes(r))},vE=(e,t,n)=>{let i=(0,r.useRef)(null),a=(0,r.useCallback)(r=>{r[0]?.isIntersecting&&e&&!t&&n()},[e,t,n]);return(0,r.useEffect)(()=>{let e=i.current;if(!e)return;let t=new IntersectionObserver(a,{rootMargin:`2000px`});return t.observe(e),()=>{t.disconnect()}},[a]),i},yE=e=>{let[n,i]=t.ut(),a=Yb(n.get(`postId`));(0,r.useEffect)(()=>{if(a.data===void 0)return;e(a.data);let t=new URLSearchParams(window.location.search);t.has(`postId`)&&(t.delete(`postId`),i(t,{replace:!0}))},[a.data])},bE=()=>{let[e,n]=(0,r.useState)(`for_you`),[i,a]=(0,r.useState)(``),[o,s]=(0,r.useState)(null),c=Pb(e),{hasPermission:l}=ii(),u=l(T.feedPost),{hasNextPage:d,isFetchingNextPage:f,fetchNextPage:p}=c,m=_E(c.data?c.data.pages.flatMap(e=>e.items):[],i);yE(e=>{s(e)});let h=vE(d,f,p);return(0,w.jsxs)(`div`,{className:W.screen,children:[(0,w.jsx)(`div`,{className:W.toolbar,children:(0,w.jsxs)(`div`,{className:W.toolbarContainer,children:[(0,w.jsxs)(`div`,{className:W.search,children:[(0,w.jsx)(Ge,{size:14,className:W.searchIcon}),(0,w.jsx)(`input`,{type:`search`,className:W.searchInput,placeholder:`Search posts by keyword, title, author, or role…`,value:i,onChange:e=>{a(e.target.value)}})]}),(0,w.jsx)(`div`,{className:W.toolbarRailSpacer})]})}),(0,w.jsxs)(`div`,{className:W.wrapper,children:[(0,w.jsxs)(`div`,{className:W.column,children:[(0,w.jsx)(cE,{scope:e,onChange:e=>{n(e)}}),(0,w.jsx)(gE,{posts:m}),u&&(0,w.jsx)(ww,{}),c.isPending&&(0,w.jsx)(uE,{count:3}),c.isError&&(0,w.jsx)(t.et,{tone:`error`,title:`Could not load the feed`,children:c.error.message}),c.isSuccess&&m.length===0&&(0,w.jsx)(Tw,{}),(0,w.jsx)(KT,{posts:m}),(0,w.jsx)(`div`,{ref:h,style:{height:`20px`,width:`100%`},children:c.isFetchingNextPage&&(0,w.jsx)(`div`,{style:{display:`flex`,justifyContent:`center`,padding:`1rem`},children:(0,w.jsx)(t.nt,{})})})]}),(0,w.jsx)(oE,{})]}),o!==null&&(0,w.jsx)(pE,{post:o,onClose:()=>{s(null)}})]})},xE=({path:e,children:n})=>(0,w.jsxs)(t.mt,{children:[(0,w.jsx)(t.pt,{path:e,element:(0,w.jsx)(w.Fragment,{children:n})}),(0,w.jsx)(t.pt,{path:`*`,element:(0,w.jsx)(t.ft,{to:e,replace:!0})})]}),SE=()=>{pC(`uapp-feed`,()=>(0,w.jsx)(xE,{path:`/comms/feed`,children:(0,w.jsx)(bE,{})}))},CE=e=>{let t=e.trim().split(/\s+/).filter(Boolean);return t.length===0?`?`:((t[0]?.[0]??``)+(t.length>1?t[t.length-1]?.[0]??``:``)).toUpperCase()},wE=()=>{let{user:e}=Dl(),t=e?.fullName??``;return{id:e?.id??``,name:t,initials:CE(t),color:`#0f1f1f`,role:`Organizer`}},TE=(e,t,n)=>{let r=new Date(e).getTime(),i=new Date(t).getTime();return n.some(e=>new Date(e.startUtc).getTime()<i&&new Date(e.endUtc).getTime()>r)},EE=(e,t,n)=>{let r=new Date(e).getTime(),i=new Date(t).getTime();return n.some(e=>new Date(e.startUtc).getTime()<=r&&new Date(e.endUtc).getTime()>=i)},DE=e=>{let t=e=>{let[t,n]=e.split(`:`).map(Number);return(t??0)*60+(n??0)},n=e=>`${String(Math.floor(e/60)).padStart(2,`0`)}:${String(e%60).padStart(2,`0`)}`,r=t(e.end),i=[];for(let a=t(e.start);a+30<=r;a+=30)i.push({start:n(a),end:n(a+30),label:`${n(a)} – ${n(a+30)}`});return i},OE=(e,t)=>{let n=e??t,r=n.getFullYear(),i=String(n.getMonth()+1).padStart(2,`0`),a=String(n.getDate()).padStart(2,`0`);return`${String(r)}-${i}-${a}`},kE=(e,t)=>new Date(e).toLocaleTimeString(`en-US`,{hour:`numeric`,minute:`2-digit`,hour12:!0,timeZone:t}),AE=(e,t,n)=>!e||!t?``:`${kE(e,n)} – ${kE(t,n)}`,jE=(e,t)=>e?new Date(e).toLocaleDateString(`en-US`,{weekday:`short`,day:`numeric`,month:`short`,timeZone:t}):``,ME=(e,t)=>t.id!==``&&e===t.id,NE=(e,t,n)=>{if(ME(e,n))return n.name.split(` `)[0]??n.name;let r=t.find(t=>t.id===e);return r===void 0?``:r.name.split(` `)[0]??``},PE=(e,t,n)=>{if(ME(e,n))return{name:`${n.name} (You)`,role:n.role,initials:n.initials,color:n.color};let r=t.find(t=>t.id===e);return{name:r?.name??``,role:r?.role??``,initials:r?.initials??``,color:r?.color??`#555`}},FE=(e,t,r)=>{let i=new Date(n.b(e,`00:00`,t));return{rangeStart:i,rangeEnd:new Date(i.getTime()+1440*60*1e3),workWindows:r?.active?r.slots.map(r=>({start:new Date(n.b(e,r.from,t)),end:new Date(n.b(e,r.to,t))})):[]}},IE=(e,t,r,i)=>{let a=[],o=(e,t)=>{a.push({startUtc:new Date(e).getTime(),endUtc:new Date(t).getTime()})};i.workWindows.forEach(e=>{o(e.start,e.end)}),r.forEach(e=>{n.At(e,i.rangeStart,i.rangeEnd).forEach(e=>{o(e.start,e.end)})}),e.forEach(e=>{let n=t.get(e);n&&(n.workingHours.forEach(e=>{o(e.startUtc,e.endUtc)}),n.busy.forEach(e=>{o(e.startUtc,e.endUtc)}))});let s=i.rangeStart.getTime(),c=i.rangeEnd.getTime(),l=a.filter(e=>e.startUtc<c&&e.endUtc>s).map(e=>({startOffsetMs:Math.max(e.startUtc,s)-s,endOffsetMs:Math.min(e.endUtc,c)-s}));if(l.length===0)return{start:`09:00`,end:`17:00`};let u=1440*60*1e3,d=0;l.forEach(e=>{e.startOffsetMs<u&&(u=e.startOffsetMs),e.endOffsetMs>d&&(d=e.endOffsetMs)});let f=Math.floor(Math.max(0,u/6e4-60)/30)*30,p=Math.ceil(Math.min(1440,d/6e4+60)/30)*30,m=e=>`${String(Math.floor(e/60)).padStart(2,`0`)}:${String(e%60).padStart(2,`0`)}`;return{start:m(f),end:m(p)}},LE=2*6e4,RE=e=>new Date(e).getTime()<Date.now()-LE,K={bookCard:`_bookCard_11n7l_7`,bookTopBar:`_bookTopBar_11n7l_16`,bookGrid:`_bookGrid_11n7l_26`,colCalendar:`_colCalendar_11n7l_31`,search:`_search_11n7l_37`,searchIcon:`_searchIcon_11n7l_42`,searchInput:`_searchInput_11n7l_50`,contactList:`_contactList_11n7l_61`,contactRow:`_contactRow_11n7l_72`,contactActive:`_contactActive_11n7l_91`,contactAvatar:`_contactAvatar_11n7l_96`,contactText:`_contactText_11n7l_112`,contactName:`_contactName_11n7l_120`,contactRole:`_contactRole_11n7l_135`,contactCheck:`_contactCheck_11n7l_144`,contactCheckOn:`_contactCheckOn_11n7l_158`,contactCheckIcon:`_contactCheckIcon_11n7l_164`,contactEmpty:`_contactEmpty_11n7l_170`,calHead:`_calHead_11n7l_177`,calMonth:`_calMonth_11n7l_184`,calNav:`_calNav_11n7l_190`,calNavBtn:`_calNavBtn_11n7l_195`,calDays:`_calDays_11n7l_208`,calDayLabel:`_calDayLabel_11n7l_214`,calGrid:`_calGrid_11n7l_222`,calCell:`_calCell_11n7l_228`,calCellToday:`_calCellToday_11n7l_248`,calCellSelected:`_calCellSelected_11n7l_254`,calCellPast:`_calCellPast_11n7l_262`,calCellBlank:`_calCellBlank_11n7l_267`,bookBar:`_bookBar_11n7l_272`,bookHint:`_bookHint_11n7l_282`,bookSummary:`_bookSummary_11n7l_287`,bookSummaryName:`_bookSummaryName_11n7l_295`,bookSummarySlot:`_bookSummarySlot_11n7l_300`,bookBtn:`_bookBtn_11n7l_305`,disabledBtnWrapper:`_disabledBtnWrapper_11n7l_326`,confirmBody:`_confirmBody_11n7l_331`,confirmWho:`_confirmWho_11n7l_337`,confirmAvatar:`_confirmAvatar_11n7l_347`,confirmWhoText:`_confirmWhoText_11n7l_361`,confirmName:`_confirmName_11n7l_368`,confirmRole:`_confirmRole_11n7l_374`,confirmRows:`_confirmRows_11n7l_379`,confirmRow:`_confirmRow_11n7l_379`,confirmRowIcon:`_confirmRowIcon_11n7l_396`,confirmRowLabel:`_confirmRowLabel_11n7l_408`,confirmRowValue:`_confirmRowValue_11n7l_416`,bookedNote:`_bookedNote_11n7l_424`,typeSelector:`_typeSelector_11n7l_434`,typeBtn:`_typeBtn_11n7l_442`,typeBtnActive:`_typeBtnActive_11n7l_460`},zE=({spanKey:e,name:n,dateLabel:r,formattedSlot:i})=>(0,w.jsxs)(t.C.span,{className:K.bookSummary,initial:{opacity:0,x:-6},animate:{opacity:1,x:0},exit:{opacity:0},children:[(0,w.jsx)(`span`,{className:K.bookSummaryName,children:n}),` · `,r,` ·`,` `,(0,w.jsx)(`span`,{className:K.bookSummarySlot,children:i})]},e),BE=({meetingType:e,contact:t,dateLabel:n,slot:r,selectedContactIds:i,groupTitle:a,formattedSlot:o})=>e===`1:1`?t!==null&&n!==``&&r!==null?(0,w.jsx)(zE,{spanKey:`summary`,name:t.name,dateLabel:n,formattedSlot:o}):null:i.length>0&&n!==``&&r!==null?(0,w.jsx)(zE,{spanKey:`group-summary`,name:`${a||`Group Meeting`} (${String(i.length)} guests)`,dateLabel:n,formattedSlot:o}):null,VE=({success:e,meetingType:n,contact:r,dateLabel:i,slot:a,selectedContactIds:o,groupTitle:s,selectedSlot:c,tzId:l})=>{if(e)return(0,w.jsxs)(t.C.span,{className:K.bookedNote,initial:{opacity:0,x:-6},animate:{opacity:1,x:0},exit:{opacity:0},children:[(0,w.jsx)(b,{size:14,strokeWidth:3}),` Meeting booked — see the Scheduled tab.`]},`done`);let u=BE({meetingType:n,contact:r,dateLabel:i,slot:a,selectedContactIds:o,groupTitle:s,formattedSlot:c?AE(c.startUtc,c.endUtc,l):``});return u===null?(0,w.jsx)(`span`,{className:K.bookHint,children:n===`1:1`?`Pick a person, a date, and a time to book.`:`Select participants, set group title, pick a date and a time to book.`},`hint`):u},HE=({contact:e,dateLabel:n,slot:r,canBook:i,success:a,meetingType:o,selectedContactIds:s,groupTitle:l,onBook:u,selectedSlot:d,tzId:f})=>(0,w.jsxs)(`div`,{className:K.bookBar,children:[(0,w.jsx)(t.T,{mode:`wait`,children:(0,w.jsx)(VE,{success:a,meetingType:o,contact:e,dateLabel:n,slot:r,selectedContactIds:s,groupTitle:l,selectedSlot:d,tzId:f})}),(0,w.jsxs)(t.C.button,{type:`button`,className:K.bookBtn,disabled:!i,...i?{whileTap:{scale:.97}}:{},onClick:()=>{u()},children:[`Confirm booking `,(0,w.jsx)(c,{size:15})]})]}),UE=[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`],WE=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],GE=e=>e.toLocaleDateString(`en-GB`,{weekday:`short`,day:`2-digit`,month:`short`}),KE=(e,t)=>e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate(),qE=(e,t,n)=>{let r=new Date(e,t,1).getDay(),i=new Date(e,t+1,0).getDate(),a=new Date(n.getFullYear(),n.getMonth(),n.getDate()),o=Array.from({length:r},()=>null);for(let r=1;r<=i;r+=1){let i=new Date(e,t,r);o.push({day:r,date:i,past:i<a,today:KE(i,n)})}return o},JE={col:`_col_18ut1_6`,colTitle:`_colTitle_18ut1_13`,stepDot:`_stepDot_18ut1_22`},YE=({cell:e,selected:n,onPick:r})=>(0,w.jsx)(t.C.button,{type:`button`,disabled:e.past,...e.past?{}:{whileHover:{scale:1.12},whileTap:{scale:.9}},className:t.at(K.calCell,e.past&&K.calCellPast,e.today&&K.calCellToday,n?.toDateString()===e.date.toDateString()&&K.calCellSelected),onClick:()=>{r(e.date)},children:e.day}),XE=({view:e,today:n,selected:r,onShift:i,onPick:a})=>(0,w.jsxs)(`div`,{className:K.colCalendar,children:[(0,w.jsxs)(`div`,{className:JE.colTitle,children:[(0,w.jsx)(`span`,{className:JE.stepDot,children:`2`}),` Pick a date`]}),(0,w.jsxs)(`div`,{className:K.calHead,children:[(0,w.jsxs)(`span`,{className:K.calMonth,children:[WE[e.month],` `,e.year]}),(0,w.jsxs)(`div`,{className:K.calNav,children:[(0,w.jsx)(t.C.button,{type:`button`,"aria-label":`Previous month`,className:K.calNavBtn,whileTap:{scale:.88},onClick:()=>{i(-1)},children:(0,w.jsx)(S,{size:15})}),(0,w.jsx)(t.C.button,{type:`button`,"aria-label":`Next month`,className:K.calNavBtn,whileTap:{scale:.88},onClick:()=>{i(1)},children:(0,w.jsx)(t.ct,{size:15})})]})]}),(0,w.jsx)(`div`,{className:K.calDays,children:UE.map(e=>(0,w.jsx)(`span`,{className:K.calDayLabel,children:e},e))}),(0,w.jsx)(t.C.div,{className:K.calGrid,initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.18,ease:[.22,1,.36,1]},children:qE(e.year,e.month,n).map((e,t)=>e===null?(0,w.jsx)(`span`,{className:K.calCellBlank},`blank-${String(t)}`):(0,w.jsx)(YE,{cell:e,selected:r,onPick:a},e.day))},`${String(e.year)}-${String(e.month)}`)]}),ZE={hidden:{},visible:{transition:{staggerChildren:.05,delayChildren:.05}}},QE={hidden:{opacity:0,x:-8},visible:{opacity:1,x:0,transition:{duration:.18,ease:`easeOut`}}},$E=({icon:e,label:n,value:r})=>(0,w.jsxs)(t.C.div,{className:K.confirmRow,variants:QE,children:[(0,w.jsx)(`span`,{className:K.confirmRowIcon,children:e}),(0,w.jsx)(`span`,{className:K.confirmRowLabel,children:n}),(0,w.jsx)(`span`,{className:K.confirmRowValue,children:r})]}),eD=({contact:e,dateLabel:n,formattedSlot:r,zone:i})=>(0,w.jsxs)(`div`,{className:K.confirmBody,children:[(0,w.jsxs)(`div`,{className:K.confirmWho,children:[(0,w.jsx)(`span`,{className:K.confirmAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`span`,{className:K.confirmWhoText,children:[(0,w.jsx)(`span`,{className:K.confirmName,children:e.name}),(0,w.jsx)(`span`,{className:K.confirmRole,children:e.role})]})]}),(0,w.jsxs)(t.C.div,{className:K.confirmRows,variants:ZE,initial:`hidden`,animate:`visible`,children:[(0,w.jsx)($E,{icon:(0,w.jsx)(g,{size:15}),label:`Date`,value:n}),(0,w.jsx)($E,{icon:(0,w.jsx)(t.ot,{size:15}),label:`Time`,value:r}),(0,w.jsx)($E,{icon:(0,w.jsx)(fe,{size:15}),label:`Timezone`,value:`${i.city} · ${i.offset}`}),(0,w.jsx)($E,{icon:(0,w.jsx)(lt,{size:15}),label:`Location`,value:`Online — link generated automatically`})]})]}),tD=({open:e,contact:n,dateLabel:r,slot:i,zone:a,pending:o,onConfirm:s,onClose:c,selectedSlot:l,tzId:u})=>{let{hasPermission:d}=ii(),f=d(T.meetingsBook),p=AE(l?.startUtc,l?.endUtc,u);return(0,w.jsx)(t.y,{open:e&&n!==null&&i!==null&&r!==``,onOpenChange:e=>{e||c()},title:`Confirm your booking`,description:`A calendar invite is sent to both of you once confirmed.`,footer:(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(t.tt,{variant:`ghost`,onClick:c,children:`Back`}),f?(0,w.jsx)(t.tt,{isLoading:o,disabled:o,onClick:s,children:`Confirm booking`}):(0,w.jsx)(t.p,{label:`You don't have permission to book meetings`,side:`top`,children:(0,w.jsx)(`span`,{className:K.disabledBtnWrapper,children:(0,w.jsx)(t.tt,{isLoading:o,disabled:!0,onClick:s,children:`Confirm booking`})})})]}),children:n!==null&&i!==null?(0,w.jsx)(eD,{contact:n,dateLabel:r,formattedSlot:p,zone:a}):null})},nD={titleWrap:`_titleWrap_18nb9_3`,titleInput:`_titleInput_18nb9_7`},rD={hidden:{},visible:{transition:{staggerChildren:.04}}},iD=({contact:e,active:n,onSelect:r})=>(0,w.jsxs)(t.C.button,{type:`button`,layout:!0,variants:t.x,whileHover:{x:3},whileTap:{scale:.985},transition:{type:`spring`,stiffness:500,damping:34},className:t.at(K.contactRow,n&&K.contactActive),onClick:r,children:[(0,w.jsx)(`span`,{className:K.contactAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`span`,{className:K.contactText,children:[(0,w.jsx)(`span`,{className:K.contactName,children:e.name}),(0,w.jsx)(`span`,{className:K.contactRole,children:e.role})]}),(0,w.jsx)(`span`,{className:t.at(K.contactCheck,n&&K.contactCheckOn),children:(0,w.jsx)(t.T,{children:n&&(0,w.jsx)(t.C.span,{className:K.contactCheckIcon,initial:{scale:0},animate:{scale:1},exit:{scale:0},transition:{type:`spring`,stiffness:500,damping:28},children:(0,w.jsx)(b,{size:11,strokeWidth:3})})})})]}),aD=({contacts:e,selectedId:n,search:r,onSearch:i,onSelect:a,mode:o=`1:1`,selectedIds:s=[],onSelectGroup:c,groupTitle:l=``,onGroupTitleChange:u})=>(0,w.jsxs)(`div`,{className:JE.col,children:[(0,w.jsxs)(`div`,{className:JE.colTitle,children:[(0,w.jsx)(`span`,{className:JE.stepDot,children:`1`}),` `,o===`group`?`Configure Group Event`:`Choose a person`]}),o===`group`&&u&&(0,w.jsx)(`div`,{className:nD.titleWrap,children:(0,w.jsx)(`input`,{type:`text`,className:t.at(K.searchInput,nD.titleInput),placeholder:`Group Event Title (e.g. Team Sync)`,value:l,onChange:e=>{u(e.target.value)}})}),(0,w.jsxs)(`div`,{className:K.search,children:[(0,w.jsx)(Ge,{size:14,className:K.searchIcon}),(0,w.jsx)(`input`,{type:`search`,className:K.searchInput,placeholder:`Search people…`,value:r,onChange:e=>{i(e.target.value)}})]}),(0,w.jsxs)(t.C.div,{className:K.contactList,variants:rD,initial:`hidden`,animate:`visible`,children:[(0,w.jsx)(t.T,{initial:!1,children:e.map(e=>(0,w.jsx)(iD,{contact:e,active:o===`group`?s.includes(e.id):n===e.id,onSelect:()=>{o===`group`&&c?c(s.includes(e.id)?s.filter(t=>t!==e.id):[...s,e.id]):a(e.id)}},e.id))}),e.length===0&&(0,w.jsx)(`p`,{className:K.contactEmpty,children:`No people match.`})]})]}),q={wizardContainer:`_wizardContainer_pyr7v_8`,stepper:`_stepper_pyr7v_17`,stepItem:`_stepItem_pyr7v_27`,stepLine:`_stepLine_pyr7v_34`,stepLineActive:`_stepLineActive_pyr7v_40`,stepCircle:`_stepCircle_pyr7v_44`,stepCircleActive:`_stepCircleActive_pyr7v_60`,stepCircleDone:`_stepCircleDone_pyr7v_66`,stepText:`_stepText_pyr7v_72`,stepTextActive:`_stepTextActive_pyr7v_78`,wizardContent:`_wizardContent_pyr7v_83`,wizardRow:`_wizardRow_pyr7v_90`,wizardPanelLeft:`_wizardPanelLeft_pyr7v_96`,wizardPanelRight:`_wizardPanelRight_pyr7v_106`,timePanelLeft:`_timePanelLeft_pyr7v_114`,wizardList:`_wizardList_pyr7v_118`,timePanelRight:`_timePanelRight_pyr7v_128`,panelHeading:`_panelHeading_pyr7v_132`,wizardSearch:`_wizardSearch_pyr7v_139`,wizardListBtn:`_wizardListBtn_pyr7v_159`,wizardListBtnActive:`_wizardListBtnActive_pyr7v_176`,avatar:`_avatar_pyr7v_181`,avatarSmall:`_avatarSmall_pyr7v_193`,contactName:`_contactName_pyr7v_205`,contactRole:`_contactRole_pyr7v_211`,checkbox:`_checkbox_pyr7v_217`,checkboxActive:`_checkboxActive_pyr7v_228`,panelHeader:`_panelHeader_pyr7v_234`,badge:`_badge_pyr7v_246`,selectedGrid:`_selectedGrid_pyr7v_254`,selectedEmpty:`_selectedEmpty_pyr7v_274`,selectedEmptyIcon:`_selectedEmptyIcon_pyr7v_285`,selectedItemCard:`_selectedItemCard_pyr7v_291`,cardName:`_cardName_pyr7v_301`,cardRole:`_cardRole_pyr7v_310`,removeBtn:`_removeBtn_pyr7v_318`,attendeeStatusItem:`_attendeeStatusItem_pyr7v_337`,statusIndicator:`_statusIndicator_pyr7v_346`,statusIndicatorAvail:`_statusIndicatorAvail_pyr7v_353`,statusIndicatorBusy:`_statusIndicatorBusy_pyr7v_357`,statusIndicatorOoh:`_statusIndicatorOoh_pyr7v_361`,gridToolbar:`_gridToolbar_pyr7v_366`,datePickerInput:`_datePickerInput_pyr7v_377`,durationSelector:`_durationSelector_pyr7v_386`,durBtn:`_durBtn_pyr7v_394`,durBtnActive:`_durBtnActive_pyr7v_405`,legend:`_legend_pyr7v_411`,legendItem:`_legendItem_pyr7v_418`,dotAvail:`_dotAvail_pyr7v_425`,dotBusy:`_dotBusy_pyr7v_426`,dotOoh:`_dotOoh_pyr7v_427`,suggestedStrip:`_suggestedStrip_pyr7v_443`,suggestedRow:`_suggestedRow_pyr7v_449`,suggestedCard:`_suggestedCard_pyr7v_456`,suggestedCardActive:`_suggestedCardActive_pyr7v_472`,suggestedCardFree:`_suggestedCardFree_pyr7v_479`,gridEmpty:`_gridEmpty_pyr7v_489`,wizardConfirmContainer:`_wizardConfirmContainer_pyr7v_501`,confirmHeading:`_confirmHeading_pyr7v_509`,confirmSub:`_confirmSub_pyr7v_516`,confirmCard:`_confirmCard_pyr7v_522`,confirmRow:`_confirmRow_pyr7v_532`,confirmLabel:`_confirmLabel_pyr7v_540`,confirmVal:`_confirmVal_pyr7v_548`,confirmAttendeeBadge:`_confirmAttendeeBadge_pyr7v_554`,avatarTiny:`_avatarTiny_pyr7v_567`,wizardFooter:`_wizardFooter_pyr7v_580`,wizardBackBtn:`_wizardBackBtn_pyr7v_589`,wizardNextBtn:`_wizardNextBtn_pyr7v_609`,selectedStatusAlert:`_selectedStatusAlert_pyr7v_634`,successContainer:`_successContainer_pyr7v_647`,successHeader:`_successHeader_pyr7v_659`,successTitle:`_successTitle_pyr7v_667`,successSub:`_successSub_pyr7v_674`,successCard:`_successCard_pyr7v_680`,successRow:`_successRow_pyr7v_694`,successLabel:`_successLabel_pyr7v_707`,successVal:`_successVal_pyr7v_716`,successActions:`_successActions_pyr7v_725`,successBtn:`_successBtn_pyr7v_733`,successBtnPrimary:`_successBtnPrimary_pyr7v_743`,successBtnSecondary:`_successBtnSecondary_pyr7v_752`},oD={titleVal:`_titleVal_195yt_3`,inlineIcon:`_inlineIcon_195yt_8`,agendaVal:`_agendaVal_195yt_13`,lastRow:`_lastRow_195yt_17`,guestList:`_guestList_195yt_21`},sD=({d:e})=>{let n=e.selectedContactIds.map(t=>e.list.find(e=>e.id===t)),r=e.groupTitle.trim()===``?`Group Meeting`:e.groupTitle,i=e.selectedSlot?AE(e.selectedSlot.startUtc,e.selectedSlot.endUtc,e.tzId):`No time selected`,a=e.selectedSlot?jE(e.selectedSlot.startUtc,e.tzId):e.dateLabel;return(0,w.jsxs)(`div`,{className:q.wizardConfirmContainer,children:[(0,w.jsx)(`h3`,{className:q.confirmHeading,children:`Review group meeting`}),(0,w.jsx)(`p`,{className:q.confirmSub,children:`Ensure everything is correct before sending invitations.`}),(0,w.jsxs)(`div`,{className:q.confirmCard,children:[(0,w.jsxs)(`div`,{className:q.confirmRow,children:[(0,w.jsx)(`span`,{className:q.confirmLabel,children:`Title`}),(0,w.jsx)(`span`,{className:t.at(q.confirmVal,oD.titleVal),children:r})]}),(0,w.jsxs)(`div`,{className:q.confirmRow,children:[(0,w.jsx)(`span`,{className:q.confirmLabel,children:`Date & Time`}),(0,w.jsxs)(`span`,{className:q.confirmVal,children:[a,` @ `,i,` (`,e.zone.offset,`)`]})]}),(0,w.jsxs)(`div`,{className:q.confirmRow,children:[(0,w.jsx)(`span`,{className:q.confirmLabel,children:`Location`}),(0,w.jsxs)(`span`,{className:q.confirmVal,children:[(0,w.jsx)(xe,{size:13,className:oD.inlineIcon}),e.groupLocation]})]}),e.groupDescription.trim()&&(0,w.jsxs)(`div`,{className:q.confirmRow,children:[(0,w.jsx)(`span`,{className:q.confirmLabel,children:`Agenda`}),(0,w.jsx)(`span`,{className:t.at(q.confirmVal,oD.agendaVal),children:e.groupDescription})]}),(0,w.jsxs)(`div`,{className:t.at(q.confirmRow,oD.lastRow),children:[(0,w.jsx)(`span`,{className:q.confirmLabel,children:`Invited Guests`}),(0,w.jsx)(`div`,{className:t.at(q.confirmVal,oD.guestList),children:n.map(e=>e===void 0?null:(0,w.jsxs)(`span`,{className:q.confirmAttendeeBadge,children:[(0,w.jsx)(`span`,{className:q.avatarTiny,style:{backgroundColor:e.color},children:e.initials}),e.name]},e.id))})]})]})]})},cD={wizardDetailsForm:`_wizardDetailsForm_79bfd_3`,detailsHeading:`_detailsHeading_79bfd_11`,detailsSub:`_detailsSub_79bfd_18`,formGroup:`_formGroup_79bfd_24`,formLabel:`_formLabel_79bfd_28`,formInput:`_formInput_79bfd_37`,formTextarea:`_formTextarea_79bfd_54`},lD=({d:e})=>(0,w.jsxs)(`div`,{className:cD.wizardDetailsForm,children:[(0,w.jsx)(`h3`,{className:cD.detailsHeading,children:`Meeting details`}),(0,w.jsx)(`p`,{className:cD.detailsSub,children:`Add context to the invite so attendees know what to expect.`}),(0,w.jsxs)(`div`,{className:cD.formGroup,children:[(0,w.jsx)(`label`,{className:cD.formLabel,children:`MEETING TITLE *`}),(0,w.jsx)(`input`,{type:`text`,className:cD.formInput,placeholder:`e.g. Weekly Admissions Alignment`,value:e.groupTitle,onChange:t=>{e.setGroupTitle(t.target.value)}})]}),(0,w.jsxs)(`div`,{className:cD.formGroup,children:[(0,w.jsx)(`label`,{className:cD.formLabel,children:`LOCATION / TYPE *`}),(0,w.jsx)(`input`,{type:`text`,className:cD.formInput,placeholder:`e.g. Google Meet, Room 402`,value:e.groupLocation,onChange:t=>{e.setGroupLocation(t.target.value)}})]}),(0,w.jsxs)(`div`,{className:cD.formGroup,children:[(0,w.jsx)(`label`,{className:cD.formLabel,children:`AGENDA / DESCRIPTION`}),(0,w.jsx)(`textarea`,{className:cD.formTextarea,rows:5,placeholder:`What will you cover in this meeting? (optional)`,value:e.groupDescription,onChange:t=>{e.setGroupDescription(t.target.value)}})]})]}),uD={searchWrap:`_searchWrap_3i51q_3`,contactMeta:`_contactMeta_3i51q_7`,selectedMeta:`_selectedMeta_3i51q_13`},dD=({d:e,isSelected:n,onToggle:r})=>(0,w.jsxs)(`div`,{className:q.wizardPanelLeft,children:[(0,w.jsxs)(`div`,{className:uD.searchWrap,children:[(0,w.jsx)(`h3`,{className:q.panelHeading,children:`Add participants`}),(0,w.jsx)(`input`,{type:`text`,className:q.wizardSearch,placeholder:`Search by name, role or department...`,value:e.search,onChange:t=>{e.setSearch(t.target.value)}})]}),(0,w.jsx)(`div`,{className:q.wizardList,children:e.searchResults.map(e=>(0,w.jsxs)(`button`,{type:`button`,className:t.at(q.wizardListBtn,n(e.id)&&q.wizardListBtnActive),onClick:()=>{r(e.id)},children:[(0,w.jsx)(`span`,{className:q.avatar,style:{backgroundColor:e.color},children:e.initials}),(0,w.jsxs)(`div`,{className:uD.contactMeta,children:[(0,w.jsx)(`div`,{className:q.contactName,children:e.name}),(0,w.jsx)(`div`,{className:q.contactRole,children:e.role})]}),(0,w.jsx)(`div`,{className:t.at(q.checkbox,n(e.id)&&q.checkboxActive),children:n(e.id)&&(0,w.jsx)(b,{size:10,strokeWidth:3})})]},e.id))})]}),fD=({d:e,onToggle:n})=>(0,w.jsxs)(`div`,{className:q.wizardPanelRight,children:[(0,w.jsxs)(`div`,{className:q.panelHeader,children:[(0,w.jsx)(`span`,{children:`SELECTED`}),(0,w.jsxs)(`span`,{className:q.badge,children:[String(e.selectedContactIds.length),` guests`]})]}),(0,w.jsx)(`div`,{className:q.selectedGrid,children:(0,w.jsx)(t.T,{initial:!1,children:e.selectedContactIds.length===0?(0,w.jsxs)(t.C.div,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:q.selectedEmpty,children:[(0,w.jsx)(ct,{size:22,className:q.selectedEmptyIcon}),(0,w.jsx)(`span`,{children:`Select people on the left to add them to the meeting.`})]},`empty`):e.selectedContactIds.map(r=>{let i=e.list.find(e=>e.id===r);return i===void 0?null:(0,w.jsxs)(t.C.div,{layout:!0,initial:{opacity:0,y:10,scale:.95},animate:{opacity:1,y:0,scale:1},exit:{opacity:0,scale:.9,x:20},transition:{type:`spring`,stiffness:300,damping:25},className:q.selectedItemCard,children:[(0,w.jsx)(`span`,{className:q.avatarSmall,style:{backgroundColor:i.color},children:i.initials}),(0,w.jsxs)(`div`,{className:uD.selectedMeta,children:[(0,w.jsx)(`div`,{className:q.cardName,children:i.name}),(0,w.jsx)(`div`,{className:q.cardRole,children:i.role})]}),(0,w.jsx)(`button`,{type:`button`,className:q.removeBtn,onClick:()=>{n(r)},children:(0,w.jsx)(at,{size:13})})]},r)})})})]}),pD=({d:e})=>{let t=t=>e.selectedContactIds.includes(t),n=n=>{t(n)?e.setSelectedContactIds(e.selectedContactIds.filter(e=>e!==n)):e.setSelectedContactIds([...e.selectedContactIds,n])};return(0,w.jsxs)(`div`,{className:q.wizardRow,children:[(0,w.jsx)(dD,{d:e,isSelected:t,onToggle:n}),(0,w.jsx)(fD,{d:e,onToggle:n})]})},mD={timelineContainer:`_timelineContainer_1799e_3`,timelineHeaderRow:`_timelineHeaderRow_1799e_18`,timelineTimeCell:`_timelineTimeCell_1799e_27`,timelineHeaderCell:`_timelineHeaderCell_1799e_38`,timelineBody:`_timelineBody_1799e_52`,timelineRow:`_timelineRow_1799e_57`,timelineTimeCellActive:`_timelineTimeCellActive_1799e_75`,timelineCell:`_timelineCell_1799e_81`,cellAvail:`_cellAvail_1799e_90`,cellBusy:`_cellBusy_1799e_94`,cellOoh:`_cellOoh_1799e_98`,cellSelected:`_cellSelected_1799e_109`,gridTooltip:`_gridTooltip_1799e_114`,cellPast:`_cellPast_1799e_133`},hD=30,gD=(e,t,r)=>{let i=n.b(t,e.start,r);return{startUtc:i,endUtc:new Date(new Date(i).getTime()+hD*6e4).toISOString()}},_D=(e,t,n)=>{let r=new Date(new Date(n.startUtc).getTime()+e.groupDuration*6e4).toISOString();e.pickSlot({label:t,startUtc:n.startUtc,endUtc:r,conflicts:[]})},vD=({id:e,d:t,rowInstants:r,serverBusy:i,selfBounds:a,allBlocks:o})=>{let s=i.get(e);return s===void 0?t.selected===null?`ooh`:n.u({userId:e,selfUserId:t.viewer.id,slotStart:new Date(r.startUtc),slotEnd:new Date(r.endUtc),allBlocks:o,rangeStart:a.rangeStart,rangeEnd:a.rangeEnd,workWindows:a.workWindows}):TE(r.startUtc,r.endUtc,s.busy)?`busy`:s.workingHours.length>0&&!EE(r.startUtc,r.endUtc,s.workingHours)?`ooh`:`available`},yD=({id:e,slotItem:n,d:r,allBlocks:i,serverBusy:a,rowInstants:o,selfBounds:s,isSelected:c,isPast:l,hoverCell:u,setHoverCell:d})=>{let f=vD({id:e,d:r,rowInstants:o,serverBusy:a,selfBounds:s,allBlocks:i}),p=u!==null&&u.userId===e&&u.slotLabel===n.label;return(0,w.jsx)(`div`,{className:t.at(mD.timelineCell,f===`available`&&mD.cellAvail,f===`busy`&&mD.cellBusy,f===`ooh`&&mD.cellOoh,c&&mD.cellSelected,l&&mD.cellPast),onClick:l?void 0:()=>{_D(r,n.label,o)},onMouseEnter:()=>{d({userId:e,slotLabel:n.label})},onMouseLeave:()=>{d(null)},children:p&&(0,w.jsxs)(`div`,{className:mD.gridTooltip,children:[(0,w.jsx)(`strong`,{children:NE(e,r.list,r.viewer)}),` ·`,` `,l?`PAST`:f.toUpperCase()]})})},bD=({slotItem:e,d:r,activeAttendees:i,allBlocks:a,serverBusy:o,isoDate:s,displayZone:c,selfBounds:l,hoverCell:u,setHoverCell:d})=>{let f=r.slot===e.label,p=gD(e,s,c),m=RE(p.startUtc),h=n.h.from({pick:c}).formatTime(p.startUtc);return(0,w.jsxs)(`div`,{className:mD.timelineRow,children:[(0,w.jsx)(`button`,{type:`button`,disabled:m,className:t.at(mD.timelineTimeCell,f&&mD.timelineTimeCellActive),onClick:()=>{_D(r,e.label,p)},children:h}),i.map(t=>(0,w.jsx)(yD,{id:t,slotItem:e,d:r,allBlocks:a,serverBusy:o,rowInstants:p,selfBounds:l,isSelected:f,isPast:m,hoverCell:u,setHoverCell:d},t+`-`+e.label))]})},xD=({d:e,activeAttendees:t,allBlocks:n,serverBusy:r,isoDate:i,hoverCell:a,setHoverCell:o})=>{let s=e.tzId,c=FE(i,s,e.hostDayWindow),l=DE(IE(t,r,n,c));return(0,w.jsxs)(`div`,{className:mD.timelineContainer,children:[(0,w.jsxs)(`div`,{className:mD.timelineHeaderRow,children:[(0,w.jsx)(`div`,{className:mD.timelineTimeCell}),t.map(t=>(0,w.jsx)(`div`,{className:mD.timelineHeaderCell,children:NE(t,e.list,e.viewer)},t))]}),(0,w.jsx)(`div`,{className:mD.timelineBody,children:l.map(l=>(0,w.jsx)(bD,{slotItem:l,d:e,activeAttendees:t,allBlocks:n,serverBusy:r,isoDate:i,displayZone:s,selfBounds:c,hoverCell:a,setHoverCell:o},l.label))})]})},SD={header:`_header_1afpk_3`,slotNote:`_slotNote_1afpk_7`,cardMeta:`_cardMeta_1afpk_12`},CD=({userId:e,selfUserId:t,startStr:r,endStr:i,anchorTzId:a,isoDate:o,allBlocks:s,dayWindow:c})=>{let l=c?.active?c.slots.map(e=>({start:new Date(n.b(o,e.from,a)),end:new Date(n.b(o,e.to,a))})):[],u=new Date(n.b(o,`00:00`,a)),d=new Date(u.getTime()+1440*60*1e3);return n.u({userId:e,selfUserId:t,slotStart:new Date(n.b(o,r,a)),slotEnd:new Date(n.b(o,i,a)),allBlocks:s,rangeStart:u,rangeEnd:d,workWindows:l})},wD=(e,t,r)=>{let{id:i,d:a,allBlocks:o,serverBusy:s,anchorTzId:c,isoDate:l}=e,u=a.hostDayWindow;if(a.selected===null||u===null)return`available`;let d=s.get(i);if(d!==void 0){let e=n.b(l,t,c),i=n.b(l,r,c);return TE(e,i,d.busy)?`busy`:d.workingHours.length>0&&!EE(e,i,d.workingHours)?`ooh`:`available`}return CD({userId:i,selfUserId:a.viewer.id,startStr:t,endStr:r,anchorTzId:c,isoDate:l,allBlocks:o,dayWindow:u})},TD=e=>{let{id:n,d:r,curSlot:i}=e,a=PE(n,r.list,r.viewer),[o,s]=i?i.split(` – `):[null,null],c=o&&s?wD(e,o,s):`available`;return(0,w.jsxs)(`div`,{className:q.attendeeStatusItem,children:[(0,w.jsx)(`span`,{className:q.avatarSmall,style:{backgroundColor:a.color},children:a.initials}),(0,w.jsxs)(`div`,{className:SD.cardMeta,children:[(0,w.jsx)(`div`,{className:q.cardName,children:a.name}),(0,w.jsx)(`div`,{className:q.cardRole,children:a.role})]}),(0,w.jsx)(`span`,{className:t.at(q.statusIndicator,c===`available`&&q.statusIndicatorAvail,c===`busy`&&q.statusIndicatorBusy,c===`ooh`&&q.statusIndicatorOoh)})]})},ED=({d:e,activeAttendees:n,curSlot:r,allBlocks:i,serverBusy:a,anchorTzId:o,isoDate:s})=>(0,w.jsxs)(`div`,{className:t.at(q.wizardPanelLeft,q.timePanelLeft),children:[(0,w.jsxs)(`div`,{className:SD.header,children:[(0,w.jsx)(`h3`,{className:q.panelHeading,children:`Attendees Availability`}),(0,w.jsxs)(`span`,{className:SD.slotNote,children:[`For selected slot: `,r??`None`]})]}),(0,w.jsx)(`div`,{className:q.wizardList,children:n.map(t=>(0,w.jsx)(TD,{id:t,d:e,curSlot:r,allBlocks:i,serverBusy:a,anchorTzId:o,isoDate:s},t))})]}),DD={toolbarGroup:`_toolbarGroup_1hpun_3`,toolbarLabel:`_toolbarLabel_1hpun_9`,suggestedHeader:`_suggestedHeader_1hpun_15`,suggestedTitle:`_suggestedTitle_1hpun_22`,freeBadge:`_freeBadge_1hpun_29`,slotTime:`_slotTime_1hpun_34`,noSlots:`_noSlots_1hpun_40`,emptyIcon:`_emptyIcon_1hpun_46`},OD=({suggestedOptions:e,slot:n,activeAttendeesCount:r,setSlot:i,tzId:a})=>(0,w.jsxs)(`div`,{className:q.suggestedRow,children:[e.map(e=>{let o=n===e.label,s=r-e.conflicts.length,c=AE(e.startUtc,e.endUtc,a);return(0,w.jsxs)(`button`,{type:`button`,className:t.at(q.suggestedCard,o&&q.suggestedCardActive,e.conflicts.length===0&&q.suggestedCardFree),onClick:()=>{i(e.label)},children:[(0,w.jsx)(`div`,{className:DD.freeBadge,children:e.conflicts.length===0?`ALL FREE`:`${String(s)}/${String(r)} FREE`}),(0,w.jsx)(`div`,{className:DD.slotTime,children:c})]},e.label)}),e.length===0&&(0,w.jsx)(`div`,{className:DD.noSlots,children:`No suggested slots found.`})]}),kD=({d:e})=>(0,w.jsxs)(`div`,{className:q.gridToolbar,children:[(0,w.jsxs)(`div`,{className:DD.toolbarGroup,children:[(0,w.jsx)(g,{size:14,color:`var(--color-primary)`}),(0,w.jsx)(`input`,{type:`date`,className:q.datePickerInput,value:e.selected?e.selected.toISOString().substring(0,10):``,onChange:t=>{t.target.value&&e.pickDate(new Date(t.target.value))}})]}),(0,w.jsxs)(`div`,{className:DD.toolbarGroup,children:[(0,w.jsx)(`span`,{className:DD.toolbarLabel,children:`DURATION`}),(0,w.jsx)(`div`,{className:q.durationSelector,children:[15,30,60,90,120].map(n=>(0,w.jsx)(`button`,{type:`button`,className:t.at(q.durBtn,e.groupDuration===n&&q.durBtnActive),onClick:()=>{e.setGroupDuration(n)},children:n<60?`${String(n)}m`:`${String(n/60)}h`},n))})]}),(0,w.jsxs)(`div`,{className:q.legend,children:[(0,w.jsxs)(`span`,{className:q.legendItem,children:[(0,w.jsx)(`span`,{className:q.dotAvail}),` Free`]}),(0,w.jsxs)(`span`,{className:q.legendItem,children:[(0,w.jsx)(`span`,{className:q.dotBusy}),` Busy`]}),(0,w.jsxs)(`span`,{className:q.legendItem,children:[(0,w.jsx)(`span`,{className:q.dotOoh}),` Out of hours`]})]})]}),AD=({d:e,activeAttendees:n,allBlocks:r,serverBusy:i,isoDate:a,hoverCell:o,setHoverCell:s})=>e.selected===null?(0,w.jsxs)(`div`,{className:q.gridEmpty,children:[(0,w.jsx)(t.ot,{size:28,className:DD.emptyIcon}),(0,w.jsx)(`span`,{children:`Select a date above to display the availability grid.`})]}):(0,w.jsx)(xD,{d:e,activeAttendees:n,allBlocks:r,serverBusy:i,isoDate:a,hoverCell:o,setHoverCell:s}),jD=e=>{let t=n.O().data??[],i=n.m().anchor,a=e.selected===null?null:OE(e.selected,e.today),o=n.t(e.selectedContactIds,a);return{allBlocks:t,anchorTzId:i,isoDate:a,serverBusy:(0,r.useMemo)(()=>{let e=new Map;for(let t of o.data??[])e.set(t.userId,{busy:t.busy,workingHours:t.workingHours});return e},[o.data]),activeAttendees:e.viewer.id===``?[...e.selectedContactIds]:[e.viewer.id,...e.selectedContactIds],curSlot:e.slot}},MD=({d:e})=>{let{allBlocks:n,anchorTzId:i,isoDate:a,serverBusy:o,activeAttendees:s,curSlot:c}=jD(e),[l,u]=(0,r.useState)(null);return(0,w.jsxs)(`div`,{className:q.wizardRow,children:[(0,w.jsx)(ED,{d:e,activeAttendees:s,curSlot:c,allBlocks:n,serverBusy:o,anchorTzId:i,isoDate:a??``}),(0,w.jsxs)(`div`,{className:t.at(q.wizardPanelRight,q.timePanelRight),children:[(0,w.jsx)(kD,{d:e}),(0,w.jsxs)(`div`,{className:q.suggestedStrip,children:[(0,w.jsxs)(`div`,{className:DD.suggestedHeader,children:[(0,w.jsx)($e,{size:12,color:`var(--color-secondary)`}),(0,w.jsx)(`span`,{className:DD.suggestedTitle,children:`SUGGESTED TIMESLOTS`})]}),(0,w.jsx)(OD,{suggestedOptions:e.availableSlots.slice(0,4),slot:e.slot,activeAttendeesCount:s.length,setSlot:e.setSlot,tzId:e.tzId})]}),(0,w.jsx)(AD,{d:e,activeAttendees:s,allBlocks:n,serverBusy:o,isoDate:a??``,hoverCell:l,setHoverCell:u})]})]})},ND=()=>{let[e,t]=(0,r.useState)(`participants`),[n,i]=(0,r.useState)(30),[a,o]=(0,r.useState)(`Online Meeting`),[s,c]=(0,r.useState)(``);return{groupStep:e,groupDuration:n,groupLocation:a,groupDescription:s,setGroupStep:t,setGroupDuration:i,setGroupLocation:o,setGroupDescription:c,resetGroupWizardState:()=>{t(`participants`),i(30),o(`Online Meeting`),c(``)}}},PD=(e,t,n,r)=>{let i=e.s.meetingType===`group`;return{contactId:i?e.s.selectedContactIds[0]??``:e.s.contactId??``,dateLabel:GE(t),slot:n,title:i?e.s.groupTitle||`Group Meeting`:void 0,isGroup:i,attendeeIds:i?e.s.selectedContactIds:void 0,location:i?e.gw.groupLocation:void 0,description:i?e.gw.groupDescription:void 0,isoDate:OE(t,e.today),startUtc:r?.startUtc,endUtc:r?.endUtc}},FD=e=>e.s.pickedSlot??(e.s.slot===null?null:e.availableSlots.find(t=>t.label===e.s.slot)??null),ID=e=>()=>{if(e.s.slot===null||e.s.selected===null)return;let r=FD(e);e.book.mutate(PD(e,e.s.selected,e.s.slot,r),{onSuccess:()=>{e.s.setBookedSlot(r),e.s.setSlot(null),e.s.setPickedSlot(null),e.s.setConfirmOpen(!1)},onError:r=>{t.l.error(r.message),r instanceof n.p&&(e.s.setSlot(null),e.s.setPickedSlot(null),e.s.setConfirmOpen(!1),e.s.meetingType===`group`&&e.gw.setGroupStep(`time`))}})},LD=e=>({setMeetingType:t=>{e.s.setMeetingType(t),t===`group`&&e.resetGroupWizard()},setContactId:t=>{e.s.setContactId(t),e.s.setSlot(null),e.s.setPickedSlot(null)},setSelectedContactIds:t=>{e.s.setSelectedContactIds(t),e.s.setSlot(null),e.s.setPickedSlot(null)},setGroupTitle:e.s.setGroupTitle,setSearch:e.s.setSearch,setTzId:e.setTzId,setSlot:t=>{e.s.setSlot(t),e.s.setPickedSlot(null)},pickSlot:t=>{e.s.setSlot(t.label),e.s.setPickedSlot(t)},setConfirmOpen:e.s.setConfirmOpen,shift:t=>{e.s.setView(e=>({year:e.year+Math.floor((e.month+t)/12),month:((e.month+t)%12+12)%12}))},pickDate:t=>{e.s.setSelected(t),e.s.setSlot(null),e.s.setPickedSlot(null)},setGroupStep:e.gw.setGroupStep,setGroupDuration:e.gw.setGroupDuration,setGroupLocation:e.gw.setGroupLocation,setGroupDescription:e.gw.setGroupDescription,resetGroupWizard:e.resetGroupWizard,reset:e.reset,confirm:ID(e)}),RD=e=>{let t=LD(e);return{today:e.today,viewer:e.viewer,meetingType:e.s.meetingType,contactId:e.s.contactId,selectedContactIds:e.s.selectedContactIds,groupTitle:e.s.groupTitle,search:e.s.search,tzId:e.tzId,view:e.s.view,selected:e.s.selected,slot:e.s.slot,selectedSlot:FD(e),bookedSlot:e.s.bookedSlot,confirmOpen:e.s.confirmOpen,list:e.list,searchResults:e.searchResults,contact:e.contact,dateLabel:e.s.selected===null?``:GE(e.s.selected),zone:n.f(e.tzId),canBook:(e.s.meetingType===`1:1`?e.s.contactId!==null:e.s.selectedContactIds.length>0)&&e.s.selected!==null&&e.s.slot!==null&&!e.book.isPending,pending:e.book.isPending,success:e.book.isSuccess,availableSlots:e.availableSlots,hostDayWindow:e.hostDayWindow,groupStep:e.gw.groupStep,groupDuration:e.gw.groupDuration,groupLocation:e.gw.groupLocation,groupDescription:e.gw.groupDescription,...t}},zD=(e,t)=>{let[n,i]=(0,r.useState)(e);return(0,r.useEffect)(()=>{let n=setTimeout(()=>{i(e)},t);return()=>{clearTimeout(n)}},[e,t]),n},BD=e=>`${String(e.getFullYear())}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,VD=e=>{let t=[`mon`,`tue`,`wed`,`thu`,`fri`,`sat`,`sun`],n={};for(let r of t)n[r]={active:e[r].active,slots:e[r].active?[{id:r+`-default`,from:e[r].from,to:e[r].to}]:[]};return n},HD=(e,t)=>e.selected===null?null:e.meetingType===`group`?e.selectedContactIds.length===0?null:{isoDate:BD(e.selected),timeZone:t,isGroup:!0,contactId:void 0,attendeeIds:[...e.selectedContactIds].sort()}:e.contactId===null?null:{isoDate:BD(e.selected),timeZone:t,isGroup:!1,contactId:e.contactId,attendeeIds:void 0},UD=e=>{let[t,n]=(0,r.useState)(`1:1`),[i,a]=(0,r.useState)(null),[o,s]=(0,r.useState)([]),[c,l]=(0,r.useState)(``),[u,d]=(0,r.useState)(``),[f,p]=(0,r.useState)(``),[m,h]=(0,r.useState)({year:e.getFullYear(),month:e.getMonth()}),[g,_]=(0,r.useState)(null),[v,y]=(0,r.useState)(null),[b,x]=(0,r.useState)(null),[S,ee]=(0,r.useState)(null),[te,ne]=(0,r.useState)(!1);return{meetingType:t,setMeetingType:n,contactId:i,setContactId:a,selectedContactIds:o,setSelectedContactIds:s,groupTitle:c,setGroupTitle:l,search:u,setSearch:d,tzId:f,setTzIdState:p,view:m,setView:h,selected:g,setSelected:_,slot:v,setSlot:y,pickedSlot:b,setPickedSlot:x,bookedSlot:S,setBookedSlot:ee,confirmOpen:te,setConfirmOpen:ne}},WD=()=>{let e=n.r(),t=wE(),r=new Date,i=ND(),a=UD(r),o=zD(a.search,250),s=n.i(),c=n.i(o),l=n.T(),u=n.x(),d=Vs(),f=s.data??[],p=f,m=c.data??[],h=f.find(e=>e.id===a.contactId)??null,g=l.data??{meetingDuration:i.groupDuration,bufferMinutes:5,workStart:`09:00`,workEnd:`17:00`,timezone:`Europe/London`,branchId:`uk`,availabilityTimezone:`Europe/London`},_=n.h.from({pick:a.tzId,personal:g.timezone,anchor:g.availabilityTimezone}).display,v=d.data?VD($a(d.data,g.branchId)):null,y=n.Nt(u.data??null,v),b=a.selected===null?null:n.Mt(y,a.selected);return RD({today:r,viewer:t,s:a,gw:i,book:e,list:p,searchResults:m,contact:h,availableSlots:n.n(HD(a,_)).data??[],hostDayWindow:b,tzId:_,setTzId:e=>{a.setTzIdState(e)},resetGroupWizard:()=>{i.resetGroupWizardState(),a.setSelectedContactIds([]),a.setGroupTitle(``),a.setSlot(null),a.setPickedSlot(null),a.setSelected(null)},reset:()=>{e.reset(),a.setContactId(null),a.setSelectedContactIds([]),a.setGroupTitle(``),a.setSlot(null),a.setPickedSlot(null),a.setBookedSlot(null),a.setSelected(null),i.resetGroupWizardState()}})},GD={wizardContentClip:`_wizardContentClip_14i7n_3`,wizardStep:`_wizardStep_14i7n_8`},KD=({currentStep:e})=>{let n=[{id:`participants`,label:`Participants`},{id:`time`,label:`Find a time`},{id:`details`,label:`Details`},{id:`confirm`,label:`Confirm`}],i=(e=>n.findIndex(t=>t.id===e))(e);return(0,w.jsx)(`div`,{className:q.stepper,children:n.map((e,n)=>{let a=n<i,o=n===i;return(0,w.jsxs)(r.Fragment,{children:[n>0&&(0,w.jsx)(`div`,{className:t.at(q.stepLine,n<=i&&q.stepLineActive)}),(0,w.jsxs)(`div`,{className:q.stepItem,children:[(0,w.jsx)(`div`,{className:t.at(q.stepCircle,o&&q.stepCircleActive,a&&q.stepCircleDone),children:a?(0,w.jsx)(b,{size:12,strokeWidth:3}):n+1}),(0,w.jsx)(`span`,{className:t.at(q.stepText,o&&q.stepTextActive),children:e.label})]})]},e.id)})})},qD=e=>e===`participants`?`time`:e===`time`?`details`:e===`details`?`confirm`:null,JD=e=>e===`time`?`participants`:e===`details`?`time`:e===`confirm`?`details`:null,YD=({step:e,selectedContactIds:t,slot:n,title:r,location:i,pending:a})=>e===`participants`?t.length===0:e===`time`?n===null:e===`details`?r.trim()===``||i.trim()===``:a,XD=e=>e===`participants`?`Next: Find a time`:e===`time`?`Next: Details`:e===`details`?`Next: Confirm`:`Confirm Booking`,ZD=({step:e,slot:n,pending:r,disabled:i,confirmDisabled:a,nextLabel:o,onBack:s,onNext:c})=>{let l=(0,w.jsxs)(`button`,{type:`button`,className:q.wizardNextBtn,disabled:i||r||a,onClick:c,children:[r?`Booking...`:o,!r&&(0,w.jsx)(t.ct,{size:16})]});return(0,w.jsxs)(`div`,{className:q.wizardFooter,children:[(0,w.jsxs)(`button`,{type:`button`,className:q.wizardBackBtn,onClick:s,disabled:r,children:[(0,w.jsx)(S,{size:16}),` Back`]}),e===`time`&&n&&(0,w.jsxs)(`div`,{className:q.selectedStatusAlert,children:[(0,w.jsx)(te,{size:14,color:`var(--color-primary)`}),(0,w.jsxs)(`span`,{children:[`Selected: `,n]})]}),a?(0,w.jsx)(t.p,{label:`You don't have permission to book meetings`,side:`top`,children:l}):l]})},QD=({d:e})=>{let n=()=>{let t=JD(e.groupStep);t?e.setGroupStep(t):e.setMeetingType(`1:1`)},r=()=>{let t=qD(e.groupStep);t?e.setGroupStep(t):e.confirm()},{hasPermission:i}=ii(),a=i(T.meetingsBook),o=YD({step:e.groupStep,selectedContactIds:e.selectedContactIds,slot:e.slot,title:e.groupTitle,location:e.groupLocation,pending:e.pending}),s=XD(e.groupStep),c=e.groupStep===`confirm`&&!a;return(0,w.jsxs)(`div`,{className:q.wizardContainer,children:[(0,w.jsx)(KD,{currentStep:e.groupStep}),(0,w.jsx)(`div`,{className:t.at(q.wizardContent,GD.wizardContentClip),children:(0,w.jsx)(t.T,{mode:`wait`,children:(0,w.jsxs)(t.C.div,{initial:{opacity:0,x:15},animate:{opacity:1,x:0},exit:{opacity:0,x:-15},transition:{duration:.18,ease:`easeInOut`},className:GD.wizardStep,children:[e.groupStep===`participants`&&(0,w.jsx)(pD,{d:e}),e.groupStep===`time`&&(0,w.jsx)(MD,{d:e}),e.groupStep===`details`&&(0,w.jsx)(lD,{d:e}),e.groupStep===`confirm`&&(0,w.jsx)(sD,{d:e})]},e.groupStep)})}),(0,w.jsx)(ZD,{step:e.groupStep,slot:e.slot,pending:e.pending,disabled:o,confirmDisabled:c,nextLabel:s,onBack:n,onNext:r})]})},$D={slotsDate:`_slotsDate_1rdif_3`,slotsEmpty:`_slotsEmpty_1rdif_10`,slotsEmptyIcon:`_slotsEmptyIcon_1rdif_24`,slotsEmptyTitle:`_slotsEmptyTitle_1rdif_36`,slotList:`_slotList_1rdif_42`,slot:`_slot_1rdif_3`,slotActive:`_slotActive_1rdif_86`,slotWithConflicts:`_slotWithConflicts_1rdif_102`,slotMain:`_slotMain_1rdif_113`,slotConflictList:`_slotConflictList_1rdif_120`,conflictLabel:`_conflictLabel_1rdif_131`,conflictAvatar:`_conflictAvatar_1rdif_136`,noSlots:`_noSlots_1rdif_162`},eO={hidden:{},visible:{transition:{staggerChildren:.03}}},tO=`You're not available at this time — you can still book.`,nO=({option:e,isSelected:n,onSlot:r,contactsList:i,viewer:a,tzId:o})=>{let s=AE(e.startUtc,e.endUtc,o),c=e.conflicts.length>0,l=e.conflicts.includes(a.id);return(0,w.jsxs)(t.C.button,{type:`button`,variants:t.x,whileTap:{scale:.97},className:t.at($D.slot,n&&$D.slotActive,c&&!n&&$D.slotWithConflicts),title:l?tO:void 0,onClick:()=>{r(e.label)},children:[(0,w.jsxs)(`div`,{className:$D.slotMain,children:[(0,w.jsx)(`span`,{children:s}),n&&(0,w.jsx)(b,{size:14,strokeWidth:3})]}),c&&(0,w.jsxs)(`div`,{className:$D.slotConflictList,children:[(0,w.jsx)(`span`,{className:$D.conflictLabel,children:l?`You're busy —`:`Conflict:`}),e.conflicts.map(e=>{let t=e===a.id,n=i.find(t=>t.id===e);return(0,w.jsx)(`span`,{className:$D.conflictAvatar,title:t?tO:`${n?.name??``} is busy / unavailable`,children:t?a.initials||`YOU`:n?.initials??``},e)})]})]})},rO=({dateLabel:e,slot:n,offset:r,onSlot:i,slots:a,contactsList:o,viewer:s,tzId:c})=>(0,w.jsxs)(`div`,{className:JE.col,children:[(0,w.jsxs)(`div`,{className:JE.colTitle,children:[(0,w.jsx)(`span`,{className:JE.stepDot,children:`3`}),` Available times`]}),e===``?(0,w.jsxs)(`div`,{className:$D.slotsEmpty,children:[(0,w.jsx)(`span`,{className:$D.slotsEmptyIcon,children:(0,w.jsx)(t.ot,{size:28})}),(0,w.jsx)(`span`,{className:$D.slotsEmptyTitle,children:`Pick a date`}),(0,w.jsx)(`span`,{children:`Choose a day to see open times.`})]}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`div`,{className:$D.slotsDate,children:[e,` · times in `,r]}),(0,w.jsxs)(t.C.div,{className:$D.slotList,variants:eO,initial:`hidden`,animate:`visible`,children:[a.map(e=>(0,w.jsx)(nO,{option:e,isSelected:n===e.label,onSlot:i,contactsList:o,viewer:s,tzId:c},e.label)),a.length===0&&(0,w.jsx)(`div`,{className:$D.noSlots,children:`No available timeslots found for this day.`})]})]})]}),iO={tzWrap:`_tzWrap_n6w9w_3`,tzBtn:`_tzBtn_n6w9w_8`,tzBtnOffset:`_tzBtnOffset_n6w9w_30`,tzChevron:`_tzChevron_n6w9w_36`,tzBackdrop:`_tzBackdrop_n6w9w_40`,tzPop:`_tzPop_n6w9w_49`,tzSearch:`_tzSearch_n6w9w_62`,tzSearchInput:`_tzSearchInput_n6w9w_74`,tzList:`_tzList_n6w9w_84`,tzRow:`_tzRow_n6w9w_119`,tzRowActive:`_tzRowActive_n6w9w_138`,tzCity:`_tzCity_n6w9w_142`,tzRowOffset:`_tzRowOffset_n6w9w_151`,tzCheck:`_tzCheck_n6w9w_157`,tzEmpty:`_tzEmpty_n6w9w_161`},aO=({search:e,list:n,value:r,onSearch:i,onPick:a})=>(0,w.jsxs)(t.C.div,{className:iO.tzPop,variants:t.S,initial:`hidden`,animate:`visible`,exit:`exit`,children:[(0,w.jsxs)(`div`,{className:iO.tzSearch,children:[(0,w.jsx)(Ge,{size:13}),(0,w.jsx)(`input`,{className:iO.tzSearchInput,placeholder:`Search timezones…`,value:e,onChange:e=>{i(e.target.value)}})]}),(0,w.jsxs)(`div`,{className:iO.tzList,children:[n.map(e=>(0,w.jsxs)(`button`,{type:`button`,className:t.at(iO.tzRow,e.id===r&&iO.tzRowActive),onClick:()=>{a(e.id)},children:[(0,w.jsx)(`span`,{className:iO.tzCity,children:e.city}),(0,w.jsx)(`span`,{className:iO.tzRowOffset,children:e.offset}),e.id===r&&(0,w.jsx)(b,{size:13,className:iO.tzCheck})]},e.id)),n.length===0&&(0,w.jsx)(`p`,{className:iO.tzEmpty,children:`No timezones match.`})]})]}),oO=({value:e,onChange:i})=>{let[a,o]=(0,r.useState)(!1),[s,c]=(0,r.useState)(``),l=n.f(e),u=s.trim().toLowerCase(),d=(n.d.some(e=>e.id===l.id)?n.d:[l,...n.d]).filter(e=>u===``||e.city.toLowerCase().includes(u)||e.offset.toLowerCase().includes(u)||e.id.toLowerCase().includes(u));return(0,w.jsxs)(`div`,{className:iO.tzWrap,children:[(0,w.jsxs)(`button`,{type:`button`,className:iO.tzBtn,"aria-expanded":a,"aria-label":`Change timezone`,onClick:()=>{o(e=>!e)},children:[(0,w.jsx)(fe,{size:13}),(0,w.jsx)(`span`,{className:iO.tzBtnCity,children:l.city}),(0,w.jsx)(`span`,{className:iO.tzBtnOffset,children:l.offset}),(0,w.jsx)(x,{size:13,className:iO.tzChevron})]}),(0,w.jsx)(t.T,{children:a&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`button`,{type:`button`,className:iO.tzBackdrop,"aria-label":`Close timezone picker`,onClick:()=>{o(!1)}}),(0,w.jsx)(aO,{search:s,list:d,value:e,onSearch:c,onPick:e=>{i(e),c(``),o(!1)}})]})})]})},sO={badgeWrap:`_badgeWrap_swq6w_3`,badgeCircle:`_badgeCircle_swq6w_10`,guestRow:`_guestRow_swq6w_21`,eventVal:`_eventVal_swq6w_28`,iconRow:`_iconRow_swq6w_33`,iconRowMuted:`_iconRowMuted_swq6w_39`,iconRowTop:`_iconRowTop_swq6w_47`,agendaVal:`_agendaVal_swq6w_53`,iconTop:`_iconTop_swq6w_58`},cO=()=>(0,w.jsxs)(`div`,{className:q.successHeader,children:[(0,w.jsx)(`div`,{className:sO.badgeWrap,children:(0,w.jsx)(t.C.div,{initial:{scale:0},animate:{scale:1},transition:{type:`spring`,stiffness:260,damping:20},className:sO.badgeCircle,children:(0,w.jsx)(t.C.div,{initial:{scale:0,rotate:-45},animate:{scale:1,rotate:0},transition:{delay:.2,type:`spring`,stiffness:200,damping:15},children:(0,w.jsx)(b,{size:32,color:`var(--color-success)`,strokeWidth:3})})})}),(0,w.jsx)(`h2`,{className:q.successTitle,children:`Booking Confirmed!`}),(0,w.jsx)(`p`,{className:q.successSub,children:`A calendar invite has been sent to all participants.`})]}),lO=({d:e})=>{let n=e.meetingType===`group`;return(0,w.jsxs)(`div`,{className:q.successRow,children:[(0,w.jsx)(`span`,{className:q.successLabel,children:n?`Invited Guests`:`Attendee`}),(0,w.jsx)(`div`,{className:t.at(q.successVal,sO.guestRow),children:n?e.selectedContactIds.map(t=>{let n=e.list.find(e=>e.id===t);return n===void 0?null:(0,w.jsxs)(`span`,{className:q.confirmAttendeeBadge,children:[(0,w.jsx)(`span`,{className:q.avatarTiny,style:{backgroundColor:n.color},children:n.initials}),n.name]},n.id)}):e.contact?(0,w.jsxs)(`span`,{className:q.confirmAttendeeBadge,children:[(0,w.jsx)(`span`,{className:q.avatarTiny,style:{backgroundColor:e.contact.color},children:e.contact.initials}),e.contact.name]}):`None`})]})},uO=({d:e})=>{let n=e.meetingType===`group`,r=n?e.groupTitle||`Group Meeting`:`1:1 with ${e.contact?.name??`Attendee`}`,i=n?e.groupLocation:`Online — link generated automatically`,a=n?e.groupDescription:``,o=AE(e.bookedSlot?.startUtc,e.bookedSlot?.endUtc,e.tzId);return(0,w.jsxs)(t.C.div,{className:q.successCard,initial:{opacity:0,y:15},animate:{opacity:1,y:0},transition:{delay:.3,duration:.25,ease:`easeOut`},children:[(0,w.jsxs)(`div`,{className:q.successRow,children:[(0,w.jsx)(`span`,{className:q.successLabel,children:`Event`}),(0,w.jsx)(`span`,{className:t.at(q.successVal,sO.eventVal),children:r})]}),(0,w.jsxs)(`div`,{className:q.successRow,children:[(0,w.jsx)(`span`,{className:q.successLabel,children:`Date & Time`}),(0,w.jsxs)(`span`,{className:q.successVal,children:[(0,w.jsxs)(`span`,{className:sO.iconRow,children:[(0,w.jsx)(g,{size:14,color:`var(--color-primary)`}),e.dateLabel]}),(0,w.jsxs)(`span`,{className:sO.iconRowMuted,children:[(0,w.jsx)(t.ot,{size:14}),o,` (`,e.zone.offset,`)`]})]})]}),(0,w.jsxs)(`div`,{className:q.successRow,children:[(0,w.jsx)(`span`,{className:q.successLabel,children:`Location`}),(0,w.jsx)(`span`,{className:q.successVal,children:(0,w.jsxs)(`span`,{className:sO.iconRow,children:[(0,w.jsx)(xe,{size:14,color:`var(--color-primary)`}),i]})})]}),(0,w.jsx)(lO,{d:e}),n&&a.trim()!==``&&(0,w.jsxs)(`div`,{className:q.successRow,children:[(0,w.jsx)(`span`,{className:q.successLabel,children:`Agenda`}),(0,w.jsx)(`span`,{className:t.at(q.successVal,sO.agendaVal),children:(0,w.jsxs)(`span`,{className:sO.iconRowTop,children:[(0,w.jsx)(rt,{size:14,className:sO.iconTop}),a]})})]})]})},dO=({d:e,onViewScheduled:n})=>(0,w.jsxs)(`div`,{className:q.successActions,children:[(0,w.jsx)(`button`,{type:`button`,className:t.at(q.successBtn,q.successBtnPrimary),onClick:()=>{n!==void 0&&n()},children:`View Scheduled Meetings`}),(0,w.jsx)(`button`,{type:`button`,className:t.at(q.successBtn,q.successBtnSecondary),onClick:()=>{e.reset()},children:`Book Another Meeting`})]}),fO=({d:e,onViewScheduled:t})=>(0,w.jsxs)(`div`,{className:q.successContainer,children:[(0,w.jsx)(cO,{}),(0,w.jsx)(uO,{d:e}),(0,w.jsx)(dO,{d:e,onViewScheduled:t})]}),pO=({d:e})=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`div`,{className:K.bookGrid,children:[(0,w.jsx)(aD,{contacts:e.searchResults,selectedId:e.contactId,search:e.search,onSearch:t=>{e.setSearch(t)},onSelect:t=>{e.setContactId(t)},mode:e.meetingType,selectedIds:e.selectedContactIds,onSelectGroup:t=>{e.setSelectedContactIds(t)},groupTitle:e.groupTitle,onGroupTitleChange:t=>{e.setGroupTitle(t)}}),(0,w.jsx)(XE,{view:e.view,today:e.today,selected:e.selected,onShift:t=>{e.shift(t)},onPick:t=>{e.pickDate(t)}}),(0,w.jsx)(rO,{dateLabel:e.dateLabel,slot:e.slot,offset:e.zone.offset,onSlot:t=>{e.setSlot(t)},slots:e.availableSlots,contactsList:e.list,viewer:e.viewer,tzId:e.tzId})]}),(0,w.jsx)(HE,{contact:e.contact,dateLabel:e.dateLabel,slot:e.slot,canBook:e.canBook,success:e.success,meetingType:e.meetingType,selectedContactIds:e.selectedContactIds,groupTitle:e.groupTitle,onBook:()=>{e.setConfirmOpen(!0)},selectedSlot:e.selectedSlot,tzId:e.tzId}),(0,w.jsx)(tD,{open:e.confirmOpen,contact:e.contact,dateLabel:e.dateLabel,slot:e.slot,zone:e.zone,pending:e.pending,onConfirm:()=>{e.confirm()},onClose:()=>{e.setConfirmOpen(!1)},selectedSlot:e.selectedSlot,tzId:e.tzId})]}),mO=({onViewScheduled:e})=>{let n=WD();return n.success?(0,w.jsx)(fO,{d:n,onViewScheduled:e}):(0,w.jsxs)(`div`,{className:K.bookCard,children:[(0,w.jsxs)(`div`,{className:K.bookTopBar,children:[(0,w.jsxs)(`div`,{className:K.typeSelector,children:[(0,w.jsx)(`button`,{type:`button`,className:t.at(K.typeBtn,n.meetingType===`1:1`&&K.typeBtnActive),onClick:()=>{n.setMeetingType(`1:1`)},children:`1:1 Meeting`}),(0,w.jsx)(`button`,{type:`button`,className:t.at(K.typeBtn,n.meetingType===`group`&&K.typeBtnActive),onClick:()=>{n.setMeetingType(`group`)},children:`Group Meeting (1:Many)`})]}),(0,w.jsx)(oO,{value:n.tzId,onChange:e=>{n.setTzId(e)}})]}),n.meetingType===`group`?(0,w.jsx)(QD,{d:n}):(0,w.jsx)(pO,{d:n})]})},J={schedWrap:`_schedWrap_d5mtd_4`,bucketTabs:`_bucketTabs_d5mtd_11`,bucketTab:`_bucketTab_d5mtd_11`,bucketTabActive:`_bucketTabActive_d5mtd_38`,bucketBg:`_bucketBg_d5mtd_45`,bucketLabel:`_bucketLabel_d5mtd_53`,bucketCount:`_bucketCount_d5mtd_58`,meetingList:`_meetingList_d5mtd_76`,meeting:`_meeting_d5mtd_76`,datePlate:`_datePlate_d5mtd_101`,datePlatePassed:`_datePlatePassed_d5mtd_114`,datePlateCanceled:`_datePlateCanceled_d5mtd_118`,datePlateMonth:`_datePlateMonth_d5mtd_122`,datePlateDay:`_datePlateDay_d5mtd_129`,meetingAvatar:`_meetingAvatar_d5mtd_141`,meetingBody:`_meetingBody_d5mtd_155`,meetingTitle:`_meetingTitle_d5mtd_163`,meetingMeta:`_meetingMeta_d5mtd_174`,meetingMetaItem:`_meetingMetaItem_d5mtd_183`,meetingActions:`_meetingActions_d5mtd_189`,acceptBtn:`_acceptBtn_d5mtd_196`,joinBtn:`_joinBtn_d5mtd_197`,acceptBtnDisabled:`_acceptBtnDisabled_d5mtd_214`,joinBtnDisabled:`_joinBtnDisabled_d5mtd_216`,declineBtn:`_declineBtn_d5mtd_224`,declineBtnDisabled:`_declineBtnDisabled_d5mtd_235`,cancelBtn:`_cancelBtn_d5mtd_241`,cancelBtnDisabled:`_cancelBtnDisabled_d5mtd_252`,statusPill:`_statusPill_d5mtd_260`,statusAccepted:`_statusAccepted_d5mtd_270`,statusPending:`_statusPending_d5mtd_275`,statusRejected:`_statusRejected_d5mtd_280`,statusCanceled:`_statusCanceled_d5mtd_281`,liveNow:`_liveNow_d5mtd_288`,liveNowDot:`_liveNowDot_d5mtd_293`,"live-now-breathe":`_live-now-breathe_d5mtd_1`,statusCompleted:`_statusCompleted_d5mtd_319`,empty:`_empty_d5mtd_324`,emptyIconWrap:`_emptyIconWrap_d5mtd_334`,emptyTitle:`_emptyTitle_d5mtd_346`,emptyText:`_emptyText_d5mtd_353`,participantsChip:`_participantsChip_d5mtd_389`,participantsPanel:`_participantsPanel_d5mtd_409`,participantRow:`_participantRow_d5mtd_416`,participantAvatar:`_participantAvatar_d5mtd_428`,participantName:`_participantName_d5mtd_442`,participantOrganizer:`_participantOrganizer_d5mtd_453`,participantStatus:`_participantStatus_d5mtd_458`,participantAccepted:`_participantAccepted_d5mtd_464`,participantRejected:`_participantRejected_d5mtd_468`,participantPending:`_participantPending_d5mtd_472`},hO=e=>e===`accepted`?`Accepted`:e===`rejected`?`Declined`:`Pending`,gO=e=>e===`accepted`?J.participantAccepted??!1:e===`rejected`?J.participantRejected??!1:J.participantPending??!1,_O=({participants:e})=>e.length===0?null:(0,w.jsx)(t.h,{ariaLabel:`Meeting participants`,contentClassName:J.participantsPanel,trigger:(0,w.jsxs)(`button`,{type:`button`,className:J.participantsChip,"aria-label":`${String(e.length)} participants — show who is in this meeting`,children:[(0,w.jsx)(ct,{size:11}),` `,e.length]}),children:e.map(e=>(0,w.jsxs)(`div`,{className:J.participantRow,children:[(0,w.jsx)(`span`,{className:J.participantAvatar,style:t.it({"--avatar-color":e.color}),children:e.initials}),(0,w.jsxs)(`span`,{className:J.participantName,children:[e.name,e.isOrganizer&&(0,w.jsx)(`span`,{className:J.participantOrganizer,children:` · organizer`})]}),(0,w.jsx)(`span`,{className:t.at(J.participantStatus,gO(e.status)),children:hO(e.status)})]},e.userId))}),vO=e=>e===`accepted`?`Accepted`:e===`rejected`?`Declined`:`Pending`,yO=e=>e===`accepted`?J.statusAccepted??!1:e===`rejected`?J.statusRejected??!1:J.statusPending??!1,bO=(e,t)=>e?`Leave the active call before canceling`:t?`Cancel meeting`:`You don't have permission to cancel meetings`,xO=e=>{if(!e.isOrganizer||e.participants.length===0)return{label:vO(e.myStatus),status:e.myStatus};let t=e.participants.filter(e=>!e.isOrganizer);if(t.length===1){let e=t[0];if(e!==void 0)return e.status===`pending`?{label:`Awaiting reply`,status:`pending`}:{label:vO(e.status),status:e.status}}let n=t.filter(e=>e.status===`accepted`).length;return{label:`${String(n)}/${String(t.length)} accepted`,status:n>0?`accepted`:`pending`}},SO=({onRespond:e,canRespond:n})=>{let r=(0,w.jsxs)(`button`,{type:`button`,className:t.at(J.acceptBtn,!n&&J.acceptBtnDisabled),disabled:!n,onClick:()=>{e(!0)},children:[(0,w.jsx)(b,{size:12,strokeWidth:3}),` Accept`]}),i=(0,w.jsx)(`button`,{type:`button`,className:t.at(J.declineBtn,!n&&J.declineBtnDisabled),disabled:!n,onClick:()=>{e(!1)},children:`Decline`});return(0,w.jsxs)(`div`,{className:J.meetingActions,children:[n?r:(0,w.jsx)(t.p,{label:`You don't have permission to respond to meetings`,side:`top`,children:r}),n?i:(0,w.jsx)(t.p,{label:`You don't have permission to respond to meetings`,side:`top`,children:i})]})},CO=({meeting:e,onCancel:n,onJoin:r,canJoin:i,joinHint:a,canCancel:o})=>{let s=t.t(e=>e.activeMeeting),c=t.t(e=>e.isJoined)&&s!==null&&s.meetingId===e.id,l=e.myStatus===`accepted`,u=!i||c,d=c?`You are currently in this meeting`:a,f=bO(c,o),p=xO(e);return(0,w.jsxs)(`div`,{className:J.meetingActions,children:[(0,w.jsx)(_O,{participants:e.participants}),(0,w.jsx)(`span`,{className:t.at(J.statusPill,yO(p.status)),children:p.label}),l&&(0,w.jsx)(t.p,{label:d,side:`top`,children:(0,w.jsxs)(`button`,{type:`button`,className:t.at(J.joinBtn,u&&J.joinBtnDisabled),disabled:u,"aria-label":d,onClick:r,children:[(0,w.jsx)(lt,{size:13}),` `,c?`Joined`:`Join`]})}),e.isOrganizer&&(0,w.jsx)(t.p,{label:f,side:`top`,children:(0,w.jsx)(`button`,{type:`button`,className:t.at(J.cancelBtn,(c||!o)&&J.cancelBtnDisabled),disabled:c||!o,"aria-label":f,onClick:n,children:`Cancel`})})]})},wO=e=>{let{meeting:n,onRespond:r,canRespond:i}=e;return n.awaitingResponse?(0,w.jsx)(SO,{onRespond:r,canRespond:i}):n.bucket===`canceled`?(0,w.jsx)(`span`,{className:t.at(J.statusPill,J.statusCanceled),children:`Canceled`}):n.bucket===`passed`?(0,w.jsx)(`span`,{className:t.at(J.statusPill,J.statusCompleted),children:`Completed`}):(0,w.jsx)(CO,{...e})},TO=e=>e.isGroup?e.title===``||/^group (meeting|event)$/i.test(e.title.trim())?`Group Meeting`:`${e.title} · Group Meeting`:/^1:1\b/i.test(e.title.trim())||e.title===``?`1:1 with ${e.withName}`:e.withName===``?e.title:`${e.title} · ${e.withName}`,EO=1800*1e3,DO=e=>{let t=Math.max(1,Math.ceil(e/6e4)),n=Math.floor(t/1440);if(n>=1){let e=Math.floor((t-n*60*24)/60);return e>0?`in ${String(n)}d ${String(e)}h`:`in ${String(n)}d`}let r=Math.floor(t/60),i=t%60;return r>=1?i>0?`in ${String(r)}h ${String(i)}m`:`in ${String(r)}h`:`in ${String(i)}m`},OO=(e,t)=>({month:e.toLocaleDateString(`en-US`,{month:`short`,timeZone:t}).toUpperCase(),day:e.toLocaleDateString(`en-US`,{day:`numeric`,timeZone:t})}),kO=(e,t)=>{let[n,i]=(0,r.useState)(()=>Date.now());(0,r.useEffect)(()=>{let e=setInterval(()=>{i(Date.now())},3e4);return()=>{clearInterval(e)}},[]);let a=n>=e-EO&&n<=t;return{canJoin:a,joinHint:a?`Join the meeting`:n>t?`This meeting has ended`:`Join opens 30 min before — starts ${DO(e-n)}`,isHappeningNow:n>=e&&n<=t}},AO=({meeting:e,showLiveBadge:n,displayStart:r,displayEnd:i,tzSuffix:a})=>(0,w.jsxs)(`div`,{className:J.meetingBody,children:[(0,w.jsxs)(`span`,{className:J.meetingTitle,children:[TO(e),n&&(0,w.jsxs)(`span`,{className:t.at(J.statusPill,J.liveNow),children:[(0,w.jsx)(`span`,{className:J.liveNowDot,"aria-hidden":`true`}),`Happening now`]})]}),(0,w.jsxs)(`div`,{className:J.meetingMeta,children:[(0,w.jsxs)(`span`,{className:J.meetingMetaItem,children:[(0,w.jsx)(t.ot,{size:11}),` `,r,`–`,i,a]}),(0,w.jsxs)(`span`,{className:J.meetingMetaItem,children:[(0,w.jsx)(xe,{size:11}),` `,e.location]})]})]}),jO=e=>{let{meeting:i}=e,a=n.m(),{hasPermission:o}=ii(),s=o(T.meetingsRespond),c=o(T.meetingsCancel),l=new Date(i.startUtc),u=new Date(i.endUtc),d=a.formatTime(i.startUtc),f=a.formatTime(i.endUtc),p=OO(l,a.display),m=` (${n.f(a.display).offset})`,{canJoin:h,joinHint:g,isHappeningNow:_}=kO(l.getTime(),u.getTime()),v=_&&i.bucket===`upcoming`,y=(0,r.useRef)(null),b=(0,r.useRef)(null);(0,r.useEffect)(()=>{b.current=document.getElementById(`app-scroll-container`)},[]);let{scrollYProgress:x}=un({target:y,container:b,offset:[`start end`,`end start`]}),S=mn(x,[0,1],[-8,8]);return(0,w.jsxs)(t.C.article,{ref:y,style:{y:S},className:J.meeting,variants:t.x,whileHover:{y:-2},transition:{type:`spring`,stiffness:400,damping:30},children:[(0,w.jsxs)(`div`,{className:t.at(J.datePlate,i.bucket===`passed`&&J.datePlatePassed,i.bucket===`canceled`&&J.datePlateCanceled),children:[(0,w.jsx)(`span`,{className:J.datePlateMonth,children:p.month}),(0,w.jsx)(`span`,{className:J.datePlateDay,children:p.day})]}),(0,w.jsx)(`span`,{className:J.meetingAvatar,style:t.it({"--avatar-color":i.withColor}),children:i.withInitials}),(0,w.jsx)(AO,{meeting:i,showLiveBadge:v,displayStart:d,displayEnd:f,tzSuffix:m}),(0,w.jsx)(wO,{...e,canJoin:h,joinHint:g,canRespond:s,canCancel:c})]})},MO={list:`_list_1vv5w_1`,meeting:`_meeting_1vv5w_7`,datePlate:`_datePlate_1vv5w_17`,pulse:`_pulse_1vv5w_1`,avatar:`_avatar_1vv5w_26`,body:`_body_1vv5w_35`,title:`_title_1vv5w_43`,meta:`_meta_1vv5w_51`,actions:`_actions_1vv5w_59`,btn:`_btn_1vv5w_66`},NO=()=>(0,w.jsx)(`div`,{className:MO.list,children:Array.from({length:3}).map((e,t)=>(0,w.jsxs)(`div`,{className:MO.meeting,children:[(0,w.jsx)(`div`,{className:MO.datePlate}),(0,w.jsx)(`div`,{className:MO.avatar}),(0,w.jsxs)(`div`,{className:MO.body,children:[(0,w.jsx)(`div`,{className:MO.title}),(0,w.jsx)(`div`,{className:MO.meta})]}),(0,w.jsxs)(`div`,{className:MO.actions,children:[(0,w.jsx)(`div`,{className:MO.btn}),(0,w.jsx)(`div`,{className:MO.btn})]})]},`skel-${String(t)}`))}),PO=[{id:`upcoming`,label:`Upcoming`},{id:`passed`,label:`Past`},{id:`canceled`,label:`Canceled`}],FO={type:`spring`,stiffness:420,damping:34},IO={hidden:{},visible:{transition:{staggerChildren:.05}}},LO=({bucket:e,counts:n,onSelect:r})=>(0,w.jsx)(`div`,{className:J.bucketTabs,children:PO.map(i=>{let a=e===i.id;return(0,w.jsxs)(`button`,{type:`button`,className:t.at(J.bucketTab,a&&J.bucketTabActive),onClick:()=>{r(i.id)},children:[a&&(0,w.jsx)(t.C.span,{layoutId:`bucketBg`,className:J.bucketBg,transition:FO}),(0,w.jsx)(`span`,{className:J.bucketLabel,children:i.label}),(0,w.jsx)(`span`,{className:J.bucketCount,children:n[i.id]})]},i.id)})}),RO=1e4,zO=()=>{let e=t.gt(),i=n.o(RO),a=n.s(),o=n.a(),[s,c]=(0,r.useState)(`upcoming`),l=i.data??[],u=i.data===void 0,d=[...l].filter(e=>e.bucket===s).sort((e,t)=>new Date(e.startUtc).getTime()-new Date(t.startUtc).getTime()),f={upcoming:l.filter(e=>e.bucket===`upcoming`).length,passed:l.filter(e=>e.bucket===`passed`).length,canceled:l.filter(e=>e.bucket===`canceled`).length};return(0,w.jsxs)(`div`,{className:J.schedWrap,children:[(0,w.jsx)(LO,{bucket:s,counts:f,onSelect:c}),i.isPending?(0,w.jsx)(NO,{}):null,i.isError&&u?(0,w.jsx)(t.et,{tone:`error`,title:`Could not load meetings`,children:i.error.message}):null,i.isError&&!u?(0,w.jsx)(t.et,{tone:`info`,title:`Showing the last known meetings`,children:`Could not refresh just now. This will update on its own.`}):null,!u&&d.length===0?(0,w.jsxs)(`div`,{className:J.empty,children:[(0,w.jsx)(`div`,{className:J.emptyIconWrap,children:(0,w.jsx)(_,{size:32})}),(0,w.jsxs)(`span`,{className:J.emptyTitle,children:[`No `,s,` meetings`]}),(0,w.jsx)(`span`,{className:J.emptyText,children:`Nothing scheduled here yet.`})]}):null,!u&&d.length>0?(0,w.jsx)(t.T,{mode:`wait`,children:(0,w.jsx)(t.C.div,{className:J.meetingList,variants:IO,initial:`hidden`,animate:`visible`,children:d.map(t=>(0,w.jsx)(jO,{meeting:t,onRespond:e=>{a.mutate({meetingId:t.id,accept:e})},onCancel:()=>{o.mutate(t.id)},onJoin:()=>{e(`/comms/meetings/${t.id}/room`)}},t.id))},s)}):null]})},BO={screen:`_screen_18kgg_6`,head:`_head_18kgg_13`,headTop:`_headTop_18kgg_19`,title:`_title_18kgg_27`,subtitle:`_subtitle_18kgg_35`,headBadge:`_headBadge_18kgg_41`,headBadgeNum:`_headBadgeNum_18kgg_47`,headBadgeLabel:`_headBadgeLabel_18kgg_53`,tabs:`_tabs_18kgg_59`,tab:`_tab_18kgg_59`,tabActive:`_tabActive_18kgg_84`,tabUnderline:`_tabUnderline_18kgg_90`,body:`_body_18kgg_100`,tabContent:`_tabContent_18kgg_107`},VO=()=>{let[e,i]=(0,r.useState)(`scheduled`),a=(n.o().data??[]).filter(e=>e.bucket===`upcoming`).length;return(0,w.jsxs)(`div`,{className:BO.screen,children:[(0,w.jsxs)(`header`,{className:BO.head,children:[(0,w.jsxs)(`div`,{className:BO.headTop,children:[(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`h1`,{className:BO.title,children:`Meetings`}),(0,w.jsx)(`p`,{className:BO.subtitle,children:`Book 1:1 meetings and manage your invitations.`})]}),(0,w.jsxs)(`div`,{className:BO.headBadge,children:[(0,w.jsx)(`span`,{className:BO.headBadgeNum,children:a}),(0,w.jsx)(`span`,{className:BO.headBadgeLabel,children:`upcoming`})]})]}),(0,w.jsxs)(`div`,{className:BO.tabs,children:[(0,w.jsxs)(`button`,{type:`button`,className:t.at(BO.tab,e===`book`&&BO.tabActive),onClick:()=>{i(`book`)},children:[(0,w.jsx)(g,{size:15}),` Book a Meeting`,e===`book`&&(0,w.jsx)(t.C.span,{layoutId:`bookTabUnderline`,className:BO.tabUnderline,transition:{type:`spring`,stiffness:420,damping:34}})]}),(0,w.jsxs)(`button`,{type:`button`,className:t.at(BO.tab,e===`scheduled`&&BO.tabActive),onClick:()=>{i(`scheduled`)},children:[(0,w.jsx)(t.ot,{size:15}),` Scheduled`,e===`scheduled`&&(0,w.jsx)(t.C.span,{layoutId:`bookTabUnderline`,className:BO.tabUnderline,transition:{type:`spring`,stiffness:420,damping:34}})]})]})]}),(0,w.jsx)(`div`,{className:BO.body,children:(0,w.jsx)(t.T,{mode:`wait`,children:(0,w.jsx)(t.C.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.2,ease:`easeOut`},className:BO.tabContent,children:e===`book`?(0,w.jsx)(mO,{onViewScheduled:()=>{i(`scheduled`)}}):(0,w.jsx)(zO,{})},e)})})]})},HO=()=>{let{meetingId:e}=t.vt(),n=t.t(e=>e.setRequestedMeetingId);return(0,r.useEffect)(()=>{e!==void 0&&n(e)},[e,n]),(0,w.jsx)(w.Fragment,{})},UO=`/comms/bookings`,WO=`/comms/meetings/:meetingId/room`,GO=()=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(t.mt,{children:[(0,w.jsx)(t.pt,{path:UO,element:(0,w.jsx)(VO,{})}),(0,w.jsx)(t.pt,{path:WO,element:(0,w.jsx)(HO,{})}),(0,w.jsx)(t.pt,{path:`*`,element:(0,w.jsx)(t.ft,{to:UO,replace:!0})})]}),(0,w.jsx)(bS,{takeover:!0}),(0,w.jsx)(tS,{})]}),KO=()=>{pC(`uapp-bookings`,()=>(0,w.jsx)(GO,{}))},qO=(e,t=0)=>{let n=new Date(e);return n.setHours(0,0,0,0),n.setDate(e.getDate()-(e.getDay()+6)%7+t*7),Array.from({length:7},(e,t)=>{let r=new Date(n);return r.setDate(n.getDate()+t),r})},JO=(e,t)=>{let r=n.Pt(e);return qO(e,t).map(e=>({date:e,dayNumber:e.getDate(),isToday:n.Pt(e)===r}))},YO=(e,t)=>e.toLocaleDateString(void 0,t),XO=(e,t)=>{let n=qO(e,t),r=n[0]??e,i=n[6]??e,a=r.getFullYear()===i.getFullYear();return a&&r.getMonth()===i.getMonth()?`${String(r.getDate())} – ${YO(i,{day:`numeric`,month:`long`,year:`numeric`})}`:a?`${YO(r,{day:`numeric`,month:`short`})} – ${YO(i,{day:`numeric`,month:`short`,year:`numeric`})}`:`${YO(r,{day:`numeric`,month:`short`,year:`numeric`})} – ${YO(i,{day:`numeric`,month:`short`,year:`numeric`})}`},ZO=(e,t)=>new Date(e.getFullYear(),e.getMonth()+t,1),QO=(e,t)=>ZO(e,t).toLocaleDateString(void 0,{month:`long`,year:`numeric`}),$O=(e,t)=>{let n=ZO(e,t),r=(n.getDay()+6)%7,i=new Date(n.getFullYear(),n.getMonth()+1,0).getDate(),a=Math.ceil((r+i)/7),o=new Date(n);return o.setDate(n.getDate()-r),Array.from({length:a*7},(e,t)=>{let n=new Date(o);return n.setDate(o.getDate()+t),n})},ek=e=>{if(e<60)return`${String(e)}m`;let t=Math.floor(e/60),n=e%60;return n===0?`${String(t)}h`:`${String(t)}h ${String(n)}m`},tk=e=>{let t=new Date(e);return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`},nk=e=>new Date(e).toLocaleDateString(void 0,{weekday:`short`,day:`numeric`,month:`short`}),rk=e=>n.Pt(e),ik=e=>tk(e),ak=(e,t)=>{let[n,r,i]=e.split(`-`),[a,o]=t.split(`:`);return new Date(Number(n??`1970`),Number(r??`1`)-1,Number(i??`1`),Number(a??`0`),Number(o??`0`),0,0).toISOString()},ok={available:{label:`Available`,color:`#22c55e`,Icon:b},busy:{label:`Busy`,color:`#ef4444`,Icon:l},meeting:{label:`Meeting`,color:`#3b82f6`,Icon:lt},focus:{label:`Focus`,color:`#8b5cf6`,Icon:nt},away:{label:`Away`,color:`#94a3b8`,Icon:t.ot}},sk=e=>e===0||e===24?`12 AM`:e===12?`12 PM`:e<12?`${String(e)} AM`:`${String(e-12)} PM`,ck=(e,t)=>{let r=n.Lt(e),i=n.Lt(t);return i<=r?1440:i},lk=(e,t)=>{let r=n.vt(t);return r<=n.vt(e)?1440:r},uk=(e,t,r)=>{let i=n.vt(r)<=n.vt(t)?0:Math.max(0,Math.floor(n.vt(t)/60)-1),a=Math.min(24,Math.ceil(lk(t,r)/60)+1);for(let t of e){let e=t.block.status===`available`&&(t.continuesFromPrevDay===!0||t.continuesToNextDay===!0);t.block.allDay&&!e||(i=Math.min(i,Math.floor(n.Lt(t.start)/60)),a=Math.max(a,Math.ceil(ck(t.start,t.end)/60)))}return i=Math.max(0,Math.min(i,22)),a=Math.min(24,Math.max(a,i+2)),{startHour:i,endHour:a}},dk=e=>Array.from({length:e.endHour-e.startHour},(t,n)=>e.startHour+n),fk=e=>(e.endHour-e.startHour)*52,pk=(e,t,r)=>{let i=n.Lt(e),a=ck(e,t);return{top:(i-r.startHour*60)*52/60,height:Math.max(20,(a-i)*52/60-2)}},mk=(e,t,n)=>{let r=n.startHour*60,i=Math.max(e,r),a=Math.min(t,n.endHour*60);return a<=i?null:{top:(i-r)*52/60,height:(a-i)*52/60}},hk=(e,t,r)=>e?t.flatMap(e=>{let t=n.vt(e.from),i=n.vt(e.to);if(i<=t)return[mk(t,1440,r),mk(0,i,r)].filter(e=>e!==null);let a=mk(t,i,r);return a===null?[]:[a]}):[],gk=(e,t)=>{let n=e.getHours()*60+e.getMinutes();return n<t.startHour*60||n>t.endHour*60?null:(n-t.startHour*60)*52/60},_k=(e,t,r,i=90)=>((n.vt(t)<=n.vt(e)?0:n.vt(e))-r*60)*52/60-i*52/60,vk=(e,t,n=90)=>(e.getHours()*60+e.getMinutes()-t*60)*52/60-n*52/60,yk=e=>{let t=[...e].sort((e,t)=>n.Lt(e.start)-n.Lt(t.start)||ck(e.start,e.end)-ck(t.start,t.end)),r=[],i=[],a=[],o=()=>{let e=Math.max(1,a.length);for(let t of i)r.push({occurrence:t.occurrence,lane:t.lane,lanes:e});i=[],a=[]};for(let e of t){let t=n.Lt(e.start),r=ck(e.start,e.end);i.length>0&&t>=Math.max(...a)&&o();let s=a.findIndex(e=>e<=t);s===-1?(s=a.length,a.push(r)):a[s]=r,i.push({occurrence:e,lane:s})}return o(),r},bk=e=>{let t=e.filter(e=>e.end>e.start).slice().sort((e,t)=>e.start-t.start),n=[];for(let e of t){let t=n[n.length-1];t!==void 0&&e.start<=t.end?n[n.length-1]={start:t.start,end:Math.max(t.end,e.end)}:n.push(e)}return n},xk=e=>e.reduce((e,t)=>e+(t.end-t.start),0),Sk=(e,t,r)=>{let i=n.Pt(t),a=e.filter(e=>e.date===i&&!e.block.allDay),o=bk([...r.map(e=>{let t=n.vt(e.from),r=n.vt(e.to);return{start:t,end:r<=t?1440:r}}),...a.filter(e=>e.block.status===`available`).map(e=>({start:n.Lt(e.start),end:ck(e.start,e.end)}))]),s=a.filter(e=>e.block.status!==`available`).map(e=>({start:n.Lt(e.start),end:ck(e.start,e.end)})),c=0;for(let e of o){let t=bk(s.map(t=>({start:Math.max(e.start,t.start),end:Math.min(e.end,t.end)})));c+=e.end-e.start-xk(t)}return Math.max(0,Math.round(c/60))},Ck=(e,t)=>new Date(new Date(e).getTime()+t*6e4).toISOString(),wk=(e,t)=>{let r=new Date(e),i=n.v(t,r)-n.v(n.g(),r);return i===0?e:new Date(r.getTime()-i*6e4).toISOString()},Tk=(e,t)=>{let r=new Date(e),i=n.v(t,r)-n.v(n.g(),r);return i===0?e:new Date(r.getTime()+i*6e4).toISOString()},Ek=(e,t)=>({...e,start:wk(e.start,t),end:wk(e.end,t)}),Dk=e=>{if(e.mode===`edit`){let{block:t}=e;return{title:t.title,status:t.status,start:t.start,end:t.allDay?t.end:ak(rk(t.start),ik(t.end)),allDay:t.allDay,notes:t.notes,recurrence:t.recurrence}}let t=e.start,r=e.end??Ck(t,60),i=null,a=n.Pt(t);if(a!==n.Pt(r)){r=ak(a,ik(r));let o=new Date(t),s=new Date(e.end??r),c=[],l=new Date(o),u=0;for(;n.Pt(l)<=n.Pt(s)&&u<100;)u++,c.push(l.getDay()),l.setDate(l.getDate()+1);i={freq:`weekly`,interval:1,weekdays:c,monthlyMode:`dayOfMonth`,endType:`on`,endCount:13,endDate:n.Pt(s),exceptions:[]}}return{title:e.title??``,status:e.status??`available`,start:t,end:r,allDay:!1,notes:``,recurrence:i}},Ok=e=>({...e,recurrence:e.recurrence===null?n.Ot(e.start):null}),kk=(e,t)=>({...e,recurrence:t}),Ak=(e,t)=>({...e,start:ak(t,ik(e.start)),end:ak(t,ik(e.end))}),jk=(e,t)=>{let n=ak(rk(e.start),t),r=new Date(n).getTime()-new Date(e.start).getTime();return{...e,start:n,end:new Date(new Date(e.end).getTime()+r).toISOString()}},Mk=(e,t)=>({...e,end:ak(rk(e.start),t)}),Nk=(e,t)=>{let n=rk(e.start);return t?{...e,allDay:!0,start:ak(n,`00:00`),end:ak(n,`23:59`)}:{...e,allDay:!1,start:ak(n,`09:00`),end:ak(n,`10:00`)}},Y={notesInput:`_notesInput_1ut2q_7`,actionSpacer:`_actionSpacer_1ut2q_24`,panelHead:`_panelHead_1ut2q_29`,panelTitle:`_panelTitle_1ut2q_41`,panelForm:`_panelForm_1ut2q_47`,microLabel:`_microLabel_1ut2q_54`,panelInput:`_panelInput_1ut2q_62`,inputError:`_inputError_1ut2q_79`,fieldError:`_fieldError_1ut2q_84`,statusPills:`_statusPills_1ut2q_90`,statusPill:`_statusPill_1ut2q_90`,statusPillActive:`_statusPillActive_1ut2q_110`,dtGrid:`_dtGrid_1ut2q_116`,checkRow:`_checkRow_1ut2q_133`,checkbox:`_checkbox_1ut2q_143`,recurToggle:`_recurToggle_1ut2q_150`,recurToggleOn:`_recurToggleOn_1ut2q_163`,recurToggleLabel:`_recurToggleLabel_1ut2q_168`,recurSwitch:`_recurSwitch_1ut2q_181`,recurSwitchOn:`_recurSwitchOn_1ut2q_191`,recurKnob:`_recurKnob_1ut2q_195`,panelFooter:`_panelFooter_1ut2q_210`,panelSummary:`_panelSummary_1ut2q_215`,panelActions:`_panelActions_1ut2q_226`,recurSection:`_recurSection_1ut2q_234`,recurBuilder:`_recurBuilder_1ut2q_240`,recurChips:`_recurChips_1ut2q_250`,recurChip:`_recurChip_1ut2q_250`,recurChipActive:`_recurChipActive_1ut2q_267`,recurInline:`_recurInline_1ut2q_273`,recurInlineLabel:`_recurInlineLabel_1ut2q_281`,recurNumber:`_recurNumber_1ut2q_286`,recurWeekdays:`_recurWeekdays_1ut2q_297`,recurDay:`_recurDay_1ut2q_303`,recurDayActive:`_recurDayActive_1ut2q_315`,recurEnds:`_recurEnds_1ut2q_321`,recurRadio:`_recurRadio_1ut2q_327`,recurDate:`_recurDate_1ut2q_339`,recurSummaryBox:`_recurSummaryBox_1ut2q_349`,panelSummaryError:`_panelSummaryError_1ut2q_360`,disabledButtonWrapper:`_disabledButtonWrapper_1ut2q_368`,resolveConflictBtn:`_resolveConflictBtn_1ut2q_373`,upcomingCard:`_upcomingCard_1ut2q_394`,upcomingHeader:`_upcomingHeader_1ut2q_402`,upcomingRow:`_upcomingRow_1ut2q_414`,upcomingRowDate:`_upcomingRowDate_1ut2q_427`,upcomingRowTime:`_upcomingRowTime_1ut2q_431`,upcomingMore:`_upcomingMore_1ut2q_436`,differentTimeRow:`_differentTimeRow_1ut2q_445`,differentTimeList:`_differentTimeList_1ut2q_456`,differentTimeRowItem:`_differentTimeRowItem_1ut2q_467`,differentTimeDayLabel:`_differentTimeDayLabel_1ut2q_479`,differentTimeNote:`_differentTimeNote_1ut2q_488`,differentTimeRowGroup:`_differentTimeRowGroup_1ut2q_495`,differentTimeDayLabelSpacer:`_differentTimeDayLabelSpacer_1ut2q_501`,slotActionBtn:`_slotActionBtn_1ut2q_507`,slotActionBtnTrash:`_slotActionBtnTrash_1ut2q_524`},Pk={center:`_center_10cfo_6`,field:`_field_10cfo_12`,dash:`_dash_10cfo_18`},Fk={timeInput:`_timeInput_ik08d_4`},Ik=[{wd:1,label:`M`,longLabel:`Mon`},{wd:2,label:`T`,longLabel:`Tue`},{wd:3,label:`W`,longLabel:`Wed`},{wd:4,label:`T`,longLabel:`Thu`},{wd:5,label:`F`,longLabel:`Fri`},{wd:6,label:`S`,longLabel:`Sat`},{wd:0,label:`S`,longLabel:`Sun`}],Lk=e=>{let[t,n]=e.split(`:`).map(Number);return(t??0)*60+(n??0)},Rk=e=>{let t=Math.floor(e/60),n=e%60;return`${String(t).padStart(2,`0`)}:${String(n).padStart(2,`0`)}`},zk=e=>{if(!e)return{start:`09:00`,end:`17:00`};let t=Lk(e.start),n=Lk(e.end),r=n>t?n-t:60,i=n,a=i+r;return i>=1439?{start:`23:00`,end:`23:59`}:(a>1439&&(a=1439),{start:Rk(i),end:Rk(a)})},Bk=({slot:e,index:n,dayMeta:r,dayName:i,showTrash:a,onUpdateStart:o,onUpdateEnd:s,onAdd:c,onRemove:l})=>(0,w.jsxs)(`div`,{className:Y.differentTimeRowItem,children:[n===0?(0,w.jsx)(`span`,{className:Y.differentTimeDayLabel,children:r?.longLabel??i}):(0,w.jsx)(`span`,{className:Y.differentTimeDayLabelSpacer}),(0,w.jsx)(`input`,{type:`time`,className:t.at(Y.recurDate,Fk.timeInput),value:e.start,onChange:e=>{o(e.target.value)}}),(0,w.jsx)(`span`,{className:Pk.dash,children:`–`}),(0,w.jsx)(`input`,{type:`time`,className:t.at(Y.recurDate,Fk.timeInput),value:e.end,onChange:e=>{s(e.target.value)}}),(0,w.jsx)(`button`,{type:`button`,className:Y.slotActionBtn,onClick:c,children:(0,w.jsx)(Le,{size:14})}),a&&(0,w.jsx)(`button`,{type:`button`,className:Y.slotActionBtnTrash,onClick:l,children:(0,w.jsx)(at,{size:12})})]}),Vk=({dayMeta:e,dayName:t,slots:n,startIso:r,endIso:i,onChangeSlots:a})=>{let o=n.length>0?n:[{start:ik(r),end:ik(i??r)}];return(0,w.jsx)(`div`,{className:Y.differentTimeRowGroup,children:o.map((n,r)=>(0,w.jsx)(Bk,{slot:n,index:r,dayMeta:e,dayName:t,showTrash:o.length>1,onUpdateStart:e=>{let t=[...o];t[r]={...n,start:e},a(t)},onUpdateEnd:e=>{let t=[...o];t[r]={...n,end:e},a(t)},onAdd:()=>{let e=o[o.length-1];a([...o,zk(e)])},onRemove:()=>{a(o.filter((e,t)=>t!==r))}},r))})},Hk=({rec:e,onChange:t,startIso:n,endIso:r})=>e.weekdays.length===0?(0,w.jsx)(w.Fragment,{}):(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`label`,{className:Y.differentTimeRow,children:[(0,w.jsx)(`input`,{type:`checkbox`,checked:e.differentTimes??!1,onChange:n=>{t({...e,differentTimes:n.target.checked})}}),(0,w.jsx)(`span`,{children:`Different time per day`})]}),e.differentTimes&&(0,w.jsxs)(`div`,{className:Y.differentTimeList,children:[e.weekdays.map(i=>{let a=Ik.find(e=>e.wd===i);return(0,w.jsx)(Vk,{dayMeta:a,dayName:a?a.longLabel:``,slots:e.weekdayTimes?.[i]??[],startIso:n,endIso:r,onChangeSlots:n=>{let r={...e.weekdayTimes,[i]:n};t({...e,weekdayTimes:r})}},i)}),(0,w.jsx)(`div`,{className:Y.differentTimeNote,children:`Defaults to the base event time when not overridden. Use + to add multiple slots per day.`})]})]}),Uk=({recurrence:e,startIso:t,endIso:r})=>{let i=new Date(t),a=r===void 0?new Date(i.getTime()+1800*1e3):new Date(r),o=i,s=new Date(i.getTime()+2160*60*60*1e3),c=n.kt({start:t,end:a.toISOString(),recurrence:e},o,s),l=c.slice(0,5);return l.length===0?(0,w.jsx)(w.Fragment,{}):(0,w.jsxs)(`div`,{className:Y.upcomingCard,children:[(0,w.jsxs)(`div`,{className:Y.upcomingHeader,children:[(0,w.jsx)(v,{size:12}),` Upcoming Occurrences`]}),(0,w.jsx)(`div`,{children:l.map((e,t)=>{let n=new Date(e.start).toLocaleDateString(void 0,{weekday:`short`,month:`short`,day:`numeric`}),r=`${tk(e.start)} – ${tk(e.end)}`;return(0,w.jsxs)(`div`,{className:Y.upcomingRow,children:[(0,w.jsx)(`span`,{className:Y.upcomingRowDate,children:n}),(0,w.jsx)(`span`,{className:Y.upcomingRowTime,children:r})]},t)})}),c.length>5&&(0,w.jsx)(`div`,{className:Y.upcomingMore,children:`...and more beyond`})]})},Wk=[{wd:1,label:`M`},{wd:2,label:`T`},{wd:3,label:`W`},{wd:4,label:`T`},{wd:5,label:`F`},{wd:6,label:`S`},{wd:0,label:`S`}],Gk={daily:`day`,weekly:`week`,monthly:`month`,yearly:`year`},Kk=[{id:`dayOfMonth`,label:`Day of month`},{id:`nthWeekday`,label:`Day of week`}],qk=({rec:e,onChange:r})=>(0,w.jsx)(`div`,{className:Y.recurChips,children:n.Dt.map(n=>(0,w.jsx)(`button`,{type:`button`,className:t.at(Y.recurChip,e.freq===n.id&&Y.recurChipActive),"aria-pressed":e.freq===n.id,onClick:()=>{r({...e,freq:n.id})},children:n.label},n.id))}),Jk=({rec:e,onChange:t})=>(0,w.jsxs)(`label`,{className:Y.recurInline,children:[(0,w.jsx)(`span`,{className:Y.recurInlineLabel,children:`Every`}),(0,w.jsx)(`input`,{type:`number`,min:1,max:99,className:Y.recurNumber,value:e.interval,onChange:n=>{t({...e,interval:Math.max(1,Number(n.target.value)||1)})}}),(0,w.jsxs)(`span`,{className:Y.recurInlineLabel,children:[Gk[e.freq],e.interval>1?`s`:``]})]}),Yk=({rec:e,onChange:n})=>(0,w.jsx)(`div`,{className:Y.recurWeekdays,children:Wk.map(({wd:r,label:i})=>{let a=e.weekdays.includes(r);return(0,w.jsx)(`button`,{type:`button`,className:t.at(Y.recurDay,a&&Y.recurDayActive),"aria-pressed":a,onClick:()=>{n({...e,weekdays:a?e.weekdays.filter(e=>e!==r):[...e.weekdays,r]})},children:i},r)})}),Xk=({rec:e,onChange:n})=>(0,w.jsx)(`div`,{className:Y.recurChips,children:Kk.map(r=>(0,w.jsx)(`button`,{type:`button`,className:t.at(Y.recurChip,e.monthlyMode===r.id&&Y.recurChipActive),onClick:()=>{n({...e,monthlyMode:r.id})},children:r.label},r.id))}),Zk=({rec:e,startIso:t,onChange:n})=>(0,w.jsxs)(`div`,{className:Y.recurEnds,children:[(0,w.jsxs)(`label`,{className:Y.recurRadio,children:[(0,w.jsx)(`input`,{type:`radio`,name:`recur-end`,checked:e.endType===`never`,onChange:()=>{n({...e,endType:`never`})}}),(0,w.jsx)(`span`,{children:`Never ends`})]}),(0,w.jsxs)(`label`,{className:Y.recurRadio,children:[(0,w.jsx)(`input`,{type:`radio`,name:`recur-end`,checked:e.endType===`after`,onChange:()=>{n({...e,endType:`after`})}}),(0,w.jsx)(`span`,{children:`After`}),(0,w.jsx)(`input`,{type:`number`,min:1,max:365,className:Y.recurNumber,value:e.endCount,disabled:e.endType!==`after`,onChange:t=>{n({...e,endType:`after`,endCount:Math.max(1,Number(t.target.value)||1)})}}),(0,w.jsx)(`span`,{children:`times`})]}),(0,w.jsxs)(`label`,{className:Y.recurRadio,children:[(0,w.jsx)(`input`,{type:`radio`,name:`recur-end`,checked:e.endType===`on`,onChange:()=>{n({...e,endType:`on`})}}),(0,w.jsx)(`span`,{children:`On`}),(0,w.jsx)(`input`,{type:`date`,className:Y.recurDate,min:t.slice(0,10),value:e.endDate,disabled:e.endType!==`on`,onChange:t=>{n({...e,endType:`on`,endDate:t.target.value})}})]})]}),Qk=({recurrence:e,startIso:t,endIso:r,onChange:i})=>{let a=e.freq===`weekly`,o=e.freq===`monthly`||e.freq===`yearly`;return(0,w.jsxs)(`div`,{className:Y.recurBuilder,children:[(0,w.jsx)(qk,{rec:e,onChange:i}),(0,w.jsx)(Jk,{rec:e,onChange:i}),a&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(Yk,{rec:e,onChange:i}),(0,w.jsx)(Hk,{rec:e,onChange:i,startIso:t,endIso:r})]}),o&&(0,w.jsx)(Xk,{rec:e,onChange:i}),(0,w.jsx)(Zk,{rec:e,startIso:t,onChange:i}),(0,w.jsx)(`div`,{className:Y.recurSummaryBox,children:n.jt(e,t)}),(0,w.jsx)(Uk,{recurrence:e,startIso:t,endIso:r})]})},$k=({draft:e,onChange:r})=>(0,w.jsxs)(`div`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:Y.microLabel,children:`Status`}),(0,w.jsx)(`div`,{className:Y.statusPills,children:n.St.map(n=>{let i=ok[n.id],a=e.status===n.id;return(0,w.jsxs)(`button`,{type:`button`,className:t.at(Y.statusPill,a&&Y.statusPillActive),style:t.it({"--status-color":i.color}),"aria-pressed":a,onClick:()=>{r({...e,status:n.id})},children:[(0,w.jsx)(i.Icon,{size:13}),` `,n.label]},n.id)})})]}),eA=({draft:e,onChange:n})=>(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`div`,{className:e.allDay?Pk.field:Y.dtGrid,children:[(0,w.jsxs)(`label`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:Y.microLabel,children:`Date`}),(0,w.jsx)(`input`,{type:`date`,className:Y.panelInput,value:rk(e.start),onChange:t=>{n(Ak(e,t.target.value))}})]}),!e.allDay&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsxs)(`label`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:Y.microLabel,children:`Start`}),(0,w.jsx)(t.r,{value:ik(e.start),onChange:t=>{n(jk(e,t))}})]}),(0,w.jsxs)(`label`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:Y.microLabel,children:`End`}),(0,w.jsx)(t.r,{align:`end`,value:ik(e.end),onChange:t=>{n(Mk(e,t))}})]})]})]}),(0,w.jsxs)(`label`,{className:Y.checkRow,children:[(0,w.jsx)(`input`,{type:`checkbox`,className:Y.checkbox,checked:e.allDay,onChange:t=>{n(Nk(e,t.target.checked))}}),(0,w.jsx)(`span`,{children:`All-day`})]})]}),tA=({draft:e,onChange:n})=>{let r=e.recurrence!==null;return(0,w.jsxs)(`div`,{className:Y.recurSection,children:[(0,w.jsxs)(`button`,{type:`button`,className:t.at(Y.recurToggle,r&&Y.recurToggleOn),"aria-pressed":r,onClick:()=>{n(Ok(e))},children:[(0,w.jsxs)(`span`,{className:Y.recurToggleLabel,children:[(0,w.jsx)(We,{size:13}),` Recurring`]}),(0,w.jsx)(`span`,{className:t.at(Y.recurSwitch,r&&Y.recurSwitchOn),children:(0,w.jsx)(`span`,{className:Y.recurKnob})})]}),e.recurrence!==null&&(0,w.jsx)(Qk,{recurrence:e.recurrence,startIso:e.start,endIso:e.end,onChange:t=>{n(kk(e,t))}})]})},nA=({draft:e,onChange:n})=>(0,w.jsxs)(`div`,{className:Y.panelForm,children:[(0,w.jsxs)(`label`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:Y.microLabel,children:`Title`}),(0,w.jsx)(`input`,{type:`text`,className:t.at(Y.panelInput,e.title.length>200&&Y.inputError),value:e.title,placeholder:`e.g. Morning availability`,onChange:t=>{n({...e,title:t.target.value})}}),e.title.length>200&&(0,w.jsx)(`span`,{className:Y.fieldError,children:`The field Title must be a string with a maximum length of 200.`})]}),(0,w.jsx)($k,{draft:e,onChange:n}),(0,w.jsx)(eA,{draft:e,onChange:n}),(0,w.jsx)(tA,{draft:e,onChange:n}),(0,w.jsxs)(`label`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:Y.microLabel,children:`Notes`}),(0,w.jsx)(`textarea`,{className:Y.notesInput,rows:3,value:e.notes,placeholder:`Optional notes`,onChange:t=>{n({...e,notes:t.target.value})}})]})]}),rA=(e,r,i,a)=>{let o=n.S(),s=n.k(),c=n.C();return{busy:o.isPending||s.isPending||c.isPending,onSave:()=>{let n=Ek(r,i),c=e=>{t.l.success(e),a()};if(e.mode===`edit`){s.mutate({id:e.block.id,draft:n},{onSuccess:()=>{c(`Event updated`)},onError:e=>{t.l.error(e.message)}});return}o.mutate(n,{onSuccess:()=>{c(`Event added`)},onError:e=>{t.l.error(e.message)}})},onDelete:()=>{if(e.mode!==`edit`)return;let n=e.block.sourceMeetingId!==null;c.mutate(e.block.id,{onSuccess:()=>{t.l.success(n?`Meeting cancelled for everyone`:`Event removed`),a()},onError:e=>{t.l.error(e.message)}})}}},iA=(e,t,n,r)=>{let i=new Date(e).getTime(),a=new Date(t).getTime(),o=new Date(n).getTime(),s=new Date(r).getTime();return i<=o&&a>=s?{type:`delete`}:i>o&&a<s?{type:`split`,updateEnd:new Date(i).toISOString(),createStart:new Date(a).toISOString(),createEnd:new Date(s).toISOString()}:i<=o&&a>o&&a<s?{type:`update`,start:new Date(a).toISOString(),end:r}:i>o&&i<s&&a>=s?{type:`update`,start:n,end:new Date(i).toISOString()}:null},aA=(e,t)=>{let n=new Date(e.start).getTime(),r=new Date(e.end).getTime(),i=new Date(t.start).getTime();return n<new Date(t.end).getTime()&&r>i},oA=(e,t)=>{let n=e.block.status===`available`&&t.block.status===`available`,r=e.block.status!==`available`&&t.block.status!==`available`;return(n||r)&&aA(e,t)},sA=(e,t,r)=>{let i=n.bt([new n.Et({id:`draft`,...e})],r),a=n.bt(t,r),o=[];for(let e of a)i.some(t=>oA(t,e))&&o.push(e);return o},cA=e=>({userId:e.userId,title:e.title,status:e.status,start:e.start,end:e.end,allDay:e.allDay,notes:e.notes,recurrence:e.recurrence}),lA=(e,t,n)=>({...cA(e),start:t,end:n,recurrence:null}),uA=(e,t)=>{let n=e.recurrence;if(n===null)return cA(e);let r=Array.from(new Set([...n.exceptions,...t]));return{...cA(e),recurrence:{...n,exceptions:r}}},dA=(e,t,n)=>n.type===`delete`?[]:n.type===`update`?[lA(e,n.start,n.end)]:[lA(e,t.start,n.updateEnd),lA(e,n.createStart,n.createEnd)],fA=(e,t,n)=>{let r=iA(n.start,n.end,t.start,t.end);return r===null?[]:r.type===`delete`?[{kind:`delete`,blockId:e.id}]:r.type===`update`?[{kind:`update`,blockId:e.id,draft:lA(e,r.start,r.end)}]:[{kind:`update`,blockId:e.id,draft:lA(e,t.start,r.updateEnd)},{kind:`create`,draft:lA(e,r.createStart,r.createEnd)}]},pA=(e,t,n)=>{let r=[],i=[];for(let a of t){let t=iA(n.start,n.end,a.start,a.end);if(t!==null){r.push(a.date);for(let n of dA(e,a,t))i.push({kind:`create`,draft:n})}}return r.length===0?[]:[{kind:`update`,blockId:e.id,draft:uA(e,r)},...i]},mA=(e,t)=>{let n=new Map;for(let e of t){let t=n.get(e.block.id)??[];t.push(e),n.set(e.block.id,t)}let r=[];for(let t of n.values()){let n=t[0];if(n===void 0)continue;let i=n.block.recurrence===null?fA(n.block,n,e):pA(n.block,t,e);r.push(...i)}return r},hA=(e,t)=>e.filter(e=>t.mode!==`edit`||e.id!==t.block.id),gA=(e,t,n)=>{let r=new Map;for(let i of sA(e,t,n))r.set(i.block.id,i.block);return[...r.values()]},_A=300*1e3,vA=(e,t,n,r)=>{if(!(n.mode!==`edit`||t.start!==Ek({...e,start:n.block.start,end:n.block.end},r).start)||new Date(t.start).getTime()>=Date.now()-_A)return null;let i=new Date(t.end).getTime();return e.allDay&&i>Date.now()?`All-day events cannot be scheduled for today as part of the day has passed. Please uncheck 'All-day' to select a specific time.`:`Cannot schedule an event in the past.`},yA=(e,t)=>{if(t.length===0)return null;let n=t[0];if(n===void 0)return null;let r=t.some(e=>e.status===`meeting`);return e===`available`&&n.status===`available`?{error:`This block overlaps with an existing availability.`,code:`overlap_availability`,hasMeetingConflict:r}:{error:r?`This block overlaps with a scheduled Meeting. Meetings cannot be auto-adjusted or overwritten.`:`This block overlaps with an existing event.`,code:`overlap_event`,hasMeetingConflict:r}},bA=(e,t,r,i)=>{if(e.title.trim().length===0)return{error:`Event title is required.`,code:`empty_title`};if(e.title.length>200)return{error:`The field Title must be a string with a maximum length of 200.`,code:`title_too_long`};if(!n.It(e.start,e.end))return{error:`End time must be after start time.`,code:`invalid_time`};let a=Ek(e,i),o=vA(e,a,r,i);if(o!==null)return{error:o,code:`invalid_time`};let s=qO(new Date(a.start),0),c=gA(a,hA(t,r),s);return yA(e.status,c)??{error:null}},xA=(e,r,i)=>{let a=n.S(),o=n.k(),s=n.C(),c=async e=>{if(e.kind===`delete`){await s.mutateAsync(e.blockId);return}if(e.kind===`update`){await o.mutateAsync({id:e.blockId,draft:e.draft});return}await a.mutateAsync(e.draft)};return{resolve:async(n,a)=>{let o=Ek(e,i),s=qO(new Date(o.start),0),l=mA(o,sA(o,hA(n,r),s));try{await Promise.all(l.map(c)),t.l.success(`Conflicts resolved successfully!`),a()}catch(e){let n=e instanceof Error?e.message:String(e);t.l.error(`Failed to resolve conflicts: ${n}`)}}}},SA={errorStack:`_errorStack_q9qoj_4`,errorLine:`_errorLine_q9qoj_11`},CA=`You do not have permission to create events`,wA=`You do not have permission to update events`,TA=`You do not have permission to delete events`,EA=({isEdit:e,canSave:n,canCreate:r,canUpdate:i,busy:a,validationError:o,onSave:s})=>{let c=e?`Save changes`:`Create`,l=e?i:r,u=e?wA:CA;return l?n?(0,w.jsx)(t.tt,{onClick:s,isLoading:a,children:c}):(0,w.jsx)(t.p,{label:o??`Cannot save`,side:`top`,children:(0,w.jsx)(`span`,{className:Y.disabledButtonWrapper,children:(0,w.jsx)(t.tt,{onClick:s,isLoading:a,disabled:!0,children:c})})}):(0,w.jsx)(t.p,{label:u,side:`top`,children:(0,w.jsx)(`span`,{className:Y.disabledButtonWrapper,children:(0,w.jsx)(t.tt,{disabled:!0,isLoading:a,children:c})})})},DA=({canDelete:e,busy:n,onDelete:r})=>e?(0,w.jsxs)(t.tt,{variant:`ghost`,onClick:r,disabled:n,children:[(0,w.jsx)(at,{size:15}),` Delete`]}):(0,w.jsx)(t.p,{label:TA,side:`top`,children:(0,w.jsx)(`span`,{className:Y.disabledButtonWrapper,children:(0,w.jsxs)(t.tt,{variant:`ghost`,disabled:!0,children:[(0,w.jsx)(at,{size:15}),` Delete`]})})}),OA=({isEdit:e,busy:n,canSave:r,validationError:i,isConflict:a,summary:o,canCreateEvent:s,canUpdateEvent:c,canDeleteEvent:l,onSave:u,onDelete:d,onCancel:f,onResolveConflicts:p})=>(0,w.jsxs)(`div`,{className:Y.panelFooter,children:[(0,w.jsx)(`div`,{className:t.at(Y.panelSummary,i!==null&&Y.panelSummaryError),children:i===null?(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(g,{size:14}),` `,o]}):(0,w.jsxs)(`div`,{className:SA.errorStack,children:[(0,w.jsxs)(`span`,{className:SA.errorLine,children:[(0,w.jsx)(te,{size:14}),` `,i]}),a&&(0,w.jsxs)(`button`,{type:`button`,className:Y.resolveConflictBtn,onClick:p,disabled:n,children:[(0,w.jsx)(Be,{size:11}),` Auto-adjust blocks to fit`]})]})}),(0,w.jsxs)(`div`,{className:Y.panelActions,children:[e&&(0,w.jsx)(DA,{canDelete:l,busy:n,onDelete:d}),(0,w.jsx)(`span`,{className:Y.actionSpacer}),(0,w.jsx)(t.tt,{variant:`secondary`,onClick:f,disabled:n,children:`Cancel`}),(0,w.jsx)(EA,{isEdit:e,canSave:r,canCreate:s,canUpdate:c,busy:n,validationError:i,onSave:u})]})]}),kA=` · `,AA=` – `,jA=e=>{let t=n.Pt(e.start)===n.Pt(e.end)?nk(e.start):`${nk(e.start)}${AA}${nk(e.end)}`,r=e.recurrence===null?``:`${kA}${n.jt(e.recurrence,e.start)}`;return e.allDay?`${t}${kA}All day${r}`:e.recurrence?.differentTimes?`${t}${r}`:`${t}${kA}${`${tk(e.start)}${AA}${tk(e.end)}`}${kA}${ek(n.Ft(e.start,e.end))}${r}`},MA=({open:e,onConfirm:n,onCancel:r})=>(0,w.jsx)(t.v,{open:e,elevated:!0,title:`Cancel this meeting?`,message:`This event came from a booking. Removing it cancels the meeting and frees the time on everyone's calendar, not just yours.`,confirmLabel:`Cancel meeting`,onConfirm:n,onCancel:r}),NA=({state:e,timezone:i,onClose:a})=>{let{hasPermission:o}=ii(),s=o(T.scheduleCreate),c=o(T.scheduleUpdate),l=o(T.scheduleDelete),[u,d]=(0,r.useState)(()=>Dk(e)),{busy:f,onSave:p,onDelete:m}=rA(e,u,i,a),[h,g]=(0,r.useState)(!1),_=e.mode===`edit`&&e.block.sourceMeetingId!==null,{data:v=[]}=n.O(),y=xA(u,e,i),b=e.mode===`edit`,x=bA(u,v,e,i),S=x.code===`title_too_long`?null:x.error,ee=x.error===null,te=(x.code===`overlap_availability`||x.code===`overlap_event`)&&!x.hasMeetingConflict;return(0,w.jsxs)(t._,{open:!0,side:`right`,title:b?`Edit Event`:`New Event`,onOpenChange:e=>{e||a()},footer:(0,w.jsx)(OA,{isEdit:b,busy:f,canSave:ee,validationError:S,isConflict:te,summary:jA(u),canCreateEvent:s,canUpdateEvent:c,canDeleteEvent:l,onSave:p,onDelete:()=>{if(_){g(!0);return}m()},onCancel:a,onResolveConflicts:()=>{y.resolve(v,p)}}),children:[(0,w.jsxs)(`header`,{className:Y.panelHead,children:[(0,w.jsx)(`span`,{className:Y.panelTitle,children:b?`Edit Event`:`New Event`}),(0,w.jsx)(t.Q,{label:`Close`,onClick:a,children:(0,w.jsx)(C,{size:18})})]}),(0,w.jsx)(nA,{draft:u,onChange:d}),(0,w.jsx)(MA,{open:h,onConfirm:()=>{g(!1),m()},onCancel:()=>{g(!1)}})]})},PA=()=>{let e=Intl.supportedValuesOf;return typeof e==`function`?e(`timeZone`):n.Tt},FA=/^(\d{1,2}):(\d{2})$/,IA=e=>String(e).padStart(2,`0`),LA=e=>{let t=FA.exec(e);return t===null?0:Number(t[1])*60+Number(t[2])},RA=e=>{let t=Math.max(0,Math.min(1439,e)),n=Math.floor(t/60),r=t%60;return`${IA(n)}:${IA(r)}`},zA=[`mon`,`tue`,`wed`,`thu`,`fri`,`sat`,`sun`],BA=e=>zA[(e+6)%7]??`sun`,VA=e=>zA[(e+1)%7]??`mon`,HA=e=>zA[e]??`mon`,UA=(e,t,n)=>{if(e>=0)return null;let r=e+1440,i=Math.min(0,t)+1440;return i<=r?null:{targetDay:BA(n),from:r,to:i,id:crypto.randomUUID()}},WA=(e,t,n)=>{if(t<=1440)return null;let r=Math.max(1440,e)-1440,i=t-1440;return i<=r?null:{targetDay:VA(n),from:r,to:i,id:crypto.randomUUID()}},GA=(e,t,n,r)=>{let i=Math.max(0,e),a=Math.min(1440,t);return a<=i?null:{targetDay:HA(n),from:i,to:a,id:r}},KA=(e,t,n)=>{let r=LA(e.from),i=e.to===`23:59`||e.to===`24:00`||e.to===`00:00`?1440:LA(e.to);if(i<=r)return[];let a=r+n,o=i+n;return[UA(a,o,t),GA(a,o,t,e.id),WA(a,o,t)].filter(e=>e!==null)},qA=(e,t,n)=>{e.sort((e,t)=>e.from-t.from);let r=[];for(let t of e){let e=r[r.length-1];e!==void 0&&t.from<=e.to+1?e.to=Math.max(e.to,t.to):r.push({...t})}let i=r.map(e=>({id:e.id,from:RA(e.from),to:e.to>=1440?`23:59`:RA(e.to)}));return{active:i.length>0&&t,slots:i.length>0?i:n.map(e=>({...e}))}},JA=(e,t,r,i)=>{if(t===r)return e;let a=n.v(r,i)-n.v(t,i);if(a===0)return e;let o={mon:[],tue:[],wed:[],thu:[],fri:[],sat:[],sun:[]},s={mon:!1,tue:!1,wed:!1,thu:!1,fri:!1,sat:!1,sun:!1};return n.zt.forEach((t,n)=>{let r=e[t.id];r.active&&r.slots.length>0&&r.slots.forEach(e=>{KA(e,n,a).forEach(e=>{o[e.targetDay].push({from:e.from,to:e.to,id:e.id}),s[e.targetDay]=!0})})}),{mon:qA(o.mon,s.mon,e.mon.slots),tue:qA(o.tue,s.tue,e.tue.slots),wed:qA(o.wed,s.wed,e.wed.slots),thu:qA(o.thu,s.thu,e.thu.slots),fri:qA(o.fri,s.fri,e.fri.slots),sat:qA(o.sat,s.sat,e.sat.slots),sun:qA(o.sun,s.sun,e.sun.slots)}},YA=(e,t)=>{let r=PA();return(r.includes(t)?r:[t,...r]).map(t=>({id:t,offset:n._(n.v(t,e))}))},XA={tzWrap:`_tzWrap_horpb_4`,tzTrigger:`_tzTrigger_horpb_8`,tzGlobe:`_tzGlobe_horpb_30`,tzTriggerLabel:`_tzTriggerLabel_horpb_35`,tzTriggerOffset:`_tzTriggerOffset_horpb_44`,tzChevron:`_tzChevron_horpb_51`,tzBackdrop:`_tzBackdrop_horpb_56`,tzPop:`_tzPop_horpb_65`,tzSearch:`_tzSearch_horpb_78`,tzSearchInput:`_tzSearchInput_horpb_90`,tzList:`_tzList_horpb_100`,tzRow:`_tzRow_horpb_135`,tzRowActive:`_tzRowActive_horpb_154`,tzRowLabel:`_tzRowLabel_horpb_158`,tzRowOffset:`_tzRowOffset_horpb_171`,tzCheck:`_tzCheck_horpb_178`,tzEmpty:`_tzEmpty_horpb_183`},ZA=(e,t)=>t===``||e.id.toLowerCase().includes(t)||e.offset.toLowerCase().includes(t),QA=({search:e,list:n,value:r,onSearch:i,onPick:a})=>(0,w.jsxs)(t.C.div,{className:XA.tzPop,variants:t.S,initial:`hidden`,animate:`visible`,exit:`exit`,children:[(0,w.jsxs)(`div`,{className:XA.tzSearch,children:[(0,w.jsx)(Ge,{size:13}),(0,w.jsx)(`input`,{className:XA.tzSearchInput,placeholder:`Search timezones…`,value:e,onChange:e=>{i(e.target.value)}})]}),(0,w.jsxs)(`div`,{className:XA.tzList,children:[n.map(e=>(0,w.jsxs)(`button`,{type:`button`,className:t.at(XA.tzRow,e.id===r&&XA.tzRowActive),onClick:()=>{a(e.id)},children:[(0,w.jsx)(`span`,{className:XA.tzRowLabel,children:e.id}),(0,w.jsx)(`span`,{className:XA.tzRowOffset,children:e.offset}),e.id===r&&(0,w.jsx)(b,{size:13,className:XA.tzCheck})]},e.id)),n.length===0&&(0,w.jsx)(`p`,{className:XA.tzEmpty,children:`No timezones match.`})]})]}),$A=({value:e,now:n,onChange:i})=>{let[a,o]=(0,r.useState)(!1),[s,c]=(0,r.useState)(``),l=(0,r.useMemo)(()=>YA(n,e),[n,e]),u=l.find(t=>t.id===e)??{id:e,offset:``},d=s.trim().toLowerCase(),f=l.filter(e=>ZA(e,d));return(0,w.jsxs)(`div`,{className:XA.tzWrap,children:[(0,w.jsxs)(`button`,{type:`button`,className:XA.tzTrigger,"aria-expanded":a,"aria-label":`Change timezone`,onClick:()=>{o(e=>!e)},children:[(0,w.jsx)(fe,{size:14,className:XA.tzGlobe}),(0,w.jsx)(`span`,{className:XA.tzTriggerLabel,children:u.id}),(0,w.jsx)(`span`,{className:XA.tzTriggerOffset,children:u.offset}),(0,w.jsx)(x,{size:15,className:XA.tzChevron})]}),(0,w.jsx)(t.T,{children:a&&(0,w.jsxs)(w.Fragment,{children:[(0,w.jsx)(`button`,{type:`button`,className:XA.tzBackdrop,"aria-label":`Close timezone picker`,onClick:()=>{o(!1)}}),(0,w.jsx)(QA,{search:s,list:f,value:e,onSearch:c,onPick:e=>{i(e),c(``),o(!1)}})]})})]})},X={gridScroll:`_gridScroll_1vnsd_7`,gridInner:`_gridInner_1vnsd_33`,gutter:`_gutter_1vnsd_38`,gutterHead:`_gutterHead_1vnsd_44`,gutterAllDay:`_gutterAllDay_1vnsd_48`,gutterHour:`_gutterHour_1vnsd_62`,dayCol:`_dayCol_1vnsd_73`,dayHeader:`_dayHeader_1vnsd_79`,colDay:`_colDay_1vnsd_93`,colDayToday:`_colDayToday_1vnsd_101`,dayNum:`_dayNum_1vnsd_105`,dayNumToday:`_dayNumToday_1vnsd_125`,dayCount:`_dayCount_1vnsd_131`,allDayBand:`_allDayBand_1vnsd_137`,allDayChip:`_allDayChip_1vnsd_148`,hoursWrap:`_hoursWrap_1vnsd_168`,workBand:`_workBand_1vnsd_174`,hourRow:`_hourRow_1vnsd_184`,nowLine:`_nowLine_1vnsd_203`,nowDot:`_nowDot_1vnsd_214`,block:`_block_1vnsd_224`,blockTitle:`_blockTitle_1vnsd_261`,blockTime:`_blockTime_1vnsd_279`,monthScroll:`_monthScroll_1vnsd_293`,monthHead:`_monthHead_1vnsd_302`,monthHeadCell:`_monthHeadCell_1vnsd_309`,monthGrid:`_monthGrid_1vnsd_319`,monthCell:`_monthCell_1vnsd_326`,monthCellOff:`_monthCellOff_1vnsd_347`,monthDayNum:`_monthDayNum_1vnsd_351`,monthCellToday:`_monthCellToday_1vnsd_355`,monthDayNumToday:`_monthDayNumToday_1vnsd_366`,monthChip:`_monthChip_1vnsd_379`,monthMore:`_monthMore_1vnsd_402`,agendaScroll:`_agendaScroll_1vnsd_410`,agendaGroup:`_agendaGroup_1vnsd_418`,agendaDay:`_agendaDay_1vnsd_422`,agendaItems:`_agendaItems_1vnsd_432`,agendaRow:`_agendaRow_1vnsd_438`,agendaAccent:`_agendaAccent_1vnsd_459`,agendaBody:`_agendaBody_1vnsd_467`,agendaTitle:`_agendaTitle_1vnsd_475`,agendaMeta:`_agendaMeta_1vnsd_484`,agendaPill:`_agendaPill_1vnsd_493`,agendaEmpty:`_agendaEmpty_1vnsd_506`,agendaEmptyIcon:`_agendaEmptyIcon_1vnsd_517`,agendaEmptyTitle:`_agendaEmptyTitle_1vnsd_522`,agendaEmptyText:`_agendaEmptyText_1vnsd_528`,agendaEmptyBtn:`_agendaEmptyBtn_1vnsd_533`,availabilityBand:`_availabilityBand_1vnsd_546`,availabilityBandLabel:`_availabilityBandLabel_1vnsd_579`,availabilityBandEditBtn:`_availabilityBandEditBtn_1vnsd_589`,dragSelectionHighlight:`_dragSelectionHighlight_1vnsd_612`,dragSelectionLabel:`_dragSelectionLabel_1vnsd_631`},ej={hidden:{},visible:{transition:{staggerChildren:.04}}},tj=e=>{let t=[...e].sort((e,t)=>e.start<t.start?-1:1),n=new Map;for(let e of t){let t=n.get(e.date);t===void 0?n.set(e.date,{key:e.date,label:new Date(e.start).toLocaleDateString(void 0,{weekday:`long`,day:`numeric`,month:`long`}),items:[e]}):t.items.push(e)}return[...n.values()]},nj=({occurrence:e,onSelect:n})=>{let{block:r}=e,i=ok[r.status],a=r.allDay?`All day`:`${tk(e.start)} – ${tk(e.end)}`;return(0,w.jsxs)(t.C.button,{type:`button`,variants:t.x,whileHover:{x:3},className:X.agendaRow,style:t.it({"--status-color":i.color}),onClick:()=>{n(r)},children:[(0,w.jsx)(`span`,{className:X.agendaAccent}),(0,w.jsxs)(`span`,{className:X.agendaBody,children:[(0,w.jsx)(`span`,{className:X.agendaTitle,children:r.title}),(0,w.jsxs)(`span`,{className:X.agendaMeta,children:[a,r.recurrence!==null&&(0,w.jsxs)(w.Fragment,{children:[` · `,(0,w.jsx)(He,{size:10}),` Recurring`]})]})]}),(0,w.jsxs)(`span`,{className:X.agendaPill,children:[(0,w.jsx)(i.Icon,{size:10}),` `,i.label]})]})},rj=({occurrences:e,onSelectBlock:n,onCreate:r})=>{let i=tj(e);return i.length===0?(0,w.jsxs)(`div`,{className:X.agendaEmpty,children:[(0,w.jsx)(`span`,{className:X.agendaEmptyIcon,children:(0,w.jsx)(_,{size:30})}),(0,w.jsx)(`span`,{className:X.agendaEmptyTitle,children:`Nothing scheduled this month`}),(0,w.jsx)(`span`,{className:X.agendaEmptyText,children:`Create a block to fill your week.`}),(0,w.jsx)(`button`,{type:`button`,className:X.agendaEmptyBtn,onClick:r,children:`Create New Event`})]}):(0,w.jsx)(`div`,{className:X.agendaScroll,children:i.map(e=>(0,w.jsxs)(`div`,{className:X.agendaGroup,children:[(0,w.jsx)(`div`,{className:X.agendaDay,children:e.label}),(0,w.jsx)(t.C.div,{className:X.agendaItems,variants:ej,initial:`hidden`,animate:`visible`,children:e.items.map(e=>(0,w.jsx)(nj,{occurrence:e,onSelect:n},e.key))})]},e.key))})},ij=[`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`],aj=3,oj=e=>{let t=new Map;for(let n of e){let e=t.get(n.date)??[];e.push(n),t.set(n.date,e)}for(let e of t.values())e.sort((e,t)=>e.start<t.start?-1:1);return t},sj=e=>{let{date:r,inMonth:i,isToday:a,occs:o}=e,s=o.length-aj;return(0,w.jsxs)(`div`,{className:t.at(X.monthCell,!i&&X.monthCellOff,a&&X.monthCellToday),onClick:()=>{e.onSelectSlot(ak(n.Pt(r),`09:00`))},children:[(0,w.jsx)(`span`,{className:t.at(X.monthDayNum,a&&X.monthDayNumToday),children:r.getDate()}),o.slice(0,aj).map(n=>(0,w.jsx)(`button`,{type:`button`,className:X.monthChip,style:t.it({"--status-color":ok[n.block.status].color}),onClick:t=>{t.stopPropagation(),e.onSelectBlock(n.block)},children:n.block.title},n.key)),s>0&&(0,w.jsxs)(`span`,{className:X.monthMore,children:[`+`,s,` more`]})]})},cj=({dates:e,anchor:r,occurrences:i,today:a,onSelectBlock:o,onSelectSlot:s})=>{let c=oj(i),l=n.Pt(a);return(0,w.jsxs)(`div`,{className:X.monthScroll,children:[(0,w.jsx)(`div`,{className:X.monthHead,children:ij.map(e=>(0,w.jsx)(`span`,{className:X.monthHeadCell,children:e},e))}),(0,w.jsx)(t.C.div,{className:X.monthGrid,initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.2,ease:[.22,1,.36,1]},children:e.map(e=>{let t=n.Pt(e);return(0,w.jsx)(sj,{date:e,inMonth:e.getMonth()===r.getMonth()&&e.getFullYear()===r.getFullYear(),isToday:t===l,occs:c.get(t)??[],onSelectBlock:o,onSelectSlot:s},t)})})]})},Z={sidebar:`_sidebar_p4iov_4`,summaryGrid:`_summaryGrid_p4iov_36`,summaryCard:`_summaryCard_p4iov_42`,summaryTop:`_summaryTop_p4iov_54`,summaryTopIcon:`_summaryTopIcon_p4iov_60`,summaryValue:`_summaryValue_p4iov_65`,summaryLabel:`_summaryLabel_p4iov_73`,sideHeader:`_sideHeader_p4iov_82`,quickRow:`_quickRow_p4iov_92`,quickBtn:`_quickBtn_p4iov_97`,legendIcon:`_legendIcon_p4iov_118`,legend:`_legend_p4iov_118`,legendItem:`_legendItem_p4iov_129`,legendItemOn:`_legendItemOn_p4iov_151`,legendOff:`_legendOff_p4iov_156`,legendSwatch:`_legendSwatch_p4iov_160`,legendSwatchOff:`_legendSwatchOff_p4iov_172`,drawerHeader:`_drawerHeader_p4iov_177`,drawerTitle:`_drawerTitle_p4iov_185`,drawerCloseBtn:`_drawerCloseBtn_p4iov_191`},lj={hidden:{},visible:{transition:{staggerChildren:.05}}},uj=({occurrences:e,today:r,availability:i})=>{let a=n.xt(e,r),o=n.zt[(r.getDay()+6)%7]?.id??`mon`,s=i?.[o],c=s?.active?s.slots:[],l=[{label:`Free`,value:`${String(Sk(e,r,c))}h`,color:`var(--color-primary)`,Icon:t.ot},{label:`Busy`,value:`${String(a.busyHours)}h`,color:ok.busy.color,Icon:ok.busy.Icon},{label:`Meetings`,value:String(a.meetingCount),color:ok.meeting.color,Icon:ok.meeting.Icon},{label:`Focus`,value:`${String(a.focusHours)}h`,color:ok.focus.color,Icon:ok.focus.Icon}];return(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`div`,{className:Z.sideHeader,children:`Today`}),(0,w.jsx)(t.C.div,{className:Z.summaryGrid,variants:lj,initial:`hidden`,animate:`visible`,children:l.map(e=>(0,w.jsxs)(t.C.div,{className:Z.summaryCard,style:t.it({"--v":e.color}),variants:t.x,whileHover:{y:-2},children:[(0,w.jsxs)(`span`,{className:Z.summaryTop,children:[(0,w.jsx)(e.Icon,{size:12,strokeWidth:2.4,className:Z.summaryTopIcon}),(0,w.jsx)(`span`,{className:Z.summaryLabel,children:e.label})]}),(0,w.jsx)(`span`,{className:Z.summaryValue,children:e.value})]},e.label))})]})},dj=({onQuickAdd:e})=>(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`div`,{className:Z.sideHeader,children:`Quick add`}),(0,w.jsx)(`div`,{className:Z.quickRow,children:[{status:`focus`,minutes:60,title:`Deep work`,label:`Focus 1h`},{status:`busy`,minutes:30,title:`Busy`,label:`Busy 30m`}].map(n=>{let r=ok[n.status];return(0,w.jsxs)(t.C.button,{type:`button`,whileTap:{scale:.96},className:Z.quickBtn,style:t.it({"--status-color":r.color}),onClick:()=>{e(n.status,n.minutes,n.title)},children:[(0,w.jsx)(r.Icon,{size:11}),` `,n.label]},n.label)})})]}),fj=({activeStatuses:e,onToggleStatus:r})=>(0,w.jsxs)(`div`,{children:[(0,w.jsx)(`div`,{className:Z.sideHeader,children:`Status legend`}),(0,w.jsx)(`div`,{className:Z.legend,children:n.St.map(n=>{let i=ok[n.id],a=e.has(n.id);return(0,w.jsxs)(t.C.button,{type:`button`,whileTap:{scale:.97},className:t.at(Z.legendItem,a?Z.legendItemOn:Z.legendOff),style:t.it({"--status-color":i.color}),onClick:()=>{r(n.id)},children:[(0,w.jsx)(`span`,{className:t.at(Z.legendSwatch,!a&&Z.legendSwatchOff),children:(0,w.jsx)(t.T,{children:a&&(0,w.jsx)(t.C.span,{initial:{scale:0},animate:{scale:1},exit:{scale:0},transition:{type:`spring`,stiffness:500,damping:28},children:(0,w.jsx)(b,{size:11,strokeWidth:3})})})}),(0,w.jsx)(i.Icon,{size:12,className:Z.legendIcon}),n.label]},n.id)})})]}),pj=e=>(0,w.jsxs)(`aside`,{className:Z.sidebar,children:[e.onClose!==void 0&&(0,w.jsxs)(`div`,{className:Z.drawerHeader,children:[(0,w.jsx)(`span`,{className:Z.drawerTitle,children:`Schedule Settings`}),(0,w.jsx)(`button`,{type:`button`,className:Z.drawerCloseBtn,onClick:e.onClose,"aria-label":`Close schedule settings`,children:(0,w.jsx)(C,{size:16})})]}),(0,w.jsx)(uj,{occurrences:e.occurrences,today:e.today,availability:e.availability}),(0,w.jsx)(dj,{onQuickAdd:e.onQuickAdd}),(0,w.jsx)(fj,{activeStatuses:e.activeStatuses,onToggleStatus:e.onToggleStatus})]}),mj=(e,t,n,r)=>{let i=Math.min(e,t),a=Math.max(e,t);if(e===t){let e=r-1;return{firstDayIdx:i,lastDayIdx:a,startHour:Math.min(n,e),endHour:Math.max(n,e)+1}}return e>t?{firstDayIdx:i,lastDayIdx:a,startHour:r-1,endHour:n}:{firstDayIdx:i,lastDayIdx:a,startHour:n,endHour:r}},hj=({item:e,range:n,onSelect:r})=>{let{occurrence:i}=e,{block:a}=i,o=ok[a.status],s=pk(i.start,i.end,n),c=i.continuesFromPrevDay===!0,l=i.continuesToNextDay===!0,u=c?`Continued from the previous day`:l?`Continues into the next day`:void 0;return(0,w.jsxs)(t.C.button,{type:`button`,draggable:!0,title:u,onDragStartCapture:e=>{e.dataTransfer.setData(`text/plain`,a.id)},initial:{opacity:0,scale:.96},animate:{opacity:1,scale:1},transition:{duration:.18,ease:[.22,1,.36,1]},className:X.block,style:{...t.it({"--status-color":o.color,"--top":`${String(s.top)}px`,"--h":`${String(s.height)}px`,"--lane":e.lane,"--lanes":e.lanes}),...c?{borderTopLeftRadius:0,borderTopRightRadius:0}:{},...l?{borderBottomLeftRadius:0,borderBottomRightRadius:0}:{}},onClick:()=>{r(a)},children:[(0,w.jsxs)(`span`,{className:X.blockTitle,children:[c&&(0,w.jsx)(ee,{size:10,"aria-hidden":!0}),` `,(0,w.jsx)(o.Icon,{size:10}),` `,a.title]}),s.height>=30&&(0,w.jsxs)(`span`,{className:X.blockTime,children:[tk(i.start),` – `,tk(i.end),l&&(0,w.jsx)(x,{size:10,"aria-hidden":!0})]})]})},gj=({occurrence:e,onSelect:n})=>{let{block:r}=e,i=ok[r.status];return(0,w.jsxs)(`button`,{type:`button`,className:X.allDayChip,style:t.it({"--status-color":i.color}),onClick:()=>{n(r)},children:[(0,w.jsx)(i.Icon,{size:10}),` `,r.title]})},_j=e=>`${String(e).padStart(2,`0`)}:00`,vj=({bands:e,range:n,onSelectSlot:r,onSelectBlock:i})=>(0,w.jsx)(w.Fragment,{children:e.map(e=>{let a=e.block.allDay&&e.continuesFromPrevDay!==!0&&e.continuesToNextDay!==!0?{top:0,height:fk(n)}:pk(e.start,e.end,n);return(0,w.jsxs)(`div`,{className:X.availabilityBand,style:t.it({"--top":`${String(a.top)}px`,"--h":`${String(a.height)}px`}),onClick:()=>{r(e.start,e.end)},children:[(0,w.jsxs)(`span`,{className:X.availabilityBandLabel,children:[(0,w.jsx)(b,{size:11,strokeWidth:3}),` Available`]}),(0,w.jsx)(`button`,{type:`button`,className:X.availabilityBandEditBtn,onClick:t=>{t.stopPropagation(),i(e.block)},children:`Edit`})]},e.key)})}),yj=({day:e,cell:t,dayIndex:r,range:i,onDragSelectStart:a,onDragSelectEnter:o,onDropBlock:s,onSelectSlot:c})=>(0,w.jsx)(w.Fragment,{children:dk(i).map(i=>(0,w.jsx)(`button`,{type:`button`,className:X.hourRow,"aria-label":`Add a block on ${e.long} at ${sk(i)}`,onMouseDown:e=>{e.button===0&&(e.preventDefault(),a(r,i))},onMouseEnter:e=>{o(r,i,e.buttons)},onDragOver:e=>{e.preventDefault()},onDrop:e=>{let r=e.dataTransfer.getData(`text/plain`);r&&s(r,ak(n.Pt(t.date),_j(i)))},onClick:()=>{c(ak(n.Pt(t.date),_j(i)))}},i))}),bj=e=>e===0?``:e===1?`1 event`:`${String(e)} events`,xj=({day:e,cell:n,count:r,off:i})=>(0,w.jsxs)(`div`,{className:X.dayHeader,children:[(0,w.jsx)(`span`,{className:t.at(X.colDay,n.isToday&&X.colDayToday),children:e.short}),(0,w.jsx)(`span`,{className:t.at(X.dayNum,n.isToday&&X.dayNumToday),children:n.dayNumber}),(0,w.jsx)(`span`,{className:X.dayCount,children:i?`Day off`:bj(r)})]}),Sj=({allDay:e,onSelectBlock:t})=>(0,w.jsx)(`div`,{className:X.allDayBand,children:e.map(e=>(0,w.jsx)(gj,{occurrence:e,onSelect:t},e.key))}),Cj=({dayIndex:e,dragSelect:n,rangeStartHour:r})=>n===null||e<Math.min(n.startDayIndex,n.endDayIndex)||e>Math.max(n.startDayIndex,n.endDayIndex)?null:(0,w.jsx)(`div`,{className:X.dragSelectionHighlight,style:t.it({"--top":`${String((Math.min(n.startHour,n.endHour-1)-r)*52)}px`,"--h":`${String(Math.abs(n.endHour-n.startHour)*52)}px`}),children:(0,w.jsxs)(`span`,{className:X.dragSelectionLabel,children:[sk(Math.min(n.startHour,n.endHour)),` –`,` `,sk(Math.max(n.startHour,n.endHour))]})}),wj=(e,t)=>{let n=e.filter(e=>e.dayIndex===t);return{dayOccs:n,allDay:n.filter(e=>e.block.allDay&&e.block.status!==`available`),availabilityBands:n.filter(e=>e.block.status===`available`),laid:yk(n.filter(e=>!e.block.allDay&&e.block.status!==`available`))}},Tj=({active:e,slots:n,range:r,cell:i,day:a,dayIndex:o,now:s,availabilityBands:c,laid:l,dragSelect:u,onDragSelectStart:d,onDragSelectEnter:f,onDropBlock:p,onSelectSlot:m,onSelectBlock:h})=>{let g=hk(e,n,r),_=i.isToday?gk(s,r):null;return(0,w.jsxs)(`div`,{className:X.hoursWrap,style:t.it({"--grid-h":`${String(fk(r))}px`}),children:[g.map(e=>(0,w.jsx)(`div`,{className:X.workBand,style:t.it({"--top":`${String(e.top)}px`,"--h":`${String(e.height)}px`})},e.top)),(0,w.jsx)(vj,{bands:c,range:r,onSelectSlot:m,onSelectBlock:h}),(0,w.jsx)(yj,{day:a,cell:i,dayIndex:o,range:r,onDragSelectStart:d,onDragSelectEnter:f,onDropBlock:p,onSelectSlot:m}),(0,w.jsx)(Cj,{dayIndex:o,dragSelect:u,rangeStartHour:r.startHour}),_!==null&&(0,w.jsx)(`div`,{className:X.nowLine,style:t.it({"--top":`${String(_)}px`}),children:(0,w.jsx)(`span`,{className:X.nowDot})}),l.map(e=>(0,w.jsx)(hj,{item:e,range:r,onSelect:h},e.occurrence.key))]})},Ej=e=>{let{day:n,cell:r,dayIndex:i,occurrences:a,onSelectBlock:o,active:s}=e,{dayOccs:c,allDay:l,availabilityBands:u,laid:d}=wj(a,i),f=!s;return(0,w.jsxs)(`div`,{className:t.at(X.dayCol,r.isToday&&X.dayColToday),children:[(0,w.jsx)(xj,{day:n,cell:r,count:c.length,off:f}),(0,w.jsx)(Sj,{allDay:l,onSelectBlock:o}),(0,w.jsx)(Tj,{...e,availabilityBands:u,laid:d})]})},Dj=({range:e})=>(0,w.jsxs)(`div`,{className:X.gutter,children:[(0,w.jsx)(`div`,{className:X.gutterHead}),(0,w.jsx)(`div`,{className:X.gutterAllDay,children:`all-day`}),Array.from({length:e.endHour-e.startHour},(t,n)=>e.startHour+n).map(e=>(0,w.jsx)(`div`,{className:X.gutterHour,children:sk(e)},e))]}),Oj=(e,t)=>{let[i,a]=(0,r.useState)(null);return(0,r.useEffect)(()=>{let r=()=>{if(i!==null){let{firstDayIdx:r,lastDayIdx:o,startHour:s,endHour:c}=mj(i.startDayIndex,i.endDayIndex,i.startHour,i.endHour),l=e[r],u=e[o];l&&u&&t(ak(n.Pt(l.date),`${String(s).padStart(2,`0`)}:00`),ak(n.Pt(u.date),`${String(c).padStart(2,`0`)}:00`)),a(null)}};return window.addEventListener(`mouseup`,r),()=>{window.removeEventListener(`mouseup`,r)}},[i,e,t]),{dragSelect:i,startDrag:(e,t)=>{a({startDayIndex:e,endDayIndex:e,startHour:t,endHour:t+1})},enterDrag:(e,t,n)=>{if(i!==null){if(n!==1){a(null);return}a({...i,endDayIndex:e,endHour:t+1})}}}},kj=e=>{let t=n.k();return{dropBlock:(n,r)=>{let i=e.find(e=>e.block.id===n);if(!i)return;let a=i.block.durationMinutes,o=new Date(new Date(r).getTime()+a*6e4).toISOString();t.mutate({id:n,draft:{title:i.block.title,status:i.block.status,start:r,end:o,allDay:i.block.allDay,notes:i.block.notes,recurrence:i.block.recurrence}})}}},Aj=e=>({active:e?e.active:!0,slots:e?.slots??[{from:`09:00`,to:`17:00`}]}),jj=({days:e,cells:i,occurrences:a,availability:o,workStart:s,workEnd:c,range:l,now:u,onSelectBlock:d,onSelectSlot:f})=>{let p=(0,r.useRef)(null),{dragSelect:m,startDrag:h,enterDrag:g}=Oj(i,f),{dropBlock:_}=kj(a),v=(0,r.useRef)(u);v.current=u;let{startHour:y,endHour:b}=l,x=u.getHours()*60+u.getMinutes(),S=i.some(e=>e.isToday)&&x>=y*60&&x<=b*60;(0,r.useEffect)(()=>{let e=p.current;if(e===null)return;let t=S?vk(v.current,y):_k(s,c,y);e.scrollTo({top:Math.max(0,Math.min(t,e.scrollHeight-e.clientHeight))})},[y,s,c,S]);let ee=Math.max(1,...e.map(e=>{let t=n.zt.findIndex(t=>t.id===e.id);return a.filter(e=>e.dayIndex===t&&e.block.allDay).length}));return(0,w.jsx)(`div`,{className:X.gridScroll,ref:p,children:(0,w.jsxs)(`div`,{className:X.gridInner,style:t.it({"--all-day-rows":ee}),children:[(0,w.jsx)(Dj,{range:l}),e.map(e=>{let t=n.zt.findIndex(t=>t.id===e.id),r=i[t]??i[0];if(r===void 0)return null;let{active:s,slots:c}=Aj(o?o[e.id]:null);return(0,w.jsx)(Ej,{day:e,cell:r,dayIndex:t,active:s,slots:c,range:l,now:u,occurrences:a,dragSelect:m,onDragSelectStart:h,onDragSelectEnter:g,onDropBlock:_,onSelectBlock:d,onSelectSlot:f},e.id)})]})})},Mj=[{id:`day`,label:`Day`},{id:`week`,label:`Week`},{id:`workweek`,label:`Work Week`},{id:`month`,label:`Month`},{id:`agenda`,label:`Agenda`},{id:`hours`,label:`Working Hours`}],Nj=e=>e===`month`||e===`agenda`,Pj=(e,t)=>{let n=new Set(e);return t===`agenda`?n.delete(`available`):t!==`hours`&&n.add(`available`),n},Fj=(e,t)=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n},Ij=()=>{let[e,t]=(0,r.useState)(`week`),[i,a]=(0,r.useState)(0),[o,s]=(0,r.useState)(0),[c,l]=(0,r.useState)(null),[u,d]=(0,r.useState)(()=>new Set(n.St.map(e=>e.id))),[f,p]=(0,r.useState)(``),m=n.m(f).display;return{view:e,setView:e=>{t(e),d(t=>Pj(t,e))},dayOffset:i,monthOffset:o,goPrev:()=>{Nj(e)?s(e=>e-1):a(e===`day`?e=>e-1:e=>e-7)},goNext:()=>{Nj(e)?s(e=>e+1):a(e===`day`?e=>e+1:e=>e+7)},goToday:()=>{a(0),s(0)},active:u,toggle:e=>{d(t=>Fj(t,e))},editor:c,openCreate:(e,t)=>{l({mode:`create`,start:e,...t===void 0?{}:{end:t}})},openQuick:(e,t,n)=>{let r=new Date(Tk(new Date().toISOString(),m));r.setSeconds(0,0),r.setMinutes(Math.ceil(r.getMinutes()/5)*5);let i=new Date(r.getTime()+t*6e4);l({mode:`create`,start:r.toISOString(),end:i.toISOString(),status:e,title:n})},openEdit:e=>{l({mode:`edit`,block:e})},closeEditor:()=>{l(null)},timezone:m,setTimezone:p}},Q={scheduleRoot:`_scheduleRoot_5za8e_7`,toolbar:`_toolbar_5za8e_16`,scheduleSelect:`_scheduleSelect_5za8e_27`,weekNav:`_weekNav_5za8e_39`,dateLabel:`_dateLabel_5za8e_45`,navBtn:`_navBtn_5za8e_54`,todayBtn:`_todayBtn_5za8e_75`,viewChips:`_viewChips_5za8e_92`,viewChip:`_viewChip_5za8e_92`,viewChipBg:`_viewChipBg_5za8e_119`,viewChipLabel:`_viewChipLabel_5za8e_128`,viewChipActive:`_viewChipActive_5za8e_134`,newBtn:`_newBtn_5za8e_140`,main:`_main_5za8e_156`,calArea:`_calArea_5za8e_163`,hoursArea:`_hoursArea_5za8e_172`,sidebarToggleBtn:`_sidebarToggleBtn_5za8e_181`,sidebarToggleBtnActive:`_sidebarToggleBtnActive_5za8e_199`},Lj=e=>e.view===`month`?(0,w.jsx)(cj,{dates:e.monthDates,anchor:e.monthAnchor,occurrences:e.monthOccurrences,today:e.today,onSelectBlock:e.onSelectBlock,onSelectSlot:e.onSelectSlot}):e.view===`agenda`?(0,w.jsx)(rj,{occurrences:e.monthOccurrences,onSelectBlock:e.onSelectBlock,onCreate:e.onCreate}):(0,w.jsx)(jj,{days:e.days,cells:e.cells,occurrences:e.weekOccurrences,availability:e.availability,workStart:e.workStart,workEnd:e.workEnd,range:e.range,now:e.today,onSelectBlock:e.onSelectBlock,onSelectSlot:e.onSelectSlot}),Rj=e=>{let n=t.rt(`(max-width: 1024px)`);return(0,w.jsxs)(`div`,{className:Q.main,children:[(0,w.jsxs)(`div`,{className:Q.calArea,children:[e.query.isPending&&(0,w.jsx)(`div`,{className:Pk.center,children:(0,w.jsx)(t.nt,{label:`Loading schedule`})}),e.query.isError&&(0,w.jsx)(t.et,{tone:`error`,title:`Could not load schedule`,children:e.query.error.message}),e.query.isSuccess&&Lj(e)]}),!n&&(0,w.jsx)(pj,{occurrences:e.summary,today:e.today,availability:e.availability,workStart:e.workStart,workEnd:e.workEnd,activeStatuses:e.active,onToggleStatus:e.onToggle,onQuickAdd:e.onQuickAdd}),n&&(0,w.jsx)(t._,{open:e.isSidebarOpen??!1,onOpenChange:t=>{!t&&e.onCloseSidebar!==void 0&&e.onCloseSidebar()},title:`Schedule Settings`,side:`right`,children:(0,w.jsx)(pj,{occurrences:e.summary,today:e.today,availability:e.availability,workStart:e.workStart,workEnd:e.workEnd,activeStatuses:e.active,onToggleStatus:e.onToggle,onQuickAdd:e.onQuickAdd,onClose:e.onCloseSidebar})})]})},zj=(e,t)=>e.meetingDuration!==t.meetingDuration||e.bufferMinutes!==t.bufferMinutes,Bj=(e,t,r)=>{let i=n.h.from({personal:t.timezone,anchor:t.availabilityTimezone});return{anchorZone:i.anchor,initialTimezone:i.display,initialInZone:JA(e,i.anchor,i.display,r)}},Vj=e=>{let t={};for(let[n,r]of Object.entries(e))t[n]={active:r.active,slots:r.slots.map(e=>({from:e.from,to:e.to}))};return t},Hj=(e,i,a)=>{let o=n.E(),s=n.D(),[c]=(0,r.useState)(()=>a.now()),[{anchorZone:l,initialTimezone:u,initialInZone:d}]=(0,r.useState)(()=>Bj(e,i,c)),[f,p]=(0,r.useState)(d),[m,h]=(0,r.useState)(u),[g,_]=(0,r.useState)(i.meetingDuration),[v,y]=(0,r.useState)(i.bufferMinutes),b=JA(f,m,l,c),x=JSON.stringify(Vj(b))!==JSON.stringify(Vj(e)),S=zj({meetingDuration:g,bufferMinutes:v},i);return(0,r.useEffect)(()=>{o.isSuccess&&p(JA(e,l,m,c))},[e,o.isSuccess,l,m,c]),(0,r.useEffect)(()=>{s.isSuccess&&(_(i.meetingDuration),y(i.bufferMinutes))},[i,s.isSuccess]),{draft:f,timezone:m,meetingDuration:g,bufferMinutes:v,now:c,dirty:x||S,isSaving:o.isPending||s.isPending,isSuccess:o.isSuccess||s.isSuccess,isError:o.isError||s.isError,errorMsg:o.error?.message??s.error?.message??``,setMeetingDuration:_,setBufferMinutes:y,patchDay:(e,t)=>{o.reset(),s.reset(),p(n=>({...n,[e]:{...n[e],...t}}))},changeTimezone:e=>{o.reset(),s.reset(),p(t=>JA(t,m,e,c)),h(e)},reset:()=>{o.mutate(null,{onSuccess:()=>{t.l.success(`Reverted to your branch default hours.`)},onError:()=>{t.l.error(`Could not revert to branch defaults. Please try again.`)}})},onSave:()=>{o.reset(),s.reset(),x&&o.mutate(b),S&&s.mutate({...i,meetingDuration:g,bufferMinutes:v})}}},$={hours:`_hours_ftj0h_5`,fieldLabel:`_fieldLabel_ftj0h_18`,chips:`_chips_ftj0h_24`,chipBtn:`_chipBtn_ftj0h_30`,chipBtnActive:`_chipBtnActive_ftj0h_50`,chipBg:`_chipBg_ftj0h_56`,chipLabel:`_chipLabel_ftj0h_64`,dayRow:`_dayRow_ftj0h_69`,toggle:`_toggle_ftj0h_77`,toggleOn:`_toggleOn_ftj0h_90`,toggleKnob:`_toggleKnob_ftj0h_95`,dayName:`_dayName_ftj0h_102`,overflowLabel:`_overflowLabel_ftj0h_112`,dayTimes:`_dayTimes_ftj0h_119`,timeInput:`_timeInput_ftj0h_127`,resetBtn:`_resetBtn_ftj0h_144`,readonlyField:`_readonlyField_ftj0h_162`,fieldHint:`_fieldHint_ftj0h_175`,formFooter:`_formFooter_ftj0h_180`,formStatus:`_formStatus_ftj0h_188`,saveBtn:`_saveBtn_ftj0h_194`,inheritedBanner:`_inheritedBanner_ftj0h_212`,inheritedBadge:`_inheritedBadge_ftj0h_218`,badgeSub:`_badgeSub_ftj0h_229`,customBadge:`_customBadge_ftj0h_234`,customBadgeText:`_customBadgeText_ftj0h_247`,resetToBranchBtn:`_resetToBranchBtn_ftj0h_251`,settingsGrid:`_settingsGrid_ftj0h_271`},Uj=({name:e,options:n,selected:r,onSelect:i})=>(0,w.jsx)(`div`,{className:$.chips,children:n.map(n=>{let a=r===n;return(0,w.jsxs)(`button`,{type:`button`,className:t.at($.chipBtn,a&&$.chipBtnActive),onClick:()=>{i(n)},children:[a&&(0,w.jsx)(t.C.span,{layoutId:`chip-${e}`,className:$.chipBg,transition:{type:`spring`,stiffness:420,damping:34}}),(0,w.jsxs)(`span`,{className:$.chipLabel,children:[n,`m`]})]},n)})}),Wj=({meetingDuration:e,bufferMinutes:t,onDurationChange:r,onBufferChange:i})=>(0,w.jsxs)(`div`,{className:$.settingsGrid,children:[(0,w.jsxs)(`div`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:$.fieldLabel,children:`Meeting duration`}),(0,w.jsx)(Uj,{name:`duration`,options:n.wt,selected:e,onSelect:r})]}),(0,w.jsxs)(`div`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:$.fieldLabel,children:`Buffer between meetings`}),(0,w.jsx)(Uj,{name:`buffer`,options:n.Ct,selected:t,onSelect:i})]})]}),Gj=({slot:e,index:n,slots:r,active:i,onChange:a})=>{let o=r[n-1],s=r[n+1],c=o===void 0?void 0:o.to,l=e.to,u=e.from,d=s===void 0?void 0:s.from;return(0,w.jsxs)(`div`,{className:$.dayTimes,children:[(0,w.jsx)(t.r,{value:e.from,minTime:c,maxTime:l,disabled:!i,onChange:t=>{let i=[...r];i[n]={...e,from:t},a(i)}}),(0,w.jsx)(`span`,{className:Pk.dash,children:`–`}),(0,w.jsx)(t.r,{value:e.to,minTime:u,maxTime:d,disabled:!i,align:`end`,onChange:t=>{let i=[...r];i[n]={...e,to:t},a(i)}}),(0,w.jsx)(`button`,{type:`button`,className:$.resetBtn,disabled:!i||r.length===1,onClick:()=>{a(r.filter((e,t)=>t!==n))},children:`Delete`})]})},Kj=({day:e,value:n,onChange:r})=>(0,w.jsxs)(`div`,{className:$.dayRow,children:[(0,w.jsx)(`button`,{type:`button`,className:t.at($.toggle,n.active&&$.toggleOn),"aria-pressed":n.active,onClick:()=>{r({active:!n.active})},children:(0,w.jsx)(`span`,{className:$.toggleKnob})}),(0,w.jsx)(`span`,{className:$.dayName,children:e.long}),(0,w.jsxs)(`div`,{style:{display:`flex`,flexDirection:`column`,gap:`8px`,flex:1},children:[n.slots.map((e,t)=>(0,w.jsx)(Gj,{slot:e,index:t,slots:n.slots,active:n.active,onChange:e=>{r({slots:e})}},e.id)),(0,w.jsx)(`button`,{type:`button`,className:$.resetBtn,style:{alignSelf:`flex-start`,margin:0},disabled:!n.active,onClick:()=>{let e=n.slots[n.slots.length-1],t=`09:00`,i=`17:00`;e!==void 0&&e.to<`22:00`&&(t=e.to,i=`23:00`),r({slots:[...n.slots,{id:crypto.randomUUID(),from:t,to:i}]})},children:`+ Add Time`})]}),(0,w.jsxs)(`button`,{type:`button`,className:$.resetBtn,onClick:()=>{r({active:!0,slots:[{id:crypto.randomUUID(),from:`09:00`,to:`17:00`}]})},children:[(0,w.jsx)(ze,{size:13}),` Reset`]})]}),qj=({timezone:e,branchName:t,now:n,onTimezoneChange:r})=>(0,w.jsxs)(`div`,{className:$.settingsGrid,children:[(0,w.jsxs)(`div`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:$.fieldLabel,children:`Timezone`}),(0,w.jsx)($A,{value:e,now:n,onChange:r}),(0,w.jsx)(`span`,{className:$.fieldHint,children:`Preview only — set your saved timezone in Profile`})]}),(0,w.jsxs)(`div`,{className:Pk.field,children:[(0,w.jsx)(`span`,{className:$.fieldLabel,children:`Home Branch`}),(0,w.jsx)(`div`,{className:$.readonlyField,children:t}),(0,w.jsx)(`span`,{className:$.fieldHint,children:`Assigned from your UAPP account`})]})]}),Jj=({isOverride:e,branchName:t,onReset:n})=>(0,w.jsx)(`div`,{className:$.inheritedBanner,children:e?(0,w.jsxs)(`div`,{className:$.customBadge,children:[(0,w.jsxs)(`span`,{className:$.customBadgeText,children:[`Customized Working Hours (overrides `,t,`)`]}),(0,w.jsxs)(`button`,{type:`button`,className:$.resetToBranchBtn,onClick:n,children:[(0,w.jsx)(ot,{size:13}),` Use Branch Defaults`]})]}):(0,w.jsxs)(`div`,{className:$.inheritedBadge,children:[(0,w.jsxs)(`span`,{children:[`Inheriting default hours from `,(0,w.jsx)(`strong`,{children:t})]}),(0,w.jsx)(`span`,{className:$.badgeSub,children:`Modifying the hours below will create a personal override.`})]})}),Yj=({statusText:e,disabled:t,onClick:n})=>(0,w.jsxs)(`div`,{className:$.formFooter,children:[(0,w.jsx)(`span`,{className:$.formStatus,children:e}),(0,w.jsx)(`button`,{type:`button`,className:$.saveBtn,disabled:t,onClick:n,children:`Save changes`})]}),Xj=(e,t)=>e?`Unsaved changes`:t?`Saved`:``,Zj=({initial:e,isOverride:r,branchName:i,prefs:a})=>{let{clock:o}=n.A(),s=Hj(e,a,o),c=Xj(s.dirty,s.isSuccess);return(0,w.jsxs)(`div`,{className:$.hours,children:[(0,w.jsx)(qj,{timezone:s.timezone,branchName:i,now:s.now,onTimezoneChange:s.changeTimezone}),(0,w.jsx)(Wj,{meetingDuration:s.meetingDuration,bufferMinutes:s.bufferMinutes,onDurationChange:s.setMeetingDuration,onBufferChange:s.setBufferMinutes}),(0,w.jsx)(Jj,{isOverride:r,branchName:i,onReset:s.reset}),n.zt.map(e=>(0,w.jsx)(Kj,{day:e,value:s.draft[e.id],onChange:t=>{s.patchDay(e.id,t)}},e.id)),s.isError&&(0,w.jsx)(t.et,{tone:`error`,title:`Could not save`,children:s.errorMsg}),(0,w.jsx)(Yj,{statusText:c,disabled:!s.dirty||s.isSaving,onClick:s.onSave})]})},Qj=(e,t,n)=>e?.message??t?.message??n?.message??`Unknown error`,$j=(e,t)=>e?.branches.find(e=>e.id===t)?.name??`your branch`,eM=()=>{let e=n.w(),r=Vs(),i=n.T();if(e.isPending||r.isPending||i.isPending)return(0,w.jsx)(`div`,{className:Pk.center,children:(0,w.jsx)(t.nt,{label:`Loading working hours`})});if(e.isError||r.isError||i.isError)return(0,w.jsx)(t.et,{tone:`error`,title:`Could not load working hours`,children:Qj(e.error,r.error,i.error)});let a=$j(r.data,i.data.branchId);return(0,w.jsx)(Zj,{initial:e.data.weekly,isOverride:e.data.isOverride,branchName:a,prefs:i.data},`${String(e.data.isOverride)}:${e.data.source}`)},tM={workStart:`09:00`,workEnd:`17:00`,branchId:`uk`},nM=(e,t)=>e===`day`?n.zt.slice(t,t+1):e===`workweek`?n.zt.slice(0,5):n.zt,rM=e=>{let[t]=e.split(`:`);return Number(t??`0`)},iM=(e,t,r)=>{if(e!==null)return e;if(t){let e=$a(t,r),i={};for(let t of n.zt){let n=e[t.id];i[t.id]={active:n.active,slots:[{id:crypto.randomUUID(),from:n.from,to:n.to}]}}return i}let i={};for(let e of n.zt)i[e.id]={active:e.id!==`sat`&&e.id!==`sun`,slots:[{id:crypto.randomUUID(),from:`09:00`,to:`17:00`}]};return i},aM=(e,t,n,r)=>t!==``&&t!==n?JA(e,t,n,r):e,oM=e=>{let t=Object.values(e).filter(e=>e.active).flatMap(e=>e.slots),n=t.length>0?Math.min(...t.map(e=>rM(e.from))):9,r=t.length>0?Math.max(...t.map(e=>rM(e.to))):17;return{workStart:`${String(Math.max(0,n)).padStart(2,`0`)}:00`,workEnd:`${String(Math.min(24,r)).padStart(2,`0`)}:00`}},sM=(e,t)=>(0,r.useMemo)(()=>{let r=e??[],i=n.g();if(t===i)return r;let a=e=>{let r=new Date(e),a=n.v(t,r)-n.v(i,r);return a===0?e:new Date(r.getTime()+a*6e4).toISOString()};return r.map(e=>new n.Et({id:e.id,userId:e.userId,title:e.title,status:e.status,start:a(e.start),end:a(e.end),allDay:e.allDay,notes:e.notes,recurrence:e.recurrence}))},[e,t]),cM=e=>{let t=n.O(),i=n.x().data??null,a=n.T().data,o=a??tM,s=Vs(),c=new Date,l=n.v(e.timezone,c)-n.v(n.g(),c),u=new Date(c.getTime()+l*6e4),d=e.view===`month`||e.view===`agenda`,f=t=>e.active.has(t.block.status),p=o.branchId,m=aM((0,r.useMemo)(()=>iM(i,s.data,p),[i,s.data,p]),a?.availabilityTimezone??``,e.timezone,c),{workStart:h,workEnd:g}=oM(m),_=e.timezone,v=sM(t.data,_),y=(u.getDay()+6)%7,b=Math.floor((e.dayOffset+y)/7),x=((e.dayOffset+y)%7+7)%7,S=n.bt(v,qO(u,b)),ee=$O(u,e.monthOffset),te=n.yt(ee[0]??u,ee[ee.length-1]??u,v),ne=new Date(u);return ne.setSeconds(0,0),ne.setMinutes(Math.ceil(ne.getMinutes()/30)*30),{query:t,today:u,days:nM(e.view,x),cells:JO(u,b),weekOccurrences:S.filter(f),availability:m,workStart:h,workEnd:g,range:uk(S,h,g),monthDates:ee,monthAnchor:ZO(u,e.monthOffset),monthOccurrences:te.filter(f),summary:d?te:S,rangeText:d?QO(u,e.monthOffset):XO(u,b),defaultStart:ne.toISOString()}},lM=({view:e,onView:n})=>(0,w.jsx)(`div`,{className:Q.viewChips,children:Mj.map(r=>{let i=e===r.id;return(0,w.jsxs)(`button`,{type:`button`,className:t.at(Q.viewChip,i&&Q.viewChipActive),onClick:()=>{n(r.id)},children:[i&&(0,w.jsx)(t.C.span,{layoutId:`schedViewBg`,className:Q.viewChipBg,transition:{type:`spring`,stiffness:420,damping:34}}),(0,w.jsx)(`span`,{className:Q.viewChipLabel,children:r.label})]},r.id)})}),uM=({view:e,onView:n,rangeText:r,showNav:i,onPrev:a,onNext:o,onToday:s,onNew:c,timezone:l,setTimezone:u,todayDate:d,onToggleSidebar:f,isSidebarOpen:p})=>(0,w.jsxs)(`div`,{className:Q.toolbar,children:[(0,w.jsx)(`select`,{className:Q.scheduleSelect,"aria-label":`Calendar`,defaultValue:`my`,children:(0,w.jsx)(`option`,{value:`my`,children:`My Schedule`})}),e!==`hours`&&(0,w.jsx)($A,{value:l,onChange:u,now:d}),i&&(0,w.jsxs)(`div`,{className:Q.weekNav,children:[(0,w.jsx)(`button`,{type:`button`,className:Q.todayBtn,onClick:s,children:`Today`}),(0,w.jsx)(`button`,{type:`button`,className:Q.navBtn,"aria-label":`Previous week`,onClick:a,children:(0,w.jsx)(S,{size:16})}),(0,w.jsx)(`button`,{type:`button`,className:Q.navBtn,"aria-label":`Next week`,onClick:o,children:(0,w.jsx)(t.ct,{size:16})}),(0,w.jsx)(`span`,{className:Q.dateLabel,children:r})]}),e!==`hours`&&f!==void 0&&(0,w.jsx)(`button`,{type:`button`,className:t.at(Q.sidebarToggleBtn,p&&Q.sidebarToggleBtnActive),"aria-label":`Schedule settings`,title:`Schedule settings`,onClick:f,children:(0,w.jsx)(Xe,{size:15})}),(0,w.jsx)(lM,{view:e,onView:n}),(0,w.jsxs)(`button`,{type:`button`,className:Q.newBtn,onClick:c,children:[(0,w.jsx)(Le,{size:14,strokeWidth:2.5}),` New`]})]}),dM=()=>{let[e,t]=(0,r.useState)(!1),n=Ij(),i=cM(n),a=()=>{n.openCreate(i.defaultStart)};return(0,w.jsxs)(`div`,{className:Q.scheduleRoot,children:[(0,w.jsx)(uM,{view:n.view,onView:n.setView,rangeText:i.rangeText,showNav:n.view!==`hours`,onPrev:n.goPrev,onNext:n.goNext,onToday:n.goToday,onNew:a,timezone:n.timezone,setTimezone:n.setTimezone,todayDate:i.today,onToggleSidebar:()=>{t(e=>!e)},isSidebarOpen:e}),n.view===`hours`?(0,w.jsx)(`div`,{className:Q.hoursArea,children:(0,w.jsx)(eM,{})}):(0,w.jsx)(Rj,{query:i.query,view:n.view,today:i.today,days:i.days,cells:i.cells,weekOccurrences:i.weekOccurrences,availability:i.availability,workStart:i.workStart,workEnd:i.workEnd,range:i.range,monthDates:i.monthDates,monthAnchor:i.monthAnchor,monthOccurrences:i.monthOccurrences,summary:i.summary,active:n.active,onToggle:n.toggle,onSelectBlock:n.openEdit,onSelectSlot:n.openCreate,onCreate:a,onQuickAdd:n.openQuick,isSidebarOpen:e,onCloseSidebar:()=>{t(!1)}}),n.editor!==null&&(0,w.jsx)(NA,{state:n.editor,timezone:n.timezone,onClose:n.closeEditor})]})},fM=()=>{pC(`uapp-schedule`,()=>(0,w.jsx)(xE,{path:`/comms/schedule`,children:(0,w.jsx)(dM,{})}))},pM=6e4,mM=e=>{let t=e.logger??new tr(`info`),n=new cr,r,i=0,a=new Qn(new Jn(new Kn({logger:t,baseUrl:e.apiBaseUrl,getAuthToken:()=>r}),{timeoutMs:2e4,logger:t}),{logger:t}),o=new e_({httpClient:a,clock:n,logger:t,clientKey:e.clientKey,modules:e.modules});return{httpClient:a,logger:t,token:async()=>{if(r!==void 0&&n.now().getTime()<i-pM)return r;let a=await e.getAssertion(),s=await o.exchangeSsoSecret(a);if(!s.ok){t.error(`Could not exchange the assertion for a token`,s.error);return}return r=s.value.accessToken,i=s.value.expiresAt.getTime(),r},currentToken:()=>r}},hM=`/api/app/notification`,gM=async(e,t)=>{try{let t=await e.get(hM);return(Array.isArray(t)?t:[]).map($S).filter(e=>e!==null)}catch(e){return t.error(`Could not load unread notifications`,e),[]}},_M=(e,t,n)=>new wv({logger:t}).create({url:`${e}/signalr/notifications`,accessTokenProvider:n}),vM=e=>{let t=mM({apiBaseUrl:e.apiBaseUrl,clientKey:e.clientKey,getAssertion:e.getAssertion,modules:e.modules??[`commhub.feed`],...e.logger===void 0?{}:{logger:e.logger}}),{httpClient:n,logger:r,token:i}=t,a=null,o=null,s=[];return{start:async()=>{a===null&&await i()!==void 0&&(s=await gM(n,r),s.forEach(e.onNotification),a=_M(e.apiBaseUrl,r,t.currentToken),o=a.on(lx.ReceiveNotification,t=>{let n=$S(t);if(n===null){r.error(`Discarded a malformed notification payload`,{rawPayload:t});return}s=[n,...s.filter(e=>e.id!==n.id)],e.onNotification(n)}),await a.start())},stop:async()=>{o?.(),o=null,await a?.stop(),a=null},markAsRead:async e=>{await i()!==void 0&&(await n.post(`${hM}/${e}/mark-as-read`,{}),s=s.filter(t=>t.id!==e))},unread:()=>s}},yM=e=>{let t=mM({apiBaseUrl:e.apiBaseUrl,clientKey:e.clientKey,getAssertion:e.getAssertion,modules:e.modules??[`commhub.chat`],...e.logger===void 0?{}:{logger:e.logger}}),r=new od({httpClient:t.httpClient,logger:t.logger}),i=async e=>{if(await t.token()===void 0)return null;let r=await e();return n.Ht(r)?r.value:null};return{getMine:()=>i(()=>r.getMine()),setMine:e=>i(()=>r.setMine(e)),clearMine:()=>i(()=>r.clearMine()),getOf:async e=>{if(await t.token()===void 0)return null;let i=await r.getOf(e);return n.Ht(i)?i.value:null}}},bM=()=>{mC(),SE(),KO(),fM()};exports.CommsProvider=rC,exports.SDK_MODULE_SCOPES=n_,exports.WidgetRoot=iC,exports.createNotificationClient=vM,exports.createPresenceClient=yM,exports.defineCustomElements=bM,exports.registerBookingsWidget=KO,exports.registerChatWidget=mC,exports.registerFeedWidget=SE,exports.registerScheduleWidget=fM;
9
9
  //# sourceMappingURL=communication-sdk.cjs.map