@runeya/runeya 2.0.151 → 2.0.153

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.
Files changed (166) hide show
  1. package/agent/index.js +9 -7
  2. package/agent/index.js.map +1 -1
  3. package/agent-manager-SF4CAJJC.js +13 -0
  4. package/chat-Z7SFBEXS.js +28 -0
  5. package/{chunk-ANZF5NLB.js → chunk-26Q43CB2.js} +2 -2
  6. package/{chunk-IOPX7MWA.js → chunk-2DIW5EUT.js} +6 -6
  7. package/{chunk-ZRMLIQZL.js → chunk-3C3R5ZVX.js} +2 -2
  8. package/{chunk-I2EXJ2GI.js → chunk-3O54EIGT.js} +4 -4
  9. package/{chunk-KTRL6RDH.js → chunk-DTRZ5ZN7.js} +5 -5
  10. package/{chunk-3FSQ45SW.js → chunk-EUTW2S4P.js} +87 -16
  11. package/chunk-EUTW2S4P.js.map +1 -0
  12. package/{chunk-NVU7QNZO.js → chunk-MGKGIHT4.js} +2 -4
  13. package/{chunk-NVU7QNZO.js.map → chunk-MGKGIHT4.js.map} +1 -1
  14. package/{chunk-FYAKLTSY.js → chunk-PU6REPMY.js} +5 -5
  15. package/{chunk-FYAKLTSY.js.map → chunk-PU6REPMY.js.map} +1 -1
  16. package/{chunk-NKOG7375.js → chunk-QD2OVLK4.js} +2 -2
  17. package/{chunk-7O54TV2Y.js → chunk-QJSIN26R.js} +45 -38
  18. package/chunk-QJSIN26R.js.map +1 -0
  19. package/{chunk-3JIJSGQW.js → chunk-R4SKU6AO.js} +10 -12
  20. package/chunk-R4SKU6AO.js.map +1 -0
  21. package/{chunk-OCIKN4BK.js → chunk-RVZATF7R.js} +8 -8
  22. package/chunk-RVZATF7R.js.map +1 -0
  23. package/{chunk-YTO4O3UK.js → chunk-TBNCGMDM.js} +5 -5
  24. package/{companion-2YZZSKX5.js → companion-ZDEGNZ2G.js} +11 -9
  25. package/{desktop-installer-page-526XOYLO.js → desktop-installer-page-TBKSXVFD.js} +3 -3
  26. package/{desktop-launcher-WJPN6SPV.js → desktop-launcher-WBYP3KTF.js} +3 -3
  27. package/{environment-resolver-I6KF27QP.js → environment-resolver-R2GH6QOX.js} +6 -6
  28. package/{external-XHTD2IGX.js → external-UJ46WKBL.js} +3 -3
  29. package/index.js +15 -15
  30. package/index.js.map +1 -1
  31. package/{install-gate-VIJIEVF2.js → install-gate-TSCXUCYE.js} +2 -2
  32. package/mcp-server/external.js +7 -6
  33. package/mcp-server/external.js.map +1 -1
  34. package/mcp-server/index.js +7 -6
  35. package/mcp-server/index.js.map +1 -1
  36. package/package.json +1 -1
  37. package/{project-store-GONXVR2N.js → project-store-GBKM34QP.js} +7 -7
  38. package/settings-manager-VSOC3XGI.js +10 -0
  39. package/{src-QMPTXT7D.js → src-6WZKSNN7.js} +2 -2
  40. package/{src-ZDXFSJMJ.js → src-NWPED6TK.js} +33 -39
  41. package/src-NWPED6TK.js.map +1 -0
  42. package/{vault-resolver-MX7WFBJ5.js → vault-resolver-GGHULMG6.js} +3 -3
  43. package/web/assets/{AgentScalarChatInterface.vue-DXbf1TAm.js → AgentScalarChatInterface.vue-CEMnvqfq.js} +1 -1
  44. package/web/assets/{AgentTerminalPage-CgsW_pEb.js → AgentTerminalPage-qQ96vm5Y.js} +1 -1
  45. package/web/assets/{AiChatModals-DLTvqUBK.js → AiChatModals-BsfKdbEA.js} +1 -1
  46. package/web/assets/{AppLayout-BlhwflMq.css → AppLayout-Djk3-XbN.css} +1 -1
  47. package/web/assets/AppLayout-f0_BsXSc.js +1 -0
  48. package/web/assets/{AuditPage-HMNBcG9E.js → AuditPage-B-pCRqXH.js} +1 -1
  49. package/web/assets/CloudAccountPage-C7aV6M8U.js +1 -0
  50. package/web/assets/{CloudAccountPage-Ctf2gtpm.css → CloudAccountPage-CYcW_3tO.css} +1 -1
  51. package/web/assets/{CloudMessagingPage-Csbnn-Zm.js → CloudMessagingPage-BTc8xbjF.js} +1 -1
  52. package/web/assets/{DashboardPage-BeCmdPlp.js → DashboardPage-CF7GLFlx.js} +1 -1
  53. package/web/assets/{DirectoryPickerDialog-DpUZT_4M.js → DirectoryPickerDialog-bKqIFy8e.js} +1 -1
  54. package/web/assets/{EditorIcon-CcU8Z46_.js → EditorIcon-DksI79ZN.js} +1 -1
  55. package/web/assets/EnvironmentForm-BnTLokUw.css +1 -0
  56. package/web/assets/{EnvironmentForm-ypeBVGl-.js → EnvironmentForm-kOyM5xTa.js} +1 -1
  57. package/web/assets/{EnvironmentFormPage-B1gVyMWV.js → EnvironmentFormPage-DfNI6meL.js} +1 -1
  58. package/web/assets/{EnvironmentListPage-CdE-ksue.js → EnvironmentListPage-C1VLgeeP.js} +1 -1
  59. package/web/assets/{FlagChip-maG1f7pl.js → FlagChip-DjC14z4J.js} +1 -1
  60. package/web/assets/{KanbanBoardPage-_E6xalsS.js → KanbanBoardPage-Bl6UnQ6P.js} +3 -3
  61. package/web/assets/KanbanBoardPage-Cmu4Je4N.css +1 -0
  62. package/web/assets/{KanbanListPage-BigioApQ.css → KanbanListPage-DCK-N3nw.css} +1 -1
  63. package/web/assets/{KanbanListPage-DkjiefP8.js → KanbanListPage-Dly6XiRC.js} +1 -1
  64. package/web/assets/{LaunchProjectPage-C4kuqyMZ.js → LaunchProjectPage-DCrKSY8v.js} +1 -1
  65. package/web/assets/{LaunchServicesPage-s8HZF2aU.js → LaunchServicesPage-Bl1pjfYH.js} +1 -1
  66. package/web/assets/{LaunchShell-GWtn69Hh.js → LaunchShell-BcbfPDdc.js} +1 -1
  67. package/web/assets/{LogViewer-B0XUfzs3.js → LogViewer-C_XcH7Oe.js} +1 -1
  68. package/web/assets/{OrgKeyPrompt-Ch8jziJJ.js → OrgKeyPrompt-BK6gkvaO.js} +1 -1
  69. package/web/assets/{ProcessControls-bZbJJjkv.js → ProcessControls-BbRdiZsD.js} +1 -1
  70. package/web/assets/ProcessDetailPage-B7bD2jmj.css +1 -0
  71. package/web/assets/ProcessDetailPage-W7S7ogas.js +1 -0
  72. package/web/assets/{ProcessMetrics-D-rQkzqK.js → ProcessMetrics-C_7_boMv.js} +1 -1
  73. package/web/assets/{ProjectCreateDialog-KjvGUZnr.js → ProjectCreateDialog-q_39qiPd.js} +1 -1
  74. package/web/assets/{ProjectLocationGate-DFe2hgxM.js → ProjectLocationGate-BFvdSy-B.js} +1 -1
  75. package/web/assets/{ProjectPublishDialog-BgPH5gGM.js → ProjectPublishDialog-DAJAvDTT.js} +1 -1
  76. package/web/assets/{RandomJobTestPage-Bv3l2Trh.js → RandomJobTestPage-A-I7cImN.js} +1 -1
  77. package/web/assets/{ScenarioEditorPage-BtKSjE2X.css → ScenarioEditorPage-BwLBCVeS.css} +1 -1
  78. package/web/assets/ScenarioEditorPage-DXw4bCxb.js +14 -0
  79. package/web/assets/{SendToChatDialog-CkWcPSvZ.js → SendToChatDialog-CbhE2WYO.js} +1 -1
  80. package/web/assets/{ServiceControlsBar-VywLkYdH.js → ServiceControlsBar-CudCeQql.js} +1 -1
  81. package/web/assets/ServiceDetailPage-DQvL-VOx.js +2 -0
  82. package/web/assets/{ServiceDetailPage-CM5uzqpI.css → ServiceDetailPage-DuXvqXk4.css} +1 -1
  83. package/web/assets/{ServiceFormPage-v9c7DVdv.js → ServiceFormPage-0qXPeqrh.js} +1 -1
  84. package/web/assets/{SettingsPage-CetQ42p1.js → SettingsPage-Bjn4bKPP.js} +7 -7
  85. package/web/assets/{SettingsPage-B951NEBm.css → SettingsPage-NpFX7FAy.css} +1 -1
  86. package/web/assets/{UnlockPage-CZMvcAl1.js → UnlockPage-CtvaQt45.js} +1 -1
  87. package/web/assets/{VaultMigrationPage-CeX0mpxh.js → VaultMigrationPage-DtoAlng4.js} +1 -1
  88. package/web/assets/{VersionBadge-DDmZ4Dhc.js → VersionBadge-CiBz82BB.js} +1 -1
  89. package/web/assets/{WikiPage-3puq_dIL.js → WikiPage-cuKigw_5.js} +1 -1
  90. package/web/assets/{WikiView-J4U7er--.js → WikiView-BW-B83LB.js} +1 -1
  91. package/web/assets/{add-scalar-classes-B7027Ds2.js → add-scalar-classes-BPTxQDQd.js} +1 -1
  92. package/web/assets/{agent.store-CAhnz7FI.js → agent.store-DumNiX1X.js} +1 -1
  93. package/web/assets/{auth-DEwzvqNZ.js → auth-Qa1l14iV.js} +2 -2
  94. package/web/assets/{cloud-chat.store-Dw5IpDzc.js → cloud-chat.store-TYR1_27Z.js} +1 -1
  95. package/web/assets/{cloud-client-BmRvC15v.js → cloud-client-CdOqrdP_.js} +2 -2
  96. package/web/assets/{cloud-session-CxfJk0xr.js → cloud-session-Dd7b9wxV.js} +2 -2
  97. package/web/assets/dist-C9Qdh18x.js +1 -0
  98. package/web/assets/i18n-DipCGVKv.js +1 -0
  99. package/web/assets/{index-DSYMPMcP.js → index-BCU69ZHl.js} +7 -7
  100. package/web/assets/{index-CnXzQkLZ.css → index-Ck_3m_I9.css} +1 -1
  101. package/web/assets/{modal-CWJFP30c.js → modal-BgrgFhyC.js} +1 -1
  102. package/web/assets/notification.store-D2olEA0V.js +1 -0
  103. package/web/assets/{project-launch.store-_peuBwFo.js → project-launch.store-MX5LzgIm.js} +1 -1
  104. package/web/assets/{project.store-eANeFYaH.js → project.store-BFwiDQ1X.js} +1 -1
  105. package/web/assets/{scenario.store-C1Yj7c6l.js → scenario.store-C8kW-yTN.js} +1 -1
  106. package/web/assets/{service.store-Ck2_TmTB.js → service.store-B0Ass90H.js} +1 -1
  107. package/web/assets/{settings-scope-GiU9Nkh7.js → settings-scope-D0hzzuyq.js} +1 -1
  108. package/web/assets/settings.store-B9Kp0l1G.js +1 -0
  109. package/web/assets/{src-Bfb0PBSC.css → src-CfDz-9Q6.css} +1 -1
  110. package/web/assets/{src-DOcCcTQv.js → src-Ck_MutzB.js} +1 -1
  111. package/web/assets/{src-BsRUOIiC.js → src-DITmhvGS.js} +1 -1
  112. package/web/assets/src-DOziuDw8.css +1 -0
  113. package/web/assets/src-DnjsM9el.js +1960 -0
  114. package/web/assets/{trpc-Deb6EPHJ.js → trpc-BvrR5qP9.js} +3 -3
  115. package/web/assets/{useCloudOrg-7IK98BjW.js → useCloudOrg-2vv5fVV6.js} +1 -1
  116. package/web/assets/{useEnvVarAutocomplete-lfgStLwz.js → useEnvVarAutocomplete-VVX3MC62.js} +1 -1
  117. package/web/assets/{useEnvVarAutocomplete-B-LJ9dBm.css → useEnvVarAutocomplete-gV2loQYv.css} +1 -1
  118. package/web/assets/{useProjectCatalog-J40rgwRP.js → useProjectCatalog-DsVvtBzo.js} +1 -1
  119. package/web/assets/{useProjectCloudOrg-zePV-ihH.js → useProjectCloudOrg-wv-RfsmO.js} +1 -1
  120. package/web/assets/{useServiceUrlHost-BWtmwnoK.js → useServiceUrlHost-C4Evrede.js} +1 -1
  121. package/web/index.html +19 -19
  122. package/agent-manager-2KTEZXRO.js +0 -13
  123. package/chat-N2AYGN7I.js +0 -28
  124. package/chunk-3FSQ45SW.js.map +0 -1
  125. package/chunk-3JIJSGQW.js.map +0 -1
  126. package/chunk-7O54TV2Y.js.map +0 -1
  127. package/chunk-DA2DZBTL.js +0 -43
  128. package/chunk-DA2DZBTL.js.map +0 -1
  129. package/chunk-OCIKN4BK.js.map +0 -1
  130. package/mcp-ready-TAPBAOZY.js +0 -9
  131. package/settings-manager-QOLMKVP2.js +0 -10
  132. package/src-ZDXFSJMJ.js.map +0 -1
  133. package/vault-resolver-MX7WFBJ5.js.map +0 -1
  134. package/web/assets/AppLayout-BFCPOgV1.js +0 -1
  135. package/web/assets/CloudAccountPage-DXMDa3Zw.js +0 -1
  136. package/web/assets/EnvironmentForm-Do3i-fOk.css +0 -1
  137. package/web/assets/KanbanBoardPage-Bb_8xU-I.css +0 -1
  138. package/web/assets/ProcessDetailPage-CJcIxbLm.css +0 -1
  139. package/web/assets/ProcessDetailPage-Cy_9S9z8.js +0 -1
  140. package/web/assets/ScenarioEditorPage-DMZ_67kP.js +0 -14
  141. package/web/assets/ServiceDetailPage-C-RIYfjD.js +0 -2
  142. package/web/assets/dist-B6L3Jwj-.js +0 -1
  143. package/web/assets/i18n-BNITS3xi.js +0 -1
  144. package/web/assets/notification.store-C1JOcW8z.js +0 -1
  145. package/web/assets/settings.store-C6T1P_cU.js +0 -1
  146. package/web/assets/src-Dbg3CMY2.css +0 -1
  147. package/web/assets/src-Ip9ugq4e.js +0 -1960
  148. /package/{agent-manager-2KTEZXRO.js.map → agent-manager-SF4CAJJC.js.map} +0 -0
  149. /package/{chat-N2AYGN7I.js.map → chat-Z7SFBEXS.js.map} +0 -0
  150. /package/{chunk-ANZF5NLB.js.map → chunk-26Q43CB2.js.map} +0 -0
  151. /package/{chunk-IOPX7MWA.js.map → chunk-2DIW5EUT.js.map} +0 -0
  152. /package/{chunk-ZRMLIQZL.js.map → chunk-3C3R5ZVX.js.map} +0 -0
  153. /package/{chunk-I2EXJ2GI.js.map → chunk-3O54EIGT.js.map} +0 -0
  154. /package/{chunk-KTRL6RDH.js.map → chunk-DTRZ5ZN7.js.map} +0 -0
  155. /package/{chunk-NKOG7375.js.map → chunk-QD2OVLK4.js.map} +0 -0
  156. /package/{chunk-YTO4O3UK.js.map → chunk-TBNCGMDM.js.map} +0 -0
  157. /package/{companion-2YZZSKX5.js.map → companion-ZDEGNZ2G.js.map} +0 -0
  158. /package/{desktop-installer-page-526XOYLO.js.map → desktop-installer-page-TBKSXVFD.js.map} +0 -0
  159. /package/{desktop-launcher-WJPN6SPV.js.map → desktop-launcher-WBYP3KTF.js.map} +0 -0
  160. /package/{environment-resolver-I6KF27QP.js.map → environment-resolver-R2GH6QOX.js.map} +0 -0
  161. /package/{external-XHTD2IGX.js.map → external-UJ46WKBL.js.map} +0 -0
  162. /package/{install-gate-VIJIEVF2.js.map → install-gate-TSCXUCYE.js.map} +0 -0
  163. /package/{mcp-ready-TAPBAOZY.js.map → project-store-GBKM34QP.js.map} +0 -0
  164. /package/{project-store-GONXVR2N.js.map → settings-manager-VSOC3XGI.js.map} +0 -0
  165. /package/{settings-manager-QOLMKVP2.js.map → src-6WZKSNN7.js.map} +0 -0
  166. /package/{src-QMPTXT7D.js.map → vault-resolver-GGHULMG6.js.map} +0 -0
@@ -0,0 +1 @@
1
+ import{C as e}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{g as t}from"./runtime-core.esm-bundler-DujKY9QV.js";import{i as n}from"./project-launch.store-MX5LzgIm.js";import{r}from"./trpc-BvrR5qP9.js";import{t as i}from"./settings-scope-D0hzzuyq.js";var a={scenario_waiting_input:!0,ai_conversation_complete:!0,ai_conversation_error:!0,service_status_changed:!0,service_health_changed:!0,service_status_changed_excluded:[],service_health_changed_excluded:[]},o=new Set([`service_status_changed_excluded`,`service_health_changed_excluded`]),s=0,c=500,l=80,u=new Set(Object.keys(a));function d(e){if(!e)return;let t=e.trim();if(t&&t.startsWith(`/`)&&!t.startsWith(`//`))try{let e=new URL(t,window.location.origin);return e.origin===window.location.origin?`${e.pathname}${e.search}${e.hash}`:void 0}catch{return}}function f(e,t){let n=e.trim();return n.length>t?`${n.slice(0,t-3)}...`:n}function p(e){let t={};for(let[n,r]of Object.entries(e)){let e=n;if(u.has(e)){if(o.has(e)){if(!Array.isArray(r))continue;t[e]=r.filter(e=>typeof e==`string`&&e.length<=100).slice(0,500)}else{if(typeof r!=`boolean`)continue;t[e]=r}}}return t}var m=n(`notification`,()=>{let n=e([]),o=e({...a}),u=e(!1),m=t(()=>n.value.filter(e=>!e.read).length),h=t(()=>Object.entries(o.value).filter(([,e])=>e).map(([e])=>e));function g(e){return o.value[e]}function _(e,t){if(!o.value[e])return!1;let n=`${e}_excluded`;return!o.value[n]?.includes(t)}function v(e,t,n){let r=`${e}_excluded`,i=o.value[r]??[],a=n?[...new Set([...i,t])]:i.filter(e=>e!==t);return T({[r]:a})}function y(e){if(!g(e.category)||e.serviceId&&!_(e.category,e.serviceId))return;let t=d(e.link);s++,n.value=[{id:`notif-${s}`,type:e.type,category:e.category,title:f(e.title,c),message:f(e.message,c),link:t,linkLabel:e.linkLabel?f(e.linkLabel,l):void 0,timestamp:Date.now(),read:!1},...n.value]}function b(e){n.value=n.value.map(t=>t.id===e?{...t,read:!0}:t)}function x(){n.value=n.value.map(e=>({...e,read:!0}))}function S(e){n.value=n.value.filter(t=>t.id!==e)}function C(){n.value=[]}async function w(){if(!u.value){u.value=!0;try{let e=await r.settings.getNotificationPreferences.query(i());o.value={...a,...e}}finally{u.value=!1}}}async function T(e){let t=p(e);if(Object.keys(t).length===0)return o.value;u.value=!0;try{let e=await r.settings.updateNotificationPreferences.mutate({...t,...i()});return o.value={...a,...e},o.value}finally{u.value=!1}}return{notifications:n,unreadCount:m,preferences:o,enabledCategories:h,preferencesLoading:u,isCategoryEnabled:g,isServiceEnabled:_,setServiceExcluded:v,add:y,markRead:b,markAllRead:x,remove:S,clear:C,loadPreferences:w,updatePreferences:T}});export{m as t};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{A as t,C as n,N as r,P as i,_ as a,c as o,f as s,g as c,l,m as u,x as d}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{H as f,Ht as p,J as m,g as h,tt as g}from"./runtime-core.esm-bundler-DujKY9QV.js";import{r as _}from"./trpc-Deb6EPHJ.js";var v=typeof window<`u`,y,b=e=>y=e,x=Symbol();function S(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var C=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof globalThis==`object`&&globalThis.global===globalThis||typeof globalThis==`object`?globalThis:{HTMLElement:null};function w(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function T(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){A(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function E(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function D(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var O=typeof navigator==`object`?navigator:{userAgent:``},k=/Macintosh/.test(O.userAgent)&&/AppleWebKit/.test(O.userAgent)&&!/Safari/.test(O.userAgent),A=v?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!k?ee:`msSaveOrOpenBlob`in O?te:j:()=>{};function ee(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?D(r):E(r.href)?T(e,t,n):(r.target=`_blank`,D(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){D(r)},0))}function te(e,t=`download`,n){if(typeof e==`string`){if(E(e))T(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){D(t)})}}else navigator.msSaveOrOpenBlob(w(e,n),t)}function j(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return T(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(C.HTMLElement))||`safari`in C,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||k)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:ne}=Object;function re(){let e=o(!0),t=e.run(()=>n({})),r=[],i=[],a=c({install(e){b(a),a._a=e,e.provide(x,a),e.config.globalProperties.$pinia=a,i.forEach(e=>r.push(e)),i=[]},use(e){return this._a?r.push(e):i.push(e),this},_p:r,_a:null,_e:e,_s:new Map,state:t});return a}var M=()=>{};function N(e,t,n,r=M){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&l()&&a(i),i}function P(e,...t){e.forEach(e=>{e(...t)})}var F=e=>e(),I=Symbol(),L=Symbol();function R(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let r=t[n],i=e[n];e[n]=S(i)&&S(r)&&Object.hasOwn(e,n)&&!u(r)&&!s(r)?R(i,r):r}return e}var ie=Symbol();function ae(e){return!e||typeof e!=`object`||!Object.hasOwn(e,ie)}var{assign:z}=Object;function B(e){return!!(u(e)&&e.effect)}function V(e,t,n,r){let{state:a,actions:o,getters:s}=t,l=n.state.value[e],u;function d(){return l||(n.state.value[e]=a?a():{}),z(i(n.state.value[e]),o,Object.keys(s||{}).reduce((t,r)=>(t[r]=c(h(()=>{b(n);let t=n._s.get(e);return s[r].call(t,t)})),t),{}))}return u=H(e,d,t,n,r,!0),u}function H(e,n,r={},i,a,c){let l,f=z({actions:{}},r),m={deep:!0},h,_,v=new Set,y=new Set,x,S=i.state.value[e];!c&&!S&&(i.state.value[e]={});let C;function w(t){let n;h=_=!1,typeof t==`function`?(t(i.state.value[e]),n={type:`patch function`,storeId:e,events:x}):(R(i.state.value[e],t),n={type:`patch object`,payload:t,storeId:e,events:x});let r=C=Symbol();g().then(()=>{C===r&&(h=!0)}),_=!0,P(v,n,i.state.value[e])}let T=c?function(){let{state:e}=r,t=e?e():{};this.$patch(e=>{z(e,t)})}:M;function E(){l.stop(),v.clear(),y.clear(),i._s.delete(e)}let D=(t,n=``)=>{if(I in t)return t[L]=n,t;let r=function(){b(i);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}P(y,{args:n,name:r[L],store:k,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:k,n)}catch(e){throw P(o,e),e}return l instanceof Promise?l.then(e=>(P(a,e),e)).catch(e=>(P(o,e),Promise.reject(e))):(P(a,l),l)};return r[I]=!0,r[L]=n,r},O={_p:i,$id:e,$onAction:N.bind(null,y),$patch:w,$reset:T,$subscribe(t,n={}){if(v.has(t))return M;let r=N(v,t,n.detached,()=>a()),a=l.run(()=>p(()=>i.state.value[e],r=>{(n.flush===`sync`?_:h)&&t({storeId:e,type:`direct`,events:x},r)},z({},m,n)));return r},$dispose:E},k=d(O);i._s.set(e,k);let A=(i._a&&i._a.runWithContext||F)(()=>i._e.run(()=>(l=o()).run(()=>n({action:D}))));for(let t in A){let n=A[t];u(n)&&!B(n)||s(n)?c||(S&&ae(n)&&(u(n)?n.value=S[t]:((n instanceof Set||n instanceof Map)&&n.clear(),R(n,S[t]))),i.state.value[e][t]=n):typeof n==`function`&&(A[t]=D(n,t),f.actions[t]=n)}return z(k,A),z(t(k),A),Object.defineProperty(k,"$state",{get:()=>i.state.value[e],set:e=>{w(t=>{z(t,e)})}}),i._p.forEach(e=>{let t=l.run(()=>e({store:k,app:i._a,pinia:i,options:f}));z(k,t)}),S&&c&&r.hydrate&&r.hydrate(k.$state,S),h=!0,_=!0,k}function U(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=f();return n||=o?m(x,null):null,n&&b(n),n=y,n._s.has(e)||(i?H(e,t,r,n):V(e,r,n)),n._s.get(e)}return a.$id=e,a}function W(e){let n=t(e),i={};for(let t in n){let a=n[t];a?.effect?i[t]=h({get:()=>e[t],set(n){e[t]=n}}):(u(a)||s(a))&&(i[t]=r(e,t))}return i}function G(e,t){return e.id===t.id&&e.orgId===t.orgId}function K(e,t,n=5){return[t,...e.filter(e=>!G(e,t))].slice(0,n)}function q(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&typeof e.id==`string`).map(e=>({id:e.id,orgId:typeof e.orgId==`string`?e.orgId:null})).slice(0,5):[]}catch{return[]}}var J=e({useProjectLaunchStore:()=>$}),Y=`runeya:last-project`,X=`runeya:last-org`,Z=`runeya:launch-selection:`,Q=`runeya:recent-projects`,$=U(`launch`,()=>{let e=localStorage.getItem(Y),t=n(e),r=n(localStorage.getItem(X)),i=n(!!e),a=n(q(localStorage.getItem(Q)));function o(e){return`${Z}${e.orgId??`local`}:${e.id}`}function s(e){try{let t=localStorage.getItem(o(e))??localStorage.getItem(Z+e.id);if(!t)return[];let n=JSON.parse(t);return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}catch{return[]}}function c(e,t){localStorage.removeItem(Z+e.id),localStorage.setItem(o(e),JSON.stringify(t))}function l(e){_.project.setCurrent.mutate(e?{id:e.id,orgId:e.orgId}:null).catch(()=>void 0)}function u(e,n=null){t.value=e,localStorage.setItem(Y,e),r.value=n,n?localStorage.setItem(X,n):localStorage.removeItem(X),l({id:e,orgId:n}),a.value=K(a.value,{id:e,orgId:n}),localStorage.setItem(Q,JSON.stringify(a.value))}t.value&&l({id:t.value,orgId:r.value});function d(){return localStorage.getItem(Y)}function f(){i.value=!0}function p(){t.value=null,r.value=null,i.value=!1,localStorage.removeItem(Y),localStorage.removeItem(X),l(null)}function m(e,t){let n=s(e);n.includes(t)||(n.push(t),c(e,n))}function h(e,t){c(e,s(e).filter(e=>e!==t))}function g(){return t.value?{id:t.value,orgId:r.value}:null}return{activeProjectId:t,activeOrgId:r,launchCompleted:i,recentProjects:a,getSavedSelection:s,saveSelection:c,setActiveProject:u,getLastProjectId:d,completeLaunch:f,resetLaunch:p,addServiceToSelection:m,removeServiceFromSelection:h,activeRef:g}});export{W as a,U as i,$ as n,re as r,J as t};
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{A as t,C as n,N as r,P as i,_ as a,c as o,f as s,g as c,l,m as u,x as d}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{H as f,Ht as p,J as m,g as h,tt as g}from"./runtime-core.esm-bundler-DujKY9QV.js";import{r as _}from"./trpc-BvrR5qP9.js";var v=typeof window<`u`,y,b=e=>y=e,x=Symbol();function S(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var C=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof globalThis==`object`&&globalThis.global===globalThis||typeof globalThis==`object`?globalThis:{HTMLElement:null};function w(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function T(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){A(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function E(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function D(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var O=typeof navigator==`object`?navigator:{userAgent:``},k=/Macintosh/.test(O.userAgent)&&/AppleWebKit/.test(O.userAgent)&&!/Safari/.test(O.userAgent),A=v?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!k?ee:`msSaveOrOpenBlob`in O?te:j:()=>{};function ee(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?D(r):E(r.href)?T(e,t,n):(r.target=`_blank`,D(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){D(r)},0))}function te(e,t=`download`,n){if(typeof e==`string`){if(E(e))T(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){D(t)})}}else navigator.msSaveOrOpenBlob(w(e,n),t)}function j(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return T(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(C.HTMLElement))||`safari`in C,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||k)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:ne}=Object;function re(){let e=o(!0),t=e.run(()=>n({})),r=[],i=[],a=c({install(e){b(a),a._a=e,e.provide(x,a),e.config.globalProperties.$pinia=a,i.forEach(e=>r.push(e)),i=[]},use(e){return this._a?r.push(e):i.push(e),this},_p:r,_a:null,_e:e,_s:new Map,state:t});return a}var M=()=>{};function N(e,t,n,r=M){e.add(t);let i=()=>{e.delete(t)&&r()};return!n&&l()&&a(i),i}function P(e,...t){e.forEach(e=>{e(...t)})}var F=e=>e(),I=Symbol(),L=Symbol();function R(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let r=t[n],i=e[n];e[n]=S(i)&&S(r)&&Object.hasOwn(e,n)&&!u(r)&&!s(r)?R(i,r):r}return e}var ie=Symbol();function ae(e){return!e||typeof e!=`object`||!Object.hasOwn(e,ie)}var{assign:z}=Object;function B(e){return!!(u(e)&&e.effect)}function V(e,t,n,r){let{state:a,actions:o,getters:s}=t,l=n.state.value[e],u;function d(){return l||(n.state.value[e]=a?a():{}),z(i(n.state.value[e]),o,Object.keys(s||{}).reduce((t,r)=>(t[r]=c(h(()=>{b(n);let t=n._s.get(e);return s[r].call(t,t)})),t),{}))}return u=H(e,d,t,n,r,!0),u}function H(e,n,r={},i,a,c){let l,f=z({actions:{}},r),m={deep:!0},h,_,v=new Set,y=new Set,x,S=i.state.value[e];!c&&!S&&(i.state.value[e]={});let C;function w(t){let n;h=_=!1,typeof t==`function`?(t(i.state.value[e]),n={type:`patch function`,storeId:e,events:x}):(R(i.state.value[e],t),n={type:`patch object`,payload:t,storeId:e,events:x});let r=C=Symbol();g().then(()=>{C===r&&(h=!0)}),_=!0,P(v,n,i.state.value[e])}let T=c?function(){let{state:e}=r,t=e?e():{};this.$patch(e=>{z(e,t)})}:M;function E(){l.stop(),v.clear(),y.clear(),i._s.delete(e)}let D=(t,n=``)=>{if(I in t)return t[L]=n,t;let r=function(){b(i);let n=Array.from(arguments),a=new Set,o=new Set;function s(e){a.add(e)}function c(e){o.add(e)}P(y,{args:n,name:r[L],store:k,after:s,onError:c});let l;try{l=t.apply(this&&this.$id===e?this:k,n)}catch(e){throw P(o,e),e}return l instanceof Promise?l.then(e=>(P(a,e),e)).catch(e=>(P(o,e),Promise.reject(e))):(P(a,l),l)};return r[I]=!0,r[L]=n,r},O={_p:i,$id:e,$onAction:N.bind(null,y),$patch:w,$reset:T,$subscribe(t,n={}){if(v.has(t))return M;let r=N(v,t,n.detached,()=>a()),a=l.run(()=>p(()=>i.state.value[e],r=>{(n.flush===`sync`?_:h)&&t({storeId:e,type:`direct`,events:x},r)},z({},m,n)));return r},$dispose:E},k=d(O);i._s.set(e,k);let A=(i._a&&i._a.runWithContext||F)(()=>i._e.run(()=>(l=o()).run(()=>n({action:D}))));for(let t in A){let n=A[t];u(n)&&!B(n)||s(n)?c||(S&&ae(n)&&(u(n)?n.value=S[t]:((n instanceof Set||n instanceof Map)&&n.clear(),R(n,S[t]))),i.state.value[e][t]=n):typeof n==`function`&&(A[t]=D(n,t),f.actions[t]=n)}return z(k,A),z(t(k),A),Object.defineProperty(k,"$state",{get:()=>i.state.value[e],set:e=>{w(t=>{z(t,e)})}}),i._p.forEach(e=>{let t=l.run(()=>e({store:k,app:i._a,pinia:i,options:f}));z(k,t)}),S&&c&&r.hydrate&&r.hydrate(k.$state,S),h=!0,_=!0,k}function U(e,t,n){let r,i=typeof t==`function`;r=i?n:t;function a(n,a){let o=f();return n||=o?m(x,null):null,n&&b(n),n=y,n._s.has(e)||(i?H(e,t,r,n):V(e,r,n)),n._s.get(e)}return a.$id=e,a}function W(e){let n=t(e),i={};for(let t in n){let a=n[t];a?.effect?i[t]=h({get:()=>e[t],set(n){e[t]=n}}):(u(a)||s(a))&&(i[t]=r(e,t))}return i}function G(e,t){return e.id===t.id&&e.orgId===t.orgId}function K(e,t,n=5){return[t,...e.filter(e=>!G(e,t))].slice(0,n)}function q(e){if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.filter(e=>typeof e==`object`&&!!e&&typeof e.id==`string`).map(e=>({id:e.id,orgId:typeof e.orgId==`string`?e.orgId:null})).slice(0,5):[]}catch{return[]}}var J=e({useProjectLaunchStore:()=>$}),Y=`runeya:last-project`,X=`runeya:last-org`,Z=`runeya:launch-selection:`,Q=`runeya:recent-projects`,$=U(`launch`,()=>{let e=localStorage.getItem(Y),t=n(e),r=n(localStorage.getItem(X)),i=n(!!e),a=n(q(localStorage.getItem(Q)));function o(e){return`${Z}${e.orgId??`local`}:${e.id}`}function s(e){try{let t=localStorage.getItem(o(e))??localStorage.getItem(Z+e.id);if(!t)return[];let n=JSON.parse(t);return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}catch{return[]}}function c(e,t){localStorage.removeItem(Z+e.id),localStorage.setItem(o(e),JSON.stringify(t))}function l(e){_.project.setCurrent.mutate(e?{id:e.id,orgId:e.orgId}:null).catch(()=>void 0)}function u(e,n=null){t.value=e,localStorage.setItem(Y,e),r.value=n,n?localStorage.setItem(X,n):localStorage.removeItem(X),l({id:e,orgId:n}),a.value=K(a.value,{id:e,orgId:n}),localStorage.setItem(Q,JSON.stringify(a.value))}t.value&&l({id:t.value,orgId:r.value});function d(){return localStorage.getItem(Y)}function f(){i.value=!0}function p(){t.value=null,r.value=null,i.value=!1,localStorage.removeItem(Y),localStorage.removeItem(X),l(null)}function m(e,t){let n=s(e);n.includes(t)||(n.push(t),c(e,n))}function h(e,t){c(e,s(e).filter(e=>e!==t))}function g(){return t.value?{id:t.value,orgId:r.value}:null}return{activeProjectId:t,activeOrgId:r,launchCompleted:i,recentProjects:a,getSavedSelection:s,saveSelection:c,setActiveProject:u,getLastProjectId:d,completeLaunch:f,resetLaunch:p,addServiceToSelection:m,removeServiceFromSelection:h,activeRef:g}});export{W as a,U as i,$ as n,re as r,J as t};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{g as n}from"./runtime-core.esm-bundler-DujKY9QV.js";import{i as r,n as i}from"./project-launch.store-_peuBwFo.js";import{r as a}from"./trpc-Deb6EPHJ.js";import{n as o}from"./error-DpF7X5iu.js";var s=r(`environment`,()=>{let e=t([]),r=t(!1),o=t(null),s=n(()=>t=>e.value.find(e=>e.id===t)),c=n(()=>e.value.filter(e=>e.scope===`global`||!e.scope));async function l(t,n=!1){if(!(!n&&o.value===t&&e.value.length>0)){o.value=t,r.value=!0;try{let n=await a.environment.list.query({projectId:t,orgId:i().activeOrgId});e.value=n.map(e=>({...e}))}finally{r.value=!1}}}async function u(e){await a.environment.create.mutate({...e,orgId:i().activeOrgId}),o.value&&await l(o.value,!0)}async function d(e){await a.environment.update.mutate(e),o.value&&await l(o.value,!0)}async function f(e){await a.environment.delete.mutate({id:e}),o.value&&await l(o.value,!0)}async function p(e){return await a.environment.resolve.query({environmentId:e})}async function m(e,t,n){return await a.environment.keyUsages.query({projectId:e,orgId:i().activeOrgId,key:t,...n?{environmentId:n}:{}})}async function h(e,t){return await a.environment.setOverride.mutate({variableId:e,variable:t})}async function g(e){return await a.environment.removeOverride.mutate({variableId:e})}async function _(e,t,n,r){return await a.environment.fillVariable.mutate({environmentId:e,variableId:t,value:n,reason:r})}async function v(e){return await a.environment.missingVariables.query({environmentId:e})}async function y(){return await a.environment.getOverrides.query()}async function b(e,t,n){await a.environment.upsertVariable.mutate({environmentId:e,variableId:t,variable:n}),o.value&&await l(o.value,!0)}async function x(e,t){await a.environment.removeVariable.mutate({environmentId:e,variableId:t}),o.value&&await l(o.value,!0)}function S(t,n){return e.value.find(e=>e.scope===`service`&&e.reference===t&&e.activateOn===n)??null}function C(t){return e.value.filter(e=>e.scope===`service`&&e.reference===t)}return{environments:e,loading:r,currentProjectId:o,getById:s,globalEnvironments:c,fetchAll:l,create:u,update:d,deleteEnv:f,resolve:p,keyUsages:m,setOverride:h,removeOverride:g,getOverrides:y,missingVariables:v,fillVariable:_,findServiceEnvironment:S,findServiceEnvironments:C,upsertVariable:b,removeVariable:x}}),c=e({useProjectStore:()=>d});function l(e){let{id:t,name:n,description:r,serviceIds:i,environmentIds:a,activeEnvironmentId:o,orgId:s,groupOrder:c}=e;return{id:t,name:n,description:r,serviceIds:i,environmentIds:a,activeEnvironmentId:o,orgId:s,groupOrder:c??[]}}function u(e,t){return e.id===t.id?t.orgId===void 0||(e.orgId??null)===(t.orgId??null):!1}var d=r(`project`,()=>{let e=t([]),r=t(!1),c=t(null),d=n(()=>e.value.length),f=n(()=>t=>{let n=e.value.filter(e=>e.id===t);return n.length===1?n[0]:null}),p=n(()=>t=>e.value.find(e=>u(e,t))??null);function m(t,n){let r=e.value.findIndex(e=>u(e,t)),i=[...e.value];r>=0?i[r]=n:i.push(n),e.value=i}async function h(){r.value=!0,c.value=null;try{let t=await a.project.list.query();e.value=t.map(l)}catch(e){c.value=o(e)??`Failed to fetch projects`}finally{r.value=!1}}async function g(e){c.value=null;try{let t=l(await a.project.get.query({id:e.id,orgId:e.orgId}));return m(e,t),t}catch(e){return c.value=o(e)??`Failed to fetch project`,null}}async function _(t){c.value=null;try{let n=l(await a.project.create.mutate(t));return e.value=[...e.value,n],n}catch(e){return c.value=o(e)??`Failed to create project`,null}}async function v(t){c.value=null;let n=l(await a.project.importLocal.mutate({path:t}));return e.value.some(e=>e.id===n.id&&!e.orgId)||(e.value=[...e.value,n]),n}async function y(e,t){c.value=null;try{let n=l(await a.project.update.mutate({id:e.id,orgId:e.orgId,...t}));return m(e,n),n}catch(e){return c.value=o(e)??`Failed to update project`,null}}async function b(t,n){let r=e.value.findIndex(e=>u(e,t)),i=r>=0?e.value[r].groupOrder:void 0;if(r>=0){let t=[...e.value];t[r]={...t[r],groupOrder:n},e.value=t}try{let e=l(await a.project.update.mutate({id:t.id,orgId:t.orgId,groupOrder:n}));return m(t,e),e}catch(n){if(c.value=o(n)??`Failed to update group order`,r>=0&&i!==void 0){let n=[...e.value],r=n.findIndex(e=>u(e,t));r>=0&&(n[r]={...n[r],groupOrder:i}),e.value=n}return null}}async function x(t){c.value=null;try{return await a.project.delete.mutate({id:t.id,orgId:t.orgId}),e.value=e.value.filter(e=>!u(e,t)),!0}catch(e){return c.value=o(e)??`Failed to delete project`,!1}}async function S(e,t){c.value=null;try{let n=l(await a.project.addService.mutate({projectId:e.id,orgId:e.orgId,serviceId:t}));return m(e,n),await s().fetchAll(e.id,!0),n}catch(e){return c.value=o(e)??`Failed to add service to project`,null}}async function C(e,t){c.value=null;try{let n=l(await a.project.removeService.mutate({projectId:e.id,orgId:e.orgId,serviceId:t}));return m(e,n),n}catch(e){return c.value=o(e)??`Failed to remove service from project`,null}}async function w(e,t){c.value=null;try{let n=l(await a.project.setActiveEnvironment.mutate({projectId:e.id,orgId:e.orgId,environmentId:t}));return m(e,n),n}catch(e){return c.value=o(e)??`Failed to set active environment`,null}}let T=n(()=>{let t=i(),n=t.activeProjectId;if(n){let r=e.value.find(e=>u(e,{id:n,orgId:t.activeOrgId}))??e.value.find(e=>e.id===n);if(r)return r}return e.value[0]??null});return{projects:e,loading:r,error:c,projectCount:d,currentProject:T,currentProjectOrgId:n(()=>T.value?.orgId??null),getById:f,getByRef:p,fetchAll:h,fetchOne:g,create:_,importLocal:v,update:y,remove:x,addService:S,removeService:C,setActiveEnvironment:w,updateGroupOrder:b}});export{d as n,s as r,c as t};
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{C as t}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{g as n}from"./runtime-core.esm-bundler-DujKY9QV.js";import{i as r,n as i}from"./project-launch.store-MX5LzgIm.js";import{r as a}from"./trpc-BvrR5qP9.js";import{n as o}from"./error-DpF7X5iu.js";var s=r(`environment`,()=>{let e=t([]),r=t(!1),o=t(null),s=n(()=>t=>e.value.find(e=>e.id===t)),c=n(()=>e.value.filter(e=>e.scope===`global`||!e.scope));async function l(t,n=!1){if(!(!n&&o.value===t&&e.value.length>0)){o.value=t,r.value=!0;try{let n=await a.environment.list.query({projectId:t,orgId:i().activeOrgId});e.value=n.map(e=>({...e}))}finally{r.value=!1}}}async function u(e){await a.environment.create.mutate({...e,orgId:i().activeOrgId}),o.value&&await l(o.value,!0)}async function d(e){await a.environment.update.mutate(e),o.value&&await l(o.value,!0)}async function f(e){await a.environment.delete.mutate({id:e}),o.value&&await l(o.value,!0)}async function p(e){return await a.environment.resolve.query({environmentId:e})}async function m(e,t,n){return await a.environment.keyUsages.query({projectId:e,orgId:i().activeOrgId,key:t,...n?{environmentId:n}:{}})}async function h(e,t){return await a.environment.setOverride.mutate({variableId:e,variable:t})}async function g(e){return await a.environment.removeOverride.mutate({variableId:e})}async function _(e,t,n,r){return await a.environment.fillVariable.mutate({environmentId:e,variableId:t,value:n,reason:r})}async function v(e){return await a.environment.missingVariables.query({environmentId:e})}async function y(){return await a.environment.getOverrides.query()}async function b(e,t,n){await a.environment.upsertVariable.mutate({environmentId:e,variableId:t,variable:n}),o.value&&await l(o.value,!0)}async function x(e,t){await a.environment.removeVariable.mutate({environmentId:e,variableId:t}),o.value&&await l(o.value,!0)}function S(t,n){return e.value.find(e=>e.scope===`service`&&e.reference===t&&e.activateOn===n)??null}function C(t){return e.value.filter(e=>e.scope===`service`&&e.reference===t)}return{environments:e,loading:r,currentProjectId:o,getById:s,globalEnvironments:c,fetchAll:l,create:u,update:d,deleteEnv:f,resolve:p,keyUsages:m,setOverride:h,removeOverride:g,getOverrides:y,missingVariables:v,fillVariable:_,findServiceEnvironment:S,findServiceEnvironments:C,upsertVariable:b,removeVariable:x}}),c=e({useProjectStore:()=>d});function l(e){let{id:t,name:n,description:r,serviceIds:i,environmentIds:a,activeEnvironmentId:o,orgId:s,groupOrder:c}=e;return{id:t,name:n,description:r,serviceIds:i,environmentIds:a,activeEnvironmentId:o,orgId:s,groupOrder:c??[]}}function u(e,t){return e.id===t.id?t.orgId===void 0||(e.orgId??null)===(t.orgId??null):!1}var d=r(`project`,()=>{let e=t([]),r=t(!1),c=t(null),d=n(()=>e.value.length),f=n(()=>t=>{let n=e.value.filter(e=>e.id===t);return n.length===1?n[0]:null}),p=n(()=>t=>e.value.find(e=>u(e,t))??null);function m(t,n){let r=e.value.findIndex(e=>u(e,t)),i=[...e.value];r>=0?i[r]=n:i.push(n),e.value=i}async function h(){r.value=!0,c.value=null;try{let t=await a.project.list.query();e.value=t.map(l)}catch(e){c.value=o(e)??`Failed to fetch projects`}finally{r.value=!1}}async function g(e){c.value=null;try{let t=l(await a.project.get.query({id:e.id,orgId:e.orgId}));return m(e,t),t}catch(e){return c.value=o(e)??`Failed to fetch project`,null}}async function _(t){c.value=null;try{let n=l(await a.project.create.mutate(t));return e.value=[...e.value,n],n}catch(e){return c.value=o(e)??`Failed to create project`,null}}async function v(t){c.value=null;let n=l(await a.project.importLocal.mutate({path:t}));return e.value.some(e=>e.id===n.id&&!e.orgId)||(e.value=[...e.value,n]),n}async function y(e,t){c.value=null;try{let n=l(await a.project.update.mutate({id:e.id,orgId:e.orgId,...t}));return m(e,n),n}catch(e){return c.value=o(e)??`Failed to update project`,null}}async function b(t,n){let r=e.value.findIndex(e=>u(e,t)),i=r>=0?e.value[r].groupOrder:void 0;if(r>=0){let t=[...e.value];t[r]={...t[r],groupOrder:n},e.value=t}try{let e=l(await a.project.update.mutate({id:t.id,orgId:t.orgId,groupOrder:n}));return m(t,e),e}catch(n){if(c.value=o(n)??`Failed to update group order`,r>=0&&i!==void 0){let n=[...e.value],r=n.findIndex(e=>u(e,t));r>=0&&(n[r]={...n[r],groupOrder:i}),e.value=n}return null}}async function x(t){c.value=null;try{return await a.project.delete.mutate({id:t.id,orgId:t.orgId}),e.value=e.value.filter(e=>!u(e,t)),!0}catch(e){return c.value=o(e)??`Failed to delete project`,!1}}async function S(e,t){c.value=null;try{let n=l(await a.project.addService.mutate({projectId:e.id,orgId:e.orgId,serviceId:t}));return m(e,n),await s().fetchAll(e.id,!0),n}catch(e){return c.value=o(e)??`Failed to add service to project`,null}}async function C(e,t){c.value=null;try{let n=l(await a.project.removeService.mutate({projectId:e.id,orgId:e.orgId,serviceId:t}));return m(e,n),n}catch(e){return c.value=o(e)??`Failed to remove service from project`,null}}async function w(e,t){c.value=null;try{let n=l(await a.project.setActiveEnvironment.mutate({projectId:e.id,orgId:e.orgId,environmentId:t}));return m(e,n),n}catch(e){return c.value=o(e)??`Failed to set active environment`,null}}let T=n(()=>{let t=i(),n=t.activeProjectId;if(n){let r=e.value.find(e=>u(e,{id:n,orgId:t.activeOrgId}))??e.value.find(e=>e.id===n);if(r)return r}return e.value[0]??null});return{projects:e,loading:r,error:c,projectCount:d,currentProject:T,currentProjectOrgId:n(()=>T.value?.orgId??null),getById:f,getByRef:p,fetchAll:h,fetchOne:g,create:_,importLocal:v,update:y,remove:x,addService:S,removeService:C,setActiveEnvironment:w,updateGroupOrder:b}});export{d as n,s as r,c as t};
@@ -1,4 +1,4 @@
1
- import{B as e,C as t,O as n}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{$ as r,Ft as i,Ht as a,ct as o,g as s,k as c,mt as l,v as u,y as d}from"./runtime-core.esm-bundler-DujKY9QV.js";import{n as f}from"./vue-i18n-o7yraQpR.js";import{i as p,n as m}from"./project-launch.store-_peuBwFo.js";import{r as h}from"./i18n-BNITS3xi.js";import{P as g,S as _,ft as v}from"./src-DOcCcTQv.js";import{n as y,r as b}from"./trpc-Deb6EPHJ.js";import{n as ee}from"./project.store-eANeFYaH.js";import{t as x}from"./use-polling-CEkhIY_9.js";import{t as S}from"./useAiChatDrawer-D_ofn8Eo.js";import{t as C}from"./settings-scope-GiU9Nkh7.js";import{c as w}from"./dist-B6L3Jwj-.js";import{t as T}from"./service.store-Ck2_TmTB.js";import{t as E}from"./notification.store-C1JOcW8z.js";var D={"align-left":`align-left`,"angle-double-down":`chevrons-down`,"angle-double-left":`chevrons-left`,"angle-double-right":`chevrons-right`,"angle-down":`chevron-down`,"angle-left":`chevron-left`,"angle-right":`chevron-right`,"angle-up":`chevron-up`,"arrow-circle-up":`circle-arrow-up`,"arrow-down":`arrow-down`,"arrow-down-left":`arrow-down-left`,"arrow-left":`arrow-left`,"arrow-right":`arrow-right`,"arrow-right-arrow-left":`arrows-exchange`,"arrow-up":`arrow-up`,"arrow-up-right":`arrow-up-right`,"arrows-alt":`arrows-move`,asterisk:`asterisk`,ban:`ban`,bars:`menu-2`,bell:`bell`,"bell-slash":`bell-off`,bolt:`bolt`,book:`book`,bookmark:`bookmark`,box:`box`,building:`building`,calendar:`calendar`,"calendar-plus":`calendar-plus`,"chart-line":`chart-line`,check:`check`,"check-circle":`circle-check`,"check-square":`square-check`,"chevron-down":`chevron-down`,"chevron-left":`chevron-left`,"chevron-right":`chevron-right`,"chevron-up":`chevron-up`,circle:`circle`,"circle-fill":`circle-filled`,clock:`clock`,clone:`copy`,cloud:`cloud`,"cloud-off":`cloud-off`,"cloud-slash":`cloud-off`,"cloud-upload":`cloud-upload`,code:`code`,cog:`settings`,comment:`message`,comments:`messages`,copy:`copy`,crown:`crown`,database:`database`,desktop:`device-desktop`,directions:`directions`,download:`download`,"ellipsis-v":`dots-vertical`,envelope:`mail`,eraser:`eraser`,"exclamation-circle":`alert-circle`,"exclamation-triangle":`alert-triangle`,"external-link":`external-link`,eye:`eye`,"eye-slash":`eye-off`,file:`file`,"file-check":`file-check`,"file-edit":`file-pencil`,"file-plus":`file-plus`,filter:`filter`,"filter-slash":`filter-off`,folder:`folder`,"folder-open":`folder-open`,"folder-plus":`folder-plus`,github:`brand-github`,globe:`world`,hashtag:`hash`,heart:`heart`,"heart-fill":`heart-filled`,history:`history`,home:`home`,hourglass:`hourglass`,image:`photo`,inbox:`inbox`,"info-circle":`info-circle`,key:`key`,language:`language`,link:`link`,list:`list`,"list-check":`list-check`,lock:`lock`,"map-marker":`map-pin`,microchip:`cpu`,"microchip-ai":`brain`,minus:`minus`,moon:`moon`,palette:`palette`,paperclip:`paperclip`,pause:`player-pause`,"pause-circle":`player-pause`,pencil:`pencil`,play:`player-play`,"play-circle":`player-play`,plus:`plus`,"plus-circle":`circle-plus`,"power-off":`power`,"question-circle":`help-circle`,refresh:`refresh`,replay:`rotate`,save:`device-floppy`,search:`search`,send:`send`,server:`server`,shield:`shield`,"sign-in":`login`,"sign-out":`logout`,sitemap:`sitemap`,"sliders-h":`adjustments-horizontal`,"sort-alt":`arrows-sort`,sparkles:`sparkles`,spinner:`loader-2`,star:`star`,"star-fill":`star-filled`,stop:`player-stop`,"stop-circle":`player-stop`,stopwatch:`stopwatch`,sun:`sun`,sync:`refresh`,table:`table`,tag:`tag`,terminal:`terminal-2`,"th-large":`layout-grid`,thumbtack:`pin`,times:`x`,"times-circle":`circle-x`,trash:`trash`,undo:`arrow-back-up`,upload:`upload`,user:`user`,"user-plus":`user-plus`,users:`users`,"volume-off":`volume-off`,"volume-up":`volume`,"wave-pulse":`activity`,"window-maximize":`maximize`,"window-minimize":`minimize`};function O(e,t=`circle`){let n=(e??``).trim().split(/\s+/).pop()??``,r=n.replace(/^(ti|pi)-/,``);return n.startsWith(`pi-`)&&(r=D[r]??t),`ti ti-${r||t}`}var k=`runeya:ai-chat-debug`;function A(){try{return localStorage.getItem(k)===`1`}catch{return!1}}var j=v(c({__name:`AiProviderSelector`,props:r({storageKey:{},hideWhenSingle:{type:Boolean,default:!0},size:{default:`small`},placeholder:{},disabled:{type:Boolean},inputId:{}},{modelValue:{required:!0},modelModifiers:{},model:{default:null},modelModifiers:{}}),emits:r([`loaded`],[`update:modelValue`,`update:model`]),setup(n,{emit:r}){let a=n,c=i(n,`modelValue`),p=i(n,`model`),m=r,{t:h}=f(),g=t([]),v=t(!0),y=s(()=>g.value.reduce((e,t)=>e+t.items.length,0)),ee=s(()=>v.value?!0:a.hideWhenSingle?y.value>1:y.value>0);function x(e,t){return`${e}::${t??``}`}let S=s(()=>c.value?x(c.value,p.value):null);function w(e){let[t,n]=e?e.split(`::`):[null,``];c.value=t||null,p.value=n||null,a.storageKey&&(e?localStorage.setItem(a.storageKey,e):localStorage.removeItem(a.storageKey))}function T(e){return{label:e.model||h(`aiProviderSelector.defaultModel`),value:x(e.id,e.model??null),providerId:e.id,model:e.model??null}}return o(async()=>{let e=[];try{e=await b.settings.listAIProviders.query(C())}catch{e=[]}g.value=e.map(e=>({label:`${e.name} (${e.provider})`,providerId:e.id,items:[T(e)]}));let t=a.storageKey?localStorage.getItem(a.storageKey):null,n=S.value??t,r=(e.find(e=>e.active)??e[0])?.id??null,i=g.value.find(e=>e.providerId===r)?.items[0]?.value??null;w(n??i),m(`loaded`,e.length),await Promise.all(e.map(async e=>{let t=[];try{t=await b.chat.listModels.query({providerId:e.id,...C()})}catch{return}if(t.length===0)return;let n=g.value.find(t=>t.providerId===e.id);n&&(n.items=t.map(t=>({label:t,value:x(e.id,t),providerId:e.id,model:t})))})),S.value&&!g.value.some(e=>e.items.some(e=>e.value===S.value))&&w(g.value.find(e=>e.providerId===c.value)?.items[0]?.value??g.value[0]?.items[0]?.value??null),v.value=!1}),(t,r)=>ee.value?(l(),u(e(_),{key:0,"model-value":S.value,options:g.value,"option-group-label":`label`,"option-group-children":`items`,"option-label":`label`,"option-value":`value`,size:n.size,"input-id":n.inputId,disabled:n.disabled,loading:v.value,filter:y.value>8,placeholder:v.value?e(h)(`aiProviderSelector.loading`):n.placeholder??e(h)(`aiProviderSelector.placeholder`),title:e(h)(`aiProviderSelector.title`),class:`ai-provider-selector`,"onUpdate:modelValue":w},null,8,[`model-value`,`options`,`size`,`input-id`,`disabled`,`loading`,`filter`,`placeholder`,`title`])):d(``,!0)}}),[[`__scopeId`,`data-v-ea66f89f`]]);function M(e,t){let n=new Set(t),r=new Set(e),i=t.filter(e=>!r.has(e)),a=e.filter(e=>!n.has(e)),o=e.length===t.length&&e.every((e,n)=>e===t[n]);return{added:i,removed:a,unchanged:i.length===0&&a.length===0&&o}}function te(e,t){let n=M(e.pinned,t.pinned),r=new Set(t.pinned);for(let e of Object.values(t.sections))for(let t of e)r.add(t);let i=[],a=[],o=new Set([...Object.keys(e.sections),...Object.keys(t.sections)]);for(let n of o){let o=M(e.sections[n]??[],t.sections[n]??[]);o.unchanged||(i.push(n),a.push(...o.removed.filter(e=>!r.has(e))))}let s=n.removed.filter(e=>!r.has(e));return{unchanged:n.unchanged&&i.length===0,pinAdded:n.added,pinnedChanged:!n.unchanged,unpinnedToList:s,changedSections:i,sectionToList:a,removed:[...s,...a]}}function ne(e,t,n){let r=new Map(t.pinned.map((e,t)=>[e,t])),i=new Map;for(let[e,n]of Object.entries(t.sections))n.forEach((t,n)=>i.set(t,{sectionId:e,rank:n}));let a=new Set(n);return e.map(e=>{let{pinOrder:t,sectionId:n,sectionOrder:o,...s}=e,c=r.get(e.id);if(c!==void 0)return{...s,pinOrder:c};let l=i.get(e.id);return l?{...s,sectionId:l.sectionId,sectionOrder:l.rank}:a.has(e.id)?s:e})}function N(e){return e.runner===`claude-code`||e.runner===`codex`||!!e.isCli&&!e.providerId}var P=`runeya:ai-chat-model`,F=`runeya:ai-chat-effort`,I=`runeya:ai-chat-active-id`,re=`runeya:ai-chat-active-id-by-project`,L=`runeya:ai-chat-unread`,R=`runeya:ai-chat-provider-id`,ie=`runeya:ai-chat-provider-model`;function z(e){return`/ai-chat?conversation=${encodeURIComponent(e)}`}function B(e){return e?.title?.trim()||h.global.t(`aiChat.newConversation`)}function V(e,t){let{t:n}=h.global;E().add({type:`warn`,category:`scenario_waiting_input`,title:n(`notifications.scenarioWaitingInputTitle`,{name:B(e)}),message:t,link:z(e.id),linkLabel:n(`notifications.openConversation`)})}function H(e,t){let{t:n}=h.global,r=B(e);E().add({type:`success`,category:`ai_conversation_complete`,title:n(`notifications.aiConversationCompleteTitle`),message:r,link:z(t),linkLabel:n(`notifications.openConversation`)})}function ae(e,t,n){let{t:r}=h.global,i=B(e);E().add({type:`error`,category:`ai_conversation_error`,title:r(`notifications.aiConversationErrorTitle`,{name:i}),message:n||r(`aiChat.unknownError`),link:z(t),linkLabel:r(`notifications.openConversation`)})}var U=()=>new Date().toISOString();function W(e,n,r,i,a,o,s,c,l,u,d,f,p,m,_){let v=g(),y=null;function x(e){y=e}let C=t([]),w=t(!1),E=[`image/png`,`image/jpeg`,`image/webp`,`image/gif`];async function D(e){for(let t of e)await k(t)}async function O(e){await k(e)}async function k(e){let{t}=h.global;if(!E.includes(e.type)){v.add({severity:`error`,summary:t(`imageUpload.errorUnsupportedType`,{name:e.name}),life:5e3});return}if(e.size>0&&e.size>5242880){v.add({severity:`error`,summary:t(`imageUpload.errorTooLarge`,{name:e.name}),life:5e3});return}if(C.value.length>=5){v.add({severity:`error`,summary:t(`imageUpload.errorTooMany`),life:5e3});return}let n=r.value?.id;if(!n){v.add({severity:`error`,summary:t(`imageUpload.errorNetwork`,{name:e.name}),life:5e3});return}let i=URL.createObjectURL(e);w.value=!0;try{let r=new FormData;r.append(`image`,e);let a=await fetch(`/api/images/upload?conversationId=${encodeURIComponent(n)}`,{method:`POST`,body:r});if(!a.ok){URL.revokeObjectURL(i),v.add({severity:`error`,summary:t(`imageUpload.errorNetwork`,{name:e.name}),life:5e3});return}let o=await a.json();C.value.push({imageId:o.imageId,url:o.url,mimeType:o.mimeType,localPreviewUrl:i,fileName:e.name})}catch{URL.revokeObjectURL(i),v.add({severity:`error`,summary:t(`imageUpload.errorNetwork`,{name:e.name}),life:5e3})}finally{w.value=!1}}function j(e){let t=C.value.findIndex(t=>t.imageId===e);t!==-1&&(URL.revokeObjectURL(C.value[t].localPreviewUrl),C.value.splice(t,1))}function M(){for(let e of C.value)URL.revokeObjectURL(e.localPreviewUrl);C.value=[]}function te(){let e=n.value;e&&f(e)&&(a.get(e)?.unsubscribe(),d(e),e&&b.chat.stopSession.mutate({conversationId:e}).catch(()=>{}))}function ne(e){return e.slice(0,50).trim()+(e.length>50?`…`:``)}async function N(t,n){let{pendingContext:o,pendingPopulateContext:m}=S();if(!t.trim()&&C.value.length===0&&!o.value&&!m.value)return;!t.trim()&&o.value&&(t=`Voici le contexte ci-joint, aide-moi à avancer.`),!t.trim()&&m.value&&(t=m.value),r.value||await p();let g=r.value.id;await _(g);let v=e.value.find(e=>e.id===g);if(!v||r.value?.id!==g)return;if(v.messagesOmitted)throw Error(h.global.t(`aiChat.historyLoadFailed`));if(f(v.id))return;let{pendingContext:y,pendingDiffContext:x,pendingPopulateContext:w}=S(),E=y.value?.text??null,D=x.value,O=[D,E].filter(Boolean).join(`
1
+ import{B as e,C as t,O as n}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{$ as r,Ft as i,Ht as a,ct as o,g as s,k as c,mt as l,v as u,y as d}from"./runtime-core.esm-bundler-DujKY9QV.js";import{n as f}from"./vue-i18n-o7yraQpR.js";import{i as p,n as m}from"./project-launch.store-MX5LzgIm.js";import{r as h}from"./i18n-DipCGVKv.js";import{P as g,S as _,ft as v}from"./src-Ck_MutzB.js";import{n as y,r as b}from"./trpc-BvrR5qP9.js";import{n as ee}from"./project.store-BFwiDQ1X.js";import{t as x}from"./use-polling-CEkhIY_9.js";import{t as S}from"./useAiChatDrawer-D_ofn8Eo.js";import{t as C}from"./settings-scope-D0hzzuyq.js";import{c as w}from"./dist-C9Qdh18x.js";import{t as T}from"./service.store-B0Ass90H.js";import{t as E}from"./notification.store-D2olEA0V.js";var D={"align-left":`align-left`,"angle-double-down":`chevrons-down`,"angle-double-left":`chevrons-left`,"angle-double-right":`chevrons-right`,"angle-down":`chevron-down`,"angle-left":`chevron-left`,"angle-right":`chevron-right`,"angle-up":`chevron-up`,"arrow-circle-up":`circle-arrow-up`,"arrow-down":`arrow-down`,"arrow-down-left":`arrow-down-left`,"arrow-left":`arrow-left`,"arrow-right":`arrow-right`,"arrow-right-arrow-left":`arrows-exchange`,"arrow-up":`arrow-up`,"arrow-up-right":`arrow-up-right`,"arrows-alt":`arrows-move`,asterisk:`asterisk`,ban:`ban`,bars:`menu-2`,bell:`bell`,"bell-slash":`bell-off`,bolt:`bolt`,book:`book`,bookmark:`bookmark`,box:`box`,building:`building`,calendar:`calendar`,"calendar-plus":`calendar-plus`,"chart-line":`chart-line`,check:`check`,"check-circle":`circle-check`,"check-square":`square-check`,"chevron-down":`chevron-down`,"chevron-left":`chevron-left`,"chevron-right":`chevron-right`,"chevron-up":`chevron-up`,circle:`circle`,"circle-fill":`circle-filled`,clock:`clock`,clone:`copy`,cloud:`cloud`,"cloud-off":`cloud-off`,"cloud-slash":`cloud-off`,"cloud-upload":`cloud-upload`,code:`code`,cog:`settings`,comment:`message`,comments:`messages`,copy:`copy`,crown:`crown`,database:`database`,desktop:`device-desktop`,directions:`directions`,download:`download`,"ellipsis-v":`dots-vertical`,envelope:`mail`,eraser:`eraser`,"exclamation-circle":`alert-circle`,"exclamation-triangle":`alert-triangle`,"external-link":`external-link`,eye:`eye`,"eye-slash":`eye-off`,file:`file`,"file-check":`file-check`,"file-edit":`file-pencil`,"file-plus":`file-plus`,filter:`filter`,"filter-slash":`filter-off`,folder:`folder`,"folder-open":`folder-open`,"folder-plus":`folder-plus`,github:`brand-github`,globe:`world`,hashtag:`hash`,heart:`heart`,"heart-fill":`heart-filled`,history:`history`,home:`home`,hourglass:`hourglass`,image:`photo`,inbox:`inbox`,"info-circle":`info-circle`,key:`key`,language:`language`,link:`link`,list:`list`,"list-check":`list-check`,lock:`lock`,"map-marker":`map-pin`,microchip:`cpu`,"microchip-ai":`brain`,minus:`minus`,moon:`moon`,palette:`palette`,paperclip:`paperclip`,pause:`player-pause`,"pause-circle":`player-pause`,pencil:`pencil`,play:`player-play`,"play-circle":`player-play`,plus:`plus`,"plus-circle":`circle-plus`,"power-off":`power`,"question-circle":`help-circle`,refresh:`refresh`,replay:`rotate`,save:`device-floppy`,search:`search`,send:`send`,server:`server`,shield:`shield`,"sign-in":`login`,"sign-out":`logout`,sitemap:`sitemap`,"sliders-h":`adjustments-horizontal`,"sort-alt":`arrows-sort`,sparkles:`sparkles`,spinner:`loader-2`,star:`star`,"star-fill":`star-filled`,stop:`player-stop`,"stop-circle":`player-stop`,stopwatch:`stopwatch`,sun:`sun`,sync:`refresh`,table:`table`,tag:`tag`,terminal:`terminal-2`,"th-large":`layout-grid`,thumbtack:`pin`,times:`x`,"times-circle":`circle-x`,trash:`trash`,undo:`arrow-back-up`,upload:`upload`,user:`user`,"user-plus":`user-plus`,users:`users`,"volume-off":`volume-off`,"volume-up":`volume`,"wave-pulse":`activity`,"window-maximize":`maximize`,"window-minimize":`minimize`};function O(e,t=`circle`){let n=(e??``).trim().split(/\s+/).pop()??``,r=n.replace(/^(ti|pi)-/,``);return n.startsWith(`pi-`)&&(r=D[r]??t),`ti ti-${r||t}`}var k=`runeya:ai-chat-debug`;function A(){try{return localStorage.getItem(k)===`1`}catch{return!1}}var j=v(c({__name:`AiProviderSelector`,props:r({storageKey:{},hideWhenSingle:{type:Boolean,default:!0},size:{default:`small`},placeholder:{},disabled:{type:Boolean},inputId:{}},{modelValue:{required:!0},modelModifiers:{},model:{default:null},modelModifiers:{}}),emits:r([`loaded`],[`update:modelValue`,`update:model`]),setup(n,{emit:r}){let a=n,c=i(n,`modelValue`),p=i(n,`model`),m=r,{t:h}=f(),g=t([]),v=t(!0),y=s(()=>g.value.reduce((e,t)=>e+t.items.length,0)),ee=s(()=>v.value?!0:a.hideWhenSingle?y.value>1:y.value>0);function x(e,t){return`${e}::${t??``}`}let S=s(()=>c.value?x(c.value,p.value):null);function w(e){let[t,n]=e?e.split(`::`):[null,``];c.value=t||null,p.value=n||null,a.storageKey&&(e?localStorage.setItem(a.storageKey,e):localStorage.removeItem(a.storageKey))}function T(e){return{label:e.model||h(`aiProviderSelector.defaultModel`),value:x(e.id,e.model??null),providerId:e.id,model:e.model??null}}return o(async()=>{let e=[];try{e=await b.settings.listAIProviders.query(C())}catch{e=[]}g.value=e.map(e=>({label:`${e.name} (${e.provider})`,providerId:e.id,items:[T(e)]}));let t=a.storageKey?localStorage.getItem(a.storageKey):null,n=S.value??t,r=(e.find(e=>e.active)??e[0])?.id??null,i=g.value.find(e=>e.providerId===r)?.items[0]?.value??null;w(n??i),m(`loaded`,e.length),await Promise.all(e.map(async e=>{let t=[];try{t=await b.chat.listModels.query({providerId:e.id,...C()})}catch{return}if(t.length===0)return;let n=g.value.find(t=>t.providerId===e.id);n&&(n.items=t.map(t=>({label:t,value:x(e.id,t),providerId:e.id,model:t})))})),S.value&&!g.value.some(e=>e.items.some(e=>e.value===S.value))&&w(g.value.find(e=>e.providerId===c.value)?.items[0]?.value??g.value[0]?.items[0]?.value??null),v.value=!1}),(t,r)=>ee.value?(l(),u(e(_),{key:0,"model-value":S.value,options:g.value,"option-group-label":`label`,"option-group-children":`items`,"option-label":`label`,"option-value":`value`,size:n.size,"input-id":n.inputId,disabled:n.disabled,loading:v.value,filter:y.value>8,placeholder:v.value?e(h)(`aiProviderSelector.loading`):n.placeholder??e(h)(`aiProviderSelector.placeholder`),title:e(h)(`aiProviderSelector.title`),class:`ai-provider-selector`,"onUpdate:modelValue":w},null,8,[`model-value`,`options`,`size`,`input-id`,`disabled`,`loading`,`filter`,`placeholder`,`title`])):d(``,!0)}}),[[`__scopeId`,`data-v-ea66f89f`]]);function M(e,t){let n=new Set(t),r=new Set(e),i=t.filter(e=>!r.has(e)),a=e.filter(e=>!n.has(e)),o=e.length===t.length&&e.every((e,n)=>e===t[n]);return{added:i,removed:a,unchanged:i.length===0&&a.length===0&&o}}function te(e,t){let n=M(e.pinned,t.pinned),r=new Set(t.pinned);for(let e of Object.values(t.sections))for(let t of e)r.add(t);let i=[],a=[],o=new Set([...Object.keys(e.sections),...Object.keys(t.sections)]);for(let n of o){let o=M(e.sections[n]??[],t.sections[n]??[]);o.unchanged||(i.push(n),a.push(...o.removed.filter(e=>!r.has(e))))}let s=n.removed.filter(e=>!r.has(e));return{unchanged:n.unchanged&&i.length===0,pinAdded:n.added,pinnedChanged:!n.unchanged,unpinnedToList:s,changedSections:i,sectionToList:a,removed:[...s,...a]}}function ne(e,t,n){let r=new Map(t.pinned.map((e,t)=>[e,t])),i=new Map;for(let[e,n]of Object.entries(t.sections))n.forEach((t,n)=>i.set(t,{sectionId:e,rank:n}));let a=new Set(n);return e.map(e=>{let{pinOrder:t,sectionId:n,sectionOrder:o,...s}=e,c=r.get(e.id);if(c!==void 0)return{...s,pinOrder:c};let l=i.get(e.id);return l?{...s,sectionId:l.sectionId,sectionOrder:l.rank}:a.has(e.id)?s:e})}function N(e){return e.runner===`claude-code`||e.runner===`codex`||!!e.isCli&&!e.providerId}var P=`runeya:ai-chat-model`,F=`runeya:ai-chat-effort`,I=`runeya:ai-chat-active-id`,re=`runeya:ai-chat-active-id-by-project`,L=`runeya:ai-chat-unread`,R=`runeya:ai-chat-provider-id`,ie=`runeya:ai-chat-provider-model`;function z(e){return`/ai-chat?conversation=${encodeURIComponent(e)}`}function B(e){return e?.title?.trim()||h.global.t(`aiChat.newConversation`)}function V(e,t){let{t:n}=h.global;E().add({type:`warn`,category:`scenario_waiting_input`,title:n(`notifications.scenarioWaitingInputTitle`,{name:B(e)}),message:t,link:z(e.id),linkLabel:n(`notifications.openConversation`)})}function H(e,t){let{t:n}=h.global,r=B(e);E().add({type:`success`,category:`ai_conversation_complete`,title:n(`notifications.aiConversationCompleteTitle`),message:r,link:z(t),linkLabel:n(`notifications.openConversation`)})}function ae(e,t,n){let{t:r}=h.global,i=B(e);E().add({type:`error`,category:`ai_conversation_error`,title:r(`notifications.aiConversationErrorTitle`,{name:i}),message:n||r(`aiChat.unknownError`),link:z(t),linkLabel:r(`notifications.openConversation`)})}var U=()=>new Date().toISOString();function W(e,n,r,i,a,o,s,c,l,u,d,f,p,m,_){let v=g(),y=null;function x(e){y=e}let C=t([]),w=t(!1),E=[`image/png`,`image/jpeg`,`image/webp`,`image/gif`];async function D(e){for(let t of e)await k(t)}async function O(e){await k(e)}async function k(e){let{t}=h.global;if(!E.includes(e.type)){v.add({severity:`error`,summary:t(`imageUpload.errorUnsupportedType`,{name:e.name}),life:5e3});return}if(e.size>0&&e.size>5242880){v.add({severity:`error`,summary:t(`imageUpload.errorTooLarge`,{name:e.name}),life:5e3});return}if(C.value.length>=5){v.add({severity:`error`,summary:t(`imageUpload.errorTooMany`),life:5e3});return}let n=r.value?.id;if(!n){v.add({severity:`error`,summary:t(`imageUpload.errorNetwork`,{name:e.name}),life:5e3});return}let i=URL.createObjectURL(e);w.value=!0;try{let r=new FormData;r.append(`image`,e);let a=await fetch(`/api/images/upload?conversationId=${encodeURIComponent(n)}`,{method:`POST`,body:r});if(!a.ok){URL.revokeObjectURL(i),v.add({severity:`error`,summary:t(`imageUpload.errorNetwork`,{name:e.name}),life:5e3});return}let o=await a.json();C.value.push({imageId:o.imageId,url:o.url,mimeType:o.mimeType,localPreviewUrl:i,fileName:e.name})}catch{URL.revokeObjectURL(i),v.add({severity:`error`,summary:t(`imageUpload.errorNetwork`,{name:e.name}),life:5e3})}finally{w.value=!1}}function j(e){let t=C.value.findIndex(t=>t.imageId===e);t!==-1&&(URL.revokeObjectURL(C.value[t].localPreviewUrl),C.value.splice(t,1))}function M(){for(let e of C.value)URL.revokeObjectURL(e.localPreviewUrl);C.value=[]}function te(){let e=n.value;e&&f(e)&&(a.get(e)?.unsubscribe(),d(e),e&&b.chat.stopSession.mutate({conversationId:e}).catch(()=>{}))}function ne(e){return e.slice(0,50).trim()+(e.length>50?`…`:``)}async function N(t,n){let{pendingContext:o,pendingPopulateContext:m}=S();if(!t.trim()&&C.value.length===0&&!o.value&&!m.value)return;!t.trim()&&o.value&&(t=`Voici le contexte ci-joint, aide-moi à avancer.`),!t.trim()&&m.value&&(t=m.value),r.value||await p();let g=r.value.id;await _(g);let v=e.value.find(e=>e.id===g);if(!v||r.value?.id!==g)return;if(v.messagesOmitted)throw Error(h.global.t(`aiChat.historyLoadFailed`));if(f(v.id))return;let{pendingContext:y,pendingDiffContext:x,pendingPopulateContext:w}=S(),E=y.value?.text??null,D=x.value,O=[D,E].filter(Boolean).join(`
2
2
 
3
3
  `)||void 0;y.value=null,w.value=null;let k=[...C.value],A=k.map(e=>({type:`image`,imageId:e.imageId,url:e.url,mimeType:e.mimeType,altText:e.fileName})),j=A.length>0?[...t.trim()?[{type:`text`,text:t.trim()}]:[],...A]:void 0,{contextServiceId:te}=S(),N=te.value?T().getById(te.value):null,P=[N?`[Contexte: l'utilisateur consulte actuellement le service "${N.name}" (id: ${N.id})]`:null,O].filter(Boolean).join(`
4
4
 
@@ -1 +1 @@
1
- import{C as e}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{Ht as t,g as n}from"./runtime-core.esm-bundler-DujKY9QV.js";import{i as r,n as i}from"./project-launch.store-_peuBwFo.js";import{r as a}from"./trpc-Deb6EPHJ.js";import{r as o}from"./project.store-eANeFYaH.js";import{n as s}from"./error-DpF7X5iu.js";var c=r(`service`,()=>{let r=e([]),c=e(!1),l=e(null),u=n(()=>r.value.length),d=n(()=>e=>r.value.find(t=>t.id===e)??null),f=n(()=>e=>r.value.filter(t=>e.includes(t.id))),p=e(void 0);t(()=>{let e=i();return`${e.activeOrgId??`local`}::${e.activeProjectId??``}`},()=>{p.value!==void 0&&m()});async function m(e){let t=i().activeRef(),n=e??(t?{projectId:t.id,orgId:t.orgId}:null);p.value=n,c.value=!0,l.value=null;try{r.value=await a.service.list.query(n??void 0)}catch(e){l.value=s(e)??`Failed to fetch services`}finally{c.value=!1}}async function h(e){l.value=null;try{let t=await a.service.get.query({id:e}),n=r.value.findIndex(t=>t.id===e);if(n>=0){let e=[...r.value];e[n]=t,r.value=e}return t}catch(e){return l.value=s(e)??`Failed to fetch service`,null}}async function g(e){l.value=null;try{let t=await a.service.create.mutate(e);return r.value=[...r.value,t],t}catch(e){return l.value=s(e)??`Failed to create service`,null}}async function _(e,t){l.value=null;try{let n=r.value.find(t=>t.id===e),i=await a.service.update.mutate({id:e,...t}),s=r.value.findIndex(t=>t.id===e);if(s>=0){let e=[...r.value];e[s]=i,r.value=e}if(t.name&&n&&t.name!==n.name){let e=o();e.currentProjectId&&await e.fetchAll(e.currentProjectId,!0)}return i}catch(e){return l.value=s(e)??`Failed to update service`,null}}async function v(e){l.value=null;try{return await a.service.delete.mutate({id:e}),r.value=r.value.filter(t=>t.id!==e),!0}catch(e){return l.value=s(e)??`Failed to delete service`,!1}}return{services:r,loading:c,error:l,serviceCount:u,getById:d,getByIds:f,fetchAll:m,fetchOne:h,create:g,update:_,remove:v}});export{c as t};
1
+ import{C as e}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{Ht as t,g as n}from"./runtime-core.esm-bundler-DujKY9QV.js";import{i as r,n as i}from"./project-launch.store-MX5LzgIm.js";import{r as a}from"./trpc-BvrR5qP9.js";import{r as o}from"./project.store-BFwiDQ1X.js";import{n as s}from"./error-DpF7X5iu.js";var c=r(`service`,()=>{let r=e([]),c=e(!1),l=e(null),u=n(()=>r.value.length),d=n(()=>e=>r.value.find(t=>t.id===e)??null),f=n(()=>e=>r.value.filter(t=>e.includes(t.id))),p=e(void 0);t(()=>{let e=i();return`${e.activeOrgId??`local`}::${e.activeProjectId??``}`},()=>{p.value!==void 0&&m()});async function m(e){let t=i().activeRef(),n=e??(t?{projectId:t.id,orgId:t.orgId}:null);p.value=n,c.value=!0,l.value=null;try{r.value=await a.service.list.query(n??void 0)}catch(e){l.value=s(e)??`Failed to fetch services`}finally{c.value=!1}}async function h(e){l.value=null;try{let t=await a.service.get.query({id:e}),n=r.value.findIndex(t=>t.id===e);if(n>=0){let e=[...r.value];e[n]=t,r.value=e}return t}catch(e){return l.value=s(e)??`Failed to fetch service`,null}}async function g(e){l.value=null;try{let t=await a.service.create.mutate(e);return r.value=[...r.value,t],t}catch(e){return l.value=s(e)??`Failed to create service`,null}}async function _(e,t){l.value=null;try{let n=r.value.find(t=>t.id===e),i=await a.service.update.mutate({id:e,...t}),s=r.value.findIndex(t=>t.id===e);if(s>=0){let e=[...r.value];e[s]=i,r.value=e}if(t.name&&n&&t.name!==n.name){let e=o();e.currentProjectId&&await e.fetchAll(e.currentProjectId,!0)}return i}catch(e){return l.value=s(e)??`Failed to update service`,null}}async function v(e){l.value=null;try{return await a.service.delete.mutate({id:e}),r.value=r.value.filter(t=>t.id!==e),!0}catch(e){return l.value=s(e)??`Failed to delete service`,!1}}return{services:r,loading:c,error:l,serviceCount:u,getById:d,getByIds:f,fetchAll:m,fetchOne:h,create:g,update:_,remove:v}});export{c as t};
@@ -1 +1 @@
1
- import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{Ht as t}from"./runtime-core.esm-bundler-DujKY9QV.js";import{n}from"./project.store-eANeFYaH.js";var r=e({settingsScope:()=>i,watchSettingsScope:()=>a});function i(){let e=n().currentProject;return e?{projectId:e.id,orgId:e.orgId??null}:{}}function a(e){let r=n();t(()=>[r.currentProject?.id,r.currentProject?.orgId],()=>{e()},{immediate:!0})}export{r as n,a as r,i as t};
1
+ import{n as e}from"./rolldown-runtime-Dd_uD5pT.js";import{Ht as t}from"./runtime-core.esm-bundler-DujKY9QV.js";import{n}from"./project.store-BFwiDQ1X.js";var r=e({settingsScope:()=>i,watchSettingsScope:()=>a});function i(){let e=n().currentProject;return e?{projectId:e.id,orgId:e.orgId??null}:{}}function a(e){let r=n();t(()=>[r.currentProject?.id,r.currentProject?.orgId],()=>{e()},{immediate:!0})}export{r as n,a as r,i as t};
@@ -0,0 +1 @@
1
+ import{C as e}from"./reactivity.esm-bundler-BQ9SB2vv.js";import{Ht as t,g as n}from"./runtime-core.esm-bundler-DujKY9QV.js";import{i as r}from"./project-launch.store-MX5LzgIm.js";import{P as i}from"./src-Ck_MutzB.js";import{r as a}from"./trpc-BvrR5qP9.js";import{n as o}from"./project.store-BFwiDQ1X.js";import{t as s}from"./settings-scope-D0hzzuyq.js";var c=r(`settings`,()=>{let r=i(),c=e([]),l=e(!1),u=e(!1),d=e(null),f=n(()=>[...c.value].sort((e,t)=>e.name.localeCompare(t.name))),p=n(()=>f.value.filter(e=>!e.builtin)),m=null,h,g=0;function _(){g+=1,v()}function v(){let e=s(),t=e.orgId??void 0;m&&h===t||(b(),h=t,m=a.settings.onParsersChanged.subscribe(e,{onData(e){c.value=e},onError(){m=null}}))}function y(){g=Math.max(0,g-1),g===0&&b()}function b(){m?.unsubscribe(),m=null,h=void 0}t(()=>o().currentProject?.orgId??null,()=>{g!==0&&(x(),v())});async function x(){l.value=!0;try{let e=await a.settings.listParsers.query(s());c.value=e}catch(e){let t=e instanceof Error?e.message:`Failed to fetch parsers`;r.add({severity:`error`,summary:`Error`,detail:t,life:3e3})}finally{l.value=!1}}async function S(e){l.value=!0;try{let t=await a.settings.createParser.mutate({name:e.name,description:e.description,code:e.code,enabled:e.enabled??!0,...s()});return c.value=[...c.value,t],u.value=!1,r.add({severity:`success`,summary:`Success`,detail:`Parser "${t.name}" created`,life:3e3}),t}catch(e){let t=e instanceof Error?e.message:`Failed to create parser`;throw r.add({severity:`error`,summary:`Error`,detail:t,life:3e3}),e}finally{l.value=!1}}async function C(e){l.value=!0;try{let t=await a.settings.updateParser.mutate({...e,...s()});return c.value=c.value.map(n=>n.id===e.id?t:n),d.value=null,r.add({severity:`success`,summary:`Success`,detail:`Parser "${t.name}" updated`,life:3e3}),t}catch(e){let t=e instanceof Error?e.message:`Failed to update parser`;throw r.add({severity:`error`,summary:`Error`,detail:t,life:3e3}),e}finally{l.value=!1}}async function w(e){l.value=!0;try{await a.settings.deleteParser.mutate({id:e,...s()}),c.value=c.value.filter(t=>t.id!==e),r.add({severity:`success`,summary:`Success`,detail:`Parser deleted`,life:3e3})}catch(e){let t=e instanceof Error?e.message:`Failed to delete parser`;throw r.add({severity:`error`,summary:`Error`,detail:t,life:3e3}),e}finally{l.value=!1}}async function T(e,t){l.value=!0;try{let n=await a.settings.testParser.mutate({code:e,sampleLogs:t});return r.add({severity:`info`,summary:`Validation`,detail:`Validated ${n.results.length} log(s)`,life:3e3}),n}catch(e){let t=e instanceof Error?e.message:`Validation failed`;throw r.add({severity:`error`,summary:`Validation Error`,detail:t,life:3e3}),e}finally{l.value=!1}}function E(){d.value=null,u.value=!0}function D(e){d.value={...e},u.value=!0}function O(){u.value=!1,d.value=null}return{parsers:c,sortedParsers:f,userParsers:p,loading:l,createDialogOpen:u,editingParser:d,fetchParsers:x,subscribeParsers:_,unsubscribeParsers:y,createParser:S,updateParser:C,deleteParser:w,testParser:T,openCreateDialog:E,openEditDialog:D,closeDialog:O}});export{c as t};
@@ -1 +1 @@
1
- .kb-card__origin[data-v-8577dfb7]{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;color:var(--r-primary);align-items:center;gap:.25rem;display:inline-flex;overflow:hidden}.kb-card__top[data-v-8577dfb7]{align-items:flex-start;gap:.25rem;display:flex}.kb-card__title[data-v-8577dfb7]{min-width:0;color:var(--r-text);word-break:break-word;flex:1;font-size:.8125rem;line-height:1.4}.kb-card__actions[data-v-8577dfb7]{flex-shrink:0;align-items:center;gap:.125rem;display:flex}.kb-card__groups[data-v-8577dfb7]{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;display:flex}.kb-card__group[data-v-8577dfb7]{background:color-mix(in srgb, var(--r-text) 14%, transparent);color:var(--r-text-muted);border-radius:999px;padding:.0625rem .375rem;font-size:.6875rem;line-height:1.4}.kb-card__group--colored[data-v-8577dfb7]{background:color-mix(in srgb, var(--kb-group-color) 22%, transparent);color:var(--r-text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--kb-group-color) 55%, transparent)}.kb-card__assignees[data-v-8577dfb7]{flex-wrap:wrap;gap:.25rem;margin-top:.4rem;display:flex}.kb-card__avatar[data-v-8577dfb7]{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.5625rem;font-weight:600;display:flex;overflow:hidden}.kb-card__avatar--mini[data-v-8577dfb7]{width:16px;height:16px;font-size:.45rem}.kb-card__avatar--ai[data-v-8577dfb7]:not([style]){background:color-mix(in srgb, var(--r-primary) 18%, transparent);color:var(--r-primary)}.kb-card__avatar--mini .ti[data-v-8577dfb7]{font-size:.55rem}.kb-card__comments[data-v-8577dfb7]{gap:.25rem}.kb-card__comments--bubble[data-v-8577dfb7]{background:color-mix(in srgb, var(--r-primary) 12%, transparent);color:var(--r-primary);border-radius:9px 9px 9px 2px;padding:.125rem .4rem .125rem .15rem;font-weight:600;line-height:1}.kb-card__avatar img[data-v-8577dfb7]{object-fit:cover;width:100%;height:100%}.kb-card__badges[data-v-8577dfb7]{color:var(--r-text-muted);align-items:center;gap:.5rem;margin-top:.375rem;font-size:.6875rem;display:flex}.kb-card__img-badge[data-v-8577dfb7]{align-items:center;gap:.2rem;display:inline-flex}.kb-card__deadline[data-v-8577dfb7]{white-space:nowrap;border-radius:999px;align-items:center;gap:.2rem;padding:.0625rem .375rem;font-size:.6875rem;line-height:1.4;display:inline-flex}.kb-card__deadline--later[data-v-8577dfb7]{color:var(--r-text-muted)}.kb-card__deadline--soon[data-v-8577dfb7]{background:color-mix(in srgb, var(--r-amber-500,#f59e0b) 18%, transparent);color:var(--r-amber-600,#d97706)}.kb-card__deadline--today[data-v-8577dfb7]{background:color-mix(in srgb, var(--r-orange-500,#f97316) 22%, transparent);color:var(--r-orange-600,#ea580c)}.kb-card__deadline--overdue[data-v-8577dfb7]{background:color-mix(in srgb, var(--r-red-500,#ef4444) 20%, transparent);color:var(--r-red-500,#ef4444);font-weight:600}.kb-card__prio[data-v-8577dfb7]{background:color-mix(in srgb, var(--r-text) 14%, transparent);min-width:1.125rem;height:1.125rem;color:var(--r-text);border-radius:999px;justify-content:center;align-items:center;padding:0 .25rem;font-size:.625rem;font-weight:600;display:inline-flex}.kb-colgroup[data-v-4cd13da7],.kb-coloption[data-v-4cd13da7]{--kb-colgroup-icon:.9rem;--kb-colgroup-gap:.4rem}.kb-colgroup[data-v-4cd13da7]{align-items:center;gap:var(--kb-colgroup-gap);letter-spacing:.06em;text-transform:uppercase;color:var(--r-text-muted);font-size:.7rem;font-weight:700;display:flex}.kb-colgroup>.ti[data-v-4cd13da7]{width:var(--kb-colgroup-icon);text-align:center;flex:none}.kb-colgroup__label[data-v-4cd13da7]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kb-coloption[data-v-4cd13da7]{padding-left:calc(var(--kb-colgroup-icon) + var(--kb-colgroup-gap));text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.kb-issues__bulk[data-v-d8b32a4f]{background:color-mix(in srgb, var(--r-primary) 6%, var(--r-bg));border-bottom:1px solid var(--r-border);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.kb-issues__bulk-select[data-v-d8b32a4f]{min-width:14rem}.kb-issues__bulk-clear[data-v-d8b32a4f]{color:var(--r-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.kb-issues__bulk-clear[data-v-d8b32a4f]:hover{color:var(--r-text)}.kb-issues__bulk-result[data-v-d8b32a4f]{color:var(--r-text-muted)}.kb-issues__bulk-result--failed[data-v-d8b32a4f]{color:var(--r-red-500)}.kb-issues[data-v-d8b32a4f]{border:1px solid var(--r-border);background:var(--r-bg);border-radius:8px;flex:none;width:calc(100% - 2rem);max-width:64rem;margin:1rem auto;overflow:hidden}.kb-issues__head[data-v-d8b32a4f]{background:color-mix(in srgb, var(--r-text) 4%, var(--r-bg));border-bottom:1px solid var(--r-border);justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .75rem .5rem .5rem;display:flex}.kb-issues__lead[data-v-d8b32a4f],.kb-issues__states[data-v-d8b32a4f]{align-items:center;gap:.25rem;display:flex}.kb-issues__state[data-v-d8b32a4f]{color:var(--r-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.875rem;transition:color .15s,background-color .15s;display:inline-flex}.kb-issues__state--active[data-v-d8b32a4f]{color:var(--r-text);font-weight:600}@media (hover:hover) and (pointer:fine){.kb-issues__state[data-v-d8b32a4f]:hover{color:var(--r-text)}}.kb-issues__icon--open[data-v-d8b32a4f]{color:var(--r-green-500,#22c55e)}.kb-issues__icon--closed[data-v-d8b32a4f]{color:var(--r-primary)}.kb-issues__empty[data-v-d8b32a4f]{color:var(--r-text-muted);flex-direction:column;align-items:center;gap:.5rem;margin:0;padding:3rem 1rem;font-size:.9rem;display:flex}.kb-issues__empty .ti[data-v-d8b32a4f]{font-size:1.5rem}.kb-issues__list[data-v-d8b32a4f]{margin:0;padding:0;list-style:none}.kb-issue[data-v-d8b32a4f]{--kb-issue-line:1.5rem;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.6rem .75rem;transition:background-color .12s;display:grid}.kb-issue--selectable[data-v-d8b32a4f]{grid-template-columns:auto auto minmax(0,1fr) auto}.kb-issue__select[data-v-d8b32a4f]{height:var(--kb-issue-line);align-items:center;display:flex}.kb-issues__select-all[data-v-d8b32a4f]{margin:0 .35rem 0 .25rem}.kb-issue+.kb-issue[data-v-d8b32a4f]{border-top:1px solid var(--r-border)}@media (hover:hover) and (pointer:fine){.kb-issue[data-v-d8b32a4f]:hover{background:var(--r-bg-hover)}}.kb-issue__state[data-v-d8b32a4f]{height:var(--kb-issue-line);align-items:center;font-size:.95rem;display:flex}.kb-issue__main[data-v-d8b32a4f]{min-width:0}.kb-issue__line[data-v-d8b32a4f]{min-height:var(--kb-issue-line);flex-wrap:wrap;align-items:center;gap:.35rem .5rem;display:flex}.kb-issue__color[data-v-d8b32a4f]{border-radius:50%;flex:none;width:.5rem;height:.5rem}.kb-issue__title[data-v-d8b32a4f]{color:var(--r-text);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:none;padding:0;font-size:.95rem;font-weight:600}@media (hover:hover) and (pointer:fine){.kb-issue__title[data-v-d8b32a4f]:hover{color:var(--r-primary)}}.kb-issue__label[data-v-d8b32a4f]{border:1px solid color-mix(in srgb, var(--r-primary) 35%, transparent);background:color-mix(in srgb, var(--r-primary) 12%, var(--r-bg));color:var(--r-text);border-radius:999px;padding:.05rem .5rem;font-size:.72rem;font-weight:500;line-height:1.5}.kb-issue__meta[data-v-d8b32a4f]{color:var(--r-text-muted);flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.2rem;font-size:.78rem;display:flex}.kb-issue__meta .ti[data-v-d8b32a4f]{font-size:.7rem}.kb-issue__side[data-v-d8b32a4f]{color:var(--r-text-muted);align-items:center;gap:.75rem;font-size:.8rem;display:flex}.kb-issue__deadline[data-v-d8b32a4f]{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.kb-issue__deadline--overdue[data-v-d8b32a4f]{color:#ef4444}.kb-issue__deadline--today[data-v-d8b32a4f]{color:#f97316}.kb-issue__deadline--soon[data-v-d8b32a4f]{color:#f59e0b}.kb-issue__prio[data-v-d8b32a4f]{background:color-mix(in srgb, var(--r-text) 8%, var(--r-bg));min-width:1.25rem;color:var(--r-text);text-align:center;border-radius:4px;padding:0 .3rem;font-size:.72rem;font-weight:600}.kb-issue__assignees[data-v-d8b32a4f]{display:flex}.kb-issue__avatar[data-v-d8b32a4f]{border:2px solid var(--r-bg);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;font-size:.6rem;font-weight:600;display:inline-flex;overflow:hidden}.kb-issue__avatar+.kb-issue__avatar[data-v-d8b32a4f]{margin-left:-.45rem}.kb-issue__avatar img[data-v-d8b32a4f]{object-fit:cover;width:100%;height:100%}.kb-issue__comments[data-v-d8b32a4f]{align-items:center;gap:.3rem;display:inline-flex}.kb-issue__actions[data-v-d8b32a4f]{gap:.15rem;display:inline-flex}.kb-issue__actions button[data-v-d8b32a4f]{width:1.6rem;height:1.6rem;color:var(--r-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:color .12s,background-color .12s;display:inline-flex}.kb-issue__actions button[data-v-d8b32a4f]:active{transform:scale(.95)}@media (hover:hover) and (pointer:fine){.kb-issue__actions[data-v-d8b32a4f]{opacity:0;transition:opacity .12s}.kb-issue:hover .kb-issue__actions[data-v-d8b32a4f],.kb-issue:focus-within .kb-issue__actions[data-v-d8b32a4f]{opacity:1}.kb-issue__actions button[data-v-d8b32a4f]:hover{color:var(--r-text);background:var(--r-bg-hover)}}@media (width<=640px){.kb-issue[data-v-d8b32a4f]{grid-template-columns:auto minmax(0,1fr)}.kb-issue__side[data-v-d8b32a4f]{flex-wrap:wrap;grid-column:2}.kb-issue--selectable[data-v-d8b32a4f]{grid-template-columns:auto auto minmax(0,1fr)}.kb-issue--selectable .kb-issue__side[data-v-d8b32a4f]{grid-column:3}}.kb-placements[data-v-b6e1a4c9]{flex-direction:column;gap:.4rem;display:flex}.kb-placements__list[data-v-b6e1a4c9]{flex-direction:column;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.kb-placements__item[data-v-b6e1a4c9]{align-items:center;gap:.4rem;min-width:0;min-height:1.6rem;font-size:.85rem;display:flex}.kb-placements__icon[data-v-b6e1a4c9]{width:.9rem;color:var(--r-text-muted);flex:none;font-size:.85rem}.kb-placements__path[data-v-b6e1a4c9]{flex:1;align-items:center;gap:.3rem;min-width:0;display:flex}.kb-placements__board[data-v-b6e1a4c9]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--r-text-muted);flex:0 auto;overflow:hidden}.kb-placements__board--link[data-v-b6e1a4c9]{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}@media (hover:hover) and (pointer:fine){.kb-placements__board--link[data-v-b6e1a4c9]:hover{color:var(--r-primary-text);text-decoration:underline}}.kb-placements__sep[data-v-b6e1a4c9]{color:var(--r-text-muted);flex:none;font-size:.7rem}.kb-placements__column[data-v-b6e1a4c9]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--r-text);flex:0 auto;overflow:hidden}.kb-placements__remove[data-v-b6e1a4c9]{width:1.4rem;height:1.4rem;color:var(--r-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover) and (pointer:fine){.kb-placements__remove[data-v-b6e1a4c9]:hover{color:var(--r-text);background:var(--r-bg-hover)}}.kb-placements__add[data-v-b6e1a4c9]{width:100%}.kb-place__intro[data-v-86bf4c86]{color:var(--r-text-muted);margin:0 0 .75rem;font-size:.85rem}.kb-place__search[data-v-86bf4c86]{width:100%}.kb-place__hint[data-v-86bf4c86]{color:var(--r-text-muted);margin:.75rem 0 0;font-size:.85rem}.kb-place__list[data-v-86bf4c86]{flex-direction:column;gap:.25rem;max-height:20rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.kb-place__item[data-v-86bf4c86]{width:100%;color:var(--r-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.5rem .6rem;transition:background-color .12s;display:flex}@media (hover:hover) and (pointer:fine){.kb-place__item[data-v-86bf4c86]:hover{background:var(--r-bg-hover)}}.kb-place__title[data-v-86bf4c86]{font-size:.9rem;font-weight:600}.kb-place__board[data-v-86bf4c86]{color:var(--r-text-muted);font-size:.75rem}.kcp__panel[data-v-49db4568]{flex-direction:column;gap:.625rem;width:12rem;display:flex}.kcp__wheel[data-v-49db4568]{touch-action:none;cursor:crosshair;background:radial-gradient(circle, var(--kcp-center) 0%, var(--kcp-center-fade) 100%), conic-gradient(from 90deg, var(--kcp-hues));width:12rem;height:12rem;box-shadow:inset 0 0 0 1px var(--r-border);border-radius:50%;position:relative}.kcp__wheel--disabled[data-v-49db4568]{cursor:default;opacity:.6}.kcp__reticle[data-v-49db4568]{pointer-events:none;border:2px solid #fff;border-radius:50%;width:.875rem;height:.875rem;margin:-.4375rem 0 0 -.4375rem;position:absolute;box-shadow:0 0 0 1px #00000073}.kcp__value[data-v-49db4568]{flex-direction:column;gap:.25rem;display:flex}.kcp__value-label[data-v-49db4568],.kcp__history-label[data-v-49db4568]{color:var(--r-text-muted);font-size:.75rem}.kcp__value-input[data-v-49db4568]{cursor:pointer;width:100%}.kcp__value-input[data-v-49db4568] .r-slider__track{background:linear-gradient(to right, #000, var(--kcp-hue-color));height:.75rem;box-shadow:inset 0 0 0 1px var(--r-border);border-radius:999px}.kcp__value-input[data-v-49db4568] .r-slider__range{background:0 0}.kcp__value-input[data-v-49db4568] .r-slider__thumb{background:var(--kcp-thumb-color);border:2px solid #fff;width:.875rem;height:.875rem;box-shadow:0 0 0 1px #00000073}.kcp__hex[data-v-49db4568]{align-items:center;gap:.375rem;display:flex}.kcp__preview[data-v-49db4568]{border:1px solid var(--r-border);border-radius:50%;flex:none;width:1.25rem;height:1.25rem}.kcp__hex-input[data-v-49db4568]{box-shadow:none;border:1px solid var(--r-border);background:var(--r-bg);min-width:0;color:var(--r-text);border-radius:4px;flex:1;padding:.25rem .375rem;font-family:monospace;font-size:.8125rem}.kcp__history[data-v-49db4568]{flex-direction:column;gap:.25rem;display:flex}.kcp__history-row[data-v-49db4568]{flex-wrap:wrap;gap:.375rem;display:flex}.kcp__history-swatch[data-v-49db4568]{border:1px solid var(--r-border);cursor:pointer;border-radius:50%;width:1.25rem;height:1.25rem;padding:0}.kcp__history-swatch[data-v-49db4568]:disabled{cursor:default;opacity:.6}.kb-files[data-v-d7e8bda6]{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.kb-files--inline[data-v-d7e8bda6]{margin-top:.375rem}.kb-files__item[data-v-d7e8bda6]{border:1px solid var(--r-border);border-radius:6px;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8125rem;display:flex}.kb-files--inline .kb-files__item[data-v-d7e8bda6]{padding:.25rem .375rem}.kb-files__thumb[data-v-d7e8bda6]{border-radius:4px;flex-shrink:0;width:28px;height:28px;overflow:hidden}.kb-files__thumb img[data-v-d7e8bda6]{object-fit:cover;width:100%;height:100%}.kb-files__icon[data-v-d7e8bda6]{color:var(--r-text-muted)}.kb-files__name[data-v-d7e8bda6]{text-align:left;cursor:pointer;min-width:0;color:var(--r-text);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:0;font-size:.8125rem;overflow:hidden}.kb-files__name--static[data-v-d7e8bda6]{cursor:default}.kb-files__name[data-v-d7e8bda6]:not(.kb-files__name--static):hover{color:var(--r-primary);text-decoration:underline}.kb-files__size[data-v-d7e8bda6]{color:var(--r-text-muted);flex-shrink:0;font-size:.6875rem}.kb-files__remove[data-v-d7e8bda6]{cursor:pointer;color:var(--r-text-muted);background:0 0;border:none;border-radius:4px;padding:.125rem .25rem}.kb-files__remove[data-v-d7e8bda6]:hover{color:var(--r-red-500,#ef4444);background:var(--r-bg-hover)}.kb-upload[data-v-66b3dafe]{flex-direction:column;gap:.25rem;display:flex}.kb-upload__list[data-v-66b3dafe],.kb-upload__errors[data-v-66b3dafe]{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.kb-upload__list li[data-v-66b3dafe]{align-items:center;gap:.5rem;font-size:.75rem;display:flex}.kb-upload__name[data-v-66b3dafe]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--r-text-muted);flex:0 40%;overflow:hidden}.kb-upload__bar[data-v-66b3dafe]{background:var(--r-bg-hover);border-radius:2px;flex:1;height:4px;overflow:hidden}.kb-upload__bar-fill[data-v-66b3dafe]{background:var(--r-primary);height:100%;transition:width .15s linear;display:block}.kb-upload__pct[data-v-66b3dafe]{color:var(--r-text-muted);flex-shrink:0;font-size:.6875rem}.kb-upload__status[data-v-66b3dafe]{color:var(--r-text-muted);margin:0;font-size:.75rem}.kb-upload__errors[data-v-66b3dafe]{color:var(--r-red-500,#ef4444);font-size:.75rem}.kg-lead[data-v-8de71551]{color:var(--r-text-muted);margin:0 0 .75rem;font-size:.85rem}.kg-create[data-v-8de71551]{gap:.5rem;margin-bottom:.75rem;display:flex}.kg-create__input[data-v-8de71551]{flex:1}.kg-tree[data-v-8de71551]{border:1px solid var(--r-border);border-radius:8px;max-height:45vh;padding:.25rem;overflow-y:auto}.kg-row[data-v-8de71551]{cursor:grab;border-radius:6px;align-items:center;gap:.5rem;padding:.3rem .5rem;font-size:.875rem;display:flex}.kg-row[data-v-8de71551]:hover{background:var(--r-bg-hover)}.kg-row--group[data-v-8de71551]{font-weight:600}.kg-row--target[data-v-8de71551]{outline:2px solid var(--r-primary);outline-offset:-2px}.kg-row__icon[data-v-8de71551]{color:var(--r-text-muted);font-size:.8rem}.kg-swatch[data-v-8de71551]{border-radius:2px;width:.6rem;height:.6rem}.kg-row__title[data-v-8de71551]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.kg-row__rename[data-v-8de71551]{flex:1}.kg-row__count[data-v-8de71551]{color:var(--r-text-muted);font-size:.72rem}.kg-row__actions[data-v-8de71551]{align-items:center;gap:.15rem;display:flex}.kg-move[data-v-8de71551]{opacity:.35}.kg-row:hover .kg-move[data-v-8de71551],.kg-move[data-v-8de71551]:focus-visible{opacity:1}.kg-dot[data-v-8de71551]{cursor:pointer;opacity:.45;border-radius:50%;width:.7rem;height:.7rem}.kg-dot--on[data-v-8de71551],.kg-dot[data-v-8de71551]:hover{opacity:1;box-shadow:0 0 0 2px var(--r-bg), 0 0 0 3px currentColor}.kg-loose[data-v-8de71551]{border:1px dashed var(--r-border);border-radius:8px;margin-top:.75rem;padding:.4rem}.kg-loose__label[data-v-8de71551]{text-transform:uppercase;letter-spacing:.04em;color:var(--r-text-muted);padding:0 .5rem .25rem;font-size:.72rem}.kg-empty[data-v-8de71551]{color:var(--r-text-muted);padding:.5rem;font-size:.8rem}.kb-bands[data-v-6881baa8]{flex-shrink:0;width:max-content;min-width:100%;position:relative}.kb-band[data-v-6881baa8]{box-sizing:border-box;height:22px;color:var(--kb-band-color);background:color-mix(in srgb, var(--kb-band-color) 14%, transparent);border-bottom:2px solid var(--kb-band-color);pointer-events:none;border-radius:0 0 5px 5px;align-items:center;gap:.4rem;padding:0 .5rem;font-size:.75rem;font-weight:600;display:flex;position:absolute;overflow:hidden}.kb-band--folded[data-v-6881baa8]{justify-content:center;gap:.2rem;padding:0 .25rem}.kb-band--folded .kb-band__title[data-v-6881baa8]{display:none}.kb-band__title[data-v-6881baa8]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.kb-band__count[data-v-6881baa8]{opacity:.75;font-variant-numeric:tabular-nums;flex-shrink:0}.kb-band__fold[data-v-6881baa8]{pointer-events:auto;color:inherit;cursor:pointer;opacity:.75;background:0 0;border:0;flex-shrink:0;align-items:center;padding:0 .15rem;font-size:.85rem;line-height:1;display:inline-flex}.kb-band__fold[data-v-6881baa8]:disabled{cursor:default;opacity:.35}.kb-band__fold[data-v-6881baa8]:not(:disabled):hover,.kb-band__fold[data-v-6881baa8]:focus-visible{opacity:1}.cc[data-v-2b65fbe9]{flex-direction:column;gap:.6rem;padding:.5rem 0;display:flex}.cc__empty[data-v-2b65fbe9]{color:var(--r-text-muted);margin:0;font-size:.85rem}.cc__conv[data-v-2b65fbe9]{border:1px solid var(--r-border);background:var(--r-bg);border-radius:10px;transition:border-color .15s}.cc__conv--open[data-v-2b65fbe9]{border-color:color-mix(in srgb, var(--r-primary) 35%, var(--r-border))}.cc__head[data-v-2b65fbe9]{align-items:center;gap:.25rem;padding:.25rem .35rem .25rem .25rem;display:flex}.cc__toggle[data-v-2b65fbe9]{min-width:0;min-height:2.75rem;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;align-items:center;gap:.55rem;padding:.4rem .5rem;display:flex}.cc__toggle[data-v-2b65fbe9]:hover{background:var(--r-bg-hover)}.cc__toggle[data-v-2b65fbe9]:focus-visible{outline:2px solid var(--r-primary);outline-offset:1px}.cc__chevron[data-v-2b65fbe9]{color:var(--r-text-muted);flex-shrink:0;font-size:.75rem;transition:transform .15s}.cc__conv--open .cc__chevron[data-v-2b65fbe9]{transform:rotate(90deg)}.cc__head-text[data-v-2b65fbe9]{flex-direction:column;gap:.15rem;min-width:0;display:flex}.cc__title[data-v-2b65fbe9]{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.cc__sub[data-v-2b65fbe9]{color:var(--r-text-muted);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.75rem;display:flex}.cc__state[data-v-2b65fbe9]{align-items:center;gap:.3rem;font-weight:600;display:inline-flex}.cc__dot[data-v-2b65fbe9]{background:currentColor;border-radius:999px;width:.45rem;height:.45rem}.cc__state--open[data-v-2b65fbe9]{color:var(--r-green-600,#16a34a)}.cc__state--resolved[data-v-2b65fbe9]{color:var(--r-text-muted)}.cc__actions[data-v-2b65fbe9]{flex-shrink:0;align-items:center;gap:.1rem;display:flex}.cc__out[data-v-2b65fbe9]{min-height:2rem;color:var(--r-primary);border-radius:8px;align-items:center;gap:.35rem;padding:0 .55rem;font-size:.78rem;text-decoration:none;display:inline-flex}.cc__out[data-v-2b65fbe9]:hover{background:var(--r-bg-hover)}.cc__out[data-v-2b65fbe9]:focus-visible{outline:2px solid var(--r-primary);outline-offset:1px}.cc__elsewhere[data-v-2b65fbe9]{color:var(--r-text-muted);flex-wrap:wrap;align-items:center;gap:.35rem;margin:0 .75rem .5rem 2.35rem;font-size:.75rem;display:flex}.cc__card-link[data-v-2b65fbe9]{color:var(--r-primary);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.cc__thread-wrap[data-v-2b65fbe9]{border-top:1px solid var(--r-border);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.cc__earlier[data-v-2b65fbe9]{background:var(--r-bg-hover);border:1px solid var(--r-border);min-height:2rem;color:var(--r-text-muted);cursor:pointer;border-radius:999px;align-self:center;align-items:center;gap:.35rem;padding:0 .75rem;font-size:.75rem;display:inline-flex}.cc__earlier[data-v-2b65fbe9]:hover{color:var(--r-text)}.cc__earlier[data-v-2b65fbe9]:focus-visible{outline:2px solid var(--r-primary);outline-offset:1px}.cc__thread[data-v-2b65fbe9]{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.cc__msg[data-v-2b65fbe9]{flex-direction:column;gap:.25rem;max-width:88%;display:flex}.cc__msg--followup[data-v-2b65fbe9]{margin-top:-.4rem}.cc__msg--customer[data-v-2b65fbe9]{align-self:flex-start}.cc__msg--agent[data-v-2b65fbe9]{align-self:flex-end;align-items:flex-end}.cc__msg-head[data-v-2b65fbe9]{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.75rem;display:flex}.cc__msg--agent .cc__msg-head[data-v-2b65fbe9]{flex-direction:row-reverse}.cc__avatar[data-v-2b65fbe9]{width:1.5rem;height:1.5rem;color:var(--r-text);background:var(--r-bg-hover);border:1px solid var(--r-border);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.62rem;font-weight:700;display:inline-flex}.cc__author[data-v-2b65fbe9]{font-size:.78rem}.cc__role[data-v-2b65fbe9],.cc__time[data-v-2b65fbe9]{color:var(--r-text-muted)}.cc__bubble[data-v-2b65fbe9]{background:var(--r-bg-hover);border:1px solid var(--r-border);border-radius:12px;min-width:0;padding:.5rem .7rem}.cc__msg--customer .cc__bubble[data-v-2b65fbe9]{border-top-left-radius:4px}.cc__msg--agent .cc__bubble[data-v-2b65fbe9]{background:color-mix(in srgb, var(--r-primary) 10%, var(--r-bg));border-color:color-mix(in srgb, var(--r-primary) 25%, var(--r-border));border-top-right-radius:4px}.cc__msg--internal .cc__bubble[data-v-2b65fbe9]{background:color-mix(in srgb, var(--r-yellow-500,#eab308) 12%, var(--r-bg));border-color:color-mix(in srgb, var(--r-yellow-500,#eab308) 40%, var(--r-border));border-style:dashed}.cc__body[data-v-2b65fbe9]{overflow-wrap:anywhere;font-size:.85rem;line-height:1.5}.cc__body[data-v-2b65fbe9] p{margin:.15rem 0}.cc__body[data-v-2b65fbe9] p:first-child{margin-top:0}.cc__body[data-v-2b65fbe9] p:last-child{margin-bottom:0}.cc__pending[data-v-2b65fbe9]{align-items:center;gap:.3rem;display:inline-flex}.cc__missing[data-v-2b65fbe9]{color:var(--r-text-muted);align-items:center;gap:.35rem;margin:.35rem 0 0;font-size:.72rem;display:flex}@media (width<=520px){.cc__msg[data-v-2b65fbe9]{max-width:100%}.cc__out-label[data-v-2b65fbe9]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cc__elsewhere[data-v-2b65fbe9]{margin-left:.75rem}}@media (prefers-reduced-motion:reduce){.cc__conv[data-v-2b65fbe9],.cc__chevron[data-v-2b65fbe9]{transition:none}}.cl[data-v-3b8558bd]{flex-direction:column;gap:.6rem;display:flex}.cl__search[data-v-3b8558bd]{flex-wrap:wrap;gap:.5rem;display:flex}.cl__connection[data-v-3b8558bd]{min-width:10rem}.cl__query[data-v-3b8558bd]{flex:1;min-width:12rem}.cl__results[data-v-3b8558bd]{flex-direction:column;gap:.4rem;max-height:24rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.cl__hit[data-v-3b8558bd]{border:1px solid var(--r-border);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.5rem;display:flex}.cl__hit-main[data-v-3b8558bd]{flex-direction:column;gap:.2rem;min-width:0;display:flex}.cl__preview[data-v-3b8558bd]{color:var(--r-text-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8rem;display:-webkit-box;overflow:hidden}.cl__elsewhere[data-v-3b8558bd]{color:var(--r-text-muted);flex-wrap:wrap;align-items:center;gap:.3rem;margin:0;font-size:.78rem;display:flex}.cl__card-link[data-v-3b8558bd]{color:var(--r-primary);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.cl__state[data-v-3b8558bd]{background:var(--r-bg-hover);border-radius:6px;align-self:flex-start;padding:.1rem .4rem;font-size:.7rem;font-weight:600}.cl__state--open[data-v-3b8558bd]{color:var(--r-green-600,#16a34a)}.cl__state--resolved[data-v-3b8558bd]{color:var(--r-text-muted)}.cl__empty[data-v-3b8558bd]{color:var(--r-text-muted);margin:0;font-size:.85rem}.kb-history[data-v-d41366b3]{padding:.5rem 0}.kb-history__empty[data-v-d41366b3]{color:var(--r-text-muted);flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;font-size:.875rem;display:flex}.kb-history__empty i[data-v-d41366b3]{opacity:.5;font-size:1.5rem}.kb-history__timeline[data-v-d41366b3]{--kb-history-dot:22px;flex-direction:column;padding-left:1.75rem;display:flex;position:relative}.kb-history__timeline[data-v-d41366b3]:before{content:"";left:calc(var(--kb-history-dot) / 2 - 1px);background:var(--r-border);border-radius:1px;width:2px;position:absolute;top:.5rem;bottom:.5rem}.kb-history__item[data-v-d41366b3]{align-items:flex-start;gap:.75rem;padding:.5rem 0;display:flex;position:relative}.kb-history__item--clickable[data-v-d41366b3]{cursor:pointer;border-radius:6px;margin:0 -.375rem;padding:.5rem .375rem;transition:background .15s}.kb-history__item--clickable[data-v-d41366b3]:hover{background:var(--r-bg-hover)}.kb-history__item--clickable:hover .kb-history__label[data-v-d41366b3]{color:var(--r-primary)}.kb-history__icon[data-v-d41366b3]{box-sizing:border-box;width:var(--kb-history-dot);height:var(--kb-history-dot);background:var(--r-bg);border:2px solid var(--r-border);z-index:1;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:.5rem;left:-1.75rem}.kb-history__item--clickable .kb-history__icon[data-v-d41366b3]{left:-1.375rem}.kb-history__icon i[data-v-d41366b3]{color:var(--r-text-muted);font-size:.625rem}.kb-history__body[data-v-d41366b3]{flex-direction:column;gap:.125rem;min-width:0;display:flex}.kb-history__label[data-v-d41366b3]{color:var(--r-text);font-size:.8125rem;font-weight:500}.kb-history__subject[data-v-d41366b3]{margin-left:.25rem;font-weight:600}.kb-history__detail[data-v-d41366b3]{color:var(--r-text-muted);word-break:break-word;font-size:.75rem}.kb-history__time[data-v-d41366b3]{color:var(--r-text-muted);opacity:.7;font-size:.6875rem}.kb-col__done[data-v-a8dad745]{color:var(--r-green-500,#22c55e);font-size:.8rem}.kb-viewer[data-v-a8dad745]:has(.kb-viewer__office){flex-direction:column;justify-content:flex-start;align-items:stretch}.kb-viewer__office[data-v-a8dad745]{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.kb-viewer__tabs[data-v-a8dad745]{flex-wrap:wrap;flex-shrink:0;gap:.25rem;padding-bottom:.5rem;display:flex}.kb-viewer__tab[data-v-a8dad745]{border:1px solid var(--r-border);color:var(--r-text-muted);cursor:pointer;background:0 0;border-radius:6px 6px 0 0;padding:.25rem .6rem;font-size:.8125rem}.kb-viewer__tab--active[data-v-a8dad745]{color:var(--r-text);background:var(--r-bg-hover);border-bottom-color:#0000}.kb-viewer__scroll[data-v-a8dad745]{flex:1;min-height:0;overflow:auto}.kb-viewer__table[data-v-a8dad745]{border-collapse:collapse;width:max-content;min-width:100%;font-size:.8125rem}.kb-viewer__table th[data-v-a8dad745],.kb-viewer__table td[data-v-a8dad745]{border:1px solid var(--r-border);text-align:left;vertical-align:top;white-space:pre-wrap;max-width:32rem;padding:.25rem .5rem}.kb-viewer__table th[data-v-a8dad745]{background:var(--r-bg);font-weight:600;position:sticky;top:0}.kb-viewer__doc[data-v-a8dad745]{max-width:46rem;margin:0 auto;line-height:1.6}.kb-viewer__doc h1[data-v-a8dad745],.kb-viewer__doc h2[data-v-a8dad745],.kb-viewer__doc h3[data-v-a8dad745]{margin:1.2em 0 .4em;line-height:1.3}.kb-viewer__doc p[data-v-a8dad745]{margin:0 0 .75em}.kb-viewer__li[data-v-a8dad745]{margin:0 0 .35em 1.25rem;list-style:outside;display:list-item}.kb-viewer__doc .kb-viewer__table[data-v-a8dad745]{margin:0 0 1em}.kb-viewer__render[data-v-a8dad745]{background:var(--r-bg-hover);padding:.5rem 0}.kb-viewer__slides[data-v-a8dad745]{flex-direction:column;gap:.75rem;display:flex}.kb-viewer__slide[data-v-a8dad745]{border:1px solid var(--r-border);border-radius:8px;padding:.9rem 1rem .9rem 2.5rem;position:relative}.kb-viewer__slide-no[data-v-a8dad745]{color:var(--r-text-muted);font-size:.75rem;position:absolute;top:.9rem;left:.75rem}.kb-viewer__slide h3[data-v-a8dad745]{margin:0 0 .5rem;font-size:1rem}.kb-viewer__slide p[data-v-a8dad745]{margin:0 0 .25rem;font-size:.875rem}.kb-viewer__empty[data-v-a8dad745],.kb-viewer__truncated[data-v-a8dad745]{color:var(--r-text-muted);font-size:.8125rem}.kb-viewer__truncated[data-v-a8dad745]{flex-shrink:0;margin:.5rem 0 0}.kb[data-v-a8dad745]{flex-direction:column;height:100%;display:flex;overflow:hidden}.kb-header[data-v-a8dad745]{border-bottom:1px solid var(--r-border);background:var(--r-bg);flex-shrink:0;align-items:center;gap:.5rem;padding:.625rem 1rem;display:flex}.kb-header__title[data-v-a8dad745]{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;margin:0;font-size:1.125rem;font-weight:600;overflow:hidden}.kb-header__search[data-v-a8dad745]{flex:auto;align-items:center;gap:.375rem;min-width:9rem;display:flex}.kb-header__search[data-v-a8dad745] .r-icon-field{flex:auto;min-width:0}.kb-header__search-input[data-v-a8dad745]{width:100%}.kb-archive__column[data-v-a8dad745]{width:100%;margin-bottom:.75rem}.kb-archive__hint[data-v-a8dad745]{color:var(--r-text-muted);margin:0 0 .75rem;font-size:.8rem}.kb-archive__search[data-v-a8dad745]{align-items:center;gap:.375rem;margin-bottom:.75rem;display:flex}.kb-archive__search-input[data-v-a8dad745]{flex:1;min-width:0}.kb-archive__empty[data-v-a8dad745]{color:var(--r-text-muted);font-size:.85rem}.kb-archive__filtered[data-v-a8dad745]{color:var(--r-text-muted);align-items:center;gap:.375rem;margin:0 0 .5rem;font-size:.75rem;display:flex}.kb-archive__reset[data-v-a8dad745]{font:inherit;color:var(--r-primary);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.kb-archive__list[data-v-a8dad745]{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.kb-archive__list .kb-archive__card[data-v-a8dad745]{cursor:pointer}.kb-archive__meta[data-v-a8dad745]{border-top:1px solid var(--r-border);color:var(--r-text-muted);flex-wrap:wrap;justify-content:space-between;gap:.375rem;margin-top:.5rem;padding-top:.375rem;font-size:.7rem;display:flex}.kb-boardwrap.kb-boardwrap--list[data-v-a8dad745]{overflow:hidden auto}.kb-boardwrap--list .kb-board[data-v-a8dad745]{flex:none;width:auto;min-width:0;padding:0}.kb-boardwrap[data-v-a8dad745]{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--r-text) 30%, var(--r-bg)) transparent;flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto hidden}.kb-boardwrap--panning[data-v-a8dad745]{cursor:grabbing;-webkit-user-select:none;user-select:none}.kb-boardwrap[data-v-a8dad745]::-webkit-scrollbar{height:10px}.kb-boardwrap[data-v-a8dad745]::-webkit-scrollbar-track{background:0 0}.kb-boardwrap[data-v-a8dad745]::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--r-text) 30%, var(--r-bg));border:2px solid var(--r-bg);border-radius:999px}.kb-boardwrap[data-v-a8dad745]::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--r-text) 50%, var(--r-bg))}.kb-board[data-v-a8dad745]{flex:1;align-items:flex-start;gap:.75rem;width:max-content;min-width:100%;min-height:0;padding:1rem;display:flex;position:relative}.kb-col[data-v-a8dad745]{background:var(--r-bg-hover);contain:layout paint style;-webkit-touch-callout:none;-webkit-user-select:none;touch-action:pan-x pan-y;border:2px solid #0000;border-radius:10px;flex-direction:column;flex-shrink:0;width:300px;max-height:100%;transition:border-color .15s,width .26s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.kb-col[data-v-a8dad745]:not(.kb-col--collapsed)>:not(.kb-col__strip){box-sizing:border-box;min-width:296px}.kb-col:not(.kb-col--collapsed)>.kb-col__add-card[data-v-a8dad745]{min-width:calc(296px - 1rem)}.kb-col__bell--on[data-v-a8dad745]{color:var(--r-primary)}.kb-col__header-right[data-v-a8dad745] .r-button.kb-col__bell--on,.kb-col__header-right[data-v-a8dad745] .r-button.kb-col__menu-btn--open{display:inline-flex}.kb-colmenu[data-v-a8dad745]{flex-direction:column;gap:.125rem;min-width:12rem;display:flex}.kb-colmenu__host[data-v-a8dad745]:empty{display:none}.kb-colmenu__host[data-v-a8dad745]{border-bottom:1px solid var(--r-border);align-items:center;gap:.25rem;margin-bottom:.25rem;padding-bottom:.25rem;display:flex}.kb-colmenu__item[data-v-a8dad745]{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .625rem;font-size:.875rem;display:flex}.kb-colmenu__item[data-v-a8dad745]:hover{background:var(--r-bg-hover)}.kb-colmenu__item--danger[data-v-a8dad745]{color:var(--r-red-500,#ef4444)}.kb-subscribe__lead[data-v-a8dad745]{margin:0 0 .75rem;line-height:1.5}.kb-subscribe__legend[data-v-a8dad745]{color:var(--r-text-muted);margin:0 0 .4rem;font-size:.8125rem;font-weight:600}.kb-subscribe__options[data-v-a8dad745]{flex-direction:column;gap:.4rem;margin:0 0 .75rem;display:flex}.kb-subscribe__option[data-v-a8dad745]{cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.kb-subscribe__list[data-v-a8dad745]{flex-direction:column;gap:.35rem;margin:0 0 .75rem;padding:0;font-size:.875rem;list-style:none;display:flex}.kb-subscribe__list li[data-v-a8dad745]{align-items:center;gap:.5rem;display:flex}.kb-subscribe__list .ti-check[data-v-a8dad745]{color:var(--r-primary)}.kb-subscribe__no[data-v-a8dad745]{color:var(--r-text-muted);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.8125rem;display:flex}.kb-subscribe__no .ti-x[data-v-a8dad745]{color:var(--r-text-muted)}.kb-subscribe__channels[data-v-a8dad745]{color:var(--r-text-muted);margin:0;font-size:.8125rem}.kb-col--collapsed[data-v-a8dad745]{cursor:pointer;width:2.75rem;min-height:8rem}.kb-col__strip[data-v-a8dad745]{width:100%;min-height:0;color:var(--r-text);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:.5rem;padding:.625rem 0;animation:.26s ease-out both kb-col-reveal-a8dad745;display:flex}.kb-col__strip--empty[data-v-a8dad745]{opacity:.32}.kb-col__strip--empty[data-v-a8dad745]:hover,.kb-col__strip--empty[data-v-a8dad745]:focus-visible{opacity:1}.kb-col__strip-title[data-v-a8dad745]{writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;flex:none;font-size:.875rem;font-weight:600}.kb-col--dragging[data-v-a8dad745]{transition:none}@keyframes kb-col-reveal-a8dad745{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.kb-col[data-v-a8dad745]{transition:border-color .15s}.kb-col__strip[data-v-a8dad745],.kb-col__header[data-v-a8dad745]{animation:none}}.kb-col--dragover[data-v-a8dad745]{border-color:var(--r-primary);background:color-mix(in srgb, var(--r-primary) 5%, var(--r-bg-hover))}.kb-col__header[data-v-a8dad745]{justify-content:space-between;align-items:center;gap:.5rem;padding:.625rem .75rem .5rem;animation:.26s ease-out both kb-col-reveal-a8dad745;display:flex}.kb-col__header-right[data-v-a8dad745]{flex-shrink:0;align-items:center;gap:.25rem;min-height:2rem;display:flex}.kb-col__header-right[data-v-a8dad745] .r-button{display:none}.kb-col:hover .kb-col__header-right[data-v-a8dad745] .r-button,.kb-col__header-right[data-v-a8dad745]:focus-within .r-button{display:inline-flex}.kb-col__grip[data-v-a8dad745]{cursor:grab;color:var(--r-text-muted);touch-action:none;flex-shrink:0;padding:.15rem;font-size:.8rem}.kb-col__grip[data-v-a8dad745]:active{cursor:grabbing}.kb-col__title.r-input[data-v-a8dad745]{min-width:0;color:inherit;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;flex:1;padding:.25rem .375rem;font-size:.875rem;font-weight:600;line-height:normal;transition:all .15s}.kb-col__title.r-input[data-v-a8dad745]:hover{border-color:var(--r-border)}.kb-col__title.r-input[data-v-a8dad745]:focus{background:var(--r-bg);border-color:var(--r-primary);box-shadow:0 0 0 1px var(--r-primary)}.kb-col__count[data-v-a8dad745]{color:var(--r-text-muted);background:color-mix(in srgb, var(--r-text) 12%, var(--r-bg));border-radius:10px;flex-shrink:0;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;line-height:1.2}.kb-col__cards[data-v-a8dad745]{flex-direction:column;flex:1;gap:.375rem;min-height:40px;padding:0 .5rem;display:flex;position:relative;overflow-y:auto}.kb-cards-move[data-v-a8dad745]{transition:transform .22s cubic-bezier(.77,0,.175,1)}.kb-cards-enter-active[data-v-a8dad745]{transition:opacity .16s cubic-bezier(.23,1,.32,1),transform .16s cubic-bezier(.23,1,.32,1)}.kb-cards-leave-active[data-v-a8dad745]{transition:opacity .1s ease-out;position:absolute;inset-inline:.5rem}.kb-cards-enter-from[data-v-a8dad745]{opacity:0;transform:translateY(-4px)}.kb-cards-leave-to[data-v-a8dad745]{opacity:0}@media (prefers-reduced-motion:reduce){.kb-cards-move[data-v-a8dad745]{transition:none}.kb-cards-enter-active[data-v-a8dad745]{transition:opacity .16s}.kb-cards-enter-from[data-v-a8dad745]{transform:none}}.kb-col__empty[data-v-a8dad745]{text-align:center;color:var(--r-text-muted);border:1px dashed var(--r-border);border-radius:6px;margin:.25rem 0;padding:1.5rem .75rem;font-size:.8125rem}.kb-card[data-v-a8dad745]{background:var(--r-bg);border:1px solid var(--r-border);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:pan-y;border-radius:6px;padding:.5rem .625rem;transition:box-shadow .15s,transform .1s}.kb-ops[data-v-a8dad745]{border:1px solid var(--r-border);border-radius:6px;align-self:flex-start;display:inline-flex;overflow:hidden}.kb-ops__btn[data-v-a8dad745]{border:none;border-right:1px solid var(--r-border);min-width:2.25rem;color:var(--r-text-muted);cursor:pointer;background:0 0;padding:.25rem 0;font-size:.9375rem;line-height:1.4}.kb-ops__btn[data-v-a8dad745]:last-child{border-right:none}.kb-ops__btn--none[data-v-a8dad745]{border-left:1px solid var(--r-border);font-size:.75rem}.kb-ops__btn[data-v-a8dad745]:hover{background:var(--r-bg-hover)}.kb-ops__btn--on[data-v-a8dad745]{background:var(--r-primary);color:var(--r-primary-contrast)}.kb-filters__body[data-v-a8dad745]{flex-direction:column;gap:1.25rem;display:flex}.kb-filters__section[data-v-a8dad745]{flex-direction:column;gap:.5rem;display:flex}.kb-filters__control[data-v-a8dad745]{width:100%;min-width:0}.kb-void[data-v-a8dad745]{align-items:center;gap:.375rem;min-width:0;display:flex}.kb-void--is[data-v-a8dad745]{color:var(--r-text-muted);font-style:italic}.kb-header__filter--on[data-v-a8dad745]{color:var(--r-primary)}.kb-card__prio[data-v-a8dad745]{background:color-mix(in srgb, var(--r-text) 14%, transparent);min-width:1.125rem;height:1.125rem;color:var(--r-text);border-radius:999px;justify-content:center;align-items:center;padding:0 .25rem;font-size:.625rem;font-weight:600;display:inline-flex}.kb-prio[data-v-a8dad745]{align-items:center;gap:.5rem;display:flex}.kb-prio__slider[data-v-a8dad745]{flex:1}.kb-prio__value[data-v-a8dad745]{color:var(--r-text);font-variant-numeric:tabular-nums;margin-left:.375rem}.kb-prio__clear[data-v-a8dad745],.kb-prio__set[data-v-a8dad745]{color:var(--r-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:.375rem;padding:.125rem .375rem;font-size:.75rem;display:inline-flex}.kb-prio__clear[data-v-a8dad745]:hover,.kb-prio__set[data-v-a8dad745]:hover{color:var(--r-primary);background:var(--r-bg-hover)}.kb-card__groups[data-v-a8dad745]{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;display:flex}.kb-card__group[data-v-a8dad745]{background:var(--r-bg-hover);background:color-mix(in srgb, var(--r-text) 14%, transparent);color:var(--r-text-muted);border-radius:999px;padding:.0625rem .375rem;font-size:.6875rem;line-height:1.4}.kb-groups__option[data-v-a8dad745]{align-items:center;gap:.375rem;display:flex}.kb-groups__chip[data-v-a8dad745]{min-height:1.5rem;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.375rem;padding:0;display:inline-flex}.kb-groups__chip[data-v-a8dad745]:disabled{cursor:default}.kb-groups__chip[data-v-a8dad745]:focus-visible{outline:2px solid var(--r-primary-text);outline-offset:2px;border-radius:var(--r-radius-sm)}.kb-groups__dot[data-v-a8dad745]{border-radius:999px;flex-shrink:0;width:.625rem;height:.625rem}.kb-groups__dot--none[data-v-a8dad745]{box-shadow:inset 0 0 0 1px var(--r-text-muted)}.kb-card--colored[data-v-a8dad745]{border-top-width:3px;border-top-left-radius:4px;border-top-right-radius:4px;padding-top:calc(.5rem - 2px)}.kb-colors[data-v-a8dad745]{flex-wrap:wrap;gap:.375rem;display:flex}.kb-group-color[data-v-a8dad745]{flex-direction:column;gap:.5rem;max-width:16rem;display:flex}.kb-colors__swatch[data-v-a8dad745]{border:1px solid var(--r-border);cursor:pointer;border-radius:50%;width:1.25rem;height:1.25rem;padding:0}.kb-colors__swatch[data-v-a8dad745]:disabled{cursor:default;opacity:.6}.kb-colors__swatch--on[data-v-a8dad745]{outline:2px solid var(--r-primary);outline-offset:2px}.kb-colors__swatch--custom[data-v-a8dad745]{color:var(--r-text-muted);background:0 0;justify-content:center;align-items:center;font-size:.7rem;display:flex}.kb-colors__swatch--none[data-v-a8dad745]{color:var(--r-text-muted);background:0 0;justify-content:center;align-items:center;font-size:.75rem;display:flex}.kb-card[data-v-a8dad745]:hover{border-color:var(--r-primary-200,var(--r-border));box-shadow:0 2px 8px #00000014}.kb-card[data-v-a8dad745]:active{cursor:grabbing;transform:rotate(1deg)}.kb-card--drop-before[data-v-a8dad745]{border-top:2px solid var(--r-primary);margin-top:-1px}.kb-card--drop-after[data-v-a8dad745]{border-bottom:2px solid var(--r-primary);margin-bottom:-1px}.kb-col--dragging[data-v-a8dad745]{opacity:.5}.kb-col--col-drop-before[data-v-a8dad745]{border-left:3px solid var(--r-primary)}.kb-col--col-drop-after[data-v-a8dad745]{border-right:3px solid var(--r-primary)}.kb-gapzone[data-v-a8dad745]{z-index:2;border-radius:var(--r-radius-sm);border:2px dashed color-mix(in srgb, var(--r-primary-text) 45%, transparent);width:1.5rem;transition:background var(--r-duration-base) ease, border-color var(--r-duration-base) ease;position:absolute;top:0;bottom:0;transform:translate(-50%)}.kb-gapzone--active[data-v-a8dad745]{border-style:solid;border-color:var(--r-primary-text);background:color-mix(in srgb, var(--r-primary) 18%, var(--r-bg))}.kb-card__top[data-v-a8dad745]{align-items:flex-start;gap:.25rem;display:flex}.kb-card__title[data-v-a8dad745]{min-width:0;color:var(--r-text);word-break:break-word;flex:1;font-size:.8125rem;line-height:1.4}.kb-card__delete[data-v-a8dad745]{width:20px;height:20px;color:var(--r-text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.625rem;transition:opacity .15s,background .15s,color .15s;display:flex}.kb-card:hover .kb-card__delete[data-v-a8dad745]{opacity:1}.kb-card__delete[data-v-a8dad745]:hover{background:var(--r-red-50,#ef44441a);color:var(--r-red-500,#ef4444)}.kb-side__control[data-v-a8dad745] .r-select__chip{background:0 0;gap:0;padding:0}.kb-assignee[data-v-a8dad745]{align-items:center;gap:.375rem;min-width:0;display:inline-flex}.kb-card__assignees[data-v-a8dad745]{flex-wrap:wrap;gap:.25rem;margin-top:.4rem;display:flex}.kb-card__avatar[data-v-a8dad745]{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.5625rem;font-weight:600;display:flex;overflow:hidden}.kb-card__avatar img[data-v-a8dad745]{object-fit:cover;width:100%;height:100%}.kb-card__badges[data-v-a8dad745]{color:var(--r-text-muted);align-items:center;gap:.5rem;margin-top:.375rem;font-size:.6875rem;display:flex}.kb-card__img-badge[data-v-a8dad745]{align-items:center;gap:.2rem;display:inline-flex}.kb-col__add-card[data-v-a8dad745]{color:var(--r-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.375rem;margin:.25rem .5rem .5rem;padding:.5rem .75rem;font-size:.8125rem;transition:all .15s;display:flex}.kb-col__add-card--top[data-v-a8dad745]{margin:0 .5rem .25rem}.kb-col__add-card[data-v-a8dad745]:hover{background:color-mix(in srgb, var(--r-text) 12%, var(--r-bg));color:var(--r-text)}.kb-add-col[data-v-a8dad745]{flex-shrink:0;width:300px}.kb-add-col__trigger[data-v-a8dad745]{background:var(--r-bg-hover);border:1px dashed var(--r-border);width:100%;color:var(--r-text-muted);cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;transition:all .15s;display:flex}.kb-add-col__trigger[data-v-a8dad745]:hover{background:color-mix(in srgb, var(--r-text) 12%, var(--r-bg));border-color:var(--r-primary);color:var(--r-primary)}.kb-add-col__form[data-v-a8dad745]{background:var(--r-bg-hover);border-radius:10px;padding:.75rem}.kb-add-col__actions[data-v-a8dad745]{gap:.5rem;margin-top:.5rem;display:flex}.kb-tpl-intro[data-v-a8dad745]{color:var(--r-text-muted);margin:0 0 .75rem;font-size:.8125rem}.kb-tpl-list[data-v-a8dad745]{flex-direction:column;gap:.375rem;display:flex}.kb-tpl-option[data-v-a8dad745]{border:1px solid var(--r-border);width:100%;color:var(--r-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.kb-tpl-option[data-v-a8dad745]:hover{background:var(--r-bg-hover);border-color:var(--r-primary)}.r-dialog__content.kb-card-dialog .r-dialog__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.r-dialog__content.kb-card-dialog .r-dialog__header{min-width:0}.r-dialog__content.kb-card-dialog.kb-card-dialog--colored{border-top:3px solid #0000}.r-dialog__content.kb-card-dialog .r-dialog__body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.kb-dialog[data-v-a8dad745]{flex:1;grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;gap:1.25rem;min-height:0;display:grid}.kb-dialog__main[data-v-a8dad745]{flex-direction:column;gap:1rem;min-width:0;min-height:0;display:flex}.kb-dialog__main[data-v-a8dad745] .r-tabs{flex-direction:column;flex:1;min-height:0;display:flex}.kb-dialog__main[data-v-a8dad745] .r-tab-list{flex:none}.kb-dialog__main[data-v-a8dad745] .r-tab-panels{flex:auto;min-height:0;overflow-y:auto}.kb-dialog__main[data-v-a8dad745] .r-tab-panels.kb-tabpanels--comments{flex-direction:column;display:flex;overflow:hidden}.kb-dialog__main[data-v-a8dad745] .kb-tabpanels--comments>.r-tab-panel:not([hidden]){flex-direction:column;flex:auto;min-height:0;display:flex}.kb-side[data-v-a8dad745]{border-left:1px solid var(--r-border);flex-direction:column;gap:.75rem;min-height:0;padding-left:1rem;display:flex;overflow-y:auto}.kb-side__block[data-v-a8dad745]{flex-direction:column;gap:.25rem;display:flex}.kb-side__group[data-v-a8dad745]{flex-direction:column;gap:.625rem;display:flex}.kb-side__group+.kb-side__group[data-v-a8dad745],.kb-side__meta+.kb-side__group[data-v-a8dad745]{border-top:1px solid var(--r-border);padding-top:.75rem}.kb-side__group[data-v-a8dad745]:not(:has(.kb-side__block)){display:none}.kb-side__label[data-v-a8dad745]{color:var(--r-text-muted);align-items:center;gap:.3rem;font-size:.75rem;font-weight:500;display:flex}.kb-archived-pick[data-v-a8dad745]{flex-wrap:wrap;gap:.375rem;display:flex}.kb-side__self[data-v-a8dad745]{font:inherit;color:var(--r-primary);cursor:pointer;background:0 0;border:none;border-radius:4px;order:2;margin-left:auto;padding:0 .3rem;font-size:.6875rem;font-weight:500}.kb-side__self[data-v-a8dad745]:hover,.kb-side__self[data-v-a8dad745]:focus-visible{background:var(--r-bg-hover);outline:none}.kb-side__info[data-v-a8dad745]{opacity:.7;cursor:help;font-size:.7rem}.kb-side__info[data-v-a8dad745]:hover,.kb-side__info[data-v-a8dad745]:focus-visible{opacity:1;color:var(--r-primary);outline:none}.kb-side__control[data-v-a8dad745]{width:100%}.kb-convs[data-v-a8dad745]{flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none;display:flex}.kb-convs__row[data-v-a8dad745]{justify-content:space-between;align-items:center;gap:.5rem;min-height:1.75rem;display:flex}.kb-convs__name[data-v-a8dad745]{min-width:0;font:inherit;color:var(--r-text-muted);background:0 0;border:none;border-radius:6px;align-items:center;gap:.4rem;margin-left:-.35rem;padding:.15rem .35rem;font-size:.8125rem;display:inline-flex}.kb-convs__name .ti[data-v-a8dad745]{font-size:.75rem}.kb-convs__name--open[data-v-a8dad745]{color:var(--r-text);cursor:pointer}.kb-convs__name--open[data-v-a8dad745]:hover,.kb-convs__name--open[data-v-a8dad745]:focus-visible{background:var(--r-bg-hover);outline:none}.kb-convs__count[data-v-a8dad745]{text-align:center;min-width:1.1rem;color:var(--r-primary-contrast);background:var(--r-primary);border-radius:999px;padding:0 .3rem;font-size:.6875rem;font-weight:600;line-height:1.1rem}.kb-convs__link[data-v-a8dad745]{flex:none}.kb-side__hint[data-v-a8dad745]{color:var(--r-text-muted);margin:0;font-size:.6875rem}.kb-side__meta[data-v-a8dad745]{color:var(--r-text-muted);flex-flow:wrap;gap:.2rem .75rem;font-size:.6875rem}.kb-side__meta p[data-v-a8dad745]{align-items:center;gap:.375rem;margin:0;display:flex}.kb-side__convs[data-v-a8dad745]{flex-direction:column;gap:.25rem;display:flex}.kb-side__conv[data-v-a8dad745]{color:var(--r-primary);cursor:pointer;align-items:center;gap:.375rem;font-size:.75rem;text-decoration:none;display:flex}.kb-side__conv:hover .kb-side__conv-label[data-v-a8dad745]{text-decoration:underline}.kb-side__conv-label[data-v-a8dad745]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kb-tree[data-v-a8dad745]{flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none;display:flex}.kb-tree__row[data-v-a8dad745]{align-items:center;gap:.125rem;min-width:0;font-size:.75rem;display:flex}.kb-tree__branch[data-v-a8dad745]{color:var(--r-text-muted);font-size:.625rem}.kb-tree__label[data-v-a8dad745]{min-width:0;color:var(--r-text);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.125rem .25rem;overflow:hidden}button.kb-tree__label[data-v-a8dad745]:hover:not(:disabled){color:var(--r-primary);background:var(--r-bg-hover)}.kb-tree__label[data-v-a8dad745]:disabled{cursor:default}.kb-tree__row--self .kb-tree__label[data-v-a8dad745]{font-weight:600}.kb-rel[data-v-a8dad745]{flex-direction:column;gap:1.5rem;min-width:0;padding:.5rem 0;display:flex}.kb-rel__section[data-v-a8dad745]{flex-direction:column;gap:.5rem;min-width:0;display:flex}.kb-rel__title[data-v-a8dad745]{color:var(--r-text-muted);align-items:center;gap:.375rem;margin:0;font-size:.8125rem;font-weight:600;display:flex}.kb-rel__table[data-v-a8dad745]{table-layout:fixed;border-collapse:collapse;width:100%;font-size:.8125rem}.kb-rel__table th[data-v-a8dad745]{border-bottom:1px solid var(--r-border);color:var(--r-text-muted);text-align:left;text-transform:uppercase;letter-spacing:.02em;padding:.25rem .5rem;font-size:.6875rem;font-weight:500}.kb-rel__table td[data-v-a8dad745]{border-bottom:1px solid var(--r-border);vertical-align:middle;padding:.375rem .5rem}.kb-rel__table tr:last-child td[data-v-a8dad745]{border-bottom:none}.kb-rel__card[data-v-a8dad745]{font-weight:500}.kb-rel__card-title[data-v-a8dad745]{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.kb-rel__board[data-v-a8dad745]{width:8rem;color:var(--r-text-muted)}.kb-rel__board--away[data-v-a8dad745]{color:var(--r-primary)}.kb-rel__people[data-v-a8dad745]{width:7rem}.kb-rel__num[data-v-a8dad745]{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;width:6rem}.kb-rel__none[data-v-a8dad745]{color:var(--r-text-muted)}.kb-rel__actions-col[data-v-a8dad745]{text-align:right;white-space:nowrap;width:5.5rem}.kb-rel__action[data-v-a8dad745]{color:var(--r-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .375rem}.kb-rel__action[data-v-a8dad745]:hover:not(:disabled){color:var(--r-primary);background:var(--r-bg-hover)}.kb-rel__action[data-v-a8dad745]:disabled{opacity:.4;cursor:default}.kb-rel__action--detach[data-v-a8dad745]:hover{color:var(--r-red-500,#ef4444)}.kb-rel__empty[data-v-a8dad745]{color:var(--r-text-muted);margin:0;font-size:.8125rem}.kb-rel__picker[data-v-a8dad745]{max-width:28rem}.kb-link__col[data-v-a8dad745]{color:var(--r-text-muted);margin-left:auto;padding-left:.5rem;font-size:.6875rem}.kb-side__actions[data-v-a8dad745]{flex-direction:column;gap:.5rem;display:flex}.kb-side__danger[data-v-a8dad745]{border-top:1px solid var(--r-border);flex-flow:wrap;padding-top:.5rem}@media (width<=720px){.r-dialog__content.kb-card-dialog .r-dialog__body{overflow-y:auto}.kb-dialog[data-v-a8dad745]{grid-template-columns:minmax(0,1fr);align-content:start;min-height:auto}.kb-comments__filter[data-v-a8dad745]{z-index:1;position:sticky;top:0}.kb-dialog__main[data-v-a8dad745] .r-tab-panels{overflow-y:visible}.kb-dialog__main[data-v-a8dad745] .r-tab-panels.kb-tabpanels--comments{overflow:visible}.kb-comments__scroll[data-v-a8dad745]{overflow-y:visible}.kb-side[data-v-a8dad745]{border-left:none;border-top:1px solid var(--r-border);padding-top:1rem;padding-left:0;overflow-y:visible}}.kb-dialog__field[data-v-a8dad745]{flex-direction:column;gap:.375rem;display:flex}.kb-dialog__field[data-v-a8dad745] .r-input,.kb-dialog__field[data-v-a8dad745] .r-select,.kb-dialog__field[data-v-a8dad745] .r-autocomplete,.kb-dialog__field[data-v-a8dad745] .r-textarea{width:100%}.kb-dialog__author[data-v-a8dad745]{color:var(--r-text-muted);align-items:center;gap:.375rem;margin:-.5rem 0 0;font-size:.75rem;display:flex}.kb-dialog__label[data-v-a8dad745]{color:var(--r-text-muted);font-size:.8125rem;font-weight:500}.kb-dialog__images[data-v-a8dad745]{flex-wrap:wrap;gap:.5rem;display:flex}.kb-dialog__thumb[data-v-a8dad745]{border:1px solid var(--r-border);border-radius:6px;width:110px;height:80px;position:relative;overflow:hidden}.kb-dialog__thumb img[data-v-a8dad745]{object-fit:cover;width:100%;height:100%;display:block}.kb-dialog__thumb-remove[data-v-a8dad745]{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.625rem;transition:background .15s;display:flex;position:absolute;top:4px;right:4px}.kb-dialog__thumb-remove[data-v-a8dad745]:hover{background:var(--r-red-500,#ef4444)}.kb-dialog__upload[data-v-a8dad745]{cursor:pointer;color:var(--r-primary);align-items:center;gap:.375rem;padding:.375rem 0;font-size:.8125rem;transition:opacity .15s;display:inline-flex}.kb-dialog__upload[data-v-a8dad745]:hover{opacity:.8}.kb-dialog__upload input[data-v-a8dad745]{display:none}.kb-dialog__actions-zone[data-v-a8dad745]{border-top:1px solid var(--r-border);flex-direction:column;gap:.375rem;padding-top:.75rem;display:flex}.kb-dialog__actions-buttons[data-v-a8dad745]{flex-wrap:wrap;gap:.5rem;display:flex}.kb-dialog__danger-zone[data-v-a8dad745]{border-top:1px solid var(--r-border);padding-top:.75rem}.kb-dialog__footer[data-v-a8dad745]{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.kb-dialog__unsaved[data-v-a8dad745]{color:var(--r-orange-500,#f97316);align-items:center;gap:.375rem;margin-right:auto;font-size:.8125rem;display:flex}.kb-dialog__edit-content[data-v-a8dad745]{flex-direction:column;gap:1rem;padding-top:.5rem;display:flex}.kb-comments[data-v-a8dad745]{flex-direction:column;flex:auto;min-height:0;display:flex}.kb-comments__scroll[data-v-a8dad745]{flex-direction:column;flex:auto;gap:1rem;min-height:0;padding-bottom:.75rem;display:flex;overflow-y:auto}.kb-comments__input[data-v-a8dad745]{background:var(--r-bg);border-top:1px solid var(--r-border);flex-direction:column;flex:none;gap:.5rem;padding-top:.75rem;display:flex}.kb-comments__edited[data-v-a8dad745]{color:var(--r-text-muted);font-size:.6875rem;font-style:italic}.kb-comments__tools[data-v-a8dad745]{gap:.125rem;margin-left:auto;display:flex}.kb-comments__tool[data-v-a8dad745]{cursor:pointer;color:var(--r-text-muted);background:0 0;border:none;border-radius:4px;padding:.125rem .25rem;font-size:.6875rem}.kb-comments__tool[data-v-a8dad745]:hover{color:var(--r-text);background:var(--r-bg-hover)}.kb-comments__edit[data-v-a8dad745]{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.kb-comments__actions[data-v-a8dad745]{justify-content:flex-end;align-items:center;gap:.625rem;display:flex}.kb-comments__attach[data-v-a8dad745]{cursor:pointer;color:var(--r-text-muted);border-radius:4px;align-items:center;margin-right:auto;padding:.25rem;display:inline-flex}.kb-comments__attach[data-v-a8dad745]:hover{color:var(--r-text);background:var(--r-bg-hover)}.kb-comments__attach input[data-v-a8dad745]{display:none}.kb-comments__hint[data-v-a8dad745]{color:var(--r-text-muted);font-size:.6875rem}.kb-comments__filter[data-v-a8dad745]{border:1px solid var(--r-border);border-radius:var(--r-radius-md);background:var(--r-bg-elevated);color:var(--r-text-muted);cursor:pointer;flex:none;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.375rem .625rem;font-size:.8125rem;display:flex}.kb-comments__empty[data-v-a8dad745]{color:var(--r-text-muted);flex-direction:column;align-items:center;gap:.5rem;padding:2rem 0;font-size:.875rem;display:flex}.kb-comments__empty i[data-v-a8dad745]{opacity:.5;font-size:1.5rem}.kb-comments__list[data-v-a8dad745]{flex-direction:column;gap:.75rem;display:flex}.kb-comments__item[data-v-a8dad745]{background:color-mix(in srgb, var(--r-text) 4%, var(--r-bg));border-radius:8px;align-items:flex-start;gap:.625rem;padding:.625rem .75rem;display:flex}.kb-comments__item--ai[data-v-a8dad745]{background:color-mix(in srgb, var(--r-primary) 10%, transparent);border-left:3px solid var(--r-primary)}.kb-comments__item--clickable[data-v-a8dad745]{cursor:pointer;transition:background .15s,box-shadow .15s}.kb-comments__item--clickable[data-v-a8dad745]:hover{background:var(--r-bg-hover);box-shadow:0 0 0 2px var(--r-primary)}.kb-comments__avatar[data-v-a8dad745]{background:color-mix(in srgb, var(--r-text) 12%, var(--r-bg));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.kb-comments__item--ai .kb-comments__avatar[data-v-a8dad745]{background:color-mix(in srgb, var(--r-primary) 18%, transparent);color:var(--r-primary)}.kb-comments__avatar i[data-v-a8dad745]{font-size:.75rem}.kb-comments__avatar--photo[data-v-a8dad745]{color:#fff;font-size:.625rem;font-weight:600;overflow:hidden}.kb-comments__avatar img[data-v-a8dad745]{object-fit:cover;width:100%;height:100%}.kb-comments__body[data-v-a8dad745]{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.kb-comments__meta[data-v-a8dad745]{align-items:center;gap:.5rem;display:flex}.kb-comments__author[data-v-a8dad745]{color:var(--r-text);font-size:.8125rem;font-weight:600}.kb-comments__time[data-v-a8dad745]{color:var(--r-text-muted);font-size:.6875rem}.kb-comments__text[data-v-a8dad745]{color:var(--r-text);word-break:break-word;white-space:pre-wrap;font-size:.8125rem;line-height:1.5}.kb-comments__text--markdown[data-v-a8dad745]{white-space:normal}.kb-comments__text--clamped[data-v-a8dad745]{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.kb-comments__text--toggleable[data-v-a8dad745]{cursor:pointer}.kb-comments__more[data-v-a8dad745]{color:var(--r-primary);cursor:pointer;background:0 0;border:none;margin-top:.15rem;padding:0;font-size:.75rem;font-weight:500}.kb-comments__more[data-v-a8dad745]:hover{text-decoration:underline}.kb-comments__text--markdown[data-v-a8dad745] p{margin:0 0 .25em}.kb-comments__text--markdown[data-v-a8dad745] p:last-child{margin-bottom:0}.kb-comments__text--markdown[data-v-a8dad745] h1,.kb-comments__text--markdown[data-v-a8dad745] h2,.kb-comments__text--markdown[data-v-a8dad745] h3{margin:.4em 0 .15em;font-weight:700}.kb-comments__text--markdown[data-v-a8dad745] ul,.kb-comments__text--markdown[data-v-a8dad745] ol{margin:.2em 0;padding-left:1.4em}.kb-comments__text--markdown[data-v-a8dad745] li{margin-bottom:.1em}.kb-comments__text--markdown[data-v-a8dad745] code{background:var(--r-bg-hover);border-radius:4px;padding:.1em .35em;font-family:ui-monospace,monospace;font-size:.85em}.kb-comments__text--markdown[data-v-a8dad745] pre{background:color-mix(in srgb, var(--r-bg) 60%, #000 40%);border-radius:6px;margin:.4em 0;padding:.6em .8em;overflow-x:auto}.kb-comments__text--markdown[data-v-a8dad745] pre code{background:0 0;padding:0}.kb-comments__text--markdown[data-v-a8dad745] blockquote{border-left:3px solid var(--r-primary);color:var(--r-text-muted);margin:.4em 0;padding:.2em .6em;font-style:italic}.kb-comments__text--markdown[data-v-a8dad745] a{color:var(--r-primary);text-decoration:underline}.kb-card__actions[data-v-a8dad745]{flex-shrink:0;align-items:center;gap:.125rem;display:flex}.kb-dialog__archived[data-v-a8dad745]{border-radius:var(--r-radius-md,6px);background:var(--r-bg-hover);color:var(--r-text-muted);flex:none;align-items:center;gap:.4rem;margin:0;padding:.4rem .75rem;font-size:.8rem;display:flex}.kb-header__readonly[data-v-a8dad745]{background:var(--r-bg-hover);color:var(--r-text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;margin-left:auto;padding:.15rem .5rem;font-size:.75rem;display:inline-flex}.kb-viewer[data-v-a8dad745]{background:var(--r-bg);justify-content:center;align-items:center;height:100%;display:flex}.kb-viewer__image[data-v-a8dad745]{object-fit:contain;max-width:100%;max-height:100%}.kb-viewer__frame[data-v-a8dad745]{border:none;width:100%;height:100%}.kb-viewer__media[data-v-a8dad745]{max-width:100%;max-height:100%}.kb-viewer__audio[data-v-a8dad745]{width:min(480px,100%)}.kb-viewer__text[data-v-a8dad745]{white-space:pre-wrap;word-break:break-word;background:var(--r-bg);width:100%;height:100%;color:var(--r-text);margin:0;padding:.75rem;font-size:.8125rem;line-height:1.5;overflow:auto}.r-dialog__content.kb-viewer-dialog .r-dialog__body{height:100%;padding:.5rem 1rem;overflow:hidden}.flow-filters[data-v-92fb1d98]{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.flow-filters__period[data-v-92fb1d98]{min-width:16rem}.flow-hint[data-v-92fb1d98]{color:var(--r-text-muted);margin:.75rem 0 0;font-size:.8rem}.flow-totals[data-v-92fb1d98]{align-items:center;gap:1rem;margin-top:.75rem;font-size:.85rem;font-weight:600;display:flex}.flow-totals span[data-v-92fb1d98]{align-items:center;gap:.35rem;display:inline-flex}.flow-error[data-v-92fb1d98]{color:var(--r-red-500,#ef4444);font-size:.85rem}.flow-chart[data-v-92fb1d98]{min-height:320px;margin-top:.5rem}.board-tile[data-v-6e31c278]{border:1px solid var(--r-border);background:var(--r-bg);cursor:pointer;border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem 1rem 1.1rem;transition:box-shadow .2s,border-color .2s,transform .2s;display:flex}.board-tile[data-v-6e31c278]:hover{border-color:var(--r-primary);transform:translateY(-2px);box-shadow:0 6px 18px #0000001f}.board-tile[data-v-6e31c278]:focus-visible{outline:2px solid var(--r-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){.board-tile[data-v-6e31c278]{transition:box-shadow .2s,border-color .2s}.board-tile[data-v-6e31c278]:hover{transform:none}}.board-tile--archived[data-v-6e31c278]{opacity:.65}.board-tile__head[data-v-6e31c278]{align-items:center;gap:.75rem;min-width:0;display:flex}.board-tile__mark[data-v-6e31c278]{color:#fff;border-radius:10px;flex:none;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.05rem;font-weight:700;display:flex}.board-tile__heading[data-v-6e31c278]{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.board-tile__name[data-v-6e31c278]{color:var(--r-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:600;line-height:1.3;overflow:hidden}.board-tile__cards[data-v-6e31c278]{color:var(--r-primary);white-space:nowrap;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;display:inline-flex}.board-tile__stats[data-v-6e31c278]{flex-wrap:wrap;align-items:center;gap:.2rem .6rem;display:flex}.board-tile__week[data-v-6e31c278]{color:var(--r-text-muted);white-space:nowrap;align-items:center;gap:.4rem;font-size:.75rem;display:inline-flex}.board-tile__week-in[data-v-6e31c278],.board-tile__week-out[data-v-6e31c278]{align-items:center;gap:.2rem;font-weight:600;display:inline-flex}.board-tile__week .ti[data-v-6e31c278]{font-size:.65rem}.board-tile__week-label[data-v-6e31c278]{opacity:.8}.board-tile__cards .ti[data-v-6e31c278]{font-size:.75rem}.board-tile__menu[data-v-6e31c278]{flex:none;align-self:flex-start;margin:-.35rem -.4rem 0 0}.board-tile__desc[data-v-6e31c278]{color:var(--r-text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.875rem;line-height:1.45;display:-webkit-box;overflow:hidden}.board-tile__projects[data-v-6e31c278]{flex-wrap:wrap;gap:.35rem;display:flex}.board-tile__bar[data-v-6e31c278]{border-radius:999px;gap:2px;height:6px;margin-top:auto;display:flex;overflow:hidden}.board-tile__segment[data-v-6e31c278]{background:color-mix(in srgb, var(--r-primary) var(--strength), var(--r-bg-hover));min-width:4px}.board-tile__segment--done[data-v-6e31c278]{background:var(--r-green-500,#22c55e)}.board-tile__foot[data-v-6e31c278]{justify-content:space-between;align-items:center;gap:.5rem;min-height:1.6rem;display:flex}.board-tile__bar+.board-tile__foot[data-v-6e31c278]{margin-top:-.25rem}.board-tile__people[data-v-6e31c278]{padding-left:.3rem;display:flex}.board-tile__person[data-v-6e31c278]{border:2px solid var(--r-bg);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;margin-left:-.3rem;font-size:.62rem;font-weight:700;display:inline-flex;overflow:hidden}.board-tile__person img[data-v-6e31c278]{object-fit:cover;width:100%;height:100%}.board-tile__person--more[data-v-6e31c278]{background:var(--r-bg-hover);color:var(--r-text-muted)}.board-tile__when[data-v-6e31c278]{color:var(--r-text-muted);white-space:nowrap;align-items:center;gap:.3rem;margin-left:auto;font-size:.75rem;display:inline-flex}.board-tile__when .ti[data-v-6e31c278]{font-size:.7rem}.board-tile__project[data-v-6e31c278]{background:var(--r-bg-hover);color:var(--r-text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.1rem .5rem;font-size:.75rem;display:inline-flex}.kanban-list-page[data-v-88640e7c]{max-width:1200px;padding:1.5rem}.page-header[data-v-88640e7c]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.page-header--empty[data-v-88640e7c]{display:none}.page-header h1[data-v-88640e7c]{letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:650}.page-header__right[data-v-88640e7c]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.625rem;margin-left:auto;display:flex}.project-filter__value[data-v-88640e7c]{align-items:center;gap:.4rem;min-width:0;display:inline-flex}.project-filter__value .ti[data-v-88640e7c]{color:var(--r-text-muted);flex-shrink:0}.project-filter[data-v-88640e7c]{min-width:12rem}.search-input[data-v-88640e7c]{width:15rem}.tabs-bar[data-v-88640e7c]{position:relative}.tabs-bar__quota[data-v-88640e7c]{position:absolute;top:50%;right:0;transform:translateY(-50%)}.quota[data-v-88640e7c]{color:var(--r-text-muted);white-space:nowrap;font-size:.8125rem}.quota--full[data-v-88640e7c]{color:var(--r-orange-500,#f97316);font-weight:600}.board-section+.board-section[data-v-88640e7c]{margin-top:2rem}.board-section__header[data-v-88640e7c]{align-items:center;gap:.5rem;margin:.25rem 0 .875rem;display:flex}.board-section__header[data-v-88640e7c]:after{content:"";background:var(--r-border);flex:1;height:1px}.board-section__title[data-v-88640e7c]{letter-spacing:.06em;text-transform:uppercase;color:var(--r-text-muted);margin:0;font-size:.75rem;font-weight:600}.board-section__count[data-v-88640e7c]{background:var(--r-bg-hover);min-width:1.4rem;color:var(--r-text-muted);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:0 .4rem;font-size:.72rem;font-weight:600;line-height:1.4rem}.board-grid[data-v-88640e7c]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.dialog-field[data-v-88640e7c]{margin-bottom:1rem}.r-dialog__content.template-dialog .r-dialog__body{flex-direction:column;display:flex;overflow-y:auto}.dialog-field .w-full[data-v-88640e7c]{width:100%}.field-hint[data-v-88640e7c]{color:var(--r-text-muted);margin-top:.25rem;font-size:.75rem;display:block}.dialog-field label[data-v-88640e7c]{margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.templates-intro[data-v-88640e7c]{color:var(--r-text-muted);margin:0 0 1rem;font-size:.875rem}.template-list[data-v-88640e7c]{margin:0;padding:0;list-style:none}.template-row[data-v-88640e7c]{border-bottom:1px solid var(--r-border);justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.template-row[data-v-88640e7c]:last-child{border-bottom:none}.list-menu[data-v-88640e7c]{flex-direction:column;min-width:13rem;display:flex}.list-menu__item[data-v-88640e7c]{color:var(--r-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.55rem;padding:.5rem .65rem;font-size:.85rem;display:flex}.list-menu__item[data-v-88640e7c]:hover{background:var(--r-bg-hover)}.list-menu__item--danger[data-v-88640e7c]{color:var(--r-red-500,#ef4444)}.section-empty[data-v-88640e7c]{border:1px dashed var(--r-border);color:var(--r-text-muted);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.25rem;font-size:.875rem;display:flex}.template-row__name[data-v-88640e7c]{min-width:0;font-weight:500}.template-row__name .hint[data-v-88640e7c]{text-overflow:ellipsis;margin-top:.2rem;font-weight:400;overflow:hidden}.hint[data-v-88640e7c]{color:var(--r-text-muted);margin-top:.375rem;font-size:.75rem;display:block}.empty-state[data-v-88640e7c]{text-align:center;color:var(--r-text-muted);padding:3rem 1rem}.bh-hint[data-v-2ca23db2]{color:var(--r-text-muted);margin:0 0 .75rem;font-size:.8rem}.bh-error[data-v-2ca23db2]{color:var(--r-red-500);margin:0 0 .75rem}.bh-more[data-v-2ca23db2]{justify-content:center;margin-top:.75rem;display:flex}
1
+ .kb-card__origin[data-v-8577dfb7]{text-overflow:ellipsis;white-space:nowrap;max-width:10rem;color:var(--r-primary);align-items:center;gap:.25rem;display:inline-flex;overflow:hidden}.kb-card__top[data-v-8577dfb7]{align-items:flex-start;gap:.25rem;display:flex}.kb-card__title[data-v-8577dfb7]{min-width:0;color:var(--r-text);word-break:break-word;flex:1;font-size:.8125rem;line-height:1.4}.kb-card__actions[data-v-8577dfb7]{flex-shrink:0;align-items:center;gap:.125rem;display:flex}.kb-card__groups[data-v-8577dfb7]{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;display:flex}.kb-card__group[data-v-8577dfb7]{background:color-mix(in srgb, var(--r-text) 14%, transparent);color:var(--r-text-muted);border-radius:999px;padding:.0625rem .375rem;font-size:.6875rem;line-height:1.4}.kb-card__group--colored[data-v-8577dfb7]{background:color-mix(in srgb, var(--kb-group-color) 22%, transparent);color:var(--r-text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--kb-group-color) 55%, transparent)}.kb-card__assignees[data-v-8577dfb7]{flex-wrap:wrap;gap:.25rem;margin-top:.4rem;display:flex}.kb-card__avatar[data-v-8577dfb7]{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.5625rem;font-weight:600;display:flex;overflow:hidden}.kb-card__avatar--mini[data-v-8577dfb7]{width:16px;height:16px;font-size:.45rem}.kb-card__avatar--ai[data-v-8577dfb7]:not([style]){background:color-mix(in srgb, var(--r-primary) 18%, transparent);color:var(--r-primary)}.kb-card__avatar--mini .ti[data-v-8577dfb7]{font-size:.55rem}.kb-card__comments[data-v-8577dfb7]{gap:.25rem}.kb-card__comments--bubble[data-v-8577dfb7]{background:color-mix(in srgb, var(--r-primary) 12%, transparent);color:var(--r-primary);border-radius:9px 9px 9px 2px;padding:.125rem .4rem .125rem .15rem;font-weight:600;line-height:1}.kb-card__avatar img[data-v-8577dfb7]{object-fit:cover;width:100%;height:100%}.kb-card__badges[data-v-8577dfb7]{color:var(--r-text-muted);align-items:center;gap:.5rem;margin-top:.375rem;font-size:.6875rem;display:flex}.kb-card__img-badge[data-v-8577dfb7]{align-items:center;gap:.2rem;display:inline-flex}.kb-card__deadline[data-v-8577dfb7]{white-space:nowrap;border-radius:999px;align-items:center;gap:.2rem;padding:.0625rem .375rem;font-size:.6875rem;line-height:1.4;display:inline-flex}.kb-card__deadline--later[data-v-8577dfb7]{color:var(--r-text-muted)}.kb-card__deadline--soon[data-v-8577dfb7]{background:color-mix(in srgb, var(--r-amber-500,#f59e0b) 18%, transparent);color:var(--r-amber-600,#d97706)}.kb-card__deadline--today[data-v-8577dfb7]{background:color-mix(in srgb, var(--r-orange-500,#f97316) 22%, transparent);color:var(--r-orange-600,#ea580c)}.kb-card__deadline--overdue[data-v-8577dfb7]{background:color-mix(in srgb, var(--r-red-500,#ef4444) 20%, transparent);color:var(--r-red-500,#ef4444);font-weight:600}.kb-card__prio[data-v-8577dfb7]{background:color-mix(in srgb, var(--r-text) 14%, transparent);min-width:1.125rem;height:1.125rem;color:var(--r-text);border-radius:999px;justify-content:center;align-items:center;padding:0 .25rem;font-size:.625rem;font-weight:600;display:inline-flex}.kb-colgroup[data-v-4cd13da7],.kb-coloption[data-v-4cd13da7]{--kb-colgroup-icon:.9rem;--kb-colgroup-gap:.4rem}.kb-colgroup[data-v-4cd13da7]{align-items:center;gap:var(--kb-colgroup-gap);letter-spacing:.06em;text-transform:uppercase;color:var(--r-text-muted);font-size:.7rem;font-weight:700;display:flex}.kb-colgroup>.ti[data-v-4cd13da7]{width:var(--kb-colgroup-icon);text-align:center;flex:none}.kb-colgroup__label[data-v-4cd13da7]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kb-coloption[data-v-4cd13da7]{padding-left:calc(var(--kb-colgroup-icon) + var(--kb-colgroup-gap));text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.kb-issues__bulk[data-v-d8b32a4f]{background:color-mix(in srgb, var(--r-primary) 6%, var(--r-bg));border-bottom:1px solid var(--r-border);flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.kb-issues__bulk-select[data-v-d8b32a4f]{min-width:14rem}.kb-issues__bulk-clear[data-v-d8b32a4f]{color:var(--r-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.kb-issues__bulk-clear[data-v-d8b32a4f]:hover{color:var(--r-text)}.kb-issues__bulk-result[data-v-d8b32a4f]{color:var(--r-text-muted)}.kb-issues__bulk-result--failed[data-v-d8b32a4f]{color:var(--r-red-500)}.kb-issues[data-v-d8b32a4f]{border:1px solid var(--r-border);background:var(--r-bg);border-radius:8px;flex:none;width:calc(100% - 2rem);max-width:64rem;margin:1rem auto;overflow:hidden}.kb-issues__head[data-v-d8b32a4f]{background:color-mix(in srgb, var(--r-text) 4%, var(--r-bg));border-bottom:1px solid var(--r-border);justify-content:space-between;align-items:center;gap:1rem;padding:.5rem .75rem .5rem .5rem;display:flex}.kb-issues__lead[data-v-d8b32a4f],.kb-issues__states[data-v-d8b32a4f]{align-items:center;gap:.25rem;display:flex}.kb-issues__state[data-v-d8b32a4f]{color:var(--r-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.875rem;transition:color .15s,background-color .15s;display:inline-flex}.kb-issues__state--active[data-v-d8b32a4f]{color:var(--r-text);font-weight:600}@media (hover:hover) and (pointer:fine){.kb-issues__state[data-v-d8b32a4f]:hover{color:var(--r-text)}}.kb-issues__icon--open[data-v-d8b32a4f]{color:var(--r-green-500,#22c55e)}.kb-issues__icon--closed[data-v-d8b32a4f]{color:var(--r-primary)}.kb-issues__empty[data-v-d8b32a4f]{color:var(--r-text-muted);flex-direction:column;align-items:center;gap:.5rem;margin:0;padding:3rem 1rem;font-size:.9rem;display:flex}.kb-issues__empty .ti[data-v-d8b32a4f]{font-size:1.5rem}.kb-issues__list[data-v-d8b32a4f]{margin:0;padding:0;list-style:none}.kb-issue[data-v-d8b32a4f]{--kb-issue-line:1.5rem;cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.75rem;padding:.6rem .75rem;transition:background-color .12s;display:grid}.kb-issue--selectable[data-v-d8b32a4f]{grid-template-columns:auto auto minmax(0,1fr) auto}.kb-issue__select[data-v-d8b32a4f]{height:var(--kb-issue-line);align-items:center;display:flex}.kb-issues__select-all[data-v-d8b32a4f]{margin:0 .35rem 0 .25rem}.kb-issue+.kb-issue[data-v-d8b32a4f]{border-top:1px solid var(--r-border)}@media (hover:hover) and (pointer:fine){.kb-issue[data-v-d8b32a4f]:hover{background:var(--r-bg-hover)}}.kb-issue__state[data-v-d8b32a4f]{height:var(--kb-issue-line);align-items:center;font-size:.95rem;display:flex}.kb-issue__main[data-v-d8b32a4f]{min-width:0}.kb-issue__line[data-v-d8b32a4f]{min-height:var(--kb-issue-line);flex-wrap:wrap;align-items:center;gap:.35rem .5rem;display:flex}.kb-issue__color[data-v-d8b32a4f]{border-radius:50%;flex:none;width:.5rem;height:.5rem}.kb-issue__title[data-v-d8b32a4f]{color:var(--r-text);font:inherit;text-align:left;cursor:pointer;overflow-wrap:anywhere;background:0 0;border:none;padding:0;font-size:.95rem;font-weight:600}@media (hover:hover) and (pointer:fine){.kb-issue__title[data-v-d8b32a4f]:hover{color:var(--r-primary)}}.kb-issue__label[data-v-d8b32a4f]{border:1px solid color-mix(in srgb, var(--r-primary) 35%, transparent);background:color-mix(in srgb, var(--r-primary) 12%, var(--r-bg));color:var(--r-text);border-radius:999px;padding:.05rem .5rem;font-size:.72rem;font-weight:500;line-height:1.5}.kb-issue__meta[data-v-d8b32a4f]{color:var(--r-text-muted);flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.2rem;font-size:.78rem;display:flex}.kb-issue__meta .ti[data-v-d8b32a4f]{font-size:.7rem}.kb-issue__side[data-v-d8b32a4f]{color:var(--r-text-muted);align-items:center;gap:.75rem;font-size:.8rem;display:flex}.kb-issue__deadline[data-v-d8b32a4f]{white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.kb-issue__deadline--overdue[data-v-d8b32a4f]{color:#ef4444}.kb-issue__deadline--today[data-v-d8b32a4f]{color:#f97316}.kb-issue__deadline--soon[data-v-d8b32a4f]{color:#f59e0b}.kb-issue__prio[data-v-d8b32a4f]{background:color-mix(in srgb, var(--r-text) 8%, var(--r-bg));min-width:1.25rem;color:var(--r-text);text-align:center;border-radius:4px;padding:0 .3rem;font-size:.72rem;font-weight:600}.kb-issue__assignees[data-v-d8b32a4f]{display:flex}.kb-issue__avatar[data-v-d8b32a4f]{border:2px solid var(--r-bg);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;font-size:.6rem;font-weight:600;display:inline-flex;overflow:hidden}.kb-issue__avatar+.kb-issue__avatar[data-v-d8b32a4f]{margin-left:-.45rem}.kb-issue__avatar img[data-v-d8b32a4f]{object-fit:cover;width:100%;height:100%}.kb-issue__comments[data-v-d8b32a4f]{align-items:center;gap:.3rem;display:inline-flex}.kb-issue__actions[data-v-d8b32a4f]{gap:.15rem;display:inline-flex}.kb-issue__actions button[data-v-d8b32a4f]{width:1.6rem;height:1.6rem;color:var(--r-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:color .12s,background-color .12s;display:inline-flex}.kb-issue__actions button[data-v-d8b32a4f]:active{transform:scale(.95)}@media (hover:hover) and (pointer:fine){.kb-issue__actions[data-v-d8b32a4f]{opacity:0;transition:opacity .12s}.kb-issue:hover .kb-issue__actions[data-v-d8b32a4f],.kb-issue:focus-within .kb-issue__actions[data-v-d8b32a4f]{opacity:1}.kb-issue__actions button[data-v-d8b32a4f]:hover{color:var(--r-text);background:var(--r-bg-hover)}}@media (width<=640px){.kb-issue[data-v-d8b32a4f]{grid-template-columns:auto minmax(0,1fr)}.kb-issue__side[data-v-d8b32a4f]{flex-wrap:wrap;grid-column:2}.kb-issue--selectable[data-v-d8b32a4f]{grid-template-columns:auto auto minmax(0,1fr)}.kb-issue--selectable .kb-issue__side[data-v-d8b32a4f]{grid-column:3}}.kb-placements[data-v-b6e1a4c9]{flex-direction:column;gap:.4rem;display:flex}.kb-placements__list[data-v-b6e1a4c9]{flex-direction:column;gap:.15rem;margin:0;padding:0;list-style:none;display:flex}.kb-placements__item[data-v-b6e1a4c9]{align-items:center;gap:.4rem;min-width:0;min-height:1.6rem;font-size:.85rem;display:flex}.kb-placements__icon[data-v-b6e1a4c9]{width:.9rem;color:var(--r-text-muted);flex:none;font-size:.85rem}.kb-placements__path[data-v-b6e1a4c9]{flex:1;align-items:center;gap:.3rem;min-width:0;display:flex}.kb-placements__board[data-v-b6e1a4c9]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--r-text-muted);flex:0 auto;overflow:hidden}.kb-placements__board--link[data-v-b6e1a4c9]{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:0}@media (hover:hover) and (pointer:fine){.kb-placements__board--link[data-v-b6e1a4c9]:hover{color:var(--r-primary-text);text-decoration:underline}}.kb-placements__sep[data-v-b6e1a4c9]{color:var(--r-text-muted);flex:none;font-size:.7rem}.kb-placements__column[data-v-b6e1a4c9]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--r-text);flex:0 auto;overflow:hidden}.kb-placements__remove[data-v-b6e1a4c9]{width:1.4rem;height:1.4rem;color:var(--r-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:none;justify-content:center;align-items:center;display:inline-flex}@media (hover:hover) and (pointer:fine){.kb-placements__remove[data-v-b6e1a4c9]:hover{color:var(--r-text);background:var(--r-bg-hover)}}.kb-placements__add[data-v-b6e1a4c9]{width:100%}.kb-place__intro[data-v-86bf4c86]{color:var(--r-text-muted);margin:0 0 .75rem;font-size:.85rem}.kb-place__search[data-v-86bf4c86]{width:100%}.kb-place__hint[data-v-86bf4c86]{color:var(--r-text-muted);margin:.75rem 0 0;font-size:.85rem}.kb-place__list[data-v-86bf4c86]{flex-direction:column;gap:.25rem;max-height:20rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.kb-place__item[data-v-86bf4c86]{width:100%;color:var(--r-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.5rem .6rem;transition:background-color .12s;display:flex}@media (hover:hover) and (pointer:fine){.kb-place__item[data-v-86bf4c86]:hover{background:var(--r-bg-hover)}}.kb-place__title[data-v-86bf4c86]{font-size:.9rem;font-weight:600}.kb-place__board[data-v-86bf4c86]{color:var(--r-text-muted);font-size:.75rem}.kcp__panel[data-v-49db4568]{flex-direction:column;gap:.625rem;width:12rem;display:flex}.kcp__wheel[data-v-49db4568]{touch-action:none;cursor:crosshair;background:radial-gradient(circle, var(--kcp-center) 0%, var(--kcp-center-fade) 100%), conic-gradient(from 90deg, var(--kcp-hues));width:12rem;height:12rem;box-shadow:inset 0 0 0 1px var(--r-border);border-radius:50%;position:relative}.kcp__wheel--disabled[data-v-49db4568]{cursor:default;opacity:.6}.kcp__reticle[data-v-49db4568]{pointer-events:none;border:2px solid #fff;border-radius:50%;width:.875rem;height:.875rem;margin:-.4375rem 0 0 -.4375rem;position:absolute;box-shadow:0 0 0 1px #00000073}.kcp__value[data-v-49db4568]{flex-direction:column;gap:.25rem;display:flex}.kcp__value-label[data-v-49db4568],.kcp__history-label[data-v-49db4568]{color:var(--r-text-muted);font-size:.75rem}.kcp__value-input[data-v-49db4568]{cursor:pointer;width:100%}.kcp__value-input[data-v-49db4568] .r-slider__track{background:linear-gradient(to right, #000, var(--kcp-hue-color));height:.75rem;box-shadow:inset 0 0 0 1px var(--r-border);border-radius:999px}.kcp__value-input[data-v-49db4568] .r-slider__range{background:0 0}.kcp__value-input[data-v-49db4568] .r-slider__thumb{background:var(--kcp-thumb-color);border:2px solid #fff;width:.875rem;height:.875rem;box-shadow:0 0 0 1px #00000073}.kcp__hex[data-v-49db4568]{align-items:center;gap:.375rem;display:flex}.kcp__preview[data-v-49db4568]{border:1px solid var(--r-border);border-radius:50%;flex:none;width:1.25rem;height:1.25rem}.kcp__hex-input[data-v-49db4568]{box-shadow:none;border:1px solid var(--r-border);background:var(--r-bg);min-width:0;color:var(--r-text);border-radius:4px;flex:1;padding:.25rem .375rem;font-family:monospace;font-size:.8125rem}.kcp__history[data-v-49db4568]{flex-direction:column;gap:.25rem;display:flex}.kcp__history-row[data-v-49db4568]{flex-wrap:wrap;gap:.375rem;display:flex}.kcp__history-swatch[data-v-49db4568]{border:1px solid var(--r-border);cursor:pointer;border-radius:50%;width:1.25rem;height:1.25rem;padding:0}.kcp__history-swatch[data-v-49db4568]:disabled{cursor:default;opacity:.6}.kb-files[data-v-d7e8bda6]{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.kb-files--inline[data-v-d7e8bda6]{margin-top:.375rem}.kb-files__item[data-v-d7e8bda6]{border:1px solid var(--r-border);border-radius:6px;align-items:center;gap:.5rem;padding:.375rem .5rem;font-size:.8125rem;display:flex}.kb-files--inline .kb-files__item[data-v-d7e8bda6]{padding:.25rem .375rem}.kb-files__thumb[data-v-d7e8bda6]{border-radius:4px;flex-shrink:0;width:28px;height:28px;overflow:hidden}.kb-files__thumb img[data-v-d7e8bda6]{object-fit:cover;width:100%;height:100%}.kb-files__icon[data-v-d7e8bda6]{color:var(--r-text-muted)}.kb-files__name[data-v-d7e8bda6]{text-align:left;cursor:pointer;min-width:0;color:var(--r-text);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:0;font-size:.8125rem;overflow:hidden}.kb-files__name--static[data-v-d7e8bda6]{cursor:default}.kb-files__name[data-v-d7e8bda6]:not(.kb-files__name--static):hover{color:var(--r-primary);text-decoration:underline}.kb-files__size[data-v-d7e8bda6]{color:var(--r-text-muted);flex-shrink:0;font-size:.6875rem}.kb-files__remove[data-v-d7e8bda6]{cursor:pointer;color:var(--r-text-muted);background:0 0;border:none;border-radius:4px;padding:.125rem .25rem}.kb-files__remove[data-v-d7e8bda6]:hover{color:var(--r-red-500,#ef4444);background:var(--r-bg-hover)}.kb-upload[data-v-66b3dafe]{flex-direction:column;gap:.25rem;display:flex}.kb-upload__list[data-v-66b3dafe],.kb-upload__errors[data-v-66b3dafe]{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.kb-upload__list li[data-v-66b3dafe]{align-items:center;gap:.5rem;font-size:.75rem;display:flex}.kb-upload__name[data-v-66b3dafe]{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--r-text-muted);flex:0 40%;overflow:hidden}.kb-upload__bar[data-v-66b3dafe]{background:var(--r-bg-hover);border-radius:2px;flex:1;height:4px;overflow:hidden}.kb-upload__bar-fill[data-v-66b3dafe]{background:var(--r-primary);height:100%;transition:width .15s linear;display:block}.kb-upload__pct[data-v-66b3dafe]{color:var(--r-text-muted);flex-shrink:0;font-size:.6875rem}.kb-upload__status[data-v-66b3dafe]{color:var(--r-text-muted);margin:0;font-size:.75rem}.kb-upload__errors[data-v-66b3dafe]{color:var(--r-red-500,#ef4444);font-size:.75rem}.kg-lead[data-v-8de71551]{color:var(--r-text-muted);margin:0 0 .75rem;font-size:.85rem}.kg-create[data-v-8de71551]{gap:.5rem;margin-bottom:.75rem;display:flex}.kg-create__input[data-v-8de71551]{flex:1}.kg-tree[data-v-8de71551]{border:1px solid var(--r-border);border-radius:8px;max-height:45vh;padding:.25rem;overflow-y:auto}.kg-row[data-v-8de71551]{cursor:grab;border-radius:6px;align-items:center;gap:.5rem;padding:.3rem .5rem;font-size:.875rem;display:flex}.kg-row[data-v-8de71551]:hover{background:var(--r-bg-hover)}.kg-row--group[data-v-8de71551]{font-weight:600}.kg-row--target[data-v-8de71551]{outline:2px solid var(--r-primary);outline-offset:-2px}.kg-row__icon[data-v-8de71551]{color:var(--r-text-muted);font-size:.8rem}.kg-swatch[data-v-8de71551]{border-radius:2px;width:.6rem;height:.6rem}.kg-row__title[data-v-8de71551]{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.kg-row__rename[data-v-8de71551]{flex:1}.kg-row__count[data-v-8de71551]{color:var(--r-text-muted);font-size:.72rem}.kg-row__actions[data-v-8de71551]{align-items:center;gap:.15rem;display:flex}.kg-move[data-v-8de71551]{opacity:.35}.kg-row:hover .kg-move[data-v-8de71551],.kg-move[data-v-8de71551]:focus-visible{opacity:1}.kg-dot[data-v-8de71551]{cursor:pointer;opacity:.45;border-radius:50%;width:.7rem;height:.7rem}.kg-dot--on[data-v-8de71551],.kg-dot[data-v-8de71551]:hover{opacity:1;box-shadow:0 0 0 2px var(--r-bg), 0 0 0 3px currentColor}.kg-loose[data-v-8de71551]{border:1px dashed var(--r-border);border-radius:8px;margin-top:.75rem;padding:.4rem}.kg-loose__label[data-v-8de71551]{text-transform:uppercase;letter-spacing:.04em;color:var(--r-text-muted);padding:0 .5rem .25rem;font-size:.72rem}.kg-empty[data-v-8de71551]{color:var(--r-text-muted);padding:.5rem;font-size:.8rem}.kb-bands[data-v-6881baa8]{flex-shrink:0;width:max-content;min-width:100%;position:relative}.kb-band[data-v-6881baa8]{box-sizing:border-box;height:22px;color:var(--kb-band-color);background:color-mix(in srgb, var(--kb-band-color) 14%, transparent);border-bottom:2px solid var(--kb-band-color);pointer-events:none;border-radius:0 0 5px 5px;align-items:center;gap:.4rem;padding:0 .5rem;font-size:.75rem;font-weight:600;display:flex;position:absolute;overflow:hidden}.kb-band--folded[data-v-6881baa8]{justify-content:center;gap:.2rem;padding:0 .25rem}.kb-band--folded .kb-band__title[data-v-6881baa8]{display:none}.kb-band__title[data-v-6881baa8]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.kb-band__count[data-v-6881baa8]{opacity:.75;font-variant-numeric:tabular-nums;flex-shrink:0}.kb-band__fold[data-v-6881baa8]{pointer-events:auto;color:inherit;cursor:pointer;opacity:.75;background:0 0;border:0;flex-shrink:0;align-items:center;padding:0 .15rem;font-size:.85rem;line-height:1;display:inline-flex}.kb-band__fold[data-v-6881baa8]:disabled{cursor:default;opacity:.35}.kb-band__fold[data-v-6881baa8]:not(:disabled):hover,.kb-band__fold[data-v-6881baa8]:focus-visible{opacity:1}.cc[data-v-2b65fbe9]{flex-direction:column;gap:.6rem;padding:.5rem 0;display:flex}.cc__empty[data-v-2b65fbe9]{color:var(--r-text-muted);margin:0;font-size:.85rem}.cc__conv[data-v-2b65fbe9]{border:1px solid var(--r-border);background:var(--r-bg);border-radius:10px;transition:border-color .15s}.cc__conv--open[data-v-2b65fbe9]{border-color:color-mix(in srgb, var(--r-primary) 35%, var(--r-border))}.cc__head[data-v-2b65fbe9]{align-items:center;gap:.25rem;padding:.25rem .35rem .25rem .25rem;display:flex}.cc__toggle[data-v-2b65fbe9]{min-width:0;min-height:2.75rem;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;align-items:center;gap:.55rem;padding:.4rem .5rem;display:flex}.cc__toggle[data-v-2b65fbe9]:hover{background:var(--r-bg-hover)}.cc__toggle[data-v-2b65fbe9]:focus-visible{outline:2px solid var(--r-primary);outline-offset:1px}.cc__chevron[data-v-2b65fbe9]{color:var(--r-text-muted);flex-shrink:0;font-size:.75rem;transition:transform .15s}.cc__conv--open .cc__chevron[data-v-2b65fbe9]{transform:rotate(90deg)}.cc__head-text[data-v-2b65fbe9]{flex-direction:column;gap:.15rem;min-width:0;display:flex}.cc__title[data-v-2b65fbe9]{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.cc__sub[data-v-2b65fbe9]{color:var(--r-text-muted);flex-wrap:wrap;align-items:center;gap:.35rem;font-size:.75rem;display:flex}.cc__state[data-v-2b65fbe9]{align-items:center;gap:.3rem;font-weight:600;display:inline-flex}.cc__dot[data-v-2b65fbe9]{background:currentColor;border-radius:999px;width:.45rem;height:.45rem}.cc__state--open[data-v-2b65fbe9]{color:var(--r-green-600,#16a34a)}.cc__state--resolved[data-v-2b65fbe9]{color:var(--r-text-muted)}.cc__actions[data-v-2b65fbe9]{flex-shrink:0;align-items:center;gap:.1rem;display:flex}.cc__out[data-v-2b65fbe9]{min-height:2rem;color:var(--r-primary);border-radius:8px;align-items:center;gap:.35rem;padding:0 .55rem;font-size:.78rem;text-decoration:none;display:inline-flex}.cc__out[data-v-2b65fbe9]:hover{background:var(--r-bg-hover)}.cc__out[data-v-2b65fbe9]:focus-visible{outline:2px solid var(--r-primary);outline-offset:1px}.cc__elsewhere[data-v-2b65fbe9]{color:var(--r-text-muted);flex-wrap:wrap;align-items:center;gap:.35rem;margin:0 .75rem .5rem 2.35rem;font-size:.75rem;display:flex}.cc__card-link[data-v-2b65fbe9]{color:var(--r-primary);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.cc__thread-wrap[data-v-2b65fbe9]{border-top:1px solid var(--r-border);flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.cc__earlier[data-v-2b65fbe9]{background:var(--r-bg-hover);border:1px solid var(--r-border);min-height:2rem;color:var(--r-text-muted);cursor:pointer;border-radius:999px;align-self:center;align-items:center;gap:.35rem;padding:0 .75rem;font-size:.75rem;display:inline-flex}.cc__earlier[data-v-2b65fbe9]:hover{color:var(--r-text)}.cc__earlier[data-v-2b65fbe9]:focus-visible{outline:2px solid var(--r-primary);outline-offset:1px}.cc__thread[data-v-2b65fbe9]{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.cc__msg[data-v-2b65fbe9]{flex-direction:column;gap:.25rem;max-width:88%;display:flex}.cc__msg--followup[data-v-2b65fbe9]{margin-top:-.4rem}.cc__msg--customer[data-v-2b65fbe9]{align-self:flex-start}.cc__msg--agent[data-v-2b65fbe9]{align-self:flex-end;align-items:flex-end}.cc__msg-head[data-v-2b65fbe9]{flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.75rem;display:flex}.cc__msg--agent .cc__msg-head[data-v-2b65fbe9]{flex-direction:row-reverse}.cc__avatar[data-v-2b65fbe9]{width:1.5rem;height:1.5rem;color:var(--r-text);background:var(--r-bg-hover);border:1px solid var(--r-border);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;font-size:.62rem;font-weight:700;display:inline-flex}.cc__author[data-v-2b65fbe9]{font-size:.78rem}.cc__role[data-v-2b65fbe9],.cc__time[data-v-2b65fbe9]{color:var(--r-text-muted)}.cc__bubble[data-v-2b65fbe9]{background:var(--r-bg-hover);border:1px solid var(--r-border);border-radius:12px;min-width:0;padding:.5rem .7rem}.cc__msg--customer .cc__bubble[data-v-2b65fbe9]{border-top-left-radius:4px}.cc__msg--agent .cc__bubble[data-v-2b65fbe9]{background:color-mix(in srgb, var(--r-primary) 10%, var(--r-bg));border-color:color-mix(in srgb, var(--r-primary) 25%, var(--r-border));border-top-right-radius:4px}.cc__msg--internal .cc__bubble[data-v-2b65fbe9]{background:color-mix(in srgb, var(--r-yellow-500,#eab308) 12%, var(--r-bg));border-color:color-mix(in srgb, var(--r-yellow-500,#eab308) 40%, var(--r-border));border-style:dashed}.cc__body[data-v-2b65fbe9]{overflow-wrap:anywhere;font-size:.85rem;line-height:1.5}.cc__body[data-v-2b65fbe9] p{margin:.15rem 0}.cc__body[data-v-2b65fbe9] p:first-child{margin-top:0}.cc__body[data-v-2b65fbe9] p:last-child{margin-bottom:0}.cc__pending[data-v-2b65fbe9]{align-items:center;gap:.3rem;display:inline-flex}.cc__missing[data-v-2b65fbe9]{color:var(--r-text-muted);align-items:center;gap:.35rem;margin:.35rem 0 0;font-size:.72rem;display:flex}@media (width<=520px){.cc__msg[data-v-2b65fbe9]{max-width:100%}.cc__out-label[data-v-2b65fbe9]{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cc__elsewhere[data-v-2b65fbe9]{margin-left:.75rem}}@media (prefers-reduced-motion:reduce){.cc__conv[data-v-2b65fbe9],.cc__chevron[data-v-2b65fbe9]{transition:none}}.cl[data-v-3b8558bd]{flex-direction:column;gap:.6rem;display:flex}.cl__search[data-v-3b8558bd]{flex-wrap:wrap;gap:.5rem;display:flex}.cl__connection[data-v-3b8558bd]{min-width:10rem}.cl__query[data-v-3b8558bd]{flex:1;min-width:12rem}.cl__results[data-v-3b8558bd]{flex-direction:column;gap:.4rem;max-height:24rem;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.cl__hit[data-v-3b8558bd]{border:1px solid var(--r-border);border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.5rem;display:flex}.cl__hit-main[data-v-3b8558bd]{flex-direction:column;gap:.2rem;min-width:0;display:flex}.cl__preview[data-v-3b8558bd]{color:var(--r-text-muted);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8rem;display:-webkit-box;overflow:hidden}.cl__elsewhere[data-v-3b8558bd]{color:var(--r-text-muted);flex-wrap:wrap;align-items:center;gap:.3rem;margin:0;font-size:.78rem;display:flex}.cl__card-link[data-v-3b8558bd]{color:var(--r-primary);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.cl__state[data-v-3b8558bd]{background:var(--r-bg-hover);border-radius:6px;align-self:flex-start;padding:.1rem .4rem;font-size:.7rem;font-weight:600}.cl__state--open[data-v-3b8558bd]{color:var(--r-green-600,#16a34a)}.cl__state--resolved[data-v-3b8558bd]{color:var(--r-text-muted)}.cl__empty[data-v-3b8558bd]{color:var(--r-text-muted);margin:0;font-size:.85rem}.kb-history[data-v-d41366b3]{padding:.5rem 0}.kb-history__empty[data-v-d41366b3]{color:var(--r-text-muted);flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;font-size:.875rem;display:flex}.kb-history__empty i[data-v-d41366b3]{opacity:.5;font-size:1.5rem}.kb-history__timeline[data-v-d41366b3]{--kb-history-dot:22px;flex-direction:column;padding-left:1.75rem;display:flex;position:relative}.kb-history__timeline[data-v-d41366b3]:before{content:"";left:calc(var(--kb-history-dot) / 2 - 1px);background:var(--r-border);border-radius:1px;width:2px;position:absolute;top:.5rem;bottom:.5rem}.kb-history__item[data-v-d41366b3]{align-items:flex-start;gap:.75rem;padding:.5rem 0;display:flex;position:relative}.kb-history__item--clickable[data-v-d41366b3]{cursor:pointer;border-radius:6px;margin:0 -.375rem;padding:.5rem .375rem;transition:background .15s}.kb-history__item--clickable[data-v-d41366b3]:hover{background:var(--r-bg-hover)}.kb-history__item--clickable:hover .kb-history__label[data-v-d41366b3]{color:var(--r-primary)}.kb-history__icon[data-v-d41366b3]{box-sizing:border-box;width:var(--kb-history-dot);height:var(--kb-history-dot);background:var(--r-bg);border:2px solid var(--r-border);z-index:1;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:.5rem;left:-1.75rem}.kb-history__item--clickable .kb-history__icon[data-v-d41366b3]{left:-1.375rem}.kb-history__icon i[data-v-d41366b3]{color:var(--r-text-muted);font-size:.625rem}.kb-history__body[data-v-d41366b3]{flex-direction:column;gap:.125rem;min-width:0;display:flex}.kb-history__label[data-v-d41366b3]{color:var(--r-text);font-size:.8125rem;font-weight:500}.kb-history__subject[data-v-d41366b3]{margin-left:.25rem;font-weight:600}.kb-history__detail[data-v-d41366b3]{color:var(--r-text-muted);word-break:break-word;font-size:.75rem}.kb-history__time[data-v-d41366b3]{color:var(--r-text-muted);opacity:.7;font-size:.6875rem}.kb-col__done[data-v-09abbb78]{color:var(--r-green-500,#22c55e);font-size:.8rem}.kb-viewer[data-v-09abbb78]:has(.kb-viewer__office){flex-direction:column;justify-content:flex-start;align-items:stretch}.kb-viewer__office[data-v-09abbb78]{flex-direction:column;width:100%;height:100%;min-height:0;display:flex}.kb-viewer__tabs[data-v-09abbb78]{flex-wrap:wrap;flex-shrink:0;gap:.25rem;padding-bottom:.5rem;display:flex}.kb-viewer__tab[data-v-09abbb78]{border:1px solid var(--r-border);color:var(--r-text-muted);cursor:pointer;background:0 0;border-radius:6px 6px 0 0;padding:.25rem .6rem;font-size:.8125rem}.kb-viewer__tab--active[data-v-09abbb78]{color:var(--r-text);background:var(--r-bg-hover);border-bottom-color:#0000}.kb-viewer__scroll[data-v-09abbb78]{flex:1;min-height:0;overflow:auto}.kb-viewer__table[data-v-09abbb78]{border-collapse:collapse;width:max-content;min-width:100%;font-size:.8125rem}.kb-viewer__table th[data-v-09abbb78],.kb-viewer__table td[data-v-09abbb78]{border:1px solid var(--r-border);text-align:left;vertical-align:top;white-space:pre-wrap;max-width:32rem;padding:.25rem .5rem}.kb-viewer__table th[data-v-09abbb78]{background:var(--r-bg);font-weight:600;position:sticky;top:0}.kb-viewer__doc[data-v-09abbb78]{max-width:46rem;margin:0 auto;line-height:1.6}.kb-viewer__doc h1[data-v-09abbb78],.kb-viewer__doc h2[data-v-09abbb78],.kb-viewer__doc h3[data-v-09abbb78]{margin:1.2em 0 .4em;line-height:1.3}.kb-viewer__doc p[data-v-09abbb78]{margin:0 0 .75em}.kb-viewer__li[data-v-09abbb78]{margin:0 0 .35em 1.25rem;list-style:outside;display:list-item}.kb-viewer__doc .kb-viewer__table[data-v-09abbb78]{margin:0 0 1em}.kb-viewer__render[data-v-09abbb78]{background:var(--r-bg-hover);padding:.5rem 0}.kb-viewer__slides[data-v-09abbb78]{flex-direction:column;gap:.75rem;display:flex}.kb-viewer__slide[data-v-09abbb78]{border:1px solid var(--r-border);border-radius:8px;padding:.9rem 1rem .9rem 2.5rem;position:relative}.kb-viewer__slide-no[data-v-09abbb78]{color:var(--r-text-muted);font-size:.75rem;position:absolute;top:.9rem;left:.75rem}.kb-viewer__slide h3[data-v-09abbb78]{margin:0 0 .5rem;font-size:1rem}.kb-viewer__slide p[data-v-09abbb78]{margin:0 0 .25rem;font-size:.875rem}.kb-viewer__empty[data-v-09abbb78],.kb-viewer__truncated[data-v-09abbb78]{color:var(--r-text-muted);font-size:.8125rem}.kb-viewer__truncated[data-v-09abbb78]{flex-shrink:0;margin:.5rem 0 0}.kb[data-v-09abbb78]{flex-direction:column;height:100%;display:flex;overflow:hidden}.kb-header[data-v-09abbb78]{border-bottom:1px solid var(--r-border);background:var(--r-bg);flex-shrink:0;align-items:center;gap:.5rem;padding:.625rem 1rem;display:flex}.kb-header__title[data-v-09abbb78]{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;margin:0;font-size:1.125rem;font-weight:600;overflow:hidden}.kb-header__search[data-v-09abbb78]{flex:auto;align-items:center;gap:.375rem;min-width:9rem;display:flex}.kb-header__search[data-v-09abbb78] .r-icon-field{flex:auto;min-width:0}.kb-header__search-input[data-v-09abbb78]{width:100%}.kb-archive__column[data-v-09abbb78]{width:100%;margin-bottom:.75rem}.kb-archive__hint[data-v-09abbb78]{color:var(--r-text-muted);margin:0 0 .75rem;font-size:.8rem}.kb-archive__search[data-v-09abbb78]{align-items:center;gap:.375rem;margin-bottom:.75rem;display:flex}.kb-archive__search-input[data-v-09abbb78]{flex:1;min-width:0}.kb-archive__empty[data-v-09abbb78]{color:var(--r-text-muted);font-size:.85rem}.kb-archive__filtered[data-v-09abbb78]{color:var(--r-text-muted);align-items:center;gap:.375rem;margin:0 0 .5rem;font-size:.75rem;display:flex}.kb-archive__reset[data-v-09abbb78]{font:inherit;color:var(--r-primary);cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.kb-archive__list[data-v-09abbb78]{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.kb-archive__list .kb-archive__card[data-v-09abbb78]{cursor:pointer}.kb-archive__meta[data-v-09abbb78]{border-top:1px solid var(--r-border);color:var(--r-text-muted);flex-wrap:wrap;justify-content:space-between;gap:.375rem;margin-top:.5rem;padding-top:.375rem;font-size:.7rem;display:flex}.kb-boardwrap.kb-boardwrap--list[data-v-09abbb78]{overflow:hidden auto}.kb-boardwrap--list .kb-board[data-v-09abbb78]{flex:none;width:auto;min-width:0;padding:0}.kb-boardwrap[data-v-09abbb78]{scrollbar-width:thin;scrollbar-color:color-mix(in srgb, var(--r-text) 30%, var(--r-bg)) transparent;flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto hidden}.kb-boardwrap--panning[data-v-09abbb78]{cursor:grabbing;-webkit-user-select:none;user-select:none}.kb-boardwrap[data-v-09abbb78]::-webkit-scrollbar{height:10px}.kb-boardwrap[data-v-09abbb78]::-webkit-scrollbar-track{background:0 0}.kb-boardwrap[data-v-09abbb78]::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--r-text) 30%, var(--r-bg));border:2px solid var(--r-bg);border-radius:999px}.kb-boardwrap[data-v-09abbb78]::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--r-text) 50%, var(--r-bg))}.kb-board[data-v-09abbb78]{flex:1;align-items:flex-start;gap:.75rem;width:max-content;min-width:100%;min-height:0;padding:1rem;display:flex;position:relative}.kb-col[data-v-09abbb78]{background:var(--r-bg-hover);contain:layout paint style;-webkit-touch-callout:none;-webkit-user-select:none;touch-action:pan-x pan-y;border:2px solid #0000;border-radius:10px;flex-direction:column;flex-shrink:0;width:300px;max-height:100%;transition:border-color .15s,width .26s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.kb-col[data-v-09abbb78]:not(.kb-col--collapsed)>:not(.kb-col__strip){box-sizing:border-box;min-width:296px}.kb-col:not(.kb-col--collapsed)>.kb-col__add-card[data-v-09abbb78]{min-width:calc(296px - 1rem)}.kb-col__bell--on[data-v-09abbb78]{color:var(--r-primary)}.kb-col__header-right[data-v-09abbb78] .r-button.kb-col__bell--on,.kb-col__header-right[data-v-09abbb78] .r-button.kb-col__menu-btn--open{display:inline-flex}.kb-colmenu[data-v-09abbb78]{flex-direction:column;gap:.125rem;min-width:12rem;display:flex}.kb-colmenu__host[data-v-09abbb78]:empty{display:none}.kb-colmenu__host[data-v-09abbb78]{border-bottom:1px solid var(--r-border);align-items:center;gap:.25rem;margin-bottom:.25rem;padding-bottom:.25rem;display:flex}.kb-colmenu__item[data-v-09abbb78]{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.5rem;padding:.5rem .625rem;font-size:.875rem;display:flex}.kb-colmenu__item[data-v-09abbb78]:hover{background:var(--r-bg-hover)}.kb-colmenu__item--danger[data-v-09abbb78]{color:var(--r-red-500,#ef4444)}.kb-subscribe__lead[data-v-09abbb78]{margin:0 0 .75rem;line-height:1.5}.kb-subscribe__legend[data-v-09abbb78]{color:var(--r-text-muted);margin:0 0 .4rem;font-size:.8125rem;font-weight:600}.kb-subscribe__options[data-v-09abbb78]{flex-direction:column;gap:.4rem;margin:0 0 .75rem;display:flex}.kb-subscribe__option[data-v-09abbb78]{cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.kb-subscribe__list[data-v-09abbb78]{flex-direction:column;gap:.35rem;margin:0 0 .75rem;padding:0;font-size:.875rem;list-style:none;display:flex}.kb-subscribe__list li[data-v-09abbb78]{align-items:center;gap:.5rem;display:flex}.kb-subscribe__list .ti-check[data-v-09abbb78]{color:var(--r-primary)}.kb-subscribe__no[data-v-09abbb78]{color:var(--r-text-muted);align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.8125rem;display:flex}.kb-subscribe__no .ti-x[data-v-09abbb78]{color:var(--r-text-muted)}.kb-subscribe__channels[data-v-09abbb78]{color:var(--r-text-muted);margin:0;font-size:.8125rem}.kb-col--collapsed[data-v-09abbb78]{cursor:pointer;width:2.75rem;min-height:8rem}.kb-col__strip[data-v-09abbb78]{width:100%;min-height:0;color:var(--r-text);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:.5rem;padding:.625rem 0;animation:.26s ease-out both kb-col-reveal-09abbb78;display:flex}.kb-col__strip--empty[data-v-09abbb78]{opacity:.32}.kb-col__strip--empty[data-v-09abbb78]:hover,.kb-col__strip--empty[data-v-09abbb78]:focus-visible{opacity:1}.kb-col__strip-title[data-v-09abbb78]{writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;flex:none;font-size:.875rem;font-weight:600}.kb-col--dragging[data-v-09abbb78]{transition:none}@keyframes kb-col-reveal-09abbb78{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.kb-col[data-v-09abbb78]{transition:border-color .15s}.kb-col__strip[data-v-09abbb78],.kb-col__header[data-v-09abbb78]{animation:none}}.kb-col--dragover[data-v-09abbb78]{border-color:var(--r-primary);background:color-mix(in srgb, var(--r-primary) 5%, var(--r-bg-hover))}.kb-col__header[data-v-09abbb78]{justify-content:space-between;align-items:center;gap:.5rem;padding:.625rem .75rem .5rem;animation:.26s ease-out both kb-col-reveal-09abbb78;display:flex}.kb-col__header-right[data-v-09abbb78]{flex-shrink:0;align-items:center;gap:.25rem;min-height:2rem;display:flex}.kb-col__header-right[data-v-09abbb78] .r-button{display:none}.kb-col:hover .kb-col__header-right[data-v-09abbb78] .r-button,.kb-col__header-right[data-v-09abbb78]:focus-within .r-button{display:inline-flex}.kb-col__grip[data-v-09abbb78]{cursor:grab;color:var(--r-text-muted);touch-action:none;flex-shrink:0;padding:.15rem;font-size:.8rem}.kb-col__grip[data-v-09abbb78]:active{cursor:grabbing}.kb-col__title.r-input[data-v-09abbb78]{min-width:0;color:inherit;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:4px;outline:none;flex:1;padding:.25rem .375rem;font-size:.875rem;font-weight:600;line-height:normal;transition:all .15s}.kb-col__title.r-input[data-v-09abbb78]:hover{border-color:var(--r-border)}.kb-col__title.r-input[data-v-09abbb78]:focus{background:var(--r-bg);border-color:var(--r-primary);box-shadow:0 0 0 1px var(--r-primary)}.kb-col__count[data-v-09abbb78]{color:var(--r-text-muted);background:color-mix(in srgb, var(--r-text) 12%, var(--r-bg));border-radius:10px;flex-shrink:0;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;line-height:1.2}.kb-col__cards[data-v-09abbb78]{flex-direction:column;flex:1;gap:.375rem;min-height:40px;padding:0 .5rem;display:flex;position:relative;overflow-y:auto}.kb-cards-move[data-v-09abbb78]{transition:transform .22s cubic-bezier(.77,0,.175,1)}.kb-cards-enter-active[data-v-09abbb78]{transition:opacity .16s cubic-bezier(.23,1,.32,1),transform .16s cubic-bezier(.23,1,.32,1)}.kb-cards-leave-active[data-v-09abbb78]{transition:opacity .1s ease-out;position:absolute;inset-inline:.5rem}.kb-cards-enter-from[data-v-09abbb78]{opacity:0;transform:translateY(-4px)}.kb-cards-leave-to[data-v-09abbb78]{opacity:0}@media (prefers-reduced-motion:reduce){.kb-cards-move[data-v-09abbb78]{transition:none}.kb-cards-enter-active[data-v-09abbb78]{transition:opacity .16s}.kb-cards-enter-from[data-v-09abbb78]{transform:none}}.kb-col__empty[data-v-09abbb78]{text-align:center;color:var(--r-text-muted);border:1px dashed var(--r-border);border-radius:6px;margin:.25rem 0;padding:1.5rem .75rem;font-size:.8125rem}.kb-card[data-v-09abbb78]{background:var(--r-bg);border:1px solid var(--r-border);cursor:grab;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:pan-y;border-radius:6px;padding:.5rem .625rem;transition:box-shadow .15s,transform .1s}.kb-ops[data-v-09abbb78]{border:1px solid var(--r-border);border-radius:6px;align-self:flex-start;display:inline-flex;overflow:hidden}.kb-ops__btn[data-v-09abbb78]{border:none;border-right:1px solid var(--r-border);min-width:2.25rem;color:var(--r-text-muted);cursor:pointer;background:0 0;padding:.25rem 0;font-size:.9375rem;line-height:1.4}.kb-ops__btn[data-v-09abbb78]:last-child{border-right:none}.kb-ops__btn--none[data-v-09abbb78]{border-left:1px solid var(--r-border);font-size:.75rem}.kb-ops__btn[data-v-09abbb78]:hover{background:var(--r-bg-hover)}.kb-ops__btn--on[data-v-09abbb78]{background:var(--r-primary);color:var(--r-primary-contrast)}.kb-filters__body[data-v-09abbb78]{flex-direction:column;gap:1.25rem;display:flex}.kb-filters__section[data-v-09abbb78]{flex-direction:column;gap:.5rem;display:flex}.kb-filters__control[data-v-09abbb78]{width:100%;min-width:0}.kb-void[data-v-09abbb78]{align-items:center;gap:.375rem;min-width:0;display:flex}.kb-void--is[data-v-09abbb78]{color:var(--r-text-muted);font-style:italic}.kb-header__filter--on[data-v-09abbb78]{color:var(--r-primary)}.kb-card__prio[data-v-09abbb78]{background:color-mix(in srgb, var(--r-text) 14%, transparent);min-width:1.125rem;height:1.125rem;color:var(--r-text);border-radius:999px;justify-content:center;align-items:center;padding:0 .25rem;font-size:.625rem;font-weight:600;display:inline-flex}.kb-prio[data-v-09abbb78]{align-items:center;gap:.5rem;display:flex}.kb-prio__slider[data-v-09abbb78]{flex:1}.kb-prio__value[data-v-09abbb78]{color:var(--r-text);font-variant-numeric:tabular-nums;margin-left:.375rem}.kb-prio__clear[data-v-09abbb78],.kb-prio__set[data-v-09abbb78]{color:var(--r-text-muted);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;align-items:center;gap:.375rem;padding:.125rem .375rem;font-size:.75rem;display:inline-flex}.kb-prio__clear[data-v-09abbb78]:hover,.kb-prio__set[data-v-09abbb78]:hover{color:var(--r-primary);background:var(--r-bg-hover)}.kb-card__groups[data-v-09abbb78]{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;display:flex}.kb-card__group[data-v-09abbb78]{background:var(--r-bg-hover);background:color-mix(in srgb, var(--r-text) 14%, transparent);color:var(--r-text-muted);border-radius:999px;padding:.0625rem .375rem;font-size:.6875rem;line-height:1.4}.kb-groups__option[data-v-09abbb78]{align-items:center;gap:.375rem;display:flex}.kb-groups__chip[data-v-09abbb78]{min-height:1.5rem;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.375rem;padding:0;display:inline-flex}.kb-groups__chip[data-v-09abbb78]:disabled{cursor:default}.kb-groups__chip[data-v-09abbb78]:focus-visible{outline:2px solid var(--r-primary-text);outline-offset:2px;border-radius:var(--r-radius-sm)}.kb-groups__dot[data-v-09abbb78]{border-radius:999px;flex-shrink:0;width:.625rem;height:.625rem}.kb-groups__dot--none[data-v-09abbb78]{box-shadow:inset 0 0 0 1px var(--r-text-muted)}.kb-card--colored[data-v-09abbb78]{border-top-width:3px;border-top-left-radius:4px;border-top-right-radius:4px;padding-top:calc(.5rem - 2px)}.kb-colors[data-v-09abbb78]{flex-wrap:wrap;gap:.375rem;display:flex}.kb-group-color[data-v-09abbb78]{flex-direction:column;gap:.5rem;max-width:16rem;display:flex}.kb-colors__swatch[data-v-09abbb78]{border:1px solid var(--r-border);cursor:pointer;border-radius:50%;width:1.25rem;height:1.25rem;padding:0}.kb-colors__swatch[data-v-09abbb78]:disabled{cursor:default;opacity:.6}.kb-colors__swatch--on[data-v-09abbb78]{outline:2px solid var(--r-primary);outline-offset:2px}.kb-colors__swatch--custom[data-v-09abbb78]{color:var(--r-text-muted);background:0 0;justify-content:center;align-items:center;font-size:.7rem;display:flex}.kb-colors__swatch--none[data-v-09abbb78]{color:var(--r-text-muted);background:0 0;justify-content:center;align-items:center;font-size:.75rem;display:flex}.kb-card[data-v-09abbb78]:hover{border-color:var(--r-primary-200,var(--r-border));box-shadow:0 2px 8px #00000014}.kb-card[data-v-09abbb78]:active{cursor:grabbing;transform:rotate(1deg)}.kb-card--drop-before[data-v-09abbb78]{border-top:2px solid var(--r-primary);margin-top:-1px}.kb-card--drop-after[data-v-09abbb78]{border-bottom:2px solid var(--r-primary);margin-bottom:-1px}.kb-col--dragging[data-v-09abbb78]{opacity:.5}.kb-col--col-drop-before[data-v-09abbb78]{border-left:3px solid var(--r-primary)}.kb-col--col-drop-after[data-v-09abbb78]{border-right:3px solid var(--r-primary)}.kb-gapzone[data-v-09abbb78]{z-index:2;border-radius:var(--r-radius-sm);border:2px dashed color-mix(in srgb, var(--r-primary-text) 45%, transparent);width:1.5rem;transition:background var(--r-duration-base) ease, border-color var(--r-duration-base) ease;position:absolute;top:0;bottom:0;transform:translate(-50%)}.kb-gapzone--active[data-v-09abbb78]{border-style:solid;border-color:var(--r-primary-text);background:color-mix(in srgb, var(--r-primary) 18%, var(--r-bg))}.kb-card__top[data-v-09abbb78]{align-items:flex-start;gap:.25rem;display:flex}.kb-card__title[data-v-09abbb78]{min-width:0;color:var(--r-text);word-break:break-word;flex:1;font-size:.8125rem;line-height:1.4}.kb-card__delete[data-v-09abbb78]{width:20px;height:20px;color:var(--r-text-muted);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.625rem;transition:opacity .15s,background .15s,color .15s;display:flex}.kb-card:hover .kb-card__delete[data-v-09abbb78]{opacity:1}.kb-card__delete[data-v-09abbb78]:hover{background:var(--r-red-50,#ef44441a);color:var(--r-red-500,#ef4444)}.kb-side__control[data-v-09abbb78] .r-select__chip{background:0 0;gap:0;padding:0}.kb-assignee[data-v-09abbb78]{align-items:center;gap:.375rem;min-width:0;display:inline-flex}.kb-card__assignees[data-v-09abbb78]{flex-wrap:wrap;gap:.25rem;margin-top:.4rem;display:flex}.kb-card__avatar[data-v-09abbb78]{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.5625rem;font-weight:600;display:flex;overflow:hidden}.kb-card__avatar img[data-v-09abbb78]{object-fit:cover;width:100%;height:100%}.kb-card__badges[data-v-09abbb78]{color:var(--r-text-muted);align-items:center;gap:.5rem;margin-top:.375rem;font-size:.6875rem;display:flex}.kb-card__img-badge[data-v-09abbb78]{align-items:center;gap:.2rem;display:inline-flex}.kb-col__add-card[data-v-09abbb78]{color:var(--r-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.375rem;margin:.25rem .5rem .5rem;padding:.5rem .75rem;font-size:.8125rem;transition:all .15s;display:flex}.kb-col__add-card--top[data-v-09abbb78]{margin:0 .5rem .25rem}.kb-col__add-card[data-v-09abbb78]:hover{background:color-mix(in srgb, var(--r-text) 12%, var(--r-bg));color:var(--r-text)}.kb-add-col[data-v-09abbb78]{flex-shrink:0;width:300px}.kb-add-col__trigger[data-v-09abbb78]{background:var(--r-bg-hover);border:1px dashed var(--r-border);width:100%;color:var(--r-text-muted);cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;transition:all .15s;display:flex}.kb-add-col__trigger[data-v-09abbb78]:hover{background:color-mix(in srgb, var(--r-text) 12%, var(--r-bg));border-color:var(--r-primary);color:var(--r-primary)}.kb-add-col__form[data-v-09abbb78]{background:var(--r-bg-hover);border-radius:10px;padding:.75rem}.kb-add-col__actions[data-v-09abbb78]{gap:.5rem;margin-top:.5rem;display:flex}.kb-tpl-intro[data-v-09abbb78]{color:var(--r-text-muted);margin:0 0 .75rem;font-size:.8125rem}.kb-tpl-list[data-v-09abbb78]{flex-direction:column;gap:.375rem;display:flex}.kb-tpl-option[data-v-09abbb78]{border:1px solid var(--r-border);width:100%;color:var(--r-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:.5rem;padding:.6rem .75rem;display:flex}.kb-tpl-option[data-v-09abbb78]:hover{background:var(--r-bg-hover);border-color:var(--r-primary)}.r-dialog__content.kb-card-dialog .r-dialog__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.r-dialog__content.kb-card-dialog .r-dialog__header{min-width:0}.r-dialog__content.kb-card-dialog.kb-card-dialog--colored{border-top:3px solid #0000}.r-dialog__content.kb-card-dialog .r-dialog__body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.kb-dialog[data-v-09abbb78]{flex:1;grid-template-columns:minmax(0,1fr) 300px;align-items:stretch;gap:1.25rem;min-height:0;display:grid}.kb-dialog__main[data-v-09abbb78]{flex-direction:column;gap:1rem;min-width:0;min-height:0;display:flex}.kb-dialog__main[data-v-09abbb78] .r-tabs{flex-direction:column;flex:1;min-height:0;display:flex}.kb-dialog__main[data-v-09abbb78] .r-tab-list{flex:none}.kb-dialog__main[data-v-09abbb78] .r-tab-panels{flex:auto;min-height:0;overflow-y:auto}.kb-dialog__main[data-v-09abbb78] .r-tab-panels.kb-tabpanels--comments{flex-direction:column;display:flex;overflow:hidden}.kb-dialog__main[data-v-09abbb78] .kb-tabpanels--comments>.r-tab-panel:not([hidden]){flex-direction:column;flex:auto;min-height:0;display:flex}.kb-side[data-v-09abbb78]{border-left:1px solid var(--r-border);flex-direction:column;gap:.75rem;min-height:0;padding-left:1rem;display:flex;overflow-y:auto}.kb-side__block[data-v-09abbb78]{flex-direction:column;gap:.25rem;display:flex}.kb-side__group[data-v-09abbb78]{flex-direction:column;gap:.625rem;display:flex}.kb-side__group+.kb-side__group[data-v-09abbb78],.kb-side__meta+.kb-side__group[data-v-09abbb78]{border-top:1px solid var(--r-border);padding-top:.75rem}.kb-side__group[data-v-09abbb78]:not(:has(.kb-side__block)){display:none}.kb-side__label[data-v-09abbb78]{color:var(--r-text-muted);align-items:center;gap:.3rem;font-size:.75rem;font-weight:500;display:flex}.kb-archived-pick[data-v-09abbb78]{flex-wrap:wrap;gap:.375rem;display:flex}.kb-side__self[data-v-09abbb78]{font:inherit;color:var(--r-primary);cursor:pointer;background:0 0;border:none;border-radius:4px;order:2;margin-left:auto;padding:0 .3rem;font-size:.6875rem;font-weight:500}.kb-side__self[data-v-09abbb78]:hover,.kb-side__self[data-v-09abbb78]:focus-visible{background:var(--r-bg-hover);outline:none}.kb-side__info[data-v-09abbb78]{opacity:.7;cursor:help;font-size:.7rem}.kb-side__info[data-v-09abbb78]:hover,.kb-side__info[data-v-09abbb78]:focus-visible{opacity:1;color:var(--r-primary);outline:none}.kb-side__control[data-v-09abbb78]{width:100%}.kb-convs[data-v-09abbb78]{flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none;display:flex}.kb-convs__row[data-v-09abbb78]{justify-content:space-between;align-items:center;gap:.5rem;min-height:1.75rem;display:flex}.kb-convs__name[data-v-09abbb78]{min-width:0;font:inherit;color:var(--r-text-muted);background:0 0;border:none;border-radius:6px;align-items:center;gap:.4rem;margin-left:-.35rem;padding:.15rem .35rem;font-size:.8125rem;display:inline-flex}.kb-convs__name .ti[data-v-09abbb78]{font-size:.75rem}.kb-convs__name--open[data-v-09abbb78]{color:var(--r-text);cursor:pointer}.kb-convs__name--open[data-v-09abbb78]:hover,.kb-convs__name--open[data-v-09abbb78]:focus-visible{background:var(--r-bg-hover);outline:none}.kb-convs__count[data-v-09abbb78]{text-align:center;min-width:1.1rem;color:var(--r-primary-contrast);background:var(--r-primary);border-radius:999px;padding:0 .3rem;font-size:.6875rem;font-weight:600;line-height:1.1rem}.kb-convs__link[data-v-09abbb78]{flex:none}.kb-side__hint[data-v-09abbb78]{color:var(--r-text-muted);margin:0;font-size:.6875rem}.kb-side__meta[data-v-09abbb78]{color:var(--r-text-muted);flex-flow:wrap;gap:.2rem .75rem;font-size:.6875rem}.kb-side__meta p[data-v-09abbb78]{align-items:center;gap:.375rem;margin:0;display:flex}.kb-side__convs[data-v-09abbb78]{flex-direction:column;gap:.25rem;display:flex}.kb-side__conv[data-v-09abbb78]{color:var(--r-primary);cursor:pointer;align-items:center;gap:.375rem;font-size:.75rem;text-decoration:none;display:flex}.kb-side__conv:hover .kb-side__conv-label[data-v-09abbb78]{text-decoration:underline}.kb-side__conv-label[data-v-09abbb78]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.kb-tree[data-v-09abbb78]{flex-direction:column;gap:.125rem;margin:0;padding:0;list-style:none;display:flex}.kb-tree__row[data-v-09abbb78]{align-items:center;gap:.125rem;min-width:0;font-size:.75rem;display:flex}.kb-tree__branch[data-v-09abbb78]{color:var(--r-text-muted);font-size:.625rem}.kb-tree__label[data-v-09abbb78]{min-width:0;color:var(--r-text);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:.125rem .25rem;overflow:hidden}button.kb-tree__label[data-v-09abbb78]:hover:not(:disabled){color:var(--r-primary);background:var(--r-bg-hover)}.kb-tree__label[data-v-09abbb78]:disabled{cursor:default}.kb-tree__row--self .kb-tree__label[data-v-09abbb78]{font-weight:600}.kb-rel[data-v-09abbb78]{flex-direction:column;gap:1.5rem;min-width:0;padding:.5rem 0;display:flex}.kb-rel__section[data-v-09abbb78]{flex-direction:column;gap:.5rem;min-width:0;display:flex}.kb-rel__title[data-v-09abbb78]{color:var(--r-text-muted);align-items:center;gap:.375rem;margin:0;font-size:.8125rem;font-weight:600;display:flex}.kb-rel__table[data-v-09abbb78]{table-layout:fixed;border-collapse:collapse;width:100%;font-size:.8125rem}.kb-rel__table th[data-v-09abbb78]{border-bottom:1px solid var(--r-border);color:var(--r-text-muted);text-align:left;text-transform:uppercase;letter-spacing:.02em;padding:.25rem .5rem;font-size:.6875rem;font-weight:500}.kb-rel__table td[data-v-09abbb78]{border-bottom:1px solid var(--r-border);vertical-align:middle;padding:.375rem .5rem}.kb-rel__table tr:last-child td[data-v-09abbb78]{border-bottom:none}.kb-rel__card[data-v-09abbb78]{font-weight:500}.kb-rel__card-title[data-v-09abbb78]{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.kb-rel__board[data-v-09abbb78]{width:8rem;color:var(--r-text-muted)}.kb-rel__board--away[data-v-09abbb78]{color:var(--r-primary)}.kb-rel__people[data-v-09abbb78]{width:7rem}.kb-rel__num[data-v-09abbb78]{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;width:6rem}.kb-rel__none[data-v-09abbb78]{color:var(--r-text-muted)}.kb-rel__actions-col[data-v-09abbb78]{text-align:right;white-space:nowrap;width:5.5rem}.kb-rel__action[data-v-09abbb78]{color:var(--r-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem .375rem}.kb-rel__action[data-v-09abbb78]:hover:not(:disabled){color:var(--r-primary);background:var(--r-bg-hover)}.kb-rel__action[data-v-09abbb78]:disabled{opacity:.4;cursor:default}.kb-rel__action--detach[data-v-09abbb78]:hover{color:var(--r-red-500,#ef4444)}.kb-rel__empty[data-v-09abbb78]{color:var(--r-text-muted);margin:0;font-size:.8125rem}.kb-rel__picker[data-v-09abbb78]{max-width:28rem}.kb-link__col[data-v-09abbb78]{color:var(--r-text-muted);margin-left:auto;padding-left:.5rem;font-size:.6875rem}.kb-side__actions[data-v-09abbb78]{flex-direction:column;gap:.5rem;display:flex}.kb-side__danger[data-v-09abbb78]{border-top:1px solid var(--r-border);flex-flow:wrap;padding-top:.5rem}@media (width<=720px){.r-dialog__content.kb-card-dialog .r-dialog__body{overflow-y:auto}.kb-dialog[data-v-09abbb78]{grid-template-columns:minmax(0,1fr);align-content:start;min-height:auto}.kb-comments__filter[data-v-09abbb78]{z-index:1;position:sticky;top:0}.kb-dialog__main[data-v-09abbb78] .r-tab-panels{overflow-y:visible}.kb-dialog__main[data-v-09abbb78] .r-tab-panels.kb-tabpanels--comments{overflow:visible}.kb-comments__scroll[data-v-09abbb78]{overflow-y:visible}.kb-side[data-v-09abbb78]{border-left:none;border-top:1px solid var(--r-border);padding-top:1rem;padding-left:0;overflow-y:visible}}.kb-dialog__field[data-v-09abbb78]{flex-direction:column;gap:.375rem;display:flex}.kb-dialog__field[data-v-09abbb78] .r-input,.kb-dialog__field[data-v-09abbb78] .r-select,.kb-dialog__field[data-v-09abbb78] .r-autocomplete,.kb-dialog__field[data-v-09abbb78] .r-textarea{width:100%}.kb-dialog__author[data-v-09abbb78]{color:var(--r-text-muted);align-items:center;gap:.375rem;margin:-.5rem 0 0;font-size:.75rem;display:flex}.kb-dialog__label[data-v-09abbb78]{color:var(--r-text-muted);font-size:.8125rem;font-weight:500}.kb-dialog__images[data-v-09abbb78]{flex-wrap:wrap;gap:.5rem;display:flex}.kb-dialog__thumb[data-v-09abbb78]{border:1px solid var(--r-border);border-radius:6px;width:110px;height:80px;position:relative;overflow:hidden}.kb-dialog__thumb img[data-v-09abbb78]{object-fit:cover;width:100%;height:100%;display:block}.kb-dialog__thumb-remove[data-v-09abbb78]{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.625rem;transition:background .15s;display:flex;position:absolute;top:4px;right:4px}.kb-dialog__thumb-remove[data-v-09abbb78]:hover{background:var(--r-red-500,#ef4444)}.kb-dialog__upload[data-v-09abbb78]{cursor:pointer;color:var(--r-primary);align-items:center;gap:.375rem;padding:.375rem 0;font-size:.8125rem;transition:opacity .15s;display:inline-flex}.kb-dialog__upload[data-v-09abbb78]:hover{opacity:.8}.kb-dialog__upload input[data-v-09abbb78]{display:none}.kb-dialog__actions-zone[data-v-09abbb78]{border-top:1px solid var(--r-border);flex-direction:column;gap:.375rem;padding-top:.75rem;display:flex}.kb-dialog__actions-buttons[data-v-09abbb78]{flex-wrap:wrap;gap:.5rem;display:flex}.kb-dialog__danger-zone[data-v-09abbb78]{border-top:1px solid var(--r-border);padding-top:.75rem}.kb-dialog__footer[data-v-09abbb78]{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.kb-dialog__unsaved[data-v-09abbb78]{color:var(--r-orange-500,#f97316);align-items:center;gap:.375rem;margin-right:auto;font-size:.8125rem;display:flex}.kb-dialog__edit-content[data-v-09abbb78]{flex-direction:column;gap:1rem;padding-top:.5rem;display:flex}.kb-comments[data-v-09abbb78]{flex-direction:column;flex:auto;min-height:0;display:flex}.kb-comments__scroll[data-v-09abbb78]{flex-direction:column;flex:auto;gap:1rem;min-height:0;padding-bottom:.75rem;display:flex;overflow-y:auto}.kb-comments__input[data-v-09abbb78]{background:var(--r-bg);border-top:1px solid var(--r-border);flex-direction:column;flex:none;gap:.5rem;padding-top:.75rem;display:flex}.kb-comments__edited[data-v-09abbb78]{color:var(--r-text-muted);font-size:.6875rem;font-style:italic}.kb-comments__tools[data-v-09abbb78]{gap:.125rem;margin-left:auto;display:flex}.kb-comments__tool[data-v-09abbb78]{cursor:pointer;color:var(--r-text-muted);background:0 0;border:none;border-radius:4px;padding:.125rem .25rem;font-size:.6875rem}.kb-comments__tool[data-v-09abbb78]:hover{color:var(--r-text);background:var(--r-bg-hover)}.kb-comments__edit[data-v-09abbb78]{flex-direction:column;gap:.5rem;margin-top:.25rem;display:flex}.kb-comments__actions[data-v-09abbb78]{justify-content:flex-end;align-items:center;gap:.625rem;display:flex}.kb-comments__attach[data-v-09abbb78]{cursor:pointer;color:var(--r-text-muted);border-radius:4px;align-items:center;margin-right:auto;padding:.25rem;display:inline-flex}.kb-comments__attach[data-v-09abbb78]:hover{color:var(--r-text);background:var(--r-bg-hover)}.kb-comments__attach input[data-v-09abbb78]{display:none}.kb-comments__hint[data-v-09abbb78]{color:var(--r-text-muted);font-size:.6875rem}.kb-comments__filter[data-v-09abbb78]{border:1px solid var(--r-border);border-radius:var(--r-radius-md);background:var(--r-bg-elevated);color:var(--r-text-muted);cursor:pointer;flex:none;align-items:center;gap:.5rem;margin-bottom:.75rem;padding:.375rem .625rem;font-size:.8125rem;display:flex}.kb-comments__empty[data-v-09abbb78]{color:var(--r-text-muted);flex-direction:column;align-items:center;gap:.5rem;padding:2rem 0;font-size:.875rem;display:flex}.kb-comments__empty i[data-v-09abbb78]{opacity:.5;font-size:1.5rem}.kb-comments__list[data-v-09abbb78]{flex-direction:column;gap:.75rem;display:flex}.kb-comments__item[data-v-09abbb78]{background:color-mix(in srgb, var(--r-text) 4%, var(--r-bg));border-radius:8px;align-items:flex-start;gap:.625rem;padding:.625rem .75rem;display:flex}.kb-comments__item--ai[data-v-09abbb78]{background:color-mix(in srgb, var(--r-primary) 10%, transparent);border-left:3px solid var(--r-primary)}.kb-comments__item--clickable[data-v-09abbb78]{cursor:pointer;transition:background .15s,box-shadow .15s}.kb-comments__item--clickable[data-v-09abbb78]:hover{background:var(--r-bg-hover);box-shadow:0 0 0 2px var(--r-primary)}.kb-comments__avatar[data-v-09abbb78]{background:color-mix(in srgb, var(--r-text) 12%, var(--r-bg));border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.kb-comments__item--ai .kb-comments__avatar[data-v-09abbb78]{background:color-mix(in srgb, var(--r-primary) 18%, transparent);color:var(--r-primary)}.kb-comments__avatar i[data-v-09abbb78]{font-size:.75rem}.kb-comments__avatar--photo[data-v-09abbb78]{color:#fff;font-size:.625rem;font-weight:600;overflow:hidden}.kb-comments__avatar img[data-v-09abbb78]{object-fit:cover;width:100%;height:100%}.kb-comments__body[data-v-09abbb78]{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.kb-comments__meta[data-v-09abbb78]{align-items:center;gap:.5rem;display:flex}.kb-comments__author[data-v-09abbb78]{color:var(--r-text);font-size:.8125rem;font-weight:600}.kb-comments__time[data-v-09abbb78]{color:var(--r-text-muted);font-size:.6875rem}.kb-comments__text[data-v-09abbb78]{color:var(--r-text);word-break:break-word;white-space:pre-wrap;font-size:.8125rem;line-height:1.5}.kb-comments__text--markdown[data-v-09abbb78]{white-space:normal}.kb-comments__text--clamped[data-v-09abbb78]{-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.kb-comments__text--toggleable[data-v-09abbb78]{cursor:pointer}.kb-comments__more[data-v-09abbb78]{color:var(--r-primary);cursor:pointer;background:0 0;border:none;margin-top:.15rem;padding:0;font-size:.75rem;font-weight:500}.kb-comments__more[data-v-09abbb78]:hover{text-decoration:underline}.kb-comments__text--markdown[data-v-09abbb78] p{margin:0 0 .25em}.kb-comments__text--markdown[data-v-09abbb78] p:last-child{margin-bottom:0}.kb-comments__text--markdown[data-v-09abbb78] h1,.kb-comments__text--markdown[data-v-09abbb78] h2,.kb-comments__text--markdown[data-v-09abbb78] h3{margin:.4em 0 .15em;font-weight:700}.kb-comments__text--markdown[data-v-09abbb78] ul,.kb-comments__text--markdown[data-v-09abbb78] ol{margin:.2em 0;padding-left:1.4em}.kb-comments__text--markdown[data-v-09abbb78] li{margin-bottom:.1em}.kb-comments__text--markdown[data-v-09abbb78] code{background:var(--r-bg-hover);border-radius:4px;padding:.1em .35em;font-family:ui-monospace,monospace;font-size:.85em}.kb-comments__text--markdown[data-v-09abbb78] pre{background:color-mix(in srgb, var(--r-bg) 60%, #000 40%);border-radius:6px;margin:.4em 0;padding:.6em .8em;overflow-x:auto}.kb-comments__text--markdown[data-v-09abbb78] pre code{background:0 0;padding:0}.kb-comments__text--markdown[data-v-09abbb78] blockquote{border-left:3px solid var(--r-primary);color:var(--r-text-muted);margin:.4em 0;padding:.2em .6em;font-style:italic}.kb-comments__text--markdown[data-v-09abbb78] a{color:var(--r-primary);text-decoration:underline}.kb-card__actions[data-v-09abbb78]{flex-shrink:0;align-items:center;gap:.125rem;display:flex}.kb-dialog__archived[data-v-09abbb78]{border-radius:var(--r-radius-md,6px);background:var(--r-bg-hover);color:var(--r-text-muted);flex:none;align-items:center;gap:.4rem;margin:0;padding:.4rem .75rem;font-size:.8rem;display:flex}.kb-header__readonly[data-v-09abbb78]{background:var(--r-bg-hover);color:var(--r-text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.35rem;margin-left:auto;padding:.15rem .5rem;font-size:.75rem;display:inline-flex}.kb-viewer[data-v-09abbb78]{background:var(--r-bg);justify-content:center;align-items:center;height:100%;display:flex}.kb-viewer__image[data-v-09abbb78]{object-fit:contain;max-width:100%;max-height:100%}.kb-viewer__frame[data-v-09abbb78]{border:none;width:100%;height:100%}.kb-viewer__media[data-v-09abbb78]{max-width:100%;max-height:100%}.kb-viewer__audio[data-v-09abbb78]{width:min(480px,100%)}.kb-viewer__text[data-v-09abbb78]{white-space:pre-wrap;word-break:break-word;background:var(--r-bg);width:100%;height:100%;color:var(--r-text);margin:0;padding:.75rem;font-size:.8125rem;line-height:1.5;overflow:auto}.r-dialog__content.kb-viewer-dialog .r-dialog__body{height:100%;padding:.5rem 1rem;overflow:hidden}.flow-info[data-v-57cd50ba]{color:var(--r-text-muted);vertical-align:-.1em;cursor:help;margin-left:.2rem;font-weight:400}.flow-info[data-v-57cd50ba]:focus-visible{outline:var(--r-focus-ring-width) var(--r-focus-ring-style) var(--r-focus-ring-color);outline-offset:var(--r-focus-ring-offset);border-radius:50%}.flow-bars-section[data-v-955e421b]{border-top:1px solid var(--r-border);margin-top:1rem;padding-top:.75rem}.flow-bars-section__title[data-v-955e421b]{margin:0;font-size:.9rem;font-weight:600}.flow-bars[data-v-955e421b]{flex-direction:column;gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.flow-bars__row[data-v-955e421b]{grid-template-columns:minmax(6rem,12rem) 1fr 5.5rem 6rem;align-items:center;gap:.75rem;font-size:.85rem;display:grid}.flow-bars__name[data-v-955e421b]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.flow-bars__track[data-v-955e421b]{background:color-mix(in srgb, var(--r-text) 8%, var(--r-bg));border-radius:999px;height:.5rem;overflow:hidden}.flow-bars__fill[data-v-955e421b]{border-radius:inherit;background:var(--r-primary);height:100%;display:block}.flow-bars__value[data-v-955e421b]{text-align:right;white-space:nowrap;font-weight:600}.flow-bars__detail[data-v-955e421b]{color:var(--r-text-muted);white-space:nowrap;font-size:.75rem}.member-avatar[data-v-7775b21f]{box-sizing:border-box;border:2px solid var(--r-bg);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.6rem;font-weight:700;display:inline-flex;overflow:hidden}.member-avatar img[data-v-7775b21f]{object-fit:cover;width:100%;height:100%}.flow-cards__title[data-v-04a1be37]{color:var(--r-text-muted);margin:0;font-size:.8rem;font-weight:600}.flow-cards__list[data-v-04a1be37]{flex-direction:column;gap:.25rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.flow-cards__row[data-v-04a1be37]{box-sizing:border-box;width:100%;min-height:2.25rem;font:inherit;color:inherit;text-align:left;background:0 0;border:0;border-radius:.375rem;align-items:center;gap:.75rem;padding:.35rem .5rem;font-size:.85rem;display:flex}.flow-cards__list li:first-child .flow-cards__row[data-v-04a1be37]{background:var(--r-warn-bg)}.flow-cards__row--open[data-v-04a1be37]{cursor:pointer;transition:background-color var(--r-duration-base) ease}@media (hover:hover) and (pointer:fine){.flow-cards__list li:not(:first-child) .flow-cards__row--open[data-v-04a1be37]:hover{background:var(--r-bg-hover)}}.flow-cards__row--open[data-v-04a1be37]:focus-visible{outline:var(--r-focus-ring-width) var(--r-focus-ring-style) var(--r-focus-ring-color);outline-offset:var(--r-focus-ring-offset)}.flow-cards__name[data-v-04a1be37]{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.flow-cards__detail[data-v-04a1be37]{color:var(--r-text-muted);margin-left:.4rem;font-size:.75rem}.flow-cards__assignees[data-v-04a1be37]{flex-shrink:0;display:flex}.flow-cards__assignees[data-v-04a1be37]>*+*{margin-left:-6px}.flow-cards__value[data-v-04a1be37]{white-space:nowrap;font-weight:600}.flow-filters[data-v-2596c57b]{flex-direction:column;gap:.5rem;display:flex}.flow-filters__row[data-v-2596c57b]{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;display:flex}.flow-filters__label[data-v-2596c57b]{min-width:6.5rem;color:var(--r-text-muted);flex-shrink:0;font-size:.8rem;font-weight:600}.flow-filters__presets[data-v-2596c57b]{flex-shrink:0}.flow-filters__period[data-v-2596c57b]{flex:none}@media (width>=640px){.flow-filters__row[data-v-2596c57b]{flex-wrap:nowrap}}.flow-hint[data-v-2596c57b]{color:var(--r-text-muted);margin:.75rem 0 0;font-size:.8rem}.flow-totals[data-v-2596c57b]{align-items:center;gap:1rem;margin-top:.75rem;font-size:.85rem;font-weight:600;display:flex}.flow-totals span[data-v-2596c57b]{align-items:center;gap:.35rem;display:inline-flex}.flow-error[data-v-2596c57b]{color:var(--r-red-500,#ef4444);font-size:.85rem}.flow-section[data-v-2596c57b]{border-top:1px solid var(--r-border);margin-top:1rem;padding-top:.75rem}.flow-section__title[data-v-2596c57b]{margin:0;font-size:.9rem;font-weight:600}.flow-stats[data-v-2596c57b]{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));grid-auto-rows:1fr;gap:.5rem;margin:.75rem 0 0;display:grid}.flow-stats>div[data-v-2596c57b]{border:1px solid var(--r-border);border-radius:var(--r-radius-md);background:color-mix(in srgb, var(--r-text) 3%, var(--r-bg));flex-direction:column;gap:.35rem;padding:.6rem .75rem;display:flex}.flow-stats dt[data-v-2596c57b]{color:var(--r-text-muted);font-size:.8rem;line-height:1.3}.flow-stats dd[data-v-2596c57b]{margin:auto 0 0;font-size:1.1rem;font-weight:600}.flow-lists[data-v-2596c57b]{grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;display:grid}.flow-legend[data-v-2596c57b]{color:var(--r-text-muted);flex-wrap:wrap;gap:.25rem 1rem;margin:.75rem 0 0;padding:0;font-size:.8rem;list-style:none;display:flex}.flow-legend li[data-v-2596c57b]{align-items:center;gap:.4rem;display:inline-flex}.flow-legend__wip[data-v-2596c57b]{margin-left:auto}.flow-legend__swatch[data-v-2596c57b]{border-top:2px solid;width:.9rem;height:0}.flow-legend__swatch--in[data-v-2596c57b]{border-color:var(--r-primary)}.flow-legend__swatch--out[data-v-2596c57b]{border-color:var(--r-success)}.flow-legend__swatch--wip[data-v-2596c57b]{border-top-style:dashed;border-color:var(--r-text-muted)}.flow-legend__axis[data-v-2596c57b]{font-size:.75rem}.flow-chart[data-v-2596c57b]{min-height:400px}.board-tile[data-v-6e31c278]{border:1px solid var(--r-border);background:var(--r-bg);cursor:pointer;border-radius:12px;flex-direction:column;gap:.75rem;padding:1rem 1rem 1.1rem;transition:box-shadow .2s,border-color .2s,transform .2s;display:flex}.board-tile[data-v-6e31c278]:hover{border-color:var(--r-primary);transform:translateY(-2px);box-shadow:0 6px 18px #0000001f}.board-tile[data-v-6e31c278]:focus-visible{outline:2px solid var(--r-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){.board-tile[data-v-6e31c278]{transition:box-shadow .2s,border-color .2s}.board-tile[data-v-6e31c278]:hover{transform:none}}.board-tile--archived[data-v-6e31c278]{opacity:.65}.board-tile__head[data-v-6e31c278]{align-items:center;gap:.75rem;min-width:0;display:flex}.board-tile__mark[data-v-6e31c278]{color:#fff;border-radius:10px;flex:none;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.05rem;font-weight:700;display:flex}.board-tile__heading[data-v-6e31c278]{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.board-tile__name[data-v-6e31c278]{color:var(--r-text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;font-weight:600;line-height:1.3;overflow:hidden}.board-tile__cards[data-v-6e31c278]{color:var(--r-primary);white-space:nowrap;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;display:inline-flex}.board-tile__stats[data-v-6e31c278]{flex-wrap:wrap;align-items:center;gap:.2rem .6rem;display:flex}.board-tile__week[data-v-6e31c278]{color:var(--r-text-muted);white-space:nowrap;align-items:center;gap:.4rem;font-size:.75rem;display:inline-flex}.board-tile__week-in[data-v-6e31c278],.board-tile__week-out[data-v-6e31c278]{align-items:center;gap:.2rem;font-weight:600;display:inline-flex}.board-tile__week .ti[data-v-6e31c278]{font-size:.65rem}.board-tile__week-label[data-v-6e31c278]{opacity:.8}.board-tile__cards .ti[data-v-6e31c278]{font-size:.75rem}.board-tile__menu[data-v-6e31c278]{flex:none;align-self:flex-start;margin:-.35rem -.4rem 0 0}.board-tile__desc[data-v-6e31c278]{color:var(--r-text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.875rem;line-height:1.45;display:-webkit-box;overflow:hidden}.board-tile__projects[data-v-6e31c278]{flex-wrap:wrap;gap:.35rem;display:flex}.board-tile__bar[data-v-6e31c278]{border-radius:999px;gap:2px;height:6px;margin-top:auto;display:flex;overflow:hidden}.board-tile__segment[data-v-6e31c278]{background:color-mix(in srgb, var(--r-primary) var(--strength), var(--r-bg-hover));min-width:4px}.board-tile__segment--done[data-v-6e31c278]{background:var(--r-green-500,#22c55e)}.board-tile__foot[data-v-6e31c278]{justify-content:space-between;align-items:center;gap:.5rem;min-height:1.6rem;display:flex}.board-tile__bar+.board-tile__foot[data-v-6e31c278]{margin-top:-.25rem}.board-tile__people[data-v-6e31c278]{padding-left:.3rem;display:flex}.board-tile__person[data-v-6e31c278]{border:2px solid var(--r-bg);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;margin-left:-.3rem;font-size:.62rem;font-weight:700;display:inline-flex;overflow:hidden}.board-tile__person img[data-v-6e31c278]{object-fit:cover;width:100%;height:100%}.board-tile__person--more[data-v-6e31c278]{background:var(--r-bg-hover);color:var(--r-text-muted)}.board-tile__when[data-v-6e31c278]{color:var(--r-text-muted);white-space:nowrap;align-items:center;gap:.3rem;margin-left:auto;font-size:.75rem;display:inline-flex}.board-tile__when .ti[data-v-6e31c278]{font-size:.7rem}.board-tile__project[data-v-6e31c278]{background:var(--r-bg-hover);color:var(--r-text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.1rem .5rem;font-size:.75rem;display:inline-flex}.kanban-list-page[data-v-33265faa]{max-width:1200px;padding:1.5rem}.page-header[data-v-33265faa]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.page-header--empty[data-v-33265faa]{display:none}.page-header h1[data-v-33265faa]{letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:650}.page-header__right[data-v-33265faa]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.625rem;margin-left:auto;display:flex}.project-filter__value[data-v-33265faa]{align-items:center;gap:.4rem;min-width:0;display:inline-flex}.project-filter__value .ti[data-v-33265faa]{color:var(--r-text-muted);flex-shrink:0}.project-filter[data-v-33265faa]{min-width:12rem}.search-input[data-v-33265faa]{width:15rem}.tabs-bar[data-v-33265faa]{position:relative}.tabs-bar__quota[data-v-33265faa]{position:absolute;top:50%;right:0;transform:translateY(-50%)}.quota[data-v-33265faa]{color:var(--r-text-muted);white-space:nowrap;font-size:.8125rem}.quota--full[data-v-33265faa]{color:var(--r-orange-500,#f97316);font-weight:600}.board-section+.board-section[data-v-33265faa]{margin-top:2rem}.board-section__header[data-v-33265faa]{align-items:center;gap:.5rem;margin:.25rem 0 .875rem;display:flex}.board-section__header[data-v-33265faa]:after{content:"";background:var(--r-border);flex:1;height:1px}.board-section__title[data-v-33265faa]{letter-spacing:.06em;text-transform:uppercase;color:var(--r-text-muted);margin:0;font-size:.75rem;font-weight:600}.board-section__count[data-v-33265faa]{background:var(--r-bg-hover);min-width:1.4rem;color:var(--r-text-muted);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:0 .4rem;font-size:.72rem;font-weight:600;line-height:1.4rem}.board-grid[data-v-33265faa]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.dialog-field[data-v-33265faa]{margin-bottom:1rem}.r-dialog__content.template-dialog .r-dialog__body{flex-direction:column;display:flex;overflow-y:auto}.dialog-field .w-full[data-v-33265faa]{width:100%}.field-hint[data-v-33265faa]{color:var(--r-text-muted);margin-top:.25rem;font-size:.75rem;display:block}.dialog-field label[data-v-33265faa]{margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.templates-intro[data-v-33265faa]{color:var(--r-text-muted);margin:0 0 1rem;font-size:.875rem}.template-list[data-v-33265faa]{margin:0;padding:0;list-style:none}.template-row[data-v-33265faa]{border-bottom:1px solid var(--r-border);justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 0;display:flex}.template-row[data-v-33265faa]:last-child{border-bottom:none}.list-menu[data-v-33265faa]{flex-direction:column;min-width:13rem;display:flex}.list-menu__item[data-v-33265faa]{color:var(--r-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.55rem;padding:.5rem .65rem;font-size:.85rem;display:flex}.list-menu__item[data-v-33265faa]:hover{background:var(--r-bg-hover)}.list-menu__item--danger[data-v-33265faa]{color:var(--r-red-500,#ef4444)}.section-empty[data-v-33265faa]{border:1px dashed var(--r-border);color:var(--r-text-muted);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.25rem;font-size:.875rem;display:flex}.template-row__name[data-v-33265faa]{min-width:0;font-weight:500}.template-row__name .hint[data-v-33265faa]{text-overflow:ellipsis;margin-top:.2rem;font-weight:400;overflow:hidden}.hint[data-v-33265faa]{color:var(--r-text-muted);margin-top:.375rem;font-size:.75rem;display:block}.empty-state[data-v-33265faa]{text-align:center;color:var(--r-text-muted);padding:3rem 1rem}.bh-hint[data-v-2ca23db2]{color:var(--r-text-muted);margin:0 0 .75rem;font-size:.8rem}.bh-error[data-v-2ca23db2]{color:var(--r-red-500);margin:0 0 .75rem}.bh-more[data-v-2ca23db2]{justify-content:center;margin-top:.75rem;display:flex}