From fd99dd4f5c5bd2eb8b92d5dfdfc37345145d09a3 Mon Sep 17 00:00:00 2001 From: mirivlad Date: Wed, 3 Jun 2026 12:27:50 +0800 Subject: [PATCH] feat: worklog source field, suggestion logic fix, modal form, activity navigation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add source column to worklog_entries (migration 014): manual/suggestion/unknown - GetSuggestions now excludes only events linked in worklog_entry_events, not entire nodes — repeated activity same day now produces suggestions - Manual entry form replaced with '+' button + modal dialog - Source display shows correct origin (manual/suggestion/unknown/no-events) - Include-children checkbox hidden when no node selected - Activity events navigate to specific notes/files instead of just case - Expandable row reactivity fixed (journalRows/worklog reassignment) --- AGENTS.md | 21 + cmd/verstak-gui/app.go | 1 + cmd/verstak-gui/bindings_suggest.go | 26 +- cmd/verstak-gui/bindings_worklog.go | 1 + .../frontend-dist/assets/main-BM8AFQYL.js | 3 + .../frontend-dist/assets/main-BafVhx43.css | 1 + .../frontend-dist/assets/main-CjeuIBBr.js | 3 + .../frontend-dist/assets/main-CnUVlOMt.css | 1 + .../frontend-dist/assets/main-Cz8WR5cV.css | 1 + .../frontend-dist/assets/main-cq32hqy7.js | 3 + cmd/verstak-gui/frontend-dist/index.html | 4 +- frontend/src/App.svelte | 425 ++++++++++++++---- frontend/src/lib/i18n/locales/en.js | 9 +- frontend/src/lib/i18n/locales/ru.js | 13 +- internal/core/storage/migrations_014.sql.go | 6 + internal/core/storage/storage.go | 1 + internal/core/worklog/report.go | 46 +- internal/core/worklog/worklog.go | 40 +- 18 files changed, 445 insertions(+), 160 deletions(-) create mode 100644 cmd/verstak-gui/frontend-dist/assets/main-BM8AFQYL.js create mode 100644 cmd/verstak-gui/frontend-dist/assets/main-BafVhx43.css create mode 100644 cmd/verstak-gui/frontend-dist/assets/main-CjeuIBBr.js create mode 100644 cmd/verstak-gui/frontend-dist/assets/main-CnUVlOMt.css create mode 100644 cmd/verstak-gui/frontend-dist/assets/main-Cz8WR5cV.css create mode 100644 cmd/verstak-gui/frontend-dist/assets/main-cq32hqy7.js create mode 100644 internal/core/storage/migrations_014.sql.go diff --git a/AGENTS.md b/AGENTS.md index b8a5f83..58a2ad1 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -8,6 +8,27 @@ 5. **Context menu not closing on action** — `handleShowInFolder` calls `closeMenu()`. 6. **Wrong folder when opening file's parent folder** — `OpenFolder` checks `n.FsPath == ""` for TypeFile and uses first file record path. 7. **Tab highlight not updating visually** — was using `class={tabClass(tab.id)}` which didn't trigger reactive class updates in Svelte. Switched to `class="tab" class:active={activeTab === tab.id}`. +8. **Journal table expand/collapse** — added explicit ▸/▾ toggle column so it's clear rows are expandable. +9. **Per-node worklog entries** — made entries expandable with ▸/▾, showing details + billable/approximate tags. +10. **Manual worklog entry form** — converted inline form to modal dialog ("+ Добавить запись") with all fields: date, summary, minutes, details, billable, approximate. +11. **"С подзадачами" → "Учитывать вложенные дела"** — renamed, now hidden when no node selected. +12. **Filter/export layout** — split into separate "Фильтры" and "Экспорт отчёта" sections with headings. +13. **Suggestion events** — added "Показать в проводнике" button for file-type events in suggestion detail. +14. **Removed duplicate i18n keys** in `ru.js` (worklog.suggestions, worklog.apply). +15. **Removed unused CSS** (`.journal-filters`, `.wl-meta`, `.worklog-form`). +16. **Added `openNodeFolder(nodeOrId)`** — accepts both string ID and node object. +17. **Added `resetJournalFilters()`** — resets all filters and reloads. +18. **Source field** — added `worklog_entries.source` column (migration 014). Values: manual, suggestion. Old entries default to 'unknown'. +19. **Suggestions now use worklog_entry_events** instead of `HasTodayEntries` — only events already linked to worklog entries are excluded. Repeated activity on the same node today now produces new suggestions. +20. **Activity target navigation** — clicking activity events for notes opens the note tab and loads the specific note. File events open the files tab. +21. **Source display** — detail sections now show accurate source: "Ручная запись", "Из предложения", "Из предложения, но связанные события отсутствуют", or "Источник неизвестен". + +## Key patterns +- Always use explicit toggle icons (▸/▾) on expandable rows. +- `CreateWorklogFull` supports all fields: nodeID, summary, details, date, minutes, approximate, billable. +- `openNodeFolder(id)` accepts a string ID or a node object. +- `GetSuggestions` filters out only events already in `worklog_entry_events`, not entire nodes. +- New worklog entries get `source=manual` via `Add`/`AddWithDate`; suggestion entries get `source=suggestion` via `AcceptSuggestionWith`. # Build instructions diff --git a/cmd/verstak-gui/app.go b/cmd/verstak-gui/app.go index 1b612b7..0fdd32d 100644 --- a/cmd/verstak-gui/app.go +++ b/cmd/verstak-gui/app.go @@ -176,6 +176,7 @@ type WorklogDTO struct { Details string `json:"details,omitempty"` Approximate bool `json:"approximate"` Billable bool `json:"billable"` + Source string `json:"source"` CreatedAt string `json:"createdAt"` } diff --git a/cmd/verstak-gui/bindings_suggest.go b/cmd/verstak-gui/bindings_suggest.go index 6b30872..9c1de18 100644 --- a/cmd/verstak-gui/bindings_suggest.go +++ b/cmd/verstak-gui/bindings_suggest.go @@ -7,16 +7,31 @@ import ( "time" "verstak/internal/core/activity" + "verstak/internal/core/worklog" syncsvc "verstak/internal/core/sync" ) // GetSuggestions analyzes today's activity and returns conservative suggestions. +// Only events not already linked in worklog_entry_events are considered. func (a *App) GetSuggestions() ([]activity.Suggestion, error) { events, err := a.activity.ListTodayEvents() if err != nil || len(events) == 0 { return nil, err } + // Determine which event IDs are already accounted for in any worklog entry. + accounted := make(map[string]bool) + rows, err := a.db.Query(`SELECT DISTINCT event_id FROM worklog_entry_events`) + if err == nil { + defer rows.Close() + for rows.Next() { + var eid string + if rows.Scan(&eid) == nil { + accounted[eid] = true + } + } + } + type acc struct { title string kind string @@ -24,6 +39,9 @@ func (a *App) GetSuggestions() ([]activity.Suggestion, error) { } grouped := make(map[string]*acc) for _, e := range events { + if accounted[e.ID] { + continue + } grp, ok := grouped[e.NodeID] if !ok { n, err := a.nodes.GetActive(e.NodeID) @@ -41,11 +59,7 @@ func (a *App) GetSuggestions() ([]activity.Suggestion, error) { var suggestions []activity.Suggestion for nodeID, grp := range grouped { - if grp.title == "" { - continue - } - hasEntries, err := a.worklog.HasTodayEntries(nodeID) - if err != nil || hasEntries { + if grp.title == "" || len(grp.events) == 0 { continue } @@ -108,7 +122,7 @@ func (a *App) AcceptSuggestionWith(s activity.Suggestion, minutes int, date stri if d == "" { d = time.Now().Format("2006-01-02") } - entry, err := a.worklog.AddWithDate(s.NodeID, s.Summary, "", d, minutes, true, false) + entry, err := a.worklog.AddWithSource(s.NodeID, s.Summary, "", d, minutes, true, false, worklog.SourceSuggestion) if err != nil { return nil, err } diff --git a/cmd/verstak-gui/bindings_worklog.go b/cmd/verstak-gui/bindings_worklog.go index d1806ea..f6c0850 100644 --- a/cmd/verstak-gui/bindings_worklog.go +++ b/cmd/verstak-gui/bindings_worklog.go @@ -207,6 +207,7 @@ func entryToDTO(e *worklog.Entry) *WorklogDTO { Details: e.Details, Approximate: e.Approximate, Billable: e.Billable, + Source: e.Source, CreatedAt: e.CreatedAt.Format("2006-01-02T15:04:05Z"), } } diff --git a/cmd/verstak-gui/frontend-dist/assets/main-BM8AFQYL.js b/cmd/verstak-gui/frontend-dist/assets/main-BM8AFQYL.js new file mode 100644 index 0000000..bb6b8e2 --- /dev/null +++ b/cmd/verstak-gui/frontend-dist/assets/main-BM8AFQYL.js @@ -0,0 +1,3 @@ +var Ra=Object.defineProperty;var za=(l,e,t)=>e in l?Ra(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var vl=(l,e,t)=>za(l,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const o of i)if(o.type==="childList")for(const c of o.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&n(c)}).observe(document,{childList:!0,subtree:!0});function t(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(i){if(i.ep)return;i.ep=!0;const o=t(i);fetch(i.href,o)}})();function ce(){}function Di(l){return l()}function on(){return Object.create(null)}function ve(l){l.forEach(Di)}function Jt(l){return typeof l=="function"}function vt(l,e){return l!=l?e==e:l!==e||l&&typeof l=="object"||typeof l=="function"}let Zt;function xt(l,e){return l===e?!0:(Zt||(Zt=document.createElement("a")),Zt.href=e,l===Zt.href)}function Ba(l){return Object.keys(l).length===0}const Ha=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function a(l,e){l.appendChild(e)}function C(l,e,t){l.insertBefore(e,t||null)}function w(l){l.parentNode&&l.parentNode.removeChild(l)}function ze(l,e){for(let t=0;tl.removeEventListener(e,t,n)}function Cl(l){return function(e){return e.preventDefault(),l.call(this,e)}}function qe(l){return function(e){return e.stopPropagation(),l.call(this,e)}}function St(l){return function(e){e.target===this&&l.call(this,e)}}function s(l,e,t){t==null?l.removeAttribute(e):l.getAttribute(e)!==t&&l.setAttribute(e,t)}function $t(l){return l===""?null:+l}function Va(l){return Array.from(l.childNodes)}function U(l,e){e=""+e,l.data!==e&&(l.data=e)}function be(l,e){l.value=e??""}function Ge(l,e,t,n){t==null?l.style.removeProperty(e):l.style.setProperty(e,t,"")}function At(l,e,t){for(let n=0;n{const i=l.$$.callbacks[e];if(i){const o=Wa(e,t,{cancelable:n});return i.slice().forEach(c=>{c.call(l,o)}),!o.defaultPrevented}return!0}}function Fi(l,e){const t=l.$$.callbacks[e.type];t&&t.slice().forEach(n=>n.call(this,e))}const Ft=[],cn=[];let Lt=[];const an=[],Ua=Promise.resolve();let kl=!1;function Ka(){kl||(kl=!0,Ua.then(Ai))}function Pt(l){Lt.push(l)}const gl=new Set;let It=0;function Ai(){if(It!==0)return;const l=qt;do{try{for(;Itl.indexOf(n)===-1?e.push(n):t.push(n)),t.forEach(n=>n()),Lt=e}const Qt=new Set;let Tt;function xe(){Tt={r:0,c:[],p:Tt}}function $e(){Tt.r||ve(Tt.c),Tt=Tt.p}function ue(l,e){l&&l.i&&(Qt.delete(l),l.i(e))}function _e(l,e,t,n){if(l&&l.o){if(Qt.has(l))return;Qt.add(l),Tt.c.push(()=>{Qt.delete(l),n&&(t&&l.d(1),n())}),l.o(e)}else n&&n()}function oe(l){return(l==null?void 0:l.length)!==void 0?l:Array.from(l)}function Li(l,e){_e(l,1,1,()=>{e.delete(l.key)})}function Pi(l,e,t,n,i,o,c,u,r,d,g,_){let v=l.length,k=o.length,b=v;const y={};for(;b--;)y[l[b].key]=b;const j=[],T=new Map,M=new Map,E=[];for(b=k;b--;){const S=_(i,o,b),O=t(S);let R=c.get(O);R?E.push(()=>R.p(S,e)):(R=d(O,S),R.c()),T.set(O,j[b]=R),O in y&&M.set(O,Math.abs(b-y[O]))}const N=new Set,D=new Set;function A(S){ue(S,1),S.m(u,g),c.set(S.key,S),g=S.first,k--}for(;v&&k;){const S=j[k-1],O=l[v-1],R=S.key,B=O.key;S===O?(g=S.first,v--,k--):T.has(B)?!c.has(R)||N.has(R)?A(S):D.has(B)?v--:M.get(R)>M.get(B)?(D.add(R),A(S)):(N.add(B),v--):(r(O,c),v--)}for(;v--;){const S=l[v];T.has(S.key)||r(S,c)}for(;k;)A(j[k-1]);return ve(E),j}function ct(l){l&&l.c()}function nt(l,e,t){const{fragment:n,after_update:i}=l.$$;n&&n.m(e,t),Pt(()=>{const o=l.$$.on_mount.map(Di).filter(Jt);l.$$.on_destroy?l.$$.on_destroy.push(...o):ve(o),l.$$.on_mount=[]}),i.forEach(Pt)}function st(l,e){const t=l.$$;t.fragment!==null&&(qa(t.after_update),ve(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function Ja(l,e){l.$$.dirty[0]===-1&&(Ft.push(l),Ka(),l.$$.dirty.fill(0)),l.$$.dirty[e/31|0]|=1<{const b=k.length?k[0]:v;return d.ctx&&i(d.ctx[_],d.ctx[_]=b)&&(!d.skip_bound&&d.bound[_]&&d.bound[_](b),g&&Ja(l,_)),v}):[],d.update(),g=!0,ve(d.before_update),d.fragment=n?n(d.ctx):!1,e.target){if(e.hydrate){const _=Va(e.target);d.fragment&&d.fragment.l(_),_.forEach(w)}else d.fragment&&d.fragment.c();e.intro&&ue(l.$$.fragment),nt(l,e.target,e.anchor),Ai()}Gt(r)}class gt{constructor(){vl(this,"$$");vl(this,"$$set")}$destroy(){st(this,1),this.$destroy=ce}$on(e,t){if(!Jt(t))return ce;const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const i=n.indexOf(t);i!==-1&&n.splice(i,1)}}$set(e){this.$$set&&!Ba(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Ya="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Ya);function Xa(l){let e,t;return{c(){e=Y("path"),t=Y("polyline"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8")},m(n,i){C(n,e,i),C(n,t,i)},d(n){n&&(w(e),w(t))}}}function Za(l){let e,t,n,i,o;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),i=Y("line"),o=Y("polyline"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","16"),s(n,"y1","13"),s(n,"x2","8"),s(n,"y2","13"),s(i,"x1","16"),s(i,"y1","17"),s(i,"x2","8"),s(i,"y2","17"),s(o,"points","10 9 9 9 8 9")},m(c,u){C(c,e,u),C(c,t,u),C(c,n,u),C(c,i,u),C(c,o,u)},d(c){c&&(w(e),w(t),w(n),w(i),w(o))}}}function Qa(l){let e,t;return{c(){e=Y("polyline"),t=Y("polyline"),s(e,"points","16 18 22 12 16 6"),s(t,"points","8 6 2 12 8 18")},m(n,i){C(n,e,i),C(n,t,i)},d(n){n&&(w(e),w(t))}}}function xa(l){let e,t,n,i;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),i=Y("rect"),s(e,"d","M21 8v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8"),s(t,"points","7 3 12 8 17 3"),s(n,"x1","3"),s(n,"y1","8"),s(n,"x2","21"),s(n,"y2","8"),s(i,"x","10"),s(i,"y","12"),s(i,"width","4"),s(i,"height","4"),s(i,"rx","1")},m(o,c){C(o,e,c),C(o,t,c),C(o,n,c),C(o,i,c)},d(o){o&&(w(e),w(t),w(n),w(i))}}}function $a(l){let e,t,n,i,o;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),i=Y("line"),o=Y("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","9"),s(n,"y1","12"),s(n,"x2","15"),s(n,"y2","12"),s(i,"x1","9"),s(i,"y1","15"),s(i,"x2","13"),s(i,"y2","15"),s(o,"x1","12"),s(o,"y1","15"),s(o,"x2","12"),s(o,"y2","18")},m(c,u){C(c,e,u),C(c,t,u),C(c,n,u),C(c,i,u),C(c,o,u)},d(c){c&&(w(e),w(t),w(n),w(i),w(o))}}}function er(l){let e,t,n,i,o,c;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),i=Y("line"),o=Y("line"),c=Y("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","8"),s(n,"y1","12"),s(n,"x2","16"),s(n,"y2","12"),s(i,"x1","8"),s(i,"y1","16"),s(i,"x2","16"),s(i,"y2","16"),s(o,"x1","8"),s(o,"y1","14"),s(o,"x2","12"),s(o,"y2","14"),s(c,"x1","12"),s(c,"y1","12"),s(c,"x2","12"),s(c,"y2","18")},m(u,r){C(u,e,r),C(u,t,r),C(u,n,r),C(u,i,r),C(u,o,r),C(u,c,r)},d(u){u&&(w(e),w(t),w(n),w(i),w(o),w(c))}}}function tr(l){let e,t,n,i;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),i=Y("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","16"),s(n,"y1","13"),s(n,"x2","8"),s(n,"y2","13"),s(i,"x1","16"),s(i,"y1","17"),s(i,"x2","8"),s(i,"y2","17")},m(o,c){C(o,e,c),C(o,t,c),C(o,n,c),C(o,i,c)},d(o){o&&(w(e),w(t),w(n),w(i))}}}function lr(l){let e,t,n,i,o;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),i=Y("line"),o=Y("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","8"),s(n,"y1","12"),s(n,"x2","16"),s(n,"y2","12"),s(i,"x1","8"),s(i,"y1","16"),s(i,"x2","16"),s(i,"y2","16"),s(o,"x1","8"),s(o,"y1","14"),s(o,"x2","12"),s(o,"y2","14")},m(c,u){C(c,e,u),C(c,t,u),C(c,n,u),C(c,i,u),C(c,o,u)},d(c){c&&(w(e),w(t),w(n),w(i),w(o))}}}function nr(l){let e,t,n;return{c(){e=Y("path"),t=Y("circle"),n=Y("circle"),s(e,"d","M9 18V5l12-2v13"),s(t,"cx","6"),s(t,"cy","18"),s(t,"r","3"),s(n,"cx","18"),s(n,"cy","16"),s(n,"r","3")},m(i,o){C(i,e,o),C(i,t,o),C(i,n,o)},d(i){i&&(w(e),w(t),w(n))}}}function sr(l){let e,t;return{c(){e=Y("rect"),t=Y("polyline"),s(e,"x","2"),s(e,"y","4"),s(e,"width","20"),s(e,"height","16"),s(e,"rx","2"),s(t,"points","10 9 16 12 10 15 10 9")},m(n,i){C(n,e,i),C(n,t,i)},d(n){n&&(w(e),w(t))}}}function ir(l){let e,t,n;return{c(){e=Y("rect"),t=Y("circle"),n=Y("polyline"),s(e,"x","3"),s(e,"y","3"),s(e,"width","18"),s(e,"height","18"),s(e,"rx","2"),s(e,"ry","2"),s(t,"cx","8.5"),s(t,"cy","8.5"),s(t,"r","1.5"),s(n,"points","21 15 16 10 5 21")},m(i,o){C(i,e,o),C(i,t,o),C(i,n,o)},d(i){i&&(w(e),w(t),w(n))}}}function or(l){let e;return{c(){e=Y("path"),s(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function cr(l){let e;function t(o,c){return o[0]==="folder"?or:o[0]==="image"?ir:o[0]==="video"?sr:o[0]==="audio"?nr:o[0]==="pdf"?lr:o[0]==="document"?tr:o[0]==="spreadsheet"?er:o[0]==="presentation"?$a:o[0]==="archive"?xa:o[0]==="code"?Qa:o[0]==="text"?Za:Xa}let n=t(l),i=n(l);return{c(){e=Y("svg"),i.c(),s(e,"width",l[1]),s(e,"height",l[1]),s(e,"viewBox","0 0 24 24"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"stroke-width","1.5"),s(e,"stroke-linecap","round"),s(e,"stroke-linejoin","round"),s(e,"xmlns","http://www.w3.org/2000/svg")},m(o,c){C(o,e,c),i.m(e,null)},p(o,[c]){n!==(n=t(o))&&(i.d(1),i=n(o),i&&(i.c(),i.m(e,null))),c&2&&s(e,"width",o[1]),c&2&&s(e,"height",o[1])},i:ce,o:ce,d(o){o&&w(e),i.d()}}}function ar(l,e,t){let{kind:n="generic"}=e,{size:i=20}=e;return l.$$set=o=>{"kind"in o&&t(0,n=o.kind),"size"in o&&t(1,i=o.size)},[n,i]}class Oi extends gt{constructor(e){super(),ht(this,e,ar,cr,vt,{kind:0,size:1})}}const rr={"nav.today":"Сегодня","nav.inbox":"Неразобранное","nav.activity":"Активность","nav.journal":"Журнал","nav.clients":"Клиенты","nav.projects":"Проекты","nav.recipes":"Рецепты","nav.documents":"Документы","nav.archive":"Архив","nav.sections":"Разделы","nav.cases":"Дела","nav.noCases":"Нет дел","nav.sync":"Синхронизация","nav.syncSettings":"Настройки синхронизации","nav.syncNow":"Синхронизировать","nav.selectPrompt":"Выберите раздел или дело","nav.brand":"Верстак","nav.system":"Системное","nav.workspace":"Рабочее пространство","nav.noNodes":"Нет узлов","nav.openFolder":"Открыть папку","nav.createInside":"Создать внутри","nav.createNode":"Создать элемент","nav.moveToRoot":"Переместить в корень","tab.overview":"Обзор","tab.notes":"Заметки","tab.files":"Файлы","tab.actions":"Действия","tab.worklog":"Журнал","tab.activity":"Активность","common.save":"Сохранить","common.cancel":"Отмена","common.delete":"Удалить","common.rename":"Переименовать","common.close":"Закрыть","common.create":"Создать","common.confirm":"Подтверждение","common.back":"← Назад","common.loading":"Загрузка...","common.error":"Ошибка:","common.yes":"Да","common.ok":"OK","common.copy":"Копировать","common.cut":"Вырезать","common.paste":"Вставить","common.duplicate":"Дублировать","common.run":"Запустить","common.test":"Test","common.all":"Все","common.open":"Открыть","common.no":"Нет","common.date":"Дата","common.search":"Найти","common.testAgain":"Проверить","common.connect":"Подключиться","common.disconnect":"Отключиться","common.settings":"Настройки","common.name":"Название","common.type":"Тип","common.section":"Раздел","common.created":"Создано","common.empty":"Нет","common.newName":"Новое имя","welcome.title":"Верстак","welcome.selectSection":"Выберите раздел в боковой панели.","welcome.createCase":"Или создайте новое дело кнопкой «+».","welcome.addCase":"Добавить дело","event.noteCreated":"Заметка создана","event.noteUpdated":"Заметка изменена","event.fileAdded":"Файл добавлен","event.fileDeleted":"Файл удалён","event.fileRenamed":"Файл переименован","event.fileCopied":"Файл скопирован","event.fileMoved":"Файл перемещён","event.folderAdded":"Папка добавлена","event.folderDeleted":"Папка удалена","event.folderRenamed":"Папка переименована","event.caseCreated":"Дело создано","event.caseUpdated":"Дело изменено","kind.project":"Проект","kind.client":"Клиент","kind.document":"Документ","kind.recipe":"Рецепт","kind.folder":"Папка","kind.note":"Заметка","kind.file":"Файл","kind.archive":"Архив","kind.case":"Дело","action.openUrl":"Открыть URL","action.openFile":"Открыть файл","action.openFolder":"Открыть папку","action.runCommand":"Запустить команду","action.runScript":"Запустить скрипт","action.openTerminal":"Открыть терминал","action.launchApp":"Запустить приложение","action.addAction":"+ Добавить действие","action.newAction":"Новое действие","action.noActions":"Действий пока нет","action.run":"Запустить","action.dataUrl":"URL","action.dataPath":"Путь","action.dataCommand":"Команда","action.urlPlaceholder":"https://example.com","action.pathPlaceholder":"/path/to/file","action.commandPlaceholder":"команда","action.namePlaceholder":"Например: Открыть сайт","note.add":"+ Добавить заметку","note.new":"Новая заметка","note.title":"Название заметки","note.noNotes":"Нет заметок","note.createFirst":"Создайте первую заметку для этого дела.","note.placeholder":"Начните писать...","note.unsavedTitle":"Несохранённые изменения","note.unsavedMessage":"Закрыть редактор? Все несохранённые изменения будут потеряны.","note.unsavedClose":"Закрыть","file.addFile":"+ Добавить файл","file.addFolder":"+ Добавить папку","file.newFile":"+ Новый файл","file.addFileSimple":"Добавить файл","file.addFolderSimple":"Добавить папку","file.noFiles":"В этой папке пока нет файлов","file.noFilesCase":"В этом проекте пока нет файлов","file.hint":"Добавьте файл или папку, чтобы сохранить материалы проекта.","file.root":"Файлы","file.preview":"Предпросмотр","file.openExternal":"Открыть во внешней программе","file.openFolder":"Открыть папку","file.showInExplorer":"Показать в проводнике","file.more":"Ещё","file.delete":"Удалить","file.ariaFolder":"Папка","file.ariaFile":"Файл","file.scanning":"Сканирование...","file.pickSingle":"Выберите файл","file.pickMultiple":"Выберите файлы","file.pickDirectory":"Выберите папку","file.importTitle":"Добавить в","file.importFiles":"Файлов:","file.importFolders":"Папок:","file.importSize":"Размер:","file.importCopy":"Скопировать","file.importLink":"Привязать","file.selectCaseFirst":"Сначала выберите дело для добавления файлов","worklog.title":"Журнал","worklog.whatDone":"Что сделано","worklog.minutes":"Мин","worklog.min":"мин","worklog.log":"Записать","worklog.empty":"Записей работы пока нет","worklog.details":"Детали","worklog.source":"Источник","worklog.sourceSuggestion":"Предложение activity","worklog.sourceManual":"Ручная запись","worklog.suggestions":"Предложения на сегодня","worklog.apply":"Применить","sync.title":"Синхронизация","sync.settings":"Настройки синхронизации","sync.status":"Статус","sync.server":"Сервер","sync.device":"Устройство","sync.deviceId":"ID устройства","sync.unpushed":"Неотправлено","sync.lastSync":"Последняя синх.","sync.revoked":"Отозвано","sync.connected":"Подключено","sync.notConnected":"Не подключено","sync.disabled":"Отключена","sync.serverUrl":"URL сервера","sync.serverUrlPlaceholder":"https://example.com:47732","sync.username":"Логин","sync.usernamePlaceholder":"username","sync.password":"Пароль","sync.passwordPlaceholder":"password","sync.autoSync":"Автосинхронизация (мин, 0 = отключено)","sync.saveInterval":"Сохранить интервал","sync.syncNow":"Синхронизировать","sync.disconnect":"Отключиться","sync.connect":"Подключиться","sync.test":"Проверить","sync.settingsSaved":"интервал сохранён","today.title":"Сегодня","today.changedCases":"Изменён сегодня","today.timeline":"Лента за сегодня","today.empty":"Сегодня пока тихо","today.emptyHint":"Здесь появятся дела, заметки, файлы и действия, с которыми вы работали сегодня.","today.plural.case_one":"дело","today.plural.case_few":"дела","today.plural.case_many":"дел","today.plural.note_one":"заметка","today.plural.note_few":"заметки","today.plural.note_many":"заметок","today.plural.file_one":"файл","today.plural.file_few":"файла","today.plural.file_many":"файлов","today.plural.event_one":"событие","today.plural.event_few":"события","today.plural.event_many":"событий","journal.title":"Журнал работы","journal.empty":"Нет записей за выбранный период","journal.dateFrom":"От","journal.dateTo":"До","journal.filter":"Фильтр","journal.total":"Всего","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"К оплате","journal.billableYes":"К оплате","journal.billableNo":"Не к оплате","journal.billableHint":"К оплате — можно включать в счёт клиенту","journal.approx":"Тип времени","journal.approxExact":"Точное","journal.approxEstimated":"Оценочное","journal.approxHint":"Оценочное — время предложено системой или введено как примерное","journal.includeChildrenDisabledHint":"Работает только при выбранном деле/клиенте/проекте","journal.node":"Дело","journal.path":"Путь","journal.byDay":"По дням","journal.byNode":"По делам","journal.includeChildren":"Учитывать вложенные дела","journal.nodeSearch":"Поиск дела...","journal.relatedEvents":"Связанные события","journal.filterHeading":"Фильтры","journal.exportHeading":"Экспорт отчёта","journal.reset":"Сбросить","suggest.title":"Предложения на сегодня","suggest.apply":"Записать","suggest.dismiss":"Скрыть","suggest.open":"Открыть","suggest.confidence.low":"Низкая уверенность","suggest.confidence.medium":"Средняя уверенность","suggest.confidence.high":"Высокая уверенность","suggest.minutes":"мин","suggest.edit":"Изменить","suggest.noSuggestions":"Нет предложений для журнала","suggest.detectedEvents":"Что обнаружено","activity.title":"Активность","activity.empty":"Активность пока не зафиксирована","activity.perCaseEmpty":"Активность пока не зафиксирована","overview.type":"Тип","overview.section":"Раздел","overview.created":"Создано","overview.newNote":"Новая заметка","overview.addFile":"Добавить файл","overview.addAction":"Добавить действие","overview.logTime":"Записать время","overview.recentNotes":"Последние заметки","overview.recentEntries":"Последние записи","rename.title":"Переименовать","rename.emptyError":"Имя не может быть пустым","rename.invalidError":"Недопустимое имя","delete.confirmTitle":"Удаление","delete.confirmMessage":"Удалить","delete.folder":"папку","delete.file":"файл","template.optionNone":"Пустое дело","template.optional":"Шаблон (опционально)","template.none.desc":"Без шаблона, простой узел-контейнер","template.folder":"Папка","template.folder.desc":"Папка для группировки элементов внутри рабочего пространства","template.project":"Проект","template.project.desc":"Отдельный проект или задача с файлами, заметками и журналом","template.client":"Клиент","template.client.desc":"Организация или человек, для которых ведутся работы","template.document":"Документ","template.document.desc":"Документ с описанием, заметками и файлами","template.recipe":"Рецепт","template.recipe.desc":"Повторяемая процедура или инструкция","template.note":"Заметка","template.file":"Файл","template.select":"Выберите тип","mime.jpeg":"Изображение JPEG","mime.png":"Изображение PNG","mime.gif":"Изображение GIF","mime.webp":"Изображение WebP","mime.svg":"Изображение SVG","mime.bmp":"Изображение BMP","mime.tiff":"Изображение TIFF","mime.avif":"Изображение AVIF","mime.pdf":"PDF документ","mime.word":"Документ Word","mime.excel":"Таблица Excel","mime.ppt":"Презентация PowerPoint","mime.zip":"ZIP архив","mime.gzip":"GZIP архив","mime.tar":"TAR архив","mime.sevenz":"7z архив","mime.rar":"RAR архив","mime.text":"Текстовый файл","mime.html":"HTML файл","mime.css":"CSS файл","mime.js":"JavaScript файл","mime.json":"JSON файл","mime.xml":"XML файл","mime.yaml":"YAML файл","mime.binary":"Бинарный файл","mime.executable":"Исполняемый файл","mime.folder":"Папка","mime.unknown":"Неизвестно","mime.file":"Файл","error.nameEmpty":"Имя не может быть пустым","error.nameInvalid":"Недопустимое имя","error.selectCaseFirst":"Сначала выберите дело","common.open":"Открыть","delete.files":"файлов ({count})","file.namePrompt":"Введите имя файла:","file.pdfUnavailable":"Предпросмотр PDF недоступен.","file.previewUnavailable":"Предпросмотр недоступен для этого типа файлов.","case.new":"Новое дело","case.namePlaceholder":"Название дела","error.generic":"Произошла ошибка","error.invalidCredentials":"Неверный логин или пароль","error.accountBlocked":"Аккаунт заблокирован","error.emailNotConfirmed":"Email не подтверждён","error.tokenInvalid":"Неверный или просроченный токен","error.tokenExpired":"Срок действия токена истёк"},ur={"nav.today":"Today","nav.inbox":"Inbox","nav.activity":"Activity","nav.clients":"Clients","nav.projects":"Projects","nav.recipes":"Recipes","nav.documents":"Documents","nav.archive":"Archive","nav.sections":"Sections","nav.cases":"Cases","nav.noCases":"No cases","nav.system":"System","nav.workspace":"Workspace","nav.noNodes":"No nodes","nav.openFolder":"Open folder","nav.createInside":"Create inside","nav.createNode":"Create element","nav.moveToRoot":"Move to root","nav.selectPrompt":"Select a section or case","nav.brand":"Verstak","tab.overview":"Overview","tab.notes":"Notes","tab.files":"Files","tab.actions":"Actions","tab.worklog":"Work Log","tab.activity":"Activity","common.save":"Save","common.cancel":"Cancel","common.delete":"Delete","common.rename":"Rename","common.close":"Close","common.create":"Create","common.confirm":"Confirm","common.back":"← Back","common.loading":"Loading...","common.error":"Error:","common.yes":"Yes","common.ok":"OK","common.run":"Run","common.name":"Name","common.settings":"Settings","welcome.title":"Verstak","welcome.selectSection":"Select a section in the sidebar.","welcome.addCase":"Add case","event.noteCreated":"Note created","event.noteUpdated":"Note updated","event.fileAdded":"File added","event.fileDeleted":"File deleted","event.fileRenamed":"File renamed","event.fileCopied":"File copied","event.fileMoved":"File moved","event.caseCreated":"Case created","action.openUrl":"Open URL","action.openFile":"Open file","action.openFolder":"Open folder","action.runCommand":"Run command","action.runScript":"Run script","action.openTerminal":"Open terminal","action.launchApp":"Launch app","note.add":"+ Add note","note.noNotes":"No notes","note.title":"Note title","note.placeholder":"Start writing...","file.addFile":"+ Add file","file.addFolder":"+ Add folder","file.preview":"Preview","file.openExternal":"Open in external program","file.openFolder":"Open folder","file.showInExplorer":"Show in explorer","file.delete":"Delete","file.pickSingle":"Select file","file.pickDirectory":"Select folder","sync.title":"Sync","sync.settings":"Sync settings","sync.status":"Status","sync.server":"Server","sync.device":"Device","sync.connected":"Connected","sync.notConnected":"Not connected","sync.disabled":"Disabled","kind.project":"Project","kind.client":"Client","kind.document":"Document","kind.recipe":"Recipe","kind.folder":"Folder","kind.note":"Note","kind.file":"File","kind.archive":"Archive","kind.case":"Case","template.optionNone":"Empty case","template.optional":"Template (optional)","template.none.desc":"No template, simple container node","template.folder":"Folder","template.folder.desc":"A folder to group items inside a workspace","template.project":"Project","template.project.desc":"A distinct project or task with files, notes and work log","template.client":"Client","template.client.desc":"An organization or person for whom work is performed","template.document":"Document","template.document.desc":"A document with description, notes and files","template.recipe":"Recipe","template.recipe.desc":"A repeatable procedure or instruction","template.note":"Note","template.file":"File","template.select":"Select type","case.new":"New case","case.namePlaceholder":"Case name","error.generic":"An error occurred","error.invalidCredentials":"Invalid username or password","worklog.suggestions":"Suggestions for today","worklog.apply":"Apply","worklog.title":"Work Log","worklog.whatDone":"What was done","worklog.minutes":"Min","worklog.min":"min","worklog.log":"Log","worklog.empty":"No work logged yet","worklog.details":"Details","worklog.source":"Source","worklog.sourceSuggestion":"Activity suggestion","worklog.sourceManual":"Manual entry","common.all":"All","common.no":"No","common.open":"Open","common.date":"Date","common.search":"Search","nav.journal":"Journal","journal.title":"Work Log","journal.empty":"No entries for the selected period","journal.dateFrom":"From","journal.dateTo":"To","journal.filter":"Filter","journal.total":"Total","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"Billable","journal.billableYes":"Billable","journal.billableNo":"Not billable","journal.billableHint":"Billable — can be included in client invoice","journal.approx":"Time type","journal.approxExact":"Exact","journal.approxEstimated":"Estimated","journal.approxHint":"Estimated — time suggested by the system or entered as approximate","journal.includeChildrenDisabledHint":"Only works when a case/client/project is selected","journal.node":"Case","journal.path":"Path","journal.byDay":"By day","journal.byNode":"By case","journal.includeChildren":"Include subtasks","journal.nodeSearch":"Search case...","journal.relatedEvents":"Related events","journal.filterHeading":"Filters","journal.exportHeading":"Export Report","journal.reset":"Reset","suggest.title":"Suggestions","suggest.apply":"Log","suggest.dismiss":"Dismiss","suggest.open":"Open","suggest.confidence.low":"Low confidence","suggest.confidence.medium":"Medium confidence","suggest.confidence.high":"High confidence","suggest.minutes":"min","suggest.edit":"Edit","suggest.noSuggestions":"No suggestions","suggest.detectedEvents":"What was detected"},rn={ru:rr,en:ur};let un="ru";function m(l,e){var i;const t=rn[un];let n=t==null?void 0:t[l];if(n==null&&un!=="ru"&&(n=(i=rn.ru)==null?void 0:i[l]),n==null&&(n=l),e!=null)for(const[o,c]of Object.entries(e))n=n.replace(`{${o}}`,String(c));return n}function el(l){if(l==null||l<0)return"—";if(l===0)return"0 B";const e=["B","KB","MB","GB"],t=Math.min(Math.floor(Math.log(l)/Math.log(1024)),e.length-1),n=l/Math.pow(1024,t);return(t===0?n.toFixed(0):n.toFixed(1))+" "+e[t]}const yl={"image/jpeg":m("mime.jpeg"),"image/png":m("mime.png"),"image/gif":m("mime.gif"),"image/webp":m("mime.webp"),"image/svg+xml":m("mime.svg"),"image/bmp":m("mime.bmp"),"image/tiff":m("mime.tiff"),"image/avif":m("mime.avif"),"application/pdf":m("mime.pdf"),"application/msword":m("mime.word"),"application/vnd.openxmlformats-officedocument.wordprocessingml.document":m("mime.word"),"application/vnd.ms-excel":m("mime.excel"),"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":m("mime.excel"),"application/vnd.ms-powerpoint":m("mime.ppt"),"application/vnd.openxmlformats-officedocument.presentationml.presentation":m("mime.ppt"),"application/zip":m("mime.zip"),"application/gzip":m("mime.gzip"),"application/x-tar":m("mime.tar"),"application/x-7z-compressed":m("mime.sevenz"),"application/x-rar-compressed":m("mime.rar"),"text/plain":m("mime.text"),"text/html":m("mime.html"),"text/css":m("mime.css"),"text/javascript":m("mime.js"),"application/json":m("mime.json"),"application/xml":m("mime.xml"),"application/x-yaml":m("mime.yaml"),"application/octet-stream":m("mime.binary"),"application/x-msdos-program":m("mime.executable"),"inode/directory":m("mime.folder")};function fn(l){return l?yl[l]||l:m("mime.unknown")}function fr(l){if(l.type==="folder")return m("mime.folder");const e=(l.mime||"").toLowerCase();if(yl[e])return yl[e];const n=(l.name||"").toLowerCase().split(".").pop();return n?n.toUpperCase():m("mime.file")}function Ri(l){if(l.type==="folder")return"folder";const e=(l.mime||"").toLowerCase();if(e.startsWith("image/"))return"image";if(e.startsWith("video/"))return"video";if(e.startsWith("audio/"))return"audio";if(e.startsWith("text/"))return"text";if(e.includes("pdf"))return"pdf";if(e.includes("word")||e.includes("document"))return"document";if(e.includes("spreadsheet")||e.includes("excel"))return"spreadsheet";if(e.includes("presentation")||e.includes("powerpoint"))return"presentation";if(e.includes("zip")||e.includes("tar")||e.includes("gzip")||e.includes("rar")||e.includes("7z")||e.includes("compress"))return"archive";if(e.includes("json")||e.includes("xml")||e.includes("yaml")||e.includes("javascript")||e.includes("css")||e.includes("html"))return"code";const n=(l.name||"").toLowerCase().split(".").pop();return["js","ts","jsx","tsx","vue","svelte","py","rs","go","c","cpp","h","hpp","java","kt","swift","rb","php","pl","sh","bash","zsh","fish","yml","yaml","json","xml","toml","ini","cfg","conf","md","markdown","css","scss","less","sass","sql","graphql","proto","gradle","cmake","makefile","dockerfile","env","gitignore"].includes(n)?"code":"generic"}const dr=["image/jpeg","image/png","image/gif","image/webp","image/bmp","image/tiff","image/avif","image/svg+xml"],pr=["text/plain","text/html","text/css","text/javascript","application/json","application/xml","application/x-yaml","text/x-shellscript"],mr=["txt","log","conf","ini","yaml","yml","json","xml","csv","sh","py","js","ts","css","html","md","markdown","cfg"],_r=["jpg","jpeg","png","gif","webp","bmp","tiff","tif","avif","svg"];function zi(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return dr.includes(e)||_r.includes(n)}function Bi(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return pr.includes(e)||mr.includes(n)&&n!=="md"&&n!=="markdown"}function Hi(l){return(l.mime||"").toLowerCase().includes("pdf")}function Vi(l){const e=(l.name||"").toLowerCase();return e.endsWith(".md")||e.endsWith(".markdown")}function vr(l){return zi(l)||Hi(l)}function hr(l){return Bi(l)||Vi(l)}const{window:gr}=Ha;function br(l){let e,t,n,i=el(l[0].size)+"",o;return{c(){e=f("span"),e.textContent="·",t=h(),n=f("span"),o=F(i),s(e,"class","meta-sep svelte-1skuef2")},m(c,u){C(c,e,u),C(c,t,u),C(c,n,u),a(n,o)},p(c,u){u[0]&1&&i!==(i=el(c[0].size)+"")&&U(o,i)},d(c){c&&(w(e),w(t),w(n))}}}function kr(l){let e,t,n,i,o;return{c(){e=f("button"),e.innerHTML='',t=h(),n=f("button"),n.innerHTML='',s(e,"class","action-btn svelte-1skuef2"),s(e,"title",m("file.openFolder")),s(e,"aria-label",m("file.openFolder")),s(n,"class","action-btn svelte-1skuef2"),s(n,"title",m("file.showInExplorer")),s(n,"aria-label",m("file.showInExplorer"))},m(c,u){C(c,e,u),C(c,t,u),C(c,n,u),i||(o=[I(e,"click",qe(l[30])),I(n,"click",qe(l[11]))],i=!0)},p:ce,d(c){c&&(w(e),w(t),w(n)),i=!1,ve(o)}}}function yr(l){let e,t,n,i,o,c,u;return{c(){e=f("button"),e.innerHTML='',t=h(),n=f("button"),n.innerHTML='',i=h(),o=f("button"),o.innerHTML='',s(e,"class","action-btn svelte-1skuef2"),s(e,"title",m("file.preview")),s(e,"aria-label",m("file.preview")),s(n,"class","action-btn svelte-1skuef2"),s(n,"title",m("file.openExternal")),s(n,"aria-label",m("file.openExternal")),s(o,"class","action-btn svelte-1skuef2"),s(o,"title",m("file.showInExplorer")),s(o,"aria-label",m("file.showInExplorer"))},m(r,d){C(r,e,d),C(r,t,d),C(r,n,d),C(r,i,d),C(r,o,d),c||(u=[I(e,"click",qe(l[29])),I(n,"click",qe(l[10])),I(o,"click",qe(l[11]))],c=!0)},p:ce,d(r){r&&(w(e),w(t),w(n),w(i),w(o)),c=!1,ve(u)}}}function dn(l){let e,t,n,i,o,c,u,r,d=m("common.open")+"",g,_,v,k,b,y,j,T,M=m("file.openExternal")+"",E,N,D,A,S,O,R=m("file.showInExplorer")+"",B,P,K,q,W,Z,G,H,z,X=m("common.rename")+"",V,le,je,se,Q,te,ie,we=m("common.duplicate")+"",Le,Be,Re,J,x,fe,me,Fe,Se,Ue=m("common.cut")+"",tt,Ke,Te,Pe,He,Ve,Ne,Oe=m("common.copy")+"",pe,Ce,ke,Xe,Ee,Ie,ge,de,re,We=m("common.delete")+"",Ae,ae,Me;return{c(){e=f("div"),t=h(),n=f("div"),i=f("button"),o=Y("svg"),c=Y("path"),u=Y("circle"),r=h(),g=F(d),_=h(),v=f("button"),k=Y("svg"),b=Y("path"),y=Y("polyline"),j=Y("line"),T=h(),E=F(M),N=h(),D=f("button"),A=Y("svg"),S=Y("path"),O=h(),B=F(R),P=h(),K=f("div"),q=h(),W=f("button"),Z=Y("svg"),G=Y("path"),H=Y("path"),z=h(),V=F(X),le=h(),je=f("button"),se=Y("svg"),Q=Y("rect"),te=Y("path"),ie=h(),Le=F(we),Be=h(),Re=f("button"),J=Y("svg"),x=Y("circle"),fe=Y("circle"),me=Y("line"),Fe=Y("line"),Se=h(),tt=F(Ue),Ke=h(),Te=f("button"),Pe=Y("svg"),He=Y("rect"),Ve=Y("path"),Ne=h(),pe=F(Oe),Ce=h(),ke=f("div"),Xe=h(),Ee=f("button"),Ie=Y("svg"),ge=Y("polyline"),de=Y("path"),re=h(),Ae=F(We),s(e,"class","menu-backdrop svelte-1skuef2"),s(e,"role","presentation"),s(c,"d","M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"),s(u,"cx","12"),s(u,"cy","12"),s(u,"r","3"),s(o,"width","14"),s(o,"height","14"),s(o,"viewBox","0 0 24 24"),s(o,"fill","none"),s(o,"stroke","currentColor"),s(o,"stroke-width","2"),s(o,"stroke-linecap","round"),s(o,"stroke-linejoin","round"),s(i,"class","menu-item svelte-1skuef2"),s(i,"role","menuitem"),s(b,"d","M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"),s(y,"points","15 3 21 3 21 9"),s(j,"x1","10"),s(j,"y1","14"),s(j,"x2","21"),s(j,"y2","3"),s(k,"width","14"),s(k,"height","14"),s(k,"viewBox","0 0 24 24"),s(k,"fill","none"),s(k,"stroke","currentColor"),s(k,"stroke-width","2"),s(k,"stroke-linecap","round"),s(k,"stroke-linejoin","round"),s(v,"class","menu-item svelte-1skuef2"),s(v,"role","menuitem"),s(S,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"),s(A,"width","14"),s(A,"height","14"),s(A,"viewBox","0 0 24 24"),s(A,"fill","none"),s(A,"stroke","currentColor"),s(A,"stroke-width","2"),s(A,"stroke-linecap","round"),s(A,"stroke-linejoin","round"),s(D,"class","menu-item svelte-1skuef2"),s(D,"role","menuitem"),s(K,"class","menu-sep svelte-1skuef2"),s(G,"d","M12 20h9"),s(H,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),s(Z,"width","14"),s(Z,"height","14"),s(Z,"viewBox","0 0 24 24"),s(Z,"fill","none"),s(Z,"stroke","currentColor"),s(Z,"stroke-width","2"),s(Z,"stroke-linecap","round"),s(Z,"stroke-linejoin","round"),s(W,"class","menu-item svelte-1skuef2"),s(W,"role","menuitem"),s(Q,"x","9"),s(Q,"y","9"),s(Q,"width","13"),s(Q,"height","13"),s(Q,"rx","2"),s(Q,"ry","2"),s(te,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),s(se,"width","14"),s(se,"height","14"),s(se,"viewBox","0 0 24 24"),s(se,"fill","none"),s(se,"stroke","currentColor"),s(se,"stroke-width","2"),s(se,"stroke-linecap","round"),s(se,"stroke-linejoin","round"),s(je,"class","menu-item svelte-1skuef2"),s(je,"role","menuitem"),s(x,"cx","6"),s(x,"cy","6"),s(x,"r","3"),s(fe,"cx","6"),s(fe,"cy","18"),s(fe,"r","3"),s(me,"x1","20"),s(me,"y1","4"),s(me,"x2","8.12"),s(me,"y2","15.88"),s(Fe,"x1","8.12"),s(Fe,"y1","8.12"),s(Fe,"x2","20"),s(Fe,"y2","20"),s(J,"width","14"),s(J,"height","14"),s(J,"viewBox","0 0 24 24"),s(J,"fill","none"),s(J,"stroke","currentColor"),s(J,"stroke-width","2"),s(J,"stroke-linecap","round"),s(J,"stroke-linejoin","round"),s(Re,"class","menu-item svelte-1skuef2"),s(Re,"role","menuitem"),s(He,"x","9"),s(He,"y","9"),s(He,"width","13"),s(He,"height","13"),s(He,"rx","2"),s(He,"ry","2"),s(Ve,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),s(Pe,"width","14"),s(Pe,"height","14"),s(Pe,"viewBox","0 0 24 24"),s(Pe,"fill","none"),s(Pe,"stroke","currentColor"),s(Pe,"stroke-width","2"),s(Pe,"stroke-linecap","round"),s(Pe,"stroke-linejoin","round"),s(Te,"class","menu-item svelte-1skuef2"),s(Te,"role","menuitem"),s(ke,"class","menu-sep svelte-1skuef2"),s(ge,"points","3 6 5 6 21 6"),s(de,"d","M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"),s(Ie,"width","14"),s(Ie,"height","14"),s(Ie,"viewBox","0 0 24 24"),s(Ie,"fill","none"),s(Ie,"stroke","currentColor"),s(Ie,"stroke-width","2"),s(Ie,"stroke-linecap","round"),s(Ie,"stroke-linejoin","round"),s(Ee,"class","menu-item menu-item-danger svelte-1skuef2"),s(Ee,"role","menuitem"),s(n,"class","menu svelte-1skuef2"),Ge(n,"left",l[3]+"px"),Ge(n,"top",l[4]+"px"),Ge(n,"position","fixed"),s(n,"role","menu"),s(n,"tabindex","-1")},m(lt,$){C(lt,e,$),C(lt,t,$),C(lt,n,$),a(n,i),a(i,o),a(o,c),a(o,u),a(i,r),a(i,g),a(n,_),a(n,v),a(v,k),a(k,b),a(k,y),a(k,j),a(v,T),a(v,E),a(n,N),a(n,D),a(D,A),a(A,S),a(D,O),a(D,B),a(n,P),a(n,K),a(n,q),a(n,W),a(W,Z),a(Z,G),a(Z,H),a(W,z),a(W,V),a(n,le),a(n,je),a(je,se),a(se,Q),a(se,te),a(je,ie),a(je,Le),a(n,Be),a(n,Re),a(Re,J),a(J,x),a(J,fe),a(J,me),a(J,Fe),a(Re,Se),a(Re,tt),a(n,Ke),a(n,Te),a(Te,Pe),a(Pe,He),a(Pe,Ve),a(Te,Ne),a(Te,pe),a(n,Ce),a(n,ke),a(n,Xe),a(n,Ee),a(Ee,Ie),a(Ie,ge),a(Ie,de),a(Ee,re),a(Ee,Ae),ae||(Me=[I(e,"click",qe(l[19])),I(i,"click",l[17]),I(v,"click",l[10]),I(D,"click",l[11]),I(W,"click",l[13]),I(je,"click",l[14]),I(Re,"click",l[15]),I(Te,"click",l[16]),I(Ee,"click",l[12]),I(n,"click",qe(l[28])),I(n,"keydown",l[31])],ae=!0)},p(lt,$){$[0]&8&&Ge(n,"left",lt[3]+"px"),$[0]&16&&Ge(n,"top",lt[4]+"px")},d(lt){lt&&(w(e),w(t),w(n)),ae=!1,ve(Me)}}}function wr(l){let e,t,n,i,o,c,u=l[0].name+"",r,d,g,_,v,k,b,y,j,T,M,E,N,D,A,S,O,R,B,P,K,q;n=new Oi({props:{kind:l[6],size:22}});let W=!l[7]&&br(l);function Z(X,V){return X[7]?kr:yr}let H=Z(l)(l),z=l[2]&&dn(l);return{c(){e=f("div"),t=f("div"),ct(n.$$.fragment),i=h(),o=f("div"),c=f("div"),r=F(u),g=h(),_=f("div"),v=f("span"),v.textContent=`${l[8]}`,k=h(),W&&W.c(),b=h(),y=f("div"),H.c(),j=h(),T=f("button"),M=Y("svg"),E=Y("circle"),N=Y("circle"),D=Y("circle"),A=h(),S=f("button"),S.innerHTML='',R=h(),z&&z.c(),B=ot(),s(t,"class","file-row-icon svelte-1skuef2"),s(c,"class","file-row-name svelte-1skuef2"),s(c,"title",d=l[0].name),s(_,"class","file-row-meta svelte-1skuef2"),s(o,"class","file-row-body svelte-1skuef2"),s(E,"cx","12"),s(E,"cy","5"),s(E,"r","2"),s(N,"cx","12"),s(N,"cy","12"),s(N,"r","2"),s(D,"cx","12"),s(D,"cy","19"),s(D,"r","2"),s(M,"width","16"),s(M,"height","16"),s(M,"viewBox","0 0 24 24"),s(M,"fill","currentColor"),s(T,"class","action-btn svelte-1skuef2"),s(T,"title",m("file.more")),s(T,"aria-label",m("file.more")),s(T,"aria-expanded",l[2]),s(S,"class","action-btn action-btn-danger svelte-1skuef2"),s(S,"title",m("common.delete")),s(S,"aria-label",m("common.delete")),s(y,"class","file-row-actions svelte-1skuef2"),s(e,"class","file-row svelte-1skuef2"),s(e,"role","button"),s(e,"tabindex","0"),s(e,"draggable","true"),s(e,"aria-label",O=l[7]?m("file.ariaFolder")+" "+l[0].name:m("file.ariaFile")+" "+l[0].name),ye(e,"file-row--selected",l[1])},m(X,V){C(X,e,V),a(e,t),nt(n,t,null),a(e,i),a(e,o),a(o,c),a(c,r),a(o,g),a(o,_),a(_,v),a(_,k),W&&W.m(_,null),a(e,b),a(e,y),H.m(y,null),a(y,j),a(y,T),a(T,M),a(M,E),a(M,N),a(M,D),a(y,A),a(y,S),C(X,R,V),z&&z.m(X,V),C(X,B,V),P=!0,K||(q=[I(gr,"click",l[19]),I(T,"click",qe(l[18])),I(S,"click",qe(l[12])),I(e,"click",l[9]),I(e,"keydown",l[24]),I(e,"contextmenu",l[23]),I(e,"dragstart",l[20]),I(e,"dragover",l[21]),I(e,"drop",l[22])],K=!0)},p(X,V){(!P||V[0]&1)&&u!==(u=X[0].name+"")&&U(r,u),(!P||V[0]&1&&d!==(d=X[0].name))&&s(c,"title",d),X[7]||W.p(X,V),H.p(X,V),(!P||V[0]&4)&&s(T,"aria-expanded",X[2]),(!P||V[0]&1&&O!==(O=X[7]?m("file.ariaFolder")+" "+X[0].name:m("file.ariaFile")+" "+X[0].name))&&s(e,"aria-label",O),(!P||V[0]&2)&&ye(e,"file-row--selected",X[1]),X[2]?z?z.p(X,V):(z=dn(X),z.c(),z.m(B.parentNode,B)):z&&(z.d(1),z=null)},i(X){P||(ue(n.$$.fragment,X),P=!0)},o(X){_e(n.$$.fragment,X),P=!1},d(X){X&&(w(e),w(R),w(B)),st(n),W&&W.d(),H.d(),z&&z.d(X),K=!1,ve(q)}}}function Cr(l,e,t){let{item:n}=e,{selected:i=!1}=e,{onDragStart:o}=e,{onDragOver:c}=e,{onDrop:u}=e;const r=tl(),d=Ri(n),g=n.type==="folder",_=fr(n);let v=!1,k=0,b=0,y=null;function j(V){V.ctrlKey||V.metaKey?r("toggleSelect",n.id):V.shiftKey?r("rangeSelect",n.id):y?(clearTimeout(y),y=null,g?r("navigate",n.id):r("preview",n)):y=setTimeout(()=>{y=null,r("selectOne",n.id)},250)}function T(){r("openExternal",n.fileId)}function M(){t(2,v=!1),r("showInFolder",n.nodeId||n.id)}function E(){t(2,v=!1),r("delete",{id:n.id,type:n.type})}function N(){t(2,v=!1),r("rename",{id:n.id,name:n.name})}function D(){t(2,v=!1),r("duplicate",n.id)}function A(){t(2,v=!1),r("cut",n.id)}function S(){t(2,v=!1),r("copy",n.id)}function O(){t(2,v=!1),g?r("navigate",n.id):r("preview",n)}function R(){t(2,v=!v)}function B(){t(2,v=!1)}function P(V){o&&o(V,n.id)}function K(V){c&&g&&c(V,n.id)}function q(V){u&&g&&u(V,n.id)}function W(V){V.preventDefault(),t(3,k=Math.min(V.clientX,window.innerWidth-240)),t(4,b=Math.min(V.clientY,window.innerHeight-320)),t(2,v=!0)}function Z(V){(V.key==="Enter"||V.key===" ")&&(V.preventDefault(),j(V))}function G(V){Fi.call(this,l,V)}const H=()=>r("preview",n),z=()=>r("navigate",n.id),X=V=>{V.key==="Escape"&&(V.stopPropagation(),B())};return l.$$set=V=>{"item"in V&&t(0,n=V.item),"selected"in V&&t(1,i=V.selected),"onDragStart"in V&&t(25,o=V.onDragStart),"onDragOver"in V&&t(26,c=V.onDragOver),"onDrop"in V&&t(27,u=V.onDrop)},[n,i,v,k,b,r,d,g,_,j,T,M,E,N,D,A,S,O,R,B,P,K,q,W,Z,o,c,u,G,H,z,X]}class jr extends gt{constructor(e){super(),ht(this,e,Cr,wr,vt,{item:0,selected:1,onDragStart:25,onDragOver:26,onDrop:27},null,[-1,-1])}}function pn(l,e,t){const n=l.slice();return n[4]=e[t],n[6]=t,n}function Tr(l){let e;return{c(){e=f("span"),e.textContent="/",s(e,"class","sep svelte-csi2lb")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Sr(l){let e,t=l[4].name+"",n,i,o;function c(){return l[2](l[6])}return{c(){e=f("button"),n=F(t),s(e,"class","crumb crumb--link svelte-csi2lb")},m(u,r){C(u,e,r),a(e,n),i||(o=I(e,"click",c),i=!0)},p(u,r){l=u,r&1&&t!==(t=l[4].name+"")&&U(n,t)},d(u){u&&w(e),i=!1,o()}}}function Nr(l){let e,t=l[4].name+"",n;return{c(){e=f("span"),n=F(t),s(e,"class","crumb crumb--current svelte-csi2lb")},m(i,o){C(i,e,o),a(e,n)},p(i,o){o&1&&t!==(t=i[4].name+"")&&U(n,t)},d(i){i&&w(e)}}}function mn(l){let e,t,n=l[6]>0&&Tr();function i(u,r){return u[6]===u[0].length-1?Nr:Sr}let o=i(l),c=o(l);return{c(){n&&n.c(),e=h(),c.c(),t=ot()},m(u,r){n&&n.m(u,r),C(u,e,r),c.m(u,r),C(u,t,r)},p(u,r){o===(o=i(u))&&c?c.p(u,r):(c.d(1),c=o(u),c&&(c.c(),c.m(t.parentNode,t)))},d(u){u&&(w(e),w(t)),n&&n.d(u),c.d(u)}}}function Er(l){let e,t=oe(l[0]),n=[];for(let i=0;io(u);return l.$$set=u=>{"crumbs"in u&&t(0,n=u.crumbs)},[n,o,c]}class Wi extends gt{constructor(e){super(),ht(this,e,Mr,Er,vt,{crumbs:0})}}function Dr(l){let e,t,n,i,o,c;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("file.previewUnavailable")}`,n=h(),i=f("button"),i.textContent=`${m("file.openExternal")}`,s(i,"class","btn btn-sm svelte-1cw3u0m"),s(e,"class","preview-status svelte-1cw3u0m")},m(u,r){C(u,e,r),a(e,t),a(e,n),a(e,i),o||(c=I(i,"click",l[9]),o=!0)},p:ce,d(u){u&&w(e),o=!1,c()}}}function Ir(l){let e,t;function n(c,u){return u&2&&(e=null),e==null&&(e=!!(c[1]&&c[1].startsWith("data:"))),e?Rr:Or}let i=n(l,-1),o=i(l);return{c(){o.c(),t=ot()},m(c,u){o.m(c,u),C(c,t,u)},p(c,u){i===(i=n(c,u))&&o?o.p(c,u):(o.d(1),o=i(c),o&&(o.c(),o.m(t.parentNode,t)))},d(c){c&&w(t),o.d(c)}}}function Fr(l){let e,t,n;return{c(){e=f("pre"),t=f("code"),n=F(l[1]),s(e,"class","preview-text svelte-1cw3u0m")},m(i,o){C(i,e,o),a(e,t),a(t,n)},p(i,o){o&2&&U(n,i[1])},d(i){i&&w(e)}}}function Ar(l){let e,t,n,i;return{c(){e=f("div"),t=f("img"),xt(t.src,n=l[1])||s(t,"src",n),s(t,"alt",i=l[0].name),s(t,"class","preview-image svelte-1cw3u0m"),s(e,"class","preview-image-container svelte-1cw3u0m")},m(o,c){C(o,e,c),a(e,t)},p(o,c){c&2&&!xt(t.src,n=o[1])&&s(t,"src",n),c&1&&i!==(i=o[0].name)&&s(t,"alt",i)},d(o){o&&w(e)}}}function Lr(l){let e,t,n,i,o,c,u;return{c(){e=f("div"),t=f("p"),n=F(l[3]),i=h(),o=f("button"),o.textContent=`${m("file.openExternal")}`,s(o,"class","btn btn-sm svelte-1cw3u0m"),s(e,"class","preview-status svelte-1cw3u0m")},m(r,d){C(r,e,d),a(e,t),a(t,n),a(e,i),a(e,o),c||(u=I(o,"click",l[9]),c=!0)},p(r,d){d&8&&U(n,r[3])},d(r){r&&w(e),c=!1,u()}}}function Pr(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("common.loading")}`,s(e,"class","preview-status svelte-1cw3u0m")},m(n,i){C(n,e,i),a(e,t)},p:ce,d(n){n&&w(e)}}}function Or(l){let e,t,n,i,o,c;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("file.pdfUnavailable")}`,n=h(),i=f("button"),i.textContent=`${m("file.openExternal")}`,s(i,"class","btn btn-sm svelte-1cw3u0m"),s(e,"class","preview-status svelte-1cw3u0m")},m(u,r){C(u,e,r),a(e,t),a(e,n),a(e,i),o||(c=I(i,"click",l[9]),o=!0)},p:ce,d(u){u&&w(e),o=!1,c()}}}function Rr(l){let e,t,n;return{c(){e=f("div"),t=f("embed"),xt(t.src,n=l[1])||s(t,"src",n),s(t,"type","application/pdf"),s(t,"class","preview-pdf svelte-1cw3u0m"),s(e,"class","preview-pdf-container svelte-1cw3u0m")},m(i,o){C(i,e,o),a(e,t)},p(i,o){o&2&&!xt(t.src,n=i[1])&&s(t,"src",n)},d(i){i&&w(e)}}}function zr(l){let e,t,n,i,o,c,u,r=l[0].name+"",d,g,_,v,k=el(l[0].size)+"",b,y,j=fn(l[0].mime)+"",T,M,E,N,D,A,S,O,R,B,P;o=new Oi({props:{kind:l[8],size:18}});function K(Z,G){return Z[2]?Pr:Z[3]?Lr:Z[6]&&Z[1]?Ar:Z[5]&&Z[1]?Fr:Z[4]?Ir:Dr}let q=K(l),W=q(l);return{c(){e=f("div"),t=f("div"),n=f("header"),i=f("div"),ct(o.$$.fragment),c=h(),u=f("span"),d=F(r),_=h(),v=f("div"),b=F(k),y=F(" · "),T=F(j),M=h(),E=f("div"),N=f("button"),N.innerHTML='',D=h(),A=f("button"),A.innerHTML='',S=h(),O=f("div"),W.c(),s(u,"class","preview-name svelte-1cw3u0m"),s(u,"title",g=l[0].name),s(i,"class","preview-title svelte-1cw3u0m"),s(v,"class","preview-meta svelte-1cw3u0m"),s(N,"class","action-btn svelte-1cw3u0m"),s(N,"title",m("file.openExternal")),s(N,"aria-label",m("file.openExternal")),s(A,"class","action-btn action-btn-close svelte-1cw3u0m"),s(A,"title","Close"),s(A,"aria-label","Close preview"),s(E,"class","preview-actions svelte-1cw3u0m"),s(n,"class","preview-header svelte-1cw3u0m"),s(O,"class","preview-body svelte-1cw3u0m"),s(t,"class","modal svelte-1cw3u0m"),s(e,"class","overlay svelte-1cw3u0m"),s(e,"role","presentation")},m(Z,G){C(Z,e,G),a(e,t),a(t,n),a(n,i),nt(o,i,null),a(i,c),a(i,u),a(u,d),a(n,_),a(n,v),a(v,b),a(v,y),a(v,T),a(n,M),a(n,E),a(E,N),a(E,D),a(E,A),a(t,S),a(t,O),W.m(O,null),R=!0,B||(P=[I(N,"click",l[9]),I(A,"click",l[10]),I(e,"click",St(l[11])),I(e,"keydown",l[12])],B=!0)},p(Z,[G]){(!R||G&1)&&r!==(r=Z[0].name+"")&&U(d,r),(!R||G&1&&g!==(g=Z[0].name))&&s(u,"title",g),(!R||G&1)&&k!==(k=el(Z[0].size)+"")&&U(b,k),(!R||G&1)&&j!==(j=fn(Z[0].mime)+"")&&U(T,j),q===(q=K(Z))&&W?W.p(Z,G):(W.d(1),W=q(Z),W&&(W.c(),W.m(O,null)))},i(Z){R||(ue(o.$$.fragment,Z),R=!0)},o(Z){_e(o.$$.fragment,Z),R=!1},d(Z){Z&&w(e),st(o),W.d(),B=!1,ve(P)}}}function Br(l,e,t){let n,i,o,{item:c}=e,{content:u=""}=e,{loading:r=!1}=e,{error:d=""}=e;const g=tl(),_=Ri(c);function v(T){T.key==="Escape"&&g("close")}function k(){g("openExternal",c.fileId)}Ii(()=>{window.addEventListener("keydown",v)}),Tl(()=>{window.removeEventListener("keydown",v)});const b=()=>g("close"),y=()=>g("close"),j=T=>{T.key==="Escape"&&(T.preventDefault(),g("close"))};return l.$$set=T=>{"item"in T&&t(0,c=T.item),"content"in T&&t(1,u=T.content),"loading"in T&&t(2,r=T.loading),"error"in T&&t(3,d=T.error)},l.$$.update=()=>{l.$$.dirty&3&&t(6,n=zi(c)&&u&&u.startsWith("data:")),l.$$.dirty&1&&t(5,i=Bi(c)||Vi(c)),l.$$.dirty&1&&t(4,o=Hi(c))},[c,u,r,d,o,i,n,g,_,k,b,y,j]}class Hr extends gt{constructor(e){super(),ht(this,e,Br,zr,vt,{item:0,content:1,loading:2,error:3})}}function Vr(l){let e,t,n,i,o,c,u,r,d,g,_,v,k,b,y,j,T;return{c(){e=f("div"),t=f("div"),n=f("h3"),i=F(l[0]),o=h(),c=f("p"),u=F(l[1]),r=h(),d=f("div"),g=f("button"),_=F(l[2]),k=h(),b=f("button"),y=F(l[3]),s(n,"class","svelte-1fv6yyk"),s(c,"class","message svelte-1fv6yyk"),s(g,"class",v="btn "+(l[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk"),s(b,"class","btn svelte-1fv6yyk"),s(d,"class","actions svelte-1fv6yyk"),s(t,"class","modal svelte-1fv6yyk"),s(e,"class","overlay svelte-1fv6yyk"),s(e,"role","presentation")},m(M,E){C(M,e,E),a(e,t),a(t,n),a(n,i),a(t,o),a(t,c),a(c,u),a(t,r),a(t,d),a(d,g),a(g,_),a(d,k),a(d,b),a(b,y),j||(T=[I(g,"click",l[6]),I(b,"click",l[7]),I(e,"click",St(l[8])),I(e,"keydown",l[9])],j=!0)},p(M,[E]){E&1&&U(i,M[0]),E&2&&U(u,M[1]),E&4&&U(_,M[2]),E&16&&v!==(v="btn "+(M[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk")&&s(g,"class",v),E&8&&U(y,M[3])},i:ce,o:ce,d(M){M&&w(e),j=!1,ve(T)}}}function Wr(l,e,t){let{title:n=m("common.confirm")}=e,{message:i=""}=e,{confirmText:o=m("common.delete")}=e,{cancelText:c=m("common.cancel")}=e,{danger:u=!1}=e;const r=tl(),d=()=>r("confirm"),g=()=>r("cancel"),_=()=>r("cancel"),v=k=>{k.key==="Escape"&&(k.preventDefault(),r("cancel"))};return l.$$set=k=>{"title"in k&&t(0,n=k.title),"message"in k&&t(1,i=k.message),"confirmText"in k&&t(2,o=k.confirmText),"cancelText"in k&&t(3,c=k.cancelText),"danger"in k&&t(4,u=k.danger)},[n,i,o,c,u,r,d,g,_,v]}class Ur extends gt{constructor(e){super(),ht(this,e,Wr,Vr,vt,{title:0,message:1,confirmText:2,cancelText:3,danger:4})}}function Kr(l){let e,t,n;return{c(){e=Y("circle"),t=Y("line"),n=Y("line"),s(e,"cx","12"),s(e,"cy","12"),s(e,"r","10"),s(t,"x1","12"),s(t,"y1","16"),s(t,"x2","12"),s(t,"y2","12"),s(n,"x1","12"),s(n,"y1","8"),s(n,"x2","12.01"),s(n,"y2","8")},m(i,o){C(i,e,o),C(i,t,o),C(i,n,o)},d(i){i&&(w(e),w(t),w(n))}}}function Gr(l){let e,t,n,i;return{c(){e=Y("rect"),t=Y("polyline"),n=Y("line"),i=Y("line"),s(e,"x","3"),s(e,"y","5"),s(e,"width","18"),s(e,"height","14"),s(e,"rx","2"),s(t,"points","3 10 21 10"),s(n,"x1","8"),s(n,"y1","5"),s(n,"x2","8"),s(n,"y2","19"),s(i,"x1","16"),s(i,"y1","5"),s(i,"x2","16"),s(i,"y2","19")},m(o,c){C(o,e,c),C(o,t,c),C(o,n,c),C(o,i,c)},d(o){o&&(w(e),w(t),w(n),w(i))}}}function qr(l){let e,t;return{c(){e=Y("path"),t=Y("polyline"),s(e,"d","M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"),s(t,"points","13 2 13 9 20 9")},m(n,i){C(n,e,i),C(n,t,i)},d(n){n&&(w(e),w(t))}}}function Jr(l){let e,t;return{c(){e=Y("path"),t=Y("path"),s(e,"d","M12 20h9"),s(t,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z")},m(n,i){C(n,e,i),C(n,t,i)},d(n){n&&(w(e),w(t))}}}function Yr(l){let e,t,n,i,o;return{c(){e=Y("path"),t=Y("path"),n=Y("line"),i=Y("line"),o=Y("line"),s(e,"d","M4 19.5A2.5 2.5 0 0 1 6.5 17H20"),s(t,"d","M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"),s(n,"x1","8"),s(n,"y1","7"),s(n,"x2","16"),s(n,"y2","7"),s(i,"x1","8"),s(i,"y1","11"),s(i,"x2","14"),s(i,"y2","11"),s(o,"x1","8"),s(o,"y1","15"),s(o,"x2","12"),s(o,"y2","15")},m(c,u){C(c,e,u),C(c,t,u),C(c,n,u),C(c,i,u),C(c,o,u)},d(c){c&&(w(e),w(t),w(n),w(i),w(o))}}}function Xr(l){let e,t,n,i;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),i=Y("line"),s(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),s(t,"points","14 2 14 8 20 8"),s(n,"x1","16"),s(n,"y1","13"),s(n,"x2","8"),s(n,"y2","13"),s(i,"x1","16"),s(i,"y1","17"),s(i,"x2","8"),s(i,"y2","17")},m(o,c){C(o,e,c),C(o,t,c),C(o,n,c),C(o,i,c)},d(o){o&&(w(e),w(t),w(n),w(i))}}}function Zr(l){let e,t;return{c(){e=Y("path"),t=Y("circle"),s(e,"d","M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"),s(t,"cx","12"),s(t,"cy","7"),s(t,"r","4")},m(n,i){C(n,e,i),C(n,t,i)},d(n){n&&(w(e),w(t))}}}function Qr(l){let e,t,n,i;return{c(){e=Y("rect"),t=Y("rect"),n=Y("rect"),i=Y("rect"),s(e,"x","3"),s(e,"y","3"),s(e,"width","7"),s(e,"height","7"),s(e,"rx","1"),s(t,"x","14"),s(t,"y","3"),s(t,"width","7"),s(t,"height","4"),s(t,"rx","1"),s(n,"x","14"),s(n,"y","10"),s(n,"width","7"),s(n,"height","11"),s(n,"rx","1"),s(i,"x","3"),s(i,"y","14"),s(i,"width","7"),s(i,"height","7"),s(i,"rx","1")},m(o,c){C(o,e,c),C(o,t,c),C(o,n,c),C(o,i,c)},d(o){o&&(w(e),w(t),w(n),w(i))}}}function xr(l){let e;return{c(){e=Y("path"),s(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function $r(l){let e;function t(o,c){return o[0]==="folder"?xr:o[0]==="project"?Qr:o[0]==="client"?Zr:o[0]==="document"?Xr:o[0]==="recipe"?Yr:o[0]==="note"?Jr:o[0]==="file"?qr:o[0]==="case"?Gr:Kr}let n=t(l),i=n(l);return{c(){e=Y("svg"),i.c(),s(e,"width",l[1]),s(e,"height",l[1]),s(e,"viewBox","0 0 24 24"),s(e,"fill","none"),s(e,"stroke","currentColor"),s(e,"stroke-width","1.5"),s(e,"stroke-linecap","round"),s(e,"stroke-linejoin","round"),s(e,"xmlns","http://www.w3.org/2000/svg")},m(o,c){C(o,e,c),i.m(e,null)},p(o,[c]){n!==(n=t(o))&&(i.d(1),i=n(o),i&&(i.c(),i.m(e,null))),c&2&&s(e,"width",o[1]),c&2&&s(e,"height",o[1])},i:ce,o:ce,d(o){o&&w(e),i.d()}}}function eu(l,e,t){let{kind:n="generic"}=e,{size:i=18}=e;return l.$$set=o=>{"kind"in o&&t(0,n=o.kind),"size"in o&&t(1,i=o.size)},[n,i]}class ll extends gt{constructor(e){super(),ht(this,e,eu,$r,vt,{kind:0,size:1})}}function _n(l,e,t){const n=l.slice();return n[44]=e[t],n}function tu(l){let e;return{c(){e=f("span"),s(e,"class","tree-toggle-placeholder svelte-zj71cl")},m(t,n){C(t,e,n)},p:ce,d(t){t&&w(e)}}}function lu(l){let e,t,n=l[1][l[44].id]?"▾":"▸",i,o,c;function u(){return l[25](l[44])}return{c(){e=f("button"),t=f("span"),i=F(n),s(t,"class","tree-arrow"),s(e,"class","tree-toggle svelte-zj71cl")},m(r,d){C(r,e,d),a(e,t),a(t,i),o||(c=I(e,"click",qe(u)),o=!0)},p(r,d){l=r,d[0]&3&&n!==(n=l[1][l[44].id]?"▾":"▸")&&U(i,n)},d(r){r&&w(e),o=!1,c()}}}function vn(l){let e,t;return e=new Ui({props:{nodes:l[44].children||[],expanded:l[1],selectedNodeId:l[2],level:l[3]+1,onSelect:l[4],onToggle:l[5],onContextMenu:l[6],onDrop:l[7]}}),{c(){ct(e.$$.fragment)},m(n,i){nt(e,n,i),t=!0},p(n,i){const o={};i[0]&1&&(o.nodes=n[44].children||[]),i[0]&2&&(o.expanded=n[1]),i[0]&4&&(o.selectedNodeId=n[2]),i[0]&8&&(o.level=n[3]+1),i[0]&16&&(o.onSelect=n[4]),i[0]&32&&(o.onToggle=n[5]),i[0]&64&&(o.onContextMenu=n[6]),i[0]&128&&(o.onDrop=n[7]),e.$set(o)},i(n){t||(ue(e.$$.fragment,n),t=!0)},o(n){_e(e.$$.fragment,n),t=!1},d(n){st(e,n)}}}function hn(l,e){let t,n,i,o,c,u,r,d=e[44].title+"",g,_,v=e[1][e[44].id]&&wl(e[44]),k,b,y,j;function T(H,z){return z[0]&1&&(n=null),n==null&&(n=!!Ut(H[44])),n?lu:tu}let M=T(e,[-1,-1]),E=M(e);c=new ll({props:{kind:gn(e[44]),size:16}});function N(...H){return e[26](e[44],...H)}function D(...H){return e[27](e[44],...H)}function A(){return e[28](e[44])}function S(...H){return e[29](e[44],...H)}function O(...H){return e[30](e[44],...H)}function R(...H){return e[31](e[44],...H)}function B(...H){return e[32](e[44],...H)}function P(...H){return e[33](e[44],...H)}function K(...H){return e[34](e[44],...H)}function q(...H){return e[35](e[44],...H)}function W(...H){return e[36](e[44],...H)}function Z(...H){return e[37](e[44],...H)}let G=v&&vn(e);return{key:l,first:null,c(){t=f("div"),E.c(),i=h(),o=f("span"),ct(c.$$.fragment),u=h(),r=f("span"),g=F(d),_=h(),G&&G.c(),k=ot(),s(o,"class","tree-icon svelte-zj71cl"),s(o,"role","button"),s(o,"tabindex","-1"),s(r,"class","tree-label svelte-zj71cl"),s(r,"role","button"),s(r,"tabindex","-1"),s(t,"class","tree-item svelte-zj71cl"),Ge(t,"padding-left",e[3]*16+4+"px"),s(t,"draggable","true"),s(t,"role","button"),s(t,"tabindex","0"),ye(t,"selected",e[2]===e[44].id),ye(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),ye(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),this.first=t},m(H,z){C(H,t,z),E.m(t,null),a(t,i),a(t,o),nt(c,o,null),a(t,u),a(t,r),a(r,g),C(H,_,z),G&&G.m(H,z),C(H,k,z),b=!0,y||(j=[I(o,"click",N),I(o,"keydown",D),I(o,"dblclick",qe(e[24])),I(r,"click",qe(A)),I(r,"keydown",S),I(t,"dragstart",O),I(t,"dragover",R),I(t,"dragleave",B),I(t,"drop",P),I(t,"click",K),I(t,"keydown",q),I(t,"dblclick",W),I(t,"contextmenu",Cl(Z))],y=!0)},p(H,z){e=H,M===(M=T(e,z))&&E?E.p(e,z):(E.d(1),E=M(e),E&&(E.c(),E.m(t,i)));const X={};z[0]&1&&(X.kind=gn(e[44])),c.$set(X),(!b||z[0]&1)&&d!==(d=e[44].title+"")&&U(g,d),(!b||z[0]&8)&&Ge(t,"padding-left",e[3]*16+4+"px"),(!b||z[0]&5)&&ye(t,"selected",e[2]===e[44].id),(!b||z[0]&769)&&ye(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),(!b||z[0]&769)&&ye(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),z[0]&3&&(v=e[1][e[44].id]&&wl(e[44])),v?G?(G.p(e,z),z[0]&3&&ue(G,1)):(G=vn(e),G.c(),ue(G,1),G.m(k.parentNode,k)):G&&(xe(),_e(G,1,1,()=>{G=null}),$e())},i(H){b||(ue(c.$$.fragment,H),ue(G),b=!0)},o(H){_e(c.$$.fragment,H),_e(G),b=!1},d(H){H&&(w(t),w(_),w(k)),E.d(),st(c),G&&G.d(H),y=!1,ve(j)}}}function nu(l){let e=[],t=new Map,n,i,o,c,u=oe(l[0]);const r=d=>d[44].id;for(let d=0;d0:l.has_children===!0}function bn(l){const e={};function t(n,i){for(const o of n)e[o.id]=i,o.children&&t(o.children,o.id)}return t(l,""),e}function kn(l){const e=[];function t(n){for(const i of n)e.push(i),i.children&&t(i.children)}return t(l),e}function su(l){try{return l.dataTransfer.getData("text/plain")}catch{return""}}function iu(l,e,t){let n,i,o,{nodes:c=[]}=e,{expanded:u={}}=e,{selectedNodeId:r=""}=e,{level:d=0}=e,{onSelect:g=void 0}=e,{onToggle:_=void 0}=e,{onContextMenu:v=void 0}=e,{onDrop:k=void 0}=e,b={},y=null,j="",T="";const M=["folder","project","client","document","recipe","case"];Tl(()=>{for(const J of Object.keys(b))clearTimeout(b[J]);y&&clearInterval(y)});function E(J){return M.includes(J.type)}function N(J,x,fe){if(!J||!x||x===J.id||!E(J))return!1;let me=J.id;for(;me;){if(me===x)return!1;me=fe[me]||""}return!0}function D(J,x){J.stopPropagation(),J.dataTransfer.effectAllowed="move",J.dataTransfer.setData("text/plain",x.id),t(21,j=x.id)}function A(J,x){J.preventDefault(),J.stopPropagation(),J.dataTransfer.dropEffect="move",T!==x.id&&t(8,T=x.id),Ut(x)&&!u[x.id]&&!b[x.id]&&(b[x.id]=setTimeout(()=>{_&&_(x.id),delete b[x.id]},600));const fe=J.currentTarget.closest(".workspace-tree-area");if(fe){const me=fe.getBoundingClientRect(),Fe=30;J.clientY-me.top{fe.scrollTop-=10},50)):me.bottom-J.clientY{fe.scrollTop+=10},50)):y&&(clearInterval(y),y=null)}}function S(J,x){const fe=J.relatedTarget;fe&&J.currentTarget.contains(fe)||(T===x.id&&t(8,T=""),b[x.id]&&(clearTimeout(b[x.id]),delete b[x.id]),y&&(clearInterval(y),y=null))}function O(J,x){J.preventDefault(),J.stopPropagation(),b[x.id]&&(clearTimeout(b[x.id]),delete b[x.id]),y&&(clearInterval(y),y=null);const fe=kn(c),me=bn(fe),Fe=su(J);if(!N(x,Fe,me)){t(8,T=""),t(21,j="");return}k&&k(Fe,x.id),t(8,T=""),t(21,j="")}function R(){t(8,T=""),t(21,j="");for(const J of Object.keys(b))clearTimeout(b[J]),delete b[J];y&&(clearInterval(y),y=null)}function B(J,x){J.target.closest(".tree-toggle")||J.target.closest(".tree-icon")||g&&g(x)}function P(J,x){Ut(x)&&_&&_(x.id)}function K(J,x){(J.key==="Enter"||J.key===" ")&&(J.preventDefault(),g&&g(x))}function q(J,x){J.stopPropagation(),Ut(x)&&_&&_(x.id)}function W(J,x){(J.key==="Enter"||J.key===" ")&&(J.preventDefault(),J.stopPropagation(),Ut(x)&&_&&_(x.id))}function Z(J,x){(J.key==="Enter"||J.key===" ")&&(J.preventDefault(),g&&g(x))}function G(J,x,fe){const me={};function Fe(Se){for(const Ue of Se)me[Ue.id]=N(Ue,x,fe),Ue.children&&Fe(Ue.children)}return Fe(J),me}function H(J){Fi.call(this,l,J)}const z=J=>_&&_(J.id),X=(J,x)=>q(x,J),V=(J,x)=>W(x,J),le=J=>g&&g(J),je=(J,x)=>Z(x,J),se=(J,x)=>D(x,J),Q=(J,x)=>A(x,J),te=(J,x)=>S(x,J),ie=(J,x)=>O(x,J),we=(J,x)=>B(x,J),Le=(J,x)=>K(x,J),Be=(J,x)=>P(x,J),Re=(J,x)=>v&&v(x,J);return l.$$set=J=>{"nodes"in J&&t(0,c=J.nodes),"expanded"in J&&t(1,u=J.expanded),"selectedNodeId"in J&&t(2,r=J.selectedNodeId),"level"in J&&t(3,d=J.level),"onSelect"in J&&t(4,g=J.onSelect),"onToggle"in J&&t(5,_=J.onToggle),"onContextMenu"in J&&t(6,v=J.onContextMenu),"onDrop"in J&&t(7,k=J.onDrop)},l.$$.update=()=>{l.$$.dirty[0]&1&&t(23,n=kn(c)),l.$$.dirty[0]&8388608&&t(22,i=bn(n)),l.$$.dirty[0]&14680064&&t(9,o=G(n,j,i))},[c,u,r,d,g,_,v,k,T,o,D,A,S,O,R,B,P,K,q,W,Z,j,i,n,H,z,X,V,le,je,se,Q,te,ie,we,Le,Be,Re]}class Ui extends gt{constructor(e){super(),ht(this,e,iu,nu,vt,{nodes:0,expanded:1,selectedNodeId:2,level:3,onSelect:4,onToggle:5,onContextMenu:6,onDrop:7},null,[-1,-1])}}function yn(l,e,t){const n=l.slice();return n[301]=e[t],n}function wn(l,e,t){const n=l.slice();return n[304]=e[t],n}function Cn(l,e,t){const n=l.slice();return n[304]=e[t],n}function jn(l,e,t){const n=l.slice();return n[328]=e[t],n}function Tn(l,e,t){const n=l.slice();return n[328]=e[t],n}function Sn(l,e,t){const n=l.slice();return n[354]=e[t],n}function Nn(l,e,t){const n=l.slice();return n[328]=e[t],n}function En(l,e,t){const n=l.slice();return n[325]=e[t],n[359]=e,n[360]=t,n}function Mn(l,e,t){const n=l.slice();return n[328]=e[t],n}function Dn(l,e,t){const n=l.slice();return n[336]=e[t],n}function In(l,e,t){const n=l.slice();return n[328]=e[t],n}function Fn(l,e,t){const n=l.slice();return n[341]=e[t],n}function An(l,e,t){const n=l.slice();return n[341]=e[t],n}function Ln(l,e,t){const n=l.slice();return n[325]=e[t],n[346]=e,n[347]=t,n}function Pn(l,e,t){const n=l.slice();return n[328]=e[t],n}function On(l,e,t){const n=l.slice();return n[336]=e[t],n}function Rn(l,e,t){const n=l.slice();return n[328]=e[t],n}function zn(l,e,t){const n=l.slice();return n[309]=e[t],n}function Bn(l,e,t){const n=l.slice();return n[325]=e[t],n[326]=e,n[327]=t,n}function Hn(l,e,t){const n=l.slice();return n[328]=e[t],n}function Vn(l,e,t){const n=l.slice();return n[320]=e[t],n}function Wn(l,e,t){const n=l.slice();return n[317]=e[t],n}function Un(l,e,t){const n=l.slice();return n[312]=e[t],n}function Kn(l,e,t){const n=l.slice();return n[309]=e[t],n}function Gn(l,e,t){const n=l.slice();return n[312]=e[t],n}function qn(l,e,t){const n=l.slice();return n[333]=e[t],n}function Jn(l,e,t){const n=l.slice();return n[365]=e[t],n}function Yn(l,e,t){const n=l.slice();return n[368]=e[t],n}function Xn(l){let e,t;return{c(){e=f("span"),t=F(l[34]),s(e,"class","nav-badge svelte-nsunc1")},m(n,i){C(n,e,i),a(e,t)},p(n,i){i[1]&8&&U(t,n[34])},d(n){n&&w(e)}}}function Zn(l){let e,t=l[368].label+"",n,i,o,c,u,r,d=l[368].id==="journal"&&l[34]>0&&Xn(l);function g(){return l[159](l[368])}return{c(){e=f("button"),n=F(t),i=h(),d&&d.c(),o=h(),s(e,"class",c="nav-item "+(l[20]===l[368].id?"selected":"")+" svelte-nsunc1")},m(_,v){C(_,e,v),a(e,n),a(e,i),d&&d.m(e,null),a(e,o),u||(r=I(e,"click",g),u=!0)},p(_,v){l=_,v[0]&1&&t!==(t=l[368].label+"")&&U(n,t),l[368].id==="journal"&&l[34]>0?d?d.p(l,v):(d=Xn(l),d.c(),d.m(e,o)):d&&(d.d(1),d=null),v[0]&1048577&&c!==(c="nav-item "+(l[20]===l[368].id?"selected":"")+" svelte-nsunc1")&&s(e,"class",c)},d(_){_&&w(e),d&&d.d(),u=!1,r()}}}function ou(l){let e;return{c(){e=f("div"),e.textContent=`${m("nav.noNodes")}`,s(e,"class","nav-empty svelte-nsunc1")},m(t,n){C(t,e,n)},p:ce,i:ce,o:ce,d(t){t&&w(e)}}}function cu(l){var c;let e,t,n,i,o;return t=new Ui({props:{nodes:l[1],expanded:l[50],selectedNodeId:((c=l[21])==null?void 0:c.id)||"",onSelect:l[81],onToggle:l[111],onContextMenu:l[109],onDrop:l[112]}}),{c(){e=f("div"),ct(t.$$.fragment),s(e,"class","workspace-tree-area svelte-nsunc1"),s(e,"role","region"),s(e,"aria-label",m("nav.workspace")),ye(e,"drop-valid",l[61])},m(u,r){C(u,e,r),nt(t,e,null),n=!0,i||(o=[I(e,"dragover",Cl(l[114])),I(e,"dragleave",l[115]),I(e,"drop",l[113])],i=!0)},p(u,r){var g;const d={};r[0]&2&&(d.nodes=u[1]),r[1]&524288&&(d.expanded=u[50]),r[0]&2097152&&(d.selectedNodeId=((g=u[21])==null?void 0:g.id)||""),t.$set(d),(!n||r[1]&1073741824)&&ye(e,"drop-valid",u[61])},i(u){n||(ue(t.$$.fragment,u),n=!0)},o(u){_e(t.$$.fragment,u),n=!1},d(u){u&&w(e),st(t),i=!1,ve(o)}}}function au(l){let e;return{c(){e=f("span"),e.textContent=`${m("nav.selectPrompt")}`,s(e,"class","crumb placeholder svelte-nsunc1")},m(t,n){C(t,e,n)},p:ce,d(t){t&&w(e)}}}function ru(l){let e,t=oe(l[0]),n=[];for(let i=0;i0&&$n(l);return{c(){e=f("button"),t=Y("svg"),n=Y("polyline"),i=Y("polyline"),o=Y("path"),c=h(),d&&d.c(),s(n,"points","23 4 23 10 17 10"),s(n,"class","svelte-nsunc1"),s(i,"points","1 20 1 14 7 14"),s(i,"class","svelte-nsunc1"),s(o,"d","M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"),s(o,"class","svelte-nsunc1"),s(t,"width","16"),s(t,"height","16"),s(t,"viewBox","0 0 24 24"),s(t,"fill","none"),s(t,"stroke","currentColor"),s(t,"stroke-width","2"),s(t,"stroke-linecap","round"),s(t,"stroke-linejoin","round"),s(t,"class","svelte-nsunc1"),s(e,"class","header-sync-btn svelte-nsunc1"),e.disabled=l[72],s(e,"title",m("nav.syncNow"))},m(g,_){C(g,e,_),a(e,t),a(t,n),a(t,i),a(t,o),a(e,c),d&&d.m(e,null),u||(r=I(e,"click",l[157]),u=!0)},p(g,_){g[71].unpushedOps>0?d?d.p(g,_):(d=$n(g),d.c(),d.m(e,null)):d&&(d.d(1),d=null),_[2]&1024&&(e.disabled=g[72])},d(g){g&&w(e),d&&d.d(),u=!1,r()}}}function $n(l){let e,t=l[71].unpushedOps+"",n;return{c(){e=f("span"),n=F(t),s(e,"class","sync-badge svelte-nsunc1")},m(i,o){C(i,e,o),a(e,n)},p(i,o){o[2]&512&&t!==(t=i[71].unpushedOps+"")&&U(n,t)},d(i){i&&w(e)}}}function es(l){let e,t,n,i,o,c;return{c(){e=f("div"),t=F(l[19]),n=h(),i=f("button"),i.innerHTML='',s(i,"class","dismiss-btn svelte-nsunc1"),s(i,"aria-label","Dismiss"),s(e,"class","error-banner svelte-nsunc1"),s(e,"role","button"),s(e,"tabindex","0")},m(u,r){C(u,e,r),a(e,t),a(e,n),a(e,i),o||(c=[I(i,"click",qe(l[160])),I(e,"click",l[161]),I(e,"keydown",function(){Jt(rt(l[162]))&&rt(l[162]).apply(this,arguments)})],o=!0)},p(u,r){l=u,r[0]&524288&&U(t,l[19])},d(u){u&&w(e),o=!1,ve(c)}}}function fu(l){let e,t,n;function i(u,r){if(u[46])return bu;if(u[0].length>0)return gu;if(u[19])return hu}let o=i(l),c=o&&o(l);return{c(){e=f("div"),t=f("h2"),t.textContent=`${m("welcome.title")}`,n=h(),c&&c.c(),s(t,"class","svelte-nsunc1"),s(e,"class","welcome svelte-nsunc1")},m(u,r){C(u,e,r),a(e,t),a(e,n),c&&c.m(e,null)},p(u,r){o===(o=i(u))&&c?c.p(u,r):(c&&c.d(1),c=o&&o(u),c&&(c.c(),c.m(e,null)))},i:ce,o:ce,d(u){u&&w(e),c&&c.d()}}}function du(l){let e,t,n,i;function o(r,d){return r[4].length===0?yu:ku}let c=o(l),u=c(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${m("activity.title")}`,i=h(),u.c(),s(n,"class","svelte-nsunc1"),s(t,"class","activity-feed-header svelte-nsunc1"),s(e,"class","activity-feed svelte-nsunc1")},m(r,d){C(r,e,d),a(e,t),a(t,n),a(e,i),u.m(e,null)},p(r,d){c===(c=o(r))&&u?u.p(r,d):(u.d(1),u=c(r),u&&(u.c(),u.m(e,null)))},i:ce,o:ce,d(r){r&&w(e),u.d()}}}function pu(l){let e,t,n,i,o,c=l[3].date+"",u,r,d,g,_=l[3].summary&&ns(l),v=l[33].length>0&&cs(l);function k(j,T){return j[3].groups&&j[3].groups.length>0?Cu:wu}let b=k(l),y=b(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${m("today.title")}`,i=h(),o=f("span"),u=F(c),r=h(),_&&_.c(),d=h(),v&&v.c(),g=h(),y.c(),s(n,"class","svelte-nsunc1"),s(o,"class","today-date svelte-nsunc1"),s(t,"class","today-header svelte-nsunc1"),s(e,"class","today-dashboard svelte-nsunc1")},m(j,T){C(j,e,T),a(e,t),a(t,n),a(t,i),a(t,o),a(o,u),a(e,r),_&&_.m(e,null),a(e,d),v&&v.m(e,null),a(e,g),y.m(e,null)},p(j,T){T[0]&8&&c!==(c=j[3].date+"")&&U(u,c),j[3].summary?_?_.p(j,T):(_=ns(j),_.c(),_.m(e,d)):_&&(_.d(1),_=null),j[33].length>0?v?v.p(j,T):(v=cs(j),v.c(),v.m(e,g)):v&&(v.d(1),v=null),b===(b=k(j))&&y?y.p(j,T):(y.d(1),y=b(j),y&&(y.c(),y.m(e,null)))},i:ce,o:ce,d(j){j&&w(e),_&&_.d(),v&&v.d(),y.d()}}}function mu(l){let e,t,n,i,o,c,u,r,d,g,_,v,k,b,y,j,T,M,E,N,D,A,S,O,R,B,P,K,q,W,Z,G,H,z,X,V,le,je,se,Q,te,ie,we,Le,Be,Re,J,x,fe,me,Fe,Se,Ue,tt,Ke,Te,Pe,He,Ve,Ne,Oe,pe,Ce;function ke(ae,Me){return ae[12]?Nu:Su}let Xe=ke(l),Ee=Xe(l),Ie=l[13]&&ks(l),ge=l[33].length>0&&ys(l),de=l[6]&&Ss(l);function re(ae,Me){return ae[5].length===0?Mu:Eu}let We=re(l),Ae=We(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${m("journal.title")}`,i=h(),o=f("div"),c=f("div"),c.textContent=`${m("journal.filterHeading")}`,u=h(),r=f("div"),d=f("label"),g=f("span"),g.textContent=`${m("journal.dateFrom")}`,_=h(),v=f("input"),k=h(),b=f("label"),y=f("span"),y.textContent=`${m("journal.dateTo")}`,j=h(),T=f("input"),M=h(),E=f("label"),N=f("span"),N.textContent=`${m("journal.node")}`,D=h(),A=f("div"),Ee.c(),S=h(),O=f("label"),R=f("input"),B=h(),P=f("span"),P.textContent=`${m("journal.includeChildren")}`,K=h(),q=f("label"),W=f("span"),W.textContent=`${m("journal.billable")}`,Z=h(),G=f("select"),H=f("option"),H.textContent=`${m("common.all")}`,z=f("option"),z.textContent=`${m("journal.billableYes")}`,X=f("option"),X.textContent=`${m("journal.billableNo")}`,V=h(),le=f("label"),je=f("span"),je.textContent=`${m("journal.approx")}`,se=h(),Q=f("select"),te=f("option"),te.textContent=`${m("common.all")}`,ie=f("option"),ie.textContent=`${m("journal.approxExact")}`,we=f("option"),we.textContent=`${m("journal.approxEstimated")}`,Le=h(),Be=f("button"),Be.textContent=`${m("journal.filter")}`,Re=h(),J=f("button"),J.textContent=`${m("journal.reset")}`,x=h(),fe=f("div"),me=f("div"),me.textContent=`${m("journal.exportHeading")}`,Fe=h(),Se=f("div"),Ue=f("button"),Ue.textContent=`${m("journal.exportCSV")}`,tt=h(),Ke=f("button"),Ke.textContent=`${m("journal.exportMarkdown")}`,Te=h(),Pe=f("button"),Pe.textContent="PDF",He=h(),Ie&&Ie.c(),Ve=h(),ge&&ge.c(),Ne=h(),de&&de.c(),Oe=h(),Ae.c(),s(n,"class","svelte-nsunc1"),s(c,"class","journal-filter-heading svelte-nsunc1"),s(g,"class","label-text svelte-nsunc1"),s(v,"type","date"),s(v,"class","svelte-nsunc1"),s(d,"class","svelte-nsunc1"),s(y,"class","label-text svelte-nsunc1"),s(T,"type","date"),s(T,"class","svelte-nsunc1"),s(b,"class","svelte-nsunc1"),s(N,"class","label-text svelte-nsunc1"),s(A,"class","journal-node-picker svelte-nsunc1"),Ge(A,"position","relative"),s(E,"class","svelte-nsunc1"),s(R,"type","checkbox"),s(R,"class","journal-include-chk svelte-nsunc1"),s(P,"class","svelte-nsunc1"),s(O,"class","checkbox-label svelte-nsunc1"),s(W,"class","label-text svelte-nsunc1"),H.__value="all",be(H,H.__value),s(H,"class","svelte-nsunc1"),z.__value="yes",be(z,z.__value),s(z,"class","svelte-nsunc1"),X.__value="no",be(X,X.__value),s(X,"class","svelte-nsunc1"),s(G,"class","svelte-nsunc1"),l[10]===void 0&&Pt(()=>l[211].call(G)),s(q,"title",m("journal.billableHint")),s(q,"class","svelte-nsunc1"),s(je,"class","label-text svelte-nsunc1"),te.__value="all",be(te,te.__value),s(te,"class","svelte-nsunc1"),ie.__value="no",be(ie,ie.__value),s(ie,"class","svelte-nsunc1"),we.__value="yes",be(we,we.__value),s(we,"class","svelte-nsunc1"),s(Q,"class","svelte-nsunc1"),l[11]===void 0&&Pt(()=>l[212].call(Q)),s(le,"title",m("journal.approxHint")),s(le,"class","svelte-nsunc1"),s(Be,"class","btn btn-sm svelte-nsunc1"),s(J,"class","btn btn-sm svelte-nsunc1"),s(r,"class","journal-filters-row svelte-nsunc1"),s(o,"class","journal-filter-section svelte-nsunc1"),s(me,"class","journal-export-heading svelte-nsunc1"),s(Ue,"class","btn btn-sm svelte-nsunc1"),s(Ke,"class","btn btn-sm svelte-nsunc1"),s(Pe,"class","btn btn-sm svelte-nsunc1"),s(Se,"class","journal-export-row svelte-nsunc1"),s(fe,"class","journal-export-section svelte-nsunc1"),s(t,"class","journal-header svelte-nsunc1"),s(e,"class","journal-screen svelte-nsunc1")},m(ae,Me){C(ae,e,Me),a(e,t),a(t,n),a(t,i),a(t,o),a(o,c),a(o,u),a(o,r),a(r,d),a(d,g),a(d,_),a(d,v),be(v,l[7]),a(r,k),a(r,b),a(b,y),a(b,j),a(b,T),be(T,l[8]),a(r,M),a(r,E),a(E,N),a(E,D),a(E,A),Ee.m(A,null),a(r,S),a(r,O),a(O,R),R.checked=l[9],a(O,B),a(O,P),a(r,K),a(r,q),a(q,W),a(q,Z),a(q,G),a(G,H),a(G,z),a(G,X),At(G,l[10],!0),a(r,V),a(r,le),a(le,je),a(le,se),a(le,Q),a(Q,te),a(Q,ie),a(Q,we),At(Q,l[11],!0),a(r,Le),a(r,Be),a(r,Re),a(r,J),a(t,x),a(t,fe),a(fe,me),a(fe,Fe),a(fe,Se),a(Se,Ue),a(Se,tt),a(Se,Ke),a(Se,Te),a(Se,Pe),a(Se,He),Ie&&Ie.m(Se,null),a(e,Ve),ge&&ge.m(e,null),a(e,Ne),de&&de.m(e,null),a(e,Oe),Ae.m(e,null),pe||(Ce=[I(v,"input",l[204]),I(T,"input",l[205]),I(R,"change",l[210]),I(G,"change",l[211]),I(Q,"change",l[212]),I(Be,"click",l[130]),I(J,"click",l[137]),I(Ue,"click",l[213]),I(Ke,"click",l[214]),I(Pe,"click",l[215])],pe=!0)},p(ae,Me){Me[0]&128&&be(v,ae[7]),Me[0]&256&&be(T,ae[8]),Xe===(Xe=ke(ae))&&Ee?Ee.p(ae,Me):(Ee.d(1),Ee=Xe(ae),Ee&&(Ee.c(),Ee.m(A,null))),Me[0]&512&&(R.checked=ae[9]),Me[0]&1024&&At(G,ae[10]),Me[0]&2048&&At(Q,ae[11]),ae[13]?Ie?Ie.p(ae,Me):(Ie=ks(ae),Ie.c(),Ie.m(Se,null)):Ie&&(Ie.d(1),Ie=null),ae[33].length>0?ge?ge.p(ae,Me):(ge=ys(ae),ge.c(),ge.m(e,Ne)):ge&&(ge.d(1),ge=null),ae[6]?de?de.p(ae,Me):(de=Ss(ae),de.c(),de.m(e,Oe)):de&&(de.d(1),de=null),We===(We=re(ae))&&Ae?Ae.p(ae,Me):(Ae.d(1),Ae=We(ae),Ae&&(Ae.c(),Ae.m(e,null)))},i:ce,o:ce,d(ae){ae&&w(e),Ee.d(),Ie&&Ie.d(),ge&&ge.d(),de&&de.d(),Ae.d(),pe=!1,ve(Ce)}}}function _u(l){let e,t,n,i,o,c,u=oe(l[79]),r=[];for(let v=0;v{g[b]=null}),$e()),~i?(o=g[i],o?o.p(v,k):(o=g[i]=d[i](v),o.c()),ue(o,1),o.m(n,null)):o=null)},i(v){c||(ue(o),c=!0)},o(v){_e(o),c=!1},d(v){v&&(w(e),w(t),w(n)),ze(r,v),~i&&g[i].d()}}}function vu(l){let e,t,n,i=l[24].title+"",o,c,u,r,d,g,_,v,k,b,y,j=l[24].dirty&&ai();return{c(){e=f("div"),t=f("div"),n=f("span"),o=F(i),c=h(),j&&j.c(),u=h(),r=f("div"),d=f("button"),d.textContent=`${m("common.save")}`,g=h(),_=f("button"),_.textContent=`${m("common.close")}`,v=h(),k=f("textarea"),s(n,"class","note-title svelte-nsunc1"),s(d,"class","btn btn-primary svelte-nsunc1"),s(_,"class","btn svelte-nsunc1"),s(r,"class","note-editor-actions svelte-nsunc1"),s(t,"class","note-editor-header svelte-nsunc1"),s(k,"class","note-textarea svelte-nsunc1"),s(k,"placeholder",m("note.placeholder")),s(e,"class","note-editor svelte-nsunc1")},m(T,M){C(T,e,M),a(e,t),a(t,n),a(n,o),a(t,c),j&&j.m(t,null),a(t,u),a(t,r),a(r,d),a(r,g),a(r,_),a(e,v),a(e,k),be(k,l[24].content),b||(y=[I(d,"click",l[126]),I(_,"click",l[124]),I(k,"input",l[163]),I(k,"input",l[125])],b=!0)},p(T,M){M[0]&16777216&&i!==(i=T[24].title+"")&&U(o,i),T[24].dirty?j||(j=ai(),j.c(),j.m(t,u)):j&&(j.d(1),j=null),M[0]&16777216&&be(k,T[24].content)},i:ce,o:ce,d(T){T&&w(e),j&&j.d(),b=!1,ve(y)}}}function hu(l){let e,t=m("common.error")+"",n,i,o;return{c(){e=f("p"),n=F(t),i=h(),o=F(l[19]),s(e,"class","error-text svelte-nsunc1")},m(c,u){C(c,e,u),a(e,n),a(e,i),a(e,o)},p(c,u){u[0]&524288&&U(o,c[19])},d(c){c&&w(e)}}}function gu(l){let e,t,n;return{c(){e=f("p"),e.textContent=`${m("welcome.selectSection")}`,t=h(),n=f("p"),n.textContent=`${m("welcome.createCase")}`,s(e,"class","svelte-nsunc1"),s(n,"class","hint svelte-nsunc1")},m(i,o){C(i,e,o),C(i,t,o),C(i,n,o)},p:ce,d(i){i&&(w(e),w(t),w(n))}}}function bu(l){let e;return{c(){e=f("p"),e.textContent=`${m("common.loading")}`,s(e,"class","svelte-nsunc1")},m(t,n){C(t,e,n)},p:ce,d(t){t&&w(e)}}}function ku(l){let e,t=oe(l[4]),n=[];for(let i=0;i0&&ss(l),o=l[3].summary.notes>0&&is(l),c=l[3].summary.files>0&&os(l);return{c(){e=f("div"),i&&i.c(),t=h(),o&&o.c(),n=h(),c&&c.c(),s(e,"class","today-summary svelte-nsunc1")},m(u,r){C(u,e,r),i&&i.m(e,null),a(e,t),o&&o.m(e,null),a(e,n),c&&c.m(e,null)},p(u,r){u[3].summary.changedCases>0?i?i.p(u,r):(i=ss(u),i.c(),i.m(e,t)):i&&(i.d(1),i=null),u[3].summary.notes>0?o?o.p(u,r):(o=is(u),o.c(),o.m(e,n)):o&&(o.d(1),o=null),u[3].summary.files>0?c?c.p(u,r):(c=os(u),c.c(),c.m(e,null)):c&&(c.d(1),c=null)},d(u){u&&w(e),i&&i.d(),o&&o.d(),c&&c.d()}}}function ss(l){let e,t=l[3].summary.changedCases+"",n,i,o=_t(l[3].summary.changedCases,m("today.plural.case_one"),m("today.plural.case_few"),m("today.plural.case_many"))+"",c;return{c(){e=f("span"),n=F(t),i=h(),c=F(o),s(e,"class","summary-chip svelte-nsunc1")},m(u,r){C(u,e,r),a(e,n),a(e,i),a(e,c)},p(u,r){r[0]&8&&t!==(t=u[3].summary.changedCases+"")&&U(n,t),r[0]&8&&o!==(o=_t(u[3].summary.changedCases,m("today.plural.case_one"),m("today.plural.case_few"),m("today.plural.case_many"))+"")&&U(c,o)},d(u){u&&w(e)}}}function is(l){let e,t=l[3].summary.notes+"",n,i,o=_t(l[3].summary.notes,m("today.plural.note_one"),m("today.plural.note_few"),m("today.plural.note_many"))+"",c;return{c(){e=f("span"),n=F(t),i=h(),c=F(o),s(e,"class","summary-chip svelte-nsunc1")},m(u,r){C(u,e,r),a(e,n),a(e,i),a(e,c)},p(u,r){r[0]&8&&t!==(t=u[3].summary.notes+"")&&U(n,t),r[0]&8&&o!==(o=_t(u[3].summary.notes,m("today.plural.note_one"),m("today.plural.note_few"),m("today.plural.note_many"))+"")&&U(c,o)},d(u){u&&w(e)}}}function os(l){let e,t=l[3].summary.files+"",n,i,o=_t(l[3].summary.files,m("today.plural.file_one"),m("today.plural.file_few"),m("today.plural.file_many"))+"",c;return{c(){e=f("span"),n=F(t),i=h(),c=F(o),s(e,"class","summary-chip svelte-nsunc1")},m(u,r){C(u,e,r),a(e,n),a(e,i),a(e,c)},p(u,r){r[0]&8&&t!==(t=u[3].summary.files+"")&&U(n,t),r[0]&8&&o!==(o=_t(u[3].summary.files,m("today.plural.file_one"),m("today.plural.file_few"),m("today.plural.file_many"))+"")&&U(c,o)},d(u){u&&w(e)}}}function cs(l){let e,t,n,i=oe(l[33]),o=[];for(let c=0;c0&&as(l);return{c(){e=f("div"),t=f("div"),n=f("div"),i=f("button"),c=F(o),u=h(),r=f("span"),g=F(d),_=h(),v=f("span"),b=F(k),y=h(),j=f("div"),T=f("input"),E=h(),N=f("span"),N.textContent=`${m("suggest.minutes")}`,D=h(),A=f("button"),A.textContent=`${m("suggest.apply")}`,S=h(),G&&G.c(),O=h(),s(i,"class","suggestion-node link-btn svelte-nsunc1"),s(r,"class","suggestion-summary svelte-nsunc1"),s(v,"class","suggestion-confidence svelte-nsunc1"),ye(v,"low",l[325].confidence==="low"),ye(v,"medium",l[325].confidence==="medium"),ye(v,"high",l[325].confidence==="high"),s(n,"class","suggestion-info svelte-nsunc1"),s(T,"type","number"),s(T,"class","suggestion-min-input svelte-nsunc1"),T.value=M=l[325].suggestedMin,s(T,"min","1"),s(T,"max","480"),s(N,"class","suggestion-min-label svelte-nsunc1"),s(A,"class","btn btn-sm btn-primary svelte-nsunc1"),s(j,"class","suggestion-actions svelte-nsunc1"),s(t,"class","suggestion-main svelte-nsunc1"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","suggestion-card svelte-nsunc1"),ye(e,"expanded",l[325]._expanded)},m(H,z){C(H,e,z),a(e,t),a(t,n),a(n,i),a(i,c),a(n,u),a(n,r),a(r,g),a(n,_),a(n,v),a(v,b),a(t,y),a(t,j),a(j,T),a(j,E),a(j,N),a(j,D),a(j,A),a(e,S),G&&G.m(e,null),a(e,O),R||(B=[I(i,"click",qe(P)),I(T,"change",qe(K)),I(A,"click",qe(q)),I(t,"click",W),I(t,"keydown",Z)],R=!0)},p(H,z){l=H,z[1]&4&&o!==(o=l[325].nodeTitle+"")&&U(c,o),z[1]&4&&d!==(d=l[325].summary+"")&&U(g,d),z[1]&4&&k!==(k=m("suggest.confidence."+l[325].confidence)+"")&&U(b,k),z[1]&4&&ye(v,"low",l[325].confidence==="low"),z[1]&4&&ye(v,"medium",l[325].confidence==="medium"),z[1]&4&&ye(v,"high",l[325].confidence==="high"),z[1]&4&&M!==(M=l[325].suggestedMin)&&T.value!==M&&(T.value=M),l[325]._expanded&&l[325].events&&l[325].events.length>0?G?G.p(l,z):(G=as(l),G.c(),G.m(e,O)):G&&(G.d(1),G=null),z[1]&4&&ye(e,"expanded",l[325]._expanded)},d(H){H&&w(e),G&&G.d(),R=!1,ve(B)}}}function wu(l){let e,t,n,i;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("today.empty")}`,n=h(),i=f("p"),i.textContent=`${m("today.emptyHint")}`,s(t,"class","svelte-nsunc1"),s(i,"class","hint svelte-nsunc1"),s(e,"class","today-empty svelte-nsunc1")},m(o,c){C(o,e,c),a(e,t),a(e,n),a(e,i)},p:ce,d(o){o&&w(e)}}}function Cu(l){let e,t,n=oe(l[3].groups),i=[];for(let c=0;c0&&vs(l);return{c(){for(let c=0;c0?o?o.p(c,u):(o=vs(c),o.c(),o.m(t.parentNode,t)):o&&(o.d(1),o=null)},d(c){c&&(w(e),w(t)),ze(i,c),o&&o.d(c)}}}function ds(l){let e,t=l[354].events.length+"",n,i,o=_t(l[354].events.length,m("today.plural.event_one"),m("today.plural.event_few"),m("today.plural.event_many"))+"",c;return{c(){e=f("span"),n=F(t),i=h(),c=F(o),s(e,"class","today-case-count svelte-nsunc1")},m(u,r){C(u,e,r),a(e,n),a(e,i),a(e,c)},p(u,r){r[0]&8&&t!==(t=u[354].events.length+"")&&U(n,t),r[0]&8&&o!==(o=_t(u[354].events.length,m("today.plural.event_one"),m("today.plural.event_few"),m("today.plural.event_many"))+"")&&U(c,o)},d(u){u&&w(e)}}}function ju(l){let e;return{c(){e=f("div"),e.textContent=`${m("today.changedCases")}`,s(e,"class","today-events-empty svelte-nsunc1")},m(t,n){C(t,e,n)},p:ce,d(t){t&&w(e)}}}function Tu(l){let e,t=oe(l[354].events),n=[];for(let i=0;i0?Tu:ju}let A=D(l),S=A(l);return{c(){e=f("div"),t=f("div"),n=f("span"),o=F(i),c=h(),u=f("span"),d=F(r),g=h(),M&&M.c(),_=h(),v=f("span"),b=F(k),y=h(),S.c(),s(n,"class","today-case-title svelte-nsunc1"),s(u,"class","today-case-type svelte-nsunc1"),s(v,"class","today-case-time svelte-nsunc1"),s(t,"class","today-case-header svelte-nsunc1"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","today-case svelte-nsunc1")},m(O,R){C(O,e,R),a(e,t),a(t,n),a(n,o),a(t,c),a(t,u),a(u,d),a(t,g),M&&M.m(t,null),a(t,_),a(t,v),a(v,b),a(e,y),S.m(e,null),j||(T=[I(t,"click",E),I(t,"keydown",N)],j=!0)},p(O,R){l=O,R[0]&8&&i!==(i=l[354].nodeTitle+"")&&U(o,i),R[0]&8&&r!==(r=l[144](l[354].nodeKind)+"")&&U(d,r),l[354].events?M?M.p(l,R):(M=ds(l),M.c(),M.m(t,_)):M&&(M.d(1),M=null),R[0]&8&&k!==(k=Ye(l[354].lastActivityAt)+"")&&U(b,k),A===(A=D(l))&&S?S.p(l,R):(S.d(1),S=A(l),S&&(S.c(),S.m(e,null)))},d(O){O&&w(e),M&&M.d(),S.d(),j=!1,ve(T)}}}function vs(l){let e,t,n,i=oe(l[3].events),o=[];for(let c=0;c0&&ws(l);return{c(){e=f("div"),t=f("div"),n=f("div"),i=f("button"),c=F(o),u=h(),r=f("span"),g=F(d),_=h(),v=f("span"),b=F(k),y=h(),j=f("div"),T=f("input"),E=h(),N=f("span"),N.textContent=`${m("suggest.minutes")}`,D=h(),A=f("button"),A.textContent=`${m("suggest.apply")}`,S=h(),G&&G.c(),O=h(),s(i,"class","suggestion-node link-btn svelte-nsunc1"),s(r,"class","suggestion-summary svelte-nsunc1"),s(v,"class","suggestion-confidence svelte-nsunc1"),ye(v,"low",l[325].confidence==="low"),ye(v,"medium",l[325].confidence==="medium"),ye(v,"high",l[325].confidence==="high"),s(n,"class","suggestion-info svelte-nsunc1"),s(T,"type","number"),s(T,"class","suggestion-min-input svelte-nsunc1"),T.value=M=l[325].suggestedMin,s(T,"min","1"),s(T,"max","480"),s(N,"class","suggestion-min-label svelte-nsunc1"),s(A,"class","btn btn-sm btn-primary svelte-nsunc1"),s(j,"class","suggestion-actions svelte-nsunc1"),s(t,"class","suggestion-main svelte-nsunc1"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","suggestion-card svelte-nsunc1"),ye(e,"expanded",l[325]._expanded)},m(H,z){C(H,e,z),a(e,t),a(t,n),a(n,i),a(i,c),a(n,u),a(n,r),a(r,g),a(n,_),a(n,v),a(v,b),a(t,y),a(t,j),a(j,T),a(j,E),a(j,N),a(j,D),a(j,A),a(e,S),G&&G.m(e,null),a(e,O),R||(B=[I(i,"click",qe(P)),I(T,"change",qe(K)),I(A,"click",qe(q)),I(t,"click",W),I(t,"keydown",Z)],R=!0)},p(H,z){l=H,z[1]&4&&o!==(o=l[325].nodeTitle+"")&&U(c,o),z[1]&4&&d!==(d=l[325].summary+"")&&U(g,d),z[1]&4&&k!==(k=m("suggest.confidence."+l[325].confidence)+"")&&U(b,k),z[1]&4&&ye(v,"low",l[325].confidence==="low"),z[1]&4&&ye(v,"medium",l[325].confidence==="medium"),z[1]&4&&ye(v,"high",l[325].confidence==="high"),z[1]&4&&M!==(M=l[325].suggestedMin)&&T.value!==M&&(T.value=M),l[325]._expanded&&l[325].events&&l[325].events.length>0?G?G.p(l,z):(G=ws(l),G.c(),G.m(e,O)):G&&(G.d(1),G=null),z[1]&4&&ye(e,"expanded",l[325]._expanded)},d(H){H&&w(e),G&&G.d(),R=!1,ve(B)}}}function Ss(l){let e,t,n=m("journal.total")+"",i,o,c=Math.floor(l[6].totalMinutes/60)+"",u,r,d=l[6].totalMinutes%60+"",g,_,v=l[6].totalEntries+"",k,b,y=m("worklog.min")+"",j,T,M,E,N=l[6].byDay&&l[6].byDay.length>0&&Ns(l),D=l[6].byNode&&l[6].byNode.length>0&&Ms(l);return{c(){e=f("div"),t=f("div"),i=F(n),o=F(": "),u=F(c),r=F("ч "),g=F(d),_=F("м ("),k=F(v),b=h(),j=F(y),T=F(")"),M=h(),N&&N.c(),E=h(),D&&D.c(),s(t,"class","summary-total svelte-nsunc1"),s(e,"class","journal-summary svelte-nsunc1")},m(A,S){C(A,e,S),a(e,t),a(t,i),a(t,o),a(t,u),a(t,r),a(t,g),a(t,_),a(t,k),a(t,b),a(t,j),a(t,T),a(e,M),N&&N.m(e,null),a(e,E),D&&D.m(e,null)},p(A,S){S[0]&64&&c!==(c=Math.floor(A[6].totalMinutes/60)+"")&&U(u,c),S[0]&64&&d!==(d=A[6].totalMinutes%60+"")&&U(g,d),S[0]&64&&v!==(v=A[6].totalEntries+"")&&U(k,v),A[6].byDay&&A[6].byDay.length>0?N?N.p(A,S):(N=Ns(A),N.c(),N.m(e,E)):N&&(N.d(1),N=null),A[6].byNode&&A[6].byNode.length>0?D?D.p(A,S):(D=Ms(A),D.c(),D.m(e,null)):D&&(D.d(1),D=null)},d(A){A&&w(e),N&&N.d(),D&&D.d()}}}function Ns(l){let e,t,n,i=oe(l[6].byDay),o=[];for(let c=0;c0,P,K,q,W=B&&Vs(l);function Z(z,X){return z[26].length===0?Vu:Hu}let G=Z(l),H=G(l);return{c(){e=f("div"),t=f("div"),n=f("input"),i=h(),o=f("input"),c=h(),u=f("input"),r=h(),d=f("textarea"),g=h(),_=f("label"),v=f("input"),k=h(),b=f("span"),b.textContent=`${m("journal.billableYes")}`,y=h(),j=f("label"),T=f("input"),M=h(),E=f("span"),E.textContent=`${m("journal.approxEstimated")}`,N=h(),D=f("button"),S=F(A),R=h(),W&&W.c(),P=h(),H.c(),s(n,"type","text"),s(n,"placeholder",m("worklog.whatDone")),s(n,"class","svelte-nsunc1"),s(o,"type","number"),s(o,"placeholder",m("worklog.minutes")),s(o,"min","1"),s(o,"class","svelte-nsunc1"),s(u,"type","date"),s(u,"class","svelte-nsunc1"),s(d,"placeholder",m("worklog.details")),s(d,"class","svelte-nsunc1"),s(v,"type","checkbox"),s(v,"class","svelte-nsunc1"),s(b,"class","svelte-nsunc1"),s(_,"class","checkbox-label-inline svelte-nsunc1"),s(T,"type","checkbox"),s(T,"class","svelte-nsunc1"),s(E,"class","svelte-nsunc1"),s(j,"class","checkbox-label-inline svelte-nsunc1"),s(D,"class","btn btn-primary svelte-nsunc1"),D.disabled=O=!l[28].trim()||!l[27],s(t,"class","worklog-form svelte-nsunc1"),s(e,"class","worklog-tab svelte-nsunc1")},m(z,X){C(z,e,X),a(e,t),a(t,n),be(n,l[28]),a(t,i),a(t,o),be(o,l[27]),a(t,c),a(t,u),be(u,l[29]),a(t,r),a(t,d),be(d,l[30]),a(t,g),a(t,_),a(_,v),v.checked=l[31],a(_,k),a(_,b),a(t,y),a(t,j),a(j,T),T.checked=l[32],a(j,M),a(j,E),a(t,N),a(t,D),a(D,S),a(e,R),W&&W.m(e,null),a(e,P),H.m(e,null),K||(q=[I(n,"input",l[190]),I(o,"input",l[191]),I(u,"input",l[192]),I(d,"input",l[193]),I(v,"change",l[194]),I(T,"change",l[195]),I(D,"click",l[127])],K=!0)},p(z,X){X[0]&268435456&&n.value!==z[28]&&be(n,z[28]),X[0]&134217728&&$t(o.value)!==z[27]&&be(o,z[27]),X[0]&536870912&&be(u,z[29]),X[0]&1073741824&&be(d,z[30]),X[1]&1&&(v.checked=z[31]),X[1]&2&&(T.checked=z[32]),X[0]&402653184&&O!==(O=!z[28].trim()||!z[27])&&(D.disabled=O),X[0]&2097152|X[1]&4&&(B=z[21]&&z[33].filter(z[158]).length>0),B?W?W.p(z,X):(W=Vs(z),W.c(),W.m(e,P)):W&&(W.d(1),W=null),G===(G=Z(z))&&H?H.p(z,X):(H.d(1),H=G(z),H&&(H.c(),H.m(e,null)))},i:ce,o:ce,d(z){z&&w(e),W&&W.d(),H.d(),K=!1,ve(q)}}}function Lu(l){let e,t,n,i,o,c;function u(g,_){return g[25].length===0?Uu:Wu}let r=u(l),d=r(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`${m("action.addAction")}`,i=h(),d.c(),s(n,"class","btn btn-primary svelte-nsunc1"),s(t,"class","tab-toolbar svelte-nsunc1"),s(e,"class","actions-tab svelte-nsunc1")},m(g,_){C(g,e,_),a(e,t),a(t,n),a(e,i),d.m(e,null),o||(c=I(n,"click",l[145]),o=!0)},p(g,_){r===(r=u(g))&&d?d.p(g,_):(d.d(1),d=r(g),d&&(d.c(),d.m(e,null)))},i:ce,o:ce,d(g){g&&w(e),d.d(),o=!1,c()}}}function Pu(l){let e,t,n,i=m("file.addFile")+"",o,c,u,r=m("file.addFolder")+"",d,g,_,v,k,b,y,j,T,M,E,N,D,A=l[59].items.length>0&&xs(l);const S=[Gu,Ku],O=[];function R(K,q){return K[51]?0:1}b=R(l),y=O[b]=S[b](l);let B=l[47]&&!l[49]&&ei(),P=l[55]&&ti(l);return{c(){e=f("div"),t=f("div"),n=f("button"),o=F(i),c=h(),u=f("button"),d=F(r),g=h(),_=f("button"),_.textContent=`${m("file.newFile")}`,v=h(),A&&A.c(),k=h(),y.c(),j=h(),B&&B.c(),T=h(),P&&P.c(),M=ot(),s(n,"class","btn btn-primary svelte-nsunc1"),n.disabled=l[47],s(u,"class","btn svelte-nsunc1"),u.disabled=l[47],s(_,"class","btn svelte-nsunc1"),s(t,"class","tab-toolbar svelte-nsunc1"),s(e,"class","files-tab svelte-nsunc1")},m(K,q){C(K,e,q),a(e,t),a(t,n),a(n,o),a(t,c),a(t,u),a(u,d),a(t,g),a(t,_),a(t,v),A&&A.m(t,null),a(e,k),O[b].m(e,null),a(e,j),B&&B.m(e,null),C(K,T,q),P&&P.m(K,q),C(K,M,q),E=!0,N||(D=[I(n,"click",l[138]),I(u,"click",l[139]),I(_,"click",l[88])],N=!0)},p(K,q){(!E||q[1]&65536)&&(n.disabled=K[47]),(!E||q[1]&65536)&&(u.disabled=K[47]),K[59].items.length>0?A?A.p(K,q):(A=xs(K),A.c(),A.m(t,null)):A&&(A.d(1),A=null);let W=b;b=R(K),b===W?O[b].p(K,q):(xe(),_e(O[W],1,1,()=>{O[W]=null}),$e(),y=O[b],y?y.p(K,q):(y=O[b]=S[b](K),y.c()),ue(y,1),y.m(e,j)),K[47]&&!K[49]?B||(B=ei(),B.c(),B.m(e,null)):B&&(B.d(1),B=null),K[55]?P?(P.p(K,q),q[1]&16777216&&ue(P,1)):(P=ti(K),P.c(),ue(P,1),P.m(M.parentNode,M)):P&&(xe(),_e(P,1,1,()=>{P=null}),$e())},i(K){E||(ue(y),ue(P),E=!0)},o(K){_e(y),_e(P),E=!1},d(K){K&&(w(e),w(T),w(M)),A&&A.d(),O[b].d(),B&&B.d(),P&&P.d(K),N=!1,ve(D)}}}function Ou(l){let e,t,n,i,o,c,u,r=l[40]&&li(l);function d(v,k){return v[23].length===0&&!v[40]?Qu:Zu}let g=d(l),_=g(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`${m("note.add")}`,i=h(),r&&r.c(),o=h(),_.c(),s(n,"class","btn btn-primary svelte-nsunc1"),s(t,"class","tab-toolbar svelte-nsunc1"),s(e,"class","notes-tab svelte-nsunc1")},m(v,k){C(v,e,k),a(e,t),a(t,n),a(e,i),r&&r.m(e,null),a(e,o),_.m(e,null),c||(u=I(n,"click",l[120]),c=!0)},p(v,k){v[40]?r?r.p(v,k):(r=li(v),r.c(),r.m(e,o)):r&&(r.d(1),r=null),g===(g=d(v))&&_?_.p(v,k):(_.d(1),_=g(v),_&&(_.c(),_.m(e,null)))},i:ce,o:ce,d(v){v&&w(e),r&&r.d(),_.d(),c=!1,u()}}}function Ru(l){let e,t,n=l[21].title+"",i,o,c,u,r,d,g=l[144](l[21].type)+"",_,v,k,b,y,j=(l[21].section||"—")+"",T,M,E,N,D,A=ft(l[21].createdAt)+"",S,O,R,B,P,K,q,W,Z=m("overview.newNote")+"",G,H,z,X,V,le,je=m("overview.addFile")+"",se,Q,te,ie,we,Le,Be=m("overview.addAction")+"",Re,J,x,fe,me,Fe,Se,Ue=m("overview.logTime")+"",tt,Ke,Te,Pe,He,Ve=l[23].length>0&&si(l),Ne=l[26].length>0&&oi(l);return{c(){e=f("div"),t=f("h2"),i=F(n),o=h(),c=f("div"),u=f("div"),r=f("span"),r.textContent=`${m("overview.type")}`,d=f("span"),_=F(g),v=h(),k=f("div"),b=f("span"),b.textContent=`${m("overview.section")}`,y=f("span"),T=F(j),M=h(),E=f("div"),N=f("span"),N.textContent=`${m("overview.created")}`,D=f("span"),S=F(A),O=h(),R=f("div"),B=f("button"),P=Y("svg"),K=Y("path"),q=Y("path"),W=h(),G=F(Z),H=h(),z=f("button"),X=Y("svg"),V=Y("path"),le=h(),se=F(je),Q=h(),te=f("button"),ie=Y("svg"),we=Y("polygon"),Le=h(),Re=F(Be),J=h(),x=f("button"),fe=Y("svg"),me=Y("circle"),Fe=Y("polyline"),Se=h(),tt=F(Ue),Ke=h(),Ve&&Ve.c(),Te=h(),Ne&&Ne.c(),s(t,"class","svelte-nsunc1"),s(r,"class","meta-label svelte-nsunc1"),s(d,"class","svelte-nsunc1"),s(u,"class","meta-item svelte-nsunc1"),s(b,"class","meta-label svelte-nsunc1"),s(y,"class","svelte-nsunc1"),s(k,"class","meta-item svelte-nsunc1"),s(N,"class","meta-label svelte-nsunc1"),s(D,"class","svelte-nsunc1"),s(E,"class","meta-item svelte-nsunc1"),s(c,"class","meta-grid svelte-nsunc1"),s(K,"d","M12 20h9"),s(K,"class","svelte-nsunc1"),s(q,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),s(q,"class","svelte-nsunc1"),s(P,"width","16"),s(P,"height","16"),s(P,"viewBox","0 0 24 24"),s(P,"fill","none"),s(P,"stroke","currentColor"),s(P,"stroke-width","2"),s(P,"stroke-linecap","round"),s(P,"stroke-linejoin","round"),s(P,"class","svelte-nsunc1"),s(B,"class","qa-btn svelte-nsunc1"),s(V,"d","M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"),s(V,"class","svelte-nsunc1"),s(X,"width","16"),s(X,"height","16"),s(X,"viewBox","0 0 24 24"),s(X,"fill","none"),s(X,"stroke","currentColor"),s(X,"stroke-width","2"),s(X,"stroke-linecap","round"),s(X,"stroke-linejoin","round"),s(X,"class","svelte-nsunc1"),s(z,"class","qa-btn svelte-nsunc1"),s(we,"points","13 2 3 14 12 14 11 22 21 10 12 10 13 2"),s(we,"class","svelte-nsunc1"),s(ie,"width","16"),s(ie,"height","16"),s(ie,"viewBox","0 0 24 24"),s(ie,"fill","none"),s(ie,"stroke","currentColor"),s(ie,"stroke-width","2"),s(ie,"stroke-linecap","round"),s(ie,"stroke-linejoin","round"),s(ie,"class","svelte-nsunc1"),s(te,"class","qa-btn svelte-nsunc1"),s(me,"cx","12"),s(me,"cy","12"),s(me,"r","10"),s(me,"class","svelte-nsunc1"),s(Fe,"points","12 6 12 12 16 14"),s(Fe,"class","svelte-nsunc1"),s(fe,"width","16"),s(fe,"height","16"),s(fe,"viewBox","0 0 24 24"),s(fe,"fill","none"),s(fe,"stroke","currentColor"),s(fe,"stroke-width","2"),s(fe,"stroke-linecap","round"),s(fe,"stroke-linejoin","round"),s(fe,"class","svelte-nsunc1"),s(x,"class","qa-btn svelte-nsunc1"),s(R,"class","quick-actions svelte-nsunc1"),s(e,"class","overview svelte-nsunc1")},m(Oe,pe){C(Oe,e,pe),a(e,t),a(t,i),a(e,o),a(e,c),a(c,u),a(u,r),a(u,d),a(d,_),a(c,v),a(c,k),a(k,b),a(k,y),a(y,T),a(c,M),a(c,E),a(E,N),a(E,D),a(D,S),a(e,O),a(e,R),a(R,B),a(B,P),a(P,K),a(P,q),a(B,W),a(B,G),a(R,H),a(R,z),a(z,X),a(X,V),a(z,le),a(z,se),a(R,Q),a(R,te),a(te,ie),a(ie,we),a(te,Le),a(te,Re),a(R,J),a(R,x),a(x,fe),a(fe,me),a(fe,Fe),a(x,Se),a(x,tt),a(e,Ke),Ve&&Ve.m(e,null),a(e,Te),Ne&&Ne.m(e,null),Pe||(He=[I(B,"click",l[165]),I(z,"click",l[166]),I(te,"click",l[145]),I(x,"click",l[167])],Pe=!0)},p(Oe,pe){pe[0]&2097152&&n!==(n=Oe[21].title+"")&&U(i,n),pe[0]&2097152&&g!==(g=Oe[144](Oe[21].type)+"")&&U(_,g),pe[0]&2097152&&j!==(j=(Oe[21].section||"—")+"")&&U(T,j),pe[0]&2097152&&A!==(A=ft(Oe[21].createdAt)+"")&&U(S,A),Oe[23].length>0?Ve?Ve.p(Oe,pe):(Ve=si(Oe),Ve.c(),Ve.m(e,Te)):Ve&&(Ve.d(1),Ve=null),Oe[26].length>0?Ne?Ne.p(Oe,pe):(Ne=oi(Oe),Ne.c(),Ne.m(e,null)):Ne&&(Ne.d(1),Ne=null)},i:ce,o:ce,d(Oe){Oe&&w(e),Ve&&Ve.d(),Ne&&Ne.d(),Pe=!1,ve(He)}}}function zu(l){let e,t=oe(l[17]),n=[];for(let i=0;i0&&Ws(l);return{c(){e=f("div"),t=f("div"),n=f("div"),i=f("span"),c=F(o),u=h(),r=f("span"),g=F(d),_=h(),k=F(v),b=F(" · "),j=F(y),T=h(),M=f("div"),E=f("button"),E.textContent=`${m("worklog.apply")}`,N=h(),P&&P.c(),D=h(),s(i,"class","suggestion-summary svelte-nsunc1"),s(r,"class","suggestion-meta svelte-nsunc1"),s(n,"class","suggestion-info svelte-nsunc1"),s(E,"class","btn btn-sm btn-primary svelte-nsunc1"),s(M,"class","suggestion-actions svelte-nsunc1"),s(t,"class","suggestion-main svelte-nsunc1"),s(t,"role","button"),s(t,"tabindex","0"),s(e,"class","suggestion-card svelte-nsunc1"),ye(e,"expanded",l[325]._expanded)},m(K,q){C(K,e,q),a(e,t),a(t,n),a(n,i),a(i,c),a(n,u),a(n,r),a(r,g),a(r,_),a(r,k),a(r,b),a(r,j),a(t,T),a(t,M),a(M,E),a(e,N),P&&P.m(e,null),a(e,D),A||(S=[I(E,"click",qe(O)),I(t,"click",R),I(t,"keydown",B)],A=!0)},p(K,q){l=K,q[0]&2097152|q[1]&4&&o!==(o=l[325].summary+"")&&U(c,o),q[0]&2097152|q[1]&4&&d!==(d=l[325].suggestedMin+"")&&U(g,d),q[0]&2097152|q[1]&4&&y!==(y=m("suggest.confidence."+l[325].confidence)+"")&&U(j,y),l[325]._expanded&&l[325].events&&l[325].events.length>0?P?P.p(l,q):(P=Ws(l),P.c(),P.m(e,D)):P&&(P.d(1),P=null),q[0]&2097152|q[1]&4&&ye(e,"expanded",l[325]._expanded)},d(K){K&&w(e),P&&P.d(),A=!1,ve(S)}}}function Hu(l){let e,t=oe(l[26]),n=[];for(let i=0;i',E=h(),s(n,"class","action-title svelte-nsunc1"),s(u,"class","action-type svelte-nsunc1"),s(_,"class","action-data svelte-nsunc1"),s(t,"class","action-info svelte-nsunc1"),s(j,"class","btn btn-sm svelte-nsunc1"),s(M,"class","btn btn-sm btn-danger svelte-nsunc1"),s(y,"class","action-btns svelte-nsunc1"),s(e,"class","action-card svelte-nsunc1")},m(O,R){C(O,e,R),a(e,t),a(t,n),a(n,o),a(t,c),a(t,u),a(u,d),a(t,g),a(t,_),a(_,k),a(e,b),a(e,y),a(y,j),a(y,T),a(y,M),a(e,E),N||(D=[I(j,"click",A),I(M,"click",S)],N=!0)},p(O,R){l=O,R[0]&33554432&&i!==(i=l[320].title+"")&&U(o,i),R[0]&33554432&&r!==(r=l[149](l[320].type)+"")&&U(d,r),R[0]&33554432&&v!==(v=l[320].data+"")&&U(k,v)},d(O){O&&w(e),N=!1,ve(D)}}}function xs(l){let e,t=m("common.paste")+"",n,i,o=l[59].items.length+"",c,u,r;return{c(){e=f("button"),n=F(t),i=h(),c=F(o),s(e,"class","btn svelte-nsunc1")},m(d,g){C(d,e,g),a(e,n),a(e,i),a(e,c),u||(r=I(e,"click",l[93]),u=!0)},p(d,g){g[1]&268435456&&o!==(o=d[59].items.length+"")&&U(c,o)},d(d){d&&w(e),u=!1,r()}}}function Ku(l){let e,t,n,i,o,c,u;const r=[Ju,qu],d=[];function g(b,y){return b[53].length>0?0:1}e=g(l),t=d[e]=r[e](l);const _=[Xu,Yu],v=[];function k(b,y){return b[54].length===0?0:1}return i=k(l),o=v[i]=_[i](l),{c(){t.c(),n=h(),o.c(),c=ot()},m(b,y){d[e].m(b,y),C(b,n,y),v[i].m(b,y),C(b,c,y),u=!0},p(b,y){let j=e;e=g(b),e===j?d[e].p(b,y):(xe(),_e(d[j],1,1,()=>{d[j]=null}),$e(),t=d[e],t?t.p(b,y):(t=d[e]=r[e](b),t.c()),ue(t,1),t.m(n.parentNode,n));let T=i;i=k(b),i===T?v[i].p(b,y):(xe(),_e(v[T],1,1,()=>{v[T]=null}),$e(),o=v[i],o?o.p(b,y):(o=v[i]=_[i](b),o.c()),ue(o,1),o.m(c.parentNode,c))},i(b){u||(ue(t),ue(o),u=!0)},o(b){_e(t),_e(o),u=!1},d(b){b&&(w(n),w(c)),d[e].d(b),v[i].d(b)}}}function Gu(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("common.loading")}`,s(t,"class","svelte-nsunc1"),s(e,"class","empty-state svelte-nsunc1")},m(n,i){C(n,e,i),a(e,t)},p:ce,i:ce,o:ce,d(n){n&&w(e)}}}function qu(l){let e,t;return e=new Wi({props:{crumbs:[{name:m("file.root")}]}}),{c(){ct(e.$$.fragment)},m(n,i){nt(e,n,i),t=!0},p:ce,i(n){t||(ue(e.$$.fragment,n),t=!0)},o(n){_e(e.$$.fragment,n),t=!1},d(n){st(e,n)}}}function Ju(l){let e,t,n,i,o,c,u,r=m("common.back")+"",d,g,_,v;return e=new Wi({props:{crumbs:[{name:m("file.root")},...l[53]]}}),e.$on("navigate",l[174]),{c(){ct(e.$$.fragment),t=h(),n=f("button"),i=Y("svg"),o=Y("line"),c=Y("polyline"),u=h(),d=F(r),s(o,"x1","19"),s(o,"y1","12"),s(o,"x2","5"),s(o,"y2","12"),s(o,"class","svelte-nsunc1"),s(c,"points","12 19 5 12 12 5"),s(c,"class","svelte-nsunc1"),s(i,"width","14"),s(i,"height","14"),s(i,"viewBox","0 0 24 24"),s(i,"fill","none"),s(i,"stroke","currentColor"),s(i,"stroke-width","2"),s(i,"stroke-linecap","round"),s(i,"stroke-linejoin","round"),s(i,"class","svelte-nsunc1"),s(n,"class","btn btn-sm back-btn svelte-nsunc1")},m(k,b){nt(e,k,b),C(k,t,b),C(k,n,b),a(n,i),a(i,o),a(i,c),a(n,u),a(n,d),g=!0,_||(v=I(n,"click",l[84]),_=!0)},p(k,b){const y={};b[1]&4194304&&(y.crumbs=[{name:m("file.root")},...k[53]]),e.$set(y)},i(k){g||(ue(e.$$.fragment,k),g=!0)},o(k){_e(e.$$.fragment,k),g=!1},d(k){k&&(w(t),w(n)),st(e,k),_=!1,v()}}}function Yu(l){let e,t=[],n=new Map,i,o=oe(l[54]);const c=u=>u[317].id;for(let u=0;u0?m("file.noFiles"):m("file.noFilesCase"))+"",c,u,r,d,g,_,v,k,b,y;return{c(){e=f("div"),t=f("div"),t.innerHTML='',n=h(),i=f("p"),c=F(o),u=h(),r=f("p"),r.textContent=`${m("file.hint")}`,d=h(),g=f("div"),_=f("button"),_.textContent=`${m("file.addFileSimple")}`,v=h(),k=f("button"),k.textContent=`${m("file.addFolderSimple")}`,s(t,"class","empty-icon svelte-nsunc1"),s(i,"class","svelte-nsunc1"),s(r,"class","hint svelte-nsunc1"),s(_,"class","btn btn-primary svelte-nsunc1"),s(k,"class","btn svelte-nsunc1"),s(g,"class","empty-actions svelte-nsunc1"),s(e,"class","empty-state svelte-nsunc1")},m(j,T){C(j,e,T),a(e,t),a(e,n),a(e,i),a(i,c),a(e,u),a(e,r),a(e,d),a(e,g),a(g,_),a(g,v),a(g,k),b||(y=[I(_,"click",l[138]),I(k,"click",l[139])],b=!0)},p(j,T){T[1]&4194304&&o!==(o=(j[53].length>0?m("file.noFiles"):m("file.noFilesCase"))+"")&&U(c,o)},i:ce,o:ce,d(j){j&&w(e),b=!1,ve(y)}}}function $s(l,e){let t,n,i;return n=new jr({props:{item:e[317],selected:e[60].includes(e[317].id),onDragStart:e[97],onDragOver:e[98],onDrop:e[99]}}),n.$on("navigate",e[175]),n.$on("preview",e[176]),n.$on("openExternal",e[177]),n.$on("showInFolder",e[178]),n.$on("delete",e[179]),n.$on("rename",e[180]),n.$on("duplicate",e[181]),n.$on("cut",e[182]),n.$on("copy",e[183]),n.$on("selectOne",e[184]),n.$on("toggleSelect",e[185]),n.$on("rangeSelect",e[186]),{key:l,first:null,c(){t=ot(),ct(n.$$.fragment),this.first=t},m(o,c){C(o,t,c),nt(n,o,c),i=!0},p(o,c){e=o;const u={};c[1]&8388608&&(u.item=e[317]),c[1]&545259520&&(u.selected=e[60].includes(e[317].id)),n.$set(u)},i(o){i||(ue(n.$$.fragment,o),i=!0)},o(o){_e(n.$$.fragment,o),i=!1},d(o){o&&w(t),st(n,o)}}}function ei(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("file.scanning")}`,s(t,"class","svelte-nsunc1"),s(e,"class","empty-state svelte-nsunc1")},m(n,i){C(n,e,i),a(e,t)},d(n){n&&w(e)}}}function ti(l){let e,t;return e=new Hr({props:{item:l[55],content:l[56],loading:l[57],error:l[58]}}),e.$on("close",l[87]),e.$on("openExternal",l[187]),{c(){ct(e.$$.fragment)},m(n,i){nt(e,n,i),t=!0},p(n,i){const o={};i[1]&16777216&&(o.item=n[55]),i[1]&33554432&&(o.content=n[56]),i[1]&67108864&&(o.loading=n[57]),i[1]&134217728&&(o.error=n[58]),e.$set(o)},i(n){t||(ue(e.$$.fragment,n),t=!0)},o(n){_e(e.$$.fragment,n),t=!1},d(n){st(e,n)}}}function li(l){let e,t,n,i,o,c,u,r,d;return{c(){e=f("div"),t=f("input"),n=h(),i=f("div"),o=f("button"),o.textContent=`${m("common.create")}`,c=h(),u=f("button"),u.textContent=`${m("common.cancel")}`,s(t,"type","text"),s(t,"placeholder",m("note.title")),s(t,"class","svelte-nsunc1"),s(o,"class","btn btn-primary svelte-nsunc1"),s(u,"class","btn svelte-nsunc1"),s(i,"class","form-actions svelte-nsunc1"),s(e,"class","create-form svelte-nsunc1")},m(g,_){C(g,e,_),a(e,t),be(t,l[41]),a(e,n),a(e,i),a(i,o),a(i,c),a(i,u),r||(d=[I(t,"input",l[170]),I(t,"keydown",l[171]),I(o,"click",l[122]),I(u,"click",l[121])],r=!0)},p(g,_){_[1]&1024&&t.value!==g[41]&&be(t,g[41])},d(g){g&&w(e),r=!1,ve(d)}}}function Zu(l){let e,t=oe(l[23]),n=[];for(let i=0;i_e(le[se],1,1,()=>{le[se]=null});return{c(){e=f("div"),t=f("div"),n=f("h3"),n.textContent=`${m("nav.createNode")}`,i=h(),X&&X.c(),o=h(),c=f("div"),u=f("span"),u.textContent=`${m("template.select")}`,r=h(),d=f("div"),g=f("button"),ct(_.$$.fragment),v=h(),k=f("div"),b=f("span"),b.textContent=`${m("template.optionNone")}`,y=h(),j=f("span"),j.textContent=`${m("template.none.desc")}`,T=h();for(let se=0;se{b=null}),$e()),j[39].node&&j[39].node.parent_id?y?y.p(j,T):(y=_i(j),y.c(),y.m(t,o)):y&&(y.d(1),y=null),(!_||T[1]&256)&&Ge(t,"left",j[39].x+"px"),(!_||T[1]&256)&&Ge(t,"top",j[39].y+"px")},i(j){_||(ue(b),_=!0)},o(j){_e(b),_=!1},d(j){j&&w(e),b&&b.d(),y&&y.d(),v=!1,ve(k)}}}function pi(l){let e,t,n,i,o,c=oe(l[2].length>0?l[2]:[{id:"",title:"template.optionNone",icon:"folder"}]),u=[];for(let d=0;d_e(u[d],1,1,()=>{u[d]=null});return{c(){e=f("div"),e.textContent=`${m("common.create")}`,t=h();for(let d=0;d0?d[2]:[{id:"",title:"template.optionNone",icon:"folder"}]);let _;for(_=0;_l[253].call(y)),s(v,"class","svelte-nsunc1"),s(_,"class","form-group svelte-nsunc1"),s(E,"class","label-text svelte-nsunc1"),s(S,"type","text"),s(S,"placeholder",O=l[44]==="open_url"?m("action.urlPlaceholder"):l[44]==="open_folder"||l[44]==="open_file"?m("action.pathPlaceholder"):m("action.commandPlaceholder")),s(S,"class","svelte-nsunc1"),s(M,"class","svelte-nsunc1"),s(T,"class","form-group svelte-nsunc1"),s(P,"class","btn btn-primary svelte-nsunc1"),s(q,"class","btn svelte-nsunc1"),s(B,"class","modal-actions svelte-nsunc1"),s(t,"class","modal svelte-nsunc1"),s(e,"class","modal-overlay svelte-nsunc1"),s(e,"role","button"),s(e,"tabindex","0")},m(z,X){C(z,e,X),a(e,t),a(t,n),a(t,i),a(t,o),a(o,c),a(c,u),a(c,r),a(c,d),be(d,l[43]),a(t,g),a(t,_),a(_,v),a(v,k),a(v,b),a(v,y);for(let V=0;V0?0:1}E=Ve(l),N=He[E]=Pe[E](l);function Ne($,De){return $[21]?uu:$[20]?ru:au}let Oe=Ne(l),pe=Oe(l),Ce=((lt=l[71])==null?void 0:lt.configured)&&xn(l),ke=l[19]&&es(l);const Xe=[vu,_u,mu,pu,du,fu],Ee=[];function Ie($,De){return $[24]?0:$[21]?1:$[20]==="journal"?2:$[20]==="today"&&$[3]?3:$[20]==="activity"?4:5}we=Ie(l),Le=Ee[we]=Xe[we](l);let ge=l[35]&&ri(l),de=l[39].visible&&di(l),re=l[42]&&vi(l),We=l[49]&&l[48]&&gi(l),Ae=l[67]&&ki(l),ae=l[62]&&wi(l),Me=l[70]&&Ci(l);return{c(){var $;e=f("div"),t=f("aside"),n=f("div"),i=f("span"),i.textContent="⚒",o=h(),c=f("span"),c.textContent=`${m("nav.brand")}`,u=h(),r=f("nav"),d=f("div"),g=f("div"),g.textContent=`${m("nav.system")}`,_=h();for(let De=0;De{He[it]=null}),$e(),N=He[E],N?N.p($,De):(N=He[E]=Pe[E]($),N.c()),ue(N,1),N.m(k,null)),(!Se||De[2]&512)&&ye(q,"active",(bt=$[71])==null?void 0:bt.configured),(!Se||De[0]&262144)&&U(z,$[18]),Oe===(Oe=Ne($))&&pe?pe.p($,De):(pe.d(1),pe=Oe($),pe&&(pe.c(),pe.m(je,null))),(kt=$[71])!=null&&kt.configured?Ce?Ce.p($,De):(Ce=xn($),Ce.c(),Ce.m(Q,null)):Ce&&(Ce.d(1),Ce=null),$[19]?ke?ke.p($,De):(ke=es($),ke.c(),ke.m(V,ie)):ke&&(ke.d(1),ke=null);let mt=we;we=Ie($),we===mt?Ee[we].p($,De):(xe(),_e(Ee[mt],1,1,()=>{Ee[mt]=null}),$e(),Le=Ee[we],Le?Le.p($,De):(Le=Ee[we]=Xe[we]($),Le.c()),ue(Le,1),Le.m(V,Be)),$[35]?ge?(ge.p($,De),De[1]&16&&ue(ge,1)):(ge=ri($),ge.c(),ue(ge,1),ge.m(V,Re)):ge&&(xe(),_e(ge,1,1,()=>{ge=null}),$e()),$[39].visible?de?(de.p($,De),De[1]&256&&ue(de,1)):(de=di($),de.c(),ue(de,1),de.m(V,J)):de&&(xe(),_e(de,1,1,()=>{de=null}),$e()),$[42]?re?re.p($,De):(re=vi($),re.c(),re.m(V,x)):re&&(re.d(1),re=null),$[49]&&$[48]?We?We.p($,De):(We=gi($),We.c(),We.m(V,fe)):We&&(We.d(1),We=null),$[67]?Ae?Ae.p($,De):(Ae=ki($),Ae.c(),Ae.m(V,me)):Ae&&(Ae.d(1),Ae=null),$[62]?ae?(ae.p($,De),De[2]&1&&ue(ae,1)):(ae=wi($),ae.c(),ue(ae,1),ae.m(V,Fe)):ae&&(xe(),_e(ae,1,1,()=>{ae=null}),$e()),$[70]?Me?Me.p($,De):(Me=Ci($),Me.c(),Me.m(V,null)):Me&&(Me.d(1),Me=null)},i($){Se||(ue(N),ue(Le),ue(ge),ue(de),ue(ae),Se=!0)},o($){_e(N),_e(Le),_e(ge),_e(de),_e(ae),Se=!1},d($){$&&w(e),ze(Te,$),He[E].d(),pe.d(),Ce&&Ce.d(),ke&&ke.d(),Ee[we].d(),ge&&ge.d(),de&&de.d(),re&&re.d(),We&&We.d(),Ae&&Ae.d(),ae&&ae.d(),Me&&Me.d(),Ue=!1,ve(tt)}}}function ee(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails call error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Kt(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&Kt(n.children,e,t))return!0}return!1}function Ki(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&Ki(n.children,e,t))return!0}return!1}function bl(l){return l?l.map(e=>(e._expanded===void 0&&(e._expanded=!1),e)):[]}function Ye(l){return l?new Date(l).toLocaleTimeString("ru-RU",{hour:"2-digit",minute:"2-digit"}):""}function Ot(l){return l==="note_created"||l==="file_added"||l==="folder_added"||l==="node_created"?"+":l==="file_deleted"||l==="folder_deleted"?"×":l==="file_renamed"||l==="folder_renamed"||l==="note_updated"||l==="node_updated"?"~":l==="file_copied"?"⧉":l==="file_moved"?"→":"•"}function ft(l){if(!l)return"";try{return new Date(l).toLocaleDateString("ru-RU",{day:"numeric",month:"short"})}catch{return l}}function _t(l,e,t,n){return l=Math.abs(l)%100,l>=5&&l<=20?n:(l%=10,l===1?e:l>=2&&l<=4?t:n)}function rt(l){return e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),l())}}function of(l,e,t){let n=[],i=[],o=[],c=null,u=[],r=0,d=!0,g=[],_=null,v="",k="",b=!1,y="",j="all",T="all",M="",E="",N="",D=[],A=!1,S=[],O="",R="",B="",P=null,K="overview",q=[],W=null,Z=[],G=[],H=[],z="",X="",V="",le="",je=!1,se=!1,Q=[],te=0,ie=!1,we="",Le=null,Be=null,Re={visible:!1,x:0,y:0,node:null},J=!1,x="",fe=!1,me="",Fe="open_url",Se="",Ue=[{id:"open_url",label:m("action.openUrl")},{id:"open_file",label:m("action.openFile")},{id:"open_folder",label:m("action.openFolder")},{id:"run_command",label:m("action.runCommand")},{id:"run_script",label:m("action.runScript")},{id:"open_terminal",label:m("action.openTerminal")},{id:"launch_app",label:m("action.launchApp")}],tt=!0,Ke=!1,Te=null,Pe=!1,He="",Ve="",Ne={},Oe=!1,pe=null,Ce=[],ke=[],Xe=null,Ee="",Ie=!1,ge="",de={items:[],mode:"copy"},re=[],We=[],Ae=!1,ae=!1,Me="",lt="",$=!1,De=m("common.delete"),it=null,mt=null,bt=!1,kt="",Je="",dt="",Yt=!1,pt=null,ut=!1,Nt="",yt="",wt="",Ct=0,Ze="";const Gi=[{id:"overview",label:m("tab.overview")},{id:"notes",label:m("tab.notes")},{id:"files",label:m("tab.files")},{id:"actions",label:m("tab.actions")},{id:"worklog",label:m("tab.worklog")},{id:"activity",label:m("tab.activity")}];let nl=null;Ii(async()=>{try{t(18,O=await ee("VerstakVersion")||"verstak-gui/v2"),t(0,n=await ee("ListSystemViews")||[]),t(1,i=await ee("ListWorkspaceTree")||[]),t(2,o=await ee("ListEnabledTemplates")||[])}catch(p){t(19,R=String(p)),t(0,n=[{id:"today",label:m("nav.today")},{id:"inbox",label:m("nav.inbox")},{id:"activity",label:m("nav.activity")}]),t(1,i=[]),t(2,o=[])}window.runtime&&window.runtime.EventsOn&&(window.runtime.EventsOn("files-dropped",So),nl=()=>window.runtime.EventsOff("files-dropped")),window.addEventListener("keydown",zl),t(46,tt=!1),Vt()}),Tl(()=>{nl&&nl(),window.removeEventListener("keydown",zl)});async function Sl(p){t(20,B=p),t(21,P=null),t(22,K="overview"),t(23,q=[]),Z=[],t(25,G=[]),t(26,H=[]),t(33,Q=[]),t(35,ie=!1),t(19,R=""),t(3,c=null),t(4,u=[]),r=0,d=!0,t(5,g=[]),t(6,_=null);try{p==="today"?(t(3,c=await ee("ListTodayView")||{cases:[]}),t(33,Q=await ee("GetSuggestions")||[]),t(34,te=Q.length)):p==="journal"?await Dt():p==="activity"&&(t(4,u=await ee("ListActivityFeed",50,0)||[]),r=u.length,d=u.length===50)}catch(L){t(19,R=String(L)),t(3,c={cases:[]}),t(4,u=[])}}async function Et(p){t(21,P=p),t(22,K="overview"),t(23,q=[]),Z=[],t(25,G=[]),t(26,H=[]),t(33,Q=[]),t(54,ke=[]),t(53,Ce=[]),t(52,pe=null),t(55,Xe=null),t(56,Ee=""),t(60,re=[]),We=[],t(24,W=null),t(35,ie=!1),t(40,J=!1),t(19,R=""),t(17,S=[]),await Nl(p.id)}async function Nl(p){try{t(23,q=await ee("ListNotes",p)||[])}catch{}try{Z=await ee("ListFiles",p)||[]}catch{}try{t(25,G=await ee("ListActions",p)||[])}catch{}try{t(26,H=bl(await ee("ListWorklog",p)))}catch{}try{t(33,Q=await ee("GetSuggestions")||[]),t(34,te=Q.length)}catch{t(33,Q=[]),t(34,te=0)}try{t(17,S=await ee("ListActivityByNode",p,50,0)||[])}catch{}}async function et(p){t(51,Oe=!0);try{let L=await ee("ListItems",p)||[];L.sort((ne,he)=>ne.type!==he.type?ne.type==="folder"?-1:1:(ne.name||"").localeCompare(he.name||"")),t(54,ke=L)}catch{t(54,ke=[])}t(51,Oe=!1)}async function sl(p){if(!P)return;try{const ne=await ee("GetNodeDetail",p);ne&&t(53,Ce=[...Ce,{id:p,name:ne.title}])}catch{t(53,Ce=[...Ce,{id:p,name:"..."}])}t(52,pe=p),t(50,Ne={...Ne,[p]:!0});const L=await ee("ListWorkspaceChildren",p)||[];Kt(i,p,L),t(1,i=[...i]),await et(p)}function El(){if(Ce.length<2)t(53,Ce=[]),t(52,pe=null),et(P.id);else{const p=Ce[Ce.length-2];t(53,Ce=Ce.slice(0,-1)),t(52,pe=p.id),et(p.id)}}function Ml(p){const L=Ce[p];t(53,Ce=Ce.slice(0,p+1)),t(52,pe=L.id),et(L.id)}async function il(p){t(55,Xe=p),t(56,Ee=""),t(58,ge=""),t(57,Ie=!0);try{vr(p)?t(56,Ee=await ee("GetFileBase64",p.fileId)||""):hr(p)&&t(56,Ee=await ee("ReadFileText",p.fileId)||"")}catch(L){t(58,ge=String(L))}t(57,Ie=!1)}function ol(){t(55,Xe=null),t(56,Ee=""),t(58,ge="")}async function qi(){const p=prompt(m("file.namePrompt"));if(!(!p||!p.trim()))try{const L=pe||P.id;await ee("CreateEmptyFile",L,p.trim()),await et(L),await rl(L)}catch(L){t(19,R=String(L))}}async function Dl(p){try{await ee("DuplicateNode",p);const L=pe||P.id;await et(L),await rl(L)}catch(L){t(19,R=String(L))}}function Il(p){const L=ke.find(ne=>ne.id===p);L&&al(L.id,L.name)}function Fl(p){t(59,de={items:[p],mode:"cut"})}function Al(p){t(59,de={items:[p],mode:"copy"})}async function Ll(){if(de.items.length===0)return;const p=pe||P.id;try{if(de.mode==="copy")for(const L of de.items)await ee("DuplicateNode",L);else for(const L of de.items)await ee("MoveNode",L,p);t(59,de={items:[],mode:"copy"}),await et(p)}catch(L){t(19,R=String(L))}}function Pl(p){re.includes(p)?t(60,re=re.filter(L=>L!==p)):t(60,re=[...re,p])}function Ol(p){t(60,re=[p])}function Ji(){t(60,re=ke.map(p=>p.id))}function Rl(p){if(ke.length===0)return;const L=re.length>0?re[re.length-1]:ke[0].id,ne=ke.findIndex(jt=>jt.id===L),he=ke.findIndex(jt=>jt.id===p);if(ne===-1||he===-1)return;const at=Math.min(ne,he),Wt=Math.max(ne,he),Oa=ke.slice(at,Wt+1).map(jt=>jt.id),sn=new Set(re);Oa.forEach(jt=>sn.add(jt)),t(60,re=[...sn])}function Yi(){t(60,re=[])}function cl(p){return p.length>0?p:ke.map(L=>L.id)}async function Xi(){const p=cl(re),L=ke.find(he=>he.id===p[0]);let ne;p.length===1&&(L==null?void 0:L.type)==="folder"?ne=m("delete.folder"):p.length===1?ne=m("delete.file"):ne=m("delete.files",{count:p.length}),Rt({title:m("delete.confirmTitle"),message:m("delete.confirmMessage")+" "+ne+"?",confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{for(const at of p)try{await ee("DeleteFileOrFolder",at)}catch(Wt){t(19,R=String(Wt))}t(60,re=[]);const he=pe||P.id;await et(he)}})}function Zi(){const p=cl(re);t(59,de={items:p,mode:"cut"}),t(60,re=[])}function Qi(){const p=cl(re);t(59,de={items:p,mode:"copy"}),t(60,re=[])}function xi(p,L){const ne=re.includes(L)?re:[L];We=ne,p.dataTransfer.effectAllowed="move",p.dataTransfer.setData("text/plain",ne.join(","))}function $i(p,L){const ne=ke.find(he=>he.id===L);ne&&ne.type==="folder"&&(p.preventDefault(),p.dataTransfer.dropEffect="move")}async function eo(p,L){if(p.preventDefault(),We.length!==0){for(const ne of We)try{await ee("MoveNode",ne,L)}catch(he){t(19,R=String(he))}We=[],t(60,re=[]),await et(pe||P.id)}}function zl(p){if(K==="files"&&!(p.target.tagName==="INPUT"||p.target.tagName==="TEXTAREA"))if(p.ctrlKey||p.metaKey)p.key==="c"||p.key==="C"?(p.preventDefault(),Qi()):p.key==="x"||p.key==="X"?(p.preventDefault(),Zi()):p.key==="v"||p.key==="V"?(p.preventDefault(),Ll()):p.key==="a"||p.key==="A"?(p.preventDefault(),Ji()):p.key==="o"||p.key==="O"?(p.preventDefault(),to()):p.key==="Enter"&&(p.preventDefault(),Bl());else if(p.key==="Enter")p.preventDefault(),Bl();else if(p.key==="Delete"||p.key==="Backspace"){if(Xe){p.preventDefault(),ol();return}if(re.length>0){p.preventDefault(),Xi();return}if(p.key==="Backspace"&&Ce.length>0){p.preventDefault(),El();return}}else if(p.key==="Escape"){if(Xe){ol();return}if(re.length>0){Yi();return}}else p.key==="F2"&&(p.preventDefault(),lo())}function Bl(){if(re.length===1){const p=ke.find(L=>L.id===re[0]);p&&(p.type==="folder"?sl(p.id):il(p))}}function to(){if(re.length===1){const p=ke.find(L=>L.id===re[0]);p&&p.fileId&&ee("OpenFile",p.fileId)}}function al(p,L){kt=p,t(68,Je=L),t(69,dt=""),t(67,bt=!0)}function lo(){if(re.length===1){const p=ke.find(L=>L.id===re[0]);p&&al(p.id,p.name)}}async function Hl(){const p=Je.trim();if(!p){t(69,dt=m("rename.emptyError"));return}try{await ee("ValidateName",p)}catch{t(69,dt=m("rename.invalidError"));return}t(67,bt=!1);const L=kt;kt="";try{await ee("RenameNode",L,p),P&&P.id===L&&t(21,P={...P,title:p}),await Bt(),pe&&await et(pe)}catch(ne){t(19,R=String(ne))}}function no(){t(67,bt=!1),kt="",t(68,Je=""),t(69,dt="")}function so(p){p.key==="Enter"?Hl():t(69,dt="")}function Rt(p){t(63,Me=p.title||m("common.confirm")),t(64,lt=p.message||""),t(65,$=p.danger!==void 0?p.danger:!0),t(66,De=p.confirmText||m("common.delete")),it=p.onConfirm||null,mt=p.onCancel||null,t(62,ae=!0)}function Vl(){t(62,ae=!1),it=null,mt=null}function io(){it&&it(),Vl()}function oo(){mt&&mt(),Vl()}function Wl(p){t(37,Le=Re.node),t(38,Be=p),t(36,we=""),t(35,ie=!0),Mt()}function co(){t(37,Le=null),t(38,Be=void 0),t(36,we=""),t(35,ie=!0)}function ao(){t(35,ie=!1),t(36,we=""),t(37,Le=null),t(38,Be=void 0)}async function Ul(){if(!(!we.trim()||Be===void 0))try{const p=Le?Le.id:"",L=Be?Be.id:"",ne=await ee("CreateNodeFromTemplate",p,we.trim(),L);t(35,ie=!1),t(36,we="");const he=ne?ne.id:null;if(t(37,Le=null),t(38,Be=void 0),p){t(50,Ne={...Ne,[p]:!0});const at=await ee("ListWorkspaceChildren",p)||[];Kt(i,p,at),t(1,i=[...i])}else t(1,i=await ee("ListWorkspaceTree")||i);if(he){const at=await ee("GetNodeDetail",he);at&&(t(20,B=""),Et(at))}}catch(p){t(19,R=String(p))}}function ro(p,L){t(39,Re={visible:!0,x:p.clientX,y:p.clientY,node:L})}function Mt(){t(39,Re={visible:!1,x:0,y:0,node:null})}async function uo(p){const L=!Ne[p];if(t(50,Ne={...Ne,[p]:L}),!L)return;const ne=await ee("ListWorkspaceChildren",p)||[];Kt(i,p,ne),t(1,i=[...i])}async function fo(p,L){if(!(!p||!L||p===L))try{const ne=await ee("MoveNode",p,L);await Bt();const he=await ee("GetNodeDetail",p);he&&(t(20,B=""),Et(he))}catch(ne){t(19,R=String(ne))}}async function po(p){p.preventDefault();try{const L=p.dataTransfer.getData("text/plain");if(!L)return;const ne=await ee("GetNodeDetail",L);if(!ne||!ne.parent_id)return;await ee("MoveNode",L,""),await Bt();const he=await ee("GetNodeDetail",L);he&&(t(20,B=""),Et(he))}catch(L){t(19,R=String(L))}}function mo(p){p.preventDefault(),p.dataTransfer.dropEffect="move",t(61,Ae=!0)}function _o(p){t(61,Ae=!1)}function Kl(p){al(p.id,p.title),Mt()}function Gl(p){Mt(),Rt({title:m("delete.confirmTitle"),message:m("delete.confirmMessage")+" "+p.title+"?",confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{try{await ee("DeleteNode",p.id),await Bt(),P&&P.id===p.id&&t(21,P=null)}catch(L){t(19,R=String(L))}}})}async function zt(p){Mt();const L=typeof p=="string"?p:p.id;try{await ee("OpenFolder",L)}catch(ne){t(19,R=String(ne))}}async function ql(p){Mt();try{await ee("MoveNode",p.id,""),await Bt();const L=await ee("GetNodeDetail",p.id);L&&(t(20,B=""),Et(L))}catch(L){t(19,R=String(L))}}async function Bt(){const p=Object.keys(Ne).filter(ne=>Ne[ne]),L=await ee("ListWorkspaceTree")||[];for(const ne of p){const at=(await ee("ListWorkspaceChildren",ne)||[]).map(Wt=>({...Wt}));Ki(L,ne,at)}t(1,i=L)}async function rl(p){const L=await ee("ListWorkspaceChildren",p)||[];Kt(i,p,L),t(1,i=[...i])}function Jl(){t(40,J=!0),t(41,x="")}function vo(){t(40,J=!1),t(41,x="")}async function Yl(){if(!(!x.trim()||!P))try{const p=await ee("CreateNote",P.id,x.trim());t(23,q=[...q,p&&p.id?p:{id:Date.now().toString(),title:x.trim(),createdAt:new Date().toISOString()}]),t(40,J=!1),t(41,x="")}catch{const L={id:Date.now().toString(),title:x.trim(),createdAt:new Date().toISOString()};t(23,q=[...q,L]),t(40,J=!1),t(41,x="")}}async function Ht(p){if(W&&W.dirty){Rt({title:m("note.unsavedTitle"),message:m("note.unsavedMessage"),confirmText:m("note.unsavedClose"),danger:!1,onConfirm:async()=>{await Xl(p)}});return}await Xl(p)}async function Xl(p){try{const L=await ee("ReadNote",p.id);t(24,W={id:p.id,title:p.title,content:L||"",dirty:!1})}catch{t(24,W={id:p.id,title:p.title,content:"# "+p.title+` + +`,dirty:!1})}}function ho(){if(W&&W.dirty){Rt({title:m("note.unsavedTitle"),message:m("note.unsavedMessage"),confirmText:m("note.unsavedClose"),danger:!1,onConfirm:()=>{t(24,W=null)}});return}t(24,W=null)}function go(p){W&&(t(24,W.content=p.target.value,W),t(24,W.dirty=!0,W))}async function bo(){if(W)try{await ee("SaveNote",W.id,W.content),t(24,W.dirty=!1,W)}catch{t(24,W.dirty=!1,W)}}async function ko(){const p=parseInt(z,10);if(!(!X.trim()||isNaN(p)||p<=0||!P)){try{await ee("CreateWorklogFull",P.id,X.trim(),le,V,p,se,je)}catch{}t(26,H=bl(await ee("ListWorklog",P.id))||H),t(28,X=""),t(27,z=""),t(29,V=""),t(30,le=""),t(31,je=!1),t(32,se=!1)}}async function Zl(){t(33,Q=await ee("GetSuggestions")||[]),t(34,te=Q.length),P&&t(26,H=bl(await ee("ListWorklog",P.id))),B==="journal"&&await Dt()}async function ul(p){try{await ee("AcceptSuggestionWith",p,p.suggestedMin,""),await Zl()}catch(L){console.error(L)}}async function Ql(p){try{await ee("AcceptSuggestionWith",p,p.suggestedMin,""),await Zl()}catch(L){console.error(L)}}async function Dt(){try{const[p,L,ne]=await Promise.all([ee("ListWorklogReport",v,k,y,b,j,T),ee("WorklogReportSummary",v,k,y,b,j,T),ee("GetSuggestions")]);if(t(5,g=(p||[]).map(he=>(he._expanded===void 0&&(he._expanded=!1),he))),t(6,_=L||null),t(33,Q=ne||[]),t(34,te=Q.length),y&&!M)if(p&&p.length>0&&p[0].nodePath)t(12,M=p[0].nodePath);else try{t(12,M=await ee("GetNodeTitle",y))}catch{t(12,M="")}}catch{t(5,g=[]),t(6,_=null),t(33,Q=[]),t(34,te=0)}}async function Xt(p){try{const L=await ee("SaveWorklogReport",p,v,k,y,b,j,T);t(13,E=L),setTimeout(()=>t(13,E=""),4e3)}catch(L){if(String(L).includes("отменено"))return;t(13,E="Ошибка: "+String(L)),setTimeout(()=>t(13,E=""),6e3)}}let xl;async function fl(p){if(p._expanded=!p._expanded,t(5,g),p._expanded&&!p._events&&p._hasEvents===void 0)try{p._events=await ee("GetWorklogEntryEvents",p.id)||[],p._hasEvents=p._events.length>0,t(5,g)}catch{p._events=[],p._hasEvents=!1,t(5,g)}}function dl(p){p._expanded=!p._expanded,t(26,H)}async function yo(){const p=N.trim();if(!p||p.length<2){t(15,D=[]),t(16,A=!1);return}try{t(15,D=await ee("SearchNodes",p)||[]),t(16,A=D.length>0)}catch{t(15,D=[]),t(16,A=!1)}}function wo(){clearTimeout(xl),xl=setTimeout(yo,200)}function $l(p){y=p.id,t(12,M=p.path||p.title),t(9,b=!0),t(14,N=""),t(15,D=[]),t(16,A=!1),Dt()}function en(){y="",t(9,b=!1),t(12,M=""),t(14,N=""),t(15,D=[]),t(16,A=!1),Dt()}function Co(){t(7,v=""),t(8,k=""),y="",t(9,b=!1),t(10,j="all"),t(11,T="all"),t(12,M=""),t(14,N=""),t(15,D=[]),t(16,A=!1),Dt()}async function tn(){const p=await ee("PickFile");if(!p)return;const L=pe||P.id;await pl(L,p)}async function jo(){const p=await ee("PickDirectory");if(!p)return;const L=pe||P.id;await pl(L,p)}async function pl(p,L){t(47,Ke=!0);try{const ne=await ee("PreviewImport",L);t(48,Te=ne),He=L,Ve=p,t(49,Pe=!0)}catch(ne){t(19,R=String(ne))}t(47,Ke=!1)}async function ml(p){try{const L=Ve||P.id,ne=p==="copy"?await ee("AddPathCopy",L,He):await ee("AddPathLink",L,He);t(49,Pe=!1),t(48,Te=null),t(53,Ce=[]),t(52,pe=null),await Promise.all([Nl(L),et(L),rl(L)])}catch(L){t(19,R=String(L))}}function To(){t(49,Pe=!1),t(48,Te=null)}async function ln({id:p,type:L}){const ne=m(L==="folder"?"delete.folder":"delete.file");Rt({title:m("delete.confirmTitle"),message:m("delete.confirmMessage")+" "+ne+"?",confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{try{await ee("DeleteFileOrFolder",p),Z=Z.filter(at=>at.nodeId!==p);const he=pe||P.id;await et(he)}catch(he){t(19,R=String(he))}}})}async function So(p){if(!p||p.length===0)return;if(!P){t(19,R=m("error.selectCaseFirst"));return}const L=p[0];await pl(P.id,L)}function No(p){return{note_created:m("event.noteCreated"),note_updated:m("event.noteUpdated"),file_added:m("event.fileAdded"),file_deleted:m("event.fileDeleted"),file_renamed:m("event.fileRenamed"),file_copied:m("event.fileCopied"),file_moved:m("event.fileMoved"),folder_added:m("event.folderAdded"),folder_deleted:m("event.folderDeleted"),folder_renamed:m("event.folderRenamed"),node_created:m("event.caseCreated"),node_updated:m("event.caseUpdated")}[p]||p}function Eo(p){return{project:m("kind.project"),client:m("kind.client"),document:m("kind.document"),recipe:m("kind.recipe"),folder:m("kind.folder"),note:m("kind.note"),file:m("kind.file"),archive:m("kind.archive"),case:m("kind.case")}[p]||p||m("kind.case")}function Mo(){t(42,fe=!0),t(43,me=""),t(44,Fe="open_url"),t(45,Se="")}function Do(){t(42,fe=!1),t(43,me=""),t(45,Se="")}async function _l(){if(!(!me.trim()||!Se.trim()||!P))try{const p=await ee("CreateAction",P.id,Fe,me.trim(),Se.trim());p&&p.id&&t(25,G=[...G,p]),t(42,fe=!1),t(43,me=""),t(45,Se="")}catch(p){t(19,R=String(p))}}async function nn(p){try{await ee("DeleteAction",p),t(25,G=G.filter(L=>L.id!==p))}catch(L){t(19,R=String(L))}}function Io(p){const L=Ue.find(ne=>ne.id===p);return L?L.label:p}async function Qe(p){try{const L=await ee("GetNodeDetail",p);L&&Et(L)}catch(L){t(19,R=String(L))}}async function Vt(){try{t(71,pt=await ee("SyncStatus"))}catch{t(71,pt={configured:!1,serverUrl:"",deviceId:"",unpushedOps:0,lastSyncAt:"",syncInterval:0})}}function Fo(){t(70,Yt=!0),t(73,Nt=(pt==null?void 0:pt.serverUrl)||""),t(74,yt=""),t(75,wt=""),t(76,Ct=(pt==null?void 0:pt.syncInterval)||0),t(77,Ze="")}function Ao(){t(70,Yt=!1),t(77,Ze="")}async function Lo(){t(72,ut=!0),t(77,Ze="");try{await ee("SyncConfigure",Nt,yt,wt),Ct>0&&await ee("SyncSetInterval",Ct),t(75,wt=""),t(74,yt=""),await Vt(),t(70,Yt=!1)}catch(p){t(77,Ze="err: "+String(p))}t(72,ut=!1)}async function Po(){t(72,ut=!0),t(77,Ze="");try{await ee("SyncSetInterval",Ct),t(77,Ze=m("sync.settingsSaved")),await Vt()}catch(p){t(77,Ze="err: "+String(p))}t(72,ut=!1)}async function Oo(){t(72,ut=!0),t(77,Ze="");try{await ee("SyncTestConnection",Nt,yt,wt),t(77,Ze="connection ok")}catch(p){t(77,Ze="connection failed: "+String(p))}t(72,ut=!1)}async function Ro(){t(72,ut=!0),t(77,Ze="");try{await ee("SyncDisconnect"),t(77,Ze="disconnected"),await Vt()}catch(p){t(77,Ze="err: "+String(p))}t(72,ut=!1)}async function zo(){t(72,ut=!0),t(77,Ze="");try{const p=await ee("SyncNow");t(77,Ze="pushed "+p.pushed+", pulled "+p.pulled+" (seq "+p.serverSequence+")"),await Vt()}catch(p){t(77,Ze="err: "+String(p))}t(72,ut=!1)}const Bo=p=>p.nodeId===P.id,Ho=p=>Sl(p.id),Vo=()=>t(19,R=""),Wo=()=>t(19,R=""),Uo=()=>t(19,R="");function Ko(){W.content=this.value,t(24,W)}const Go=p=>{t(22,K=p.id),p.id==="files"&&P&&ke.length===0&&!pe&&et(P.id)},qo=()=>{t(22,K="notes"),Jl()},Jo=()=>{t(22,K="files"),tn()},Yo=()=>t(22,K="worklog"),Xo=p=>Ht(p),Zo=p=>Ht(p);function Qo(){x=this.value,t(41,x)}const xo=p=>p.key==="Enter"&&Yl(),$o=p=>Ht(p),ec=p=>Ht(p),tc=p=>{const L=p.detail;L===0?(t(53,Ce=[]),t(52,pe=null),et(P.id)):Ml(L-1)},lc=p=>sl(p.detail),nc=p=>il(p.detail),sc=p=>ee("OpenFile",p.detail),ic=p=>ee("OpenFolder",p.detail),oc=p=>ln(p.detail),cc=p=>Il(p.detail.id),ac=p=>Dl(p.detail),rc=p=>Fl(p.detail),uc=p=>Al(p.detail),fc=p=>Ol(p.detail),dc=p=>Pl(p.detail),pc=p=>Rl(p.detail),mc=p=>ee("OpenFile",p.detail),_c=p=>ee("RunAction",p.id),vc=p=>nn(p.id);function hc(){X=this.value,t(28,X)}function gc(){z=$t(this.value),t(27,z)}function bc(){V=this.value,t(29,V)}function kc(){le=this.value,t(30,le)}function yc(){je=this.checked,t(31,je)}function wc(){se=this.checked,t(32,se)}const Cc=p=>p.nodeId===P.id,jc=p=>ul(p),Tc=(p,L,ne)=>t(33,L[ne]._expanded=!p._expanded,Q,t(21,P)),Sc=(p,L,ne,he)=>he.key==="Enter"&&t(33,L[ne]._expanded=!p._expanded,Q,t(21,P)),Nc=p=>Qe(p.nodeId),Ec=p=>zt(p.nodeId),Mc=p=>dl(p),Dc=(p,L)=>L.key==="Enter"&&dl(p);function Ic(){v=this.value,t(7,v)}function Fc(){k=this.value,t(8,k)}const Ac=()=>{t(14,N=""),t(12,M=""),en()};function Lc(){N=this.value,t(14,N)}const Pc=()=>setTimeout(()=>t(16,A=!1),200),Oc=p=>$l(p);function Rc(){b=this.checked,t(9,b)}function zc(){j=hl(this),t(10,j)}function Bc(){T=hl(this),t(11,T)}const Hc=()=>Xt("csv"),Vc=()=>Xt("markdown"),Wc=()=>Xt("pdf"),Uc=p=>Qe(p.nodeId),Kc=(p,L,ne,he)=>t(33,L[ne].suggestedMin=parseInt(he.target.value),Q),Gc=p=>Ql(p),qc=(p,L,ne)=>t(33,L[ne]._expanded=!p._expanded,Q),Jc=(p,L,ne,he)=>he.key==="Enter"&&t(33,L[ne]._expanded=!p._expanded,Q),Yc=p=>Qe(p.nodeId),Xc=p=>zt(p.nodeId),Zc=p=>Qe(p.nodeId),Qc=p=>fl(p),xc=(p,L)=>L.key==="Enter"&&fl(p),$c=p=>Qe(p.nodeId),ea=p=>Qe(p.nodeId),ta=(p,L,ne,he)=>t(33,L[ne].suggestedMin=parseInt(he.target.value),Q),la=p=>ul(p),na=(p,L,ne)=>t(33,L[ne]._expanded=!p._expanded,Q),sa=(p,L,ne,he)=>he.key==="Enter"&&t(33,L[ne]._expanded=!p._expanded,Q),ia=p=>Qe(p.nodeId),oa=p=>zt(p.nodeId),ca=p=>Qe(p.nodeId),aa=(p,L)=>L.key==="Enter"&&Qe(p.nodeId),ra=p=>Qe(p.nodeId),ua=(p,L)=>L.key==="Enter"&&Qe(p.nodeId),fa=p=>Qe(p.nodeId),da=(p,L)=>L.key==="Enter"&&Qe(p.nodeId),pa=p=>Qe(p.nodeId),ma=(p,L)=>L.key==="Enter"&&Qe(p.nodeId),_a=()=>t(38,Be=null),va=p=>t(38,Be=p);function ha(){we=this.value,t(36,we)}const ga=p=>p.key==="Enter"&&Ul(),ba=p=>Wl(p),ka=()=>ql(Re.node),ya=()=>Kl(Re.node),wa=()=>Gl(Re.node),Ca=()=>zt(Re.node);function ja(){me=this.value,t(43,me)}const Ta=p=>p.key==="Enter"&&_l();function Sa(){Fe=hl(this),t(44,Fe),t(78,Ue)}function Na(){Se=this.value,t(45,Se)}const Ea=p=>p.key==="Enter"&&_l(),Ma=()=>ml("copy"),Da=()=>ml("link");function Ia(){Je=this.value,t(68,Je)}function Fa(){Nt=this.value,t(73,Nt)}function Aa(){yt=this.value,t(74,yt)}function La(){wt=this.value,t(75,wt)}function Pa(){Ct=$t(this.value),t(76,Ct)}return[n,i,o,c,u,g,_,v,k,b,j,T,M,E,N,D,A,S,O,R,B,P,K,q,W,G,H,z,X,V,le,je,se,Q,te,ie,we,Le,Be,Re,J,x,fe,me,Fe,Se,tt,Ke,Te,Pe,Ne,Oe,pe,Ce,ke,Xe,Ee,Ie,ge,de,re,Ae,ae,Me,lt,$,De,bt,Je,dt,Yt,pt,ut,Nt,yt,wt,Ct,Ze,Ue,Gi,Sl,Et,et,sl,El,Ml,il,ol,qi,Dl,Il,Fl,Al,Ll,Pl,Ol,Rl,xi,$i,eo,Hl,no,so,io,oo,Wl,co,ao,Ul,ro,Mt,uo,fo,po,mo,_o,Kl,Gl,zt,ql,Jl,vo,Yl,Ht,ho,go,bo,ko,ul,Ql,Dt,Xt,fl,dl,wo,$l,en,Co,tn,jo,ml,To,ln,No,Eo,Mo,Do,_l,nn,Io,Qe,Fo,Ao,Lo,Po,Oo,Ro,zo,Bo,Ho,Vo,Wo,Uo,Ko,Go,qo,Jo,Yo,Xo,Zo,Qo,xo,$o,ec,tc,lc,nc,sc,ic,oc,cc,ac,rc,uc,fc,dc,pc,mc,_c,vc,hc,gc,bc,kc,yc,wc,Cc,jc,Tc,Sc,Nc,Ec,Mc,Dc,Ic,Fc,Ac,Lc,Pc,Oc,Rc,zc,Bc,Hc,Vc,Wc,Uc,Kc,Gc,qc,Jc,Yc,Xc,Zc,Qc,xc,$c,ea,ta,la,na,sa,ia,oa,ca,aa,ra,ua,fa,da,pa,ma,_a,va,ha,ga,ba,ka,ya,wa,Ca,ja,Ta,Sa,Na,Ea,Ma,Da,Ia,Fa,Aa,La,Pa]}class cf extends gt{constructor(e){super(),ht(this,e,of,sf,vt,{},null,[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1])}}new cf({target:document.getElementById("app")}); diff --git a/cmd/verstak-gui/frontend-dist/assets/main-BafVhx43.css b/cmd/verstak-gui/frontend-dist/assets/main-BafVhx43.css new file mode 100644 index 0000000..0ef04db --- /dev/null +++ b/cmd/verstak-gui/frontend-dist/assets/main-BafVhx43.css @@ -0,0 +1 @@ +.file-row.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:default;transition:background .12s;min-height:52px;-webkit-user-select:none;user-select:none;position:relative}.file-row.svelte-1skuef2.svelte-1skuef2:hover{background:#1e1e30}.file-row--selected.svelte-1skuef2.svelte-1skuef2{background:#1e1e3a;outline:1px solid #3a3a6c}.file-row--selected.svelte-1skuef2.svelte-1skuef2:hover{background:#252545}.file-row.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:-2px}.file-row-icon.svelte-1skuef2.svelte-1skuef2{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#888}.file-row-body.svelte-1skuef2.svelte-1skuef2{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-row-name.svelte-1skuef2.svelte-1skuef2{font-size:13px;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.file-row-meta.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:4px;font-size:11px;color:#666}.meta-sep.svelte-1skuef2.svelte-1skuef2{color:#444}.file-row-actions.svelte-1skuef2.svelte-1skuef2{display:flex;gap:2px;align-items:center;opacity:0;transition:opacity .15s ease;flex-shrink:0}.file-row.svelte-1skuef2:hover .file-row-actions.svelte-1skuef2{opacity:1}.action-btn.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#ccc}.action-btn-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222;color:#ff6b6b}.action-btn.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-backdrop.svelte-1skuef2.svelte-1skuef2{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.menu.svelte-1skuef2.svelte-1skuef2{position:fixed;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:4px;z-index:100;min-width:220px;box-shadow:0 4px 16px #00000080}.menu-item.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;background:transparent;color:#ccc;font-size:12px;text-align:left;cursor:pointer;border-radius:4px;font-family:inherit}.menu-item.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#fff}.menu-item-danger.svelte-1skuef2.svelte-1skuef2{color:#ff6b6b}.menu-item-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222}.menu-item.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-sep.svelte-1skuef2.svelte-1skuef2{height:1px;background:#2a2a3c;margin:4px 8px}.breadcrumbs.svelte-csi2lb{display:flex;align-items:center;gap:4px;padding:8px 0;font-size:13px;color:#999}.sep.svelte-csi2lb{color:#444}.crumb.svelte-csi2lb{font-size:13px}.crumb--current.svelte-csi2lb{color:#ccc}.crumb--link.svelte-csi2lb{background:none;border:none;padding:2px 4px;color:#888;cursor:pointer;border-radius:3px;font-family:inherit;font-size:13px;transition:color .12s,background .12s}.crumb--link.svelte-csi2lb:hover{color:#ccc;background:#1e1e30}.crumb--link.svelte-csi2lb:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.overlay.svelte-1cw3u0m{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-1cw3u0m{background:#14141f;border:1px solid #2a2a3c;border-radius:10px;width:90vw;max-width:900px;height:85vh;max-height:700px;display:flex;flex-direction:column;overflow:hidden}.preview-header.svelte-1cw3u0m{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.preview-title.svelte-1cw3u0m{display:flex;align-items:center;gap:8px;color:#ddd;font-size:14px;min-width:0}.preview-name.svelte-1cw3u0m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-meta.svelte-1cw3u0m{font-size:11px;color:#666;margin-left:auto;white-space:nowrap}.preview-actions.svelte-1cw3u0m{display:flex;gap:4px;flex-shrink:0;margin-left:8px}.action-btn.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1cw3u0m:hover{background:#2a2a3c;color:#ccc}.action-btn.svelte-1cw3u0m:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.action-btn-close.svelte-1cw3u0m{color:#ff6b6b}.action-btn-close.svelte-1cw3u0m:hover{background:#3a2222;color:#f44}.preview-body.svelte-1cw3u0m{flex:1;overflow:auto;min-height:0}.preview-status.svelte-1cw3u0m{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:#888;font-size:14px}.preview-image-container.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;padding:16px;min-height:200px;background:#0e0e18}.preview-image.svelte-1cw3u0m{max-width:100%;max-height:calc(85vh - 100px);object-fit:contain;border-radius:4px}.preview-text.svelte-1cw3u0m{margin:0;padding:16px;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.5;color:#ccc;white-space:pre-wrap;word-wrap:break-word;overflow:auto}.preview-pdf-container.svelte-1cw3u0m{width:100%;height:100%}.preview-pdf.svelte-1cw3u0m{width:100%;height:100%;border:none}.btn-sm.svelte-1cw3u0m{padding:6px 14px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:12px;font-family:inherit;transition:background .12s}.btn-sm.svelte-1cw3u0m:hover{background:#223}.overlay.svelte-1fv6yyk{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal.svelte-1fv6yyk{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:360px;max-width:90vw}h3.svelte-1fv6yyk{font-size:18px;margin-bottom:12px;color:#e4e4ef}.message.svelte-1fv6yyk{font-size:14px;color:#aaa;margin-bottom:20px;line-height:1.4}.actions.svelte-1fv6yyk{display:flex;gap:8px;justify-content:flex-end}.btn.svelte-1fv6yyk{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-1fv6yyk:hover{background:#223}.btn-primary.svelte-1fv6yyk{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-1fv6yyk:hover{background:#4f46e5}.btn-danger.svelte-1fv6yyk{background:#dc2626;border-color:#dc2626;color:#fff}.btn-danger.svelte-1fv6yyk:hover{background:#b91c1c}.btn.svelte-1fv6yyk:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.tree-item.svelte-zj71cl.svelte-zj71cl{display:flex;align-items:center;height:32px;padding-right:8px;cursor:default;font-size:13px;color:#ccc;-webkit-user-select:none;user-select:none}.tree-item.svelte-zj71cl.svelte-zj71cl:hover{background:#223}.tree-item.selected.svelte-zj71cl.svelte-zj71cl{background:#2a2a4a;color:#fff;font-weight:500}.tree-item.drop-valid.svelte-zj71cl.svelte-zj71cl{background:#1a3a1a;outline:1px solid #4ade80;outline-offset:-1px}.tree-item.drop-invalid.svelte-zj71cl.svelte-zj71cl{background:#3a1a1a;outline:1px solid #ff6b6b;outline-offset:-1px}.tree-toggle.svelte-zj71cl.svelte-zj71cl{background:none;border:none;color:#666;cursor:pointer;padding:0;width:20px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;line-height:1;font-size:12px}.tree-toggle.svelte-zj71cl.svelte-zj71cl:hover{color:#a5b4fc}.tree-toggle-placeholder.svelte-zj71cl.svelte-zj71cl{display:inline-block;width:20px;flex-shrink:0}.tree-icon.svelte-zj71cl.svelte-zj71cl{display:inline-flex;align-items:center;justify-content:center;width:20px;height:32px;flex-shrink:0;color:#888;margin-right:4px;cursor:pointer}.tree-icon.svelte-zj71cl.svelte-zj71cl:hover,.tree-item.selected.svelte-zj71cl .tree-icon.svelte-zj71cl{color:#a5b4fc}.tree-label.svelte-zj71cl.svelte-zj71cl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;line-height:32px}.svelte-1ufgyr8.svelte-1ufgyr8,.svelte-1ufgyr8.svelte-1ufgyr8:before,.svelte-1ufgyr8.svelte-1ufgyr8:after{box-sizing:border-box;margin:0;padding:0}.app.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;width:100vw;height:100vh;overflow:hidden;background:#13131f;color:#e4e4ef;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}.sidebar.svelte-1ufgyr8.svelte-1ufgyr8{width:260px;min-width:200px;height:100vh;display:flex;flex-direction:column;background:#1a1a28;border-right:1px solid #2a2a3c;flex-shrink:0;overflow:hidden}.sidebar-brand.svelte-1ufgyr8.svelte-1ufgyr8{padding:16px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.logo.svelte-1ufgyr8.svelte-1ufgyr8{font-size:20px;line-height:1}.brand-name.svelte-1ufgyr8.svelte-1ufgyr8{font-size:16px;font-weight:600}.sidebar-nav.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;overflow-y:auto;padding:12px 0}.nav-group.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:16px}.nav-label.svelte-1ufgyr8.svelte-1ufgyr8{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;padding:4px 20px;margin-bottom:4px}.nav-item.svelte-1ufgyr8.svelte-1ufgyr8{display:block;width:100%;padding:8px 20px;border:none;background:none;color:#ccc;font-size:13px;text-align:left;cursor:pointer;border-radius:0;font-family:inherit}.nav-item.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#223}.nav-item.selected.svelte-1ufgyr8.svelte-1ufgyr8{background:#2a2a4a;color:#fff;font-weight:500}.workspace-tree-area.svelte-1ufgyr8.svelte-1ufgyr8{min-height:32px}.workspace-tree-area.drop-valid.svelte-1ufgyr8.svelte-1ufgyr8{outline:2px dashed #4ade80;outline-offset:-2px;background:#4ade800d}.nav-empty.svelte-1ufgyr8.svelte-1ufgyr8{padding:8px 20px;color:#555;font-size:12px}.nav-label-row.svelte-1ufgyr8.svelte-1ufgyr8{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;padding:4px 20px;margin-bottom:4px;display:flex;align-items:center;justify-content:space-between}.nav-add-btn.svelte-1ufgyr8.svelte-1ufgyr8{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:0 4px;font-family:inherit;line-height:1}.nav-add-btn.svelte-1ufgyr8.svelte-1ufgyr8:hover{color:#ccc}.context-menu-backdrop.svelte-1ufgyr8.svelte-1ufgyr8{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.context-menu.svelte-1ufgyr8.svelte-1ufgyr8{position:fixed;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:4px;min-width:180px;box-shadow:0 8px 24px #0006}.context-menu-section.svelte-1ufgyr8.svelte-1ufgyr8{padding:6px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666}.context-menu-item.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;width:100%;padding:6px 12px;border:none;background:none;color:#ccc;font-size:13px;text-align:left;cursor:pointer;border-radius:4px;font-family:inherit;align-items:center;gap:6px}.context-menu-item.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#223;color:#fff}.context-menu-item.danger.svelte-1ufgyr8.svelte-1ufgyr8{color:#ff6b6b}.context-menu-item.danger.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#3a2222;color:#ff6b6b}.context-menu-divider.svelte-1ufgyr8.svelte-1ufgyr8{height:1px;background:#2a2a3c;margin:4px 0}.create-context.svelte-1ufgyr8.svelte-1ufgyr8{font-size:12px;color:#888;margin-bottom:12px}.sidebar-footer.svelte-1ufgyr8.svelte-1ufgyr8{padding:8px 12px;border-top:1px solid #2a2a3c;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.version.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555;text-align:center}.main.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;display:flex;flex-direction:column;height:100vh;min-width:0;overflow:hidden;background:#13131f}.header.svelte-1ufgyr8.svelte-1ufgyr8{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;flex-shrink:0;min-height:48px}.header-left.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px;flex:1}.header-right.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px}.header-sync-btn.svelte-1ufgyr8.svelte-1ufgyr8{background:#1e1e38;border:1px solid #6366f1;border-radius:8px;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:#c0c0f0;font-family:inherit;font-size:13px;position:relative}.header-sync-btn.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#2a2a50;color:#e4e4ef;border-color:#818cf8}.header-sync-btn.svelte-1ufgyr8.svelte-1ufgyr8:disabled{opacity:.5;cursor:not-allowed}.sync-badge.svelte-1ufgyr8.svelte-1ufgyr8{background:#6366f1;color:#fff;font-size:10px;border-radius:50%;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;position:absolute;top:-6px;right:-6px}.crumb.svelte-1ufgyr8.svelte-1ufgyr8{font-size:14px;font-weight:500}.crumb.placeholder.svelte-1ufgyr8.svelte-1ufgyr8{color:#666}.crumb-type.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555;background:#1e1e2e;padding:2px 8px;border-radius:10px;margin-left:8px}.error-banner.svelte-1ufgyr8.svelte-1ufgyr8{background:#3a2222;color:#f88;padding:8px 24px;font-size:12px;border-bottom:1px solid #4a2222;flex-shrink:0;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.dismiss-btn.svelte-1ufgyr8.svelte-1ufgyr8{background:none;border:none;color:#f66;cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:2px}.dismiss-btn.svelte-1ufgyr8.svelte-1ufgyr8:hover{color:#f44}.tabs.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;border-bottom:1px solid #2a2a3c;flex-shrink:0;padding:0 24px}.tab.svelte-1ufgyr8.svelte-1ufgyr8{padding:10px 16px;border:none;background:none;color:#888;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;font-family:inherit}.tab.svelte-1ufgyr8.svelte-1ufgyr8:hover{color:#a5b4fc}.tab.active.svelte-1ufgyr8.svelte-1ufgyr8{color:#e4e4ef;border-bottom-color:#818cf8;background:#6366f11f;font-weight:600}.tab-content.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;overflow-y:auto}.note-editor.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;display:flex;flex-direction:column;height:100%}.note-editor-header.svelte-1ufgyr8.svelte-1ufgyr8{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;gap:12px;flex-shrink:0}.note-title.svelte-1ufgyr8.svelte-1ufgyr8{font-size:16px;font-weight:500}.dirty-mark.svelte-1ufgyr8.svelte-1ufgyr8{color:#f59e0b;font-size:10px}.note-editor-actions.svelte-1ufgyr8.svelte-1ufgyr8{margin-left:auto;display:flex;gap:8px}.note-textarea.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;width:100%;border:none;outline:none;background:#13131f;color:#e4e4ef;font-family:SF Mono,Fira Code,monospace;font-size:14px;line-height:1.6;padding:24px;resize:none}.overview.svelte-1ufgyr8.svelte-1ufgyr8{padding:24px}.overview.svelte-1ufgyr8 h2.svelte-1ufgyr8{font-size:24px;margin-bottom:16px}.meta-grid.svelte-1ufgyr8.svelte-1ufgyr8{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px}.meta-item.svelte-1ufgyr8.svelte-1ufgyr8{background:#1a1a28;padding:12px 16px;border-radius:8px}.meta-label.svelte-1ufgyr8.svelte-1ufgyr8{display:block;font-size:11px;color:#666;margin-bottom:4px;text-transform:uppercase}.quick-actions.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.qa-btn.svelte-1ufgyr8.svelte-1ufgyr8{padding:10px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;display:inline-flex;align-items:center;gap:6px}.qa-btn.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#223}.qa-btn.svelte-1ufgyr8.svelte-1ufgyr8:disabled{opacity:.4;cursor:not-allowed}.recent-section.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:24px}.recent-section.svelte-1ufgyr8 h3.svelte-1ufgyr8{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:8px}.recent-note.svelte-1ufgyr8.svelte-1ufgyr8{padding:8px 12px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between}.recent-note.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#1a1a28}.recent-date.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555}.recent-entry.svelte-1ufgyr8.svelte-1ufgyr8{padding:6px 0;font-size:13px;color:#888;border-bottom:1px solid #1a1a28}.notes-tab.svelte-1ufgyr8.svelte-1ufgyr8{padding:24px}.tab-toolbar.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:16px}.create-form.svelte-1ufgyr8.svelte-1ufgyr8{background:#1a1a28;padding:16px;border-radius:8px;margin-bottom:16px}.create-form.svelte-1ufgyr8 input.svelte-1ufgyr8{width:100%;padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;font-family:inherit;margin-bottom:8px}.create-form.svelte-1ufgyr8 input.svelte-1ufgyr8:focus{outline:none;border-color:#6366f1}.form-actions.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:8px}.notes-list.svelte-1ufgyr8.svelte-1ufgyr8{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.note-card.svelte-1ufgyr8.svelte-1ufgyr8{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:16px;cursor:pointer}.note-card.svelte-1ufgyr8.svelte-1ufgyr8:hover{border-color:#3a3a5c}.note-card-title.svelte-1ufgyr8.svelte-1ufgyr8{font-size:14px;font-weight:500;margin-bottom:4px}.note-card-date.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555}.worklog-tab.svelte-1ufgyr8.svelte-1ufgyr8{padding:24px}.worklog-toolbar.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:16px}.worklog-entry.svelte-1ufgyr8.svelte-1ufgyr8{padding:12px 0;border-bottom:1px solid #1a1a28}.suggestions-title.svelte-1ufgyr8.svelte-1ufgyr8{font-size:13px;font-weight:600;color:#a5b4fc;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.suggestion-summary.svelte-1ufgyr8.svelte-1ufgyr8{font-size:14px;color:#e4e4ef}.suggestion-meta.svelte-1ufgyr8.svelte-1ufgyr8{font-size:12px;color:#8888a0;margin-top:2px}.suggestion-main.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;gap:12px}.suggestion-card.expanded.svelte-1ufgyr8.svelte-1ufgyr8{border-color:#3a3a5c}.suggestion-detail.svelte-1ufgyr8.svelte-1ufgyr8{padding:0 12px 10px;border-top:1px solid #2a2a3c}.suggestion-detail-title.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;padding:8px 0 4px}.suggestion-detail-event.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:13px;color:#b0b0c0}.suggestion-event-time.svelte-1ufgyr8.svelte-1ufgyr8{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.suggestion-event-type.svelte-1ufgyr8.svelte-1ufgyr8{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.suggestion-event-title.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-card.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#1e1e32;border-radius:6px;margin-bottom:8px;gap:12px}.suggestion-card.svelte-1ufgyr8.svelte-1ufgyr8:last-child{margin-bottom:0}.suggestion-info.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;display:flex;flex-direction:column;gap:2px}.suggestion-node.svelte-1ufgyr8.svelte-1ufgyr8{color:#a5b4fc;font-weight:600;font-size:13px;text-decoration:none;cursor:pointer}.suggestion-node.svelte-1ufgyr8.svelte-1ufgyr8:hover{text-decoration:underline}.suggestion-actions.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:6px;flex-shrink:0}.suggestion-min-input.svelte-1ufgyr8.svelte-1ufgyr8{width:60px;padding:4px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;text-align:center}.suggestion-min-label.svelte-1ufgyr8.svelte-1ufgyr8{font-size:12px;color:#8888a0}.suggestion-confidence.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;padding:2px 6px;border-radius:3px}.suggestion-confidence.low.svelte-1ufgyr8.svelte-1ufgyr8{color:#fbbf24}.suggestion-confidence.medium.svelte-1ufgyr8.svelte-1ufgyr8{color:#60a5fa}.suggestion-confidence.high.svelte-1ufgyr8.svelte-1ufgyr8{color:#34d399}.journal-screen.svelte-1ufgyr8.svelte-1ufgyr8{padding:24px;overflow-y:auto;flex:1}.journal-header.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:24px}.journal-header.svelte-1ufgyr8 h2.svelte-1ufgyr8{margin:0 0 16px}.journal-summary.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px;padding:16px;background:#1a1a2e;border-radius:8px;border:1px solid #2a2a3c}.summary-total.svelte-1ufgyr8.svelte-1ufgyr8{font-size:18px;font-weight:700;color:#e4e4ef;width:100%;margin-bottom:4px}.summary-section.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;min-width:200px}.summary-label.svelte-1ufgyr8.svelte-1ufgyr8{font-size:12px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.summary-row.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:8px;font-size:13px;padding:4px 0;border-bottom:1px solid #2a2a3c}.summary-row.svelte-1ufgyr8 span.svelte-1ufgyr8:first-child{flex:1;color:#e4e4ef}.summary-count.svelte-1ufgyr8.svelte-1ufgyr8{color:#8888a0}.journal-table-wrap.svelte-1ufgyr8.svelte-1ufgyr8{overflow-x:auto}.journal-table.svelte-1ufgyr8.svelte-1ufgyr8{width:100%;border-collapse:collapse;font-size:13px}.journal-table.svelte-1ufgyr8 th.svelte-1ufgyr8{text-align:left;padding:8px 12px;border-bottom:2px solid #2a2a3c;color:#b0b0c8;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.journal-table.svelte-1ufgyr8 td.svelte-1ufgyr8{padding:8px 12px;border-bottom:1px solid #1a1a28;color:#e4e4ef}.journal-table.svelte-1ufgyr8 tr:hover td.svelte-1ufgyr8{background:#1e1e32}.journal-table.svelte-1ufgyr8 .link-btn.svelte-1ufgyr8{color:#a5b4fc}.journal-path-cell.svelte-1ufgyr8.svelte-1ufgyr8{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a0a0b8;font-size:12px}.journal-min-cell.svelte-1ufgyr8.svelte-1ufgyr8{text-align:right;font-variant-numeric:tabular-nums}.journal-date-cell.svelte-1ufgyr8.svelte-1ufgyr8{color:#b0b0c0;white-space:nowrap}.journal-bool-cell.svelte-1ufgyr8.svelte-1ufgyr8{text-align:center;color:#a0a0b8}.journal-row.svelte-1ufgyr8.svelte-1ufgyr8{cursor:pointer}.journal-row.svelte-1ufgyr8:hover td.svelte-1ufgyr8{background:#1e1e32}.journal-row.expanded.svelte-1ufgyr8 td.svelte-1ufgyr8{background:#1a1a30;border-bottom:none}.journal-summary-cell.svelte-1ufgyr8.svelte-1ufgyr8{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-row-detail.svelte-1ufgyr8 td.svelte-1ufgyr8{padding:0 12px 12px;background:#16162a}.journal-detail-body.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-direction:column;gap:12px;padding:8px 0}.journal-detail-section.svelte-1ufgyr8.svelte-1ufgyr8{font-size:13px}.journal-detail-label.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:4px}.journal-detail-section.svelte-1ufgyr8 p.svelte-1ufgyr8{margin:0;color:#c0c0d0}.journal-event-row.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0}.journal-event-time.svelte-1ufgyr8.svelte-1ufgyr8{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.journal-event-type.svelte-1ufgyr8.svelte-1ufgyr8{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.journal-event-title.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-node-picker.svelte-1ufgyr8 input[type=text].svelte-1ufgyr8{padding:6px 10px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:13px;font-family:inherit;width:240px}.journal-search-dropdown.svelte-1ufgyr8.svelte-1ufgyr8{position:absolute;top:100%;left:0;right:0;z-index:50;background:#1a1a28;border:1px solid #2a2a3c;border-radius:6px;margin-top:4px;max-height:240px;overflow-y:auto;min-width:260px}.journal-search-item.svelte-1ufgyr8.svelte-1ufgyr8{display:block;width:100%;padding:8px 12px;border:none;background:transparent;color:#e4e4ef;cursor:pointer;font-family:inherit;font-size:13px;text-align:left}.journal-search-item.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#2a2a4a}.journal-search-title.svelte-1ufgyr8.svelte-1ufgyr8{display:block;font-weight:500}.journal-search-path.svelte-1ufgyr8.svelte-1ufgyr8{display:block;font-size:11px;color:#8888a0;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-selected-node.svelte-1ufgyr8.svelte-1ufgyr8{cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#1e1e3a;border:1px solid #3a3a5c;border-radius:4px;font-size:13px;color:#a5b4fc;white-space:nowrap;font-family:inherit}.journal-selected-node.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#2a2a4a}.journal-node-clear.svelte-1ufgyr8.svelte-1ufgyr8{color:#8888a0;font-size:14px;margin-left:4px}.journal-status-msg.svelte-1ufgyr8.svelte-1ufgyr8{font-size:12px;color:#34d399;padding:4px 8px;background:#1a2a1e;border-radius:4px}.journal-include-chk.svelte-1ufgyr8.svelte-1ufgyr8{width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.today-suggestions.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:24px}.link-btn.svelte-1ufgyr8.svelte-1ufgyr8{background:none;border:none;padding:0;color:#a5b4fc;font:inherit;cursor:pointer;text-align:left}.link-btn.svelte-1ufgyr8.svelte-1ufgyr8:hover{text-decoration:underline}.nav-badge.svelte-1ufgyr8.svelte-1ufgyr8{background:#6366f1;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:1px 6px;margin-left:6px;line-height:1.4}.actions-tab.svelte-1ufgyr8.svelte-1ufgyr8{padding:24px}.action-card.svelte-1ufgyr8.svelte-1ufgyr8{background:#1a1a28;padding:12px 16px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.action-info.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.action-title.svelte-1ufgyr8.svelte-1ufgyr8{font-weight:500}.action-type.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px;white-space:nowrap}.action-data.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555;font-family:SF Mono,Fira Code,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.action-btns.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:4px;flex-shrink:0}.action-btns.svelte-1ufgyr8 .btn-danger.svelte-1ufgyr8{color:#ff6b6b;border-color:#4a2222;padding:4px 8px}.action-btns.svelte-1ufgyr8 .btn-danger.svelte-1ufgyr8:hover{background:#3a2222}.empty-state.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state.svelte-1ufgyr8 p.svelte-1ufgyr8{margin:0;font-size:14px;color:#666}.empty-state.svelte-1ufgyr8 .empty-icon.svelte-1ufgyr8{margin-bottom:12px;color:#444}.empty-state.svelte-1ufgyr8 .hint.svelte-1ufgyr8{font-size:12px;color:#555;margin-top:6px}.empty-state.svelte-1ufgyr8 .empty-actions.svelte-1ufgyr8{display:flex;gap:8px;justify-content:center;margin-top:16px}.welcome.svelte-1ufgyr8.svelte-1ufgyr8{padding:48px 24px;text-align:center}.welcome.svelte-1ufgyr8 h2.svelte-1ufgyr8{font-size:32px;font-weight:300;color:#8888a4;margin-bottom:16px}.welcome.svelte-1ufgyr8 p.svelte-1ufgyr8{color:#666;font-size:14px}.error-text.svelte-1ufgyr8.svelte-1ufgyr8{color:#f88}.modal-overlay.svelte-1ufgyr8.svelte-1ufgyr8{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal.svelte-1ufgyr8.svelte-1ufgyr8{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:400px;max-width:90vw}.modal.svelte-1ufgyr8 h3.svelte-1ufgyr8{font-size:18px;margin-bottom:16px}.modal.svelte-1ufgyr8 textarea.svelte-1ufgyr8{width:100%;padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;font-family:inherit;min-height:60px;resize:vertical;box-sizing:border-box}.modal-worklog.svelte-1ufgyr8.svelte-1ufgyr8{width:460px}.form-group.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:12px}.form-row.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:16px;margin-bottom:12px}.form-group.svelte-1ufgyr8 label.svelte-1ufgyr8{display:block}.form-group.svelte-1ufgyr8 .label-text.svelte-1ufgyr8,.form-group.svelte-1ufgyr8 .form-label.svelte-1ufgyr8{display:block;font-size:12px;color:#666;margin-bottom:4px}.form-group.svelte-1ufgyr8 input.svelte-1ufgyr8,.form-group.svelte-1ufgyr8 select.svelte-1ufgyr8{width:100%;padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;font-family:inherit}.form-group.svelte-1ufgyr8 select.svelte-1ufgyr8{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.form-group.svelte-1ufgyr8 input.svelte-1ufgyr8:focus,.form-group.svelte-1ufgyr8 select.svelte-1ufgyr8:focus{outline:none;border-color:#6366f1}.modal-actions.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.btn.svelte-1ufgyr8.svelte-1ufgyr8{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#223}.btn-primary.svelte-1ufgyr8.svelte-1ufgyr8{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#4f46e5}.btn.svelte-1ufgyr8.svelte-1ufgyr8:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-1ufgyr8.svelte-1ufgyr8{padding:4px 10px;font-size:12px}.btn-danger.svelte-1ufgyr8.svelte-1ufgyr8{color:#ff6b6b;border-color:#4a2222}.btn-danger.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#3a2222}.files-tab.svelte-1ufgyr8.svelte-1ufgyr8{padding:20px}.files-tab.svelte-1ufgyr8 .tab-toolbar.svelte-1ufgyr8{display:flex;gap:8px;align-items:center;margin-bottom:16px}.file-list.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-direction:column}.back-btn.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:4px;display:inline-flex;align-items:center;gap:4px}.import-summary.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:16px}.summary-row.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;border-bottom:1px solid #2a2a3c}.summary-warn.svelte-1ufgyr8.svelte-1ufgyr8{margin-top:8px;padding:8px 12px;background:#3a2a22;border-radius:6px;color:#fa6;font-size:13px}.rename-error.svelte-1ufgyr8.svelte-1ufgyr8{color:#ff6b6b;font-size:12px;margin-top:4px}.template-cards.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.template-card.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #2a2a3c;background:#13131f;color:#ccc;border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;width:100%;text-align:left}.template-card.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#1e1e30;border-color:#3a3a5c}.template-card.selected.svelte-1ufgyr8.svelte-1ufgyr8{background:#2a2a50;border-color:#6366f1;color:#e4e4ef}.template-card-text.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-direction:column;gap:2px;min-width:0}.template-card-title.svelte-1ufgyr8.svelte-1ufgyr8{font-weight:500}.template-card-desc.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#888}.today-dashboard.svelte-1ufgyr8.svelte-1ufgyr8{padding:24px;overflow-y:auto;flex:1}.today-header.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.today-header.svelte-1ufgyr8 h2.svelte-1ufgyr8{font-size:24px}.today-date.svelte-1ufgyr8.svelte-1ufgyr8{font-size:13px;color:#666}.today-summary.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.summary-chip.svelte-1ufgyr8.svelte-1ufgyr8{font-size:12px;color:#b0b0c0;background:#1a1a28;border:1px solid #2a2a3c;padding:4px 12px;border-radius:16px}.today-case.svelte-1ufgyr8.svelte-1ufgyr8{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:12px;overflow:hidden}.today-case-header.svelte-1ufgyr8.svelte-1ufgyr8{padding:12px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #2a2a3c;cursor:pointer}.today-case-header.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#1e1e30}.today-case-title.svelte-1ufgyr8.svelte-1ufgyr8{font-weight:500}.today-case-type.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px}.today-case-count.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#6366f1;margin-left:4px}.today-case-time.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555;margin-left:auto}.today-events.svelte-1ufgyr8.svelte-1ufgyr8{padding:8px 16px}.today-event.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0;cursor:pointer}.today-event.svelte-1ufgyr8.svelte-1ufgyr8:hover{color:#e4e4ef}.today-event-icon.svelte-1ufgyr8.svelte-1ufgyr8{width:18px;text-align:center;color:#6366f1;font-size:13px}.today-event-title.svelte-1ufgyr8.svelte-1ufgyr8{flex:1}.today-event-type.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#666}.today-event-time.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555;margin-left:auto}.today-events-empty.svelte-1ufgyr8.svelte-1ufgyr8{padding:8px 16px;font-size:13px;color:#666;font-style:italic}.today-empty.svelte-1ufgyr8.svelte-1ufgyr8{padding:48px 24px;text-align:center}.today-empty.svelte-1ufgyr8 p.svelte-1ufgyr8{color:#666;font-size:14px;margin:0}.today-empty.svelte-1ufgyr8 .hint.svelte-1ufgyr8{font-size:12px;color:#555;margin-top:8px}.today-timeline.svelte-1ufgyr8.svelte-1ufgyr8{margin-top:24px}.today-timeline.svelte-1ufgyr8 h3.svelte-1ufgyr8{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:12px}.timeline-event.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:10px;font-size:13px;color:#b0b0c0;border-left:2px solid #2a2a3c;padding:6px 0 6px 16px;margin-left:4px;cursor:pointer}.timeline-event.svelte-1ufgyr8.svelte-1ufgyr8:hover{color:#e4e4ef}.timeline-dot.svelte-1ufgyr8.svelte-1ufgyr8{width:6px;height:6px;border-radius:50%;background:#6366f1;margin-left:-19px;flex-shrink:0}.timeline-title.svelte-1ufgyr8.svelte-1ufgyr8{flex:1}.timeline-type.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#666}.timeline-time.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555}.activity-tab.svelte-1ufgyr8.svelte-1ufgyr8{padding:24px}.activity-events.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-direction:column;gap:2px}.activity-event.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;color:#b0b0c0;cursor:pointer}.activity-event.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#1a1a28;color:#e4e4ef}.activity-event-icon.svelte-1ufgyr8.svelte-1ufgyr8{width:18px;text-align:center;color:#6366f1;font-size:13px;flex-shrink:0}.activity-event-title.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-event-type.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#666;flex-shrink:0}.activity-event-target.svelte-1ufgyr8.svelte-1ufgyr8{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px;flex-shrink:0}.activity-event-time.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555;margin-left:8px;flex-shrink:0}.activity-feed.svelte-1ufgyr8.svelte-1ufgyr8{padding:24px;overflow-y:auto;flex:1}.activity-feed-header.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:20px}.activity-feed-header.svelte-1ufgyr8 h2.svelte-1ufgyr8{font-size:24px}.activity-feed-events.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-direction:column;gap:2px}.activity-feed-event.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer}.activity-feed-event.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#1a1a28;color:#e4e4ef}.activity-feed-icon.svelte-1ufgyr8.svelte-1ufgyr8{width:20px;text-align:center;color:#6366f1;font-size:14px;flex-shrink:0;margin-top:1px}.activity-feed-body.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;min-width:0}.activity-feed-title.svelte-1ufgyr8.svelte-1ufgyr8{font-size:14px;color:#e4e4ef}.activity-feed-meta.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px;margin-top:2px}.activity-feed-type.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#666}.activity-feed-target.svelte-1ufgyr8.svelte-1ufgyr8{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px}.activity-feed-time.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;color:#555}.sidebar-sync-btn.svelte-1ufgyr8.svelte-1ufgyr8{background:#1e1e38;border:1px solid #6366f1;border-radius:8px;padding:8px 12px;cursor:pointer;width:100%;display:flex;align-items:center;gap:8px;color:#c0c0f0;font-family:inherit;font-size:13px}.sidebar-sync-btn.svelte-1ufgyr8.svelte-1ufgyr8:hover{background:#2a2a50;color:#e4e4ef;border-color:#818cf8}.sidebar-sync-label.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;text-align:left}.sync-dot.svelte-1ufgyr8.svelte-1ufgyr8{width:8px;height:8px;border-radius:50%;background:#4a4a4a;flex-shrink:0}.sync-dot.active.svelte-1ufgyr8.svelte-1ufgyr8{background:#4ade80;box-shadow:0 0 6px #4ade8080}.modal-sync.svelte-1ufgyr8.svelte-1ufgyr8{width:460px}.sync-status.svelte-1ufgyr8.svelte-1ufgyr8{background:#13131f;border-radius:8px;padding:12px;margin-bottom:16px}.sync-row.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}.sync-label.svelte-1ufgyr8.svelte-1ufgyr8{color:#666}.sync-value.svelte-1ufgyr8.svelte-1ufgyr8{color:#e4e4ef}.sync-value.mono.svelte-1ufgyr8.svelte-1ufgyr8{font-family:SF Mono,Fira Code,monospace;font-size:12px}.sync-result.svelte-1ufgyr8.svelte-1ufgyr8{font-size:12px;color:#6366f1;padding:4px 0}.sync-connected-actions.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:8px;margin-bottom:16px}.journal-filter-section.svelte-1ufgyr8.svelte-1ufgyr8{margin-bottom:12px;padding:12px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-filter-heading.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.journal-filters-row.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end}.journal-filters-row.svelte-1ufgyr8 label.svelte-1ufgyr8{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#8888a0}.journal-filters-row.svelte-1ufgyr8 input[type=date].svelte-1ufgyr8{padding:5px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:12px;font-family:inherit}.journal-filters-row.svelte-1ufgyr8 .checkbox-label.svelte-1ufgyr8{flex-direction:row;align-items:center;gap:6px;cursor:pointer}.journal-filters-row.svelte-1ufgyr8 .checkbox-label input.svelte-1ufgyr8{width:auto}.journal-export-section.svelte-1ufgyr8.svelte-1ufgyr8{padding:8px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-export-heading.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.journal-export-row.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;gap:8px;align-items:center}.journal-toggle-col.svelte-1ufgyr8.svelte-1ufgyr8{width:32px;min-width:32px;text-align:center;padding:8px 4px!important}.journal-toggle-icon.svelte-1ufgyr8.svelte-1ufgyr8{color:#6366f1;font-size:12px}.worklog-entry.svelte-1ufgyr8.svelte-1ufgyr8{padding:8px 12px;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:6px;cursor:pointer}.worklog-entry.svelte-1ufgyr8.svelte-1ufgyr8:hover{border-color:#3a3a5c}.worklog-entry.expanded.svelte-1ufgyr8.svelte-1ufgyr8{border-color:#6366f1}.worklog-entry-head.svelte-1ufgyr8.svelte-1ufgyr8{display:flex;align-items:center;gap:8px;font-size:13px;color:#e4e4ef}.worklog-toggle.svelte-1ufgyr8.svelte-1ufgyr8{color:#6366f1;font-size:12px;width:16px;text-align:center;flex-shrink:0}.worklog-entry-summary.svelte-1ufgyr8.svelte-1ufgyr8{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worklog-entry-mins.svelte-1ufgyr8.svelte-1ufgyr8{color:#b0b0c8;font-variant-numeric:tabular-nums;white-space:nowrap}.worklog-entry-date.svelte-1ufgyr8.svelte-1ufgyr8{color:#b0b0c0;font-size:12px;white-space:nowrap}.worklog-entry-detail.svelte-1ufgyr8.svelte-1ufgyr8{margin-top:8px;padding-top:8px;border-top:1px solid #2a2a3c;display:flex;flex-direction:column;gap:8px}.wl-detail-section.svelte-1ufgyr8.svelte-1ufgyr8{font-size:13px}.wl-detail-label.svelte-1ufgyr8.svelte-1ufgyr8{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:2px}.wl-detail-section.svelte-1ufgyr8 p.svelte-1ufgyr8{margin:0;color:#c0c0d0}.wl-tag-billable.svelte-1ufgyr8.svelte-1ufgyr8{font-size:10px;color:#34d399;background:#1a2a1e;padding:1px 6px;border-radius:8px;white-space:nowrap}.wl-tag-approx.svelte-1ufgyr8.svelte-1ufgyr8{font-size:10px;color:#fbbf24;background:#2a2a1a;padding:1px 6px;border-radius:8px;white-space:nowrap}.checkbox-label-inline.svelte-1ufgyr8.svelte-1ufgyr8{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#e4e4ef;cursor:pointer}.checkbox-label-inline.svelte-1ufgyr8 input.svelte-1ufgyr8{width:auto} diff --git a/cmd/verstak-gui/frontend-dist/assets/main-CjeuIBBr.js b/cmd/verstak-gui/frontend-dist/assets/main-CjeuIBBr.js new file mode 100644 index 0000000..3b5b06f --- /dev/null +++ b/cmd/verstak-gui/frontend-dist/assets/main-CjeuIBBr.js @@ -0,0 +1,3 @@ +var Rr=Object.defineProperty;var zr=(l,e,t)=>e in l?Rr(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var ml=(l,e,t)=>zr(l,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const a of s.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&n(a)}).observe(document,{childList:!0,subtree:!0});function t(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(o){if(o.ep)return;o.ep=!0;const s=t(o);fetch(o.href,s)}})();function ae(){}function Io(l){return l()}function nn(){return Object.create(null)}function ge(l){l.forEach(Io)}function Jt(l){return typeof l=="function"}function gt(l,e){return l!=l?e==e:l!==e||l&&typeof l=="object"||typeof l=="function"}let Zt;function xt(l,e){return l===e?!0:(Zt||(Zt=document.createElement("a")),Zt.href=e,l===Zt.href)}function Br(l){return Object.keys(l).length===0}const Hr=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function r(l,e){l.appendChild(e)}function C(l,e,t){l.insertBefore(e,t||null)}function w(l){l.parentNode&&l.parentNode.removeChild(l)}function Re(l,e){for(let t=0;tl.removeEventListener(e,t,n)}function yl(l){return function(e){return e.preventDefault(),l.call(this,e)}}function Je(l){return function(e){return e.stopPropagation(),l.call(this,e)}}function St(l){return function(e){e.target===this&&l.call(this,e)}}function i(l,e,t){t==null?l.removeAttribute(e):l.getAttribute(e)!==t&&l.setAttribute(e,t)}function $t(l){return l===""?null:+l}function Vr(l){return Array.from(l.childNodes)}function U(l,e){e=""+e,l.data!==e&&(l.data=e)}function he(l,e){l.value=e??""}function qe(l,e,t,n){t==null?l.style.removeProperty(e):l.style.setProperty(e,t,"")}function At(l,e,t){for(let n=0;n{const o=l.$$.callbacks[e];if(o){const s=Wr(e,t,{cancelable:n});return o.slice().forEach(a=>{a.call(l,s)}),!s.defaultPrevented}return!0}}function Ao(l,e){const t=l.$$.callbacks[e.type];t&&t.slice().forEach(n=>n.call(this,e))}const Ft=[],on=[];let Lt=[];const sn=[],Ur=Promise.resolve();let hl=!1;function Kr(){hl||(hl=!0,Ur.then(Lo))}function Pt(l){Lt.push(l)}const gl=new Set;let It=0;function Lo(){if(It!==0)return;const l=qt;do{try{for(;Itl.indexOf(n)===-1?e.push(n):t.push(n)),t.forEach(n=>n()),Lt=e}const Qt=new Set;let Tt;function $e(){Tt={r:0,c:[],p:Tt}}function et(){Tt.r||ge(Tt.c),Tt=Tt.p}function de(l,e){l&&l.i&&(Qt.delete(l),l.i(e))}function _e(l,e,t,n){if(l&&l.o){if(Qt.has(l))return;Qt.add(l),Tt.c.push(()=>{Qt.delete(l),n&&(t&&l.d(1),n())}),l.o(e)}else n&&n()}function re(l){return(l==null?void 0:l.length)!==void 0?l:Array.from(l)}function Po(l,e){_e(l,1,1,()=>{e.delete(l.key)})}function Oo(l,e,t,n,o,s,a,d,c,f,h,_){let g=l.length,k=s.length,b=g;const y={};for(;b--;)y[l[b].key]=b;const j=[],T=new Map,D=new Map,E=[];for(b=k;b--;){const S=_(o,s,b),O=t(S);let z=a.get(O);z?E.push(()=>z.p(S,e)):(z=f(O,S),z.c()),T.set(O,j[b]=z),O in y&&D.set(O,Math.abs(b-y[O]))}const N=new Set,M=new Set;function A(S){de(S,1),S.m(d,h),a.set(S.key,S),h=S.first,k--}for(;g&&k;){const S=j[k-1],O=l[g-1],z=S.key,R=O.key;S===O?(h=S.first,g--,k--):T.has(R)?!a.has(z)||N.has(z)?A(S):M.has(R)?g--:D.get(z)>D.get(R)?(M.add(z),A(S)):(N.add(R),g--):(c(O,a),g--)}for(;g--;){const S=l[g];T.has(S.key)||c(S,a)}for(;k;)A(j[k-1]);return ge(E),j}function at(l){l&&l.c()}function nt(l,e,t){const{fragment:n,after_update:o}=l.$$;n&&n.m(e,t),Pt(()=>{const s=l.$$.on_mount.map(Io).filter(Jt);l.$$.on_destroy?l.$$.on_destroy.push(...s):ge(s),l.$$.on_mount=[]}),o.forEach(Pt)}function it(l,e){const t=l.$$;t.fragment!==null&&(qr(t.after_update),ge(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function Jr(l,e){l.$$.dirty[0]===-1&&(Ft.push(l),Kr(),l.$$.dirty.fill(0)),l.$$.dirty[e/31|0]|=1<{const b=k.length?k[0]:g;return f.ctx&&o(f.ctx[_],f.ctx[_]=b)&&(!f.skip_bound&&f.bound[_]&&f.bound[_](b),h&&Jr(l,_)),g}):[],f.update(),h=!0,ge(f.before_update),f.fragment=n?n(f.ctx):!1,e.target){if(e.hydrate){const _=Vr(e.target);f.fragment&&f.fragment.l(_),_.forEach(w)}else f.fragment&&f.fragment.c();e.intro&&de(l.$$.fragment),nt(l,e.target,e.anchor),Lo()}Gt(c)}class ht{constructor(){ml(this,"$$");ml(this,"$$set")}$destroy(){it(this,1),this.$destroy=ae}$on(e,t){if(!Jt(t))return ae;const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const o=n.indexOf(t);o!==-1&&n.splice(o,1)}}$set(e){this.$$set&&!Br(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Yr="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Yr);function Xr(l){let e,t;return{c(){e=Y("path"),t=Y("polyline"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function Zr(l){let e,t,n,o,s;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),o=Y("line"),s=Y("polyline"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","16"),i(n,"y1","13"),i(n,"x2","8"),i(n,"y2","13"),i(o,"x1","16"),i(o,"y1","17"),i(o,"x2","8"),i(o,"y2","17"),i(s,"points","10 9 9 9 8 9")},m(a,d){C(a,e,d),C(a,t,d),C(a,n,d),C(a,o,d),C(a,s,d)},d(a){a&&(w(e),w(t),w(n),w(o),w(s))}}}function Qr(l){let e,t;return{c(){e=Y("polyline"),t=Y("polyline"),i(e,"points","16 18 22 12 16 6"),i(t,"points","8 6 2 12 8 18")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function xr(l){let e,t,n,o;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),o=Y("rect"),i(e,"d","M21 8v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8"),i(t,"points","7 3 12 8 17 3"),i(n,"x1","3"),i(n,"y1","8"),i(n,"x2","21"),i(n,"y2","8"),i(o,"x","10"),i(o,"y","12"),i(o,"width","4"),i(o,"height","4"),i(o,"rx","1")},m(s,a){C(s,e,a),C(s,t,a),C(s,n,a),C(s,o,a)},d(s){s&&(w(e),w(t),w(n),w(o))}}}function $r(l){let e,t,n,o,s;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),o=Y("line"),s=Y("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","9"),i(n,"y1","12"),i(n,"x2","15"),i(n,"y2","12"),i(o,"x1","9"),i(o,"y1","15"),i(o,"x2","13"),i(o,"y2","15"),i(s,"x1","12"),i(s,"y1","15"),i(s,"x2","12"),i(s,"y2","18")},m(a,d){C(a,e,d),C(a,t,d),C(a,n,d),C(a,o,d),C(a,s,d)},d(a){a&&(w(e),w(t),w(n),w(o),w(s))}}}function ec(l){let e,t,n,o,s,a;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),o=Y("line"),s=Y("line"),a=Y("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","8"),i(n,"y1","12"),i(n,"x2","16"),i(n,"y2","12"),i(o,"x1","8"),i(o,"y1","16"),i(o,"x2","16"),i(o,"y2","16"),i(s,"x1","8"),i(s,"y1","14"),i(s,"x2","12"),i(s,"y2","14"),i(a,"x1","12"),i(a,"y1","12"),i(a,"x2","12"),i(a,"y2","18")},m(d,c){C(d,e,c),C(d,t,c),C(d,n,c),C(d,o,c),C(d,s,c),C(d,a,c)},d(d){d&&(w(e),w(t),w(n),w(o),w(s),w(a))}}}function tc(l){let e,t,n,o;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),o=Y("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","16"),i(n,"y1","13"),i(n,"x2","8"),i(n,"y2","13"),i(o,"x1","16"),i(o,"y1","17"),i(o,"x2","8"),i(o,"y2","17")},m(s,a){C(s,e,a),C(s,t,a),C(s,n,a),C(s,o,a)},d(s){s&&(w(e),w(t),w(n),w(o))}}}function lc(l){let e,t,n,o,s;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),o=Y("line"),s=Y("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","8"),i(n,"y1","12"),i(n,"x2","16"),i(n,"y2","12"),i(o,"x1","8"),i(o,"y1","16"),i(o,"x2","16"),i(o,"y2","16"),i(s,"x1","8"),i(s,"y1","14"),i(s,"x2","12"),i(s,"y2","14")},m(a,d){C(a,e,d),C(a,t,d),C(a,n,d),C(a,o,d),C(a,s,d)},d(a){a&&(w(e),w(t),w(n),w(o),w(s))}}}function nc(l){let e,t,n;return{c(){e=Y("path"),t=Y("circle"),n=Y("circle"),i(e,"d","M9 18V5l12-2v13"),i(t,"cx","6"),i(t,"cy","18"),i(t,"r","3"),i(n,"cx","18"),i(n,"cy","16"),i(n,"r","3")},m(o,s){C(o,e,s),C(o,t,s),C(o,n,s)},d(o){o&&(w(e),w(t),w(n))}}}function ic(l){let e,t;return{c(){e=Y("rect"),t=Y("polyline"),i(e,"x","2"),i(e,"y","4"),i(e,"width","20"),i(e,"height","16"),i(e,"rx","2"),i(t,"points","10 9 16 12 10 15 10 9")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function oc(l){let e,t,n;return{c(){e=Y("rect"),t=Y("circle"),n=Y("polyline"),i(e,"x","3"),i(e,"y","3"),i(e,"width","18"),i(e,"height","18"),i(e,"rx","2"),i(e,"ry","2"),i(t,"cx","8.5"),i(t,"cy","8.5"),i(t,"r","1.5"),i(n,"points","21 15 16 10 5 21")},m(o,s){C(o,e,s),C(o,t,s),C(o,n,s)},d(o){o&&(w(e),w(t),w(n))}}}function sc(l){let e;return{c(){e=Y("path"),i(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function ac(l){let e;function t(s,a){return s[0]==="folder"?sc:s[0]==="image"?oc:s[0]==="video"?ic:s[0]==="audio"?nc:s[0]==="pdf"?lc:s[0]==="document"?tc:s[0]==="spreadsheet"?ec:s[0]==="presentation"?$r:s[0]==="archive"?xr:s[0]==="code"?Qr:s[0]==="text"?Zr:Xr}let n=t(l),o=n(l);return{c(){e=Y("svg"),o.c(),i(e,"width",l[1]),i(e,"height",l[1]),i(e,"viewBox","0 0 24 24"),i(e,"fill","none"),i(e,"stroke","currentColor"),i(e,"stroke-width","1.5"),i(e,"stroke-linecap","round"),i(e,"stroke-linejoin","round"),i(e,"xmlns","http://www.w3.org/2000/svg")},m(s,a){C(s,e,a),o.m(e,null)},p(s,[a]){n!==(n=t(s))&&(o.d(1),o=n(s),o&&(o.c(),o.m(e,null))),a&2&&i(e,"width",s[1]),a&2&&i(e,"height",s[1])},i:ae,o:ae,d(s){s&&w(e),o.d()}}}function rc(l,e,t){let{kind:n="generic"}=e,{size:o=20}=e;return l.$$set=s=>{"kind"in s&&t(0,n=s.kind),"size"in s&&t(1,o=s.size)},[n,o]}class Ro extends ht{constructor(e){super(),vt(this,e,rc,ac,gt,{kind:0,size:1})}}const cc={"nav.today":"Сегодня","nav.inbox":"Неразобранное","nav.activity":"Активность","nav.journal":"Журнал","nav.clients":"Клиенты","nav.projects":"Проекты","nav.recipes":"Рецепты","nav.documents":"Документы","nav.archive":"Архив","nav.sections":"Разделы","nav.cases":"Дела","nav.noCases":"Нет дел","nav.sync":"Синхронизация","nav.syncSettings":"Настройки синхронизации","nav.syncNow":"Синхронизировать","nav.selectPrompt":"Выберите раздел или дело","nav.brand":"Верстак","nav.system":"Системное","nav.workspace":"Рабочее пространство","nav.noNodes":"Нет узлов","nav.openFolder":"Открыть папку","nav.createInside":"Создать внутри","nav.createNode":"Создать элемент","nav.moveToRoot":"Переместить в корень","tab.overview":"Обзор","tab.notes":"Заметки","tab.files":"Файлы","tab.actions":"Действия","tab.worklog":"Журнал","tab.activity":"Активность","common.save":"Сохранить","common.cancel":"Отмена","common.delete":"Удалить","common.rename":"Переименовать","common.close":"Закрыть","common.create":"Создать","common.confirm":"Подтверждение","common.back":"← Назад","common.loading":"Загрузка...","common.error":"Ошибка:","common.yes":"Да","common.ok":"OK","common.copy":"Копировать","common.cut":"Вырезать","common.paste":"Вставить","common.duplicate":"Дублировать","common.run":"Запустить","common.test":"Test","common.all":"Все","common.open":"Открыть","common.no":"Нет","common.date":"Дата","common.search":"Найти","common.testAgain":"Проверить","common.connect":"Подключиться","common.disconnect":"Отключиться","common.settings":"Настройки","common.name":"Название","common.type":"Тип","common.section":"Раздел","common.created":"Создано","common.empty":"Нет","common.newName":"Новое имя","welcome.title":"Верстак","welcome.selectSection":"Выберите раздел в боковой панели.","welcome.createCase":"Или создайте новое дело кнопкой «+».","welcome.addCase":"Добавить дело","event.noteCreated":"Заметка создана","event.noteUpdated":"Заметка изменена","event.fileAdded":"Файл добавлен","event.fileDeleted":"Файл удалён","event.fileRenamed":"Файл переименован","event.fileCopied":"Файл скопирован","event.fileMoved":"Файл перемещён","event.folderAdded":"Папка добавлена","event.folderDeleted":"Папка удалена","event.folderRenamed":"Папка переименована","event.caseCreated":"Дело создано","event.caseUpdated":"Дело изменено","kind.project":"Проект","kind.client":"Клиент","kind.document":"Документ","kind.recipe":"Рецепт","kind.folder":"Папка","kind.note":"Заметка","kind.file":"Файл","kind.archive":"Архив","kind.case":"Дело","action.openUrl":"Открыть URL","action.openFile":"Открыть файл","action.openFolder":"Открыть папку","action.runCommand":"Запустить команду","action.runScript":"Запустить скрипт","action.openTerminal":"Открыть терминал","action.launchApp":"Запустить приложение","action.addAction":"+ Добавить действие","action.newAction":"Новое действие","action.noActions":"Действий пока нет","action.run":"Запустить","action.dataUrl":"URL","action.dataPath":"Путь","action.dataCommand":"Команда","action.urlPlaceholder":"https://example.com","action.pathPlaceholder":"/path/to/file","action.commandPlaceholder":"команда","action.namePlaceholder":"Например: Открыть сайт","note.add":"+ Добавить заметку","note.new":"Новая заметка","note.title":"Название заметки","note.noNotes":"Нет заметок","note.createFirst":"Создайте первую заметку для этого дела.","note.placeholder":"Начните писать...","note.unsavedTitle":"Несохранённые изменения","note.unsavedMessage":"Закрыть редактор? Все несохранённые изменения будут потеряны.","note.unsavedClose":"Закрыть","file.addFile":"+ Добавить файл","file.addFolder":"+ Добавить папку","file.newFile":"+ Новый файл","file.addFileSimple":"Добавить файл","file.addFolderSimple":"Добавить папку","file.noFiles":"В этой папке пока нет файлов","file.noFilesCase":"В этом проекте пока нет файлов","file.hint":"Добавьте файл или папку, чтобы сохранить материалы проекта.","file.root":"Файлы","file.preview":"Предпросмотр","file.openExternal":"Открыть во внешней программе","file.openFolder":"Открыть папку","file.showInExplorer":"Показать в проводнике","file.more":"Ещё","file.delete":"Удалить","file.ariaFolder":"Папка","file.ariaFile":"Файл","file.scanning":"Сканирование...","file.pickSingle":"Выберите файл","file.pickMultiple":"Выберите файлы","file.pickDirectory":"Выберите папку","file.importTitle":"Добавить в","file.importFiles":"Файлов:","file.importFolders":"Папок:","file.importSize":"Размер:","file.importCopy":"Скопировать","file.importLink":"Привязать","file.selectCaseFirst":"Сначала выберите дело для добавления файлов","worklog.title":"Журнал","worklog.whatDone":"Что сделано","worklog.minutes":"Мин","worklog.min":"мин","worklog.log":"Записать","worklog.empty":"Записей работы пока нет","worklog.details":"Детали","worklog.source":"Источник","worklog.sourceSuggestion":"Предложение activity","worklog.sourceManual":"Ручная запись","worklog.suggestions":"Предложения на сегодня","worklog.apply":"Применить","sync.title":"Синхронизация","sync.settings":"Настройки синхронизации","sync.status":"Статус","sync.server":"Сервер","sync.device":"Устройство","sync.deviceId":"ID устройства","sync.unpushed":"Неотправлено","sync.lastSync":"Последняя синх.","sync.revoked":"Отозвано","sync.connected":"Подключено","sync.notConnected":"Не подключено","sync.disabled":"Отключена","sync.serverUrl":"URL сервера","sync.serverUrlPlaceholder":"https://example.com:47732","sync.username":"Логин","sync.usernamePlaceholder":"username","sync.password":"Пароль","sync.passwordPlaceholder":"password","sync.autoSync":"Автосинхронизация (мин, 0 = отключено)","sync.saveInterval":"Сохранить интервал","sync.syncNow":"Синхронизировать","sync.disconnect":"Отключиться","sync.connect":"Подключиться","sync.test":"Проверить","sync.settingsSaved":"интервал сохранён","today.title":"Сегодня","today.changedCases":"Изменён сегодня","today.timeline":"Лента за сегодня","today.empty":"Сегодня пока тихо","today.emptyHint":"Здесь появятся дела, заметки, файлы и действия, с которыми вы работали сегодня.","today.plural.case_one":"дело","today.plural.case_few":"дела","today.plural.case_many":"дел","today.plural.note_one":"заметка","today.plural.note_few":"заметки","today.plural.note_many":"заметок","today.plural.file_one":"файл","today.plural.file_few":"файла","today.plural.file_many":"файлов","today.plural.event_one":"событие","today.plural.event_few":"события","today.plural.event_many":"событий","journal.title":"Журнал работы","journal.empty":"Нет записей за выбранный период","journal.dateFrom":"От","journal.dateTo":"До","journal.filter":"Фильтр","journal.total":"Всего","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"К оплате","journal.billableYes":"К оплате","journal.billableNo":"Не к оплате","journal.billableHint":"К оплате — можно включать в счёт клиенту","journal.approx":"Тип времени","journal.approxExact":"Точное","journal.approxEstimated":"Оценочное","journal.approxHint":"Оценочное — время предложено системой или введено как примерное","journal.includeChildrenDisabledHint":"Работает только при выбранном деле/клиенте/проекте","journal.node":"Дело","journal.path":"Путь","journal.byDay":"По дням","journal.byNode":"По делам","journal.includeChildren":"Учитывать вложенные дела","journal.nodeSearch":"Поиск дела...","journal.relatedEvents":"Связанные события","journal.filterHeading":"Фильтры","journal.exportHeading":"Экспорт отчёта","journal.reset":"Сбросить","suggest.title":"Предложения на сегодня","suggest.apply":"Записать","suggest.dismiss":"Скрыть","suggest.open":"Открыть","suggest.confidence.low":"Низкая уверенность","suggest.confidence.medium":"Средняя уверенность","suggest.confidence.high":"Высокая уверенность","suggest.minutes":"мин","suggest.edit":"Изменить","suggest.noSuggestions":"Нет предложений для журнала","suggest.detectedEvents":"Что обнаружено","activity.title":"Активность","activity.empty":"Активность пока не зафиксирована","activity.perCaseEmpty":"Активность пока не зафиксирована","overview.type":"Тип","overview.section":"Раздел","overview.created":"Создано","overview.newNote":"Новая заметка","overview.addFile":"Добавить файл","overview.addAction":"Добавить действие","overview.logTime":"Записать время","overview.recentNotes":"Последние заметки","overview.recentEntries":"Последние записи","rename.title":"Переименовать","rename.emptyError":"Имя не может быть пустым","rename.invalidError":"Недопустимое имя","delete.confirmTitle":"Удаление","delete.confirmMessage":"Удалить","delete.folder":"папку","delete.file":"файл","template.optionNone":"Пустое дело","template.optional":"Шаблон (опционально)","template.none.desc":"Без шаблона, простой узел-контейнер","template.folder":"Папка","template.folder.desc":"Папка для группировки элементов внутри рабочего пространства","template.project":"Проект","template.project.desc":"Отдельный проект или задача с файлами, заметками и журналом","template.client":"Клиент","template.client.desc":"Организация или человек, для которых ведутся работы","template.document":"Документ","template.document.desc":"Документ с описанием, заметками и файлами","template.recipe":"Рецепт","template.recipe.desc":"Повторяемая процедура или инструкция","template.note":"Заметка","template.file":"Файл","template.select":"Выберите тип","mime.jpeg":"Изображение JPEG","mime.png":"Изображение PNG","mime.gif":"Изображение GIF","mime.webp":"Изображение WebP","mime.svg":"Изображение SVG","mime.bmp":"Изображение BMP","mime.tiff":"Изображение TIFF","mime.avif":"Изображение AVIF","mime.pdf":"PDF документ","mime.word":"Документ Word","mime.excel":"Таблица Excel","mime.ppt":"Презентация PowerPoint","mime.zip":"ZIP архив","mime.gzip":"GZIP архив","mime.tar":"TAR архив","mime.sevenz":"7z архив","mime.rar":"RAR архив","mime.text":"Текстовый файл","mime.html":"HTML файл","mime.css":"CSS файл","mime.js":"JavaScript файл","mime.json":"JSON файл","mime.xml":"XML файл","mime.yaml":"YAML файл","mime.binary":"Бинарный файл","mime.executable":"Исполняемый файл","mime.folder":"Папка","mime.unknown":"Неизвестно","mime.file":"Файл","error.nameEmpty":"Имя не может быть пустым","error.nameInvalid":"Недопустимое имя","error.selectCaseFirst":"Сначала выберите дело","common.open":"Открыть","delete.files":"файлов ({count})","file.namePrompt":"Введите имя файла:","file.pdfUnavailable":"Предпросмотр PDF недоступен.","file.previewUnavailable":"Предпросмотр недоступен для этого типа файлов.","case.new":"Новое дело","case.namePlaceholder":"Название дела","error.generic":"Произошла ошибка","error.invalidCredentials":"Неверный логин или пароль","error.accountBlocked":"Аккаунт заблокирован","error.emailNotConfirmed":"Email не подтверждён","error.tokenInvalid":"Неверный или просроченный токен","error.tokenExpired":"Срок действия токена истёк"},dc={"nav.today":"Today","nav.inbox":"Inbox","nav.activity":"Activity","nav.clients":"Clients","nav.projects":"Projects","nav.recipes":"Recipes","nav.documents":"Documents","nav.archive":"Archive","nav.sections":"Sections","nav.cases":"Cases","nav.noCases":"No cases","nav.system":"System","nav.workspace":"Workspace","nav.noNodes":"No nodes","nav.openFolder":"Open folder","nav.createInside":"Create inside","nav.createNode":"Create element","nav.moveToRoot":"Move to root","nav.selectPrompt":"Select a section or case","nav.brand":"Verstak","tab.overview":"Overview","tab.notes":"Notes","tab.files":"Files","tab.actions":"Actions","tab.worklog":"Work Log","tab.activity":"Activity","common.save":"Save","common.cancel":"Cancel","common.delete":"Delete","common.rename":"Rename","common.close":"Close","common.create":"Create","common.confirm":"Confirm","common.back":"← Back","common.loading":"Loading...","common.error":"Error:","common.yes":"Yes","common.ok":"OK","common.run":"Run","common.name":"Name","common.settings":"Settings","welcome.title":"Verstak","welcome.selectSection":"Select a section in the sidebar.","welcome.addCase":"Add case","event.noteCreated":"Note created","event.noteUpdated":"Note updated","event.fileAdded":"File added","event.fileDeleted":"File deleted","event.fileRenamed":"File renamed","event.fileCopied":"File copied","event.fileMoved":"File moved","event.caseCreated":"Case created","action.openUrl":"Open URL","action.openFile":"Open file","action.openFolder":"Open folder","action.runCommand":"Run command","action.runScript":"Run script","action.openTerminal":"Open terminal","action.launchApp":"Launch app","note.add":"+ Add note","note.noNotes":"No notes","note.title":"Note title","note.placeholder":"Start writing...","file.addFile":"+ Add file","file.addFolder":"+ Add folder","file.preview":"Preview","file.openExternal":"Open in external program","file.openFolder":"Open folder","file.showInExplorer":"Show in explorer","file.delete":"Delete","file.pickSingle":"Select file","file.pickDirectory":"Select folder","sync.title":"Sync","sync.settings":"Sync settings","sync.status":"Status","sync.server":"Server","sync.device":"Device","sync.connected":"Connected","sync.notConnected":"Not connected","sync.disabled":"Disabled","kind.project":"Project","kind.client":"Client","kind.document":"Document","kind.recipe":"Recipe","kind.folder":"Folder","kind.note":"Note","kind.file":"File","kind.archive":"Archive","kind.case":"Case","template.optionNone":"Empty case","template.optional":"Template (optional)","template.none.desc":"No template, simple container node","template.folder":"Folder","template.folder.desc":"A folder to group items inside a workspace","template.project":"Project","template.project.desc":"A distinct project or task with files, notes and work log","template.client":"Client","template.client.desc":"An organization or person for whom work is performed","template.document":"Document","template.document.desc":"A document with description, notes and files","template.recipe":"Recipe","template.recipe.desc":"A repeatable procedure or instruction","template.note":"Note","template.file":"File","template.select":"Select type","case.new":"New case","case.namePlaceholder":"Case name","error.generic":"An error occurred","error.invalidCredentials":"Invalid username or password","worklog.suggestions":"Suggestions for today","worklog.apply":"Apply","worklog.title":"Work Log","worklog.whatDone":"What was done","worklog.minutes":"Min","worklog.min":"min","worklog.log":"Log","worklog.empty":"No work logged yet","worklog.details":"Details","worklog.source":"Source","worklog.sourceSuggestion":"Activity suggestion","worklog.sourceManual":"Manual entry","common.all":"All","common.no":"No","common.open":"Open","common.date":"Date","common.search":"Search","nav.journal":"Journal","journal.title":"Work Log","journal.empty":"No entries for the selected period","journal.dateFrom":"From","journal.dateTo":"To","journal.filter":"Filter","journal.total":"Total","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"Billable","journal.billableYes":"Billable","journal.billableNo":"Not billable","journal.billableHint":"Billable — can be included in client invoice","journal.approx":"Time type","journal.approxExact":"Exact","journal.approxEstimated":"Estimated","journal.approxHint":"Estimated — time suggested by the system or entered as approximate","journal.includeChildrenDisabledHint":"Only works when a case/client/project is selected","journal.node":"Case","journal.path":"Path","journal.byDay":"By day","journal.byNode":"By case","journal.includeChildren":"Include subtasks","journal.nodeSearch":"Search case...","journal.relatedEvents":"Related events","journal.filterHeading":"Filters","journal.exportHeading":"Export Report","journal.reset":"Reset","suggest.title":"Suggestions","suggest.apply":"Log","suggest.dismiss":"Dismiss","suggest.open":"Open","suggest.confidence.low":"Low confidence","suggest.confidence.medium":"Medium confidence","suggest.confidence.high":"High confidence","suggest.minutes":"min","suggest.edit":"Edit","suggest.noSuggestions":"No suggestions","suggest.detectedEvents":"What was detected"},an={ru:cc,en:dc};let rn="ru";function m(l,e){var o;const t=an[rn];let n=t==null?void 0:t[l];if(n==null&&rn!=="ru"&&(n=(o=an.ru)==null?void 0:o[l]),n==null&&(n=l),e!=null)for(const[s,a]of Object.entries(e))n=n.replace(`{${s}}`,String(a));return n}function el(l){if(l==null||l<0)return"—";if(l===0)return"0 B";const e=["B","KB","MB","GB"],t=Math.min(Math.floor(Math.log(l)/Math.log(1024)),e.length-1),n=l/Math.pow(1024,t);return(t===0?n.toFixed(0):n.toFixed(1))+" "+e[t]}const bl={"image/jpeg":m("mime.jpeg"),"image/png":m("mime.png"),"image/gif":m("mime.gif"),"image/webp":m("mime.webp"),"image/svg+xml":m("mime.svg"),"image/bmp":m("mime.bmp"),"image/tiff":m("mime.tiff"),"image/avif":m("mime.avif"),"application/pdf":m("mime.pdf"),"application/msword":m("mime.word"),"application/vnd.openxmlformats-officedocument.wordprocessingml.document":m("mime.word"),"application/vnd.ms-excel":m("mime.excel"),"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":m("mime.excel"),"application/vnd.ms-powerpoint":m("mime.ppt"),"application/vnd.openxmlformats-officedocument.presentationml.presentation":m("mime.ppt"),"application/zip":m("mime.zip"),"application/gzip":m("mime.gzip"),"application/x-tar":m("mime.tar"),"application/x-7z-compressed":m("mime.sevenz"),"application/x-rar-compressed":m("mime.rar"),"text/plain":m("mime.text"),"text/html":m("mime.html"),"text/css":m("mime.css"),"text/javascript":m("mime.js"),"application/json":m("mime.json"),"application/xml":m("mime.xml"),"application/x-yaml":m("mime.yaml"),"application/octet-stream":m("mime.binary"),"application/x-msdos-program":m("mime.executable"),"inode/directory":m("mime.folder")};function cn(l){return l?bl[l]||l:m("mime.unknown")}function uc(l){if(l.type==="folder")return m("mime.folder");const e=(l.mime||"").toLowerCase();if(bl[e])return bl[e];const n=(l.name||"").toLowerCase().split(".").pop();return n?n.toUpperCase():m("mime.file")}function zo(l){if(l.type==="folder")return"folder";const e=(l.mime||"").toLowerCase();if(e.startsWith("image/"))return"image";if(e.startsWith("video/"))return"video";if(e.startsWith("audio/"))return"audio";if(e.startsWith("text/"))return"text";if(e.includes("pdf"))return"pdf";if(e.includes("word")||e.includes("document"))return"document";if(e.includes("spreadsheet")||e.includes("excel"))return"spreadsheet";if(e.includes("presentation")||e.includes("powerpoint"))return"presentation";if(e.includes("zip")||e.includes("tar")||e.includes("gzip")||e.includes("rar")||e.includes("7z")||e.includes("compress"))return"archive";if(e.includes("json")||e.includes("xml")||e.includes("yaml")||e.includes("javascript")||e.includes("css")||e.includes("html"))return"code";const n=(l.name||"").toLowerCase().split(".").pop();return["js","ts","jsx","tsx","vue","svelte","py","rs","go","c","cpp","h","hpp","java","kt","swift","rb","php","pl","sh","bash","zsh","fish","yml","yaml","json","xml","toml","ini","cfg","conf","md","markdown","css","scss","less","sass","sql","graphql","proto","gradle","cmake","makefile","dockerfile","env","gitignore"].includes(n)?"code":"generic"}const fc=["image/jpeg","image/png","image/gif","image/webp","image/bmp","image/tiff","image/avif","image/svg+xml"],pc=["text/plain","text/html","text/css","text/javascript","application/json","application/xml","application/x-yaml","text/x-shellscript"],mc=["txt","log","conf","ini","yaml","yml","json","xml","csv","sh","py","js","ts","css","html","md","markdown","cfg"],_c=["jpg","jpeg","png","gif","webp","bmp","tiff","tif","avif","svg"];function Bo(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return fc.includes(e)||_c.includes(n)}function Ho(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return pc.includes(e)||mc.includes(n)&&n!=="md"&&n!=="markdown"}function Vo(l){return(l.mime||"").toLowerCase().includes("pdf")}function Wo(l){const e=(l.name||"").toLowerCase();return e.endsWith(".md")||e.endsWith(".markdown")}function gc(l){return Bo(l)||Vo(l)}function vc(l){return Ho(l)||Wo(l)}const{window:hc}=Hr;function bc(l){let e,t,n,o=el(l[0].size)+"",s;return{c(){e=u("span"),e.textContent="·",t=v(),n=u("span"),s=F(o),i(e,"class","meta-sep svelte-1skuef2")},m(a,d){C(a,e,d),C(a,t,d),C(a,n,d),r(n,s)},p(a,d){d[0]&1&&o!==(o=el(a[0].size)+"")&&U(s,o)},d(a){a&&(w(e),w(t),w(n))}}}function kc(l){let e,t,n,o,s;return{c(){e=u("button"),e.innerHTML='',t=v(),n=u("button"),n.innerHTML='',i(e,"class","action-btn svelte-1skuef2"),i(e,"title",m("file.openFolder")),i(e,"aria-label",m("file.openFolder")),i(n,"class","action-btn svelte-1skuef2"),i(n,"title",m("file.showInExplorer")),i(n,"aria-label",m("file.showInExplorer"))},m(a,d){C(a,e,d),C(a,t,d),C(a,n,d),o||(s=[I(e,"click",Je(l[30])),I(n,"click",Je(l[11]))],o=!0)},p:ae,d(a){a&&(w(e),w(t),w(n)),o=!1,ge(s)}}}function yc(l){let e,t,n,o,s,a,d;return{c(){e=u("button"),e.innerHTML='',t=v(),n=u("button"),n.innerHTML='',o=v(),s=u("button"),s.innerHTML='',i(e,"class","action-btn svelte-1skuef2"),i(e,"title",m("file.preview")),i(e,"aria-label",m("file.preview")),i(n,"class","action-btn svelte-1skuef2"),i(n,"title",m("file.openExternal")),i(n,"aria-label",m("file.openExternal")),i(s,"class","action-btn svelte-1skuef2"),i(s,"title",m("file.showInExplorer")),i(s,"aria-label",m("file.showInExplorer"))},m(c,f){C(c,e,f),C(c,t,f),C(c,n,f),C(c,o,f),C(c,s,f),a||(d=[I(e,"click",Je(l[29])),I(n,"click",Je(l[10])),I(s,"click",Je(l[11]))],a=!0)},p:ae,d(c){c&&(w(e),w(t),w(n),w(o),w(s)),a=!1,ge(d)}}}function dn(l){let e,t,n,o,s,a,d,c,f=m("common.open")+"",h,_,g,k,b,y,j,T,D=m("file.openExternal")+"",E,N,M,A,S,O,z=m("file.showInExplorer")+"",R,L,K,q,W,Q,G,H,B,X=m("common.rename")+"",V,le,Ce,ie,x,te,se,ke=m("common.duplicate")+"",Fe,ze,Pe,J,$,ue,pe,Me,Ne,Ue=m("common.cut")+"",lt,Ke,Te,Ae,Be,He,Ee,Le=m("common.copy")+"",fe,ye,be,Ze,De,Ge,Ie,me,oe,je=m("common.delete")+"",Se,Oe,Ve;return{c(){e=u("div"),t=v(),n=u("div"),o=u("button"),s=Y("svg"),a=Y("path"),d=Y("circle"),c=v(),h=F(f),_=v(),g=u("button"),k=Y("svg"),b=Y("path"),y=Y("polyline"),j=Y("line"),T=v(),E=F(D),N=v(),M=u("button"),A=Y("svg"),S=Y("path"),O=v(),R=F(z),L=v(),K=u("div"),q=v(),W=u("button"),Q=Y("svg"),G=Y("path"),H=Y("path"),B=v(),V=F(X),le=v(),Ce=u("button"),ie=Y("svg"),x=Y("rect"),te=Y("path"),se=v(),Fe=F(ke),ze=v(),Pe=u("button"),J=Y("svg"),$=Y("circle"),ue=Y("circle"),pe=Y("line"),Me=Y("line"),Ne=v(),lt=F(Ue),Ke=v(),Te=u("button"),Ae=Y("svg"),Be=Y("rect"),He=Y("path"),Ee=v(),fe=F(Le),ye=v(),be=u("div"),Ze=v(),De=u("button"),Ge=Y("svg"),Ie=Y("polyline"),me=Y("path"),oe=v(),Se=F(je),i(e,"class","menu-backdrop svelte-1skuef2"),i(e,"role","presentation"),i(a,"d","M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"),i(d,"cx","12"),i(d,"cy","12"),i(d,"r","3"),i(s,"width","14"),i(s,"height","14"),i(s,"viewBox","0 0 24 24"),i(s,"fill","none"),i(s,"stroke","currentColor"),i(s,"stroke-width","2"),i(s,"stroke-linecap","round"),i(s,"stroke-linejoin","round"),i(o,"class","menu-item svelte-1skuef2"),i(o,"role","menuitem"),i(b,"d","M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"),i(y,"points","15 3 21 3 21 9"),i(j,"x1","10"),i(j,"y1","14"),i(j,"x2","21"),i(j,"y2","3"),i(k,"width","14"),i(k,"height","14"),i(k,"viewBox","0 0 24 24"),i(k,"fill","none"),i(k,"stroke","currentColor"),i(k,"stroke-width","2"),i(k,"stroke-linecap","round"),i(k,"stroke-linejoin","round"),i(g,"class","menu-item svelte-1skuef2"),i(g,"role","menuitem"),i(S,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"),i(A,"width","14"),i(A,"height","14"),i(A,"viewBox","0 0 24 24"),i(A,"fill","none"),i(A,"stroke","currentColor"),i(A,"stroke-width","2"),i(A,"stroke-linecap","round"),i(A,"stroke-linejoin","round"),i(M,"class","menu-item svelte-1skuef2"),i(M,"role","menuitem"),i(K,"class","menu-sep svelte-1skuef2"),i(G,"d","M12 20h9"),i(H,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),i(Q,"width","14"),i(Q,"height","14"),i(Q,"viewBox","0 0 24 24"),i(Q,"fill","none"),i(Q,"stroke","currentColor"),i(Q,"stroke-width","2"),i(Q,"stroke-linecap","round"),i(Q,"stroke-linejoin","round"),i(W,"class","menu-item svelte-1skuef2"),i(W,"role","menuitem"),i(x,"x","9"),i(x,"y","9"),i(x,"width","13"),i(x,"height","13"),i(x,"rx","2"),i(x,"ry","2"),i(te,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),i(ie,"width","14"),i(ie,"height","14"),i(ie,"viewBox","0 0 24 24"),i(ie,"fill","none"),i(ie,"stroke","currentColor"),i(ie,"stroke-width","2"),i(ie,"stroke-linecap","round"),i(ie,"stroke-linejoin","round"),i(Ce,"class","menu-item svelte-1skuef2"),i(Ce,"role","menuitem"),i($,"cx","6"),i($,"cy","6"),i($,"r","3"),i(ue,"cx","6"),i(ue,"cy","18"),i(ue,"r","3"),i(pe,"x1","20"),i(pe,"y1","4"),i(pe,"x2","8.12"),i(pe,"y2","15.88"),i(Me,"x1","8.12"),i(Me,"y1","8.12"),i(Me,"x2","20"),i(Me,"y2","20"),i(J,"width","14"),i(J,"height","14"),i(J,"viewBox","0 0 24 24"),i(J,"fill","none"),i(J,"stroke","currentColor"),i(J,"stroke-width","2"),i(J,"stroke-linecap","round"),i(J,"stroke-linejoin","round"),i(Pe,"class","menu-item svelte-1skuef2"),i(Pe,"role","menuitem"),i(Be,"x","9"),i(Be,"y","9"),i(Be,"width","13"),i(Be,"height","13"),i(Be,"rx","2"),i(Be,"ry","2"),i(He,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),i(Ae,"width","14"),i(Ae,"height","14"),i(Ae,"viewBox","0 0 24 24"),i(Ae,"fill","none"),i(Ae,"stroke","currentColor"),i(Ae,"stroke-width","2"),i(Ae,"stroke-linecap","round"),i(Ae,"stroke-linejoin","round"),i(Te,"class","menu-item svelte-1skuef2"),i(Te,"role","menuitem"),i(be,"class","menu-sep svelte-1skuef2"),i(Ie,"points","3 6 5 6 21 6"),i(me,"d","M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"),i(Ge,"width","14"),i(Ge,"height","14"),i(Ge,"viewBox","0 0 24 24"),i(Ge,"fill","none"),i(Ge,"stroke","currentColor"),i(Ge,"stroke-width","2"),i(Ge,"stroke-linecap","round"),i(Ge,"stroke-linejoin","round"),i(De,"class","menu-item menu-item-danger svelte-1skuef2"),i(De,"role","menuitem"),i(n,"class","menu svelte-1skuef2"),qe(n,"left",l[3]+"px"),qe(n,"top",l[4]+"px"),qe(n,"position","fixed"),i(n,"role","menu"),i(n,"tabindex","-1")},m(We,Z){C(We,e,Z),C(We,t,Z),C(We,n,Z),r(n,o),r(o,s),r(s,a),r(s,d),r(o,c),r(o,h),r(n,_),r(n,g),r(g,k),r(k,b),r(k,y),r(k,j),r(g,T),r(g,E),r(n,N),r(n,M),r(M,A),r(A,S),r(M,O),r(M,R),r(n,L),r(n,K),r(n,q),r(n,W),r(W,Q),r(Q,G),r(Q,H),r(W,B),r(W,V),r(n,le),r(n,Ce),r(Ce,ie),r(ie,x),r(ie,te),r(Ce,se),r(Ce,Fe),r(n,ze),r(n,Pe),r(Pe,J),r(J,$),r(J,ue),r(J,pe),r(J,Me),r(Pe,Ne),r(Pe,lt),r(n,Ke),r(n,Te),r(Te,Ae),r(Ae,Be),r(Ae,He),r(Te,Ee),r(Te,fe),r(n,ye),r(n,be),r(n,Ze),r(n,De),r(De,Ge),r(Ge,Ie),r(Ge,me),r(De,oe),r(De,Se),Oe||(Ve=[I(e,"click",Je(l[19])),I(o,"click",l[17]),I(g,"click",l[10]),I(M,"click",l[11]),I(W,"click",l[13]),I(Ce,"click",l[14]),I(Pe,"click",l[15]),I(Te,"click",l[16]),I(De,"click",l[12]),I(n,"click",Je(l[28])),I(n,"keydown",l[31])],Oe=!0)},p(We,Z){Z[0]&8&&qe(n,"left",We[3]+"px"),Z[0]&16&&qe(n,"top",We[4]+"px")},d(We){We&&(w(e),w(t),w(n)),Oe=!1,ge(Ve)}}}function wc(l){let e,t,n,o,s,a,d=l[0].name+"",c,f,h,_,g,k,b,y,j,T,D,E,N,M,A,S,O,z,R,L,K,q;n=new Ro({props:{kind:l[6],size:22}});let W=!l[7]&&bc(l);function Q(X,V){return X[7]?kc:yc}let H=Q(l)(l),B=l[2]&&dn(l);return{c(){e=u("div"),t=u("div"),at(n.$$.fragment),o=v(),s=u("div"),a=u("div"),c=F(d),h=v(),_=u("div"),g=u("span"),g.textContent=`${l[8]}`,k=v(),W&&W.c(),b=v(),y=u("div"),H.c(),j=v(),T=u("button"),D=Y("svg"),E=Y("circle"),N=Y("circle"),M=Y("circle"),A=v(),S=u("button"),S.innerHTML='',z=v(),B&&B.c(),R=st(),i(t,"class","file-row-icon svelte-1skuef2"),i(a,"class","file-row-name svelte-1skuef2"),i(a,"title",f=l[0].name),i(_,"class","file-row-meta svelte-1skuef2"),i(s,"class","file-row-body svelte-1skuef2"),i(E,"cx","12"),i(E,"cy","5"),i(E,"r","2"),i(N,"cx","12"),i(N,"cy","12"),i(N,"r","2"),i(M,"cx","12"),i(M,"cy","19"),i(M,"r","2"),i(D,"width","16"),i(D,"height","16"),i(D,"viewBox","0 0 24 24"),i(D,"fill","currentColor"),i(T,"class","action-btn svelte-1skuef2"),i(T,"title",m("file.more")),i(T,"aria-label",m("file.more")),i(T,"aria-expanded",l[2]),i(S,"class","action-btn action-btn-danger svelte-1skuef2"),i(S,"title",m("common.delete")),i(S,"aria-label",m("common.delete")),i(y,"class","file-row-actions svelte-1skuef2"),i(e,"class","file-row svelte-1skuef2"),i(e,"role","button"),i(e,"tabindex","0"),i(e,"draggable","true"),i(e,"aria-label",O=l[7]?m("file.ariaFolder")+" "+l[0].name:m("file.ariaFile")+" "+l[0].name),ve(e,"file-row--selected",l[1])},m(X,V){C(X,e,V),r(e,t),nt(n,t,null),r(e,o),r(e,s),r(s,a),r(a,c),r(s,h),r(s,_),r(_,g),r(_,k),W&&W.m(_,null),r(e,b),r(e,y),H.m(y,null),r(y,j),r(y,T),r(T,D),r(D,E),r(D,N),r(D,M),r(y,A),r(y,S),C(X,z,V),B&&B.m(X,V),C(X,R,V),L=!0,K||(q=[I(hc,"click",l[19]),I(T,"click",Je(l[18])),I(S,"click",Je(l[12])),I(e,"click",l[9]),I(e,"keydown",l[24]),I(e,"contextmenu",l[23]),I(e,"dragstart",l[20]),I(e,"dragover",l[21]),I(e,"drop",l[22])],K=!0)},p(X,V){(!L||V[0]&1)&&d!==(d=X[0].name+"")&&U(c,d),(!L||V[0]&1&&f!==(f=X[0].name))&&i(a,"title",f),X[7]||W.p(X,V),H.p(X,V),(!L||V[0]&4)&&i(T,"aria-expanded",X[2]),(!L||V[0]&1&&O!==(O=X[7]?m("file.ariaFolder")+" "+X[0].name:m("file.ariaFile")+" "+X[0].name))&&i(e,"aria-label",O),(!L||V[0]&2)&&ve(e,"file-row--selected",X[1]),X[2]?B?B.p(X,V):(B=dn(X),B.c(),B.m(R.parentNode,R)):B&&(B.d(1),B=null)},i(X){L||(de(n.$$.fragment,X),L=!0)},o(X){_e(n.$$.fragment,X),L=!1},d(X){X&&(w(e),w(z),w(R)),it(n),W&&W.d(),H.d(),B&&B.d(X),K=!1,ge(q)}}}function Cc(l,e,t){let{item:n}=e,{selected:o=!1}=e,{onDragStart:s}=e,{onDragOver:a}=e,{onDrop:d}=e;const c=tl(),f=zo(n),h=n.type==="folder",_=uc(n);let g=!1,k=0,b=0,y=null;function j(V){V.ctrlKey||V.metaKey?c("toggleSelect",n.id):V.shiftKey?c("rangeSelect",n.id):y?(clearTimeout(y),y=null,h?c("navigate",n.id):c("preview",n)):y=setTimeout(()=>{y=null,c("selectOne",n.id)},250)}function T(){c("openExternal",n.fileId)}function D(){t(2,g=!1),c("showInFolder",n.nodeId||n.id)}function E(){t(2,g=!1),c("delete",{id:n.id,type:n.type})}function N(){t(2,g=!1),c("rename",{id:n.id,name:n.name})}function M(){t(2,g=!1),c("duplicate",n.id)}function A(){t(2,g=!1),c("cut",n.id)}function S(){t(2,g=!1),c("copy",n.id)}function O(){t(2,g=!1),h?c("navigate",n.id):c("preview",n)}function z(){t(2,g=!g)}function R(){t(2,g=!1)}function L(V){s&&s(V,n.id)}function K(V){a&&h&&a(V,n.id)}function q(V){d&&h&&d(V,n.id)}function W(V){V.preventDefault(),t(3,k=Math.min(V.clientX,window.innerWidth-240)),t(4,b=Math.min(V.clientY,window.innerHeight-320)),t(2,g=!0)}function Q(V){(V.key==="Enter"||V.key===" ")&&(V.preventDefault(),j(V))}function G(V){Ao.call(this,l,V)}const H=()=>c("preview",n),B=()=>c("navigate",n.id),X=V=>{V.key==="Escape"&&(V.stopPropagation(),R())};return l.$$set=V=>{"item"in V&&t(0,n=V.item),"selected"in V&&t(1,o=V.selected),"onDragStart"in V&&t(25,s=V.onDragStart),"onDragOver"in V&&t(26,a=V.onDragOver),"onDrop"in V&&t(27,d=V.onDrop)},[n,o,g,k,b,c,f,h,_,j,T,D,E,N,M,A,S,O,z,R,L,K,q,W,Q,s,a,d,G,H,B,X]}class jc extends ht{constructor(e){super(),vt(this,e,Cc,wc,gt,{item:0,selected:1,onDragStart:25,onDragOver:26,onDrop:27},null,[-1,-1])}}function un(l,e,t){const n=l.slice();return n[4]=e[t],n[6]=t,n}function Tc(l){let e;return{c(){e=u("span"),e.textContent="/",i(e,"class","sep svelte-csi2lb")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Sc(l){let e,t=l[4].name+"",n,o,s;function a(){return l[2](l[6])}return{c(){e=u("button"),n=F(t),i(e,"class","crumb crumb--link svelte-csi2lb")},m(d,c){C(d,e,c),r(e,n),o||(s=I(e,"click",a),o=!0)},p(d,c){l=d,c&1&&t!==(t=l[4].name+"")&&U(n,t)},d(d){d&&w(e),o=!1,s()}}}function Nc(l){let e,t=l[4].name+"",n;return{c(){e=u("span"),n=F(t),i(e,"class","crumb crumb--current svelte-csi2lb")},m(o,s){C(o,e,s),r(e,n)},p(o,s){s&1&&t!==(t=o[4].name+"")&&U(n,t)},d(o){o&&w(e)}}}function fn(l){let e,t,n=l[6]>0&&Tc();function o(d,c){return d[6]===d[0].length-1?Nc:Sc}let s=o(l),a=s(l);return{c(){n&&n.c(),e=v(),a.c(),t=st()},m(d,c){n&&n.m(d,c),C(d,e,c),a.m(d,c),C(d,t,c)},p(d,c){s===(s=o(d))&&a?a.p(d,c):(a.d(1),a=s(d),a&&(a.c(),a.m(t.parentNode,t)))},d(d){d&&(w(e),w(t)),n&&n.d(d),a.d(d)}}}function Ec(l){let e,t=re(l[0]),n=[];for(let o=0;os(d);return l.$$set=d=>{"crumbs"in d&&t(0,n=d.crumbs)},[n,s,a]}class Uo extends ht{constructor(e){super(),vt(this,e,Dc,Ec,gt,{crumbs:0})}}function Mc(l){let e,t,n,o,s,a;return{c(){e=u("div"),t=u("p"),t.textContent=`${m("file.previewUnavailable")}`,n=v(),o=u("button"),o.textContent=`${m("file.openExternal")}`,i(o,"class","btn btn-sm svelte-1cw3u0m"),i(e,"class","preview-status svelte-1cw3u0m")},m(d,c){C(d,e,c),r(e,t),r(e,n),r(e,o),s||(a=I(o,"click",l[9]),s=!0)},p:ae,d(d){d&&w(e),s=!1,a()}}}function Ic(l){let e,t;function n(a,d){return d&2&&(e=null),e==null&&(e=!!(a[1]&&a[1].startsWith("data:"))),e?Rc:Oc}let o=n(l,-1),s=o(l);return{c(){s.c(),t=st()},m(a,d){s.m(a,d),C(a,t,d)},p(a,d){o===(o=n(a,d))&&s?s.p(a,d):(s.d(1),s=o(a),s&&(s.c(),s.m(t.parentNode,t)))},d(a){a&&w(t),s.d(a)}}}function Fc(l){let e,t,n;return{c(){e=u("pre"),t=u("code"),n=F(l[1]),i(e,"class","preview-text svelte-1cw3u0m")},m(o,s){C(o,e,s),r(e,t),r(t,n)},p(o,s){s&2&&U(n,o[1])},d(o){o&&w(e)}}}function Ac(l){let e,t,n,o;return{c(){e=u("div"),t=u("img"),xt(t.src,n=l[1])||i(t,"src",n),i(t,"alt",o=l[0].name),i(t,"class","preview-image svelte-1cw3u0m"),i(e,"class","preview-image-container svelte-1cw3u0m")},m(s,a){C(s,e,a),r(e,t)},p(s,a){a&2&&!xt(t.src,n=s[1])&&i(t,"src",n),a&1&&o!==(o=s[0].name)&&i(t,"alt",o)},d(s){s&&w(e)}}}function Lc(l){let e,t,n,o,s,a,d;return{c(){e=u("div"),t=u("p"),n=F(l[3]),o=v(),s=u("button"),s.textContent=`${m("file.openExternal")}`,i(s,"class","btn btn-sm svelte-1cw3u0m"),i(e,"class","preview-status svelte-1cw3u0m")},m(c,f){C(c,e,f),r(e,t),r(t,n),r(e,o),r(e,s),a||(d=I(s,"click",l[9]),a=!0)},p(c,f){f&8&&U(n,c[3])},d(c){c&&w(e),a=!1,d()}}}function Pc(l){let e,t;return{c(){e=u("div"),t=u("p"),t.textContent=`${m("common.loading")}`,i(e,"class","preview-status svelte-1cw3u0m")},m(n,o){C(n,e,o),r(e,t)},p:ae,d(n){n&&w(e)}}}function Oc(l){let e,t,n,o,s,a;return{c(){e=u("div"),t=u("p"),t.textContent=`${m("file.pdfUnavailable")}`,n=v(),o=u("button"),o.textContent=`${m("file.openExternal")}`,i(o,"class","btn btn-sm svelte-1cw3u0m"),i(e,"class","preview-status svelte-1cw3u0m")},m(d,c){C(d,e,c),r(e,t),r(e,n),r(e,o),s||(a=I(o,"click",l[9]),s=!0)},p:ae,d(d){d&&w(e),s=!1,a()}}}function Rc(l){let e,t,n;return{c(){e=u("div"),t=u("embed"),xt(t.src,n=l[1])||i(t,"src",n),i(t,"type","application/pdf"),i(t,"class","preview-pdf svelte-1cw3u0m"),i(e,"class","preview-pdf-container svelte-1cw3u0m")},m(o,s){C(o,e,s),r(e,t)},p(o,s){s&2&&!xt(t.src,n=o[1])&&i(t,"src",n)},d(o){o&&w(e)}}}function zc(l){let e,t,n,o,s,a,d,c=l[0].name+"",f,h,_,g,k=el(l[0].size)+"",b,y,j=cn(l[0].mime)+"",T,D,E,N,M,A,S,O,z,R,L;s=new Ro({props:{kind:l[8],size:18}});function K(Q,G){return Q[2]?Pc:Q[3]?Lc:Q[6]&&Q[1]?Ac:Q[5]&&Q[1]?Fc:Q[4]?Ic:Mc}let q=K(l),W=q(l);return{c(){e=u("div"),t=u("div"),n=u("header"),o=u("div"),at(s.$$.fragment),a=v(),d=u("span"),f=F(c),_=v(),g=u("div"),b=F(k),y=F(" · "),T=F(j),D=v(),E=u("div"),N=u("button"),N.innerHTML='',M=v(),A=u("button"),A.innerHTML='',S=v(),O=u("div"),W.c(),i(d,"class","preview-name svelte-1cw3u0m"),i(d,"title",h=l[0].name),i(o,"class","preview-title svelte-1cw3u0m"),i(g,"class","preview-meta svelte-1cw3u0m"),i(N,"class","action-btn svelte-1cw3u0m"),i(N,"title",m("file.openExternal")),i(N,"aria-label",m("file.openExternal")),i(A,"class","action-btn action-btn-close svelte-1cw3u0m"),i(A,"title","Close"),i(A,"aria-label","Close preview"),i(E,"class","preview-actions svelte-1cw3u0m"),i(n,"class","preview-header svelte-1cw3u0m"),i(O,"class","preview-body svelte-1cw3u0m"),i(t,"class","modal svelte-1cw3u0m"),i(e,"class","overlay svelte-1cw3u0m"),i(e,"role","presentation")},m(Q,G){C(Q,e,G),r(e,t),r(t,n),r(n,o),nt(s,o,null),r(o,a),r(o,d),r(d,f),r(n,_),r(n,g),r(g,b),r(g,y),r(g,T),r(n,D),r(n,E),r(E,N),r(E,M),r(E,A),r(t,S),r(t,O),W.m(O,null),z=!0,R||(L=[I(N,"click",l[9]),I(A,"click",l[10]),I(e,"click",St(l[11])),I(e,"keydown",l[12])],R=!0)},p(Q,[G]){(!z||G&1)&&c!==(c=Q[0].name+"")&&U(f,c),(!z||G&1&&h!==(h=Q[0].name))&&i(d,"title",h),(!z||G&1)&&k!==(k=el(Q[0].size)+"")&&U(b,k),(!z||G&1)&&j!==(j=cn(Q[0].mime)+"")&&U(T,j),q===(q=K(Q))&&W?W.p(Q,G):(W.d(1),W=q(Q),W&&(W.c(),W.m(O,null)))},i(Q){z||(de(s.$$.fragment,Q),z=!0)},o(Q){_e(s.$$.fragment,Q),z=!1},d(Q){Q&&w(e),it(s),W.d(),R=!1,ge(L)}}}function Bc(l,e,t){let n,o,s,{item:a}=e,{content:d=""}=e,{loading:c=!1}=e,{error:f=""}=e;const h=tl(),_=zo(a);function g(T){T.key==="Escape"&&h("close")}function k(){h("openExternal",a.fileId)}Fo(()=>{window.addEventListener("keydown",g)}),Cl(()=>{window.removeEventListener("keydown",g)});const b=()=>h("close"),y=()=>h("close"),j=T=>{T.key==="Escape"&&(T.preventDefault(),h("close"))};return l.$$set=T=>{"item"in T&&t(0,a=T.item),"content"in T&&t(1,d=T.content),"loading"in T&&t(2,c=T.loading),"error"in T&&t(3,f=T.error)},l.$$.update=()=>{l.$$.dirty&3&&t(6,n=Bo(a)&&d&&d.startsWith("data:")),l.$$.dirty&1&&t(5,o=Ho(a)||Wo(a)),l.$$.dirty&1&&t(4,s=Vo(a))},[a,d,c,f,s,o,n,h,_,k,b,y,j]}class Hc extends ht{constructor(e){super(),vt(this,e,Bc,zc,gt,{item:0,content:1,loading:2,error:3})}}function Vc(l){let e,t,n,o,s,a,d,c,f,h,_,g,k,b,y,j,T;return{c(){e=u("div"),t=u("div"),n=u("h3"),o=F(l[0]),s=v(),a=u("p"),d=F(l[1]),c=v(),f=u("div"),h=u("button"),_=F(l[2]),k=v(),b=u("button"),y=F(l[3]),i(n,"class","svelte-1fv6yyk"),i(a,"class","message svelte-1fv6yyk"),i(h,"class",g="btn "+(l[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk"),i(b,"class","btn svelte-1fv6yyk"),i(f,"class","actions svelte-1fv6yyk"),i(t,"class","modal svelte-1fv6yyk"),i(e,"class","overlay svelte-1fv6yyk"),i(e,"role","presentation")},m(D,E){C(D,e,E),r(e,t),r(t,n),r(n,o),r(t,s),r(t,a),r(a,d),r(t,c),r(t,f),r(f,h),r(h,_),r(f,k),r(f,b),r(b,y),j||(T=[I(h,"click",l[6]),I(b,"click",l[7]),I(e,"click",St(l[8])),I(e,"keydown",l[9])],j=!0)},p(D,[E]){E&1&&U(o,D[0]),E&2&&U(d,D[1]),E&4&&U(_,D[2]),E&16&&g!==(g="btn "+(D[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk")&&i(h,"class",g),E&8&&U(y,D[3])},i:ae,o:ae,d(D){D&&w(e),j=!1,ge(T)}}}function Wc(l,e,t){let{title:n=m("common.confirm")}=e,{message:o=""}=e,{confirmText:s=m("common.delete")}=e,{cancelText:a=m("common.cancel")}=e,{danger:d=!1}=e;const c=tl(),f=()=>c("confirm"),h=()=>c("cancel"),_=()=>c("cancel"),g=k=>{k.key==="Escape"&&(k.preventDefault(),c("cancel"))};return l.$$set=k=>{"title"in k&&t(0,n=k.title),"message"in k&&t(1,o=k.message),"confirmText"in k&&t(2,s=k.confirmText),"cancelText"in k&&t(3,a=k.cancelText),"danger"in k&&t(4,d=k.danger)},[n,o,s,a,d,c,f,h,_,g]}class Uc extends ht{constructor(e){super(),vt(this,e,Wc,Vc,gt,{title:0,message:1,confirmText:2,cancelText:3,danger:4})}}function Kc(l){let e,t,n;return{c(){e=Y("circle"),t=Y("line"),n=Y("line"),i(e,"cx","12"),i(e,"cy","12"),i(e,"r","10"),i(t,"x1","12"),i(t,"y1","16"),i(t,"x2","12"),i(t,"y2","12"),i(n,"x1","12"),i(n,"y1","8"),i(n,"x2","12.01"),i(n,"y2","8")},m(o,s){C(o,e,s),C(o,t,s),C(o,n,s)},d(o){o&&(w(e),w(t),w(n))}}}function Gc(l){let e,t,n,o;return{c(){e=Y("rect"),t=Y("polyline"),n=Y("line"),o=Y("line"),i(e,"x","3"),i(e,"y","5"),i(e,"width","18"),i(e,"height","14"),i(e,"rx","2"),i(t,"points","3 10 21 10"),i(n,"x1","8"),i(n,"y1","5"),i(n,"x2","8"),i(n,"y2","19"),i(o,"x1","16"),i(o,"y1","5"),i(o,"x2","16"),i(o,"y2","19")},m(s,a){C(s,e,a),C(s,t,a),C(s,n,a),C(s,o,a)},d(s){s&&(w(e),w(t),w(n),w(o))}}}function qc(l){let e,t;return{c(){e=Y("path"),t=Y("polyline"),i(e,"d","M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"),i(t,"points","13 2 13 9 20 9")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function Jc(l){let e,t;return{c(){e=Y("path"),t=Y("path"),i(e,"d","M12 20h9"),i(t,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function Yc(l){let e,t,n,o,s;return{c(){e=Y("path"),t=Y("path"),n=Y("line"),o=Y("line"),s=Y("line"),i(e,"d","M4 19.5A2.5 2.5 0 0 1 6.5 17H20"),i(t,"d","M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"),i(n,"x1","8"),i(n,"y1","7"),i(n,"x2","16"),i(n,"y2","7"),i(o,"x1","8"),i(o,"y1","11"),i(o,"x2","14"),i(o,"y2","11"),i(s,"x1","8"),i(s,"y1","15"),i(s,"x2","12"),i(s,"y2","15")},m(a,d){C(a,e,d),C(a,t,d),C(a,n,d),C(a,o,d),C(a,s,d)},d(a){a&&(w(e),w(t),w(n),w(o),w(s))}}}function Xc(l){let e,t,n,o;return{c(){e=Y("path"),t=Y("polyline"),n=Y("line"),o=Y("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","16"),i(n,"y1","13"),i(n,"x2","8"),i(n,"y2","13"),i(o,"x1","16"),i(o,"y1","17"),i(o,"x2","8"),i(o,"y2","17")},m(s,a){C(s,e,a),C(s,t,a),C(s,n,a),C(s,o,a)},d(s){s&&(w(e),w(t),w(n),w(o))}}}function Zc(l){let e,t;return{c(){e=Y("path"),t=Y("circle"),i(e,"d","M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"),i(t,"cx","12"),i(t,"cy","7"),i(t,"r","4")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function Qc(l){let e,t,n,o;return{c(){e=Y("rect"),t=Y("rect"),n=Y("rect"),o=Y("rect"),i(e,"x","3"),i(e,"y","3"),i(e,"width","7"),i(e,"height","7"),i(e,"rx","1"),i(t,"x","14"),i(t,"y","3"),i(t,"width","7"),i(t,"height","4"),i(t,"rx","1"),i(n,"x","14"),i(n,"y","10"),i(n,"width","7"),i(n,"height","11"),i(n,"rx","1"),i(o,"x","3"),i(o,"y","14"),i(o,"width","7"),i(o,"height","7"),i(o,"rx","1")},m(s,a){C(s,e,a),C(s,t,a),C(s,n,a),C(s,o,a)},d(s){s&&(w(e),w(t),w(n),w(o))}}}function xc(l){let e;return{c(){e=Y("path"),i(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function $c(l){let e;function t(s,a){return s[0]==="folder"?xc:s[0]==="project"?Qc:s[0]==="client"?Zc:s[0]==="document"?Xc:s[0]==="recipe"?Yc:s[0]==="note"?Jc:s[0]==="file"?qc:s[0]==="case"?Gc:Kc}let n=t(l),o=n(l);return{c(){e=Y("svg"),o.c(),i(e,"width",l[1]),i(e,"height",l[1]),i(e,"viewBox","0 0 24 24"),i(e,"fill","none"),i(e,"stroke","currentColor"),i(e,"stroke-width","1.5"),i(e,"stroke-linecap","round"),i(e,"stroke-linejoin","round"),i(e,"xmlns","http://www.w3.org/2000/svg")},m(s,a){C(s,e,a),o.m(e,null)},p(s,[a]){n!==(n=t(s))&&(o.d(1),o=n(s),o&&(o.c(),o.m(e,null))),a&2&&i(e,"width",s[1]),a&2&&i(e,"height",s[1])},i:ae,o:ae,d(s){s&&w(e),o.d()}}}function ed(l,e,t){let{kind:n="generic"}=e,{size:o=18}=e;return l.$$set=s=>{"kind"in s&&t(0,n=s.kind),"size"in s&&t(1,o=s.size)},[n,o]}class ll extends ht{constructor(e){super(),vt(this,e,ed,$c,gt,{kind:0,size:1})}}function pn(l,e,t){const n=l.slice();return n[44]=e[t],n}function td(l){let e;return{c(){e=u("span"),i(e,"class","tree-toggle-placeholder svelte-zj71cl")},m(t,n){C(t,e,n)},p:ae,d(t){t&&w(e)}}}function ld(l){let e,t,n=l[1][l[44].id]?"▾":"▸",o,s,a;function d(){return l[25](l[44])}return{c(){e=u("button"),t=u("span"),o=F(n),i(t,"class","tree-arrow"),i(e,"class","tree-toggle svelte-zj71cl")},m(c,f){C(c,e,f),r(e,t),r(t,o),s||(a=I(e,"click",Je(d)),s=!0)},p(c,f){l=c,f[0]&3&&n!==(n=l[1][l[44].id]?"▾":"▸")&&U(o,n)},d(c){c&&w(e),s=!1,a()}}}function mn(l){let e,t;return e=new Ko({props:{nodes:l[44].children||[],expanded:l[1],selectedNodeId:l[2],level:l[3]+1,onSelect:l[4],onToggle:l[5],onContextMenu:l[6],onDrop:l[7]}}),{c(){at(e.$$.fragment)},m(n,o){nt(e,n,o),t=!0},p(n,o){const s={};o[0]&1&&(s.nodes=n[44].children||[]),o[0]&2&&(s.expanded=n[1]),o[0]&4&&(s.selectedNodeId=n[2]),o[0]&8&&(s.level=n[3]+1),o[0]&16&&(s.onSelect=n[4]),o[0]&32&&(s.onToggle=n[5]),o[0]&64&&(s.onContextMenu=n[6]),o[0]&128&&(s.onDrop=n[7]),e.$set(s)},i(n){t||(de(e.$$.fragment,n),t=!0)},o(n){_e(e.$$.fragment,n),t=!1},d(n){it(e,n)}}}function _n(l,e){let t,n,o,s,a,d,c,f=e[44].title+"",h,_,g=e[1][e[44].id]&&kl(e[44]),k,b,y,j;function T(H,B){return B[0]&1&&(n=null),n==null&&(n=!!Ut(H[44])),n?ld:td}let D=T(e,[-1,-1]),E=D(e);a=new ll({props:{kind:gn(e[44]),size:16}});function N(...H){return e[26](e[44],...H)}function M(...H){return e[27](e[44],...H)}function A(){return e[28](e[44])}function S(...H){return e[29](e[44],...H)}function O(...H){return e[30](e[44],...H)}function z(...H){return e[31](e[44],...H)}function R(...H){return e[32](e[44],...H)}function L(...H){return e[33](e[44],...H)}function K(...H){return e[34](e[44],...H)}function q(...H){return e[35](e[44],...H)}function W(...H){return e[36](e[44],...H)}function Q(...H){return e[37](e[44],...H)}let G=g&&mn(e);return{key:l,first:null,c(){t=u("div"),E.c(),o=v(),s=u("span"),at(a.$$.fragment),d=v(),c=u("span"),h=F(f),_=v(),G&&G.c(),k=st(),i(s,"class","tree-icon svelte-zj71cl"),i(s,"role","button"),i(s,"tabindex","-1"),i(c,"class","tree-label svelte-zj71cl"),i(c,"role","button"),i(c,"tabindex","-1"),i(t,"class","tree-item svelte-zj71cl"),qe(t,"padding-left",e[3]*16+4+"px"),i(t,"draggable","true"),i(t,"role","button"),i(t,"tabindex","0"),ve(t,"selected",e[2]===e[44].id),ve(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),ve(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),this.first=t},m(H,B){C(H,t,B),E.m(t,null),r(t,o),r(t,s),nt(a,s,null),r(t,d),r(t,c),r(c,h),C(H,_,B),G&&G.m(H,B),C(H,k,B),b=!0,y||(j=[I(s,"click",N),I(s,"keydown",M),I(s,"dblclick",Je(e[24])),I(c,"click",Je(A)),I(c,"keydown",S),I(t,"dragstart",O),I(t,"dragover",z),I(t,"dragleave",R),I(t,"drop",L),I(t,"click",K),I(t,"keydown",q),I(t,"dblclick",W),I(t,"contextmenu",yl(Q))],y=!0)},p(H,B){e=H,D===(D=T(e,B))&&E?E.p(e,B):(E.d(1),E=D(e),E&&(E.c(),E.m(t,o)));const X={};B[0]&1&&(X.kind=gn(e[44])),a.$set(X),(!b||B[0]&1)&&f!==(f=e[44].title+"")&&U(h,f),(!b||B[0]&8)&&qe(t,"padding-left",e[3]*16+4+"px"),(!b||B[0]&5)&&ve(t,"selected",e[2]===e[44].id),(!b||B[0]&769)&&ve(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),(!b||B[0]&769)&&ve(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),B[0]&3&&(g=e[1][e[44].id]&&kl(e[44])),g?G?(G.p(e,B),B[0]&3&&de(G,1)):(G=mn(e),G.c(),de(G,1),G.m(k.parentNode,k)):G&&($e(),_e(G,1,1,()=>{G=null}),et())},i(H){b||(de(a.$$.fragment,H),de(G),b=!0)},o(H){_e(a.$$.fragment,H),_e(G),b=!1},d(H){H&&(w(t),w(_),w(k)),E.d(),it(a),G&&G.d(H),y=!1,ge(j)}}}function nd(l){let e=[],t=new Map,n,o,s,a,d=re(l[0]);const c=f=>f[44].id;for(let f=0;f0:l.has_children===!0}function vn(l){const e={};function t(n,o){for(const s of n)e[s.id]=o,s.children&&t(s.children,s.id)}return t(l,""),e}function hn(l){const e=[];function t(n){for(const o of n)e.push(o),o.children&&t(o.children)}return t(l),e}function id(l){try{return l.dataTransfer.getData("text/plain")}catch{return""}}function od(l,e,t){let n,o,s,{nodes:a=[]}=e,{expanded:d={}}=e,{selectedNodeId:c=""}=e,{level:f=0}=e,{onSelect:h=void 0}=e,{onToggle:_=void 0}=e,{onContextMenu:g=void 0}=e,{onDrop:k=void 0}=e,b={},y=null,j="",T="";const D=["folder","project","client","document","recipe","case"];Cl(()=>{for(const J of Object.keys(b))clearTimeout(b[J]);y&&clearInterval(y)});function E(J){return D.includes(J.type)}function N(J,$,ue){if(!J||!$||$===J.id||!E(J))return!1;let pe=J.id;for(;pe;){if(pe===$)return!1;pe=ue[pe]||""}return!0}function M(J,$){J.stopPropagation(),J.dataTransfer.effectAllowed="move",J.dataTransfer.setData("text/plain",$.id),t(21,j=$.id)}function A(J,$){J.preventDefault(),J.stopPropagation(),J.dataTransfer.dropEffect="move",T!==$.id&&t(8,T=$.id),Ut($)&&!d[$.id]&&!b[$.id]&&(b[$.id]=setTimeout(()=>{_&&_($.id),delete b[$.id]},600));const ue=J.currentTarget.closest(".workspace-tree-area");if(ue){const pe=ue.getBoundingClientRect(),Me=30;J.clientY-pe.top{ue.scrollTop-=10},50)):pe.bottom-J.clientY{ue.scrollTop+=10},50)):y&&(clearInterval(y),y=null)}}function S(J,$){const ue=J.relatedTarget;ue&&J.currentTarget.contains(ue)||(T===$.id&&t(8,T=""),b[$.id]&&(clearTimeout(b[$.id]),delete b[$.id]),y&&(clearInterval(y),y=null))}function O(J,$){J.preventDefault(),J.stopPropagation(),b[$.id]&&(clearTimeout(b[$.id]),delete b[$.id]),y&&(clearInterval(y),y=null);const ue=hn(a),pe=vn(ue),Me=id(J);if(!N($,Me,pe)){t(8,T=""),t(21,j="");return}k&&k(Me,$.id),t(8,T=""),t(21,j="")}function z(){t(8,T=""),t(21,j="");for(const J of Object.keys(b))clearTimeout(b[J]),delete b[J];y&&(clearInterval(y),y=null)}function R(J,$){J.target.closest(".tree-toggle")||J.target.closest(".tree-icon")||h&&h($)}function L(J,$){Ut($)&&_&&_($.id)}function K(J,$){(J.key==="Enter"||J.key===" ")&&(J.preventDefault(),h&&h($))}function q(J,$){J.stopPropagation(),Ut($)&&_&&_($.id)}function W(J,$){(J.key==="Enter"||J.key===" ")&&(J.preventDefault(),J.stopPropagation(),Ut($)&&_&&_($.id))}function Q(J,$){(J.key==="Enter"||J.key===" ")&&(J.preventDefault(),h&&h($))}function G(J,$,ue){const pe={};function Me(Ne){for(const Ue of Ne)pe[Ue.id]=N(Ue,$,ue),Ue.children&&Me(Ue.children)}return Me(J),pe}function H(J){Ao.call(this,l,J)}const B=J=>_&&_(J.id),X=(J,$)=>q($,J),V=(J,$)=>W($,J),le=J=>h&&h(J),Ce=(J,$)=>Q($,J),ie=(J,$)=>M($,J),x=(J,$)=>A($,J),te=(J,$)=>S($,J),se=(J,$)=>O($,J),ke=(J,$)=>R($,J),Fe=(J,$)=>K($,J),ze=(J,$)=>L($,J),Pe=(J,$)=>g&&g($,J);return l.$$set=J=>{"nodes"in J&&t(0,a=J.nodes),"expanded"in J&&t(1,d=J.expanded),"selectedNodeId"in J&&t(2,c=J.selectedNodeId),"level"in J&&t(3,f=J.level),"onSelect"in J&&t(4,h=J.onSelect),"onToggle"in J&&t(5,_=J.onToggle),"onContextMenu"in J&&t(6,g=J.onContextMenu),"onDrop"in J&&t(7,k=J.onDrop)},l.$$.update=()=>{l.$$.dirty[0]&1&&t(23,n=hn(a)),l.$$.dirty[0]&8388608&&t(22,o=vn(n)),l.$$.dirty[0]&14680064&&t(9,s=G(n,j,o))},[a,d,c,f,h,_,g,k,T,s,M,A,S,O,z,R,L,K,q,W,Q,j,o,n,H,B,X,V,le,Ce,ie,x,te,se,ke,Fe,ze,Pe]}class Ko extends ht{constructor(e){super(),vt(this,e,od,nd,gt,{nodes:0,expanded:1,selectedNodeId:2,level:3,onSelect:4,onToggle:5,onContextMenu:6,onDrop:7},null,[-1,-1])}}function bn(l,e,t){const n=l.slice();return n[299]=e[t],n}function kn(l,e,t){const n=l.slice();return n[302]=e[t],n}function yn(l,e,t){const n=l.slice();return n[302]=e[t],n}function wn(l,e,t){const n=l.slice();return n[326]=e[t],n}function Cn(l,e,t){const n=l.slice();return n[326]=e[t],n}function jn(l,e,t){const n=l.slice();return n[352]=e[t],n}function Tn(l,e,t){const n=l.slice();return n[326]=e[t],n}function Sn(l,e,t){const n=l.slice();return n[323]=e[t],n[357]=e,n[358]=t,n}function Nn(l,e,t){const n=l.slice();return n[326]=e[t],n}function En(l,e,t){const n=l.slice();return n[334]=e[t],n}function Dn(l,e,t){const n=l.slice();return n[326]=e[t],n}function Mn(l,e,t){const n=l.slice();return n[339]=e[t],n}function In(l,e,t){const n=l.slice();return n[339]=e[t],n}function Fn(l,e,t){const n=l.slice();return n[323]=e[t],n[344]=e,n[345]=t,n}function An(l,e,t){const n=l.slice();return n[326]=e[t],n}function Ln(l,e,t){const n=l.slice();return n[334]=e[t],n}function Pn(l,e,t){const n=l.slice();return n[326]=e[t],n}function On(l,e,t){const n=l.slice();return n[307]=e[t],n}function Rn(l,e,t){const n=l.slice();return n[323]=e[t],n[324]=e,n[325]=t,n}function zn(l,e,t){const n=l.slice();return n[326]=e[t],n}function Bn(l,e,t){const n=l.slice();return n[318]=e[t],n}function Hn(l,e,t){const n=l.slice();return n[315]=e[t],n}function Vn(l,e,t){const n=l.slice();return n[310]=e[t],n}function Wn(l,e,t){const n=l.slice();return n[307]=e[t],n}function Un(l,e,t){const n=l.slice();return n[310]=e[t],n}function Kn(l,e,t){const n=l.slice();return n[331]=e[t],n}function Gn(l,e,t){const n=l.slice();return n[363]=e[t],n}function qn(l,e,t){const n=l.slice();return n[366]=e[t],n}function Jn(l){let e,t;return{c(){e=u("span"),t=F(l[35]),i(e,"class","nav-badge svelte-18p9dg")},m(n,o){C(n,e,o),r(e,t)},p(n,o){o[1]&16&&U(t,n[35])},d(n){n&&w(e)}}}function Yn(l){let e,t=l[366].label+"",n,o,s,a,d,c,f=l[366].id==="journal"&&l[35]>0&&Jn(l);function h(){return l[158](l[366])}return{c(){e=u("button"),n=F(t),o=v(),f&&f.c(),s=v(),i(e,"class",a="nav-item "+(l[21]===l[366].id?"selected":"")+" svelte-18p9dg")},m(_,g){C(_,e,g),r(e,n),r(e,o),f&&f.m(e,null),r(e,s),d||(c=I(e,"click",h),d=!0)},p(_,g){l=_,g[0]&1&&t!==(t=l[366].label+"")&&U(n,t),l[366].id==="journal"&&l[35]>0?f?f.p(l,g):(f=Jn(l),f.c(),f.m(e,s)):f&&(f.d(1),f=null),g[0]&2097153&&a!==(a="nav-item "+(l[21]===l[366].id?"selected":"")+" svelte-18p9dg")&&i(e,"class",a)},d(_){_&&w(e),f&&f.d(),d=!1,c()}}}function sd(l){let e;return{c(){e=u("div"),e.textContent=`${m("nav.noNodes")}`,i(e,"class","nav-empty svelte-18p9dg")},m(t,n){C(t,e,n)},p:ae,i:ae,o:ae,d(t){t&&w(e)}}}function ad(l){var a;let e,t,n,o,s;return t=new Ko({props:{nodes:l[1],expanded:l[51],selectedNodeId:((a=l[22])==null?void 0:a.id)||"",onSelect:l[82],onToggle:l[112],onContextMenu:l[110],onDrop:l[113]}}),{c(){e=u("div"),at(t.$$.fragment),i(e,"class","workspace-tree-area svelte-18p9dg"),i(e,"role","region"),i(e,"aria-label",m("nav.workspace")),ve(e,"drop-valid",l[62])},m(d,c){C(d,e,c),nt(t,e,null),n=!0,o||(s=[I(e,"dragover",yl(l[115])),I(e,"dragleave",l[116]),I(e,"drop",l[114])],o=!0)},p(d,c){var h;const f={};c[0]&2&&(f.nodes=d[1]),c[1]&1048576&&(f.expanded=d[51]),c[0]&4194304&&(f.selectedNodeId=((h=d[22])==null?void 0:h.id)||""),t.$set(f),(!n||c[2]&1)&&ve(e,"drop-valid",d[62])},i(d){n||(de(t.$$.fragment,d),n=!0)},o(d){_e(t.$$.fragment,d),n=!1},d(d){d&&w(e),it(t),o=!1,ge(s)}}}function rd(l){let e;return{c(){e=u("span"),e.textContent=`${m("nav.selectPrompt")}`,i(e,"class","crumb placeholder svelte-18p9dg")},m(t,n){C(t,e,n)},p:ae,d(t){t&&w(e)}}}function cd(l){let e,t=re(l[0]),n=[];for(let o=0;o0&&Qn(l);return{c(){e=u("button"),t=Y("svg"),n=Y("polyline"),o=Y("polyline"),s=Y("path"),a=v(),f&&f.c(),i(n,"points","23 4 23 10 17 10"),i(n,"class","svelte-18p9dg"),i(o,"points","1 20 1 14 7 14"),i(o,"class","svelte-18p9dg"),i(s,"d","M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"),i(s,"class","svelte-18p9dg"),i(t,"width","16"),i(t,"height","16"),i(t,"viewBox","0 0 24 24"),i(t,"fill","none"),i(t,"stroke","currentColor"),i(t,"stroke-width","2"),i(t,"stroke-linecap","round"),i(t,"stroke-linejoin","round"),i(t,"class","svelte-18p9dg"),i(e,"class","header-sync-btn svelte-18p9dg"),e.disabled=l[73],i(e,"title",m("nav.syncNow"))},m(h,_){C(h,e,_),r(e,t),r(t,n),r(t,o),r(t,s),r(e,a),f&&f.m(e,null),d||(c=I(e,"click",l[156]),d=!0)},p(h,_){h[72].unpushedOps>0?f?f.p(h,_):(f=Qn(h),f.c(),f.m(e,null)):f&&(f.d(1),f=null),_[2]&2048&&(e.disabled=h[73])},d(h){h&&w(e),f&&f.d(),d=!1,c()}}}function Qn(l){let e,t=l[72].unpushedOps+"",n;return{c(){e=u("span"),n=F(t),i(e,"class","sync-badge svelte-18p9dg")},m(o,s){C(o,e,s),r(e,n)},p(o,s){s[2]&1024&&t!==(t=o[72].unpushedOps+"")&&U(n,t)},d(o){o&&w(e)}}}function xn(l){let e,t,n,o,s,a;return{c(){e=u("div"),t=F(l[20]),n=v(),o=u("button"),o.innerHTML='',i(o,"class","dismiss-btn svelte-18p9dg"),i(o,"aria-label","Dismiss"),i(e,"class","error-banner svelte-18p9dg"),i(e,"role","button"),i(e,"tabindex","0")},m(d,c){C(d,e,c),r(e,t),r(e,n),r(e,o),s||(a=[I(o,"click",Je(l[159])),I(e,"click",l[160]),I(e,"keydown",function(){Jt(ct(l[161]))&&ct(l[161]).apply(this,arguments)})],s=!0)},p(d,c){l=d,c[0]&1048576&&U(t,l[20])},d(d){d&&w(e),s=!1,ge(a)}}}function ud(l){let e,t,n;function o(d,c){if(d[47])return bd;if(d[0].length>0)return hd;if(d[20])return vd}let s=o(l),a=s&&s(l);return{c(){e=u("div"),t=u("h2"),t.textContent=`${m("welcome.title")}`,n=v(),a&&a.c(),i(t,"class","svelte-18p9dg"),i(e,"class","welcome svelte-18p9dg")},m(d,c){C(d,e,c),r(e,t),r(e,n),a&&a.m(e,null)},p(d,c){s===(s=o(d))&&a?a.p(d,c):(a&&a.d(1),a=s&&s(d),a&&(a.c(),a.m(e,null)))},i:ae,o:ae,d(d){d&&w(e),a&&a.d()}}}function fd(l){let e,t,n,o;function s(c,f){return c[4].length===0?yd:kd}let a=s(l),d=a(l);return{c(){e=u("div"),t=u("div"),n=u("h2"),n.textContent=`${m("activity.title")}`,o=v(),d.c(),i(n,"class","svelte-18p9dg"),i(t,"class","activity-feed-header svelte-18p9dg"),i(e,"class","activity-feed svelte-18p9dg")},m(c,f){C(c,e,f),r(e,t),r(t,n),r(e,o),d.m(e,null)},p(c,f){a===(a=s(c))&&d?d.p(c,f):(d.d(1),d=a(c),d&&(d.c(),d.m(e,null)))},i:ae,o:ae,d(c){c&&w(e),d.d()}}}function pd(l){let e,t,n,o,s,a=l[3].date+"",d,c,f,h,_=l[3].summary&&ti(l),g=l[34].length>0&&oi(l);function k(j,T){return j[3].groups&&j[3].groups.length>0?Cd:wd}let b=k(l),y=b(l);return{c(){e=u("div"),t=u("div"),n=u("h2"),n.textContent=`${m("today.title")}`,o=v(),s=u("span"),d=F(a),c=v(),_&&_.c(),f=v(),g&&g.c(),h=v(),y.c(),i(n,"class","svelte-18p9dg"),i(s,"class","today-date svelte-18p9dg"),i(t,"class","today-header svelte-18p9dg"),i(e,"class","today-dashboard svelte-18p9dg")},m(j,T){C(j,e,T),r(e,t),r(t,n),r(t,o),r(t,s),r(s,d),r(e,c),_&&_.m(e,null),r(e,f),g&&g.m(e,null),r(e,h),y.m(e,null)},p(j,T){T[0]&8&&a!==(a=j[3].date+"")&&U(d,a),j[3].summary?_?_.p(j,T):(_=ti(j),_.c(),_.m(e,f)):_&&(_.d(1),_=null),j[34].length>0?g?g.p(j,T):(g=oi(j),g.c(),g.m(e,h)):g&&(g.d(1),g=null),b===(b=k(j))&&y?y.p(j,T):(y.d(1),y=b(j),y&&(y.c(),y.m(e,null)))},i:ae,o:ae,d(j){j&&w(e),_&&_.d(),g&&g.d(),y.d()}}}function md(l){let e,t,n,o,s,a,d,c,f,h,_,g,k,b,y,j,T,D,E,N,M,A,S,O,z,R,L,K,q,W,Q,G,H,B,X,V,le,Ce,ie,x,te,se,ke,Fe,ze,Pe,J,$,ue,pe,Me,Ne,Ue,lt,Ke,Te,Ae,Be,He,Ee,Le,fe,ye;function be(Z,ce){return Z[13]?Nd:Sd}let Ze=be(l),De=Ze(l);function Ge(Z,ce){return Z[10]?Dd:Ed}let Ie=Ge(l),me=Ie(l),oe=l[14]&&hi(l),je=l[34].length>0&&bi(l),Se=l[6]&&ji(l);function Oe(Z,ce){return Z[5].length===0?Id:Md}let Ve=Oe(l),We=Ve(l);return{c(){e=u("div"),t=u("div"),n=u("h2"),n.textContent=`${m("journal.title")}`,o=v(),s=u("div"),a=u("div"),a.textContent=`${m("journal.filterHeading")}`,d=v(),c=u("div"),f=u("label"),h=u("span"),h.textContent=`${m("journal.dateFrom")}`,_=v(),g=u("input"),k=v(),b=u("label"),y=u("span"),y.textContent=`${m("journal.dateTo")}`,j=v(),T=u("input"),D=v(),E=u("label"),N=u("span"),N.textContent=`${m("journal.node")}`,M=v(),A=u("div"),De.c(),S=v(),O=u("label"),me.c(),z=v(),R=u("span"),R.textContent=`${m("journal.includeChildren")}`,K=v(),q=u("label"),W=u("span"),W.textContent=`${m("journal.billable")}`,Q=v(),G=u("select"),H=u("option"),H.textContent=`${m("common.all")}`,B=u("option"),B.textContent=`${m("journal.billableYes")}`,X=u("option"),X.textContent=`${m("journal.billableNo")}`,V=v(),le=u("label"),Ce=u("span"),Ce.textContent=`${m("journal.approx")}`,ie=v(),x=u("select"),te=u("option"),te.textContent=`${m("common.all")}`,se=u("option"),se.textContent=`${m("journal.approxExact")}`,ke=u("option"),ke.textContent=`${m("journal.approxEstimated")}`,Fe=v(),ze=u("button"),ze.textContent=`${m("journal.filter")}`,Pe=v(),J=u("button"),J.textContent=`${m("journal.reset")}`,$=v(),ue=u("div"),pe=u("div"),pe.textContent=`${m("journal.exportHeading")}`,Me=v(),Ne=u("div"),Ue=u("button"),Ue.textContent=`${m("journal.exportCSV")}`,lt=v(),Ke=u("button"),Ke.textContent=`${m("journal.exportMarkdown")}`,Te=v(),Ae=u("button"),Ae.textContent="PDF",Be=v(),oe&&oe.c(),He=v(),je&&je.c(),Ee=v(),Se&&Se.c(),Le=v(),We.c(),i(n,"class","svelte-18p9dg"),i(a,"class","journal-filter-heading svelte-18p9dg"),i(h,"class","label-text svelte-18p9dg"),i(g,"type","date"),i(g,"class","svelte-18p9dg"),i(f,"class","svelte-18p9dg"),i(y,"class","label-text svelte-18p9dg"),i(T,"type","date"),i(T,"class","svelte-18p9dg"),i(b,"class","svelte-18p9dg"),i(N,"class","label-text svelte-18p9dg"),i(A,"class","journal-node-picker svelte-18p9dg"),qe(A,"position","relative"),i(E,"class","svelte-18p9dg"),i(R,"class","svelte-18p9dg"),ve(R,"disabled-hint",!l[10]),i(O,"class","checkbox-label svelte-18p9dg"),i(O,"title",L=l[10]?"":m("journal.includeChildrenDisabledHint")),i(W,"class","label-text svelte-18p9dg"),H.__value="all",he(H,H.__value),i(H,"class","svelte-18p9dg"),B.__value="yes",he(B,B.__value),i(B,"class","svelte-18p9dg"),X.__value="no",he(X,X.__value),i(X,"class","svelte-18p9dg"),i(G,"class","svelte-18p9dg"),l[11]===void 0&&Pt(()=>l[210].call(G)),i(q,"title",m("journal.billableHint")),i(q,"class","svelte-18p9dg"),i(Ce,"class","label-text svelte-18p9dg"),te.__value="all",he(te,te.__value),i(te,"class","svelte-18p9dg"),se.__value="no",he(se,se.__value),i(se,"class","svelte-18p9dg"),ke.__value="yes",he(ke,ke.__value),i(ke,"class","svelte-18p9dg"),i(x,"class","svelte-18p9dg"),l[12]===void 0&&Pt(()=>l[211].call(x)),i(le,"title",m("journal.approxHint")),i(le,"class","svelte-18p9dg"),i(ze,"class","btn btn-sm svelte-18p9dg"),i(J,"class","btn btn-sm svelte-18p9dg"),i(c,"class","journal-filters-row svelte-18p9dg"),i(s,"class","journal-filter-section svelte-18p9dg"),i(pe,"class","journal-export-heading svelte-18p9dg"),i(Ue,"class","btn btn-sm svelte-18p9dg"),i(Ke,"class","btn btn-sm svelte-18p9dg"),i(Ae,"class","btn btn-sm svelte-18p9dg"),i(Ne,"class","journal-export-row svelte-18p9dg"),i(ue,"class","journal-export-section svelte-18p9dg"),i(t,"class","journal-header svelte-18p9dg"),i(e,"class","journal-screen svelte-18p9dg")},m(Z,ce){C(Z,e,ce),r(e,t),r(t,n),r(t,o),r(t,s),r(s,a),r(s,d),r(s,c),r(c,f),r(f,h),r(f,_),r(f,g),he(g,l[7]),r(c,k),r(c,b),r(b,y),r(b,j),r(b,T),he(T,l[8]),r(c,D),r(c,E),r(E,N),r(E,M),r(E,A),De.m(A,null),r(c,S),r(c,O),me.m(O,null),r(O,z),r(O,R),r(c,K),r(c,q),r(q,W),r(q,Q),r(q,G),r(G,H),r(G,B),r(G,X),At(G,l[11],!0),r(c,V),r(c,le),r(le,Ce),r(le,ie),r(le,x),r(x,te),r(x,se),r(x,ke),At(x,l[12],!0),r(c,Fe),r(c,ze),r(c,Pe),r(c,J),r(t,$),r(t,ue),r(ue,pe),r(ue,Me),r(ue,Ne),r(Ne,Ue),r(Ne,lt),r(Ne,Ke),r(Ne,Te),r(Ne,Ae),r(Ne,Be),oe&&oe.m(Ne,null),r(e,He),je&&je.m(e,null),r(e,Ee),Se&&Se.m(e,null),r(e,Le),We.m(e,null),fe||(ye=[I(g,"input",l[203]),I(T,"input",l[204]),I(G,"change",l[210]),I(x,"change",l[211]),I(ze,"click",l[131]),I(J,"click",l[136]),I(Ue,"click",l[212]),I(Ke,"click",l[213]),I(Ae,"click",l[214])],fe=!0)},p(Z,ce){ce[0]&128&&he(g,Z[7]),ce[0]&256&&he(T,Z[8]),Ze===(Ze=be(Z))&&De?De.p(Z,ce):(De.d(1),De=Ze(Z),De&&(De.c(),De.m(A,null))),Ie===(Ie=Ge(Z))&&me?me.p(Z,ce):(me.d(1),me=Ie(Z),me&&(me.c(),me.m(O,z))),ce[0]&1024&&ve(R,"disabled-hint",!Z[10]),ce[0]&1024&&L!==(L=Z[10]?"":m("journal.includeChildrenDisabledHint"))&&i(O,"title",L),ce[0]&2048&&At(G,Z[11]),ce[0]&4096&&At(x,Z[12]),Z[14]?oe?oe.p(Z,ce):(oe=hi(Z),oe.c(),oe.m(Ne,null)):oe&&(oe.d(1),oe=null),Z[34].length>0?je?je.p(Z,ce):(je=bi(Z),je.c(),je.m(e,Ee)):je&&(je.d(1),je=null),Z[6]?Se?Se.p(Z,ce):(Se=ji(Z),Se.c(),Se.m(e,Le)):Se&&(Se.d(1),Se=null),Ve===(Ve=Oe(Z))&&We?We.p(Z,ce):(We.d(1),We=Ve(Z),We&&(We.c(),We.m(e,null)))},i:ae,o:ae,d(Z){Z&&w(e),De.d(),me.d(),oe&&oe.d(),je&&je.d(),Se&&Se.d(),We.d(),fe=!1,ge(ye)}}}function _d(l){let e,t,n,o,s,a,d=re(l[80]),c=[];for(let g=0;g{h[b]=null}),et()),~o?(s=h[o],s?s.p(g,k):(s=h[o]=f[o](g),s.c()),de(s,1),s.m(n,null)):s=null)},i(g){a||(de(s),a=!0)},o(g){_e(s),a=!1},d(g){g&&(w(e),w(t),w(n)),Re(c,g),~o&&h[o].d()}}}function gd(l){let e,t,n,o=l[25].title+"",s,a,d,c,f,h,_,g,k,b,y,j=l[25].dirty&&so();return{c(){e=u("div"),t=u("div"),n=u("span"),s=F(o),a=v(),j&&j.c(),d=v(),c=u("div"),f=u("button"),f.textContent=`${m("common.save")}`,h=v(),_=u("button"),_.textContent=`${m("common.close")}`,g=v(),k=u("textarea"),i(n,"class","note-title svelte-18p9dg"),i(f,"class","btn btn-primary svelte-18p9dg"),i(_,"class","btn svelte-18p9dg"),i(c,"class","note-editor-actions svelte-18p9dg"),i(t,"class","note-editor-header svelte-18p9dg"),i(k,"class","note-textarea svelte-18p9dg"),i(k,"placeholder",m("note.placeholder")),i(e,"class","note-editor svelte-18p9dg")},m(T,D){C(T,e,D),r(e,t),r(t,n),r(n,s),r(t,a),j&&j.m(t,null),r(t,d),r(t,c),r(c,f),r(c,h),r(c,_),r(e,g),r(e,k),he(k,l[25].content),b||(y=[I(f,"click",l[127]),I(_,"click",l[125]),I(k,"input",l[162]),I(k,"input",l[126])],b=!0)},p(T,D){D[0]&33554432&&o!==(o=T[25].title+"")&&U(s,o),T[25].dirty?j||(j=so(),j.c(),j.m(t,d)):j&&(j.d(1),j=null),D[0]&33554432&&he(k,T[25].content)},i:ae,o:ae,d(T){T&&w(e),j&&j.d(),b=!1,ge(y)}}}function vd(l){let e,t=m("common.error")+"",n,o,s;return{c(){e=u("p"),n=F(t),o=v(),s=F(l[20]),i(e,"class","error-text svelte-18p9dg")},m(a,d){C(a,e,d),r(e,n),r(e,o),r(e,s)},p(a,d){d[0]&1048576&&U(s,a[20])},d(a){a&&w(e)}}}function hd(l){let e,t,n;return{c(){e=u("p"),e.textContent=`${m("welcome.selectSection")}`,t=v(),n=u("p"),n.textContent=`${m("welcome.createCase")}`,i(e,"class","svelte-18p9dg"),i(n,"class","hint svelte-18p9dg")},m(o,s){C(o,e,s),C(o,t,s),C(o,n,s)},p:ae,d(o){o&&(w(e),w(t),w(n))}}}function bd(l){let e;return{c(){e=u("p"),e.textContent=`${m("common.loading")}`,i(e,"class","svelte-18p9dg")},m(t,n){C(t,e,n)},p:ae,d(t){t&&w(e)}}}function kd(l){let e,t=re(l[4]),n=[];for(let o=0;o0&&li(l),s=l[3].summary.notes>0&&ni(l),a=l[3].summary.files>0&&ii(l);return{c(){e=u("div"),o&&o.c(),t=v(),s&&s.c(),n=v(),a&&a.c(),i(e,"class","today-summary svelte-18p9dg")},m(d,c){C(d,e,c),o&&o.m(e,null),r(e,t),s&&s.m(e,null),r(e,n),a&&a.m(e,null)},p(d,c){d[3].summary.changedCases>0?o?o.p(d,c):(o=li(d),o.c(),o.m(e,t)):o&&(o.d(1),o=null),d[3].summary.notes>0?s?s.p(d,c):(s=ni(d),s.c(),s.m(e,n)):s&&(s.d(1),s=null),d[3].summary.files>0?a?a.p(d,c):(a=ii(d),a.c(),a.m(e,null)):a&&(a.d(1),a=null)},d(d){d&&w(e),o&&o.d(),s&&s.d(),a&&a.d()}}}function li(l){let e,t=l[3].summary.changedCases+"",n,o,s=_t(l[3].summary.changedCases,m("today.plural.case_one"),m("today.plural.case_few"),m("today.plural.case_many"))+"",a;return{c(){e=u("span"),n=F(t),o=v(),a=F(s),i(e,"class","summary-chip svelte-18p9dg")},m(d,c){C(d,e,c),r(e,n),r(e,o),r(e,a)},p(d,c){c[0]&8&&t!==(t=d[3].summary.changedCases+"")&&U(n,t),c[0]&8&&s!==(s=_t(d[3].summary.changedCases,m("today.plural.case_one"),m("today.plural.case_few"),m("today.plural.case_many"))+"")&&U(a,s)},d(d){d&&w(e)}}}function ni(l){let e,t=l[3].summary.notes+"",n,o,s=_t(l[3].summary.notes,m("today.plural.note_one"),m("today.plural.note_few"),m("today.plural.note_many"))+"",a;return{c(){e=u("span"),n=F(t),o=v(),a=F(s),i(e,"class","summary-chip svelte-18p9dg")},m(d,c){C(d,e,c),r(e,n),r(e,o),r(e,a)},p(d,c){c[0]&8&&t!==(t=d[3].summary.notes+"")&&U(n,t),c[0]&8&&s!==(s=_t(d[3].summary.notes,m("today.plural.note_one"),m("today.plural.note_few"),m("today.plural.note_many"))+"")&&U(a,s)},d(d){d&&w(e)}}}function ii(l){let e,t=l[3].summary.files+"",n,o,s=_t(l[3].summary.files,m("today.plural.file_one"),m("today.plural.file_few"),m("today.plural.file_many"))+"",a;return{c(){e=u("span"),n=F(t),o=v(),a=F(s),i(e,"class","summary-chip svelte-18p9dg")},m(d,c){C(d,e,c),r(e,n),r(e,o),r(e,a)},p(d,c){c[0]&8&&t!==(t=d[3].summary.files+"")&&U(n,t),c[0]&8&&s!==(s=_t(d[3].summary.files,m("today.plural.file_one"),m("today.plural.file_few"),m("today.plural.file_many"))+"")&&U(a,s)},d(d){d&&w(e)}}}function oi(l){let e,t,n,o=re(l[34]),s=[];for(let a=0;a0&&si(l);return{c(){e=u("div"),t=u("div"),n=u("div"),o=u("button"),a=F(s),d=v(),c=u("span"),h=F(f),_=v(),g=u("span"),b=F(k),y=v(),j=u("div"),T=u("input"),E=v(),N=u("span"),N.textContent=`${m("suggest.minutes")}`,M=v(),A=u("button"),A.textContent=`${m("suggest.apply")}`,S=v(),G&&G.c(),O=v(),i(o,"class","suggestion-node link-btn svelte-18p9dg"),i(c,"class","suggestion-summary svelte-18p9dg"),i(g,"class","suggestion-confidence svelte-18p9dg"),ve(g,"low",l[323].confidence==="low"),ve(g,"medium",l[323].confidence==="medium"),ve(g,"high",l[323].confidence==="high"),i(n,"class","suggestion-info svelte-18p9dg"),i(T,"type","number"),i(T,"class","suggestion-min-input svelte-18p9dg"),T.value=D=l[323].suggestedMin,i(T,"min","1"),i(T,"max","480"),i(N,"class","suggestion-min-label svelte-18p9dg"),i(A,"class","btn btn-sm btn-primary svelte-18p9dg"),i(j,"class","suggestion-actions svelte-18p9dg"),i(t,"class","suggestion-main svelte-18p9dg"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","suggestion-card svelte-18p9dg"),ve(e,"expanded",l[323]._expanded)},m(H,B){C(H,e,B),r(e,t),r(t,n),r(n,o),r(o,a),r(n,d),r(n,c),r(c,h),r(n,_),r(n,g),r(g,b),r(t,y),r(t,j),r(j,T),r(j,E),r(j,N),r(j,M),r(j,A),r(e,S),G&&G.m(e,null),r(e,O),z||(R=[I(o,"click",Je(L)),I(T,"change",Je(K)),I(A,"click",Je(q)),I(t,"click",W),I(t,"keydown",Q)],z=!0)},p(H,B){l=H,B[1]&8&&s!==(s=l[323].nodeTitle+"")&&U(a,s),B[1]&8&&f!==(f=l[323].summary+"")&&U(h,f),B[1]&8&&k!==(k=m("suggest.confidence."+l[323].confidence)+"")&&U(b,k),B[1]&8&&ve(g,"low",l[323].confidence==="low"),B[1]&8&&ve(g,"medium",l[323].confidence==="medium"),B[1]&8&&ve(g,"high",l[323].confidence==="high"),B[1]&8&&D!==(D=l[323].suggestedMin)&&T.value!==D&&(T.value=D),l[323]._expanded&&l[323].events&&l[323].events.length>0?G?G.p(l,B):(G=si(l),G.c(),G.m(e,O)):G&&(G.d(1),G=null),B[1]&8&&ve(e,"expanded",l[323]._expanded)},d(H){H&&w(e),G&&G.d(),z=!1,ge(R)}}}function wd(l){let e,t,n,o;return{c(){e=u("div"),t=u("p"),t.textContent=`${m("today.empty")}`,n=v(),o=u("p"),o.textContent=`${m("today.emptyHint")}`,i(t,"class","svelte-18p9dg"),i(o,"class","hint svelte-18p9dg"),i(e,"class","today-empty svelte-18p9dg")},m(s,a){C(s,e,a),r(e,t),r(e,n),r(e,o)},p:ae,d(s){s&&w(e)}}}function Cd(l){let e,t,n=re(l[3].groups),o=[];for(let a=0;a0&&mi(l);return{c(){for(let a=0;a0?s?s.p(a,d):(s=mi(a),s.c(),s.m(t.parentNode,t)):s&&(s.d(1),s=null)},d(a){a&&(w(e),w(t)),Re(o,a),s&&s.d(a)}}}function di(l){let e,t=l[352].events.length+"",n,o,s=_t(l[352].events.length,m("today.plural.event_one"),m("today.plural.event_few"),m("today.plural.event_many"))+"",a;return{c(){e=u("span"),n=F(t),o=v(),a=F(s),i(e,"class","today-case-count svelte-18p9dg")},m(d,c){C(d,e,c),r(e,n),r(e,o),r(e,a)},p(d,c){c[0]&8&&t!==(t=d[352].events.length+"")&&U(n,t),c[0]&8&&s!==(s=_t(d[352].events.length,m("today.plural.event_one"),m("today.plural.event_few"),m("today.plural.event_many"))+"")&&U(a,s)},d(d){d&&w(e)}}}function jd(l){let e;return{c(){e=u("div"),e.textContent=`${m("today.changedCases")}`,i(e,"class","today-events-empty svelte-18p9dg")},m(t,n){C(t,e,n)},p:ae,d(t){t&&w(e)}}}function Td(l){let e,t=re(l[352].events),n=[];for(let o=0;o0?Td:jd}let A=M(l),S=A(l);return{c(){e=u("div"),t=u("div"),n=u("span"),s=F(o),a=v(),d=u("span"),f=F(c),h=v(),D&&D.c(),_=v(),g=u("span"),b=F(k),y=v(),S.c(),i(n,"class","today-case-title svelte-18p9dg"),i(d,"class","today-case-type svelte-18p9dg"),i(g,"class","today-case-time svelte-18p9dg"),i(t,"class","today-case-header svelte-18p9dg"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","today-case svelte-18p9dg")},m(O,z){C(O,e,z),r(e,t),r(t,n),r(n,s),r(t,a),r(t,d),r(d,f),r(t,h),D&&D.m(t,null),r(t,_),r(t,g),r(g,b),r(e,y),S.m(e,null),j||(T=[I(t,"click",E),I(t,"keydown",N)],j=!0)},p(O,z){l=O,z[0]&8&&o!==(o=l[352].nodeTitle+"")&&U(s,o),z[0]&8&&c!==(c=l[143](l[352].nodeKind)+"")&&U(f,c),l[352].events?D?D.p(l,z):(D=di(l),D.c(),D.m(t,_)):D&&(D.d(1),D=null),z[0]&8&&k!==(k=Xe(l[352].lastActivityAt)+"")&&U(b,k),A===(A=M(l))&&S?S.p(l,z):(S.d(1),S=A(l),S&&(S.c(),S.m(e,null)))},d(O){O&&w(e),D&&D.d(),S.d(),j=!1,ge(T)}}}function mi(l){let e,t,n,o=re(l[3].events),s=[];for(let a=0;a0&&ki(l);return{c(){e=u("div"),t=u("div"),n=u("div"),o=u("button"),a=F(s),d=v(),c=u("span"),h=F(f),_=v(),g=u("span"),b=F(k),y=v(),j=u("div"),T=u("input"),E=v(),N=u("span"),N.textContent=`${m("suggest.minutes")}`,M=v(),A=u("button"),A.textContent=`${m("suggest.apply")}`,S=v(),G&&G.c(),O=v(),i(o,"class","suggestion-node link-btn svelte-18p9dg"),i(c,"class","suggestion-summary svelte-18p9dg"),i(g,"class","suggestion-confidence svelte-18p9dg"),ve(g,"low",l[323].confidence==="low"),ve(g,"medium",l[323].confidence==="medium"),ve(g,"high",l[323].confidence==="high"),i(n,"class","suggestion-info svelte-18p9dg"),i(T,"type","number"),i(T,"class","suggestion-min-input svelte-18p9dg"),T.value=D=l[323].suggestedMin,i(T,"min","1"),i(T,"max","480"),i(N,"class","suggestion-min-label svelte-18p9dg"),i(A,"class","btn btn-sm btn-primary svelte-18p9dg"),i(j,"class","suggestion-actions svelte-18p9dg"),i(t,"class","suggestion-main svelte-18p9dg"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","suggestion-card svelte-18p9dg"),ve(e,"expanded",l[323]._expanded)},m(H,B){C(H,e,B),r(e,t),r(t,n),r(n,o),r(o,a),r(n,d),r(n,c),r(c,h),r(n,_),r(n,g),r(g,b),r(t,y),r(t,j),r(j,T),r(j,E),r(j,N),r(j,M),r(j,A),r(e,S),G&&G.m(e,null),r(e,O),z||(R=[I(o,"click",Je(L)),I(T,"change",Je(K)),I(A,"click",Je(q)),I(t,"click",W),I(t,"keydown",Q)],z=!0)},p(H,B){l=H,B[1]&8&&s!==(s=l[323].nodeTitle+"")&&U(a,s),B[1]&8&&f!==(f=l[323].summary+"")&&U(h,f),B[1]&8&&k!==(k=m("suggest.confidence."+l[323].confidence)+"")&&U(b,k),B[1]&8&&ve(g,"low",l[323].confidence==="low"),B[1]&8&&ve(g,"medium",l[323].confidence==="medium"),B[1]&8&&ve(g,"high",l[323].confidence==="high"),B[1]&8&&D!==(D=l[323].suggestedMin)&&T.value!==D&&(T.value=D),l[323]._expanded&&l[323].events&&l[323].events.length>0?G?G.p(l,B):(G=ki(l),G.c(),G.m(e,O)):G&&(G.d(1),G=null),B[1]&8&&ve(e,"expanded",l[323]._expanded)},d(H){H&&w(e),G&&G.d(),z=!1,ge(R)}}}function ji(l){let e,t,n=m("journal.total")+"",o,s,a=Math.floor(l[6].totalMinutes/60)+"",d,c,f=l[6].totalMinutes%60+"",h,_,g=l[6].totalEntries+"",k,b,y=m("worklog.min")+"",j,T,D,E,N=l[6].byDay&&l[6].byDay.length>0&&Ti(l),M=l[6].byNode&&l[6].byNode.length>0&&Ni(l);return{c(){e=u("div"),t=u("div"),o=F(n),s=F(": "),d=F(a),c=F("ч "),h=F(f),_=F("м ("),k=F(g),b=v(),j=F(y),T=F(")"),D=v(),N&&N.c(),E=v(),M&&M.c(),i(t,"class","summary-total svelte-18p9dg"),i(e,"class","journal-summary svelte-18p9dg")},m(A,S){C(A,e,S),r(e,t),r(t,o),r(t,s),r(t,d),r(t,c),r(t,h),r(t,_),r(t,k),r(t,b),r(t,j),r(t,T),r(e,D),N&&N.m(e,null),r(e,E),M&&M.m(e,null)},p(A,S){S[0]&64&&a!==(a=Math.floor(A[6].totalMinutes/60)+"")&&U(d,a),S[0]&64&&f!==(f=A[6].totalMinutes%60+"")&&U(h,f),S[0]&64&&g!==(g=A[6].totalEntries+"")&&U(k,g),A[6].byDay&&A[6].byDay.length>0?N?N.p(A,S):(N=Ti(A),N.c(),N.m(e,E)):N&&(N.d(1),N=null),A[6].byNode&&A[6].byNode.length>0?M?M.p(A,S):(M=Ni(A),M.c(),M.m(e,null)):M&&(M.d(1),M=null)},d(A){A&&w(e),N&&N.d(),M&&M.d()}}}function Ti(l){let e,t,n,o=re(l[6].byDay),s=[];for(let a=0;a0,L,K,q,W=R&&Bi(l);function Q(B,X){return B[27].length===0?Ud:Wd}let G=Q(l),H=G(l);return{c(){e=u("div"),t=u("div"),n=u("input"),o=v(),s=u("input"),a=v(),d=u("input"),c=v(),f=u("textarea"),h=v(),_=u("label"),g=u("input"),k=v(),b=u("span"),b.textContent=`${m("journal.billableYes")}`,y=v(),j=u("label"),T=u("input"),D=v(),E=u("span"),E.textContent=`${m("journal.approxEstimated")}`,N=v(),M=u("button"),S=F(A),z=v(),W&&W.c(),L=v(),H.c(),i(n,"type","text"),i(n,"placeholder",m("worklog.whatDone")),i(n,"class","svelte-18p9dg"),i(s,"type","number"),i(s,"placeholder",m("worklog.minutes")),i(s,"min","1"),i(s,"class","svelte-18p9dg"),i(d,"type","date"),i(d,"class","svelte-18p9dg"),i(f,"placeholder",m("worklog.details")),i(f,"class","svelte-18p9dg"),i(g,"type","checkbox"),i(g,"class","svelte-18p9dg"),i(b,"class","svelte-18p9dg"),i(_,"class","checkbox-label-inline svelte-18p9dg"),i(T,"type","checkbox"),i(T,"class","svelte-18p9dg"),i(E,"class","svelte-18p9dg"),i(j,"class","checkbox-label-inline svelte-18p9dg"),i(M,"class","btn btn-primary svelte-18p9dg"),M.disabled=O=!l[29].trim()||!l[28],i(t,"class","worklog-form svelte-18p9dg"),i(e,"class","worklog-tab svelte-18p9dg")},m(B,X){C(B,e,X),r(e,t),r(t,n),he(n,l[29]),r(t,o),r(t,s),he(s,l[28]),r(t,a),r(t,d),he(d,l[30]),r(t,c),r(t,f),he(f,l[31]),r(t,h),r(t,_),r(_,g),g.checked=l[32],r(_,k),r(_,b),r(t,y),r(t,j),r(j,T),T.checked=l[33],r(j,D),r(j,E),r(t,N),r(t,M),r(M,S),r(e,z),W&&W.m(e,null),r(e,L),H.m(e,null),K||(q=[I(n,"input",l[189]),I(s,"input",l[190]),I(d,"input",l[191]),I(f,"input",l[192]),I(g,"change",l[193]),I(T,"change",l[194]),I(M,"click",l[128])],K=!0)},p(B,X){X[0]&536870912&&n.value!==B[29]&&he(n,B[29]),X[0]&268435456&&$t(s.value)!==B[28]&&he(s,B[28]),X[0]&1073741824&&he(d,B[30]),X[1]&1&&he(f,B[31]),X[1]&2&&(g.checked=B[32]),X[1]&4&&(T.checked=B[33]),X[0]&805306368&&O!==(O=!B[29].trim()||!B[28])&&(M.disabled=O),X[0]&4194304|X[1]&8&&(R=B[22]&&B[34].filter(B[157]).length>0),R?W?W.p(B,X):(W=Bi(B),W.c(),W.m(e,L)):W&&(W.d(1),W=null),G===(G=Q(B))&&H?H.p(B,X):(H.d(1),H=G(B),H&&(H.c(),H.m(e,null)))},i:ae,o:ae,d(B){B&&w(e),W&&W.d(),H.d(),K=!1,ge(q)}}}function Od(l){let e,t,n,o,s,a;function d(h,_){return h[26].length===0?Gd:Kd}let c=d(l),f=c(l);return{c(){e=u("div"),t=u("div"),n=u("button"),n.textContent=`${m("action.addAction")}`,o=v(),f.c(),i(n,"class","btn btn-primary svelte-18p9dg"),i(t,"class","tab-toolbar svelte-18p9dg"),i(e,"class","actions-tab svelte-18p9dg")},m(h,_){C(h,e,_),r(e,t),r(t,n),r(e,o),f.m(e,null),s||(a=I(n,"click",l[144]),s=!0)},p(h,_){c===(c=d(h))&&f?f.p(h,_):(f.d(1),f=c(h),f&&(f.c(),f.m(e,null)))},i:ae,o:ae,d(h){h&&w(e),f.d(),s=!1,a()}}}function Rd(l){let e,t,n,o=m("file.addFile")+"",s,a,d,c=m("file.addFolder")+"",f,h,_,g,k,b,y,j,T,D,E,N,M,A=l[60].items.length>0&&Zi(l);const S=[Jd,qd],O=[];function z(K,q){return K[52]?0:1}b=z(l),y=O[b]=S[b](l);let R=l[48]&&!l[50]&&xi(),L=l[56]&&$i(l);return{c(){e=u("div"),t=u("div"),n=u("button"),s=F(o),a=v(),d=u("button"),f=F(c),h=v(),_=u("button"),_.textContent=`${m("file.newFile")}`,g=v(),A&&A.c(),k=v(),y.c(),j=v(),R&&R.c(),T=v(),L&&L.c(),D=st(),i(n,"class","btn btn-primary svelte-18p9dg"),n.disabled=l[48],i(d,"class","btn svelte-18p9dg"),d.disabled=l[48],i(_,"class","btn svelte-18p9dg"),i(t,"class","tab-toolbar svelte-18p9dg"),i(e,"class","files-tab svelte-18p9dg")},m(K,q){C(K,e,q),r(e,t),r(t,n),r(n,s),r(t,a),r(t,d),r(d,f),r(t,h),r(t,_),r(t,g),A&&A.m(t,null),r(e,k),O[b].m(e,null),r(e,j),R&&R.m(e,null),C(K,T,q),L&&L.m(K,q),C(K,D,q),E=!0,N||(M=[I(n,"click",l[137]),I(d,"click",l[138]),I(_,"click",l[89])],N=!0)},p(K,q){(!E||q[1]&131072)&&(n.disabled=K[48]),(!E||q[1]&131072)&&(d.disabled=K[48]),K[60].items.length>0?A?A.p(K,q):(A=Zi(K),A.c(),A.m(t,null)):A&&(A.d(1),A=null);let W=b;b=z(K),b===W?O[b].p(K,q):($e(),_e(O[W],1,1,()=>{O[W]=null}),et(),y=O[b],y?y.p(K,q):(y=O[b]=S[b](K),y.c()),de(y,1),y.m(e,j)),K[48]&&!K[50]?R||(R=xi(),R.c(),R.m(e,null)):R&&(R.d(1),R=null),K[56]?L?(L.p(K,q),q[1]&33554432&&de(L,1)):(L=$i(K),L.c(),de(L,1),L.m(D.parentNode,D)):L&&($e(),_e(L,1,1,()=>{L=null}),et())},i(K){E||(de(y),de(L),E=!0)},o(K){_e(y),_e(L),E=!1},d(K){K&&(w(e),w(T),w(D)),A&&A.d(),O[b].d(),R&&R.d(),L&&L.d(K),N=!1,ge(M)}}}function zd(l){let e,t,n,o,s,a,d,c=l[41]&&eo(l);function f(g,k){return g[24].length===0&&!g[41]?$d:xd}let h=f(l),_=h(l);return{c(){e=u("div"),t=u("div"),n=u("button"),n.textContent=`${m("note.add")}`,o=v(),c&&c.c(),s=v(),_.c(),i(n,"class","btn btn-primary svelte-18p9dg"),i(t,"class","tab-toolbar svelte-18p9dg"),i(e,"class","notes-tab svelte-18p9dg")},m(g,k){C(g,e,k),r(e,t),r(t,n),r(e,o),c&&c.m(e,null),r(e,s),_.m(e,null),a||(d=I(n,"click",l[121]),a=!0)},p(g,k){g[41]?c?c.p(g,k):(c=eo(g),c.c(),c.m(e,s)):c&&(c.d(1),c=null),h===(h=f(g))&&_?_.p(g,k):(_.d(1),_=h(g),_&&(_.c(),_.m(e,null)))},i:ae,o:ae,d(g){g&&w(e),c&&c.d(),_.d(),a=!1,d()}}}function Bd(l){let e,t,n=l[22].title+"",o,s,a,d,c,f,h=l[143](l[22].type)+"",_,g,k,b,y,j=(l[22].section||"—")+"",T,D,E,N,M,A=ut(l[22].createdAt)+"",S,O,z,R,L,K,q,W,Q=m("overview.newNote")+"",G,H,B,X,V,le,Ce=m("overview.addFile")+"",ie,x,te,se,ke,Fe,ze=m("overview.addAction")+"",Pe,J,$,ue,pe,Me,Ne,Ue=m("overview.logTime")+"",lt,Ke,Te,Ae,Be,He=l[24].length>0&&lo(l),Ee=l[27].length>0&&io(l);return{c(){e=u("div"),t=u("h2"),o=F(n),s=v(),a=u("div"),d=u("div"),c=u("span"),c.textContent=`${m("overview.type")}`,f=u("span"),_=F(h),g=v(),k=u("div"),b=u("span"),b.textContent=`${m("overview.section")}`,y=u("span"),T=F(j),D=v(),E=u("div"),N=u("span"),N.textContent=`${m("overview.created")}`,M=u("span"),S=F(A),O=v(),z=u("div"),R=u("button"),L=Y("svg"),K=Y("path"),q=Y("path"),W=v(),G=F(Q),H=v(),B=u("button"),X=Y("svg"),V=Y("path"),le=v(),ie=F(Ce),x=v(),te=u("button"),se=Y("svg"),ke=Y("polygon"),Fe=v(),Pe=F(ze),J=v(),$=u("button"),ue=Y("svg"),pe=Y("circle"),Me=Y("polyline"),Ne=v(),lt=F(Ue),Ke=v(),He&&He.c(),Te=v(),Ee&&Ee.c(),i(t,"class","svelte-18p9dg"),i(c,"class","meta-label svelte-18p9dg"),i(f,"class","svelte-18p9dg"),i(d,"class","meta-item svelte-18p9dg"),i(b,"class","meta-label svelte-18p9dg"),i(y,"class","svelte-18p9dg"),i(k,"class","meta-item svelte-18p9dg"),i(N,"class","meta-label svelte-18p9dg"),i(M,"class","svelte-18p9dg"),i(E,"class","meta-item svelte-18p9dg"),i(a,"class","meta-grid svelte-18p9dg"),i(K,"d","M12 20h9"),i(K,"class","svelte-18p9dg"),i(q,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),i(q,"class","svelte-18p9dg"),i(L,"width","16"),i(L,"height","16"),i(L,"viewBox","0 0 24 24"),i(L,"fill","none"),i(L,"stroke","currentColor"),i(L,"stroke-width","2"),i(L,"stroke-linecap","round"),i(L,"stroke-linejoin","round"),i(L,"class","svelte-18p9dg"),i(R,"class","qa-btn svelte-18p9dg"),i(V,"d","M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"),i(V,"class","svelte-18p9dg"),i(X,"width","16"),i(X,"height","16"),i(X,"viewBox","0 0 24 24"),i(X,"fill","none"),i(X,"stroke","currentColor"),i(X,"stroke-width","2"),i(X,"stroke-linecap","round"),i(X,"stroke-linejoin","round"),i(X,"class","svelte-18p9dg"),i(B,"class","qa-btn svelte-18p9dg"),i(ke,"points","13 2 3 14 12 14 11 22 21 10 12 10 13 2"),i(ke,"class","svelte-18p9dg"),i(se,"width","16"),i(se,"height","16"),i(se,"viewBox","0 0 24 24"),i(se,"fill","none"),i(se,"stroke","currentColor"),i(se,"stroke-width","2"),i(se,"stroke-linecap","round"),i(se,"stroke-linejoin","round"),i(se,"class","svelte-18p9dg"),i(te,"class","qa-btn svelte-18p9dg"),i(pe,"cx","12"),i(pe,"cy","12"),i(pe,"r","10"),i(pe,"class","svelte-18p9dg"),i(Me,"points","12 6 12 12 16 14"),i(Me,"class","svelte-18p9dg"),i(ue,"width","16"),i(ue,"height","16"),i(ue,"viewBox","0 0 24 24"),i(ue,"fill","none"),i(ue,"stroke","currentColor"),i(ue,"stroke-width","2"),i(ue,"stroke-linecap","round"),i(ue,"stroke-linejoin","round"),i(ue,"class","svelte-18p9dg"),i($,"class","qa-btn svelte-18p9dg"),i(z,"class","quick-actions svelte-18p9dg"),i(e,"class","overview svelte-18p9dg")},m(Le,fe){C(Le,e,fe),r(e,t),r(t,o),r(e,s),r(e,a),r(a,d),r(d,c),r(d,f),r(f,_),r(a,g),r(a,k),r(k,b),r(k,y),r(y,T),r(a,D),r(a,E),r(E,N),r(E,M),r(M,S),r(e,O),r(e,z),r(z,R),r(R,L),r(L,K),r(L,q),r(R,W),r(R,G),r(z,H),r(z,B),r(B,X),r(X,V),r(B,le),r(B,ie),r(z,x),r(z,te),r(te,se),r(se,ke),r(te,Fe),r(te,Pe),r(z,J),r(z,$),r($,ue),r(ue,pe),r(ue,Me),r($,Ne),r($,lt),r(e,Ke),He&&He.m(e,null),r(e,Te),Ee&&Ee.m(e,null),Ae||(Be=[I(R,"click",l[164]),I(B,"click",l[165]),I(te,"click",l[144]),I($,"click",l[166])],Ae=!0)},p(Le,fe){fe[0]&4194304&&n!==(n=Le[22].title+"")&&U(o,n),fe[0]&4194304&&h!==(h=Le[143](Le[22].type)+"")&&U(_,h),fe[0]&4194304&&j!==(j=(Le[22].section||"—")+"")&&U(T,j),fe[0]&4194304&&A!==(A=ut(Le[22].createdAt)+"")&&U(S,A),Le[24].length>0?He?He.p(Le,fe):(He=lo(Le),He.c(),He.m(e,Te)):He&&(He.d(1),He=null),Le[27].length>0?Ee?Ee.p(Le,fe):(Ee=io(Le),Ee.c(),Ee.m(e,null)):Ee&&(Ee.d(1),Ee=null)},i:ae,o:ae,d(Le){Le&&w(e),He&&He.d(),Ee&&Ee.d(),Ae=!1,ge(Be)}}}function Hd(l){let e,t=re(l[18]),n=[];for(let o=0;o0&&Hi(l);return{c(){e=u("div"),t=u("div"),n=u("div"),o=u("span"),a=F(s),d=v(),c=u("span"),h=F(f),_=v(),k=F(g),b=F(" · "),j=F(y),T=v(),D=u("div"),E=u("button"),E.textContent=`${m("worklog.apply")}`,N=v(),L&&L.c(),M=v(),i(o,"class","suggestion-summary svelte-18p9dg"),i(c,"class","suggestion-meta svelte-18p9dg"),i(n,"class","suggestion-info svelte-18p9dg"),i(E,"class","btn btn-sm btn-primary svelte-18p9dg"),i(D,"class","suggestion-actions svelte-18p9dg"),i(t,"class","suggestion-main svelte-18p9dg"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","suggestion-card svelte-18p9dg"),ve(e,"expanded",l[323]._expanded)},m(K,q){C(K,e,q),r(e,t),r(t,n),r(n,o),r(o,a),r(n,d),r(n,c),r(c,h),r(c,_),r(c,k),r(c,b),r(c,j),r(t,T),r(t,D),r(D,E),r(e,N),L&&L.m(e,null),r(e,M),A||(S=[I(E,"click",Je(O)),I(t,"click",z),I(t,"keydown",R)],A=!0)},p(K,q){l=K,q[0]&4194304|q[1]&8&&s!==(s=l[323].summary+"")&&U(a,s),q[0]&4194304|q[1]&8&&f!==(f=l[323].suggestedMin+"")&&U(h,f),q[0]&4194304|q[1]&8&&y!==(y=m("suggest.confidence."+l[323].confidence)+"")&&U(j,y),l[323]._expanded&&l[323].events&&l[323].events.length>0?L?L.p(l,q):(L=Hi(l),L.c(),L.m(e,M)):L&&(L.d(1),L=null),q[0]&4194304|q[1]&8&&ve(e,"expanded",l[323]._expanded)},d(K){K&&w(e),L&&L.d(),A=!1,ge(S)}}}function Wd(l){let e,t=re(l[27]),n=[];for(let o=0;o',E=v(),i(n,"class","action-title svelte-18p9dg"),i(d,"class","action-type svelte-18p9dg"),i(_,"class","action-data svelte-18p9dg"),i(t,"class","action-info svelte-18p9dg"),i(j,"class","btn btn-sm svelte-18p9dg"),i(D,"class","btn btn-sm btn-danger svelte-18p9dg"),i(y,"class","action-btns svelte-18p9dg"),i(e,"class","action-card svelte-18p9dg")},m(O,z){C(O,e,z),r(e,t),r(t,n),r(n,s),r(t,a),r(t,d),r(d,f),r(t,h),r(t,_),r(_,k),r(e,b),r(e,y),r(y,j),r(y,T),r(y,D),r(e,E),N||(M=[I(j,"click",A),I(D,"click",S)],N=!0)},p(O,z){l=O,z[0]&67108864&&o!==(o=l[318].title+"")&&U(s,o),z[0]&67108864&&c!==(c=l[148](l[318].type)+"")&&U(f,c),z[0]&67108864&&g!==(g=l[318].data+"")&&U(k,g)},d(O){O&&w(e),N=!1,ge(M)}}}function Zi(l){let e,t=m("common.paste")+"",n,o,s=l[60].items.length+"",a,d,c;return{c(){e=u("button"),n=F(t),o=v(),a=F(s),i(e,"class","btn svelte-18p9dg")},m(f,h){C(f,e,h),r(e,n),r(e,o),r(e,a),d||(c=I(e,"click",l[94]),d=!0)},p(f,h){h[1]&536870912&&s!==(s=f[60].items.length+"")&&U(a,s)},d(f){f&&w(e),d=!1,c()}}}function qd(l){let e,t,n,o,s,a,d;const c=[Xd,Yd],f=[];function h(b,y){return b[54].length>0?0:1}e=h(l),t=f[e]=c[e](l);const _=[Qd,Zd],g=[];function k(b,y){return b[55].length===0?0:1}return o=k(l),s=g[o]=_[o](l),{c(){t.c(),n=v(),s.c(),a=st()},m(b,y){f[e].m(b,y),C(b,n,y),g[o].m(b,y),C(b,a,y),d=!0},p(b,y){let j=e;e=h(b),e===j?f[e].p(b,y):($e(),_e(f[j],1,1,()=>{f[j]=null}),et(),t=f[e],t?t.p(b,y):(t=f[e]=c[e](b),t.c()),de(t,1),t.m(n.parentNode,n));let T=o;o=k(b),o===T?g[o].p(b,y):($e(),_e(g[T],1,1,()=>{g[T]=null}),et(),s=g[o],s?s.p(b,y):(s=g[o]=_[o](b),s.c()),de(s,1),s.m(a.parentNode,a))},i(b){d||(de(t),de(s),d=!0)},o(b){_e(t),_e(s),d=!1},d(b){b&&(w(n),w(a)),f[e].d(b),g[o].d(b)}}}function Jd(l){let e,t;return{c(){e=u("div"),t=u("p"),t.textContent=`${m("common.loading")}`,i(t,"class","svelte-18p9dg"),i(e,"class","empty-state svelte-18p9dg")},m(n,o){C(n,e,o),r(e,t)},p:ae,i:ae,o:ae,d(n){n&&w(e)}}}function Yd(l){let e,t;return e=new Uo({props:{crumbs:[{name:m("file.root")}]}}),{c(){at(e.$$.fragment)},m(n,o){nt(e,n,o),t=!0},p:ae,i(n){t||(de(e.$$.fragment,n),t=!0)},o(n){_e(e.$$.fragment,n),t=!1},d(n){it(e,n)}}}function Xd(l){let e,t,n,o,s,a,d,c=m("common.back")+"",f,h,_,g;return e=new Uo({props:{crumbs:[{name:m("file.root")},...l[54]]}}),e.$on("navigate",l[173]),{c(){at(e.$$.fragment),t=v(),n=u("button"),o=Y("svg"),s=Y("line"),a=Y("polyline"),d=v(),f=F(c),i(s,"x1","19"),i(s,"y1","12"),i(s,"x2","5"),i(s,"y2","12"),i(s,"class","svelte-18p9dg"),i(a,"points","12 19 5 12 12 5"),i(a,"class","svelte-18p9dg"),i(o,"width","14"),i(o,"height","14"),i(o,"viewBox","0 0 24 24"),i(o,"fill","none"),i(o,"stroke","currentColor"),i(o,"stroke-width","2"),i(o,"stroke-linecap","round"),i(o,"stroke-linejoin","round"),i(o,"class","svelte-18p9dg"),i(n,"class","btn btn-sm back-btn svelte-18p9dg")},m(k,b){nt(e,k,b),C(k,t,b),C(k,n,b),r(n,o),r(o,s),r(o,a),r(n,d),r(n,f),h=!0,_||(g=I(n,"click",l[85]),_=!0)},p(k,b){const y={};b[1]&8388608&&(y.crumbs=[{name:m("file.root")},...k[54]]),e.$set(y)},i(k){h||(de(e.$$.fragment,k),h=!0)},o(k){_e(e.$$.fragment,k),h=!1},d(k){k&&(w(t),w(n)),it(e,k),_=!1,g()}}}function Zd(l){let e,t=[],n=new Map,o,s=re(l[55]);const a=d=>d[315].id;for(let d=0;d0?m("file.noFiles"):m("file.noFilesCase"))+"",a,d,c,f,h,_,g,k,b,y;return{c(){e=u("div"),t=u("div"),t.innerHTML='',n=v(),o=u("p"),a=F(s),d=v(),c=u("p"),c.textContent=`${m("file.hint")}`,f=v(),h=u("div"),_=u("button"),_.textContent=`${m("file.addFileSimple")}`,g=v(),k=u("button"),k.textContent=`${m("file.addFolderSimple")}`,i(t,"class","empty-icon svelte-18p9dg"),i(o,"class","svelte-18p9dg"),i(c,"class","hint svelte-18p9dg"),i(_,"class","btn btn-primary svelte-18p9dg"),i(k,"class","btn svelte-18p9dg"),i(h,"class","empty-actions svelte-18p9dg"),i(e,"class","empty-state svelte-18p9dg")},m(j,T){C(j,e,T),r(e,t),r(e,n),r(e,o),r(o,a),r(e,d),r(e,c),r(e,f),r(e,h),r(h,_),r(h,g),r(h,k),b||(y=[I(_,"click",l[137]),I(k,"click",l[138])],b=!0)},p(j,T){T[1]&8388608&&s!==(s=(j[54].length>0?m("file.noFiles"):m("file.noFilesCase"))+"")&&U(a,s)},i:ae,o:ae,d(j){j&&w(e),b=!1,ge(y)}}}function Qi(l,e){let t,n,o;return n=new jc({props:{item:e[315],selected:e[61].includes(e[315].id),onDragStart:e[98],onDragOver:e[99],onDrop:e[100]}}),n.$on("navigate",e[174]),n.$on("preview",e[175]),n.$on("openExternal",e[176]),n.$on("showInFolder",e[177]),n.$on("delete",e[178]),n.$on("rename",e[179]),n.$on("duplicate",e[180]),n.$on("cut",e[181]),n.$on("copy",e[182]),n.$on("selectOne",e[183]),n.$on("toggleSelect",e[184]),n.$on("rangeSelect",e[185]),{key:l,first:null,c(){t=st(),at(n.$$.fragment),this.first=t},m(s,a){C(s,t,a),nt(n,s,a),o=!0},p(s,a){e=s;const d={};a[1]&16777216&&(d.item=e[315]),a[1]&1090519040&&(d.selected=e[61].includes(e[315].id)),n.$set(d)},i(s){o||(de(n.$$.fragment,s),o=!0)},o(s){_e(n.$$.fragment,s),o=!1},d(s){s&&w(t),it(n,s)}}}function xi(l){let e,t;return{c(){e=u("div"),t=u("p"),t.textContent=`${m("file.scanning")}`,i(t,"class","svelte-18p9dg"),i(e,"class","empty-state svelte-18p9dg")},m(n,o){C(n,e,o),r(e,t)},d(n){n&&w(e)}}}function $i(l){let e,t;return e=new Hc({props:{item:l[56],content:l[57],loading:l[58],error:l[59]}}),e.$on("close",l[88]),e.$on("openExternal",l[186]),{c(){at(e.$$.fragment)},m(n,o){nt(e,n,o),t=!0},p(n,o){const s={};o[1]&33554432&&(s.item=n[56]),o[1]&67108864&&(s.content=n[57]),o[1]&134217728&&(s.loading=n[58]),o[1]&268435456&&(s.error=n[59]),e.$set(s)},i(n){t||(de(e.$$.fragment,n),t=!0)},o(n){_e(e.$$.fragment,n),t=!1},d(n){it(e,n)}}}function eo(l){let e,t,n,o,s,a,d,c,f;return{c(){e=u("div"),t=u("input"),n=v(),o=u("div"),s=u("button"),s.textContent=`${m("common.create")}`,a=v(),d=u("button"),d.textContent=`${m("common.cancel")}`,i(t,"type","text"),i(t,"placeholder",m("note.title")),i(t,"class","svelte-18p9dg"),i(s,"class","btn btn-primary svelte-18p9dg"),i(d,"class","btn svelte-18p9dg"),i(o,"class","form-actions svelte-18p9dg"),i(e,"class","create-form svelte-18p9dg")},m(h,_){C(h,e,_),r(e,t),he(t,l[42]),r(e,n),r(e,o),r(o,s),r(o,a),r(o,d),c||(f=[I(t,"input",l[169]),I(t,"keydown",l[170]),I(s,"click",l[123]),I(d,"click",l[122])],c=!0)},p(h,_){_[1]&2048&&t.value!==h[42]&&he(t,h[42])},d(h){h&&w(e),c=!1,ge(f)}}}function xd(l){let e,t=re(l[24]),n=[];for(let o=0;o_e(le[ie],1,1,()=>{le[ie]=null});return{c(){e=u("div"),t=u("div"),n=u("h3"),n.textContent=`${m("nav.createNode")}`,o=v(),X&&X.c(),s=v(),a=u("div"),d=u("span"),d.textContent=`${m("template.select")}`,c=v(),f=u("div"),h=u("button"),at(_.$$.fragment),g=v(),k=u("div"),b=u("span"),b.textContent=`${m("template.optionNone")}`,y=v(),j=u("span"),j.textContent=`${m("template.none.desc")}`,T=v();for(let ie=0;ie{b=null}),et()),j[40].node&&j[40].node.parent_id?y?y.p(j,T):(y=mo(j),y.c(),y.m(t,s)):y&&(y.d(1),y=null),(!_||T[1]&512)&&qe(t,"left",j[40].x+"px"),(!_||T[1]&512)&&qe(t,"top",j[40].y+"px")},i(j){_||(de(b),_=!0)},o(j){_e(b),_=!1},d(j){j&&w(e),b&&b.d(),y&&y.d(),g=!1,ge(k)}}}function fo(l){let e,t,n,o,s,a=re(l[2].length>0?l[2]:[{id:"",title:"template.optionNone",icon:"folder"}]),d=[];for(let f=0;f_e(d[f],1,1,()=>{d[f]=null});return{c(){e=u("div"),e.textContent=`${m("common.create")}`,t=v();for(let f=0;f0?f[2]:[{id:"",title:"template.optionNone",icon:"folder"}]);let _;for(_=0;_l[252].call(y)),i(g,"class","svelte-18p9dg"),i(_,"class","form-group svelte-18p9dg"),i(E,"class","label-text svelte-18p9dg"),i(S,"type","text"),i(S,"placeholder",O=l[45]==="open_url"?m("action.urlPlaceholder"):l[45]==="open_folder"||l[45]==="open_file"?m("action.pathPlaceholder"):m("action.commandPlaceholder")),i(S,"class","svelte-18p9dg"),i(D,"class","svelte-18p9dg"),i(T,"class","form-group svelte-18p9dg"),i(L,"class","btn btn-primary svelte-18p9dg"),i(q,"class","btn svelte-18p9dg"),i(R,"class","modal-actions svelte-18p9dg"),i(t,"class","modal svelte-18p9dg"),i(e,"class","modal-overlay svelte-18p9dg"),i(e,"role","button"),i(e,"tabindex","0")},m(B,X){C(B,e,X),r(e,t),r(t,n),r(t,o),r(t,s),r(s,a),r(a,d),r(a,c),r(a,f),he(f,l[44]),r(t,h),r(t,_),r(_,g),r(g,k),r(g,b),r(g,y);for(let V=0;V0?0:1}E=He(l),N=Be[E]=Ae[E](l);function Ee(Z,ce){return Z[22]?dd:Z[21]?cd:rd}let Le=Ee(l),fe=Le(l),ye=((We=l[72])==null?void 0:We.configured)&&Zn(l),be=l[20]&&xn(l);const Ze=[gd,_d,md,pd,fd,ud],De=[];function Ge(Z,ce){return Z[25]?0:Z[22]?1:Z[21]==="journal"?2:Z[21]==="today"&&Z[3]?3:Z[21]==="activity"?4:5}ke=Ge(l),Fe=De[ke]=Ze[ke](l);let Ie=l[36]&&ao(l),me=l[40].visible&&uo(l),oe=l[43]&&_o(l),je=l[50]&&l[49]&&vo(l),Se=l[68]&&bo(l),Oe=l[63]&&yo(l),Ve=l[71]&&wo(l);return{c(){var Z;e=u("div"),t=u("aside"),n=u("div"),o=u("span"),o.textContent="⚒",s=v(),a=u("span"),a.textContent=`${m("nav.brand")}`,d=v(),c=u("nav"),f=u("div"),h=u("div"),h.textContent=`${m("nav.system")}`,_=v();for(let ce=0;ce{Be[ot]=null}),et(),N=Be[E],N?N.p(Z,ce):(N=Be[E]=Ae[E](Z),N.c()),de(N,1),N.m(k,null)),(!Ne||ce[2]&1024)&&ve(q,"active",(bt=Z[72])==null?void 0:bt.configured),(!Ne||ce[0]&524288)&&U(B,Z[19]),Le===(Le=Ee(Z))&&fe?fe.p(Z,ce):(fe.d(1),fe=Le(Z),fe&&(fe.c(),fe.m(Ce,null))),(kt=Z[72])!=null&&kt.configured?ye?ye.p(Z,ce):(ye=Zn(Z),ye.c(),ye.m(x,null)):ye&&(ye.d(1),ye=null),Z[20]?be?be.p(Z,ce):(be=xn(Z),be.c(),be.m(V,se)):be&&(be.d(1),be=null);let mt=ke;ke=Ge(Z),ke===mt?De[ke].p(Z,ce):($e(),_e(De[mt],1,1,()=>{De[mt]=null}),et(),Fe=De[ke],Fe?Fe.p(Z,ce):(Fe=De[ke]=Ze[ke](Z),Fe.c()),de(Fe,1),Fe.m(V,ze)),Z[36]?Ie?(Ie.p(Z,ce),ce[1]&32&&de(Ie,1)):(Ie=ao(Z),Ie.c(),de(Ie,1),Ie.m(V,Pe)):Ie&&($e(),_e(Ie,1,1,()=>{Ie=null}),et()),Z[40].visible?me?(me.p(Z,ce),ce[1]&512&&de(me,1)):(me=uo(Z),me.c(),de(me,1),me.m(V,J)):me&&($e(),_e(me,1,1,()=>{me=null}),et()),Z[43]?oe?oe.p(Z,ce):(oe=_o(Z),oe.c(),oe.m(V,$)):oe&&(oe.d(1),oe=null),Z[50]&&Z[49]?je?je.p(Z,ce):(je=vo(Z),je.c(),je.m(V,ue)):je&&(je.d(1),je=null),Z[68]?Se?Se.p(Z,ce):(Se=bo(Z),Se.c(),Se.m(V,pe)):Se&&(Se.d(1),Se=null),Z[63]?Oe?(Oe.p(Z,ce),ce[2]&2&&de(Oe,1)):(Oe=yo(Z),Oe.c(),de(Oe,1),Oe.m(V,Me)):Oe&&($e(),_e(Oe,1,1,()=>{Oe=null}),et()),Z[71]?Ve?Ve.p(Z,ce):(Ve=wo(Z),Ve.c(),Ve.m(V,null)):Ve&&(Ve.d(1),Ve=null)},i(Z){Ne||(de(N),de(Fe),de(Ie),de(me),de(Oe),Ne=!0)},o(Z){_e(N),_e(Fe),_e(Ie),_e(me),_e(Oe),Ne=!1},d(Z){Z&&w(e),Re(Te,Z),Be[E].d(),fe.d(),ye&&ye.d(),be&&be.d(),De[ke].d(),Ie&&Ie.d(),me&&me.d(),oe&&oe.d(),je&&je.d(),Se&&Se.d(),Oe&&Oe.d(),Ve&&Ve.d(),Ue=!1,ge(lt)}}}function ee(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails call error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Kt(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&Kt(n.children,e,t))return!0}return!1}function Go(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&Go(n.children,e,t))return!0}return!1}async function Do(l){if(l._expanded=!l._expanded,l._expanded&&!l._events&&l._hasEvents===void 0)try{l._events=await ee("GetWorklogEntryEvents",l.id)||[],l._hasEvents=l._events.length>0}catch{l._events=[],l._hasEvents=!1}}function Mo(l){l._expanded=!l._expanded}function vl(l){return l?l.map(e=>(e._expanded===void 0&&(e._expanded=!1),e)):[]}function Xe(l){return l?new Date(l).toLocaleTimeString("ru-RU",{hour:"2-digit",minute:"2-digit"}):""}function Ot(l){return l==="note_created"||l==="file_added"||l==="folder_added"||l==="node_created"?"+":l==="file_deleted"||l==="folder_deleted"?"×":l==="file_renamed"||l==="folder_renamed"||l==="note_updated"||l==="node_updated"?"~":l==="file_copied"?"⧉":l==="file_moved"?"→":"•"}function ut(l){if(!l)return"";try{return new Date(l).toLocaleDateString("ru-RU",{day:"numeric",month:"short"})}catch{return l}}function _t(l,e,t,n){return l=Math.abs(l)%100,l>=5&&l<=20?n:(l%=10,l===1?e:l>=2&&l<=4?t:n)}function ct(l){return e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),l())}}function au(l,e,t){let n=[],o=[],s=[],a=null,d=[],c=0,f=!0,h=[],_=null,g="",k="",b=!1,y="",j="all",T="all",D="",E="",N="",M=[],A=!1,S=[],O="",z="",R="",L=null,K="overview",q=[],W=null,Q=[],G=[],H=[],B="",X="",V="",le="",Ce=!1,ie=!1,x=[],te=0,se=!1,ke="",Fe=null,ze=null,Pe={visible:!1,x:0,y:0,node:null},J=!1,$="",ue=!1,pe="",Me="open_url",Ne="",Ue=[{id:"open_url",label:m("action.openUrl")},{id:"open_file",label:m("action.openFile")},{id:"open_folder",label:m("action.openFolder")},{id:"run_command",label:m("action.runCommand")},{id:"run_script",label:m("action.runScript")},{id:"open_terminal",label:m("action.openTerminal")},{id:"launch_app",label:m("action.launchApp")}],lt=!0,Ke=!1,Te=null,Ae=!1,Be="",He="",Ee={},Le=!1,fe=null,ye=[],be=[],Ze=null,De="",Ge=!1,Ie="",me={items:[],mode:"copy"},oe=[],je=[],Se=!1,Oe=!1,Ve="",We="",Z=!1,ce=m("common.delete"),ot=null,mt=null,bt=!1,kt="",Ye="",ft="",Yt=!1,pt=null,dt=!1,Nt="",yt="",wt="",Ct=0,Qe="";const qo=[{id:"overview",label:m("tab.overview")},{id:"notes",label:m("tab.notes")},{id:"files",label:m("tab.files")},{id:"actions",label:m("tab.actions")},{id:"worklog",label:m("tab.worklog")},{id:"activity",label:m("tab.activity")}];let nl=null;Fo(async()=>{try{t(19,O=await ee("VerstakVersion")||"verstak-gui/v2"),t(0,n=await ee("ListSystemViews")||[]),t(1,o=await ee("ListWorkspaceTree")||[]),t(2,s=await ee("ListEnabledTemplates")||[])}catch(p){t(20,z=String(p)),t(0,n=[{id:"today",label:m("nav.today")},{id:"inbox",label:m("nav.inbox")},{id:"activity",label:m("nav.activity")}]),t(1,o=[]),t(2,s=[])}window.runtime&&window.runtime.EventsOn&&(window.runtime.EventsOn("files-dropped",Ss),nl=()=>window.runtime.EventsOff("files-dropped")),window.addEventListener("keydown",Ol),t(47,lt=!1),Vt()}),Cl(()=>{nl&&nl(),window.removeEventListener("keydown",Ol)});async function jl(p){t(21,R=p),t(22,L=null),t(23,K="overview"),t(24,q=[]),Q=[],t(26,G=[]),t(27,H=[]),t(34,x=[]),t(36,se=!1),t(20,z=""),t(3,a=null),t(4,d=[]),c=0,f=!0,t(5,h=[]),t(6,_=null);try{p==="today"?(t(3,a=await ee("ListTodayView")||{cases:[]}),t(34,x=await ee("GetSuggestions")||[]),t(35,te=x.length)):p==="journal"?await Mt():p==="activity"&&(t(4,d=await ee("ListActivityFeed",50,0)||[]),c=d.length,f=d.length===50)}catch(P){t(20,z=String(P)),t(3,a={cases:[]}),t(4,d=[])}}async function Et(p){t(22,L=p),t(23,K="overview"),t(24,q=[]),Q=[],t(26,G=[]),t(27,H=[]),t(34,x=[]),t(55,be=[]),t(54,ye=[]),t(53,fe=null),t(56,Ze=null),t(57,De=""),t(61,oe=[]),je=[],t(25,W=null),t(36,se=!1),t(41,J=!1),t(20,z=""),t(18,S=[]),await Tl(p.id)}async function Tl(p){try{t(24,q=await ee("ListNotes",p)||[])}catch{}try{Q=await ee("ListFiles",p)||[]}catch{}try{t(26,G=await ee("ListActions",p)||[])}catch{}try{t(27,H=vl(await ee("ListWorklog",p)))}catch{}try{t(34,x=await ee("GetSuggestions")||[]),t(35,te=x.length)}catch{t(34,x=[]),t(35,te=0)}try{t(18,S=await ee("ListActivityByNode",p,50,0)||[])}catch{}}async function tt(p){t(52,Le=!0);try{let P=await ee("ListItems",p)||[];P.sort((ne,we)=>ne.type!==we.type?ne.type==="folder"?-1:1:(ne.name||"").localeCompare(we.name||"")),t(55,be=P)}catch{t(55,be=[])}t(52,Le=!1)}async function il(p){if(!L)return;try{const ne=await ee("GetNodeDetail",p);ne&&t(54,ye=[...ye,{id:p,name:ne.title}])}catch{t(54,ye=[...ye,{id:p,name:"..."}])}t(53,fe=p),t(51,Ee={...Ee,[p]:!0});const P=await ee("ListWorkspaceChildren",p)||[];Kt(o,p,P),t(1,o=[...o]),await tt(p)}function Sl(){if(ye.length<2)t(54,ye=[]),t(53,fe=null),tt(L.id);else{const p=ye[ye.length-2];t(54,ye=ye.slice(0,-1)),t(53,fe=p.id),tt(p.id)}}function Nl(p){const P=ye[p];t(54,ye=ye.slice(0,p+1)),t(53,fe=P.id),tt(P.id)}async function ol(p){t(56,Ze=p),t(57,De=""),t(59,Ie=""),t(58,Ge=!0);try{gc(p)?t(57,De=await ee("GetFileBase64",p.fileId)||""):vc(p)&&t(57,De=await ee("ReadFileText",p.fileId)||"")}catch(P){t(59,Ie=String(P))}t(58,Ge=!1)}function sl(){t(56,Ze=null),t(57,De=""),t(59,Ie="")}async function Jo(){const p=prompt(m("file.namePrompt"));if(!(!p||!p.trim()))try{const P=fe||L.id;await ee("CreateEmptyFile",P,p.trim()),await tt(P),await cl(P)}catch(P){t(20,z=String(P))}}async function El(p){try{await ee("DuplicateNode",p);const P=fe||L.id;await tt(P),await cl(P)}catch(P){t(20,z=String(P))}}function Dl(p){const P=be.find(ne=>ne.id===p);P&&rl(P.id,P.name)}function Ml(p){t(60,me={items:[p],mode:"cut"})}function Il(p){t(60,me={items:[p],mode:"copy"})}async function Fl(){if(me.items.length===0)return;const p=fe||L.id;try{if(me.mode==="copy")for(const P of me.items)await ee("DuplicateNode",P);else for(const P of me.items)await ee("MoveNode",P,p);t(60,me={items:[],mode:"copy"}),await tt(p)}catch(P){t(20,z=String(P))}}function Al(p){oe.includes(p)?t(61,oe=oe.filter(P=>P!==p)):t(61,oe=[...oe,p])}function Ll(p){t(61,oe=[p])}function Yo(){t(61,oe=be.map(p=>p.id))}function Pl(p){if(be.length===0)return;const P=oe.length>0?oe[oe.length-1]:be[0].id,ne=be.findIndex(jt=>jt.id===P),we=be.findIndex(jt=>jt.id===p);if(ne===-1||we===-1)return;const rt=Math.min(ne,we),Wt=Math.max(ne,we),Or=be.slice(rt,Wt+1).map(jt=>jt.id),ln=new Set(oe);Or.forEach(jt=>ln.add(jt)),t(61,oe=[...ln])}function Xo(){t(61,oe=[])}function al(p){return p.length>0?p:be.map(P=>P.id)}async function Zo(){const p=al(oe),P=be.find(we=>we.id===p[0]);let ne;p.length===1&&(P==null?void 0:P.type)==="folder"?ne=m("delete.folder"):p.length===1?ne=m("delete.file"):ne=m("delete.files",{count:p.length}),Rt({title:m("delete.confirmTitle"),message:m("delete.confirmMessage")+" "+ne+"?",confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{for(const rt of p)try{await ee("DeleteFileOrFolder",rt)}catch(Wt){t(20,z=String(Wt))}t(61,oe=[]);const we=fe||L.id;await tt(we)}})}function Qo(){const p=al(oe);t(60,me={items:p,mode:"cut"}),t(61,oe=[])}function xo(){const p=al(oe);t(60,me={items:p,mode:"copy"}),t(61,oe=[])}function $o(p,P){const ne=oe.includes(P)?oe:[P];je=ne,p.dataTransfer.effectAllowed="move",p.dataTransfer.setData("text/plain",ne.join(","))}function es(p,P){const ne=be.find(we=>we.id===P);ne&&ne.type==="folder"&&(p.preventDefault(),p.dataTransfer.dropEffect="move")}async function ts(p,P){if(p.preventDefault(),je.length!==0){for(const ne of je)try{await ee("MoveNode",ne,P)}catch(we){t(20,z=String(we))}je=[],t(61,oe=[]),await tt(fe||L.id)}}function Ol(p){if(K==="files"&&!(p.target.tagName==="INPUT"||p.target.tagName==="TEXTAREA"))if(p.ctrlKey||p.metaKey)p.key==="c"||p.key==="C"?(p.preventDefault(),xo()):p.key==="x"||p.key==="X"?(p.preventDefault(),Qo()):p.key==="v"||p.key==="V"?(p.preventDefault(),Fl()):p.key==="a"||p.key==="A"?(p.preventDefault(),Yo()):p.key==="o"||p.key==="O"?(p.preventDefault(),ls()):p.key==="Enter"&&(p.preventDefault(),Rl());else if(p.key==="Enter")p.preventDefault(),Rl();else if(p.key==="Delete"||p.key==="Backspace"){if(Ze){p.preventDefault(),sl();return}if(oe.length>0){p.preventDefault(),Zo();return}if(p.key==="Backspace"&&ye.length>0){p.preventDefault(),Sl();return}}else if(p.key==="Escape"){if(Ze){sl();return}if(oe.length>0){Xo();return}}else p.key==="F2"&&(p.preventDefault(),ns())}function Rl(){if(oe.length===1){const p=be.find(P=>P.id===oe[0]);p&&(p.type==="folder"?il(p.id):ol(p))}}function ls(){if(oe.length===1){const p=be.find(P=>P.id===oe[0]);p&&p.fileId&&ee("OpenFile",p.fileId)}}function rl(p,P){kt=p,t(69,Ye=P),t(70,ft=""),t(68,bt=!0)}function ns(){if(oe.length===1){const p=be.find(P=>P.id===oe[0]);p&&rl(p.id,p.name)}}async function zl(){const p=Ye.trim();if(!p){t(70,ft=m("rename.emptyError"));return}try{await ee("ValidateName",p)}catch{t(70,ft=m("rename.invalidError"));return}t(68,bt=!1);const P=kt;kt="";try{await ee("RenameNode",P,p),L&&L.id===P&&t(22,L={...L,title:p}),await Bt(),fe&&await tt(fe)}catch(ne){t(20,z=String(ne))}}function is(){t(68,bt=!1),kt="",t(69,Ye=""),t(70,ft="")}function os(p){p.key==="Enter"?zl():t(70,ft="")}function Rt(p){t(64,Ve=p.title||m("common.confirm")),t(65,We=p.message||""),t(66,Z=p.danger!==void 0?p.danger:!0),t(67,ce=p.confirmText||m("common.delete")),ot=p.onConfirm||null,mt=p.onCancel||null,t(63,Oe=!0)}function Bl(){t(63,Oe=!1),ot=null,mt=null}function ss(){ot&&ot(),Bl()}function as(){mt&&mt(),Bl()}function Hl(p){t(38,Fe=Pe.node),t(39,ze=p),t(37,ke=""),t(36,se=!0),Dt()}function rs(){t(38,Fe=null),t(39,ze=void 0),t(37,ke=""),t(36,se=!0)}function cs(){t(36,se=!1),t(37,ke=""),t(38,Fe=null),t(39,ze=void 0)}async function Vl(){if(!(!ke.trim()||ze===void 0))try{const p=Fe?Fe.id:"",P=ze?ze.id:"",ne=await ee("CreateNodeFromTemplate",p,ke.trim(),P);t(36,se=!1),t(37,ke="");const we=ne?ne.id:null;if(t(38,Fe=null),t(39,ze=void 0),p){t(51,Ee={...Ee,[p]:!0});const rt=await ee("ListWorkspaceChildren",p)||[];Kt(o,p,rt),t(1,o=[...o])}else t(1,o=await ee("ListWorkspaceTree")||o);if(we){const rt=await ee("GetNodeDetail",we);rt&&(t(21,R=""),Et(rt))}}catch(p){t(20,z=String(p))}}function ds(p,P){t(40,Pe={visible:!0,x:p.clientX,y:p.clientY,node:P})}function Dt(){t(40,Pe={visible:!1,x:0,y:0,node:null})}async function us(p){const P=!Ee[p];if(t(51,Ee={...Ee,[p]:P}),!P)return;const ne=await ee("ListWorkspaceChildren",p)||[];Kt(o,p,ne),t(1,o=[...o])}async function fs(p,P){if(!(!p||!P||p===P))try{const ne=await ee("MoveNode",p,P);await Bt();const we=await ee("GetNodeDetail",p);we&&(t(21,R=""),Et(we))}catch(ne){t(20,z=String(ne))}}async function ps(p){p.preventDefault();try{const P=p.dataTransfer.getData("text/plain");if(!P)return;const ne=await ee("GetNodeDetail",P);if(!ne||!ne.parent_id)return;await ee("MoveNode",P,""),await Bt();const we=await ee("GetNodeDetail",P);we&&(t(21,R=""),Et(we))}catch(P){t(20,z=String(P))}}function ms(p){p.preventDefault(),p.dataTransfer.dropEffect="move",t(62,Se=!0)}function _s(p){t(62,Se=!1)}function Wl(p){rl(p.id,p.title),Dt()}function Ul(p){Dt(),Rt({title:m("delete.confirmTitle"),message:m("delete.confirmMessage")+" "+p.title+"?",confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{try{await ee("DeleteNode",p.id),await Bt(),L&&L.id===p.id&&t(22,L=null)}catch(P){t(20,z=String(P))}}})}async function zt(p){Dt();const P=typeof p=="string"?p:p.id;try{await ee("OpenFolder",P)}catch(ne){t(20,z=String(ne))}}async function Kl(p){Dt();try{await ee("MoveNode",p.id,""),await Bt();const P=await ee("GetNodeDetail",p.id);P&&(t(21,R=""),Et(P))}catch(P){t(20,z=String(P))}}async function Bt(){const p=Object.keys(Ee).filter(ne=>Ee[ne]),P=await ee("ListWorkspaceTree")||[];for(const ne of p){const rt=(await ee("ListWorkspaceChildren",ne)||[]).map(Wt=>({...Wt}));Go(P,ne,rt)}t(1,o=P)}async function cl(p){const P=await ee("ListWorkspaceChildren",p)||[];Kt(o,p,P),t(1,o=[...o])}function Gl(){t(41,J=!0),t(42,$="")}function gs(){t(41,J=!1),t(42,$="")}async function ql(){if(!(!$.trim()||!L))try{const p=await ee("CreateNote",L.id,$.trim());t(24,q=[...q,p&&p.id?p:{id:Date.now().toString(),title:$.trim(),createdAt:new Date().toISOString()}]),t(41,J=!1),t(42,$="")}catch{const P={id:Date.now().toString(),title:$.trim(),createdAt:new Date().toISOString()};t(24,q=[...q,P]),t(41,J=!1),t(42,$="")}}async function Ht(p){if(W&&W.dirty){Rt({title:m("note.unsavedTitle"),message:m("note.unsavedMessage"),confirmText:m("note.unsavedClose"),danger:!1,onConfirm:async()=>{await Jl(p)}});return}await Jl(p)}async function Jl(p){try{const P=await ee("ReadNote",p.id);t(25,W={id:p.id,title:p.title,content:P||"",dirty:!1})}catch{t(25,W={id:p.id,title:p.title,content:"# "+p.title+` + +`,dirty:!1})}}function vs(){if(W&&W.dirty){Rt({title:m("note.unsavedTitle"),message:m("note.unsavedMessage"),confirmText:m("note.unsavedClose"),danger:!1,onConfirm:()=>{t(25,W=null)}});return}t(25,W=null)}function hs(p){W&&(t(25,W.content=p.target.value,W),t(25,W.dirty=!0,W))}async function bs(){if(W)try{await ee("SaveNote",W.id,W.content),t(25,W.dirty=!1,W)}catch{t(25,W.dirty=!1,W)}}async function ks(){const p=parseInt(B,10);if(!(!X.trim()||isNaN(p)||p<=0||!L)){try{await ee("CreateWorklogFull",L.id,X.trim(),le,V,p,ie,Ce)}catch{}t(27,H=vl(await ee("ListWorklog",L.id))||H),t(29,X=""),t(28,B=""),t(30,V=""),t(31,le=""),t(32,Ce=!1),t(33,ie=!1)}}async function Yl(){t(34,x=await ee("GetSuggestions")||[]),t(35,te=x.length),L&&t(27,H=vl(await ee("ListWorklog",L.id))),R==="journal"&&await Mt()}async function dl(p){try{await ee("AcceptSuggestionWith",p,p.suggestedMin,""),await Yl()}catch(P){console.error(P)}}async function Xl(p){try{await ee("AcceptSuggestionWith",p,p.suggestedMin,""),await Yl()}catch(P){console.error(P)}}async function Mt(){try{const[p,P,ne]=await Promise.all([ee("ListWorklogReport",g,k,y,b,j,T),ee("WorklogReportSummary",g,k,y,b,j,T),ee("GetSuggestions")]);if(t(5,h=p||[]),t(6,_=P||null),t(34,x=ne||[]),t(35,te=x.length),y&&!D)if(p&&p.length>0&&p[0].nodePath)t(13,D=p[0].nodePath);else try{t(13,D=await ee("GetNodeTitle",y))}catch{t(13,D="")}}catch{t(5,h=[]),t(6,_=null),t(34,x=[]),t(35,te=0)}}async function Xt(p){try{const P=await ee("SaveWorklogReport",p,g,k,y,b,j,T);t(14,E=P),setTimeout(()=>t(14,E=""),4e3)}catch(P){if(String(P).includes("отменено"))return;t(14,E="Ошибка: "+String(P)),setTimeout(()=>t(14,E=""),6e3)}}let Zl;async function ys(){const p=N.trim();if(!p||p.length<2){t(16,M=[]),t(17,A=!1);return}try{t(16,M=await ee("SearchNodes",p)||[]),t(17,A=M.length>0)}catch{t(16,M=[]),t(17,A=!1)}}function ws(){clearTimeout(Zl),Zl=setTimeout(ys,200)}function Ql(p){t(10,y=p.id),t(13,D=p.path||p.title),t(9,b=!0),t(15,N=""),t(16,M=[]),t(17,A=!1),Mt()}function xl(){t(10,y=""),t(9,b=!1),t(13,D=""),t(15,N=""),t(16,M=[]),t(17,A=!1),Mt()}function Cs(){t(7,g=""),t(8,k=""),t(10,y=""),t(9,b=!1),t(11,j="all"),t(12,T="all"),t(13,D=""),t(15,N=""),t(16,M=[]),t(17,A=!1),Mt()}async function $l(){const p=await ee("PickFile");if(!p)return;const P=fe||L.id;await ul(P,p)}async function js(){const p=await ee("PickDirectory");if(!p)return;const P=fe||L.id;await ul(P,p)}async function ul(p,P){t(48,Ke=!0);try{const ne=await ee("PreviewImport",P);t(49,Te=ne),Be=P,He=p,t(50,Ae=!0)}catch(ne){t(20,z=String(ne))}t(48,Ke=!1)}async function fl(p){try{const P=He||L.id,ne=p==="copy"?await ee("AddPathCopy",P,Be):await ee("AddPathLink",P,Be);t(50,Ae=!1),t(49,Te=null),t(54,ye=[]),t(53,fe=null),await Promise.all([Tl(P),tt(P),cl(P)])}catch(P){t(20,z=String(P))}}function Ts(){t(50,Ae=!1),t(49,Te=null)}async function en({id:p,type:P}){const ne=m(P==="folder"?"delete.folder":"delete.file");Rt({title:m("delete.confirmTitle"),message:m("delete.confirmMessage")+" "+ne+"?",confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{try{await ee("DeleteFileOrFolder",p),Q=Q.filter(rt=>rt.nodeId!==p);const we=fe||L.id;await tt(we)}catch(we){t(20,z=String(we))}}})}async function Ss(p){if(!p||p.length===0)return;if(!L){t(20,z=m("error.selectCaseFirst"));return}const P=p[0];await ul(L.id,P)}function Ns(p){return{note_created:m("event.noteCreated"),note_updated:m("event.noteUpdated"),file_added:m("event.fileAdded"),file_deleted:m("event.fileDeleted"),file_renamed:m("event.fileRenamed"),file_copied:m("event.fileCopied"),file_moved:m("event.fileMoved"),folder_added:m("event.folderAdded"),folder_deleted:m("event.folderDeleted"),folder_renamed:m("event.folderRenamed"),node_created:m("event.caseCreated"),node_updated:m("event.caseUpdated")}[p]||p}function Es(p){return{project:m("kind.project"),client:m("kind.client"),document:m("kind.document"),recipe:m("kind.recipe"),folder:m("kind.folder"),note:m("kind.note"),file:m("kind.file"),archive:m("kind.archive"),case:m("kind.case")}[p]||p||m("kind.case")}function Ds(){t(43,ue=!0),t(44,pe=""),t(45,Me="open_url"),t(46,Ne="")}function Ms(){t(43,ue=!1),t(44,pe=""),t(46,Ne="")}async function pl(){if(!(!pe.trim()||!Ne.trim()||!L))try{const p=await ee("CreateAction",L.id,Me,pe.trim(),Ne.trim());p&&p.id&&t(26,G=[...G,p]),t(43,ue=!1),t(44,pe=""),t(46,Ne="")}catch(p){t(20,z=String(p))}}async function tn(p){try{await ee("DeleteAction",p),t(26,G=G.filter(P=>P.id!==p))}catch(P){t(20,z=String(P))}}function Is(p){const P=Ue.find(ne=>ne.id===p);return P?P.label:p}async function xe(p){try{const P=await ee("GetNodeDetail",p);P&&Et(P)}catch(P){t(20,z=String(P))}}async function Vt(){try{t(72,pt=await ee("SyncStatus"))}catch{t(72,pt={configured:!1,serverUrl:"",deviceId:"",unpushedOps:0,lastSyncAt:"",syncInterval:0})}}function Fs(){t(71,Yt=!0),t(74,Nt=(pt==null?void 0:pt.serverUrl)||""),t(75,yt=""),t(76,wt=""),t(77,Ct=(pt==null?void 0:pt.syncInterval)||0),t(78,Qe="")}function As(){t(71,Yt=!1),t(78,Qe="")}async function Ls(){t(73,dt=!0),t(78,Qe="");try{await ee("SyncConfigure",Nt,yt,wt),Ct>0&&await ee("SyncSetInterval",Ct),t(76,wt=""),t(75,yt=""),await Vt(),t(71,Yt=!1)}catch(p){t(78,Qe="err: "+String(p))}t(73,dt=!1)}async function Ps(){t(73,dt=!0),t(78,Qe="");try{await ee("SyncSetInterval",Ct),t(78,Qe=m("sync.settingsSaved")),await Vt()}catch(p){t(78,Qe="err: "+String(p))}t(73,dt=!1)}async function Os(){t(73,dt=!0),t(78,Qe="");try{await ee("SyncTestConnection",Nt,yt,wt),t(78,Qe="connection ok")}catch(p){t(78,Qe="connection failed: "+String(p))}t(73,dt=!1)}async function Rs(){t(73,dt=!0),t(78,Qe="");try{await ee("SyncDisconnect"),t(78,Qe="disconnected"),await Vt()}catch(p){t(78,Qe="err: "+String(p))}t(73,dt=!1)}async function zs(){t(73,dt=!0),t(78,Qe="");try{const p=await ee("SyncNow");t(78,Qe="pushed "+p.pushed+", pulled "+p.pulled+" (seq "+p.serverSequence+")"),await Vt()}catch(p){t(78,Qe="err: "+String(p))}t(73,dt=!1)}const Bs=p=>p.nodeId===L.id,Hs=p=>jl(p.id),Vs=()=>t(20,z=""),Ws=()=>t(20,z=""),Us=()=>t(20,z="");function Ks(){W.content=this.value,t(25,W)}const Gs=p=>{t(23,K=p.id),p.id==="files"&&L&&be.length===0&&!fe&&tt(L.id)},qs=()=>{t(23,K="notes"),Gl()},Js=()=>{t(23,K="files"),$l()},Ys=()=>t(23,K="worklog"),Xs=p=>Ht(p),Zs=p=>Ht(p);function Qs(){$=this.value,t(42,$)}const xs=p=>p.key==="Enter"&&ql(),$s=p=>Ht(p),ea=p=>Ht(p),ta=p=>{const P=p.detail;P===0?(t(54,ye=[]),t(53,fe=null),tt(L.id)):Nl(P-1)},la=p=>il(p.detail),na=p=>ol(p.detail),ia=p=>ee("OpenFile",p.detail),oa=p=>ee("OpenFolder",p.detail),sa=p=>en(p.detail),aa=p=>Dl(p.detail.id),ra=p=>El(p.detail),ca=p=>Ml(p.detail),da=p=>Il(p.detail),ua=p=>Ll(p.detail),fa=p=>Al(p.detail),pa=p=>Pl(p.detail),ma=p=>ee("OpenFile",p.detail),_a=p=>ee("RunAction",p.id),ga=p=>tn(p.id);function va(){X=this.value,t(29,X)}function ha(){B=$t(this.value),t(28,B)}function ba(){V=this.value,t(30,V)}function ka(){le=this.value,t(31,le)}function ya(){Ce=this.checked,t(32,Ce)}function wa(){ie=this.checked,t(33,ie)}const Ca=p=>p.nodeId===L.id,ja=p=>dl(p),Ta=(p,P,ne)=>t(34,P[ne]._expanded=!p._expanded,x,t(22,L)),Sa=(p,P,ne,we)=>we.key==="Enter"&&t(34,P[ne]._expanded=!p._expanded,x,t(22,L)),Na=p=>xe(p.nodeId),Ea=p=>zt(p.nodeId),Da=p=>Mo(p),Ma=(p,P)=>P.key==="Enter"&&Mo(p);function Ia(){g=this.value,t(7,g)}function Fa(){k=this.value,t(8,k)}const Aa=()=>{t(15,N=""),t(13,D=""),xl()};function La(){N=this.value,t(15,N)}const Pa=()=>setTimeout(()=>t(17,A=!1),200),Oa=p=>Ql(p);function Ra(){b=this.checked,t(9,b)}function za(){j=_l(this),t(11,j)}function Ba(){T=_l(this),t(12,T)}const Ha=()=>Xt("csv"),Va=()=>Xt("markdown"),Wa=()=>Xt("pdf"),Ua=p=>xe(p.nodeId),Ka=(p,P,ne,we)=>t(34,P[ne].suggestedMin=parseInt(we.target.value),x),Ga=p=>Xl(p),qa=(p,P,ne)=>t(34,P[ne]._expanded=!p._expanded,x),Ja=(p,P,ne,we)=>we.key==="Enter"&&t(34,P[ne]._expanded=!p._expanded,x),Ya=p=>xe(p.nodeId),Xa=p=>zt(p.nodeId),Za=p=>xe(p.nodeId),Qa=p=>Do(p),xa=(p,P)=>P.key==="Enter"&&Do(p),$a=p=>xe(p.nodeId),er=p=>xe(p.nodeId),tr=(p,P,ne,we)=>t(34,P[ne].suggestedMin=parseInt(we.target.value),x),lr=p=>dl(p),nr=(p,P,ne)=>t(34,P[ne]._expanded=!p._expanded,x),ir=(p,P,ne,we)=>we.key==="Enter"&&t(34,P[ne]._expanded=!p._expanded,x),or=p=>xe(p.nodeId),sr=p=>zt(p.nodeId),ar=p=>xe(p.nodeId),rr=(p,P)=>P.key==="Enter"&&xe(p.nodeId),cr=p=>xe(p.nodeId),dr=(p,P)=>P.key==="Enter"&&xe(p.nodeId),ur=p=>xe(p.nodeId),fr=(p,P)=>P.key==="Enter"&&xe(p.nodeId),pr=p=>xe(p.nodeId),mr=(p,P)=>P.key==="Enter"&&xe(p.nodeId),_r=()=>t(39,ze=null),gr=p=>t(39,ze=p);function vr(){ke=this.value,t(37,ke)}const hr=p=>p.key==="Enter"&&Vl(),br=p=>Hl(p),kr=()=>Kl(Pe.node),yr=()=>Wl(Pe.node),wr=()=>Ul(Pe.node),Cr=()=>zt(Pe.node);function jr(){pe=this.value,t(44,pe)}const Tr=p=>p.key==="Enter"&&pl();function Sr(){Me=_l(this),t(45,Me),t(79,Ue)}function Nr(){Ne=this.value,t(46,Ne)}const Er=p=>p.key==="Enter"&&pl(),Dr=()=>fl("copy"),Mr=()=>fl("link");function Ir(){Ye=this.value,t(69,Ye)}function Fr(){Nt=this.value,t(74,Nt)}function Ar(){yt=this.value,t(75,yt)}function Lr(){wt=this.value,t(76,wt)}function Pr(){Ct=$t(this.value),t(77,Ct)}return[n,o,s,a,d,h,_,g,k,b,y,j,T,D,E,N,M,A,S,O,z,R,L,K,q,W,G,H,B,X,V,le,Ce,ie,x,te,se,ke,Fe,ze,Pe,J,$,ue,pe,Me,Ne,lt,Ke,Te,Ae,Ee,Le,fe,ye,be,Ze,De,Ge,Ie,me,oe,Se,Oe,Ve,We,Z,ce,bt,Ye,ft,Yt,pt,dt,Nt,yt,wt,Ct,Qe,Ue,qo,jl,Et,tt,il,Sl,Nl,ol,sl,Jo,El,Dl,Ml,Il,Fl,Al,Ll,Pl,$o,es,ts,zl,is,os,ss,as,Hl,rs,cs,Vl,ds,Dt,us,fs,ps,ms,_s,Wl,Ul,zt,Kl,Gl,gs,ql,Ht,vs,hs,bs,ks,dl,Xl,Mt,Xt,ws,Ql,xl,Cs,$l,js,fl,Ts,en,Ns,Es,Ds,Ms,pl,tn,Is,xe,Fs,As,Ls,Ps,Os,Rs,zs,Bs,Hs,Vs,Ws,Us,Ks,Gs,qs,Js,Ys,Xs,Zs,Qs,xs,$s,ea,ta,la,na,ia,oa,sa,aa,ra,ca,da,ua,fa,pa,ma,_a,ga,va,ha,ba,ka,ya,wa,Ca,ja,Ta,Sa,Na,Ea,Da,Ma,Ia,Fa,Aa,La,Pa,Oa,Ra,za,Ba,Ha,Va,Wa,Ua,Ka,Ga,qa,Ja,Ya,Xa,Za,Qa,xa,$a,er,tr,lr,nr,ir,or,sr,ar,rr,cr,dr,ur,fr,pr,mr,_r,gr,vr,hr,br,kr,yr,wr,Cr,jr,Tr,Sr,Nr,Er,Dr,Mr,Ir,Fr,Ar,Lr,Pr]}class ru extends ht{constructor(e){super(),vt(this,e,au,su,gt,{},null,[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1])}}new ru({target:document.getElementById("app")}); diff --git a/cmd/verstak-gui/frontend-dist/assets/main-CnUVlOMt.css b/cmd/verstak-gui/frontend-dist/assets/main-CnUVlOMt.css new file mode 100644 index 0000000..b9c8e6e --- /dev/null +++ b/cmd/verstak-gui/frontend-dist/assets/main-CnUVlOMt.css @@ -0,0 +1 @@ +.file-row.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:default;transition:background .12s;min-height:52px;-webkit-user-select:none;user-select:none;position:relative}.file-row.svelte-1skuef2.svelte-1skuef2:hover{background:#1e1e30}.file-row--selected.svelte-1skuef2.svelte-1skuef2{background:#1e1e3a;outline:1px solid #3a3a6c}.file-row--selected.svelte-1skuef2.svelte-1skuef2:hover{background:#252545}.file-row.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:-2px}.file-row-icon.svelte-1skuef2.svelte-1skuef2{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#888}.file-row-body.svelte-1skuef2.svelte-1skuef2{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-row-name.svelte-1skuef2.svelte-1skuef2{font-size:13px;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.file-row-meta.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:4px;font-size:11px;color:#666}.meta-sep.svelte-1skuef2.svelte-1skuef2{color:#444}.file-row-actions.svelte-1skuef2.svelte-1skuef2{display:flex;gap:2px;align-items:center;opacity:0;transition:opacity .15s ease;flex-shrink:0}.file-row.svelte-1skuef2:hover .file-row-actions.svelte-1skuef2{opacity:1}.action-btn.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#ccc}.action-btn-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222;color:#ff6b6b}.action-btn.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-backdrop.svelte-1skuef2.svelte-1skuef2{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.menu.svelte-1skuef2.svelte-1skuef2{position:fixed;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:4px;z-index:100;min-width:220px;box-shadow:0 4px 16px #00000080}.menu-item.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;background:transparent;color:#ccc;font-size:12px;text-align:left;cursor:pointer;border-radius:4px;font-family:inherit}.menu-item.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#fff}.menu-item-danger.svelte-1skuef2.svelte-1skuef2{color:#ff6b6b}.menu-item-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222}.menu-item.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-sep.svelte-1skuef2.svelte-1skuef2{height:1px;background:#2a2a3c;margin:4px 8px}.breadcrumbs.svelte-csi2lb{display:flex;align-items:center;gap:4px;padding:8px 0;font-size:13px;color:#999}.sep.svelte-csi2lb{color:#444}.crumb.svelte-csi2lb{font-size:13px}.crumb--current.svelte-csi2lb{color:#ccc}.crumb--link.svelte-csi2lb{background:none;border:none;padding:2px 4px;color:#888;cursor:pointer;border-radius:3px;font-family:inherit;font-size:13px;transition:color .12s,background .12s}.crumb--link.svelte-csi2lb:hover{color:#ccc;background:#1e1e30}.crumb--link.svelte-csi2lb:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.overlay.svelte-1cw3u0m{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-1cw3u0m{background:#14141f;border:1px solid #2a2a3c;border-radius:10px;width:90vw;max-width:900px;height:85vh;max-height:700px;display:flex;flex-direction:column;overflow:hidden}.preview-header.svelte-1cw3u0m{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.preview-title.svelte-1cw3u0m{display:flex;align-items:center;gap:8px;color:#ddd;font-size:14px;min-width:0}.preview-name.svelte-1cw3u0m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-meta.svelte-1cw3u0m{font-size:11px;color:#666;margin-left:auto;white-space:nowrap}.preview-actions.svelte-1cw3u0m{display:flex;gap:4px;flex-shrink:0;margin-left:8px}.action-btn.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1cw3u0m:hover{background:#2a2a3c;color:#ccc}.action-btn.svelte-1cw3u0m:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.action-btn-close.svelte-1cw3u0m{color:#ff6b6b}.action-btn-close.svelte-1cw3u0m:hover{background:#3a2222;color:#f44}.preview-body.svelte-1cw3u0m{flex:1;overflow:auto;min-height:0}.preview-status.svelte-1cw3u0m{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:#888;font-size:14px}.preview-image-container.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;padding:16px;min-height:200px;background:#0e0e18}.preview-image.svelte-1cw3u0m{max-width:100%;max-height:calc(85vh - 100px);object-fit:contain;border-radius:4px}.preview-text.svelte-1cw3u0m{margin:0;padding:16px;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.5;color:#ccc;white-space:pre-wrap;word-wrap:break-word;overflow:auto}.preview-pdf-container.svelte-1cw3u0m{width:100%;height:100%}.preview-pdf.svelte-1cw3u0m{width:100%;height:100%;border:none}.btn-sm.svelte-1cw3u0m{padding:6px 14px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:12px;font-family:inherit;transition:background .12s}.btn-sm.svelte-1cw3u0m:hover{background:#223}.overlay.svelte-1fv6yyk{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal.svelte-1fv6yyk{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:360px;max-width:90vw}h3.svelte-1fv6yyk{font-size:18px;margin-bottom:12px;color:#e4e4ef}.message.svelte-1fv6yyk{font-size:14px;color:#aaa;margin-bottom:20px;line-height:1.4}.actions.svelte-1fv6yyk{display:flex;gap:8px;justify-content:flex-end}.btn.svelte-1fv6yyk{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-1fv6yyk:hover{background:#223}.btn-primary.svelte-1fv6yyk{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-1fv6yyk:hover{background:#4f46e5}.btn-danger.svelte-1fv6yyk{background:#dc2626;border-color:#dc2626;color:#fff}.btn-danger.svelte-1fv6yyk:hover{background:#b91c1c}.btn.svelte-1fv6yyk:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.tree-item.svelte-zj71cl.svelte-zj71cl{display:flex;align-items:center;height:32px;padding-right:8px;cursor:default;font-size:13px;color:#ccc;-webkit-user-select:none;user-select:none}.tree-item.svelte-zj71cl.svelte-zj71cl:hover{background:#223}.tree-item.selected.svelte-zj71cl.svelte-zj71cl{background:#2a2a4a;color:#fff;font-weight:500}.tree-item.drop-valid.svelte-zj71cl.svelte-zj71cl{background:#1a3a1a;outline:1px solid #4ade80;outline-offset:-1px}.tree-item.drop-invalid.svelte-zj71cl.svelte-zj71cl{background:#3a1a1a;outline:1px solid #ff6b6b;outline-offset:-1px}.tree-toggle.svelte-zj71cl.svelte-zj71cl{background:none;border:none;color:#666;cursor:pointer;padding:0;width:20px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;line-height:1;font-size:12px}.tree-toggle.svelte-zj71cl.svelte-zj71cl:hover{color:#a5b4fc}.tree-toggle-placeholder.svelte-zj71cl.svelte-zj71cl{display:inline-block;width:20px;flex-shrink:0}.tree-icon.svelte-zj71cl.svelte-zj71cl{display:inline-flex;align-items:center;justify-content:center;width:20px;height:32px;flex-shrink:0;color:#888;margin-right:4px;cursor:pointer}.tree-icon.svelte-zj71cl.svelte-zj71cl:hover,.tree-item.selected.svelte-zj71cl .tree-icon.svelte-zj71cl{color:#a5b4fc}.tree-label.svelte-zj71cl.svelte-zj71cl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;line-height:32px}.svelte-18p9dg.svelte-18p9dg,.svelte-18p9dg.svelte-18p9dg:before,.svelte-18p9dg.svelte-18p9dg:after{box-sizing:border-box;margin:0;padding:0}.app.svelte-18p9dg.svelte-18p9dg{display:flex;width:100vw;height:100vh;overflow:hidden;background:#13131f;color:#e4e4ef;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}.sidebar.svelte-18p9dg.svelte-18p9dg{width:260px;min-width:200px;height:100vh;display:flex;flex-direction:column;background:#1a1a28;border-right:1px solid #2a2a3c;flex-shrink:0;overflow:hidden}.sidebar-brand.svelte-18p9dg.svelte-18p9dg{padding:16px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.logo.svelte-18p9dg.svelte-18p9dg{font-size:20px;line-height:1}.brand-name.svelte-18p9dg.svelte-18p9dg{font-size:16px;font-weight:600}.sidebar-nav.svelte-18p9dg.svelte-18p9dg{flex:1;overflow-y:auto;padding:12px 0}.nav-group.svelte-18p9dg.svelte-18p9dg{margin-bottom:16px}.nav-label.svelte-18p9dg.svelte-18p9dg{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;padding:4px 20px;margin-bottom:4px}.nav-item.svelte-18p9dg.svelte-18p9dg{display:block;width:100%;padding:8px 20px;border:none;background:none;color:#ccc;font-size:13px;text-align:left;cursor:pointer;border-radius:0;font-family:inherit}.nav-item.svelte-18p9dg.svelte-18p9dg:hover{background:#223}.nav-item.selected.svelte-18p9dg.svelte-18p9dg{background:#2a2a4a;color:#fff;font-weight:500}.workspace-tree-area.svelte-18p9dg.svelte-18p9dg{min-height:32px}.workspace-tree-area.drop-valid.svelte-18p9dg.svelte-18p9dg{outline:2px dashed #4ade80;outline-offset:-2px;background:#4ade800d}.nav-empty.svelte-18p9dg.svelte-18p9dg{padding:8px 20px;color:#555;font-size:12px}.nav-label-row.svelte-18p9dg.svelte-18p9dg{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;padding:4px 20px;margin-bottom:4px;display:flex;align-items:center;justify-content:space-between}.nav-add-btn.svelte-18p9dg.svelte-18p9dg{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:0 4px;font-family:inherit;line-height:1}.nav-add-btn.svelte-18p9dg.svelte-18p9dg:hover{color:#ccc}.context-menu-backdrop.svelte-18p9dg.svelte-18p9dg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.context-menu.svelte-18p9dg.svelte-18p9dg{position:fixed;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:4px;min-width:180px;box-shadow:0 8px 24px #0006}.context-menu-section.svelte-18p9dg.svelte-18p9dg{padding:6px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666}.context-menu-item.svelte-18p9dg.svelte-18p9dg{display:flex;width:100%;padding:6px 12px;border:none;background:none;color:#ccc;font-size:13px;text-align:left;cursor:pointer;border-radius:4px;font-family:inherit;align-items:center;gap:6px}.context-menu-item.svelte-18p9dg.svelte-18p9dg:hover{background:#223;color:#fff}.context-menu-item.danger.svelte-18p9dg.svelte-18p9dg{color:#ff6b6b}.context-menu-item.danger.svelte-18p9dg.svelte-18p9dg:hover{background:#3a2222;color:#ff6b6b}.context-menu-divider.svelte-18p9dg.svelte-18p9dg{height:1px;background:#2a2a3c;margin:4px 0}.create-context.svelte-18p9dg.svelte-18p9dg{font-size:12px;color:#888;margin-bottom:12px}.sidebar-footer.svelte-18p9dg.svelte-18p9dg{padding:8px 12px;border-top:1px solid #2a2a3c;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.version.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#555;text-align:center}.main.svelte-18p9dg.svelte-18p9dg{flex:1;display:flex;flex-direction:column;height:100vh;min-width:0;overflow:hidden;background:#13131f}.header.svelte-18p9dg.svelte-18p9dg{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;flex-shrink:0;min-height:48px}.header-left.svelte-18p9dg.svelte-18p9dg{display:flex;align-items:center;gap:8px;flex:1}.header-right.svelte-18p9dg.svelte-18p9dg{display:flex;align-items:center;gap:8px}.header-sync-btn.svelte-18p9dg.svelte-18p9dg{background:#1e1e38;border:1px solid #6366f1;border-radius:8px;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:#c0c0f0;font-family:inherit;font-size:13px;position:relative}.header-sync-btn.svelte-18p9dg.svelte-18p9dg:hover{background:#2a2a50;color:#e4e4ef;border-color:#818cf8}.header-sync-btn.svelte-18p9dg.svelte-18p9dg:disabled{opacity:.5;cursor:not-allowed}.sync-badge.svelte-18p9dg.svelte-18p9dg{background:#6366f1;color:#fff;font-size:10px;border-radius:50%;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;position:absolute;top:-6px;right:-6px}.crumb.svelte-18p9dg.svelte-18p9dg{font-size:14px;font-weight:500}.crumb.placeholder.svelte-18p9dg.svelte-18p9dg{color:#666}.crumb-type.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#555;background:#1e1e2e;padding:2px 8px;border-radius:10px;margin-left:8px}.error-banner.svelte-18p9dg.svelte-18p9dg{background:#3a2222;color:#f88;padding:8px 24px;font-size:12px;border-bottom:1px solid #4a2222;flex-shrink:0;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.dismiss-btn.svelte-18p9dg.svelte-18p9dg{background:none;border:none;color:#f66;cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:2px}.dismiss-btn.svelte-18p9dg.svelte-18p9dg:hover{color:#f44}.tabs.svelte-18p9dg.svelte-18p9dg{display:flex;border-bottom:1px solid #2a2a3c;flex-shrink:0;padding:0 24px}.tab.svelte-18p9dg.svelte-18p9dg{padding:10px 16px;border:none;background:none;color:#888;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;font-family:inherit}.tab.svelte-18p9dg.svelte-18p9dg:hover{color:#a5b4fc}.tab.active.svelte-18p9dg.svelte-18p9dg{color:#e4e4ef;border-bottom-color:#818cf8;background:#6366f11f;font-weight:600}.tab-content.svelte-18p9dg.svelte-18p9dg{flex:1;overflow-y:auto}.note-editor.svelte-18p9dg.svelte-18p9dg{flex:1;display:flex;flex-direction:column;height:100%}.note-editor-header.svelte-18p9dg.svelte-18p9dg{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;gap:12px;flex-shrink:0}.note-title.svelte-18p9dg.svelte-18p9dg{font-size:16px;font-weight:500}.dirty-mark.svelte-18p9dg.svelte-18p9dg{color:#f59e0b;font-size:10px}.note-editor-actions.svelte-18p9dg.svelte-18p9dg{margin-left:auto;display:flex;gap:8px}.note-textarea.svelte-18p9dg.svelte-18p9dg{flex:1;width:100%;border:none;outline:none;background:#13131f;color:#e4e4ef;font-family:SF Mono,Fira Code,monospace;font-size:14px;line-height:1.6;padding:24px;resize:none}.overview.svelte-18p9dg.svelte-18p9dg{padding:24px}.overview.svelte-18p9dg h2.svelte-18p9dg{font-size:24px;margin-bottom:16px}.meta-grid.svelte-18p9dg.svelte-18p9dg{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px}.meta-item.svelte-18p9dg.svelte-18p9dg{background:#1a1a28;padding:12px 16px;border-radius:8px}.meta-label.svelte-18p9dg.svelte-18p9dg{display:block;font-size:11px;color:#666;margin-bottom:4px;text-transform:uppercase}.quick-actions.svelte-18p9dg.svelte-18p9dg{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.qa-btn.svelte-18p9dg.svelte-18p9dg{padding:10px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;display:inline-flex;align-items:center;gap:6px}.qa-btn.svelte-18p9dg.svelte-18p9dg:hover{background:#223}.qa-btn.svelte-18p9dg.svelte-18p9dg:disabled{opacity:.4;cursor:not-allowed}.recent-section.svelte-18p9dg.svelte-18p9dg{margin-bottom:24px}.recent-section.svelte-18p9dg h3.svelte-18p9dg{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:8px}.recent-note.svelte-18p9dg.svelte-18p9dg{padding:8px 12px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between}.recent-note.svelte-18p9dg.svelte-18p9dg:hover{background:#1a1a28}.recent-date.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#555}.recent-entry.svelte-18p9dg.svelte-18p9dg{padding:6px 0;font-size:13px;color:#888;border-bottom:1px solid #1a1a28}.notes-tab.svelte-18p9dg.svelte-18p9dg{padding:24px}.tab-toolbar.svelte-18p9dg.svelte-18p9dg{margin-bottom:16px}.create-form.svelte-18p9dg.svelte-18p9dg{background:#1a1a28;padding:16px;border-radius:8px;margin-bottom:16px}.create-form.svelte-18p9dg input.svelte-18p9dg{width:100%;padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;font-family:inherit;margin-bottom:8px}.create-form.svelte-18p9dg input.svelte-18p9dg:focus{outline:none;border-color:#6366f1}.form-actions.svelte-18p9dg.svelte-18p9dg{display:flex;gap:8px}.notes-list.svelte-18p9dg.svelte-18p9dg{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.note-card.svelte-18p9dg.svelte-18p9dg{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:16px;cursor:pointer}.note-card.svelte-18p9dg.svelte-18p9dg:hover{border-color:#3a3a5c}.note-card-title.svelte-18p9dg.svelte-18p9dg{font-size:14px;font-weight:500;margin-bottom:4px}.note-card-date.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#555}.worklog-tab.svelte-18p9dg.svelte-18p9dg{padding:24px}.worklog-form.svelte-18p9dg.svelte-18p9dg{display:flex;gap:8px;margin-bottom:24px;align-items:center}.worklog-form.svelte-18p9dg input.svelte-18p9dg{padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;font-family:inherit}.worklog-form.svelte-18p9dg input.svelte-18p9dg:focus{outline:none;border-color:#6366f1}.worklog-form.svelte-18p9dg input[type=text].svelte-18p9dg{flex:1}.worklog-form.svelte-18p9dg input[type=number].svelte-18p9dg{width:70px}.worklog-entry.svelte-18p9dg.svelte-18p9dg{padding:12px 0;border-bottom:1px solid #1a1a28}.suggestions-title.svelte-18p9dg.svelte-18p9dg{font-size:13px;font-weight:600;color:#a5b4fc;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.suggestion-summary.svelte-18p9dg.svelte-18p9dg{font-size:14px;color:#e4e4ef}.suggestion-meta.svelte-18p9dg.svelte-18p9dg{font-size:12px;color:#8888a0;margin-top:2px}.suggestion-main.svelte-18p9dg.svelte-18p9dg{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;gap:12px}.suggestion-card.expanded.svelte-18p9dg.svelte-18p9dg{border-color:#3a3a5c}.suggestion-detail.svelte-18p9dg.svelte-18p9dg{padding:0 12px 10px;border-top:1px solid #2a2a3c}.suggestion-detail-title.svelte-18p9dg.svelte-18p9dg{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;padding:8px 0 4px}.suggestion-detail-event.svelte-18p9dg.svelte-18p9dg{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:13px;color:#b0b0c0}.suggestion-event-time.svelte-18p9dg.svelte-18p9dg{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.suggestion-event-type.svelte-18p9dg.svelte-18p9dg{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.suggestion-event-title.svelte-18p9dg.svelte-18p9dg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-card.svelte-18p9dg.svelte-18p9dg{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#1e1e32;border-radius:6px;margin-bottom:8px;gap:12px}.suggestion-card.svelte-18p9dg.svelte-18p9dg:last-child{margin-bottom:0}.suggestion-info.svelte-18p9dg.svelte-18p9dg{flex:1;display:flex;flex-direction:column;gap:2px}.suggestion-node.svelte-18p9dg.svelte-18p9dg{color:#a5b4fc;font-weight:600;font-size:13px;text-decoration:none;cursor:pointer}.suggestion-node.svelte-18p9dg.svelte-18p9dg:hover{text-decoration:underline}.suggestion-actions.svelte-18p9dg.svelte-18p9dg{display:flex;align-items:center;gap:6px;flex-shrink:0}.suggestion-min-input.svelte-18p9dg.svelte-18p9dg{width:60px;padding:4px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;text-align:center}.suggestion-min-label.svelte-18p9dg.svelte-18p9dg{font-size:12px;color:#8888a0}.suggestion-confidence.svelte-18p9dg.svelte-18p9dg{font-size:11px;padding:2px 6px;border-radius:3px}.suggestion-confidence.low.svelte-18p9dg.svelte-18p9dg{color:#fbbf24}.suggestion-confidence.medium.svelte-18p9dg.svelte-18p9dg{color:#60a5fa}.suggestion-confidence.high.svelte-18p9dg.svelte-18p9dg{color:#34d399}.journal-screen.svelte-18p9dg.svelte-18p9dg{padding:24px;overflow-y:auto;flex:1}.journal-header.svelte-18p9dg.svelte-18p9dg{margin-bottom:24px}.journal-header.svelte-18p9dg h2.svelte-18p9dg{margin:0 0 16px}.journal-summary.svelte-18p9dg.svelte-18p9dg{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px;padding:16px;background:#1a1a2e;border-radius:8px;border:1px solid #2a2a3c}.summary-total.svelte-18p9dg.svelte-18p9dg{font-size:18px;font-weight:700;color:#e4e4ef;width:100%;margin-bottom:4px}.summary-section.svelte-18p9dg.svelte-18p9dg{flex:1;min-width:200px}.summary-label.svelte-18p9dg.svelte-18p9dg{font-size:12px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.summary-row.svelte-18p9dg.svelte-18p9dg{display:flex;gap:8px;font-size:13px;padding:4px 0;border-bottom:1px solid #2a2a3c}.summary-row.svelte-18p9dg span.svelte-18p9dg:first-child{flex:1;color:#e4e4ef}.summary-count.svelte-18p9dg.svelte-18p9dg{color:#8888a0}.journal-table-wrap.svelte-18p9dg.svelte-18p9dg{overflow-x:auto}.journal-table.svelte-18p9dg.svelte-18p9dg{width:100%;border-collapse:collapse;font-size:13px}.journal-table.svelte-18p9dg th.svelte-18p9dg{text-align:left;padding:8px 12px;border-bottom:2px solid #2a2a3c;color:#b0b0c8;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.journal-table.svelte-18p9dg td.svelte-18p9dg{padding:8px 12px;border-bottom:1px solid #1a1a28;color:#e4e4ef}.journal-table.svelte-18p9dg tr:hover td.svelte-18p9dg{background:#1e1e32}.journal-table.svelte-18p9dg .link-btn.svelte-18p9dg{color:#a5b4fc}.journal-path-cell.svelte-18p9dg.svelte-18p9dg{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a0a0b8;font-size:12px}.journal-min-cell.svelte-18p9dg.svelte-18p9dg{text-align:right;font-variant-numeric:tabular-nums}.journal-date-cell.svelte-18p9dg.svelte-18p9dg{color:#b0b0c0;white-space:nowrap}.journal-bool-cell.svelte-18p9dg.svelte-18p9dg{text-align:center;color:#a0a0b8}.journal-row.svelte-18p9dg.svelte-18p9dg{cursor:pointer}.journal-row.svelte-18p9dg:hover td.svelte-18p9dg{background:#1e1e32}.journal-row.expanded.svelte-18p9dg td.svelte-18p9dg{background:#1a1a30;border-bottom:none}.journal-summary-cell.svelte-18p9dg.svelte-18p9dg{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-row-detail.svelte-18p9dg td.svelte-18p9dg{padding:0 12px 12px;background:#16162a}.journal-detail-body.svelte-18p9dg.svelte-18p9dg{display:flex;flex-direction:column;gap:12px;padding:8px 0}.journal-detail-section.svelte-18p9dg.svelte-18p9dg{font-size:13px}.journal-detail-label.svelte-18p9dg.svelte-18p9dg{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:4px}.journal-detail-section.svelte-18p9dg p.svelte-18p9dg{margin:0;color:#c0c0d0}.journal-event-row.svelte-18p9dg.svelte-18p9dg{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0}.journal-event-time.svelte-18p9dg.svelte-18p9dg{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.journal-event-type.svelte-18p9dg.svelte-18p9dg{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.journal-event-title.svelte-18p9dg.svelte-18p9dg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-node-picker.svelte-18p9dg input[type=text].svelte-18p9dg{padding:6px 10px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:13px;font-family:inherit;width:240px}.journal-search-dropdown.svelte-18p9dg.svelte-18p9dg{position:absolute;top:100%;left:0;right:0;z-index:50;background:#1a1a28;border:1px solid #2a2a3c;border-radius:6px;margin-top:4px;max-height:240px;overflow-y:auto;min-width:260px}.journal-search-item.svelte-18p9dg.svelte-18p9dg{display:block;width:100%;padding:8px 12px;border:none;background:transparent;color:#e4e4ef;cursor:pointer;font-family:inherit;font-size:13px;text-align:left}.journal-search-item.svelte-18p9dg.svelte-18p9dg:hover{background:#2a2a4a}.journal-search-title.svelte-18p9dg.svelte-18p9dg{display:block;font-weight:500}.journal-search-path.svelte-18p9dg.svelte-18p9dg{display:block;font-size:11px;color:#8888a0;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-selected-node.svelte-18p9dg.svelte-18p9dg{cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#1e1e3a;border:1px solid #3a3a5c;border-radius:4px;font-size:13px;color:#a5b4fc;white-space:nowrap;font-family:inherit}.journal-selected-node.svelte-18p9dg.svelte-18p9dg:hover{background:#2a2a4a}.journal-node-clear.svelte-18p9dg.svelte-18p9dg{color:#8888a0;font-size:14px;margin-left:4px}.journal-status-msg.svelte-18p9dg.svelte-18p9dg{font-size:12px;color:#34d399;padding:4px 8px;background:#1a2a1e;border-radius:4px}.disabled-hint.svelte-18p9dg.svelte-18p9dg{opacity:.5}.today-suggestions.svelte-18p9dg.svelte-18p9dg{margin-bottom:24px}.link-btn.svelte-18p9dg.svelte-18p9dg{background:none;border:none;padding:0;color:#a5b4fc;font:inherit;cursor:pointer;text-align:left}.link-btn.svelte-18p9dg.svelte-18p9dg:hover{text-decoration:underline}.nav-badge.svelte-18p9dg.svelte-18p9dg{background:#6366f1;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:1px 6px;margin-left:6px;line-height:1.4}.actions-tab.svelte-18p9dg.svelte-18p9dg{padding:24px}.action-card.svelte-18p9dg.svelte-18p9dg{background:#1a1a28;padding:12px 16px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.action-info.svelte-18p9dg.svelte-18p9dg{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.action-title.svelte-18p9dg.svelte-18p9dg{font-weight:500}.action-type.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px;white-space:nowrap}.action-data.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#555;font-family:SF Mono,Fira Code,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.action-btns.svelte-18p9dg.svelte-18p9dg{display:flex;gap:4px;flex-shrink:0}.action-btns.svelte-18p9dg .btn-danger.svelte-18p9dg{color:#ff6b6b;border-color:#4a2222;padding:4px 8px}.action-btns.svelte-18p9dg .btn-danger.svelte-18p9dg:hover{background:#3a2222}.empty-state.svelte-18p9dg.svelte-18p9dg{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state.svelte-18p9dg p.svelte-18p9dg{margin:0;font-size:14px;color:#666}.empty-state.svelte-18p9dg .empty-icon.svelte-18p9dg{margin-bottom:12px;color:#444}.empty-state.svelte-18p9dg .hint.svelte-18p9dg{font-size:12px;color:#555;margin-top:6px}.empty-state.svelte-18p9dg .empty-actions.svelte-18p9dg{display:flex;gap:8px;justify-content:center;margin-top:16px}.welcome.svelte-18p9dg.svelte-18p9dg{padding:48px 24px;text-align:center}.welcome.svelte-18p9dg h2.svelte-18p9dg{font-size:32px;font-weight:300;color:#8888a4;margin-bottom:16px}.welcome.svelte-18p9dg p.svelte-18p9dg{color:#666;font-size:14px}.error-text.svelte-18p9dg.svelte-18p9dg{color:#f88}.modal-overlay.svelte-18p9dg.svelte-18p9dg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal.svelte-18p9dg.svelte-18p9dg{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:400px;max-width:90vw}.modal.svelte-18p9dg h3.svelte-18p9dg{font-size:18px;margin-bottom:16px}.form-group.svelte-18p9dg.svelte-18p9dg{margin-bottom:12px}.form-group.svelte-18p9dg label.svelte-18p9dg{display:block}.form-group.svelte-18p9dg .label-text.svelte-18p9dg,.form-group.svelte-18p9dg .form-label.svelte-18p9dg{display:block;font-size:12px;color:#666;margin-bottom:4px}.form-group.svelte-18p9dg input.svelte-18p9dg,.form-group.svelte-18p9dg select.svelte-18p9dg{width:100%;padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;font-family:inherit}.form-group.svelte-18p9dg select.svelte-18p9dg{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.form-group.svelte-18p9dg input.svelte-18p9dg:focus,.form-group.svelte-18p9dg select.svelte-18p9dg:focus{outline:none;border-color:#6366f1}.modal-actions.svelte-18p9dg.svelte-18p9dg{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.btn.svelte-18p9dg.svelte-18p9dg{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-18p9dg.svelte-18p9dg:hover{background:#223}.btn-primary.svelte-18p9dg.svelte-18p9dg{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-18p9dg.svelte-18p9dg:hover{background:#4f46e5}.btn.svelte-18p9dg.svelte-18p9dg:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-18p9dg.svelte-18p9dg{padding:4px 10px;font-size:12px}.btn-danger.svelte-18p9dg.svelte-18p9dg{color:#ff6b6b;border-color:#4a2222}.btn-danger.svelte-18p9dg.svelte-18p9dg:hover{background:#3a2222}.files-tab.svelte-18p9dg.svelte-18p9dg{padding:20px}.files-tab.svelte-18p9dg .tab-toolbar.svelte-18p9dg{display:flex;gap:8px;align-items:center;margin-bottom:16px}.file-list.svelte-18p9dg.svelte-18p9dg{display:flex;flex-direction:column}.back-btn.svelte-18p9dg.svelte-18p9dg{margin-bottom:4px;display:inline-flex;align-items:center;gap:4px}.import-summary.svelte-18p9dg.svelte-18p9dg{margin-bottom:16px}.summary-row.svelte-18p9dg.svelte-18p9dg{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;border-bottom:1px solid #2a2a3c}.summary-warn.svelte-18p9dg.svelte-18p9dg{margin-top:8px;padding:8px 12px;background:#3a2a22;border-radius:6px;color:#fa6;font-size:13px}.rename-error.svelte-18p9dg.svelte-18p9dg{color:#ff6b6b;font-size:12px;margin-top:4px}.template-cards.svelte-18p9dg.svelte-18p9dg{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.template-card.svelte-18p9dg.svelte-18p9dg{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #2a2a3c;background:#13131f;color:#ccc;border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;width:100%;text-align:left}.template-card.svelte-18p9dg.svelte-18p9dg:hover{background:#1e1e30;border-color:#3a3a5c}.template-card.selected.svelte-18p9dg.svelte-18p9dg{background:#2a2a50;border-color:#6366f1;color:#e4e4ef}.template-card-text.svelte-18p9dg.svelte-18p9dg{display:flex;flex-direction:column;gap:2px;min-width:0}.template-card-title.svelte-18p9dg.svelte-18p9dg{font-weight:500}.template-card-desc.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#888}.today-dashboard.svelte-18p9dg.svelte-18p9dg{padding:24px;overflow-y:auto;flex:1}.today-header.svelte-18p9dg.svelte-18p9dg{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.today-header.svelte-18p9dg h2.svelte-18p9dg{font-size:24px}.today-date.svelte-18p9dg.svelte-18p9dg{font-size:13px;color:#666}.today-summary.svelte-18p9dg.svelte-18p9dg{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.summary-chip.svelte-18p9dg.svelte-18p9dg{font-size:12px;color:#b0b0c0;background:#1a1a28;border:1px solid #2a2a3c;padding:4px 12px;border-radius:16px}.today-case.svelte-18p9dg.svelte-18p9dg{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:12px;overflow:hidden}.today-case-header.svelte-18p9dg.svelte-18p9dg{padding:12px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #2a2a3c;cursor:pointer}.today-case-header.svelte-18p9dg.svelte-18p9dg:hover{background:#1e1e30}.today-case-title.svelte-18p9dg.svelte-18p9dg{font-weight:500}.today-case-type.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px}.today-case-count.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#6366f1;margin-left:4px}.today-case-time.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#555;margin-left:auto}.today-events.svelte-18p9dg.svelte-18p9dg{padding:8px 16px}.today-event.svelte-18p9dg.svelte-18p9dg{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0;cursor:pointer}.today-event.svelte-18p9dg.svelte-18p9dg:hover{color:#e4e4ef}.today-event-icon.svelte-18p9dg.svelte-18p9dg{width:18px;text-align:center;color:#6366f1;font-size:13px}.today-event-title.svelte-18p9dg.svelte-18p9dg{flex:1}.today-event-type.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#666}.today-event-time.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#555;margin-left:auto}.today-events-empty.svelte-18p9dg.svelte-18p9dg{padding:8px 16px;font-size:13px;color:#666;font-style:italic}.today-empty.svelte-18p9dg.svelte-18p9dg{padding:48px 24px;text-align:center}.today-empty.svelte-18p9dg p.svelte-18p9dg{color:#666;font-size:14px;margin:0}.today-empty.svelte-18p9dg .hint.svelte-18p9dg{font-size:12px;color:#555;margin-top:8px}.today-timeline.svelte-18p9dg.svelte-18p9dg{margin-top:24px}.today-timeline.svelte-18p9dg h3.svelte-18p9dg{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:12px}.timeline-event.svelte-18p9dg.svelte-18p9dg{display:flex;align-items:center;gap:10px;font-size:13px;color:#b0b0c0;border-left:2px solid #2a2a3c;padding:6px 0 6px 16px;margin-left:4px;cursor:pointer}.timeline-event.svelte-18p9dg.svelte-18p9dg:hover{color:#e4e4ef}.timeline-dot.svelte-18p9dg.svelte-18p9dg{width:6px;height:6px;border-radius:50%;background:#6366f1;margin-left:-19px;flex-shrink:0}.timeline-title.svelte-18p9dg.svelte-18p9dg{flex:1}.timeline-type.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#666}.timeline-time.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#555}.activity-tab.svelte-18p9dg.svelte-18p9dg{padding:24px}.activity-events.svelte-18p9dg.svelte-18p9dg{display:flex;flex-direction:column;gap:2px}.activity-event.svelte-18p9dg.svelte-18p9dg{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;color:#b0b0c0;cursor:pointer}.activity-event.svelte-18p9dg.svelte-18p9dg:hover{background:#1a1a28;color:#e4e4ef}.activity-event-icon.svelte-18p9dg.svelte-18p9dg{width:18px;text-align:center;color:#6366f1;font-size:13px;flex-shrink:0}.activity-event-title.svelte-18p9dg.svelte-18p9dg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-event-type.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#666;flex-shrink:0}.activity-event-target.svelte-18p9dg.svelte-18p9dg{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px;flex-shrink:0}.activity-event-time.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#555;margin-left:8px;flex-shrink:0}.activity-feed.svelte-18p9dg.svelte-18p9dg{padding:24px;overflow-y:auto;flex:1}.activity-feed-header.svelte-18p9dg.svelte-18p9dg{margin-bottom:20px}.activity-feed-header.svelte-18p9dg h2.svelte-18p9dg{font-size:24px}.activity-feed-events.svelte-18p9dg.svelte-18p9dg{display:flex;flex-direction:column;gap:2px}.activity-feed-event.svelte-18p9dg.svelte-18p9dg{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer}.activity-feed-event.svelte-18p9dg.svelte-18p9dg:hover{background:#1a1a28;color:#e4e4ef}.activity-feed-icon.svelte-18p9dg.svelte-18p9dg{width:20px;text-align:center;color:#6366f1;font-size:14px;flex-shrink:0;margin-top:1px}.activity-feed-body.svelte-18p9dg.svelte-18p9dg{flex:1;min-width:0}.activity-feed-title.svelte-18p9dg.svelte-18p9dg{font-size:14px;color:#e4e4ef}.activity-feed-meta.svelte-18p9dg.svelte-18p9dg{display:flex;align-items:center;gap:8px;margin-top:2px}.activity-feed-type.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#666}.activity-feed-target.svelte-18p9dg.svelte-18p9dg{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px}.activity-feed-time.svelte-18p9dg.svelte-18p9dg{font-size:11px;color:#555}.sidebar-sync-btn.svelte-18p9dg.svelte-18p9dg{background:#1e1e38;border:1px solid #6366f1;border-radius:8px;padding:8px 12px;cursor:pointer;width:100%;display:flex;align-items:center;gap:8px;color:#c0c0f0;font-family:inherit;font-size:13px}.sidebar-sync-btn.svelte-18p9dg.svelte-18p9dg:hover{background:#2a2a50;color:#e4e4ef;border-color:#818cf8}.sidebar-sync-label.svelte-18p9dg.svelte-18p9dg{flex:1;text-align:left}.sync-dot.svelte-18p9dg.svelte-18p9dg{width:8px;height:8px;border-radius:50%;background:#4a4a4a;flex-shrink:0}.sync-dot.active.svelte-18p9dg.svelte-18p9dg{background:#4ade80;box-shadow:0 0 6px #4ade8080}.modal-sync.svelte-18p9dg.svelte-18p9dg{width:460px}.sync-status.svelte-18p9dg.svelte-18p9dg{background:#13131f;border-radius:8px;padding:12px;margin-bottom:16px}.sync-row.svelte-18p9dg.svelte-18p9dg{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}.sync-label.svelte-18p9dg.svelte-18p9dg{color:#666}.sync-value.svelte-18p9dg.svelte-18p9dg{color:#e4e4ef}.sync-value.mono.svelte-18p9dg.svelte-18p9dg{font-family:SF Mono,Fira Code,monospace;font-size:12px}.sync-result.svelte-18p9dg.svelte-18p9dg{font-size:12px;color:#6366f1;padding:4px 0}.sync-connected-actions.svelte-18p9dg.svelte-18p9dg{display:flex;gap:8px;margin-bottom:16px}.journal-filter-section.svelte-18p9dg.svelte-18p9dg{margin-bottom:12px;padding:12px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-filter-heading.svelte-18p9dg.svelte-18p9dg{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.journal-filters-row.svelte-18p9dg.svelte-18p9dg{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end}.journal-filters-row.svelte-18p9dg label.svelte-18p9dg{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#8888a0}.journal-filters-row.svelte-18p9dg input[type=date].svelte-18p9dg{padding:5px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:12px;font-family:inherit}.journal-filters-row.svelte-18p9dg .checkbox-label.svelte-18p9dg{flex-direction:row;align-items:center;gap:6px;cursor:pointer}.journal-filters-row.svelte-18p9dg .checkbox-label input.svelte-18p9dg{width:auto}.journal-export-section.svelte-18p9dg.svelte-18p9dg{padding:8px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-export-heading.svelte-18p9dg.svelte-18p9dg{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.journal-export-row.svelte-18p9dg.svelte-18p9dg{display:flex;gap:8px;align-items:center}.journal-toggle-col.svelte-18p9dg.svelte-18p9dg{width:32px;min-width:32px;text-align:center;padding:8px 4px!important}.journal-toggle-icon.svelte-18p9dg.svelte-18p9dg{color:#6366f1;font-size:12px}.worklog-entry.svelte-18p9dg.svelte-18p9dg{padding:8px 12px;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:6px;cursor:pointer}.worklog-entry.svelte-18p9dg.svelte-18p9dg:hover{border-color:#3a3a5c}.worklog-entry.expanded.svelte-18p9dg.svelte-18p9dg{border-color:#6366f1}.worklog-entry-head.svelte-18p9dg.svelte-18p9dg{display:flex;align-items:center;gap:8px;font-size:13px;color:#e4e4ef}.worklog-toggle.svelte-18p9dg.svelte-18p9dg{color:#6366f1;font-size:12px;width:16px;text-align:center;flex-shrink:0}.worklog-entry-summary.svelte-18p9dg.svelte-18p9dg{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worklog-entry-mins.svelte-18p9dg.svelte-18p9dg{color:#b0b0c8;font-variant-numeric:tabular-nums;white-space:nowrap}.worklog-entry-date.svelte-18p9dg.svelte-18p9dg{color:#b0b0c0;font-size:12px;white-space:nowrap}.worklog-entry-detail.svelte-18p9dg.svelte-18p9dg{margin-top:8px;padding-top:8px;border-top:1px solid #2a2a3c;display:flex;flex-direction:column;gap:8px}.wl-detail-section.svelte-18p9dg.svelte-18p9dg{font-size:13px}.wl-detail-label.svelte-18p9dg.svelte-18p9dg{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:2px}.wl-detail-section.svelte-18p9dg p.svelte-18p9dg{margin:0;color:#c0c0d0}.wl-tag-billable.svelte-18p9dg.svelte-18p9dg{font-size:10px;color:#34d399;background:#1a2a1e;padding:1px 6px;border-radius:8px;white-space:nowrap}.wl-tag-approx.svelte-18p9dg.svelte-18p9dg{font-size:10px;color:#fbbf24;background:#2a2a1a;padding:1px 6px;border-radius:8px;white-space:nowrap}.checkbox-label-inline.svelte-18p9dg.svelte-18p9dg{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#e4e4ef;cursor:pointer}.checkbox-label-inline.svelte-18p9dg input.svelte-18p9dg{width:auto}.worklog-form.svelte-18p9dg textarea.svelte-18p9dg{width:100%;padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:13px;font-family:inherit;min-height:48px;resize:vertical} diff --git a/cmd/verstak-gui/frontend-dist/assets/main-Cz8WR5cV.css b/cmd/verstak-gui/frontend-dist/assets/main-Cz8WR5cV.css new file mode 100644 index 0000000..71eae74 --- /dev/null +++ b/cmd/verstak-gui/frontend-dist/assets/main-Cz8WR5cV.css @@ -0,0 +1 @@ +.file-row.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:6px;cursor:default;transition:background .12s;min-height:52px;-webkit-user-select:none;user-select:none;position:relative}.file-row.svelte-1skuef2.svelte-1skuef2:hover{background:#1e1e30}.file-row--selected.svelte-1skuef2.svelte-1skuef2{background:#1e1e3a;outline:1px solid #3a3a6c}.file-row--selected.svelte-1skuef2.svelte-1skuef2:hover{background:#252545}.file-row.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:-2px}.file-row-icon.svelte-1skuef2.svelte-1skuef2{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:32px;height:32px;color:#888}.file-row-body.svelte-1skuef2.svelte-1skuef2{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.file-row-name.svelte-1skuef2.svelte-1skuef2{font-size:13px;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.file-row-meta.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:4px;font-size:11px;color:#666}.meta-sep.svelte-1skuef2.svelte-1skuef2{color:#444}.file-row-actions.svelte-1skuef2.svelte-1skuef2{display:flex;gap:2px;align-items:center;opacity:0;transition:opacity .15s ease;flex-shrink:0}.file-row.svelte-1skuef2:hover .file-row-actions.svelte-1skuef2{opacity:1}.action-btn.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#ccc}.action-btn-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222;color:#ff6b6b}.action-btn.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-backdrop.svelte-1skuef2.svelte-1skuef2{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.menu.svelte-1skuef2.svelte-1skuef2{position:fixed;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:4px;z-index:100;min-width:220px;box-shadow:0 4px 16px #00000080}.menu-item.svelte-1skuef2.svelte-1skuef2{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;background:transparent;color:#ccc;font-size:12px;text-align:left;cursor:pointer;border-radius:4px;font-family:inherit}.menu-item.svelte-1skuef2.svelte-1skuef2:hover{background:#2a2a3c;color:#fff}.menu-item-danger.svelte-1skuef2.svelte-1skuef2{color:#ff6b6b}.menu-item-danger.svelte-1skuef2.svelte-1skuef2:hover{background:#3a2222}.menu-item.svelte-1skuef2.svelte-1skuef2:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.menu-sep.svelte-1skuef2.svelte-1skuef2{height:1px;background:#2a2a3c;margin:4px 8px}.breadcrumbs.svelte-csi2lb{display:flex;align-items:center;gap:4px;padding:8px 0;font-size:13px;color:#999}.sep.svelte-csi2lb{color:#444}.crumb.svelte-csi2lb{font-size:13px}.crumb--current.svelte-csi2lb{color:#ccc}.crumb--link.svelte-csi2lb{background:none;border:none;padding:2px 4px;color:#888;cursor:pointer;border-radius:3px;font-family:inherit;font-size:13px;transition:color .12s,background .12s}.crumb--link.svelte-csi2lb:hover{color:#ccc;background:#1e1e30}.crumb--link.svelte-csi2lb:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.overlay.svelte-1cw3u0m{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.svelte-1cw3u0m{background:#14141f;border:1px solid #2a2a3c;border-radius:10px;width:90vw;max-width:900px;height:85vh;max-height:700px;display:flex;flex-direction:column;overflow:hidden}.preview-header.svelte-1cw3u0m{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.preview-title.svelte-1cw3u0m{display:flex;align-items:center;gap:8px;color:#ddd;font-size:14px;min-width:0}.preview-name.svelte-1cw3u0m{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-meta.svelte-1cw3u0m{font-size:11px;color:#666;margin-left:auto;white-space:nowrap}.preview-actions.svelte-1cw3u0m{display:flex;gap:4px;flex-shrink:0;margin-left:8px}.action-btn.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:4px;background:transparent;color:#666;cursor:pointer;transition:background .12s,color .12s}.action-btn.svelte-1cw3u0m:hover{background:#2a2a3c;color:#ccc}.action-btn.svelte-1cw3u0m:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.action-btn-close.svelte-1cw3u0m{color:#ff6b6b}.action-btn-close.svelte-1cw3u0m:hover{background:#3a2222;color:#f44}.preview-body.svelte-1cw3u0m{flex:1;overflow:auto;min-height:0}.preview-status.svelte-1cw3u0m{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:48px 24px;color:#888;font-size:14px}.preview-image-container.svelte-1cw3u0m{display:flex;align-items:center;justify-content:center;padding:16px;min-height:200px;background:#0e0e18}.preview-image.svelte-1cw3u0m{max-width:100%;max-height:calc(85vh - 100px);object-fit:contain;border-radius:4px}.preview-text.svelte-1cw3u0m{margin:0;padding:16px;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace;font-size:12px;line-height:1.5;color:#ccc;white-space:pre-wrap;word-wrap:break-word;overflow:auto}.preview-pdf-container.svelte-1cw3u0m{width:100%;height:100%}.preview-pdf.svelte-1cw3u0m{width:100%;height:100%;border:none}.btn-sm.svelte-1cw3u0m{padding:6px 14px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:12px;font-family:inherit;transition:background .12s}.btn-sm.svelte-1cw3u0m:hover{background:#223}.overlay.svelte-1fv6yyk{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:200}.modal.svelte-1fv6yyk{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:360px;max-width:90vw}h3.svelte-1fv6yyk{font-size:18px;margin-bottom:12px;color:#e4e4ef}.message.svelte-1fv6yyk{font-size:14px;color:#aaa;margin-bottom:20px;line-height:1.4}.actions.svelte-1fv6yyk{display:flex;gap:8px;justify-content:flex-end}.btn.svelte-1fv6yyk{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-1fv6yyk:hover{background:#223}.btn-primary.svelte-1fv6yyk{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-1fv6yyk:hover{background:#4f46e5}.btn-danger.svelte-1fv6yyk{background:#dc2626;border-color:#dc2626;color:#fff}.btn-danger.svelte-1fv6yyk:hover{background:#b91c1c}.btn.svelte-1fv6yyk:focus-visible{outline:2px solid #5588ff;outline-offset:1px}.tree-item.svelte-zj71cl.svelte-zj71cl{display:flex;align-items:center;height:32px;padding-right:8px;cursor:default;font-size:13px;color:#ccc;-webkit-user-select:none;user-select:none}.tree-item.svelte-zj71cl.svelte-zj71cl:hover{background:#223}.tree-item.selected.svelte-zj71cl.svelte-zj71cl{background:#2a2a4a;color:#fff;font-weight:500}.tree-item.drop-valid.svelte-zj71cl.svelte-zj71cl{background:#1a3a1a;outline:1px solid #4ade80;outline-offset:-1px}.tree-item.drop-invalid.svelte-zj71cl.svelte-zj71cl{background:#3a1a1a;outline:1px solid #ff6b6b;outline-offset:-1px}.tree-toggle.svelte-zj71cl.svelte-zj71cl{background:none;border:none;color:#666;cursor:pointer;padding:0;width:20px;height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;line-height:1;font-size:12px}.tree-toggle.svelte-zj71cl.svelte-zj71cl:hover{color:#a5b4fc}.tree-toggle-placeholder.svelte-zj71cl.svelte-zj71cl{display:inline-block;width:20px;flex-shrink:0}.tree-icon.svelte-zj71cl.svelte-zj71cl{display:inline-flex;align-items:center;justify-content:center;width:20px;height:32px;flex-shrink:0;color:#888;margin-right:4px;cursor:pointer}.tree-icon.svelte-zj71cl.svelte-zj71cl:hover,.tree-item.selected.svelte-zj71cl .tree-icon.svelte-zj71cl{color:#a5b4fc}.tree-label.svelte-zj71cl.svelte-zj71cl{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;line-height:32px}.svelte-nsunc1.svelte-nsunc1,.svelte-nsunc1.svelte-nsunc1:before,.svelte-nsunc1.svelte-nsunc1:after{box-sizing:border-box;margin:0;padding:0}.app.svelte-nsunc1.svelte-nsunc1{display:flex;width:100vw;height:100vh;overflow:hidden;background:#13131f;color:#e4e4ef;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}.sidebar.svelte-nsunc1.svelte-nsunc1{width:260px;min-width:200px;height:100vh;display:flex;flex-direction:column;background:#1a1a28;border-right:1px solid #2a2a3c;flex-shrink:0;overflow:hidden}.sidebar-brand.svelte-nsunc1.svelte-nsunc1{padding:16px 20px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #2a2a3c;flex-shrink:0}.logo.svelte-nsunc1.svelte-nsunc1{font-size:20px;line-height:1}.brand-name.svelte-nsunc1.svelte-nsunc1{font-size:16px;font-weight:600}.sidebar-nav.svelte-nsunc1.svelte-nsunc1{flex:1;overflow-y:auto;padding:12px 0}.nav-group.svelte-nsunc1.svelte-nsunc1{margin-bottom:16px}.nav-label.svelte-nsunc1.svelte-nsunc1{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;padding:4px 20px;margin-bottom:4px}.nav-item.svelte-nsunc1.svelte-nsunc1{display:block;width:100%;padding:8px 20px;border:none;background:none;color:#ccc;font-size:13px;text-align:left;cursor:pointer;border-radius:0;font-family:inherit}.nav-item.svelte-nsunc1.svelte-nsunc1:hover{background:#223}.nav-item.selected.svelte-nsunc1.svelte-nsunc1{background:#2a2a4a;color:#fff;font-weight:500}.workspace-tree-area.svelte-nsunc1.svelte-nsunc1{min-height:32px}.workspace-tree-area.drop-valid.svelte-nsunc1.svelte-nsunc1{outline:2px dashed #4ade80;outline-offset:-2px;background:#4ade800d}.nav-empty.svelte-nsunc1.svelte-nsunc1{padding:8px 20px;color:#555;font-size:12px}.nav-label-row.svelte-nsunc1.svelte-nsunc1{font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666;padding:4px 20px;margin-bottom:4px;display:flex;align-items:center;justify-content:space-between}.nav-add-btn.svelte-nsunc1.svelte-nsunc1{background:none;border:none;color:#666;cursor:pointer;font-size:16px;padding:0 4px;font-family:inherit;line-height:1}.nav-add-btn.svelte-nsunc1.svelte-nsunc1:hover{color:#ccc}.context-menu-backdrop.svelte-nsunc1.svelte-nsunc1{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.context-menu.svelte-nsunc1.svelte-nsunc1{position:fixed;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:4px;min-width:180px;box-shadow:0 8px 24px #0006}.context-menu-section.svelte-nsunc1.svelte-nsunc1{padding:6px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#666}.context-menu-item.svelte-nsunc1.svelte-nsunc1{display:flex;width:100%;padding:6px 12px;border:none;background:none;color:#ccc;font-size:13px;text-align:left;cursor:pointer;border-radius:4px;font-family:inherit;align-items:center;gap:6px}.context-menu-item.svelte-nsunc1.svelte-nsunc1:hover{background:#223;color:#fff}.context-menu-item.danger.svelte-nsunc1.svelte-nsunc1{color:#ff6b6b}.context-menu-item.danger.svelte-nsunc1.svelte-nsunc1:hover{background:#3a2222;color:#ff6b6b}.context-menu-divider.svelte-nsunc1.svelte-nsunc1{height:1px;background:#2a2a3c;margin:4px 0}.create-context.svelte-nsunc1.svelte-nsunc1{font-size:12px;color:#888;margin-bottom:12px}.sidebar-footer.svelte-nsunc1.svelte-nsunc1{padding:8px 12px;border-top:1px solid #2a2a3c;flex-shrink:0;display:flex;flex-direction:column;gap:4px}.version.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#555;text-align:center}.main.svelte-nsunc1.svelte-nsunc1{flex:1;display:flex;flex-direction:column;height:100vh;min-width:0;overflow:hidden;background:#13131f}.header.svelte-nsunc1.svelte-nsunc1{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;flex-shrink:0;min-height:48px}.header-left.svelte-nsunc1.svelte-nsunc1{display:flex;align-items:center;gap:8px;flex:1}.header-right.svelte-nsunc1.svelte-nsunc1{display:flex;align-items:center;gap:8px}.header-sync-btn.svelte-nsunc1.svelte-nsunc1{background:#1e1e38;border:1px solid #6366f1;border-radius:8px;padding:6px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;color:#c0c0f0;font-family:inherit;font-size:13px;position:relative}.header-sync-btn.svelte-nsunc1.svelte-nsunc1:hover{background:#2a2a50;color:#e4e4ef;border-color:#818cf8}.header-sync-btn.svelte-nsunc1.svelte-nsunc1:disabled{opacity:.5;cursor:not-allowed}.sync-badge.svelte-nsunc1.svelte-nsunc1{background:#6366f1;color:#fff;font-size:10px;border-radius:50%;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;position:absolute;top:-6px;right:-6px}.crumb.svelte-nsunc1.svelte-nsunc1{font-size:14px;font-weight:500}.crumb.placeholder.svelte-nsunc1.svelte-nsunc1{color:#666}.crumb-type.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#555;background:#1e1e2e;padding:2px 8px;border-radius:10px;margin-left:8px}.error-banner.svelte-nsunc1.svelte-nsunc1{background:#3a2222;color:#f88;padding:8px 24px;font-size:12px;border-bottom:1px solid #4a2222;flex-shrink:0;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.dismiss-btn.svelte-nsunc1.svelte-nsunc1{background:none;border:none;color:#f66;cursor:pointer;padding:2px;display:flex;align-items:center;border-radius:2px}.dismiss-btn.svelte-nsunc1.svelte-nsunc1:hover{color:#f44}.tabs.svelte-nsunc1.svelte-nsunc1{display:flex;border-bottom:1px solid #2a2a3c;flex-shrink:0;padding:0 24px}.tab.svelte-nsunc1.svelte-nsunc1{padding:10px 16px;border:none;background:none;color:#888;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;font-family:inherit}.tab.svelte-nsunc1.svelte-nsunc1:hover{color:#a5b4fc}.tab.active.svelte-nsunc1.svelte-nsunc1{color:#e4e4ef;border-bottom-color:#818cf8;background:#6366f11f;font-weight:600}.tab-content.svelte-nsunc1.svelte-nsunc1{flex:1;overflow-y:auto}.note-editor.svelte-nsunc1.svelte-nsunc1{flex:1;display:flex;flex-direction:column;height:100%}.note-editor-header.svelte-nsunc1.svelte-nsunc1{padding:12px 24px;border-bottom:1px solid #2a2a3c;display:flex;align-items:center;gap:12px;flex-shrink:0}.note-title.svelte-nsunc1.svelte-nsunc1{font-size:16px;font-weight:500}.dirty-mark.svelte-nsunc1.svelte-nsunc1{color:#f59e0b;font-size:10px}.note-editor-actions.svelte-nsunc1.svelte-nsunc1{margin-left:auto;display:flex;gap:8px}.note-textarea.svelte-nsunc1.svelte-nsunc1{flex:1;width:100%;border:none;outline:none;background:#13131f;color:#e4e4ef;font-family:SF Mono,Fira Code,monospace;font-size:14px;line-height:1.6;padding:24px;resize:none}.overview.svelte-nsunc1.svelte-nsunc1{padding:24px}.overview.svelte-nsunc1 h2.svelte-nsunc1{font-size:24px;margin-bottom:16px}.meta-grid.svelte-nsunc1.svelte-nsunc1{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;margin-bottom:24px}.meta-item.svelte-nsunc1.svelte-nsunc1{background:#1a1a28;padding:12px 16px;border-radius:8px}.meta-label.svelte-nsunc1.svelte-nsunc1{display:block;font-size:11px;color:#666;margin-bottom:4px;text-transform:uppercase}.quick-actions.svelte-nsunc1.svelte-nsunc1{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.qa-btn.svelte-nsunc1.svelte-nsunc1{padding:10px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;display:inline-flex;align-items:center;gap:6px}.qa-btn.svelte-nsunc1.svelte-nsunc1:hover{background:#223}.qa-btn.svelte-nsunc1.svelte-nsunc1:disabled{opacity:.4;cursor:not-allowed}.recent-section.svelte-nsunc1.svelte-nsunc1{margin-bottom:24px}.recent-section.svelte-nsunc1 h3.svelte-nsunc1{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:8px}.recent-note.svelte-nsunc1.svelte-nsunc1{padding:8px 12px;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between}.recent-note.svelte-nsunc1.svelte-nsunc1:hover{background:#1a1a28}.recent-date.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#555}.recent-entry.svelte-nsunc1.svelte-nsunc1{padding:6px 0;font-size:13px;color:#888;border-bottom:1px solid #1a1a28}.notes-tab.svelte-nsunc1.svelte-nsunc1{padding:24px}.tab-toolbar.svelte-nsunc1.svelte-nsunc1{margin-bottom:16px}.create-form.svelte-nsunc1.svelte-nsunc1{background:#1a1a28;padding:16px;border-radius:8px;margin-bottom:16px}.create-form.svelte-nsunc1 input.svelte-nsunc1{width:100%;padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;font-family:inherit;margin-bottom:8px}.create-form.svelte-nsunc1 input.svelte-nsunc1:focus{outline:none;border-color:#6366f1}.form-actions.svelte-nsunc1.svelte-nsunc1{display:flex;gap:8px}.notes-list.svelte-nsunc1.svelte-nsunc1{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.note-card.svelte-nsunc1.svelte-nsunc1{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;padding:16px;cursor:pointer}.note-card.svelte-nsunc1.svelte-nsunc1:hover{border-color:#3a3a5c}.note-card-title.svelte-nsunc1.svelte-nsunc1{font-size:14px;font-weight:500;margin-bottom:4px}.note-card-date.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#555}.worklog-tab.svelte-nsunc1.svelte-nsunc1{padding:24px}.worklog-form.svelte-nsunc1.svelte-nsunc1{display:flex;gap:8px;margin-bottom:24px;align-items:center}.worklog-form.svelte-nsunc1 input.svelte-nsunc1{padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;font-family:inherit}.worklog-form.svelte-nsunc1 input.svelte-nsunc1:focus{outline:none;border-color:#6366f1}.worklog-form.svelte-nsunc1 input[type=text].svelte-nsunc1{flex:1}.worklog-form.svelte-nsunc1 input[type=number].svelte-nsunc1{width:70px}.worklog-entry.svelte-nsunc1.svelte-nsunc1{padding:12px 0;border-bottom:1px solid #1a1a28}.suggestions-title.svelte-nsunc1.svelte-nsunc1{font-size:13px;font-weight:600;color:#a5b4fc;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.suggestion-summary.svelte-nsunc1.svelte-nsunc1{font-size:14px;color:#e4e4ef}.suggestion-meta.svelte-nsunc1.svelte-nsunc1{font-size:12px;color:#8888a0;margin-top:2px}.suggestion-main.svelte-nsunc1.svelte-nsunc1{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;cursor:pointer;gap:12px}.suggestion-card.expanded.svelte-nsunc1.svelte-nsunc1{border-color:#3a3a5c}.suggestion-detail.svelte-nsunc1.svelte-nsunc1{padding:0 12px 10px;border-top:1px solid #2a2a3c}.suggestion-detail-title.svelte-nsunc1.svelte-nsunc1{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;padding:8px 0 4px}.suggestion-detail-event.svelte-nsunc1.svelte-nsunc1{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:13px;color:#b0b0c0}.suggestion-event-time.svelte-nsunc1.svelte-nsunc1{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.suggestion-event-type.svelte-nsunc1.svelte-nsunc1{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.suggestion-event-title.svelte-nsunc1.svelte-nsunc1{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-card.svelte-nsunc1.svelte-nsunc1{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#1e1e32;border-radius:6px;margin-bottom:8px;gap:12px}.suggestion-card.svelte-nsunc1.svelte-nsunc1:last-child{margin-bottom:0}.suggestion-info.svelte-nsunc1.svelte-nsunc1{flex:1;display:flex;flex-direction:column;gap:2px}.suggestion-node.svelte-nsunc1.svelte-nsunc1{color:#a5b4fc;font-weight:600;font-size:13px;text-decoration:none;cursor:pointer}.suggestion-node.svelte-nsunc1.svelte-nsunc1:hover{text-decoration:underline}.suggestion-actions.svelte-nsunc1.svelte-nsunc1{display:flex;align-items:center;gap:6px;flex-shrink:0}.suggestion-min-input.svelte-nsunc1.svelte-nsunc1{width:60px;padding:4px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;text-align:center}.suggestion-min-label.svelte-nsunc1.svelte-nsunc1{font-size:12px;color:#8888a0}.suggestion-confidence.svelte-nsunc1.svelte-nsunc1{font-size:11px;padding:2px 6px;border-radius:3px}.suggestion-confidence.low.svelte-nsunc1.svelte-nsunc1{color:#fbbf24}.suggestion-confidence.medium.svelte-nsunc1.svelte-nsunc1{color:#60a5fa}.suggestion-confidence.high.svelte-nsunc1.svelte-nsunc1{color:#34d399}.journal-screen.svelte-nsunc1.svelte-nsunc1{padding:24px;overflow-y:auto;flex:1}.journal-header.svelte-nsunc1.svelte-nsunc1{margin-bottom:24px}.journal-header.svelte-nsunc1 h2.svelte-nsunc1{margin:0 0 16px}.journal-summary.svelte-nsunc1.svelte-nsunc1{display:flex;flex-wrap:wrap;gap:24px;margin-bottom:24px;padding:16px;background:#1a1a2e;border-radius:8px;border:1px solid #2a2a3c}.summary-total.svelte-nsunc1.svelte-nsunc1{font-size:18px;font-weight:700;color:#e4e4ef;width:100%;margin-bottom:4px}.summary-section.svelte-nsunc1.svelte-nsunc1{flex:1;min-width:200px}.summary-label.svelte-nsunc1.svelte-nsunc1{font-size:12px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.summary-row.svelte-nsunc1.svelte-nsunc1{display:flex;gap:8px;font-size:13px;padding:4px 0;border-bottom:1px solid #2a2a3c}.summary-row.svelte-nsunc1 span.svelte-nsunc1:first-child{flex:1;color:#e4e4ef}.summary-count.svelte-nsunc1.svelte-nsunc1{color:#8888a0}.journal-table-wrap.svelte-nsunc1.svelte-nsunc1{overflow-x:auto}.journal-table.svelte-nsunc1.svelte-nsunc1{width:100%;border-collapse:collapse;font-size:13px}.journal-table.svelte-nsunc1 th.svelte-nsunc1{text-align:left;padding:8px 12px;border-bottom:2px solid #2a2a3c;color:#b0b0c8;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.journal-table.svelte-nsunc1 td.svelte-nsunc1{padding:8px 12px;border-bottom:1px solid #1a1a28;color:#e4e4ef}.journal-table.svelte-nsunc1 tr:hover td.svelte-nsunc1{background:#1e1e32}.journal-table.svelte-nsunc1 .link-btn.svelte-nsunc1{color:#a5b4fc}.journal-path-cell.svelte-nsunc1.svelte-nsunc1{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a0a0b8;font-size:12px}.journal-min-cell.svelte-nsunc1.svelte-nsunc1{text-align:right;font-variant-numeric:tabular-nums}.journal-date-cell.svelte-nsunc1.svelte-nsunc1{color:#b0b0c0;white-space:nowrap}.journal-bool-cell.svelte-nsunc1.svelte-nsunc1{text-align:center;color:#a0a0b8}.journal-row.svelte-nsunc1.svelte-nsunc1{cursor:pointer}.journal-row.svelte-nsunc1:hover td.svelte-nsunc1{background:#1e1e32}.journal-row.expanded.svelte-nsunc1 td.svelte-nsunc1{background:#1a1a30;border-bottom:none}.journal-summary-cell.svelte-nsunc1.svelte-nsunc1{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-row-detail.svelte-nsunc1 td.svelte-nsunc1{padding:0 12px 12px;background:#16162a}.journal-detail-body.svelte-nsunc1.svelte-nsunc1{display:flex;flex-direction:column;gap:12px;padding:8px 0}.journal-detail-section.svelte-nsunc1.svelte-nsunc1{font-size:13px}.journal-detail-label.svelte-nsunc1.svelte-nsunc1{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:4px}.journal-detail-section.svelte-nsunc1 p.svelte-nsunc1{margin:0;color:#c0c0d0}.journal-event-row.svelte-nsunc1.svelte-nsunc1{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0}.journal-event-time.svelte-nsunc1.svelte-nsunc1{color:#a0a0b8;font-variant-numeric:tabular-nums;white-space:nowrap;min-width:48px}.journal-event-type.svelte-nsunc1.svelte-nsunc1{color:#8888a0;font-size:11px;background:#1a1a2e;padding:1px 6px;border-radius:3px}.journal-event-title.svelte-nsunc1.svelte-nsunc1{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-node-picker.svelte-nsunc1 input[type=text].svelte-nsunc1{padding:6px 10px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:13px;font-family:inherit;width:240px}.journal-search-dropdown.svelte-nsunc1.svelte-nsunc1{position:absolute;top:100%;left:0;right:0;z-index:50;background:#1a1a28;border:1px solid #2a2a3c;border-radius:6px;margin-top:4px;max-height:240px;overflow-y:auto;min-width:260px}.journal-search-item.svelte-nsunc1.svelte-nsunc1{display:block;width:100%;padding:8px 12px;border:none;background:transparent;color:#e4e4ef;cursor:pointer;font-family:inherit;font-size:13px;text-align:left}.journal-search-item.svelte-nsunc1.svelte-nsunc1:hover{background:#2a2a4a}.journal-search-title.svelte-nsunc1.svelte-nsunc1{display:block;font-weight:500}.journal-search-path.svelte-nsunc1.svelte-nsunc1{display:block;font-size:11px;color:#8888a0;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.journal-selected-node.svelte-nsunc1.svelte-nsunc1{cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:#1e1e3a;border:1px solid #3a3a5c;border-radius:4px;font-size:13px;color:#a5b4fc;white-space:nowrap;font-family:inherit}.journal-selected-node.svelte-nsunc1.svelte-nsunc1:hover{background:#2a2a4a}.journal-node-clear.svelte-nsunc1.svelte-nsunc1{color:#8888a0;font-size:14px;margin-left:4px}.journal-status-msg.svelte-nsunc1.svelte-nsunc1{font-size:12px;color:#34d399;padding:4px 8px;background:#1a2a1e;border-radius:4px}.journal-include-chk.svelte-nsunc1.svelte-nsunc1{width:16px;height:16px;accent-color:#6366f1;cursor:pointer}.today-suggestions.svelte-nsunc1.svelte-nsunc1{margin-bottom:24px}.link-btn.svelte-nsunc1.svelte-nsunc1{background:none;border:none;padding:0;color:#a5b4fc;font:inherit;cursor:pointer;text-align:left}.link-btn.svelte-nsunc1.svelte-nsunc1:hover{text-decoration:underline}.nav-badge.svelte-nsunc1.svelte-nsunc1{background:#6366f1;color:#fff;font-size:10px;font-weight:700;border-radius:10px;padding:1px 6px;margin-left:6px;line-height:1.4}.actions-tab.svelte-nsunc1.svelte-nsunc1{padding:24px}.action-card.svelte-nsunc1.svelte-nsunc1{background:#1a1a28;padding:12px 16px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.action-info.svelte-nsunc1.svelte-nsunc1{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.action-title.svelte-nsunc1.svelte-nsunc1{font-weight:500}.action-type.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px;white-space:nowrap}.action-data.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#555;font-family:SF Mono,Fira Code,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.action-btns.svelte-nsunc1.svelte-nsunc1{display:flex;gap:4px;flex-shrink:0}.action-btns.svelte-nsunc1 .btn-danger.svelte-nsunc1{color:#ff6b6b;border-color:#4a2222;padding:4px 8px}.action-btns.svelte-nsunc1 .btn-danger.svelte-nsunc1:hover{background:#3a2222}.empty-state.svelte-nsunc1.svelte-nsunc1{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-state.svelte-nsunc1 p.svelte-nsunc1{margin:0;font-size:14px;color:#666}.empty-state.svelte-nsunc1 .empty-icon.svelte-nsunc1{margin-bottom:12px;color:#444}.empty-state.svelte-nsunc1 .hint.svelte-nsunc1{font-size:12px;color:#555;margin-top:6px}.empty-state.svelte-nsunc1 .empty-actions.svelte-nsunc1{display:flex;gap:8px;justify-content:center;margin-top:16px}.welcome.svelte-nsunc1.svelte-nsunc1{padding:48px 24px;text-align:center}.welcome.svelte-nsunc1 h2.svelte-nsunc1{font-size:32px;font-weight:300;color:#8888a4;margin-bottom:16px}.welcome.svelte-nsunc1 p.svelte-nsunc1{color:#666;font-size:14px}.error-text.svelte-nsunc1.svelte-nsunc1{color:#f88}.modal-overlay.svelte-nsunc1.svelte-nsunc1{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.modal.svelte-nsunc1.svelte-nsunc1{background:#1a1a28;border:1px solid #2a2a3c;border-radius:12px;padding:24px;width:400px;max-width:90vw}.modal.svelte-nsunc1 h3.svelte-nsunc1{font-size:18px;margin-bottom:16px}.form-group.svelte-nsunc1.svelte-nsunc1{margin-bottom:12px}.form-group.svelte-nsunc1 label.svelte-nsunc1{display:block}.form-group.svelte-nsunc1 .label-text.svelte-nsunc1,.form-group.svelte-nsunc1 .form-label.svelte-nsunc1{display:block;font-size:12px;color:#666;margin-bottom:4px}.form-group.svelte-nsunc1 input.svelte-nsunc1,.form-group.svelte-nsunc1 select.svelte-nsunc1{width:100%;padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:14px;font-family:inherit}.form-group.svelte-nsunc1 select.svelte-nsunc1{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:32px}.form-group.svelte-nsunc1 input.svelte-nsunc1:focus,.form-group.svelte-nsunc1 select.svelte-nsunc1:focus{outline:none;border-color:#6366f1}.modal-actions.svelte-nsunc1.svelte-nsunc1{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.btn.svelte-nsunc1.svelte-nsunc1{padding:8px 16px;border:1px solid #2a2a3c;background:#1a1a28;color:#ccc;border-radius:6px;cursor:pointer;font-size:13px;font-family:inherit}.btn.svelte-nsunc1.svelte-nsunc1:hover{background:#223}.btn-primary.svelte-nsunc1.svelte-nsunc1{background:#6366f1;border-color:#6366f1;color:#fff}.btn-primary.svelte-nsunc1.svelte-nsunc1:hover{background:#4f46e5}.btn.svelte-nsunc1.svelte-nsunc1:disabled{opacity:.4;cursor:not-allowed}.btn-sm.svelte-nsunc1.svelte-nsunc1{padding:4px 10px;font-size:12px}.btn-danger.svelte-nsunc1.svelte-nsunc1{color:#ff6b6b;border-color:#4a2222}.btn-danger.svelte-nsunc1.svelte-nsunc1:hover{background:#3a2222}.files-tab.svelte-nsunc1.svelte-nsunc1{padding:20px}.files-tab.svelte-nsunc1 .tab-toolbar.svelte-nsunc1{display:flex;gap:8px;align-items:center;margin-bottom:16px}.file-list.svelte-nsunc1.svelte-nsunc1{display:flex;flex-direction:column}.back-btn.svelte-nsunc1.svelte-nsunc1{margin-bottom:4px;display:inline-flex;align-items:center;gap:4px}.import-summary.svelte-nsunc1.svelte-nsunc1{margin-bottom:16px}.summary-row.svelte-nsunc1.svelte-nsunc1{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;border-bottom:1px solid #2a2a3c}.summary-warn.svelte-nsunc1.svelte-nsunc1{margin-top:8px;padding:8px 12px;background:#3a2a22;border-radius:6px;color:#fa6;font-size:13px}.rename-error.svelte-nsunc1.svelte-nsunc1{color:#ff6b6b;font-size:12px;margin-top:4px}.template-cards.svelte-nsunc1.svelte-nsunc1{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.template-card.svelte-nsunc1.svelte-nsunc1{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #2a2a3c;background:#13131f;color:#ccc;border-radius:8px;cursor:pointer;font-size:13px;font-family:inherit;width:100%;text-align:left}.template-card.svelte-nsunc1.svelte-nsunc1:hover{background:#1e1e30;border-color:#3a3a5c}.template-card.selected.svelte-nsunc1.svelte-nsunc1{background:#2a2a50;border-color:#6366f1;color:#e4e4ef}.template-card-text.svelte-nsunc1.svelte-nsunc1{display:flex;flex-direction:column;gap:2px;min-width:0}.template-card-title.svelte-nsunc1.svelte-nsunc1{font-weight:500}.template-card-desc.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#888}.today-dashboard.svelte-nsunc1.svelte-nsunc1{padding:24px;overflow-y:auto;flex:1}.today-header.svelte-nsunc1.svelte-nsunc1{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.today-header.svelte-nsunc1 h2.svelte-nsunc1{font-size:24px}.today-date.svelte-nsunc1.svelte-nsunc1{font-size:13px;color:#666}.today-summary.svelte-nsunc1.svelte-nsunc1{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.summary-chip.svelte-nsunc1.svelte-nsunc1{font-size:12px;color:#b0b0c0;background:#1a1a28;border:1px solid #2a2a3c;padding:4px 12px;border-radius:16px}.today-case.svelte-nsunc1.svelte-nsunc1{background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:12px;overflow:hidden}.today-case-header.svelte-nsunc1.svelte-nsunc1{padding:12px 16px;display:flex;align-items:center;gap:8px;border-bottom:1px solid #2a2a3c;cursor:pointer}.today-case-header.svelte-nsunc1.svelte-nsunc1:hover{background:#1e1e30}.today-case-title.svelte-nsunc1.svelte-nsunc1{font-weight:500}.today-case-type.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#888;background:#223;padding:2px 8px;border-radius:10px}.today-case-count.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#6366f1;margin-left:4px}.today-case-time.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#555;margin-left:auto}.today-events.svelte-nsunc1.svelte-nsunc1{padding:8px 16px}.today-event.svelte-nsunc1.svelte-nsunc1{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:13px;color:#b0b0c0;cursor:pointer}.today-event.svelte-nsunc1.svelte-nsunc1:hover{color:#e4e4ef}.today-event-icon.svelte-nsunc1.svelte-nsunc1{width:18px;text-align:center;color:#6366f1;font-size:13px}.today-event-title.svelte-nsunc1.svelte-nsunc1{flex:1}.today-event-type.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#666}.today-event-time.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#555;margin-left:auto}.today-events-empty.svelte-nsunc1.svelte-nsunc1{padding:8px 16px;font-size:13px;color:#666;font-style:italic}.today-empty.svelte-nsunc1.svelte-nsunc1{padding:48px 24px;text-align:center}.today-empty.svelte-nsunc1 p.svelte-nsunc1{color:#666;font-size:14px;margin:0}.today-empty.svelte-nsunc1 .hint.svelte-nsunc1{font-size:12px;color:#555;margin-top:8px}.today-timeline.svelte-nsunc1.svelte-nsunc1{margin-top:24px}.today-timeline.svelte-nsunc1 h3.svelte-nsunc1{font-size:13px;color:#666;text-transform:uppercase;margin-bottom:12px}.timeline-event.svelte-nsunc1.svelte-nsunc1{display:flex;align-items:center;gap:10px;font-size:13px;color:#b0b0c0;border-left:2px solid #2a2a3c;padding:6px 0 6px 16px;margin-left:4px;cursor:pointer}.timeline-event.svelte-nsunc1.svelte-nsunc1:hover{color:#e4e4ef}.timeline-dot.svelte-nsunc1.svelte-nsunc1{width:6px;height:6px;border-radius:50%;background:#6366f1;margin-left:-19px;flex-shrink:0}.timeline-title.svelte-nsunc1.svelte-nsunc1{flex:1}.timeline-type.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#666}.timeline-time.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#555}.activity-tab.svelte-nsunc1.svelte-nsunc1{padding:24px}.activity-events.svelte-nsunc1.svelte-nsunc1{display:flex;flex-direction:column;gap:2px}.activity-event.svelte-nsunc1.svelte-nsunc1{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px;color:#b0b0c0;cursor:pointer}.activity-event.svelte-nsunc1.svelte-nsunc1:hover{background:#1a1a28;color:#e4e4ef}.activity-event-icon.svelte-nsunc1.svelte-nsunc1{width:18px;text-align:center;color:#6366f1;font-size:13px;flex-shrink:0}.activity-event-title.svelte-nsunc1.svelte-nsunc1{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-event-type.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#666;flex-shrink:0}.activity-event-target.svelte-nsunc1.svelte-nsunc1{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px;flex-shrink:0}.activity-event-time.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#555;margin-left:8px;flex-shrink:0}.activity-feed.svelte-nsunc1.svelte-nsunc1{padding:24px;overflow-y:auto;flex:1}.activity-feed-header.svelte-nsunc1.svelte-nsunc1{margin-bottom:20px}.activity-feed-header.svelte-nsunc1 h2.svelte-nsunc1{font-size:24px}.activity-feed-events.svelte-nsunc1.svelte-nsunc1{display:flex;flex-direction:column;gap:2px}.activity-feed-event.svelte-nsunc1.svelte-nsunc1{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:8px;cursor:pointer}.activity-feed-event.svelte-nsunc1.svelte-nsunc1:hover{background:#1a1a28;color:#e4e4ef}.activity-feed-icon.svelte-nsunc1.svelte-nsunc1{width:20px;text-align:center;color:#6366f1;font-size:14px;flex-shrink:0;margin-top:1px}.activity-feed-body.svelte-nsunc1.svelte-nsunc1{flex:1;min-width:0}.activity-feed-title.svelte-nsunc1.svelte-nsunc1{font-size:14px;color:#e4e4ef}.activity-feed-meta.svelte-nsunc1.svelte-nsunc1{display:flex;align-items:center;gap:8px;margin-top:2px}.activity-feed-type.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#666}.activity-feed-target.svelte-nsunc1.svelte-nsunc1{font-size:10px;color:#555;background:#1e1e2e;padding:1px 6px;border-radius:8px}.activity-feed-time.svelte-nsunc1.svelte-nsunc1{font-size:11px;color:#555}.sidebar-sync-btn.svelte-nsunc1.svelte-nsunc1{background:#1e1e38;border:1px solid #6366f1;border-radius:8px;padding:8px 12px;cursor:pointer;width:100%;display:flex;align-items:center;gap:8px;color:#c0c0f0;font-family:inherit;font-size:13px}.sidebar-sync-btn.svelte-nsunc1.svelte-nsunc1:hover{background:#2a2a50;color:#e4e4ef;border-color:#818cf8}.sidebar-sync-label.svelte-nsunc1.svelte-nsunc1{flex:1;text-align:left}.sync-dot.svelte-nsunc1.svelte-nsunc1{width:8px;height:8px;border-radius:50%;background:#4a4a4a;flex-shrink:0}.sync-dot.active.svelte-nsunc1.svelte-nsunc1{background:#4ade80;box-shadow:0 0 6px #4ade8080}.modal-sync.svelte-nsunc1.svelte-nsunc1{width:460px}.sync-status.svelte-nsunc1.svelte-nsunc1{background:#13131f;border-radius:8px;padding:12px;margin-bottom:16px}.sync-row.svelte-nsunc1.svelte-nsunc1{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}.sync-label.svelte-nsunc1.svelte-nsunc1{color:#666}.sync-value.svelte-nsunc1.svelte-nsunc1{color:#e4e4ef}.sync-value.mono.svelte-nsunc1.svelte-nsunc1{font-family:SF Mono,Fira Code,monospace;font-size:12px}.sync-result.svelte-nsunc1.svelte-nsunc1{font-size:12px;color:#6366f1;padding:4px 0}.sync-connected-actions.svelte-nsunc1.svelte-nsunc1{display:flex;gap:8px;margin-bottom:16px}.journal-filter-section.svelte-nsunc1.svelte-nsunc1{margin-bottom:12px;padding:12px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-filter-heading.svelte-nsunc1.svelte-nsunc1{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:8px}.journal-filters-row.svelte-nsunc1.svelte-nsunc1{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:flex-end}.journal-filters-row.svelte-nsunc1 label.svelte-nsunc1{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#8888a0}.journal-filters-row.svelte-nsunc1 input[type=date].svelte-nsunc1{padding:5px 8px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:12px;font-family:inherit}.journal-filters-row.svelte-nsunc1 .checkbox-label.svelte-nsunc1{flex-direction:row;align-items:center;gap:6px;cursor:pointer}.journal-filters-row.svelte-nsunc1 .checkbox-label input.svelte-nsunc1{width:auto}.journal-export-section.svelte-nsunc1.svelte-nsunc1{padding:8px 16px;background:#1a1a2e;border:1px solid #2a2a3c;border-radius:8px}.journal-export-heading.svelte-nsunc1.svelte-nsunc1{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;margin-bottom:6px}.journal-export-row.svelte-nsunc1.svelte-nsunc1{display:flex;gap:8px;align-items:center}.journal-toggle-col.svelte-nsunc1.svelte-nsunc1{width:32px;min-width:32px;text-align:center;padding:8px 4px!important}.journal-toggle-icon.svelte-nsunc1.svelte-nsunc1{color:#6366f1;font-size:12px}.worklog-entry.svelte-nsunc1.svelte-nsunc1{padding:8px 12px;background:#1a1a28;border:1px solid #2a2a3c;border-radius:8px;margin-bottom:6px;cursor:pointer}.worklog-entry.svelte-nsunc1.svelte-nsunc1:hover{border-color:#3a3a5c}.worklog-entry.expanded.svelte-nsunc1.svelte-nsunc1{border-color:#6366f1}.worklog-entry-head.svelte-nsunc1.svelte-nsunc1{display:flex;align-items:center;gap:8px;font-size:13px;color:#e4e4ef}.worklog-toggle.svelte-nsunc1.svelte-nsunc1{color:#6366f1;font-size:12px;width:16px;text-align:center;flex-shrink:0}.worklog-entry-summary.svelte-nsunc1.svelte-nsunc1{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.worklog-entry-mins.svelte-nsunc1.svelte-nsunc1{color:#b0b0c8;font-variant-numeric:tabular-nums;white-space:nowrap}.worklog-entry-date.svelte-nsunc1.svelte-nsunc1{color:#b0b0c0;font-size:12px;white-space:nowrap}.worklog-entry-detail.svelte-nsunc1.svelte-nsunc1{margin-top:8px;padding-top:8px;border-top:1px solid #2a2a3c;display:flex;flex-direction:column;gap:8px}.wl-detail-section.svelte-nsunc1.svelte-nsunc1{font-size:13px}.wl-detail-label.svelte-nsunc1.svelte-nsunc1{font-size:11px;font-weight:600;color:#a5b4fc;text-transform:uppercase;letter-spacing:.3px;display:block;margin-bottom:2px}.wl-detail-section.svelte-nsunc1 p.svelte-nsunc1{margin:0;color:#c0c0d0}.wl-tag-billable.svelte-nsunc1.svelte-nsunc1{font-size:10px;color:#34d399;background:#1a2a1e;padding:1px 6px;border-radius:8px;white-space:nowrap}.wl-tag-approx.svelte-nsunc1.svelte-nsunc1{font-size:10px;color:#fbbf24;background:#2a2a1a;padding:1px 6px;border-radius:8px;white-space:nowrap}.checkbox-label-inline.svelte-nsunc1.svelte-nsunc1{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#e4e4ef;cursor:pointer}.checkbox-label-inline.svelte-nsunc1 input.svelte-nsunc1{width:auto}.worklog-form.svelte-nsunc1 textarea.svelte-nsunc1{width:100%;padding:8px 12px;border:1px solid #2a2a3c;background:#13131f;color:#e4e4ef;border-radius:4px;font-size:13px;font-family:inherit;min-height:48px;resize:vertical} diff --git a/cmd/verstak-gui/frontend-dist/assets/main-cq32hqy7.js b/cmd/verstak-gui/frontend-dist/assets/main-cq32hqy7.js new file mode 100644 index 0000000..e716211 --- /dev/null +++ b/cmd/verstak-gui/frontend-dist/assets/main-cq32hqy7.js @@ -0,0 +1,3 @@ +var Qa=Object.defineProperty;var xa=(l,e,t)=>e in l?Qa(l,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[e]=t;var hl=(l,e,t)=>xa(l,typeof e!="symbol"?e+"":e,t);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const r of s.addedNodes)r.tagName==="LINK"&&r.rel==="modulepreload"&&n(r)}).observe(document,{childList:!0,subtree:!0});function t(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(o){if(o.ep)return;o.ep=!0;const s=t(o);fetch(o.href,s)}})();function ue(){}function Bo(l){return l()}function an(){return Object.create(null)}function he(l){l.forEach(Bo)}function Zt(l){return typeof l=="function"}function ht(l,e){return l!=l?e==e:l!==e||l&&typeof l=="object"||typeof l=="function"}let xt;function el(l,e){return l===e?!0:(xt||(xt=document.createElement("a")),xt.href=e,l===xt.href)}function $a(l){return Object.keys(l).length===0}const ec=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;function a(l,e){l.appendChild(e)}function C(l,e,t){l.insertBefore(e,t||null)}function w(l){l.parentNode&&l.parentNode.removeChild(l)}function Oe(l,e){for(let t=0;tl.removeEventListener(e,t,n)}function Tl(l){return function(e){return e.preventDefault(),l.call(this,e)}}function qe(l){return function(e){return e.stopPropagation(),l.call(this,e)}}function yt(l){return function(e){e.target===this&&l.call(this,e)}}function i(l,e,t){t==null?l.removeAttribute(e):l.getAttribute(e)!==t&&l.setAttribute(e,t)}function tl(l){return l===""?null:+l}function tc(l){return Array.from(l.childNodes)}function V(l,e){e=""+e,l.data!==e&&(l.data=e)}function ke(l,e){l.value=e??""}function Ke(l,e,t,n){t==null?l.style.removeProperty(e):l.style.setProperty(e,t,"")}function Rt(l,e,t){for(let n=0;n{const o=l.$$.callbacks[e];if(o){const s=lc(e,t,{cancelable:n});return o.slice().forEach(r=>{r.call(l,s)}),!s.defaultPrevented}return!0}}function Wo(l,e){const t=l.$$.callbacks[e.type];t&&t.slice().forEach(n=>n.call(this,e))}const Ot=[],cn=[];let zt=[];const un=[],nc=Promise.resolve();let wl=!1;function ic(){wl||(wl=!0,nc.then(Vo))}function Bt(l){zt.push(l)}const bl=new Set;let Pt=0;function Vo(){if(Pt!==0)return;const l=Xt;do{try{for(;Ptl.indexOf(n)===-1?e.push(n):t.push(n)),t.forEach(n=>n()),zt=e}const $t=new Set;let Mt;function xe(){Mt={r:0,c:[],p:Mt}}function $e(){Mt.r||he(Mt.c),Mt=Mt.p}function fe(l,e){l&&l.i&&($t.delete(l),l.i(e))}function ye(l,e,t,n){if(l&&l.o){if($t.has(l))return;$t.add(l),Mt.c.push(()=>{$t.delete(l),n&&(t&&l.d(1),n())}),l.o(e)}else n&&n()}function ae(l){return(l==null?void 0:l.length)!==void 0?l:Array.from(l)}function Uo(l,e){ye(l,1,1,()=>{e.delete(l.key)})}function Ko(l,e,t,n,o,s,r,u,c,d,v,g){let _=l.length,b=s.length,y=_;const k={};for(;y--;)k[l[y].key]=y;const j=[],T=new Map,E=new Map,D=[];for(y=b;y--;){const S=g(o,s,y),O=t(S);let R=r.get(O);R?D.push(()=>R.p(S,e)):(R=d(O,S),R.c()),T.set(O,j[y]=R),O in k&&E.set(O,Math.abs(y-k[O]))}const M=new Set,N=new Set;function F(S){fe(S,1),S.m(u,v),r.set(S.key,S),v=S.first,b--}for(;_&&b;){const S=j[b-1],O=l[_-1],R=S.key,B=O.key;S===O?(v=S.first,_--,b--):T.has(B)?!r.has(R)||M.has(R)?F(S):N.has(B)?_--:E.get(R)>E.get(B)?(N.add(R),F(S)):(M.add(B),_--):(c(O,r),_--)}for(;_--;){const S=l[_];T.has(S.key)||c(S,r)}for(;b;)F(j[b-1]);return he(D),j}function ut(l){l&&l.c()}function it(l,e,t){const{fragment:n,after_update:o}=l.$$;n&&n.m(e,t),Bt(()=>{const s=l.$$.on_mount.map(Bo).filter(Zt);l.$$.on_destroy?l.$$.on_destroy.push(...s):he(s),l.$$.on_mount=[]}),o.forEach(Bt)}function ot(l,e){const t=l.$$;t.fragment!==null&&(sc(t.after_update),he(t.on_destroy),t.fragment&&t.fragment.d(e),t.on_destroy=t.fragment=null,t.ctx=[])}function rc(l,e){l.$$.dirty[0]===-1&&(Ot.push(l),ic(),l.$$.dirty.fill(0)),l.$$.dirty[e/31|0]|=1<{const y=b.length?b[0]:_;return d.ctx&&o(d.ctx[g],d.ctx[g]=y)&&(!d.skip_bound&&d.bound[g]&&d.bound[g](y),v&&rc(l,g)),_}):[],d.update(),v=!0,he(d.before_update),d.fragment=n?n(d.ctx):!1,e.target){if(e.hydrate){const g=tc(e.target);d.fragment&&d.fragment.l(g),g.forEach(w)}else d.fragment&&d.fragment.c();e.intro&&fe(l.$$.fragment),it(l,e.target,e.anchor),Vo()}Yt(c)}class kt{constructor(){hl(this,"$$");hl(this,"$$set")}$destroy(){ot(this,1),this.$destroy=ue}$on(e,t){if(!Zt(t))return ue;const n=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return n.push(t),()=>{const o=n.indexOf(t);o!==-1&&n.splice(o,1)}}$set(e){this.$$set&&!$a(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const ac="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(ac);function cc(l){let e,t;return{c(){e=J("path"),t=J("polyline"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function uc(l){let e,t,n,o,s;return{c(){e=J("path"),t=J("polyline"),n=J("line"),o=J("line"),s=J("polyline"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","16"),i(n,"y1","13"),i(n,"x2","8"),i(n,"y2","13"),i(o,"x1","16"),i(o,"y1","17"),i(o,"x2","8"),i(o,"y2","17"),i(s,"points","10 9 9 9 8 9")},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),C(r,o,u),C(r,s,u)},d(r){r&&(w(e),w(t),w(n),w(o),w(s))}}}function fc(l){let e,t;return{c(){e=J("polyline"),t=J("polyline"),i(e,"points","16 18 22 12 16 6"),i(t,"points","8 6 2 12 8 18")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function dc(l){let e,t,n,o;return{c(){e=J("path"),t=J("polyline"),n=J("line"),o=J("rect"),i(e,"d","M21 8v13a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8"),i(t,"points","7 3 12 8 17 3"),i(n,"x1","3"),i(n,"y1","8"),i(n,"x2","21"),i(n,"y2","8"),i(o,"x","10"),i(o,"y","12"),i(o,"width","4"),i(o,"height","4"),i(o,"rx","1")},m(s,r){C(s,e,r),C(s,t,r),C(s,n,r),C(s,o,r)},d(s){s&&(w(e),w(t),w(n),w(o))}}}function pc(l){let e,t,n,o,s;return{c(){e=J("path"),t=J("polyline"),n=J("line"),o=J("line"),s=J("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","9"),i(n,"y1","12"),i(n,"x2","15"),i(n,"y2","12"),i(o,"x1","9"),i(o,"y1","15"),i(o,"x2","13"),i(o,"y2","15"),i(s,"x1","12"),i(s,"y1","15"),i(s,"x2","12"),i(s,"y2","18")},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),C(r,o,u),C(r,s,u)},d(r){r&&(w(e),w(t),w(n),w(o),w(s))}}}function mc(l){let e,t,n,o,s,r;return{c(){e=J("path"),t=J("polyline"),n=J("line"),o=J("line"),s=J("line"),r=J("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","8"),i(n,"y1","12"),i(n,"x2","16"),i(n,"y2","12"),i(o,"x1","8"),i(o,"y1","16"),i(o,"x2","16"),i(o,"y2","16"),i(s,"x1","8"),i(s,"y1","14"),i(s,"x2","12"),i(s,"y2","14"),i(r,"x1","12"),i(r,"y1","12"),i(r,"x2","12"),i(r,"y2","18")},m(u,c){C(u,e,c),C(u,t,c),C(u,n,c),C(u,o,c),C(u,s,c),C(u,r,c)},d(u){u&&(w(e),w(t),w(n),w(o),w(s),w(r))}}}function _c(l){let e,t,n,o;return{c(){e=J("path"),t=J("polyline"),n=J("line"),o=J("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","16"),i(n,"y1","13"),i(n,"x2","8"),i(n,"y2","13"),i(o,"x1","16"),i(o,"y1","17"),i(o,"x2","8"),i(o,"y2","17")},m(s,r){C(s,e,r),C(s,t,r),C(s,n,r),C(s,o,r)},d(s){s&&(w(e),w(t),w(n),w(o))}}}function gc(l){let e,t,n,o,s;return{c(){e=J("path"),t=J("polyline"),n=J("line"),o=J("line"),s=J("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","8"),i(n,"y1","12"),i(n,"x2","16"),i(n,"y2","12"),i(o,"x1","8"),i(o,"y1","16"),i(o,"x2","16"),i(o,"y2","16"),i(s,"x1","8"),i(s,"y1","14"),i(s,"x2","12"),i(s,"y2","14")},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),C(r,o,u),C(r,s,u)},d(r){r&&(w(e),w(t),w(n),w(o),w(s))}}}function vc(l){let e,t,n;return{c(){e=J("path"),t=J("circle"),n=J("circle"),i(e,"d","M9 18V5l12-2v13"),i(t,"cx","6"),i(t,"cy","18"),i(t,"r","3"),i(n,"cx","18"),i(n,"cy","16"),i(n,"r","3")},m(o,s){C(o,e,s),C(o,t,s),C(o,n,s)},d(o){o&&(w(e),w(t),w(n))}}}function hc(l){let e,t;return{c(){e=J("rect"),t=J("polyline"),i(e,"x","2"),i(e,"y","4"),i(e,"width","20"),i(e,"height","16"),i(e,"rx","2"),i(t,"points","10 9 16 12 10 15 10 9")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function yc(l){let e,t,n;return{c(){e=J("rect"),t=J("circle"),n=J("polyline"),i(e,"x","3"),i(e,"y","3"),i(e,"width","18"),i(e,"height","18"),i(e,"rx","2"),i(e,"ry","2"),i(t,"cx","8.5"),i(t,"cy","8.5"),i(t,"r","1.5"),i(n,"points","21 15 16 10 5 21")},m(o,s){C(o,e,s),C(o,t,s),C(o,n,s)},d(o){o&&(w(e),w(t),w(n))}}}function bc(l){let e;return{c(){e=J("path"),i(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function kc(l){let e;function t(s,r){return s[0]==="folder"?bc:s[0]==="image"?yc:s[0]==="video"?hc:s[0]==="audio"?vc:s[0]==="pdf"?gc:s[0]==="document"?_c:s[0]==="spreadsheet"?mc:s[0]==="presentation"?pc:s[0]==="archive"?dc:s[0]==="code"?fc:s[0]==="text"?uc:cc}let n=t(l),o=n(l);return{c(){e=J("svg"),o.c(),i(e,"width",l[1]),i(e,"height",l[1]),i(e,"viewBox","0 0 24 24"),i(e,"fill","none"),i(e,"stroke","currentColor"),i(e,"stroke-width","1.5"),i(e,"stroke-linecap","round"),i(e,"stroke-linejoin","round"),i(e,"xmlns","http://www.w3.org/2000/svg")},m(s,r){C(s,e,r),o.m(e,null)},p(s,[r]){n!==(n=t(s))&&(o.d(1),o=n(s),o&&(o.c(),o.m(e,null))),r&2&&i(e,"width",s[1]),r&2&&i(e,"height",s[1])},i:ue,o:ue,d(s){s&&w(e),o.d()}}}function wc(l,e,t){let{kind:n="generic"}=e,{size:o=20}=e;return l.$$set=s=>{"kind"in s&&t(0,n=s.kind),"size"in s&&t(1,o=s.size)},[n,o]}class Go extends kt{constructor(e){super(),bt(this,e,wc,kc,ht,{kind:0,size:1})}}const Cc={"nav.today":"Сегодня","nav.inbox":"Неразобранное","nav.activity":"Активность","nav.journal":"Журнал","nav.clients":"Клиенты","nav.projects":"Проекты","nav.recipes":"Рецепты","nav.documents":"Документы","nav.archive":"Архив","nav.sections":"Разделы","nav.cases":"Дела","nav.noCases":"Нет дел","nav.sync":"Синхронизация","nav.syncSettings":"Настройки синхронизации","nav.syncNow":"Синхронизировать","nav.selectPrompt":"Выберите раздел или дело","nav.brand":"Верстак","nav.system":"Системное","nav.workspace":"Рабочее пространство","nav.noNodes":"Нет узлов","nav.openFolder":"Открыть папку","nav.createInside":"Создать внутри","nav.createNode":"Создать элемент","nav.moveToRoot":"Переместить в корень","tab.overview":"Обзор","tab.notes":"Заметки","tab.files":"Файлы","tab.actions":"Действия","tab.worklog":"Журнал","tab.activity":"Активность","common.save":"Сохранить","common.cancel":"Отмена","common.delete":"Удалить","common.rename":"Переименовать","common.close":"Закрыть","common.create":"Создать","common.confirm":"Подтверждение","common.back":"← Назад","common.loading":"Загрузка...","common.error":"Ошибка:","common.yes":"Да","common.ok":"OK","common.copy":"Копировать","common.cut":"Вырезать","common.paste":"Вставить","common.duplicate":"Дублировать","common.run":"Запустить","common.test":"Test","common.all":"Все","common.open":"Открыть","common.no":"Нет","common.date":"Дата","common.search":"Найти","common.testAgain":"Проверить","common.connect":"Подключиться","common.disconnect":"Отключиться","common.settings":"Настройки","common.name":"Название","common.type":"Тип","common.section":"Раздел","common.created":"Создано","common.empty":"Нет","common.newName":"Новое имя","welcome.title":"Верстак","welcome.selectSection":"Выберите раздел в боковой панели.","welcome.createCase":"Или создайте новое дело кнопкой «+».","welcome.addCase":"Добавить дело","event.noteCreated":"Заметка создана","event.noteUpdated":"Заметка изменена","event.fileAdded":"Файл добавлен","event.fileDeleted":"Файл удалён","event.fileRenamed":"Файл переименован","event.fileCopied":"Файл скопирован","event.fileMoved":"Файл перемещён","event.folderAdded":"Папка добавлена","event.folderDeleted":"Папка удалена","event.folderRenamed":"Папка переименована","event.caseCreated":"Дело создано","event.caseUpdated":"Дело изменено","kind.project":"Проект","kind.client":"Клиент","kind.document":"Документ","kind.recipe":"Рецепт","kind.folder":"Папка","kind.note":"Заметка","kind.file":"Файл","kind.archive":"Архив","kind.case":"Дело","action.openUrl":"Открыть URL","action.openFile":"Открыть файл","action.openFolder":"Открыть папку","action.runCommand":"Запустить команду","action.runScript":"Запустить скрипт","action.openTerminal":"Открыть терминал","action.launchApp":"Запустить приложение","action.addAction":"+ Добавить действие","action.newAction":"Новое действие","action.noActions":"Действий пока нет","action.run":"Запустить","action.dataUrl":"URL","action.dataPath":"Путь","action.dataCommand":"Команда","action.urlPlaceholder":"https://example.com","action.pathPlaceholder":"/path/to/file","action.commandPlaceholder":"команда","action.namePlaceholder":"Например: Открыть сайт","note.add":"+ Добавить заметку","note.new":"Новая заметка","note.title":"Название заметки","note.noNotes":"Нет заметок","note.createFirst":"Создайте первую заметку для этого дела.","note.placeholder":"Начните писать...","note.unsavedTitle":"Несохранённые изменения","note.unsavedMessage":"Закрыть редактор? Все несохранённые изменения будут потеряны.","note.unsavedClose":"Закрыть","file.addFile":"+ Добавить файл","file.addFolder":"+ Добавить папку","file.newFile":"+ Новый файл","file.addFileSimple":"Добавить файл","file.addFolderSimple":"Добавить папку","file.noFiles":"В этой папке пока нет файлов","file.noFilesCase":"В этом проекте пока нет файлов","file.hint":"Добавьте файл или папку, чтобы сохранить материалы проекта.","file.root":"Файлы","file.preview":"Предпросмотр","file.openExternal":"Открыть во внешней программе","file.openFolder":"Открыть папку","file.showInExplorer":"Показать в проводнике","file.more":"Ещё","file.delete":"Удалить","file.ariaFolder":"Папка","file.ariaFile":"Файл","file.scanning":"Сканирование...","file.pickSingle":"Выберите файл","file.pickMultiple":"Выберите файлы","file.pickDirectory":"Выберите папку","file.importTitle":"Добавить в","file.importFiles":"Файлов:","file.importFolders":"Папок:","file.importSize":"Размер:","file.importCopy":"Скопировать","file.importLink":"Привязать","file.selectCaseFirst":"Сначала выберите дело для добавления файлов","worklog.title":"Журнал","worklog.whatDone":"Что сделано","worklog.minutes":"Мин","worklog.min":"мин","worklog.log":"Записать","worklog.addEntry":"Добавить запись","worklog.date":"Дата","worklog.empty":"Записей работы пока нет","worklog.details":"Детали","worklog.source":"Источник","worklog.sourceSuggestion":"Из предложения","worklog.sourceSuggestionNoEvents":"Из предложения, но связанные события отсутствуют","worklog.sourceManual":"Ручная запись","worklog.sourceUnknown":"Источник неизвестен","worklog.suggestions":"Предложения на сегодня","worklog.apply":"Применить","sync.title":"Синхронизация","sync.settings":"Настройки синхронизации","sync.status":"Статус","sync.server":"Сервер","sync.device":"Устройство","sync.deviceId":"ID устройства","sync.unpushed":"Неотправлено","sync.lastSync":"Последняя синх.","sync.revoked":"Отозвано","sync.connected":"Подключено","sync.notConnected":"Не подключено","sync.disabled":"Отключена","sync.serverUrl":"URL сервера","sync.serverUrlPlaceholder":"https://example.com:47732","sync.username":"Логин","sync.usernamePlaceholder":"username","sync.password":"Пароль","sync.passwordPlaceholder":"password","sync.autoSync":"Автосинхронизация (мин, 0 = отключено)","sync.saveInterval":"Сохранить интервал","sync.syncNow":"Синхронизировать","sync.disconnect":"Отключиться","sync.connect":"Подключиться","sync.test":"Проверить","sync.settingsSaved":"интервал сохранён","today.title":"Сегодня","today.changedCases":"Изменён сегодня","today.timeline":"Лента за сегодня","today.empty":"Сегодня пока тихо","today.emptyHint":"Здесь появятся дела, заметки, файлы и действия, с которыми вы работали сегодня.","today.plural.case_one":"дело","today.plural.case_few":"дела","today.plural.case_many":"дел","today.plural.note_one":"заметка","today.plural.note_few":"заметки","today.plural.note_many":"заметок","today.plural.file_one":"файл","today.plural.file_few":"файла","today.plural.file_many":"файлов","today.plural.event_one":"событие","today.plural.event_few":"события","today.plural.event_many":"событий","journal.title":"Журнал работы","journal.empty":"Нет записей за выбранный период","journal.dateFrom":"От","journal.dateTo":"До","journal.filter":"Фильтр","journal.total":"Всего","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"К оплате","journal.billableYes":"К оплате","journal.billableNo":"Не к оплате","journal.billableHint":"К оплате — можно включать в счёт клиенту","journal.approx":"Тип времени","journal.approxExact":"Точное","journal.approxEstimated":"Оценочное","journal.approxHint":"Оценочное — время предложено системой или введено как примерное","journal.includeChildrenDisabledHint":"Работает только при выбранном деле/клиенте/проекте","journal.node":"Дело","journal.path":"Путь","journal.byDay":"По дням","journal.byNode":"По делам","journal.includeChildren":"Учитывать вложенные дела","journal.nodeSearch":"Поиск дела...","journal.relatedEvents":"Связанные события","journal.filterHeading":"Фильтры","journal.exportHeading":"Экспорт отчёта","journal.reset":"Сбросить","suggest.title":"Предложения на сегодня","suggest.apply":"Записать","suggest.dismiss":"Скрыть","suggest.open":"Открыть","suggest.confidence.low":"Низкая уверенность","suggest.confidence.medium":"Средняя уверенность","suggest.confidence.high":"Высокая уверенность","suggest.minutes":"мин","suggest.edit":"Изменить","suggest.noSuggestions":"Нет предложений для журнала","suggest.detectedEvents":"Что обнаружено","activity.title":"Активность","activity.empty":"Активность пока не зафиксирована","activity.perCaseEmpty":"Активность пока не зафиксирована","overview.type":"Тип","overview.section":"Раздел","overview.created":"Создано","overview.newNote":"Новая заметка","overview.addFile":"Добавить файл","overview.addAction":"Добавить действие","overview.logTime":"Записать время","overview.recentNotes":"Последние заметки","overview.recentEntries":"Последние записи","rename.title":"Переименовать","rename.emptyError":"Имя не может быть пустым","rename.invalidError":"Недопустимое имя","delete.confirmTitle":"Удаление","delete.confirmMessage":"Удалить","delete.folder":"папку","delete.file":"файл","template.optionNone":"Пустое дело","template.optional":"Шаблон (опционально)","template.none.desc":"Без шаблона, простой узел-контейнер","template.folder":"Папка","template.folder.desc":"Папка для группировки элементов внутри рабочего пространства","template.project":"Проект","template.project.desc":"Отдельный проект или задача с файлами, заметками и журналом","template.client":"Клиент","template.client.desc":"Организация или человек, для которых ведутся работы","template.document":"Документ","template.document.desc":"Документ с описанием, заметками и файлами","template.recipe":"Рецепт","template.recipe.desc":"Повторяемая процедура или инструкция","template.note":"Заметка","template.file":"Файл","template.select":"Выберите тип","mime.jpeg":"Изображение JPEG","mime.png":"Изображение PNG","mime.gif":"Изображение GIF","mime.webp":"Изображение WebP","mime.svg":"Изображение SVG","mime.bmp":"Изображение BMP","mime.tiff":"Изображение TIFF","mime.avif":"Изображение AVIF","mime.pdf":"PDF документ","mime.word":"Документ Word","mime.excel":"Таблица Excel","mime.ppt":"Презентация PowerPoint","mime.zip":"ZIP архив","mime.gzip":"GZIP архив","mime.tar":"TAR архив","mime.sevenz":"7z архив","mime.rar":"RAR архив","mime.text":"Текстовый файл","mime.html":"HTML файл","mime.css":"CSS файл","mime.js":"JavaScript файл","mime.json":"JSON файл","mime.xml":"XML файл","mime.yaml":"YAML файл","mime.binary":"Бинарный файл","mime.executable":"Исполняемый файл","mime.folder":"Папка","mime.unknown":"Неизвестно","mime.file":"Файл","error.nameEmpty":"Имя не может быть пустым","error.nameInvalid":"Недопустимое имя","error.selectCaseFirst":"Сначала выберите дело","common.open":"Открыть","delete.files":"файлов ({count})","file.namePrompt":"Введите имя файла:","file.pdfUnavailable":"Предпросмотр PDF недоступен.","file.previewUnavailable":"Предпросмотр недоступен для этого типа файлов.","case.new":"Новое дело","case.namePlaceholder":"Название дела","error.generic":"Произошла ошибка","error.invalidCredentials":"Неверный логин или пароль","error.accountBlocked":"Аккаунт заблокирован","error.emailNotConfirmed":"Email не подтверждён","error.tokenInvalid":"Неверный или просроченный токен","error.tokenExpired":"Срок действия токена истёк"},jc={"nav.today":"Today","nav.inbox":"Inbox","nav.activity":"Activity","nav.clients":"Clients","nav.projects":"Projects","nav.recipes":"Recipes","nav.documents":"Documents","nav.archive":"Archive","nav.sections":"Sections","nav.cases":"Cases","nav.noCases":"No cases","nav.system":"System","nav.workspace":"Workspace","nav.noNodes":"No nodes","nav.openFolder":"Open folder","nav.createInside":"Create inside","nav.createNode":"Create element","nav.moveToRoot":"Move to root","nav.selectPrompt":"Select a section or case","nav.brand":"Verstak","tab.overview":"Overview","tab.notes":"Notes","tab.files":"Files","tab.actions":"Actions","tab.worklog":"Work Log","tab.activity":"Activity","common.save":"Save","common.cancel":"Cancel","common.delete":"Delete","common.rename":"Rename","common.close":"Close","common.create":"Create","common.confirm":"Confirm","common.back":"← Back","common.loading":"Loading...","common.error":"Error:","common.yes":"Yes","common.ok":"OK","common.run":"Run","common.name":"Name","common.settings":"Settings","welcome.title":"Verstak","welcome.selectSection":"Select a section in the sidebar.","welcome.addCase":"Add case","event.noteCreated":"Note created","event.noteUpdated":"Note updated","event.fileAdded":"File added","event.fileDeleted":"File deleted","event.fileRenamed":"File renamed","event.fileCopied":"File copied","event.fileMoved":"File moved","event.caseCreated":"Case created","action.openUrl":"Open URL","action.openFile":"Open file","action.openFolder":"Open folder","action.runCommand":"Run command","action.runScript":"Run script","action.openTerminal":"Open terminal","action.launchApp":"Launch app","note.add":"+ Add note","note.noNotes":"No notes","note.title":"Note title","note.placeholder":"Start writing...","file.addFile":"+ Add file","file.addFolder":"+ Add folder","file.preview":"Preview","file.openExternal":"Open in external program","file.openFolder":"Open folder","file.showInExplorer":"Show in explorer","file.delete":"Delete","file.pickSingle":"Select file","file.pickDirectory":"Select folder","sync.title":"Sync","sync.settings":"Sync settings","sync.status":"Status","sync.server":"Server","sync.device":"Device","sync.connected":"Connected","sync.notConnected":"Not connected","sync.disabled":"Disabled","kind.project":"Project","kind.client":"Client","kind.document":"Document","kind.recipe":"Recipe","kind.folder":"Folder","kind.note":"Note","kind.file":"File","kind.archive":"Archive","kind.case":"Case","template.optionNone":"Empty case","template.optional":"Template (optional)","template.none.desc":"No template, simple container node","template.folder":"Folder","template.folder.desc":"A folder to group items inside a workspace","template.project":"Project","template.project.desc":"A distinct project or task with files, notes and work log","template.client":"Client","template.client.desc":"An organization or person for whom work is performed","template.document":"Document","template.document.desc":"A document with description, notes and files","template.recipe":"Recipe","template.recipe.desc":"A repeatable procedure or instruction","template.note":"Note","template.file":"File","template.select":"Select type","case.new":"New case","case.namePlaceholder":"Case name","error.generic":"An error occurred","error.invalidCredentials":"Invalid username or password","worklog.suggestions":"Suggestions for today","worklog.apply":"Apply","worklog.title":"Work Log","worklog.whatDone":"What was done","worklog.minutes":"Min","worklog.min":"min","worklog.log":"Log","worklog.addEntry":"Add entry","worklog.date":"Date","worklog.empty":"No work logged yet","worklog.details":"Details","worklog.source":"Source","worklog.sourceSuggestion":"From suggestion","worklog.sourceSuggestionNoEvents":"From suggestion, but related events missing","worklog.sourceManual":"Manual entry","worklog.sourceUnknown":"Unknown source","common.all":"All","common.no":"No","common.open":"Open","common.date":"Date","common.search":"Search","nav.journal":"Journal","journal.title":"Work Log","journal.empty":"No entries for the selected period","journal.dateFrom":"From","journal.dateTo":"To","journal.filter":"Filter","journal.total":"Total","journal.exportCSV":"CSV","journal.exportMarkdown":"Markdown","journal.billable":"Billable","journal.billableYes":"Billable","journal.billableNo":"Not billable","journal.billableHint":"Billable — can be included in client invoice","journal.approx":"Time type","journal.approxExact":"Exact","journal.approxEstimated":"Estimated","journal.approxHint":"Estimated — time suggested by the system or entered as approximate","journal.includeChildrenDisabledHint":"Only works when a case/client/project is selected","journal.node":"Case","journal.path":"Path","journal.byDay":"By day","journal.byNode":"By case","journal.includeChildren":"Include subtasks","journal.nodeSearch":"Search case...","journal.relatedEvents":"Related events","journal.filterHeading":"Filters","journal.exportHeading":"Export Report","journal.reset":"Reset","suggest.title":"Suggestions","suggest.apply":"Log","suggest.dismiss":"Dismiss","suggest.open":"Open","suggest.confidence.low":"Low confidence","suggest.confidence.medium":"Medium confidence","suggest.confidence.high":"High confidence","suggest.minutes":"min","suggest.edit":"Edit","suggest.noSuggestions":"No suggestions","suggest.detectedEvents":"What was detected"},fn={ru:Cc,en:jc};let dn="ru";function m(l,e){var o;const t=fn[dn];let n=t==null?void 0:t[l];if(n==null&&dn!=="ru"&&(n=(o=fn.ru)==null?void 0:o[l]),n==null&&(n=l),e!=null)for(const[s,r]of Object.entries(e))n=n.replace(`{${s}}`,String(r));return n}function ll(l){if(l==null||l<0)return"—";if(l===0)return"0 B";const e=["B","KB","MB","GB"],t=Math.min(Math.floor(Math.log(l)/Math.log(1024)),e.length-1),n=l/Math.pow(1024,t);return(t===0?n.toFixed(0):n.toFixed(1))+" "+e[t]}const Cl={"image/jpeg":m("mime.jpeg"),"image/png":m("mime.png"),"image/gif":m("mime.gif"),"image/webp":m("mime.webp"),"image/svg+xml":m("mime.svg"),"image/bmp":m("mime.bmp"),"image/tiff":m("mime.tiff"),"image/avif":m("mime.avif"),"application/pdf":m("mime.pdf"),"application/msword":m("mime.word"),"application/vnd.openxmlformats-officedocument.wordprocessingml.document":m("mime.word"),"application/vnd.ms-excel":m("mime.excel"),"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":m("mime.excel"),"application/vnd.ms-powerpoint":m("mime.ppt"),"application/vnd.openxmlformats-officedocument.presentationml.presentation":m("mime.ppt"),"application/zip":m("mime.zip"),"application/gzip":m("mime.gzip"),"application/x-tar":m("mime.tar"),"application/x-7z-compressed":m("mime.sevenz"),"application/x-rar-compressed":m("mime.rar"),"text/plain":m("mime.text"),"text/html":m("mime.html"),"text/css":m("mime.css"),"text/javascript":m("mime.js"),"application/json":m("mime.json"),"application/xml":m("mime.xml"),"application/x-yaml":m("mime.yaml"),"application/octet-stream":m("mime.binary"),"application/x-msdos-program":m("mime.executable"),"inode/directory":m("mime.folder")};function pn(l){return l?Cl[l]||l:m("mime.unknown")}function Tc(l){if(l.type==="folder")return m("mime.folder");const e=(l.mime||"").toLowerCase();if(Cl[e])return Cl[e];const n=(l.name||"").toLowerCase().split(".").pop();return n?n.toUpperCase():m("mime.file")}function qo(l){if(l.type==="folder")return"folder";const e=(l.mime||"").toLowerCase();if(e.startsWith("image/"))return"image";if(e.startsWith("video/"))return"video";if(e.startsWith("audio/"))return"audio";if(e.startsWith("text/"))return"text";if(e.includes("pdf"))return"pdf";if(e.includes("word")||e.includes("document"))return"document";if(e.includes("spreadsheet")||e.includes("excel"))return"spreadsheet";if(e.includes("presentation")||e.includes("powerpoint"))return"presentation";if(e.includes("zip")||e.includes("tar")||e.includes("gzip")||e.includes("rar")||e.includes("7z")||e.includes("compress"))return"archive";if(e.includes("json")||e.includes("xml")||e.includes("yaml")||e.includes("javascript")||e.includes("css")||e.includes("html"))return"code";const n=(l.name||"").toLowerCase().split(".").pop();return["js","ts","jsx","tsx","vue","svelte","py","rs","go","c","cpp","h","hpp","java","kt","swift","rb","php","pl","sh","bash","zsh","fish","yml","yaml","json","xml","toml","ini","cfg","conf","md","markdown","css","scss","less","sass","sql","graphql","proto","gradle","cmake","makefile","dockerfile","env","gitignore"].includes(n)?"code":"generic"}const Sc=["image/jpeg","image/png","image/gif","image/webp","image/bmp","image/tiff","image/avif","image/svg+xml"],Nc=["text/plain","text/html","text/css","text/javascript","application/json","application/xml","application/x-yaml","text/x-shellscript"],Ec=["txt","log","conf","ini","yaml","yml","json","xml","csv","sh","py","js","ts","css","html","md","markdown","cfg"],Mc=["jpg","jpeg","png","gif","webp","bmp","tiff","tif","avif","svg"];function Jo(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return Sc.includes(e)||Mc.includes(n)}function Yo(l){const e=(l.mime||"").toLowerCase(),n=(l.name||"").toLowerCase().split(".").pop();return Nc.includes(e)||Ec.includes(n)&&n!=="md"&&n!=="markdown"}function Xo(l){return(l.mime||"").toLowerCase().includes("pdf")}function Zo(l){const e=(l.name||"").toLowerCase();return e.endsWith(".md")||e.endsWith(".markdown")}function Dc(l){return Jo(l)||Xo(l)}function Ic(l){return Yo(l)||Zo(l)}const{window:Fc}=ec;function Ac(l){let e,t,n,o=ll(l[0].size)+"",s;return{c(){e=f("span"),e.textContent="·",t=h(),n=f("span"),s=A(o),i(e,"class","meta-sep svelte-1skuef2")},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),a(n,s)},p(r,u){u[0]&1&&o!==(o=ll(r[0].size)+"")&&V(s,o)},d(r){r&&(w(e),w(t),w(n))}}}function Lc(l){let e,t,n,o,s;return{c(){e=f("button"),e.innerHTML='',t=h(),n=f("button"),n.innerHTML='',i(e,"class","action-btn svelte-1skuef2"),i(e,"title",m("file.openFolder")),i(e,"aria-label",m("file.openFolder")),i(n,"class","action-btn svelte-1skuef2"),i(n,"title",m("file.showInExplorer")),i(n,"aria-label",m("file.showInExplorer"))},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),o||(s=[I(e,"click",qe(l[30])),I(n,"click",qe(l[11]))],o=!0)},p:ue,d(r){r&&(w(e),w(t),w(n)),o=!1,he(s)}}}function Pc(l){let e,t,n,o,s,r,u;return{c(){e=f("button"),e.innerHTML='',t=h(),n=f("button"),n.innerHTML='',o=h(),s=f("button"),s.innerHTML='',i(e,"class","action-btn svelte-1skuef2"),i(e,"title",m("file.preview")),i(e,"aria-label",m("file.preview")),i(n,"class","action-btn svelte-1skuef2"),i(n,"title",m("file.openExternal")),i(n,"aria-label",m("file.openExternal")),i(s,"class","action-btn svelte-1skuef2"),i(s,"title",m("file.showInExplorer")),i(s,"aria-label",m("file.showInExplorer"))},m(c,d){C(c,e,d),C(c,t,d),C(c,n,d),C(c,o,d),C(c,s,d),r||(u=[I(e,"click",qe(l[29])),I(n,"click",qe(l[10])),I(s,"click",qe(l[11]))],r=!0)},p:ue,d(c){c&&(w(e),w(t),w(n),w(o),w(s)),r=!1,he(u)}}}function mn(l){let e,t,n,o,s,r,u,c,d=m("common.open")+"",v,g,_,b,y,k,j,T,E=m("file.openExternal")+"",D,M,N,F,S,O,R=m("file.showInExplorer")+"",B,P,H,U,K,X,Y,W,q,Q=m("common.rename")+"",z,le,ve,ie,$,x,ce,Te=m("common.duplicate")+"",Ee,Re,Ce,G,Z,oe,me,je,Je,Le=m("common.cut")+"",Qe,nt,ze,be,We,De,Be,Me=m("common.copy")+"",Fe,_e,de,pe,Ie,Ae,et,Se,re,se=m("common.delete")+"",Ve,Ue,Ge;return{c(){e=f("div"),t=h(),n=f("div"),o=f("button"),s=J("svg"),r=J("path"),u=J("circle"),c=h(),v=A(d),g=h(),_=f("button"),b=J("svg"),y=J("path"),k=J("polyline"),j=J("line"),T=h(),D=A(E),M=h(),N=f("button"),F=J("svg"),S=J("path"),O=h(),B=A(R),P=h(),H=f("div"),U=h(),K=f("button"),X=J("svg"),Y=J("path"),W=J("path"),q=h(),z=A(Q),le=h(),ve=f("button"),ie=J("svg"),$=J("rect"),x=J("path"),ce=h(),Ee=A(Te),Re=h(),Ce=f("button"),G=J("svg"),Z=J("circle"),oe=J("circle"),me=J("line"),je=J("line"),Je=h(),Qe=A(Le),nt=h(),ze=f("button"),be=J("svg"),We=J("rect"),De=J("path"),Be=h(),Fe=A(Me),_e=h(),de=f("div"),pe=h(),Ie=f("button"),Ae=J("svg"),et=J("polyline"),Se=J("path"),re=h(),Ve=A(se),i(e,"class","menu-backdrop svelte-1skuef2"),i(e,"role","presentation"),i(r,"d","M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"),i(u,"cx","12"),i(u,"cy","12"),i(u,"r","3"),i(s,"width","14"),i(s,"height","14"),i(s,"viewBox","0 0 24 24"),i(s,"fill","none"),i(s,"stroke","currentColor"),i(s,"stroke-width","2"),i(s,"stroke-linecap","round"),i(s,"stroke-linejoin","round"),i(o,"class","menu-item svelte-1skuef2"),i(o,"role","menuitem"),i(y,"d","M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"),i(k,"points","15 3 21 3 21 9"),i(j,"x1","10"),i(j,"y1","14"),i(j,"x2","21"),i(j,"y2","3"),i(b,"width","14"),i(b,"height","14"),i(b,"viewBox","0 0 24 24"),i(b,"fill","none"),i(b,"stroke","currentColor"),i(b,"stroke-width","2"),i(b,"stroke-linecap","round"),i(b,"stroke-linejoin","round"),i(_,"class","menu-item svelte-1skuef2"),i(_,"role","menuitem"),i(S,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"),i(F,"width","14"),i(F,"height","14"),i(F,"viewBox","0 0 24 24"),i(F,"fill","none"),i(F,"stroke","currentColor"),i(F,"stroke-width","2"),i(F,"stroke-linecap","round"),i(F,"stroke-linejoin","round"),i(N,"class","menu-item svelte-1skuef2"),i(N,"role","menuitem"),i(H,"class","menu-sep svelte-1skuef2"),i(Y,"d","M12 20h9"),i(W,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),i(X,"width","14"),i(X,"height","14"),i(X,"viewBox","0 0 24 24"),i(X,"fill","none"),i(X,"stroke","currentColor"),i(X,"stroke-width","2"),i(X,"stroke-linecap","round"),i(X,"stroke-linejoin","round"),i(K,"class","menu-item svelte-1skuef2"),i(K,"role","menuitem"),i($,"x","9"),i($,"y","9"),i($,"width","13"),i($,"height","13"),i($,"rx","2"),i($,"ry","2"),i(x,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),i(ie,"width","14"),i(ie,"height","14"),i(ie,"viewBox","0 0 24 24"),i(ie,"fill","none"),i(ie,"stroke","currentColor"),i(ie,"stroke-width","2"),i(ie,"stroke-linecap","round"),i(ie,"stroke-linejoin","round"),i(ve,"class","menu-item svelte-1skuef2"),i(ve,"role","menuitem"),i(Z,"cx","6"),i(Z,"cy","6"),i(Z,"r","3"),i(oe,"cx","6"),i(oe,"cy","18"),i(oe,"r","3"),i(me,"x1","20"),i(me,"y1","4"),i(me,"x2","8.12"),i(me,"y2","15.88"),i(je,"x1","8.12"),i(je,"y1","8.12"),i(je,"x2","20"),i(je,"y2","20"),i(G,"width","14"),i(G,"height","14"),i(G,"viewBox","0 0 24 24"),i(G,"fill","none"),i(G,"stroke","currentColor"),i(G,"stroke-width","2"),i(G,"stroke-linecap","round"),i(G,"stroke-linejoin","round"),i(Ce,"class","menu-item svelte-1skuef2"),i(Ce,"role","menuitem"),i(We,"x","9"),i(We,"y","9"),i(We,"width","13"),i(We,"height","13"),i(We,"rx","2"),i(We,"ry","2"),i(De,"d","M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"),i(be,"width","14"),i(be,"height","14"),i(be,"viewBox","0 0 24 24"),i(be,"fill","none"),i(be,"stroke","currentColor"),i(be,"stroke-width","2"),i(be,"stroke-linecap","round"),i(be,"stroke-linejoin","round"),i(ze,"class","menu-item svelte-1skuef2"),i(ze,"role","menuitem"),i(de,"class","menu-sep svelte-1skuef2"),i(et,"points","3 6 5 6 21 6"),i(Se,"d","M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"),i(Ae,"width","14"),i(Ae,"height","14"),i(Ae,"viewBox","0 0 24 24"),i(Ae,"fill","none"),i(Ae,"stroke","currentColor"),i(Ae,"stroke-width","2"),i(Ae,"stroke-linecap","round"),i(Ae,"stroke-linejoin","round"),i(Ie,"class","menu-item menu-item-danger svelte-1skuef2"),i(Ie,"role","menuitem"),i(n,"class","menu svelte-1skuef2"),Ke(n,"left",l[3]+"px"),Ke(n,"top",l[4]+"px"),Ke(n,"position","fixed"),i(n,"role","menu"),i(n,"tabindex","-1")},m(Pe,He){C(Pe,e,He),C(Pe,t,He),C(Pe,n,He),a(n,o),a(o,s),a(s,r),a(s,u),a(o,c),a(o,v),a(n,g),a(n,_),a(_,b),a(b,y),a(b,k),a(b,j),a(_,T),a(_,D),a(n,M),a(n,N),a(N,F),a(F,S),a(N,O),a(N,B),a(n,P),a(n,H),a(n,U),a(n,K),a(K,X),a(X,Y),a(X,W),a(K,q),a(K,z),a(n,le),a(n,ve),a(ve,ie),a(ie,$),a(ie,x),a(ve,ce),a(ve,Ee),a(n,Re),a(n,Ce),a(Ce,G),a(G,Z),a(G,oe),a(G,me),a(G,je),a(Ce,Je),a(Ce,Qe),a(n,nt),a(n,ze),a(ze,be),a(be,We),a(be,De),a(ze,Be),a(ze,Fe),a(n,_e),a(n,de),a(n,pe),a(n,Ie),a(Ie,Ae),a(Ae,et),a(Ae,Se),a(Ie,re),a(Ie,Ve),Ue||(Ge=[I(e,"click",qe(l[19])),I(o,"click",l[17]),I(_,"click",l[10]),I(N,"click",l[11]),I(K,"click",l[13]),I(ve,"click",l[14]),I(Ce,"click",l[15]),I(ze,"click",l[16]),I(Ie,"click",l[12]),I(n,"click",qe(l[28])),I(n,"keydown",l[31])],Ue=!0)},p(Pe,He){He[0]&8&&Ke(n,"left",Pe[3]+"px"),He[0]&16&&Ke(n,"top",Pe[4]+"px")},d(Pe){Pe&&(w(e),w(t),w(n)),Ue=!1,he(Ge)}}}function Oc(l){let e,t,n,o,s,r,u=l[0].name+"",c,d,v,g,_,b,y,k,j,T,E,D,M,N,F,S,O,R,B,P,H,U;n=new Go({props:{kind:l[6],size:22}});let K=!l[7]&&Ac(l);function X(Q,z){return Q[7]?Lc:Pc}let W=X(l)(l),q=l[2]&&mn(l);return{c(){e=f("div"),t=f("div"),ut(n.$$.fragment),o=h(),s=f("div"),r=f("div"),c=A(u),v=h(),g=f("div"),_=f("span"),_.textContent=`${l[8]}`,b=h(),K&&K.c(),y=h(),k=f("div"),W.c(),j=h(),T=f("button"),E=J("svg"),D=J("circle"),M=J("circle"),N=J("circle"),F=h(),S=f("button"),S.innerHTML='',R=h(),q&&q.c(),B=ct(),i(t,"class","file-row-icon svelte-1skuef2"),i(r,"class","file-row-name svelte-1skuef2"),i(r,"title",d=l[0].name),i(g,"class","file-row-meta svelte-1skuef2"),i(s,"class","file-row-body svelte-1skuef2"),i(D,"cx","12"),i(D,"cy","5"),i(D,"r","2"),i(M,"cx","12"),i(M,"cy","12"),i(M,"r","2"),i(N,"cx","12"),i(N,"cy","19"),i(N,"r","2"),i(E,"width","16"),i(E,"height","16"),i(E,"viewBox","0 0 24 24"),i(E,"fill","currentColor"),i(T,"class","action-btn svelte-1skuef2"),i(T,"title",m("file.more")),i(T,"aria-label",m("file.more")),i(T,"aria-expanded",l[2]),i(S,"class","action-btn action-btn-danger svelte-1skuef2"),i(S,"title",m("common.delete")),i(S,"aria-label",m("common.delete")),i(k,"class","file-row-actions svelte-1skuef2"),i(e,"class","file-row svelte-1skuef2"),i(e,"role","button"),i(e,"tabindex","0"),i(e,"draggable","true"),i(e,"aria-label",O=l[7]?m("file.ariaFolder")+" "+l[0].name:m("file.ariaFile")+" "+l[0].name),we(e,"file-row--selected",l[1])},m(Q,z){C(Q,e,z),a(e,t),it(n,t,null),a(e,o),a(e,s),a(s,r),a(r,c),a(s,v),a(s,g),a(g,_),a(g,b),K&&K.m(g,null),a(e,y),a(e,k),W.m(k,null),a(k,j),a(k,T),a(T,E),a(E,D),a(E,M),a(E,N),a(k,F),a(k,S),C(Q,R,z),q&&q.m(Q,z),C(Q,B,z),P=!0,H||(U=[I(Fc,"click",l[19]),I(T,"click",qe(l[18])),I(S,"click",qe(l[12])),I(e,"click",l[9]),I(e,"keydown",l[24]),I(e,"contextmenu",l[23]),I(e,"dragstart",l[20]),I(e,"dragover",l[21]),I(e,"drop",l[22])],H=!0)},p(Q,z){(!P||z[0]&1)&&u!==(u=Q[0].name+"")&&V(c,u),(!P||z[0]&1&&d!==(d=Q[0].name))&&i(r,"title",d),Q[7]||K.p(Q,z),W.p(Q,z),(!P||z[0]&4)&&i(T,"aria-expanded",Q[2]),(!P||z[0]&1&&O!==(O=Q[7]?m("file.ariaFolder")+" "+Q[0].name:m("file.ariaFile")+" "+Q[0].name))&&i(e,"aria-label",O),(!P||z[0]&2)&&we(e,"file-row--selected",Q[1]),Q[2]?q?q.p(Q,z):(q=mn(Q),q.c(),q.m(B.parentNode,B)):q&&(q.d(1),q=null)},i(Q){P||(fe(n.$$.fragment,Q),P=!0)},o(Q){ye(n.$$.fragment,Q),P=!1},d(Q){Q&&(w(e),w(R),w(B)),ot(n),K&&K.d(),W.d(),q&&q.d(Q),H=!1,he(U)}}}function Rc(l,e,t){let{item:n}=e,{selected:o=!1}=e,{onDragStart:s}=e,{onDragOver:r}=e,{onDrop:u}=e;const c=nl(),d=qo(n),v=n.type==="folder",g=Tc(n);let _=!1,b=0,y=0,k=null;function j(z){z.ctrlKey||z.metaKey?c("toggleSelect",n.id):z.shiftKey?c("rangeSelect",n.id):k?(clearTimeout(k),k=null,v?c("navigate",n.id):c("preview",n)):k=setTimeout(()=>{k=null,c("selectOne",n.id)},250)}function T(){c("openExternal",n.fileId)}function E(){t(2,_=!1),c("showInFolder",n.nodeId||n.id)}function D(){t(2,_=!1),c("delete",{id:n.id,type:n.type})}function M(){t(2,_=!1),c("rename",{id:n.id,name:n.name})}function N(){t(2,_=!1),c("duplicate",n.id)}function F(){t(2,_=!1),c("cut",n.id)}function S(){t(2,_=!1),c("copy",n.id)}function O(){t(2,_=!1),v?c("navigate",n.id):c("preview",n)}function R(){t(2,_=!_)}function B(){t(2,_=!1)}function P(z){s&&s(z,n.id)}function H(z){r&&v&&r(z,n.id)}function U(z){u&&v&&u(z,n.id)}function K(z){z.preventDefault(),t(3,b=Math.min(z.clientX,window.innerWidth-240)),t(4,y=Math.min(z.clientY,window.innerHeight-320)),t(2,_=!0)}function X(z){(z.key==="Enter"||z.key===" ")&&(z.preventDefault(),j(z))}function Y(z){Wo.call(this,l,z)}const W=()=>c("preview",n),q=()=>c("navigate",n.id),Q=z=>{z.key==="Escape"&&(z.stopPropagation(),B())};return l.$$set=z=>{"item"in z&&t(0,n=z.item),"selected"in z&&t(1,o=z.selected),"onDragStart"in z&&t(25,s=z.onDragStart),"onDragOver"in z&&t(26,r=z.onDragOver),"onDrop"in z&&t(27,u=z.onDrop)},[n,o,_,b,y,c,d,v,g,j,T,E,D,M,N,F,S,O,R,B,P,H,U,K,X,s,r,u,Y,W,q,Q]}class zc extends kt{constructor(e){super(),bt(this,e,Rc,Oc,ht,{item:0,selected:1,onDragStart:25,onDragOver:26,onDrop:27},null,[-1,-1])}}function _n(l,e,t){const n=l.slice();return n[4]=e[t],n[6]=t,n}function Bc(l){let e;return{c(){e=f("span"),e.textContent="/",i(e,"class","sep svelte-csi2lb")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Hc(l){let e,t=l[4].name+"",n,o,s;function r(){return l[2](l[6])}return{c(){e=f("button"),n=A(t),i(e,"class","crumb crumb--link svelte-csi2lb")},m(u,c){C(u,e,c),a(e,n),o||(s=I(e,"click",r),o=!0)},p(u,c){l=u,c&1&&t!==(t=l[4].name+"")&&V(n,t)},d(u){u&&w(e),o=!1,s()}}}function Wc(l){let e,t=l[4].name+"",n;return{c(){e=f("span"),n=A(t),i(e,"class","crumb crumb--current svelte-csi2lb")},m(o,s){C(o,e,s),a(e,n)},p(o,s){s&1&&t!==(t=o[4].name+"")&&V(n,t)},d(o){o&&w(e)}}}function gn(l){let e,t,n=l[6]>0&&Bc();function o(u,c){return u[6]===u[0].length-1?Wc:Hc}let s=o(l),r=s(l);return{c(){n&&n.c(),e=h(),r.c(),t=ct()},m(u,c){n&&n.m(u,c),C(u,e,c),r.m(u,c),C(u,t,c)},p(u,c){s===(s=o(u))&&r?r.p(u,c):(r.d(1),r=s(u),r&&(r.c(),r.m(t.parentNode,t)))},d(u){u&&(w(e),w(t)),n&&n.d(u),r.d(u)}}}function Vc(l){let e,t=ae(l[0]),n=[];for(let o=0;os(u);return l.$$set=u=>{"crumbs"in u&&t(0,n=u.crumbs)},[n,s,r]}class Qo extends kt{constructor(e){super(),bt(this,e,Uc,Vc,ht,{crumbs:0})}}function Kc(l){let e,t,n,o,s,r;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("file.previewUnavailable")}`,n=h(),o=f("button"),o.textContent=`${m("file.openExternal")}`,i(o,"class","btn btn-sm svelte-1cw3u0m"),i(e,"class","preview-status svelte-1cw3u0m")},m(u,c){C(u,e,c),a(e,t),a(e,n),a(e,o),s||(r=I(o,"click",l[9]),s=!0)},p:ue,d(u){u&&w(e),s=!1,r()}}}function Gc(l){let e,t;function n(r,u){return u&2&&(e=null),e==null&&(e=!!(r[1]&&r[1].startsWith("data:"))),e?Qc:Zc}let o=n(l,-1),s=o(l);return{c(){s.c(),t=ct()},m(r,u){s.m(r,u),C(r,t,u)},p(r,u){o===(o=n(r,u))&&s?s.p(r,u):(s.d(1),s=o(r),s&&(s.c(),s.m(t.parentNode,t)))},d(r){r&&w(t),s.d(r)}}}function qc(l){let e,t,n;return{c(){e=f("pre"),t=f("code"),n=A(l[1]),i(e,"class","preview-text svelte-1cw3u0m")},m(o,s){C(o,e,s),a(e,t),a(t,n)},p(o,s){s&2&&V(n,o[1])},d(o){o&&w(e)}}}function Jc(l){let e,t,n,o;return{c(){e=f("div"),t=f("img"),el(t.src,n=l[1])||i(t,"src",n),i(t,"alt",o=l[0].name),i(t,"class","preview-image svelte-1cw3u0m"),i(e,"class","preview-image-container svelte-1cw3u0m")},m(s,r){C(s,e,r),a(e,t)},p(s,r){r&2&&!el(t.src,n=s[1])&&i(t,"src",n),r&1&&o!==(o=s[0].name)&&i(t,"alt",o)},d(s){s&&w(e)}}}function Yc(l){let e,t,n,o,s,r,u;return{c(){e=f("div"),t=f("p"),n=A(l[3]),o=h(),s=f("button"),s.textContent=`${m("file.openExternal")}`,i(s,"class","btn btn-sm svelte-1cw3u0m"),i(e,"class","preview-status svelte-1cw3u0m")},m(c,d){C(c,e,d),a(e,t),a(t,n),a(e,o),a(e,s),r||(u=I(s,"click",l[9]),r=!0)},p(c,d){d&8&&V(n,c[3])},d(c){c&&w(e),r=!1,u()}}}function Xc(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("common.loading")}`,i(e,"class","preview-status svelte-1cw3u0m")},m(n,o){C(n,e,o),a(e,t)},p:ue,d(n){n&&w(e)}}}function Zc(l){let e,t,n,o,s,r;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("file.pdfUnavailable")}`,n=h(),o=f("button"),o.textContent=`${m("file.openExternal")}`,i(o,"class","btn btn-sm svelte-1cw3u0m"),i(e,"class","preview-status svelte-1cw3u0m")},m(u,c){C(u,e,c),a(e,t),a(e,n),a(e,o),s||(r=I(o,"click",l[9]),s=!0)},p:ue,d(u){u&&w(e),s=!1,r()}}}function Qc(l){let e,t,n;return{c(){e=f("div"),t=f("embed"),el(t.src,n=l[1])||i(t,"src",n),i(t,"type","application/pdf"),i(t,"class","preview-pdf svelte-1cw3u0m"),i(e,"class","preview-pdf-container svelte-1cw3u0m")},m(o,s){C(o,e,s),a(e,t)},p(o,s){s&2&&!el(t.src,n=o[1])&&i(t,"src",n)},d(o){o&&w(e)}}}function xc(l){let e,t,n,o,s,r,u,c=l[0].name+"",d,v,g,_,b=ll(l[0].size)+"",y,k,j=pn(l[0].mime)+"",T,E,D,M,N,F,S,O,R,B,P;s=new Go({props:{kind:l[8],size:18}});function H(X,Y){return X[2]?Xc:X[3]?Yc:X[6]&&X[1]?Jc:X[5]&&X[1]?qc:X[4]?Gc:Kc}let U=H(l),K=U(l);return{c(){e=f("div"),t=f("div"),n=f("header"),o=f("div"),ut(s.$$.fragment),r=h(),u=f("span"),d=A(c),g=h(),_=f("div"),y=A(b),k=A(" · "),T=A(j),E=h(),D=f("div"),M=f("button"),M.innerHTML='',N=h(),F=f("button"),F.innerHTML='',S=h(),O=f("div"),K.c(),i(u,"class","preview-name svelte-1cw3u0m"),i(u,"title",v=l[0].name),i(o,"class","preview-title svelte-1cw3u0m"),i(_,"class","preview-meta svelte-1cw3u0m"),i(M,"class","action-btn svelte-1cw3u0m"),i(M,"title",m("file.openExternal")),i(M,"aria-label",m("file.openExternal")),i(F,"class","action-btn action-btn-close svelte-1cw3u0m"),i(F,"title","Close"),i(F,"aria-label","Close preview"),i(D,"class","preview-actions svelte-1cw3u0m"),i(n,"class","preview-header svelte-1cw3u0m"),i(O,"class","preview-body svelte-1cw3u0m"),i(t,"class","modal svelte-1cw3u0m"),i(e,"class","overlay svelte-1cw3u0m"),i(e,"role","presentation")},m(X,Y){C(X,e,Y),a(e,t),a(t,n),a(n,o),it(s,o,null),a(o,r),a(o,u),a(u,d),a(n,g),a(n,_),a(_,y),a(_,k),a(_,T),a(n,E),a(n,D),a(D,M),a(D,N),a(D,F),a(t,S),a(t,O),K.m(O,null),R=!0,B||(P=[I(M,"click",l[9]),I(F,"click",l[10]),I(e,"click",yt(l[11])),I(e,"keydown",l[12])],B=!0)},p(X,[Y]){(!R||Y&1)&&c!==(c=X[0].name+"")&&V(d,c),(!R||Y&1&&v!==(v=X[0].name))&&i(u,"title",v),(!R||Y&1)&&b!==(b=ll(X[0].size)+"")&&V(y,b),(!R||Y&1)&&j!==(j=pn(X[0].mime)+"")&&V(T,j),U===(U=H(X))&&K?K.p(X,Y):(K.d(1),K=U(X),K&&(K.c(),K.m(O,null)))},i(X){R||(fe(s.$$.fragment,X),R=!0)},o(X){ye(s.$$.fragment,X),R=!1},d(X){X&&w(e),ot(s),K.d(),B=!1,he(P)}}}function $c(l,e,t){let n,o,s,{item:r}=e,{content:u=""}=e,{loading:c=!1}=e,{error:d=""}=e;const v=nl(),g=qo(r);function _(T){T.key==="Escape"&&v("close")}function b(){v("openExternal",r.fileId)}Ho(()=>{window.addEventListener("keydown",_)}),Nl(()=>{window.removeEventListener("keydown",_)});const y=()=>v("close"),k=()=>v("close"),j=T=>{T.key==="Escape"&&(T.preventDefault(),v("close"))};return l.$$set=T=>{"item"in T&&t(0,r=T.item),"content"in T&&t(1,u=T.content),"loading"in T&&t(2,c=T.loading),"error"in T&&t(3,d=T.error)},l.$$.update=()=>{l.$$.dirty&3&&t(6,n=Jo(r)&&u&&u.startsWith("data:")),l.$$.dirty&1&&t(5,o=Yo(r)||Zo(r)),l.$$.dirty&1&&t(4,s=Xo(r))},[r,u,c,d,s,o,n,v,g,b,y,k,j]}class eu extends kt{constructor(e){super(),bt(this,e,$c,xc,ht,{item:0,content:1,loading:2,error:3})}}function tu(l){let e,t,n,o,s,r,u,c,d,v,g,_,b,y,k,j,T;return{c(){e=f("div"),t=f("div"),n=f("h3"),o=A(l[0]),s=h(),r=f("p"),u=A(l[1]),c=h(),d=f("div"),v=f("button"),g=A(l[2]),b=h(),y=f("button"),k=A(l[3]),i(n,"class","svelte-1fv6yyk"),i(r,"class","message svelte-1fv6yyk"),i(v,"class",_="btn "+(l[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk"),i(y,"class","btn svelte-1fv6yyk"),i(d,"class","actions svelte-1fv6yyk"),i(t,"class","modal svelte-1fv6yyk"),i(e,"class","overlay svelte-1fv6yyk"),i(e,"role","presentation")},m(E,D){C(E,e,D),a(e,t),a(t,n),a(n,o),a(t,s),a(t,r),a(r,u),a(t,c),a(t,d),a(d,v),a(v,g),a(d,b),a(d,y),a(y,k),j||(T=[I(v,"click",l[6]),I(y,"click",l[7]),I(e,"click",yt(l[8])),I(e,"keydown",l[9])],j=!0)},p(E,[D]){D&1&&V(o,E[0]),D&2&&V(u,E[1]),D&4&&V(g,E[2]),D&16&&_!==(_="btn "+(E[4]?"btn-danger":"btn-primary")+" svelte-1fv6yyk")&&i(v,"class",_),D&8&&V(k,E[3])},i:ue,o:ue,d(E){E&&w(e),j=!1,he(T)}}}function lu(l,e,t){let{title:n=m("common.confirm")}=e,{message:o=""}=e,{confirmText:s=m("common.delete")}=e,{cancelText:r=m("common.cancel")}=e,{danger:u=!1}=e;const c=nl(),d=()=>c("confirm"),v=()=>c("cancel"),g=()=>c("cancel"),_=b=>{b.key==="Escape"&&(b.preventDefault(),c("cancel"))};return l.$$set=b=>{"title"in b&&t(0,n=b.title),"message"in b&&t(1,o=b.message),"confirmText"in b&&t(2,s=b.confirmText),"cancelText"in b&&t(3,r=b.cancelText),"danger"in b&&t(4,u=b.danger)},[n,o,s,r,u,c,d,v,g,_]}class nu extends kt{constructor(e){super(),bt(this,e,lu,tu,ht,{title:0,message:1,confirmText:2,cancelText:3,danger:4})}}function iu(l){let e,t,n;return{c(){e=J("circle"),t=J("line"),n=J("line"),i(e,"cx","12"),i(e,"cy","12"),i(e,"r","10"),i(t,"x1","12"),i(t,"y1","16"),i(t,"x2","12"),i(t,"y2","12"),i(n,"x1","12"),i(n,"y1","8"),i(n,"x2","12.01"),i(n,"y2","8")},m(o,s){C(o,e,s),C(o,t,s),C(o,n,s)},d(o){o&&(w(e),w(t),w(n))}}}function ou(l){let e,t,n,o;return{c(){e=J("rect"),t=J("polyline"),n=J("line"),o=J("line"),i(e,"x","3"),i(e,"y","5"),i(e,"width","18"),i(e,"height","14"),i(e,"rx","2"),i(t,"points","3 10 21 10"),i(n,"x1","8"),i(n,"y1","5"),i(n,"x2","8"),i(n,"y2","19"),i(o,"x1","16"),i(o,"y1","5"),i(o,"x2","16"),i(o,"y2","19")},m(s,r){C(s,e,r),C(s,t,r),C(s,n,r),C(s,o,r)},d(s){s&&(w(e),w(t),w(n),w(o))}}}function su(l){let e,t;return{c(){e=J("path"),t=J("polyline"),i(e,"d","M13 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V9z"),i(t,"points","13 2 13 9 20 9")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function ru(l){let e,t;return{c(){e=J("path"),t=J("path"),i(e,"d","M12 20h9"),i(t,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function au(l){let e,t,n,o,s;return{c(){e=J("path"),t=J("path"),n=J("line"),o=J("line"),s=J("line"),i(e,"d","M4 19.5A2.5 2.5 0 0 1 6.5 17H20"),i(t,"d","M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"),i(n,"x1","8"),i(n,"y1","7"),i(n,"x2","16"),i(n,"y2","7"),i(o,"x1","8"),i(o,"y1","11"),i(o,"x2","14"),i(o,"y2","11"),i(s,"x1","8"),i(s,"y1","15"),i(s,"x2","12"),i(s,"y2","15")},m(r,u){C(r,e,u),C(r,t,u),C(r,n,u),C(r,o,u),C(r,s,u)},d(r){r&&(w(e),w(t),w(n),w(o),w(s))}}}function cu(l){let e,t,n,o;return{c(){e=J("path"),t=J("polyline"),n=J("line"),o=J("line"),i(e,"d","M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"),i(t,"points","14 2 14 8 20 8"),i(n,"x1","16"),i(n,"y1","13"),i(n,"x2","8"),i(n,"y2","13"),i(o,"x1","16"),i(o,"y1","17"),i(o,"x2","8"),i(o,"y2","17")},m(s,r){C(s,e,r),C(s,t,r),C(s,n,r),C(s,o,r)},d(s){s&&(w(e),w(t),w(n),w(o))}}}function uu(l){let e,t;return{c(){e=J("path"),t=J("circle"),i(e,"d","M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"),i(t,"cx","12"),i(t,"cy","7"),i(t,"r","4")},m(n,o){C(n,e,o),C(n,t,o)},d(n){n&&(w(e),w(t))}}}function fu(l){let e,t,n,o;return{c(){e=J("rect"),t=J("rect"),n=J("rect"),o=J("rect"),i(e,"x","3"),i(e,"y","3"),i(e,"width","7"),i(e,"height","7"),i(e,"rx","1"),i(t,"x","14"),i(t,"y","3"),i(t,"width","7"),i(t,"height","4"),i(t,"rx","1"),i(n,"x","14"),i(n,"y","10"),i(n,"width","7"),i(n,"height","11"),i(n,"rx","1"),i(o,"x","3"),i(o,"y","14"),i(o,"width","7"),i(o,"height","7"),i(o,"rx","1")},m(s,r){C(s,e,r),C(s,t,r),C(s,n,r),C(s,o,r)},d(s){s&&(w(e),w(t),w(n),w(o))}}}function du(l){let e;return{c(){e=J("path"),i(e,"d","M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function pu(l){let e;function t(s,r){return s[0]==="folder"?du:s[0]==="project"?fu:s[0]==="client"?uu:s[0]==="document"?cu:s[0]==="recipe"?au:s[0]==="note"?ru:s[0]==="file"?su:s[0]==="case"?ou:iu}let n=t(l),o=n(l);return{c(){e=J("svg"),o.c(),i(e,"width",l[1]),i(e,"height",l[1]),i(e,"viewBox","0 0 24 24"),i(e,"fill","none"),i(e,"stroke","currentColor"),i(e,"stroke-width","1.5"),i(e,"stroke-linecap","round"),i(e,"stroke-linejoin","round"),i(e,"xmlns","http://www.w3.org/2000/svg")},m(s,r){C(s,e,r),o.m(e,null)},p(s,[r]){n!==(n=t(s))&&(o.d(1),o=n(s),o&&(o.c(),o.m(e,null))),r&2&&i(e,"width",s[1]),r&2&&i(e,"height",s[1])},i:ue,o:ue,d(s){s&&w(e),o.d()}}}function mu(l,e,t){let{kind:n="generic"}=e,{size:o=18}=e;return l.$$set=s=>{"kind"in s&&t(0,n=s.kind),"size"in s&&t(1,o=s.size)},[n,o]}class il extends kt{constructor(e){super(),bt(this,e,mu,pu,ht,{kind:0,size:1})}}function vn(l,e,t){const n=l.slice();return n[44]=e[t],n}function _u(l){let e;return{c(){e=f("span"),i(e,"class","tree-toggle-placeholder svelte-zj71cl")},m(t,n){C(t,e,n)},p:ue,d(t){t&&w(e)}}}function gu(l){let e,t,n=l[1][l[44].id]?"▾":"▸",o,s,r;function u(){return l[25](l[44])}return{c(){e=f("button"),t=f("span"),o=A(n),i(t,"class","tree-arrow"),i(e,"class","tree-toggle svelte-zj71cl")},m(c,d){C(c,e,d),a(e,t),a(t,o),s||(r=I(e,"click",qe(u)),s=!0)},p(c,d){l=c,d[0]&3&&n!==(n=l[1][l[44].id]?"▾":"▸")&&V(o,n)},d(c){c&&w(e),s=!1,r()}}}function hn(l){let e,t;return e=new xo({props:{nodes:l[44].children||[],expanded:l[1],selectedNodeId:l[2],level:l[3]+1,onSelect:l[4],onToggle:l[5],onContextMenu:l[6],onDrop:l[7]}}),{c(){ut(e.$$.fragment)},m(n,o){it(e,n,o),t=!0},p(n,o){const s={};o[0]&1&&(s.nodes=n[44].children||[]),o[0]&2&&(s.expanded=n[1]),o[0]&4&&(s.selectedNodeId=n[2]),o[0]&8&&(s.level=n[3]+1),o[0]&16&&(s.onSelect=n[4]),o[0]&32&&(s.onToggle=n[5]),o[0]&64&&(s.onContextMenu=n[6]),o[0]&128&&(s.onDrop=n[7]),e.$set(s)},i(n){t||(fe(e.$$.fragment,n),t=!0)},o(n){ye(e.$$.fragment,n),t=!1},d(n){ot(e,n)}}}function yn(l,e){let t,n,o,s,r,u,c,d=e[44].title+"",v,g,_=e[1][e[44].id]&&jl(e[44]),b,y,k,j;function T(W,q){return q[0]&1&&(n=null),n==null&&(n=!!qt(W[44])),n?gu:_u}let E=T(e,[-1,-1]),D=E(e);r=new il({props:{kind:bn(e[44]),size:16}});function M(...W){return e[26](e[44],...W)}function N(...W){return e[27](e[44],...W)}function F(){return e[28](e[44])}function S(...W){return e[29](e[44],...W)}function O(...W){return e[30](e[44],...W)}function R(...W){return e[31](e[44],...W)}function B(...W){return e[32](e[44],...W)}function P(...W){return e[33](e[44],...W)}function H(...W){return e[34](e[44],...W)}function U(...W){return e[35](e[44],...W)}function K(...W){return e[36](e[44],...W)}function X(...W){return e[37](e[44],...W)}let Y=_&&hn(e);return{key:l,first:null,c(){t=f("div"),D.c(),o=h(),s=f("span"),ut(r.$$.fragment),u=h(),c=f("span"),v=A(d),g=h(),Y&&Y.c(),b=ct(),i(s,"class","tree-icon svelte-zj71cl"),i(s,"role","button"),i(s,"tabindex","-1"),i(c,"class","tree-label svelte-zj71cl"),i(c,"role","button"),i(c,"tabindex","-1"),i(t,"class","tree-item svelte-zj71cl"),Ke(t,"padding-left",e[3]*16+4+"px"),i(t,"draggable","true"),i(t,"role","button"),i(t,"tabindex","0"),we(t,"selected",e[2]===e[44].id),we(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),we(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),this.first=t},m(W,q){C(W,t,q),D.m(t,null),a(t,o),a(t,s),it(r,s,null),a(t,u),a(t,c),a(c,v),C(W,g,q),Y&&Y.m(W,q),C(W,b,q),y=!0,k||(j=[I(s,"click",M),I(s,"keydown",N),I(s,"dblclick",qe(e[24])),I(c,"click",qe(F)),I(c,"keydown",S),I(t,"dragstart",O),I(t,"dragover",R),I(t,"dragleave",B),I(t,"drop",P),I(t,"click",H),I(t,"keydown",U),I(t,"dblclick",K),I(t,"contextmenu",Tl(X))],k=!0)},p(W,q){e=W,E===(E=T(e,q))&&D?D.p(e,q):(D.d(1),D=E(e),D&&(D.c(),D.m(t,o)));const Q={};q[0]&1&&(Q.kind=bn(e[44])),r.$set(Q),(!y||q[0]&1)&&d!==(d=e[44].title+"")&&V(v,d),(!y||q[0]&8)&&Ke(t,"padding-left",e[3]*16+4+"px"),(!y||q[0]&5)&&we(t,"selected",e[2]===e[44].id),(!y||q[0]&769)&&we(t,"drop-valid",e[8]===e[44].id&&e[9][e[44].id]),(!y||q[0]&769)&&we(t,"drop-invalid",e[8]===e[44].id&&!e[9][e[44].id]),q[0]&3&&(_=e[1][e[44].id]&&jl(e[44])),_?Y?(Y.p(e,q),q[0]&3&&fe(Y,1)):(Y=hn(e),Y.c(),fe(Y,1),Y.m(b.parentNode,b)):Y&&(xe(),ye(Y,1,1,()=>{Y=null}),$e())},i(W){y||(fe(r.$$.fragment,W),fe(Y),y=!0)},o(W){ye(r.$$.fragment,W),ye(Y),y=!1},d(W){W&&(w(t),w(g),w(b)),D.d(),ot(r),Y&&Y.d(W),k=!1,he(j)}}}function vu(l){let e=[],t=new Map,n,o,s,r,u=ae(l[0]);const c=d=>d[44].id;for(let d=0;d0:l.has_children===!0}function kn(l){const e={};function t(n,o){for(const s of n)e[s.id]=o,s.children&&t(s.children,s.id)}return t(l,""),e}function wn(l){const e=[];function t(n){for(const o of n)e.push(o),o.children&&t(o.children)}return t(l),e}function hu(l){try{return l.dataTransfer.getData("text/plain")}catch{return""}}function yu(l,e,t){let n,o,s,{nodes:r=[]}=e,{expanded:u={}}=e,{selectedNodeId:c=""}=e,{level:d=0}=e,{onSelect:v=void 0}=e,{onToggle:g=void 0}=e,{onContextMenu:_=void 0}=e,{onDrop:b=void 0}=e,y={},k=null,j="",T="";const E=["folder","project","client","document","recipe","case"];Nl(()=>{for(const G of Object.keys(y))clearTimeout(y[G]);k&&clearInterval(k)});function D(G){return E.includes(G.type)}function M(G,Z,oe){if(!G||!Z||Z===G.id||!D(G))return!1;let me=G.id;for(;me;){if(me===Z)return!1;me=oe[me]||""}return!0}function N(G,Z){G.stopPropagation(),G.dataTransfer.effectAllowed="move",G.dataTransfer.setData("text/plain",Z.id),t(21,j=Z.id)}function F(G,Z){G.preventDefault(),G.stopPropagation(),G.dataTransfer.dropEffect="move",T!==Z.id&&t(8,T=Z.id),qt(Z)&&!u[Z.id]&&!y[Z.id]&&(y[Z.id]=setTimeout(()=>{g&&g(Z.id),delete y[Z.id]},600));const oe=G.currentTarget.closest(".workspace-tree-area");if(oe){const me=oe.getBoundingClientRect(),je=30;G.clientY-me.top{oe.scrollTop-=10},50)):me.bottom-G.clientY{oe.scrollTop+=10},50)):k&&(clearInterval(k),k=null)}}function S(G,Z){const oe=G.relatedTarget;oe&&G.currentTarget.contains(oe)||(T===Z.id&&t(8,T=""),y[Z.id]&&(clearTimeout(y[Z.id]),delete y[Z.id]),k&&(clearInterval(k),k=null))}function O(G,Z){G.preventDefault(),G.stopPropagation(),y[Z.id]&&(clearTimeout(y[Z.id]),delete y[Z.id]),k&&(clearInterval(k),k=null);const oe=wn(r),me=kn(oe),je=hu(G);if(!M(Z,je,me)){t(8,T=""),t(21,j="");return}b&&b(je,Z.id),t(8,T=""),t(21,j="")}function R(){t(8,T=""),t(21,j="");for(const G of Object.keys(y))clearTimeout(y[G]),delete y[G];k&&(clearInterval(k),k=null)}function B(G,Z){G.target.closest(".tree-toggle")||G.target.closest(".tree-icon")||v&&v(Z)}function P(G,Z){qt(Z)&&g&&g(Z.id)}function H(G,Z){(G.key==="Enter"||G.key===" ")&&(G.preventDefault(),v&&v(Z))}function U(G,Z){G.stopPropagation(),qt(Z)&&g&&g(Z.id)}function K(G,Z){(G.key==="Enter"||G.key===" ")&&(G.preventDefault(),G.stopPropagation(),qt(Z)&&g&&g(Z.id))}function X(G,Z){(G.key==="Enter"||G.key===" ")&&(G.preventDefault(),v&&v(Z))}function Y(G,Z,oe){const me={};function je(Je){for(const Le of Je)me[Le.id]=M(Le,Z,oe),Le.children&&je(Le.children)}return je(G),me}function W(G){Wo.call(this,l,G)}const q=G=>g&&g(G.id),Q=(G,Z)=>U(Z,G),z=(G,Z)=>K(Z,G),le=G=>v&&v(G),ve=(G,Z)=>X(Z,G),ie=(G,Z)=>N(Z,G),$=(G,Z)=>F(Z,G),x=(G,Z)=>S(Z,G),ce=(G,Z)=>O(Z,G),Te=(G,Z)=>B(Z,G),Ee=(G,Z)=>H(Z,G),Re=(G,Z)=>P(Z,G),Ce=(G,Z)=>_&&_(Z,G);return l.$$set=G=>{"nodes"in G&&t(0,r=G.nodes),"expanded"in G&&t(1,u=G.expanded),"selectedNodeId"in G&&t(2,c=G.selectedNodeId),"level"in G&&t(3,d=G.level),"onSelect"in G&&t(4,v=G.onSelect),"onToggle"in G&&t(5,g=G.onToggle),"onContextMenu"in G&&t(6,_=G.onContextMenu),"onDrop"in G&&t(7,b=G.onDrop)},l.$$.update=()=>{l.$$.dirty[0]&1&&t(23,n=wn(r)),l.$$.dirty[0]&8388608&&t(22,o=kn(n)),l.$$.dirty[0]&14680064&&t(9,s=Y(n,j,o))},[r,u,c,d,v,g,_,b,T,s,N,F,S,O,R,B,P,H,U,K,X,j,o,n,W,q,Q,z,le,ve,ie,$,x,ce,Te,Ee,Re,Ce]}class xo extends kt{constructor(e){super(),bt(this,e,yu,vu,ht,{nodes:0,expanded:1,selectedNodeId:2,level:3,onSelect:4,onToggle:5,onContextMenu:6,onDrop:7},null,[-1,-1])}}function Cn(l,e,t){const n=l.slice();return n[309]=e[t],n}function jn(l,e,t){const n=l.slice();return n[312]=e[t],n}function Tn(l,e,t){const n=l.slice();return n[312]=e[t],n}function Sn(l,e,t){const n=l.slice();return n[333]=e[t],n}function Nn(l,e,t){const n=l.slice();return n[333]=e[t],n}function En(l,e,t){const n=l.slice();return n[364]=e[t],n}function Mn(l,e,t){const n=l.slice();return n[333]=e[t],n}function Dn(l,e,t){const n=l.slice();return n[336]=e[t],n[369]=e,n[370]=t,n}function In(l,e,t){const n=l.slice();return n[333]=e[t],n}function Fn(l,e,t){const n=l.slice();return n[346]=e[t],n}function An(l,e,t){const n=l.slice();return n[333]=e[t],n}function Ln(l,e,t){const n=l.slice();return n[351]=e[t],n}function Pn(l,e,t){const n=l.slice();return n[351]=e[t],n}function On(l,e,t){const n=l.slice();return n[336]=e[t],n[356]=e,n[357]=t,n}function Rn(l,e,t){const n=l.slice();return n[333]=e[t],n}function zn(l,e,t){const n=l.slice();return n[346]=e[t],n}function Bn(l,e,t){const n=l.slice();return n[333]=e[t],n}function Hn(l,e,t){const n=l.slice();return n[317]=e[t],n}function Wn(l,e,t){const n=l.slice();return n[333]=e[t],n}function Vn(l,e,t){const n=l.slice();return n[336]=e[t],n[337]=e,n[338]=t,n}function Un(l,e,t){const n=l.slice();return n[333]=e[t],n}function Kn(l,e,t){const n=l.slice();return n[328]=e[t],n}function Gn(l,e,t){const n=l.slice();return n[325]=e[t],n}function qn(l,e,t){const n=l.slice();return n[320]=e[t],n}function Jn(l,e,t){const n=l.slice();return n[317]=e[t],n}function Yn(l,e,t){const n=l.slice();return n[320]=e[t],n}function Xn(l,e,t){const n=l.slice();return n[343]=e[t],n}function Zn(l,e,t){const n=l.slice();return n[375]=e[t],n}function Qn(l,e,t){const n=l.slice();return n[378]=e[t],n}function xn(l){let e,t;return{c(){e=f("span"),t=A(l[36]),i(e,"class","nav-badge svelte-1ufgyr8")},m(n,o){C(n,e,o),a(e,t)},p(n,o){o[1]&32&&V(t,n[36])},d(n){n&&w(e)}}}function $n(l){let e,t=l[378].label+"",n,o,s,r,u,c,d=l[378].id==="journal"&&l[36]>0&&xn(l);function v(){return l[164](l[378])}return{c(){e=f("button"),n=A(t),o=h(),d&&d.c(),s=h(),i(e,"class",r="nav-item "+(l[21]===l[378].id?"selected":"")+" svelte-1ufgyr8")},m(g,_){C(g,e,_),a(e,n),a(e,o),d&&d.m(e,null),a(e,s),u||(c=I(e,"click",v),u=!0)},p(g,_){l=g,_[0]&1&&t!==(t=l[378].label+"")&&V(n,t),l[378].id==="journal"&&l[36]>0?d?d.p(l,_):(d=xn(l),d.c(),d.m(e,s)):d&&(d.d(1),d=null),_[0]&2097153&&r!==(r="nav-item "+(l[21]===l[378].id?"selected":"")+" svelte-1ufgyr8")&&i(e,"class",r)},d(g){g&&w(e),d&&d.d(),u=!1,c()}}}function bu(l){let e;return{c(){e=f("div"),e.textContent=`${m("nav.noNodes")}`,i(e,"class","nav-empty svelte-1ufgyr8")},m(t,n){C(t,e,n)},p:ue,i:ue,o:ue,d(t){t&&w(e)}}}function ku(l){var r;let e,t,n,o,s;return t=new xo({props:{nodes:l[1],expanded:l[52],selectedNodeId:((r=l[22])==null?void 0:r.id)||"",onSelect:l[83],onToggle:l[113],onContextMenu:l[111],onDrop:l[114]}}),{c(){e=f("div"),ut(t.$$.fragment),i(e,"class","workspace-tree-area svelte-1ufgyr8"),i(e,"role","region"),i(e,"aria-label",m("nav.workspace")),we(e,"drop-valid",l[63])},m(u,c){C(u,e,c),it(t,e,null),n=!0,o||(s=[I(e,"dragover",Tl(l[116])),I(e,"dragleave",l[117]),I(e,"drop",l[115])],o=!0)},p(u,c){var v;const d={};c[0]&2&&(d.nodes=u[1]),c[1]&2097152&&(d.expanded=u[52]),c[0]&4194304&&(d.selectedNodeId=((v=u[22])==null?void 0:v.id)||""),t.$set(d),(!n||c[2]&2)&&we(e,"drop-valid",u[63])},i(u){n||(fe(t.$$.fragment,u),n=!0)},o(u){ye(t.$$.fragment,u),n=!1},d(u){u&&w(e),ot(t),o=!1,he(s)}}}function wu(l){let e;return{c(){e=f("span"),e.textContent=`${m("nav.selectPrompt")}`,i(e,"class","crumb placeholder svelte-1ufgyr8")},m(t,n){C(t,e,n)},p:ue,d(t){t&&w(e)}}}function Cu(l){let e,t=ae(l[0]),n=[];for(let o=0;o0&&li(l);return{c(){e=f("button"),t=J("svg"),n=J("polyline"),o=J("polyline"),s=J("path"),r=h(),d&&d.c(),i(n,"points","23 4 23 10 17 10"),i(n,"class","svelte-1ufgyr8"),i(o,"points","1 20 1 14 7 14"),i(o,"class","svelte-1ufgyr8"),i(s,"d","M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"),i(s,"class","svelte-1ufgyr8"),i(t,"width","16"),i(t,"height","16"),i(t,"viewBox","0 0 24 24"),i(t,"fill","none"),i(t,"stroke","currentColor"),i(t,"stroke-width","2"),i(t,"stroke-linecap","round"),i(t,"stroke-linejoin","round"),i(t,"class","svelte-1ufgyr8"),i(e,"class","header-sync-btn svelte-1ufgyr8"),e.disabled=l[74],i(e,"title",m("nav.syncNow"))},m(v,g){C(v,e,g),a(e,t),a(t,n),a(t,o),a(t,s),a(e,r),d&&d.m(e,null),u||(c=I(e,"click",l[162]),u=!0)},p(v,g){v[73].unpushedOps>0?d?d.p(v,g):(d=li(v),d.c(),d.m(e,null)):d&&(d.d(1),d=null),g[2]&4096&&(e.disabled=v[74])},d(v){v&&w(e),d&&d.d(),u=!1,c()}}}function li(l){let e,t=l[73].unpushedOps+"",n;return{c(){e=f("span"),n=A(t),i(e,"class","sync-badge svelte-1ufgyr8")},m(o,s){C(o,e,s),a(e,n)},p(o,s){s[2]&2048&&t!==(t=o[73].unpushedOps+"")&&V(n,t)},d(o){o&&w(e)}}}function ni(l){let e,t,n,o,s,r;return{c(){e=f("div"),t=A(l[20]),n=h(),o=f("button"),o.innerHTML='',i(o,"class","dismiss-btn svelte-1ufgyr8"),i(o,"aria-label","Dismiss"),i(e,"class","error-banner svelte-1ufgyr8"),i(e,"role","button"),i(e,"tabindex","0")},m(u,c){C(u,e,c),a(e,t),a(e,n),a(e,o),s||(r=[I(o,"click",qe(l[165])),I(e,"click",l[166]),I(e,"keydown",function(){Zt(at(l[167]))&&at(l[167]).apply(this,arguments)})],s=!0)},p(u,c){l=u,c[0]&1048576&&V(t,l[20])},d(u){u&&w(e),s=!1,he(r)}}}function Tu(l){let e,t,n;function o(u,c){if(u[48])return Au;if(u[0].length>0)return Fu;if(u[20])return Iu}let s=o(l),r=s&&s(l);return{c(){e=f("div"),t=f("h2"),t.textContent=`${m("welcome.title")}`,n=h(),r&&r.c(),i(t,"class","svelte-1ufgyr8"),i(e,"class","welcome svelte-1ufgyr8")},m(u,c){C(u,e,c),a(e,t),a(e,n),r&&r.m(e,null)},p(u,c){s===(s=o(u))&&r?r.p(u,c):(r&&r.d(1),r=s&&s(u),r&&(r.c(),r.m(e,null)))},i:ue,o:ue,d(u){u&&w(e),r&&r.d()}}}function Su(l){let e,t,n,o;function s(c,d){return c[4].length===0?Pu:Lu}let r=s(l),u=r(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${m("activity.title")}`,o=h(),u.c(),i(n,"class","svelte-1ufgyr8"),i(t,"class","activity-feed-header svelte-1ufgyr8"),i(e,"class","activity-feed svelte-1ufgyr8")},m(c,d){C(c,e,d),a(e,t),a(t,n),a(e,o),u.m(e,null)},p(c,d){r===(r=s(c))&&u?u.p(c,d):(u.d(1),u=r(c),u&&(u.c(),u.m(e,null)))},i:ue,o:ue,d(c){c&&w(e),u.d()}}}function Nu(l){let e,t,n,o,s,r=l[3].date+"",u,c,d,v,g=l[3].summary&&si(l),_=l[35].length>0&&ui(l);function b(j,T){return j[3].groups&&j[3].groups.length>0?Ru:Ou}let y=b(l),k=y(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${m("today.title")}`,o=h(),s=f("span"),u=A(r),c=h(),g&&g.c(),d=h(),_&&_.c(),v=h(),k.c(),i(n,"class","svelte-1ufgyr8"),i(s,"class","today-date svelte-1ufgyr8"),i(t,"class","today-header svelte-1ufgyr8"),i(e,"class","today-dashboard svelte-1ufgyr8")},m(j,T){C(j,e,T),a(e,t),a(t,n),a(t,o),a(t,s),a(s,u),a(e,c),g&&g.m(e,null),a(e,d),_&&_.m(e,null),a(e,v),k.m(e,null)},p(j,T){T[0]&8&&r!==(r=j[3].date+"")&&V(u,r),j[3].summary?g?g.p(j,T):(g=si(j),g.c(),g.m(e,d)):g&&(g.d(1),g=null),j[35].length>0?_?_.p(j,T):(_=ui(j),_.c(),_.m(e,v)):_&&(_.d(1),_=null),y===(y=b(j))&&k?k.p(j,T):(k.d(1),k=y(j),k&&(k.c(),k.m(e,null)))},i:ue,o:ue,d(j){j&&w(e),g&&g.d(),_&&_.d(),k.d()}}}function Eu(l){let e,t,n,o,s,r,u,c,d,v,g,_,b,y,k,j,T,E,D,M,N,F,S,O,R,B,P,H,U,K,X,Y,W,q,Q,z,le,ve,ie,$,x,ce,Te,Ee,Re,Ce,G,Z,oe,me,je,Je,Le,Qe,nt,ze,be,We,De;function Be(re,se){return re[13]?Wu:Hu}let Me=Be(l),Fe=Me(l),_e=l[10]&&Ci(l),de=l[14]&&ji(l),pe=l[35].length>0&&Ti(l),Ie=l[6]&&Di(l);function Ae(re,se){return re[5].length===0?Uu:Vu}let et=Ae(l),Se=et(l);return{c(){e=f("div"),t=f("div"),n=f("h2"),n.textContent=`${m("journal.title")}`,o=h(),s=f("div"),r=f("div"),r.textContent=`${m("journal.filterHeading")}`,u=h(),c=f("div"),d=f("label"),v=f("span"),v.textContent=`${m("journal.dateFrom")}`,g=h(),_=f("input"),b=h(),y=f("label"),k=f("span"),k.textContent=`${m("journal.dateTo")}`,j=h(),T=f("input"),E=h(),D=f("label"),M=f("span"),M.textContent=`${m("journal.node")}`,N=h(),F=f("div"),Fe.c(),S=h(),_e&&_e.c(),O=h(),R=f("label"),B=f("span"),B.textContent=`${m("journal.billable")}`,P=h(),H=f("select"),U=f("option"),U.textContent=`${m("common.all")}`,K=f("option"),K.textContent=`${m("journal.billableYes")}`,X=f("option"),X.textContent=`${m("journal.billableNo")}`,Y=h(),W=f("label"),q=f("span"),q.textContent=`${m("journal.approx")}`,Q=h(),z=f("select"),le=f("option"),le.textContent=`${m("common.all")}`,ve=f("option"),ve.textContent=`${m("journal.approxExact")}`,ie=f("option"),ie.textContent=`${m("journal.approxEstimated")}`,$=h(),x=f("button"),x.textContent=`${m("journal.filter")}`,ce=h(),Te=f("button"),Te.textContent=`${m("journal.reset")}`,Ee=h(),Re=f("div"),Ce=f("div"),Ce.textContent=`${m("journal.exportHeading")}`,G=h(),Z=f("div"),oe=f("button"),oe.textContent=`${m("journal.exportCSV")}`,me=h(),je=f("button"),je.textContent=`${m("journal.exportMarkdown")}`,Je=h(),Le=f("button"),Le.textContent="PDF",Qe=h(),de&&de.c(),nt=h(),pe&&pe.c(),ze=h(),Ie&&Ie.c(),be=h(),Se.c(),i(n,"class","svelte-1ufgyr8"),i(r,"class","journal-filter-heading svelte-1ufgyr8"),i(v,"class","label-text svelte-1ufgyr8"),i(_,"type","date"),i(_,"class","svelte-1ufgyr8"),i(d,"class","svelte-1ufgyr8"),i(k,"class","label-text svelte-1ufgyr8"),i(T,"type","date"),i(T,"class","svelte-1ufgyr8"),i(y,"class","svelte-1ufgyr8"),i(M,"class","label-text svelte-1ufgyr8"),i(F,"class","journal-node-picker svelte-1ufgyr8"),Ke(F,"position","relative"),i(D,"class","svelte-1ufgyr8"),i(B,"class","label-text svelte-1ufgyr8"),U.__value="all",ke(U,U.__value),i(U,"class","svelte-1ufgyr8"),K.__value="yes",ke(K,K.__value),i(K,"class","svelte-1ufgyr8"),X.__value="no",ke(X,X.__value),i(X,"class","svelte-1ufgyr8"),i(H,"class","svelte-1ufgyr8"),l[11]===void 0&&Bt(()=>l[214].call(H)),i(R,"title",m("journal.billableHint")),i(R,"class","svelte-1ufgyr8"),i(q,"class","label-text svelte-1ufgyr8"),le.__value="all",ke(le,le.__value),i(le,"class","svelte-1ufgyr8"),ve.__value="no",ke(ve,ve.__value),i(ve,"class","svelte-1ufgyr8"),ie.__value="yes",ke(ie,ie.__value),i(ie,"class","svelte-1ufgyr8"),i(z,"class","svelte-1ufgyr8"),l[12]===void 0&&Bt(()=>l[215].call(z)),i(W,"title",m("journal.approxHint")),i(W,"class","svelte-1ufgyr8"),i(x,"class","btn btn-sm svelte-1ufgyr8"),i(Te,"class","btn btn-sm svelte-1ufgyr8"),i(c,"class","journal-filters-row svelte-1ufgyr8"),i(s,"class","journal-filter-section svelte-1ufgyr8"),i(Ce,"class","journal-export-heading svelte-1ufgyr8"),i(oe,"class","btn btn-sm svelte-1ufgyr8"),i(je,"class","btn btn-sm svelte-1ufgyr8"),i(Le,"class","btn btn-sm svelte-1ufgyr8"),i(Z,"class","journal-export-row svelte-1ufgyr8"),i(Re,"class","journal-export-section svelte-1ufgyr8"),i(t,"class","journal-header svelte-1ufgyr8"),i(e,"class","journal-screen svelte-1ufgyr8")},m(re,se){C(re,e,se),a(e,t),a(t,n),a(t,o),a(t,s),a(s,r),a(s,u),a(s,c),a(c,d),a(d,v),a(d,g),a(d,_),ke(_,l[7]),a(c,b),a(c,y),a(y,k),a(y,j),a(y,T),ke(T,l[8]),a(c,E),a(c,D),a(D,M),a(D,N),a(D,F),Fe.m(F,null),a(c,S),_e&&_e.m(c,null),a(c,O),a(c,R),a(R,B),a(R,P),a(R,H),a(H,U),a(H,K),a(H,X),Rt(H,l[11],!0),a(c,Y),a(c,W),a(W,q),a(W,Q),a(W,z),a(z,le),a(z,ve),a(z,ie),Rt(z,l[12],!0),a(c,$),a(c,x),a(c,ce),a(c,Te),a(t,Ee),a(t,Re),a(Re,Ce),a(Re,G),a(Re,Z),a(Z,oe),a(Z,me),a(Z,je),a(Z,Je),a(Z,Le),a(Z,Qe),de&&de.m(Z,null),a(e,nt),pe&&pe.m(e,null),a(e,ze),Ie&&Ie.m(e,null),a(e,be),Se.m(e,null),We||(De=[I(_,"input",l[207]),I(T,"input",l[208]),I(H,"change",l[214]),I(z,"change",l[215]),I(x,"click",l[134]),I(Te,"click",l[141]),I(oe,"click",l[216]),I(je,"click",l[217]),I(Le,"click",l[218])],We=!0)},p(re,se){se[0]&128&&ke(_,re[7]),se[0]&256&&ke(T,re[8]),Me===(Me=Be(re))&&Fe?Fe.p(re,se):(Fe.d(1),Fe=Me(re),Fe&&(Fe.c(),Fe.m(F,null))),re[10]?_e?_e.p(re,se):(_e=Ci(re),_e.c(),_e.m(c,O)):_e&&(_e.d(1),_e=null),se[0]&2048&&Rt(H,re[11]),se[0]&4096&&Rt(z,re[12]),re[14]?de?de.p(re,se):(de=ji(re),de.c(),de.m(Z,null)):de&&(de.d(1),de=null),re[35].length>0?pe?pe.p(re,se):(pe=Ti(re),pe.c(),pe.m(e,ze)):pe&&(pe.d(1),pe=null),re[6]?Ie?Ie.p(re,se):(Ie=Di(re),Ie.c(),Ie.m(e,be)):Ie&&(Ie.d(1),Ie=null),et===(et=Ae(re))&&Se?Se.p(re,se):(Se.d(1),Se=et(re),Se&&(Se.c(),Se.m(e,null)))},i:ue,o:ue,d(re){re&&w(e),Fe.d(),_e&&_e.d(),de&&de.d(),pe&&pe.d(),Ie&&Ie.d(),Se.d(),We=!1,he(De)}}}function Mu(l){let e,t,n,o,s,r,u=ae(l[81]),c=[];for(let _=0;_{v[y]=null}),$e()),~o?(s=v[o],s?s.p(_,b):(s=v[o]=d[o](_),s.c()),fe(s,1),s.m(n,null)):s=null)},i(_){r||(fe(s),r=!0)},o(_){ye(s),r=!1},d(_){_&&(w(e),w(t),w(n)),Oe(c,_),~o&&v[o].d()}}}function Du(l){let e,t,n,o=l[25].title+"",s,r,u,c,d,v,g,_,b,y,k,j=l[25].dirty&&go();return{c(){e=f("div"),t=f("div"),n=f("span"),s=A(o),r=h(),j&&j.c(),u=h(),c=f("div"),d=f("button"),d.textContent=`${m("common.save")}`,v=h(),g=f("button"),g.textContent=`${m("common.close")}`,_=h(),b=f("textarea"),i(n,"class","note-title svelte-1ufgyr8"),i(d,"class","btn btn-primary svelte-1ufgyr8"),i(g,"class","btn svelte-1ufgyr8"),i(c,"class","note-editor-actions svelte-1ufgyr8"),i(t,"class","note-editor-header svelte-1ufgyr8"),i(b,"class","note-textarea svelte-1ufgyr8"),i(b,"placeholder",m("note.placeholder")),i(e,"class","note-editor svelte-1ufgyr8")},m(T,E){C(T,e,E),a(e,t),a(t,n),a(n,s),a(t,r),j&&j.m(t,null),a(t,u),a(t,c),a(c,d),a(c,v),a(c,g),a(e,_),a(e,b),ke(b,l[25].content),y||(k=[I(d,"click",l[128]),I(g,"click",l[126]),I(b,"input",l[168]),I(b,"input",l[127])],y=!0)},p(T,E){E[0]&33554432&&o!==(o=T[25].title+"")&&V(s,o),T[25].dirty?j||(j=go(),j.c(),j.m(t,u)):j&&(j.d(1),j=null),E[0]&33554432&&ke(b,T[25].content)},i:ue,o:ue,d(T){T&&w(e),j&&j.d(),y=!1,he(k)}}}function Iu(l){let e,t=m("common.error")+"",n,o,s;return{c(){e=f("p"),n=A(t),o=h(),s=A(l[20]),i(e,"class","error-text svelte-1ufgyr8")},m(r,u){C(r,e,u),a(e,n),a(e,o),a(e,s)},p(r,u){u[0]&1048576&&V(s,r[20])},d(r){r&&w(e)}}}function Fu(l){let e,t,n;return{c(){e=f("p"),e.textContent=`${m("welcome.selectSection")}`,t=h(),n=f("p"),n.textContent=`${m("welcome.createCase")}`,i(e,"class","svelte-1ufgyr8"),i(n,"class","hint svelte-1ufgyr8")},m(o,s){C(o,e,s),C(o,t,s),C(o,n,s)},p:ue,d(o){o&&(w(e),w(t),w(n))}}}function Au(l){let e;return{c(){e=f("p"),e.textContent=`${m("common.loading")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},p:ue,d(t){t&&w(e)}}}function Lu(l){let e,t=ae(l[4]),n=[];for(let o=0;o0&&ri(l),s=l[3].summary.notes>0&&ai(l),r=l[3].summary.files>0&&ci(l);return{c(){e=f("div"),o&&o.c(),t=h(),s&&s.c(),n=h(),r&&r.c(),i(e,"class","today-summary svelte-1ufgyr8")},m(u,c){C(u,e,c),o&&o.m(e,null),a(e,t),s&&s.m(e,null),a(e,n),r&&r.m(e,null)},p(u,c){u[3].summary.changedCases>0?o?o.p(u,c):(o=ri(u),o.c(),o.m(e,t)):o&&(o.d(1),o=null),u[3].summary.notes>0?s?s.p(u,c):(s=ai(u),s.c(),s.m(e,n)):s&&(s.d(1),s=null),u[3].summary.files>0?r?r.p(u,c):(r=ci(u),r.c(),r.m(e,null)):r&&(r.d(1),r=null)},d(u){u&&w(e),o&&o.d(),s&&s.d(),r&&r.d()}}}function ri(l){let e,t=l[3].summary.changedCases+"",n,o,s=vt(l[3].summary.changedCases,m("today.plural.case_one"),m("today.plural.case_few"),m("today.plural.case_many"))+"",r;return{c(){e=f("span"),n=A(t),o=h(),r=A(s),i(e,"class","summary-chip svelte-1ufgyr8")},m(u,c){C(u,e,c),a(e,n),a(e,o),a(e,r)},p(u,c){c[0]&8&&t!==(t=u[3].summary.changedCases+"")&&V(n,t),c[0]&8&&s!==(s=vt(u[3].summary.changedCases,m("today.plural.case_one"),m("today.plural.case_few"),m("today.plural.case_many"))+"")&&V(r,s)},d(u){u&&w(e)}}}function ai(l){let e,t=l[3].summary.notes+"",n,o,s=vt(l[3].summary.notes,m("today.plural.note_one"),m("today.plural.note_few"),m("today.plural.note_many"))+"",r;return{c(){e=f("span"),n=A(t),o=h(),r=A(s),i(e,"class","summary-chip svelte-1ufgyr8")},m(u,c){C(u,e,c),a(e,n),a(e,o),a(e,r)},p(u,c){c[0]&8&&t!==(t=u[3].summary.notes+"")&&V(n,t),c[0]&8&&s!==(s=vt(u[3].summary.notes,m("today.plural.note_one"),m("today.plural.note_few"),m("today.plural.note_many"))+"")&&V(r,s)},d(u){u&&w(e)}}}function ci(l){let e,t=l[3].summary.files+"",n,o,s=vt(l[3].summary.files,m("today.plural.file_one"),m("today.plural.file_few"),m("today.plural.file_many"))+"",r;return{c(){e=f("span"),n=A(t),o=h(),r=A(s),i(e,"class","summary-chip svelte-1ufgyr8")},m(u,c){C(u,e,c),a(e,n),a(e,o),a(e,r)},p(u,c){c[0]&8&&t!==(t=u[3].summary.files+"")&&V(n,t),c[0]&8&&s!==(s=vt(u[3].summary.files,m("today.plural.file_one"),m("today.plural.file_few"),m("today.plural.file_many"))+"")&&V(r,s)},d(u){u&&w(e)}}}function ui(l){let e,t,n,o=ae(l[35]),s=[];for(let r=0;r0&&fi(l);return{c(){e=f("div"),t=f("div"),n=f("div"),o=f("button"),r=A(s),u=h(),c=f("span"),v=A(d),g=h(),_=f("span"),y=A(b),k=h(),j=f("div"),T=f("input"),D=h(),M=f("span"),M.textContent=`${m("suggest.minutes")}`,N=h(),F=f("button"),F.textContent=`${m("suggest.apply")}`,S=h(),Y&&Y.c(),O=h(),i(o,"class","suggestion-node link-btn svelte-1ufgyr8"),i(c,"class","suggestion-summary svelte-1ufgyr8"),i(_,"class","suggestion-confidence svelte-1ufgyr8"),we(_,"low",l[336].confidence==="low"),we(_,"medium",l[336].confidence==="medium"),we(_,"high",l[336].confidence==="high"),i(n,"class","suggestion-info svelte-1ufgyr8"),i(T,"type","number"),i(T,"class","suggestion-min-input svelte-1ufgyr8"),T.value=E=l[336].suggestedMin,i(T,"min","1"),i(T,"max","480"),i(M,"class","suggestion-min-label svelte-1ufgyr8"),i(F,"class","btn btn-sm btn-primary svelte-1ufgyr8"),i(j,"class","suggestion-actions svelte-1ufgyr8"),i(t,"class","suggestion-main svelte-1ufgyr8"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","suggestion-card svelte-1ufgyr8"),we(e,"expanded",l[336]._expanded)},m(W,q){C(W,e,q),a(e,t),a(t,n),a(n,o),a(o,r),a(n,u),a(n,c),a(c,v),a(n,g),a(n,_),a(_,y),a(t,k),a(t,j),a(j,T),a(j,D),a(j,M),a(j,N),a(j,F),a(e,S),Y&&Y.m(e,null),a(e,O),R||(B=[I(o,"click",qe(P)),I(T,"change",qe(H)),I(F,"click",qe(U)),I(t,"click",K),I(t,"keydown",X)],R=!0)},p(W,q){l=W,q[1]&16&&s!==(s=l[336].nodeTitle+"")&&V(r,s),q[1]&16&&d!==(d=l[336].summary+"")&&V(v,d),q[1]&16&&b!==(b=m("suggest.confidence."+l[336].confidence)+"")&&V(y,b),q[1]&16&&we(_,"low",l[336].confidence==="low"),q[1]&16&&we(_,"medium",l[336].confidence==="medium"),q[1]&16&&we(_,"high",l[336].confidence==="high"),q[1]&16&&E!==(E=l[336].suggestedMin)&&T.value!==E&&(T.value=E),l[336]._expanded&&l[336].events&&l[336].events.length>0?Y?Y.p(l,q):(Y=fi(l),Y.c(),Y.m(e,O)):Y&&(Y.d(1),Y=null),q[1]&16&&we(e,"expanded",l[336]._expanded)},d(W){W&&w(e),Y&&Y.d(),R=!1,he(B)}}}function Ou(l){let e,t,n,o;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("today.empty")}`,n=h(),o=f("p"),o.textContent=`${m("today.emptyHint")}`,i(t,"class","svelte-1ufgyr8"),i(o,"class","hint svelte-1ufgyr8"),i(e,"class","today-empty svelte-1ufgyr8")},m(s,r){C(s,e,r),a(e,t),a(e,n),a(e,o)},p:ue,d(s){s&&w(e)}}}function Ru(l){let e,t,n=ae(l[3].groups),o=[];for(let r=0;r0&&yi(l);return{c(){for(let r=0;r0?s?s.p(r,u):(s=yi(r),s.c(),s.m(t.parentNode,t)):s&&(s.d(1),s=null)},d(r){r&&(w(e),w(t)),Oe(o,r),s&&s.d(r)}}}function _i(l){let e,t=l[364].events.length+"",n,o,s=vt(l[364].events.length,m("today.plural.event_one"),m("today.plural.event_few"),m("today.plural.event_many"))+"",r;return{c(){e=f("span"),n=A(t),o=h(),r=A(s),i(e,"class","today-case-count svelte-1ufgyr8")},m(u,c){C(u,e,c),a(e,n),a(e,o),a(e,r)},p(u,c){c[0]&8&&t!==(t=u[364].events.length+"")&&V(n,t),c[0]&8&&s!==(s=vt(u[364].events.length,m("today.plural.event_one"),m("today.plural.event_few"),m("today.plural.event_many"))+"")&&V(r,s)},d(u){u&&w(e)}}}function zu(l){let e;return{c(){e=f("div"),e.textContent=`${m("today.changedCases")}`,i(e,"class","today-events-empty svelte-1ufgyr8")},m(t,n){C(t,e,n)},p:ue,d(t){t&&w(e)}}}function Bu(l){let e,t=ae(l[364].events),n=[];for(let o=0;o0?Bu:zu}let F=N(l),S=F(l);return{c(){e=f("div"),t=f("div"),n=f("span"),s=A(o),r=h(),u=f("span"),d=A(c),v=h(),E&&E.c(),g=h(),_=f("span"),y=A(b),k=h(),S.c(),i(n,"class","today-case-title svelte-1ufgyr8"),i(u,"class","today-case-type svelte-1ufgyr8"),i(_,"class","today-case-time svelte-1ufgyr8"),i(t,"class","today-case-header svelte-1ufgyr8"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","today-case svelte-1ufgyr8")},m(O,R){C(O,e,R),a(e,t),a(t,n),a(n,s),a(t,r),a(t,u),a(u,d),a(t,v),E&&E.m(t,null),a(t,g),a(t,_),a(_,y),a(e,k),S.m(e,null),j||(T=[I(t,"click",D),I(t,"keydown",M)],j=!0)},p(O,R){l=O,R[0]&8&&o!==(o=l[364].nodeTitle+"")&&V(s,o),R[0]&8&&c!==(c=l[148](l[364].nodeKind)+"")&&V(d,c),l[364].events?E?E.p(l,R):(E=_i(l),E.c(),E.m(t,g)):E&&(E.d(1),E=null),R[0]&8&&b!==(b=Ye(l[364].lastActivityAt)+"")&&V(y,b),F===(F=N(l))&&S?S.p(l,R):(S.d(1),S=F(l),S&&(S.c(),S.m(e,null)))},d(O){O&&w(e),E&&E.d(),S.d(),j=!1,he(T)}}}function yi(l){let e,t,n,o=ae(l[3].events),s=[];for(let r=0;r0&&Si(l);return{c(){e=f("div"),t=f("div"),n=f("div"),o=f("button"),r=A(s),u=h(),c=f("span"),v=A(d),g=h(),_=f("span"),y=A(b),k=h(),j=f("div"),T=f("input"),D=h(),M=f("span"),M.textContent=`${m("suggest.minutes")}`,N=h(),F=f("button"),F.textContent=`${m("suggest.apply")}`,S=h(),Y&&Y.c(),O=h(),i(o,"class","suggestion-node link-btn svelte-1ufgyr8"),i(c,"class","suggestion-summary svelte-1ufgyr8"),i(_,"class","suggestion-confidence svelte-1ufgyr8"),we(_,"low",l[336].confidence==="low"),we(_,"medium",l[336].confidence==="medium"),we(_,"high",l[336].confidence==="high"),i(n,"class","suggestion-info svelte-1ufgyr8"),i(T,"type","number"),i(T,"class","suggestion-min-input svelte-1ufgyr8"),T.value=E=l[336].suggestedMin,i(T,"min","1"),i(T,"max","480"),i(M,"class","suggestion-min-label svelte-1ufgyr8"),i(F,"class","btn btn-sm btn-primary svelte-1ufgyr8"),i(j,"class","suggestion-actions svelte-1ufgyr8"),i(t,"class","suggestion-main svelte-1ufgyr8"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","suggestion-card svelte-1ufgyr8"),we(e,"expanded",l[336]._expanded)},m(W,q){C(W,e,q),a(e,t),a(t,n),a(n,o),a(o,r),a(n,u),a(n,c),a(c,v),a(n,g),a(n,_),a(_,y),a(t,k),a(t,j),a(j,T),a(j,D),a(j,M),a(j,N),a(j,F),a(e,S),Y&&Y.m(e,null),a(e,O),R||(B=[I(o,"click",qe(P)),I(T,"change",qe(H)),I(F,"click",qe(U)),I(t,"click",K),I(t,"keydown",X)],R=!0)},p(W,q){l=W,q[1]&16&&s!==(s=l[336].nodeTitle+"")&&V(r,s),q[1]&16&&d!==(d=l[336].summary+"")&&V(v,d),q[1]&16&&b!==(b=m("suggest.confidence."+l[336].confidence)+"")&&V(y,b),q[1]&16&&we(_,"low",l[336].confidence==="low"),q[1]&16&&we(_,"medium",l[336].confidence==="medium"),q[1]&16&&we(_,"high",l[336].confidence==="high"),q[1]&16&&E!==(E=l[336].suggestedMin)&&T.value!==E&&(T.value=E),l[336]._expanded&&l[336].events&&l[336].events.length>0?Y?Y.p(l,q):(Y=Si(l),Y.c(),Y.m(e,O)):Y&&(Y.d(1),Y=null),q[1]&16&&we(e,"expanded",l[336]._expanded)},d(W){W&&w(e),Y&&Y.d(),R=!1,he(B)}}}function Di(l){let e,t,n=m("journal.total")+"",o,s,r=Math.floor(l[6].totalMinutes/60)+"",u,c,d=l[6].totalMinutes%60+"",v,g,_=l[6].totalEntries+"",b,y,k=m("worklog.min")+"",j,T,E,D,M=l[6].byDay&&l[6].byDay.length>0&&Ii(l),N=l[6].byNode&&l[6].byNode.length>0&&Ai(l);return{c(){e=f("div"),t=f("div"),o=A(n),s=A(": "),u=A(r),c=A("ч "),v=A(d),g=A("м ("),b=A(_),y=h(),j=A(k),T=A(")"),E=h(),M&&M.c(),D=h(),N&&N.c(),i(t,"class","summary-total svelte-1ufgyr8"),i(e,"class","journal-summary svelte-1ufgyr8")},m(F,S){C(F,e,S),a(e,t),a(t,o),a(t,s),a(t,u),a(t,c),a(t,v),a(t,g),a(t,b),a(t,y),a(t,j),a(t,T),a(e,E),M&&M.m(e,null),a(e,D),N&&N.m(e,null)},p(F,S){S[0]&64&&r!==(r=Math.floor(F[6].totalMinutes/60)+"")&&V(u,r),S[0]&64&&d!==(d=F[6].totalMinutes%60+"")&&V(v,d),S[0]&64&&_!==(_=F[6].totalEntries+"")&&V(b,_),F[6].byDay&&F[6].byDay.length>0?M?M.p(F,S):(M=Ii(F),M.c(),M.m(e,D)):M&&(M.d(1),M=null),F[6].byNode&&F[6].byNode.length>0?N?N.p(F,S):(N=Ai(F),N.c(),N.m(e,null)):N&&(N.d(1),N=null)},d(F){F&&w(e),M&&M.d(),N&&N.d()}}}function Ii(l){let e,t,n,o=ae(l[6].byDay),s=[];for(let r=0;r0?Yu:k[346].source==="suggestion"?Ju:k[346].source==="unknown"||k[346].source==="imported"?qu:k[346]._hasEvents?Gu:Ku}let _=g(l),b=_(l),y=l[346]._events&&Bi(l);return{c(){e=f("tr"),t=f("td"),n=f("div"),v&&v.c(),o=h(),s=f("div"),r=f("span"),r.textContent=`${m("worklog.source")}`,u=h(),b.c(),c=h(),y&&y.c(),d=h(),i(r,"class","journal-detail-label svelte-1ufgyr8"),i(s,"class","journal-detail-section svelte-1ufgyr8"),i(n,"class","journal-detail-body svelte-1ufgyr8"),i(t,"colspan","8"),i(t,"class","svelte-1ufgyr8"),i(e,"class","journal-row-detail svelte-1ufgyr8")},m(k,j){C(k,e,j),a(e,t),a(t,n),v&&v.m(n,null),a(n,o),a(n,s),a(s,r),a(s,u),b.m(s,null),a(n,c),y&&y.m(n,null),a(e,d)},p(k,j){k[346].details?v?v.p(k,j):(v=zi(k),v.c(),v.m(n,o)):v&&(v.d(1),v=null),_!==(_=g(k))&&(b.d(1),b=_(k),b&&(b.c(),b.m(s,null))),k[346]._events?y?y.p(k,j):(y=Bi(k),y.c(),y.m(n,null)):y&&(y.d(1),y=null)},d(k){k&&w(e),v&&v.d(),b.d(),y&&y.d()}}}function zi(l){let e,t,n,o,s=l[346].details+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${m("worklog.details")}`,n=h(),o=f("p"),r=A(s),i(t,"class","journal-detail-label svelte-1ufgyr8"),i(o,"class","svelte-1ufgyr8"),i(e,"class","journal-detail-section svelte-1ufgyr8")},m(u,c){C(u,e,c),a(e,t),a(e,n),a(e,o),a(o,r)},p(u,c){c[0]&32&&s!==(s=u[346].details+"")&&V(r,s)},d(u){u&&w(e)}}}function Ku(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceUnknown")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Gu(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceSuggestion")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function qu(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceUnknown")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Ju(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceSuggestionNoEvents")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Yu(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceSuggestion")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Xu(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceManual")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function Bi(l){let e,t,n,o=ae(l[346]._events),s=[];for(let r=0;r0,r,u,c,d=s&&Gi(l);function v(b,y){return b[27].length===0?sf:of}let g=v(l),_=g(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`+ ${m("worklog.addEntry")}`,o=h(),d&&d.c(),r=h(),_.c(),i(n,"class","btn btn-primary btn-sm svelte-1ufgyr8"),i(t,"class","worklog-toolbar svelte-1ufgyr8"),i(e,"class","worklog-tab svelte-1ufgyr8")},m(b,y){C(b,e,y),a(e,t),a(t,n),a(e,o),d&&d.m(e,null),a(e,r),_.m(e,null),u||(c=I(n,"click",l[129]),u=!0)},p(b,y){y[0]&4194304|y[1]&16&&(s=b[22]&&b[35].filter(b[163]).length>0),s?d?d.p(b,y):(d=Gi(b),d.c(),d.m(e,r)):d&&(d.d(1),d=null),g===(g=v(b))&&_?_.p(b,y):(_.d(1),_=g(b),_&&(_.c(),_.m(e,null)))},i:ue,o:ue,d(b){b&&w(e),d&&d.d(),_.d(),u=!1,c()}}}function xu(l){let e,t,n,o,s,r;function u(v,g){return v[26].length===0?pf:df}let c=u(l),d=c(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`${m("action.addAction")}`,o=h(),d.c(),i(n,"class","btn btn-primary svelte-1ufgyr8"),i(t,"class","tab-toolbar svelte-1ufgyr8"),i(e,"class","actions-tab svelte-1ufgyr8")},m(v,g){C(v,e,g),a(e,t),a(t,n),a(e,o),d.m(e,null),s||(r=I(n,"click",l[149]),s=!0)},p(v,g){c===(c=u(v))&&d?d.p(v,g):(d.d(1),d=c(v),d&&(d.c(),d.m(e,null)))},i:ue,o:ue,d(v){v&&w(e),d.d(),s=!1,r()}}}function $u(l){let e,t,n,o=m("file.addFile")+"",s,r,u,c=m("file.addFolder")+"",d,v,g,_,b,y,k,j,T,E,D,M,N,F=l[61].items.length>0&&oo(l);const S=[_f,mf],O=[];function R(H,U){return H[53]?0:1}y=R(l),k=O[y]=S[y](l);let B=l[49]&&!l[51]&&ro(),P=l[57]&&ao(l);return{c(){e=f("div"),t=f("div"),n=f("button"),s=A(o),r=h(),u=f("button"),d=A(c),v=h(),g=f("button"),g.textContent=`${m("file.newFile")}`,_=h(),F&&F.c(),b=h(),k.c(),j=h(),B&&B.c(),T=h(),P&&P.c(),E=ct(),i(n,"class","btn btn-primary svelte-1ufgyr8"),n.disabled=l[49],i(u,"class","btn svelte-1ufgyr8"),u.disabled=l[49],i(g,"class","btn svelte-1ufgyr8"),i(t,"class","tab-toolbar svelte-1ufgyr8"),i(e,"class","files-tab svelte-1ufgyr8")},m(H,U){C(H,e,U),a(e,t),a(t,n),a(n,s),a(t,r),a(t,u),a(u,d),a(t,v),a(t,g),a(t,_),F&&F.m(t,null),a(e,b),O[y].m(e,null),a(e,j),B&&B.m(e,null),C(H,T,U),P&&P.m(H,U),C(H,E,U),D=!0,M||(N=[I(n,"click",l[142]),I(u,"click",l[143]),I(g,"click",l[90])],M=!0)},p(H,U){(!D||U[1]&262144)&&(n.disabled=H[49]),(!D||U[1]&262144)&&(u.disabled=H[49]),H[61].items.length>0?F?F.p(H,U):(F=oo(H),F.c(),F.m(t,null)):F&&(F.d(1),F=null);let K=y;y=R(H),y===K?O[y].p(H,U):(xe(),ye(O[K],1,1,()=>{O[K]=null}),$e(),k=O[y],k?k.p(H,U):(k=O[y]=S[y](H),k.c()),fe(k,1),k.m(e,j)),H[49]&&!H[51]?B||(B=ro(),B.c(),B.m(e,null)):B&&(B.d(1),B=null),H[57]?P?(P.p(H,U),U[1]&67108864&&fe(P,1)):(P=ao(H),P.c(),fe(P,1),P.m(E.parentNode,E)):P&&(xe(),ye(P,1,1,()=>{P=null}),$e())},i(H){D||(fe(k),fe(P),D=!0)},o(H){ye(k),ye(P),D=!1},d(H){H&&(w(e),w(T),w(E)),F&&F.d(),O[y].d(),B&&B.d(),P&&P.d(H),M=!1,he(N)}}}function ef(l){let e,t,n,o,s,r,u,c=l[42]&&co(l);function d(_,b){return _[24].length===0&&!_[42]?kf:bf}let v=d(l),g=v(l);return{c(){e=f("div"),t=f("div"),n=f("button"),n.textContent=`${m("note.add")}`,o=h(),c&&c.c(),s=h(),g.c(),i(n,"class","btn btn-primary svelte-1ufgyr8"),i(t,"class","tab-toolbar svelte-1ufgyr8"),i(e,"class","notes-tab svelte-1ufgyr8")},m(_,b){C(_,e,b),a(e,t),a(t,n),a(e,o),c&&c.m(e,null),a(e,s),g.m(e,null),r||(u=I(n,"click",l[122]),r=!0)},p(_,b){_[42]?c?c.p(_,b):(c=co(_),c.c(),c.m(e,s)):c&&(c.d(1),c=null),v===(v=d(_))&&g?g.p(_,b):(g.d(1),g=v(_),g&&(g.c(),g.m(e,null)))},i:ue,o:ue,d(_){_&&w(e),c&&c.d(),g.d(),r=!1,u()}}}function tf(l){let e,t,n=l[22].title+"",o,s,r,u,c,d,v=l[148](l[22].type)+"",g,_,b,y,k,j=(l[22].section||"—")+"",T,E,D,M,N,F=dt(l[22].createdAt)+"",S,O,R,B,P,H,U,K,X=m("overview.newNote")+"",Y,W,q,Q,z,le,ve=m("overview.addFile")+"",ie,$,x,ce,Te,Ee,Re=m("overview.addAction")+"",Ce,G,Z,oe,me,je,Je,Le=m("overview.logTime")+"",Qe,nt,ze,be,We,De=l[24].length>0&&fo(l),Be=l[27].length>0&&mo(l);return{c(){e=f("div"),t=f("h2"),o=A(n),s=h(),r=f("div"),u=f("div"),c=f("span"),c.textContent=`${m("overview.type")}`,d=f("span"),g=A(v),_=h(),b=f("div"),y=f("span"),y.textContent=`${m("overview.section")}`,k=f("span"),T=A(j),E=h(),D=f("div"),M=f("span"),M.textContent=`${m("overview.created")}`,N=f("span"),S=A(F),O=h(),R=f("div"),B=f("button"),P=J("svg"),H=J("path"),U=J("path"),K=h(),Y=A(X),W=h(),q=f("button"),Q=J("svg"),z=J("path"),le=h(),ie=A(ve),$=h(),x=f("button"),ce=J("svg"),Te=J("polygon"),Ee=h(),Ce=A(Re),G=h(),Z=f("button"),oe=J("svg"),me=J("circle"),je=J("polyline"),Je=h(),Qe=A(Le),nt=h(),De&&De.c(),ze=h(),Be&&Be.c(),i(t,"class","svelte-1ufgyr8"),i(c,"class","meta-label svelte-1ufgyr8"),i(d,"class","svelte-1ufgyr8"),i(u,"class","meta-item svelte-1ufgyr8"),i(y,"class","meta-label svelte-1ufgyr8"),i(k,"class","svelte-1ufgyr8"),i(b,"class","meta-item svelte-1ufgyr8"),i(M,"class","meta-label svelte-1ufgyr8"),i(N,"class","svelte-1ufgyr8"),i(D,"class","meta-item svelte-1ufgyr8"),i(r,"class","meta-grid svelte-1ufgyr8"),i(H,"d","M12 20h9"),i(H,"class","svelte-1ufgyr8"),i(U,"d","M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z"),i(U,"class","svelte-1ufgyr8"),i(P,"width","16"),i(P,"height","16"),i(P,"viewBox","0 0 24 24"),i(P,"fill","none"),i(P,"stroke","currentColor"),i(P,"stroke-width","2"),i(P,"stroke-linecap","round"),i(P,"stroke-linejoin","round"),i(P,"class","svelte-1ufgyr8"),i(B,"class","qa-btn svelte-1ufgyr8"),i(z,"d","M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48"),i(z,"class","svelte-1ufgyr8"),i(Q,"width","16"),i(Q,"height","16"),i(Q,"viewBox","0 0 24 24"),i(Q,"fill","none"),i(Q,"stroke","currentColor"),i(Q,"stroke-width","2"),i(Q,"stroke-linecap","round"),i(Q,"stroke-linejoin","round"),i(Q,"class","svelte-1ufgyr8"),i(q,"class","qa-btn svelte-1ufgyr8"),i(Te,"points","13 2 3 14 12 14 11 22 21 10 12 10 13 2"),i(Te,"class","svelte-1ufgyr8"),i(ce,"width","16"),i(ce,"height","16"),i(ce,"viewBox","0 0 24 24"),i(ce,"fill","none"),i(ce,"stroke","currentColor"),i(ce,"stroke-width","2"),i(ce,"stroke-linecap","round"),i(ce,"stroke-linejoin","round"),i(ce,"class","svelte-1ufgyr8"),i(x,"class","qa-btn svelte-1ufgyr8"),i(me,"cx","12"),i(me,"cy","12"),i(me,"r","10"),i(me,"class","svelte-1ufgyr8"),i(je,"points","12 6 12 12 16 14"),i(je,"class","svelte-1ufgyr8"),i(oe,"width","16"),i(oe,"height","16"),i(oe,"viewBox","0 0 24 24"),i(oe,"fill","none"),i(oe,"stroke","currentColor"),i(oe,"stroke-width","2"),i(oe,"stroke-linecap","round"),i(oe,"stroke-linejoin","round"),i(oe,"class","svelte-1ufgyr8"),i(Z,"class","qa-btn svelte-1ufgyr8"),i(R,"class","quick-actions svelte-1ufgyr8"),i(e,"class","overview svelte-1ufgyr8")},m(Me,Fe){C(Me,e,Fe),a(e,t),a(t,o),a(e,s),a(e,r),a(r,u),a(u,c),a(u,d),a(d,g),a(r,_),a(r,b),a(b,y),a(b,k),a(k,T),a(r,E),a(r,D),a(D,M),a(D,N),a(N,S),a(e,O),a(e,R),a(R,B),a(B,P),a(P,H),a(P,U),a(B,K),a(B,Y),a(R,W),a(R,q),a(q,Q),a(Q,z),a(q,le),a(q,ie),a(R,$),a(R,x),a(x,ce),a(ce,Te),a(x,Ee),a(x,Ce),a(R,G),a(R,Z),a(Z,oe),a(oe,me),a(oe,je),a(Z,Je),a(Z,Qe),a(e,nt),De&&De.m(e,null),a(e,ze),Be&&Be.m(e,null),be||(We=[I(B,"click",l[170]),I(q,"click",l[171]),I(x,"click",l[149]),I(Z,"click",l[172])],be=!0)},p(Me,Fe){Fe[0]&4194304&&n!==(n=Me[22].title+"")&&V(o,n),Fe[0]&4194304&&v!==(v=Me[148](Me[22].type)+"")&&V(g,v),Fe[0]&4194304&&j!==(j=(Me[22].section||"—")+"")&&V(T,j),Fe[0]&4194304&&F!==(F=dt(Me[22].createdAt)+"")&&V(S,F),Me[24].length>0?De?De.p(Me,Fe):(De=fo(Me),De.c(),De.m(e,ze)):De&&(De.d(1),De=null),Me[27].length>0?Be?Be.p(Me,Fe):(Be=mo(Me),Be.c(),Be.m(e,null)):Be&&(Be.d(1),Be=null)},i:ue,o:ue,d(Me){Me&&w(e),De&&De.d(),Be&&Be.d(),be=!1,he(We)}}}function lf(l){let e,t=ae(l[18]),n=[];for(let o=0;o0&&qi(l);return{c(){e=f("div"),t=f("div"),n=f("div"),o=f("span"),r=A(s),u=h(),c=f("span"),v=A(d),g=h(),b=A(_),y=A(" · "),j=A(k),T=h(),E=f("div"),D=f("button"),D.textContent=`${m("worklog.apply")}`,M=h(),P&&P.c(),N=h(),i(o,"class","suggestion-summary svelte-1ufgyr8"),i(c,"class","suggestion-meta svelte-1ufgyr8"),i(n,"class","suggestion-info svelte-1ufgyr8"),i(D,"class","btn btn-sm btn-primary svelte-1ufgyr8"),i(E,"class","suggestion-actions svelte-1ufgyr8"),i(t,"class","suggestion-main svelte-1ufgyr8"),i(t,"role","button"),i(t,"tabindex","0"),i(e,"class","suggestion-card svelte-1ufgyr8"),we(e,"expanded",l[336]._expanded)},m(H,U){C(H,e,U),a(e,t),a(t,n),a(n,o),a(o,r),a(n,u),a(n,c),a(c,v),a(c,g),a(c,b),a(c,y),a(c,j),a(t,T),a(t,E),a(E,D),a(e,M),P&&P.m(e,null),a(e,N),F||(S=[I(D,"click",qe(O)),I(t,"click",R),I(t,"keydown",B)],F=!0)},p(H,U){l=H,U[0]&4194304|U[1]&16&&s!==(s=l[336].summary+"")&&V(r,s),U[0]&4194304|U[1]&16&&d!==(d=l[336].suggestedMin+"")&&V(v,d),U[0]&4194304|U[1]&16&&k!==(k=m("suggest.confidence."+l[336].confidence)+"")&&V(j,k),l[336]._expanded&&l[336].events&&l[336].events.length>0?P?P.p(l,U):(P=qi(l),P.c(),P.m(e,N)):P&&(P.d(1),P=null),U[0]&4194304|U[1]&16&&we(e,"expanded",l[336]._expanded)},d(H){H&&w(e),P&&P.d(),F=!1,he(S)}}}function of(l){let e,t=ae(l[27]),n=[];for(let o=0;o0?uf:_[317].source==="suggestion"?cf:_[317].source==="unknown"||_[317].source==="imported"?af:rf}let d=c(l),v=d(l),g=l[317].source==="suggestion"&&l[317]._events&&l[317]._events.length>0&&eo(l);return{c(){e=f("div"),u&&u.c(),t=h(),n=f("div"),o=f("span"),o.textContent=`${m("worklog.source")}`,s=h(),v.c(),r=h(),g&&g.c(),i(o,"class","wl-detail-label svelte-1ufgyr8"),i(n,"class","wl-detail-section svelte-1ufgyr8"),i(e,"class","worklog-entry-detail svelte-1ufgyr8")},m(_,b){C(_,e,b),u&&u.m(e,null),a(e,t),a(e,n),a(n,o),a(n,s),v.m(n,null),a(e,r),g&&g.m(e,null)},p(_,b){_[317].details?u?u.p(_,b):(u=$i(_),u.c(),u.m(e,t)):u&&(u.d(1),u=null),d!==(d=c(_))&&(v.d(1),v=d(_),v&&(v.c(),v.m(n,null))),_[317].source==="suggestion"&&_[317]._events&&_[317]._events.length>0?g?g.p(_,b):(g=eo(_),g.c(),g.m(e,null)):g&&(g.d(1),g=null)},d(_){_&&w(e),u&&u.d(),v.d(),g&&g.d()}}}function $i(l){let e,t,n,o,s=l[317].details+"",r;return{c(){e=f("div"),t=f("span"),t.textContent=`${m("worklog.details")}`,n=h(),o=f("p"),r=A(s),i(t,"class","wl-detail-label svelte-1ufgyr8"),i(o,"class","svelte-1ufgyr8"),i(e,"class","wl-detail-section svelte-1ufgyr8")},m(u,c){C(u,e,c),a(e,t),a(e,n),a(e,o),a(o,r)},p(u,c){c[0]&134217728&&s!==(s=u[317].details+"")&&V(r,s)},d(u){u&&w(e)}}}function rf(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceUnknown")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function af(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceUnknown")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function cf(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceSuggestionNoEvents")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function uf(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceSuggestion")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function ff(l){let e;return{c(){e=f("p"),e.textContent=`${m("worklog.sourceManual")}`,i(e,"class","svelte-1ufgyr8")},m(t,n){C(t,e,n)},d(t){t&&w(e)}}}function eo(l){let e,t,n,o=ae(l[317]._events),s=[];for(let r=0;r',D=h(),i(n,"class","action-title svelte-1ufgyr8"),i(u,"class","action-type svelte-1ufgyr8"),i(g,"class","action-data svelte-1ufgyr8"),i(t,"class","action-info svelte-1ufgyr8"),i(j,"class","btn btn-sm svelte-1ufgyr8"),i(E,"class","btn btn-sm btn-danger svelte-1ufgyr8"),i(k,"class","action-btns svelte-1ufgyr8"),i(e,"class","action-card svelte-1ufgyr8")},m(O,R){C(O,e,R),a(e,t),a(t,n),a(n,s),a(t,r),a(t,u),a(u,d),a(t,v),a(t,g),a(g,b),a(e,y),a(e,k),a(k,j),a(k,T),a(k,E),a(e,D),M||(N=[I(j,"click",F),I(E,"click",S)],M=!0)},p(O,R){l=O,R[0]&67108864&&o!==(o=l[328].title+"")&&V(s,o),R[0]&67108864&&c!==(c=l[153](l[328].type)+"")&&V(d,c),R[0]&67108864&&_!==(_=l[328].data+"")&&V(b,_)},d(O){O&&w(e),M=!1,he(N)}}}function oo(l){let e,t=m("common.paste")+"",n,o,s=l[61].items.length+"",r,u,c;return{c(){e=f("button"),n=A(t),o=h(),r=A(s),i(e,"class","btn svelte-1ufgyr8")},m(d,v){C(d,e,v),a(e,n),a(e,o),a(e,r),u||(c=I(e,"click",l[95]),u=!0)},p(d,v){v[1]&1073741824&&s!==(s=d[61].items.length+"")&&V(r,s)},d(d){d&&w(e),u=!1,c()}}}function mf(l){let e,t,n,o,s,r,u;const c=[vf,gf],d=[];function v(y,k){return y[55].length>0?0:1}e=v(l),t=d[e]=c[e](l);const g=[yf,hf],_=[];function b(y,k){return y[56].length===0?0:1}return o=b(l),s=_[o]=g[o](l),{c(){t.c(),n=h(),s.c(),r=ct()},m(y,k){d[e].m(y,k),C(y,n,k),_[o].m(y,k),C(y,r,k),u=!0},p(y,k){let j=e;e=v(y),e===j?d[e].p(y,k):(xe(),ye(d[j],1,1,()=>{d[j]=null}),$e(),t=d[e],t?t.p(y,k):(t=d[e]=c[e](y),t.c()),fe(t,1),t.m(n.parentNode,n));let T=o;o=b(y),o===T?_[o].p(y,k):(xe(),ye(_[T],1,1,()=>{_[T]=null}),$e(),s=_[o],s?s.p(y,k):(s=_[o]=g[o](y),s.c()),fe(s,1),s.m(r.parentNode,r))},i(y){u||(fe(t),fe(s),u=!0)},o(y){ye(t),ye(s),u=!1},d(y){y&&(w(n),w(r)),d[e].d(y),_[o].d(y)}}}function _f(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("common.loading")}`,i(t,"class","svelte-1ufgyr8"),i(e,"class","empty-state svelte-1ufgyr8")},m(n,o){C(n,e,o),a(e,t)},p:ue,i:ue,o:ue,d(n){n&&w(e)}}}function gf(l){let e,t;return e=new Qo({props:{crumbs:[{name:m("file.root")}]}}),{c(){ut(e.$$.fragment)},m(n,o){it(e,n,o),t=!0},p:ue,i(n){t||(fe(e.$$.fragment,n),t=!0)},o(n){ye(e.$$.fragment,n),t=!1},d(n){ot(e,n)}}}function vf(l){let e,t,n,o,s,r,u,c=m("common.back")+"",d,v,g,_;return e=new Qo({props:{crumbs:[{name:m("file.root")},...l[55]]}}),e.$on("navigate",l[179]),{c(){ut(e.$$.fragment),t=h(),n=f("button"),o=J("svg"),s=J("line"),r=J("polyline"),u=h(),d=A(c),i(s,"x1","19"),i(s,"y1","12"),i(s,"x2","5"),i(s,"y2","12"),i(s,"class","svelte-1ufgyr8"),i(r,"points","12 19 5 12 12 5"),i(r,"class","svelte-1ufgyr8"),i(o,"width","14"),i(o,"height","14"),i(o,"viewBox","0 0 24 24"),i(o,"fill","none"),i(o,"stroke","currentColor"),i(o,"stroke-width","2"),i(o,"stroke-linecap","round"),i(o,"stroke-linejoin","round"),i(o,"class","svelte-1ufgyr8"),i(n,"class","btn btn-sm back-btn svelte-1ufgyr8")},m(b,y){it(e,b,y),C(b,t,y),C(b,n,y),a(n,o),a(o,s),a(o,r),a(n,u),a(n,d),v=!0,g||(_=I(n,"click",l[86]),g=!0)},p(b,y){const k={};y[1]&16777216&&(k.crumbs=[{name:m("file.root")},...b[55]]),e.$set(k)},i(b){v||(fe(e.$$.fragment,b),v=!0)},o(b){ye(e.$$.fragment,b),v=!1},d(b){b&&(w(t),w(n)),ot(e,b),g=!1,_()}}}function hf(l){let e,t=[],n=new Map,o,s=ae(l[56]);const r=u=>u[325].id;for(let u=0;u0?m("file.noFiles"):m("file.noFilesCase"))+"",r,u,c,d,v,g,_,b,y,k;return{c(){e=f("div"),t=f("div"),t.innerHTML='',n=h(),o=f("p"),r=A(s),u=h(),c=f("p"),c.textContent=`${m("file.hint")}`,d=h(),v=f("div"),g=f("button"),g.textContent=`${m("file.addFileSimple")}`,_=h(),b=f("button"),b.textContent=`${m("file.addFolderSimple")}`,i(t,"class","empty-icon svelte-1ufgyr8"),i(o,"class","svelte-1ufgyr8"),i(c,"class","hint svelte-1ufgyr8"),i(g,"class","btn btn-primary svelte-1ufgyr8"),i(b,"class","btn svelte-1ufgyr8"),i(v,"class","empty-actions svelte-1ufgyr8"),i(e,"class","empty-state svelte-1ufgyr8")},m(j,T){C(j,e,T),a(e,t),a(e,n),a(e,o),a(o,r),a(e,u),a(e,c),a(e,d),a(e,v),a(v,g),a(v,_),a(v,b),y||(k=[I(g,"click",l[142]),I(b,"click",l[143])],y=!0)},p(j,T){T[1]&16777216&&s!==(s=(j[55].length>0?m("file.noFiles"):m("file.noFilesCase"))+"")&&V(r,s)},i:ue,o:ue,d(j){j&&w(e),y=!1,he(k)}}}function so(l,e){let t,n,o;return n=new zc({props:{item:e[325],selected:e[62].includes(e[325].id),onDragStart:e[99],onDragOver:e[100],onDrop:e[101]}}),n.$on("navigate",e[180]),n.$on("preview",e[181]),n.$on("openExternal",e[182]),n.$on("showInFolder",e[183]),n.$on("delete",e[184]),n.$on("rename",e[185]),n.$on("duplicate",e[186]),n.$on("cut",e[187]),n.$on("copy",e[188]),n.$on("selectOne",e[189]),n.$on("toggleSelect",e[190]),n.$on("rangeSelect",e[191]),{key:l,first:null,c(){t=ct(),ut(n.$$.fragment),this.first=t},m(s,r){C(s,t,r),it(n,s,r),o=!0},p(s,r){e=s;const u={};r[1]&33554432&&(u.item=e[325]),r[1]&33554432|r[2]&1&&(u.selected=e[62].includes(e[325].id)),n.$set(u)},i(s){o||(fe(n.$$.fragment,s),o=!0)},o(s){ye(n.$$.fragment,s),o=!1},d(s){s&&w(t),ot(n,s)}}}function ro(l){let e,t;return{c(){e=f("div"),t=f("p"),t.textContent=`${m("file.scanning")}`,i(t,"class","svelte-1ufgyr8"),i(e,"class","empty-state svelte-1ufgyr8")},m(n,o){C(n,e,o),a(e,t)},d(n){n&&w(e)}}}function ao(l){let e,t;return e=new eu({props:{item:l[57],content:l[58],loading:l[59],error:l[60]}}),e.$on("close",l[89]),e.$on("openExternal",l[192]),{c(){ut(e.$$.fragment)},m(n,o){it(e,n,o),t=!0},p(n,o){const s={};o[1]&67108864&&(s.item=n[57]),o[1]&134217728&&(s.content=n[58]),o[1]&268435456&&(s.loading=n[59]),o[1]&536870912&&(s.error=n[60]),e.$set(s)},i(n){t||(fe(e.$$.fragment,n),t=!0)},o(n){ye(e.$$.fragment,n),t=!1},d(n){ot(e,n)}}}function co(l){let e,t,n,o,s,r,u,c,d;return{c(){e=f("div"),t=f("input"),n=h(),o=f("div"),s=f("button"),s.textContent=`${m("common.create")}`,r=h(),u=f("button"),u.textContent=`${m("common.cancel")}`,i(t,"type","text"),i(t,"placeholder",m("note.title")),i(t,"class","svelte-1ufgyr8"),i(s,"class","btn btn-primary svelte-1ufgyr8"),i(u,"class","btn svelte-1ufgyr8"),i(o,"class","form-actions svelte-1ufgyr8"),i(e,"class","create-form svelte-1ufgyr8")},m(v,g){C(v,e,g),a(e,t),ke(t,l[43]),a(e,n),a(e,o),a(o,s),a(o,r),a(o,u),c||(d=[I(t,"input",l[175]),I(t,"keydown",l[176]),I(s,"click",l[124]),I(u,"click",l[123])],c=!0)},p(v,g){g[1]&4096&&t.value!==v[43]&&ke(t,v[43])},d(v){v&&w(e),c=!1,he(d)}}}function bf(l){let e,t=ae(l[24]),n=[];for(let o=0;oye(le[ie],1,1,()=>{le[ie]=null});return{c(){e=f("div"),t=f("div"),n=f("h3"),n.textContent=`${m("nav.createNode")}`,o=h(),Q&&Q.c(),s=h(),r=f("div"),u=f("span"),u.textContent=`${m("template.select")}`,c=h(),d=f("div"),v=f("button"),ut(g.$$.fragment),_=h(),b=f("div"),y=f("span"),y.textContent=`${m("template.optionNone")}`,k=h(),j=f("span"),j.textContent=`${m("template.none.desc")}`,T=h();for(let ie=0;ie{y=null}),$e()),j[41].node&&j[41].node.parent_id?k?k.p(j,T):(k=Co(j),k.c(),k.m(t,s)):k&&(k.d(1),k=null),(!g||T[1]&1024)&&Ke(t,"left",j[41].x+"px"),(!g||T[1]&1024)&&Ke(t,"top",j[41].y+"px")},i(j){g||(fe(y),g=!0)},o(j){ye(y),g=!1},d(j){j&&w(e),y&&y.d(),k&&k.d(),_=!1,he(b)}}}function ko(l){let e,t,n,o,s,r=ae(l[2].length>0?l[2]:[{id:"",title:"template.optionNone",icon:"folder"}]),u=[];for(let d=0;dye(u[d],1,1,()=>{u[d]=null});return{c(){e=f("div"),e.textContent=`${m("common.create")}`,t=h();for(let d=0;d0?d[2]:[{id:"",title:"template.optionNone",icon:"folder"}]);let g;for(g=0;gl[262].call(k)),i(_,"class","svelte-1ufgyr8"),i(g,"class","form-group svelte-1ufgyr8"),i(D,"class","label-text svelte-1ufgyr8"),i(S,"type","text"),i(S,"placeholder",O=l[46]==="open_url"?m("action.urlPlaceholder"):l[46]==="open_folder"||l[46]==="open_file"?m("action.pathPlaceholder"):m("action.commandPlaceholder")),i(S,"class","svelte-1ufgyr8"),i(E,"class","svelte-1ufgyr8"),i(T,"class","form-group svelte-1ufgyr8"),i(P,"class","btn btn-primary svelte-1ufgyr8"),i(U,"class","btn svelte-1ufgyr8"),i(B,"class","modal-actions svelte-1ufgyr8"),i(t,"class","modal svelte-1ufgyr8"),i(e,"class","modal-overlay svelte-1ufgyr8"),i(e,"role","button"),i(e,"tabindex","0")},m(q,Q){C(q,e,Q),a(e,t),a(t,n),a(t,o),a(t,s),a(s,r),a(r,u),a(r,c),a(r,d),ke(d,l[45]),a(t,v),a(t,g),a(g,_),a(_,b),a(_,y),a(_,k);for(let z=0;z0?0:1}D=Be(l),M=De[D]=We[D](l);function Me(ne,Ne){return ne[22]?ju:ne[21]?Cu:wu}let Fe=Me(l),_e=Fe(l),de=((Wt=l[73])==null?void 0:Wt.configured)&&ti(l),pe=l[20]&&ni(l);const Ie=[Du,Mu,Eu,Nu,Su,Tu],Ae=[];function et(ne,Ne){return ne[25]?0:ne[22]?1:ne[21]==="journal"?2:ne[21]==="today"&&ne[3]?3:ne[21]==="activity"?4:5}Te=et(l),Ee=Ae[Te]=Ie[Te](l);let Se=l[37]&&vo(l),re=l[41].visible&&bo(l),se=l[28]&&jo(l),Ve=l[44]&&To(l),Ue=l[51]&&l[50]&&No(l),Ge=l[69]&&Mo(l),Pe=l[64]&&Io(l),He=l[72]&&Fo(l);return{c(){var ne;e=f("div"),t=f("aside"),n=f("div"),o=f("span"),o.textContent="⚒",s=h(),r=f("span"),r.textContent=`${m("nav.brand")}`,u=h(),c=f("nav"),d=f("div"),v=f("div"),v.textContent=`${m("nav.system")}`,g=h();for(let Ne=0;Ne{De[st]=null}),$e(),M=De[D],M?M.p(ne,Ne):(M=De[D]=We[D](ne),M.c()),fe(M,1),M.m(b,null)),(!Le||Ne[2]&2048)&&we(U,"active",(wt=ne[73])==null?void 0:wt.configured),(!Le||Ne[0]&524288)&&V(q,ne[19]),Fe===(Fe=Me(ne))&&_e?_e.p(ne,Ne):(_e.d(1),_e=Fe(ne),_e&&(_e.c(),_e.m(ve,null))),(pt=ne[73])!=null&&pt.configured?de?de.p(ne,Ne):(de=ti(ne),de.c(),de.m($,null)):de&&(de.d(1),de=null),ne[20]?pe?pe.p(ne,Ne):(pe=ni(ne),pe.c(),pe.m(z,ce)):pe&&(pe.d(1),pe=null);let gt=Te;Te=et(ne),Te===gt?Ae[Te].p(ne,Ne):(xe(),ye(Ae[gt],1,1,()=>{Ae[gt]=null}),$e(),Ee=Ae[Te],Ee?Ee.p(ne,Ne):(Ee=Ae[Te]=Ie[Te](ne),Ee.c()),fe(Ee,1),Ee.m(z,Re)),ne[37]?Se?(Se.p(ne,Ne),Ne[1]&64&&fe(Se,1)):(Se=vo(ne),Se.c(),fe(Se,1),Se.m(z,Ce)):Se&&(xe(),ye(Se,1,1,()=>{Se=null}),$e()),ne[41].visible?re?(re.p(ne,Ne),Ne[1]&1024&&fe(re,1)):(re=bo(ne),re.c(),fe(re,1),re.m(z,G)):re&&(xe(),ye(re,1,1,()=>{re=null}),$e()),ne[28]?se?se.p(ne,Ne):(se=jo(ne),se.c(),se.m(z,Z)):se&&(se.d(1),se=null),ne[44]?Ve?Ve.p(ne,Ne):(Ve=To(ne),Ve.c(),Ve.m(z,oe)):Ve&&(Ve.d(1),Ve=null),ne[51]&&ne[50]?Ue?Ue.p(ne,Ne):(Ue=No(ne),Ue.c(),Ue.m(z,me)):Ue&&(Ue.d(1),Ue=null),ne[69]?Ge?Ge.p(ne,Ne):(Ge=Mo(ne),Ge.c(),Ge.m(z,je)):Ge&&(Ge.d(1),Ge=null),ne[64]?Pe?(Pe.p(ne,Ne),Ne[2]&4&&fe(Pe,1)):(Pe=Io(ne),Pe.c(),fe(Pe,1),Pe.m(z,Je)):Pe&&(xe(),ye(Pe,1,1,()=>{Pe=null}),$e()),ne[72]?He?He.p(ne,Ne):(He=Fo(ne),He.c(),He.m(z,null)):He&&(He.d(1),He=null)},i(ne){Le||(fe(M),fe(Ee),fe(Se),fe(re),fe(Pe),Le=!0)},o(ne){ye(M),ye(Ee),ye(Se),ye(re),ye(Pe),Le=!1},d(ne){ne&&w(e),Oe(be,ne),De[D].d(),_e.d(),de&&de.d(),pe&&pe.d(),Ae[Te].d(),Se&&Se.d(),re&&re.d(),se&&se.d(),Ve&&Ve.d(),Ue&&Ue.d(),Ge&&Ge.d(),Pe&&Pe.d(),He&&He.d(),Qe=!1,he(nt)}}}function ee(l,...e){try{if(window.go&&window.go.main&&window.go.main.App){const t=window.go.main.App[l];if(typeof t=="function")return t(...e)}}catch(t){console.error("Wails call error:",l,t)}return Promise.reject(new Error("Wails not connected: "+l))}function Jt(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&Jt(n.children,e,t))return!0}return!1}function $o(l,e,t){for(const n of l){if(n.id===e)return n.children=t,n.has_children=t.length>0,!0;if(n.children&&$o(n.children,e,t))return!0}return!1}function kl(l){return l?l.map(e=>(e._expanded===void 0&&(e._expanded=!1),e)):[]}function Ye(l){return l?new Date(l).toLocaleTimeString("ru-RU",{hour:"2-digit",minute:"2-digit"}):""}function Ht(l){return l==="note_created"||l==="file_added"||l==="folder_added"||l==="node_created"?"+":l==="file_deleted"||l==="folder_deleted"?"×":l==="file_renamed"||l==="folder_renamed"||l==="note_updated"||l==="node_updated"?"~":l==="file_copied"?"⧉":l==="file_moved"?"→":"•"}function dt(l){if(!l)return"";try{return new Date(l).toLocaleDateString("ru-RU",{day:"numeric",month:"short"})}catch{return l}}function vt(l,e,t,n){return l=Math.abs(l)%100,l>=5&&l<=20?n:(l%=10,l===1?e:l>=2&&l<=4?t:n)}function at(l){return e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),l())}}function Mf(l,e,t){let n=[],o=[],s=[],r=null,u=[],c=0,d=!0,v=[],g=null,_="",b="",y=!1,k="",j="all",T="all",E="",D="",M="",N=[],F=!1,S=[],O="",R="",B="",P=null,H="overview",U=[],K=null,X=[],Y=[],W=[],q=!1,Q="",z="",le="",ve="",ie=!1,$=!1,x=[],ce=0,Te=!1,Ee="",Re=null,Ce=null,G={visible:!1,x:0,y:0,node:null},Z=!1,oe="",me=!1,je="",Je="open_url",Le="",Qe=[{id:"open_url",label:m("action.openUrl")},{id:"open_file",label:m("action.openFile")},{id:"open_folder",label:m("action.openFolder")},{id:"run_command",label:m("action.runCommand")},{id:"run_script",label:m("action.runScript")},{id:"open_terminal",label:m("action.openTerminal")},{id:"launch_app",label:m("action.launchApp")}],nt=!0,ze=!1,be=null,We=!1,De="",Be="",Me={},Fe=!1,_e=null,de=[],pe=[],Ie=null,Ae="",et=!1,Se="",re={items:[],mode:"copy"},se=[],Ve=[],Ue=!1,Ge=!1,Pe="",He="",Wt=!1,ne=m("common.delete"),Ne=null,st=null,gt=!1,wt="",pt="",Xe="",Ct=!1,mt=null,ft=!1,Dt="",jt="",Tt="",St=0,Ze="";const es=[{id:"overview",label:m("tab.overview")},{id:"notes",label:m("tab.notes")},{id:"files",label:m("tab.files")},{id:"actions",label:m("tab.actions")},{id:"worklog",label:m("tab.worklog")},{id:"activity",label:m("tab.activity")}];let ol=null;Ho(async()=>{try{t(19,O=await ee("VerstakVersion")||"verstak-gui/v2"),t(0,n=await ee("ListSystemViews")||[]),t(1,o=await ee("ListWorkspaceTree")||[]),t(2,s=await ee("ListEnabledTemplates")||[])}catch(p){t(20,R=String(p)),t(0,n=[{id:"today",label:m("nav.today")},{id:"inbox",label:m("nav.inbox")},{id:"activity",label:m("nav.activity")}]),t(1,o=[]),t(2,s=[])}window.runtime&&window.runtime.EventsOn&&(window.runtime.EventsOn("files-dropped",Os),ol=()=>window.runtime.EventsOff("files-dropped")),window.addEventListener("keydown",Hl),t(48,nt=!1),Kt()}),Nl(()=>{ol&&ol(),window.removeEventListener("keydown",Hl)});async function El(p){t(21,B=p),t(22,P=null),t(23,H="overview"),t(24,U=[]),X=[],t(26,Y=[]),t(27,W=[]),t(35,x=[]),t(37,Te=!1),t(20,R=""),t(3,r=null),t(4,u=[]),c=0,d=!0,t(5,v=[]),t(6,g=null);try{p==="today"?(t(3,r=await ee("ListTodayView")||{cases:[]}),t(35,x=await ee("GetSuggestions")||[]),t(36,ce=x.length)):p==="journal"?await Lt():p==="activity"&&(t(4,u=await ee("ListActivityFeed",50,0)||[]),c=u.length,d=u.length===50)}catch(L){t(20,R=String(L)),t(3,r={cases:[]}),t(4,u=[])}}async function _t(p){t(22,P=p),t(23,H="overview"),t(24,U=[]),X=[],t(26,Y=[]),t(27,W=[]),t(35,x=[]),t(56,pe=[]),t(55,de=[]),t(54,_e=null),t(57,Ie=null),t(58,Ae=""),t(62,se=[]),Ve=[],t(25,K=null),t(37,Te=!1),t(42,Z=!1),t(20,R=""),t(18,S=[]),await Ml(p.id)}async function Ml(p){try{t(24,U=await ee("ListNotes",p)||[])}catch{}try{X=await ee("ListFiles",p)||[]}catch{}try{t(26,Y=await ee("ListActions",p)||[])}catch{}try{t(27,W=kl(await ee("ListWorklog",p)))}catch{}try{t(35,x=await ee("GetSuggestions")||[]),t(36,ce=x.length)}catch{t(35,x=[]),t(36,ce=0)}try{t(18,S=await ee("ListActivityByNode",p,50,0)||[])}catch{}}async function tt(p){t(53,Fe=!0);try{let L=await ee("ListItems",p)||[];L.sort((te,ge)=>te.type!==ge.type?te.type==="folder"?-1:1:(te.name||"").localeCompare(ge.name||"")),t(56,pe=L)}catch{t(56,pe=[])}t(53,Fe=!1)}async function sl(p){if(!P)return;try{const te=await ee("GetNodeDetail",p);te&&t(55,de=[...de,{id:p,name:te.title}])}catch{t(55,de=[...de,{id:p,name:"..."}])}t(54,_e=p),t(52,Me={...Me,[p]:!0});const L=await ee("ListWorkspaceChildren",p)||[];Jt(o,p,L),t(1,o=[...o]),await tt(p)}function Dl(){if(de.length<2)t(55,de=[]),t(54,_e=null),tt(P.id);else{const p=de[de.length-2];t(55,de=de.slice(0,-1)),t(54,_e=p.id),tt(p.id)}}function Il(p){const L=de[p];t(55,de=de.slice(0,p+1)),t(54,_e=L.id),tt(L.id)}async function rl(p){t(57,Ie=p),t(58,Ae=""),t(60,Se=""),t(59,et=!0);try{Dc(p)?t(58,Ae=await ee("GetFileBase64",p.fileId)||""):Ic(p)&&t(58,Ae=await ee("ReadFileText",p.fileId)||"")}catch(L){t(60,Se=String(L))}t(59,et=!1)}function al(){t(57,Ie=null),t(58,Ae=""),t(60,Se="")}async function ts(){const p=prompt(m("file.namePrompt"));if(!(!p||!p.trim()))try{const L=_e||P.id;await ee("CreateEmptyFile",L,p.trim()),await tt(L),await fl(L)}catch(L){t(20,R=String(L))}}async function Fl(p){try{await ee("DuplicateNode",p);const L=_e||P.id;await tt(L),await fl(L)}catch(L){t(20,R=String(L))}}function Al(p){const L=pe.find(te=>te.id===p);L&&ul(L.id,L.name)}function Ll(p){t(61,re={items:[p],mode:"cut"})}function Pl(p){t(61,re={items:[p],mode:"copy"})}async function Ol(){if(re.items.length===0)return;const p=_e||P.id;try{if(re.mode==="copy")for(const L of re.items)await ee("DuplicateNode",L);else for(const L of re.items)await ee("MoveNode",L,p);t(61,re={items:[],mode:"copy"}),await tt(p)}catch(L){t(20,R=String(L))}}function Rl(p){se.includes(p)?t(62,se=se.filter(L=>L!==p)):t(62,se=[...se,p])}function zl(p){t(62,se=[p])}function ls(){t(62,se=pe.map(p=>p.id))}function Bl(p){if(pe.length===0)return;const L=se.length>0?se[se.length-1]:pe[0].id,te=pe.findIndex(Et=>Et.id===L),ge=pe.findIndex(Et=>Et.id===p);if(te===-1||ge===-1)return;const lt=Math.min(te,ge),Gt=Math.max(te,ge),Za=pe.slice(lt,Gt+1).map(Et=>Et.id),rn=new Set(se);Za.forEach(Et=>rn.add(Et)),t(62,se=[...rn])}function ns(){t(62,se=[])}function cl(p){return p.length>0?p:pe.map(L=>L.id)}async function is(){const p=cl(se),L=pe.find(ge=>ge.id===p[0]);let te;p.length===1&&(L==null?void 0:L.type)==="folder"?te=m("delete.folder"):p.length===1?te=m("delete.file"):te=m("delete.files",{count:p.length}),Vt({title:m("delete.confirmTitle"),message:m("delete.confirmMessage")+" "+te+"?",confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{for(const lt of p)try{await ee("DeleteFileOrFolder",lt)}catch(Gt){t(20,R=String(Gt))}t(62,se=[]);const ge=_e||P.id;await tt(ge)}})}function os(){const p=cl(se);t(61,re={items:p,mode:"cut"}),t(62,se=[])}function ss(){const p=cl(se);t(61,re={items:p,mode:"copy"}),t(62,se=[])}function rs(p,L){const te=se.includes(L)?se:[L];Ve=te,p.dataTransfer.effectAllowed="move",p.dataTransfer.setData("text/plain",te.join(","))}function as(p,L){const te=pe.find(ge=>ge.id===L);te&&te.type==="folder"&&(p.preventDefault(),p.dataTransfer.dropEffect="move")}async function cs(p,L){if(p.preventDefault(),Ve.length!==0){for(const te of Ve)try{await ee("MoveNode",te,L)}catch(ge){t(20,R=String(ge))}Ve=[],t(62,se=[]),await tt(_e||P.id)}}function Hl(p){if(H==="files"&&!(p.target.tagName==="INPUT"||p.target.tagName==="TEXTAREA"))if(p.ctrlKey||p.metaKey)p.key==="c"||p.key==="C"?(p.preventDefault(),ss()):p.key==="x"||p.key==="X"?(p.preventDefault(),os()):p.key==="v"||p.key==="V"?(p.preventDefault(),Ol()):p.key==="a"||p.key==="A"?(p.preventDefault(),ls()):p.key==="o"||p.key==="O"?(p.preventDefault(),us()):p.key==="Enter"&&(p.preventDefault(),Wl());else if(p.key==="Enter")p.preventDefault(),Wl();else if(p.key==="Delete"||p.key==="Backspace"){if(Ie){p.preventDefault(),al();return}if(se.length>0){p.preventDefault(),is();return}if(p.key==="Backspace"&&de.length>0){p.preventDefault(),Dl();return}}else if(p.key==="Escape"){if(Ie){al();return}if(se.length>0){ns();return}}else p.key==="F2"&&(p.preventDefault(),fs())}function Wl(){if(se.length===1){const p=pe.find(L=>L.id===se[0]);p&&(p.type==="folder"?sl(p.id):rl(p))}}function us(){if(se.length===1){const p=pe.find(L=>L.id===se[0]);p&&p.fileId&&ee("OpenFile",p.fileId)}}function ul(p,L){wt=p,t(70,pt=L),t(71,Xe=""),t(69,gt=!0)}function fs(){if(se.length===1){const p=pe.find(L=>L.id===se[0]);p&&ul(p.id,p.name)}}async function Vl(){const p=pt.trim();if(!p){t(71,Xe=m("rename.emptyError"));return}try{await ee("ValidateName",p)}catch{t(71,Xe=m("rename.invalidError"));return}t(69,gt=!1);const L=wt;wt="";try{await ee("RenameNode",L,p),P&&P.id===L&&t(22,P={...P,title:p}),await Ut(),_e&&await tt(_e)}catch(te){t(20,R=String(te))}}function ds(){t(69,gt=!1),wt="",t(70,pt=""),t(71,Xe="")}function ps(p){p.key==="Enter"?Vl():t(71,Xe="")}function Vt(p){t(65,Pe=p.title||m("common.confirm")),t(66,He=p.message||""),t(67,Wt=p.danger!==void 0?p.danger:!0),t(68,ne=p.confirmText||m("common.delete")),Ne=p.onConfirm||null,st=p.onCancel||null,t(64,Ge=!0)}function Ul(){t(64,Ge=!1),Ne=null,st=null}function ms(){Ne&&Ne(),Ul()}function _s(){st&&st(),Ul()}function Kl(p){t(39,Re=G.node),t(40,Ce=p),t(38,Ee=""),t(37,Te=!0),It()}function gs(){t(39,Re=null),t(40,Ce=void 0),t(38,Ee=""),t(37,Te=!0)}function vs(){t(37,Te=!1),t(38,Ee=""),t(39,Re=null),t(40,Ce=void 0)}async function Gl(){if(!(!Ee.trim()||Ce===void 0))try{const p=Re?Re.id:"",L=Ce?Ce.id:"",te=await ee("CreateNodeFromTemplate",p,Ee.trim(),L);t(37,Te=!1),t(38,Ee="");const ge=te?te.id:null;if(t(39,Re=null),t(40,Ce=void 0),p){t(52,Me={...Me,[p]:!0});const lt=await ee("ListWorkspaceChildren",p)||[];Jt(o,p,lt),t(1,o=[...o])}else t(1,o=await ee("ListWorkspaceTree")||o);if(ge){const lt=await ee("GetNodeDetail",ge);lt&&(t(21,B=""),_t(lt))}}catch(p){t(20,R=String(p))}}function hs(p,L){t(41,G={visible:!0,x:p.clientX,y:p.clientY,node:L})}function It(){t(41,G={visible:!1,x:0,y:0,node:null})}async function ys(p){const L=!Me[p];if(t(52,Me={...Me,[p]:L}),!L)return;const te=await ee("ListWorkspaceChildren",p)||[];Jt(o,p,te),t(1,o=[...o])}async function bs(p,L){if(!(!p||!L||p===L))try{const te=await ee("MoveNode",p,L);await Ut();const ge=await ee("GetNodeDetail",p);ge&&(t(21,B=""),_t(ge))}catch(te){t(20,R=String(te))}}async function ks(p){p.preventDefault();try{const L=p.dataTransfer.getData("text/plain");if(!L)return;const te=await ee("GetNodeDetail",L);if(!te||!te.parent_id)return;await ee("MoveNode",L,""),await Ut();const ge=await ee("GetNodeDetail",L);ge&&(t(21,B=""),_t(ge))}catch(L){t(20,R=String(L))}}function ws(p){p.preventDefault(),p.dataTransfer.dropEffect="move",t(63,Ue=!0)}function Cs(p){t(63,Ue=!1)}function ql(p){ul(p.id,p.title),It()}function Jl(p){It(),Vt({title:m("delete.confirmTitle"),message:m("delete.confirmMessage")+" "+p.title+"?",confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{try{await ee("DeleteNode",p.id),await Ut(),P&&P.id===p.id&&t(22,P=null)}catch(L){t(20,R=String(L))}}})}async function Ft(p){It();const L=typeof p=="string"?p:p.id;try{await ee("OpenFolder",L)}catch(te){t(20,R=String(te))}}async function Yl(p){It();try{await ee("MoveNode",p.id,""),await Ut();const L=await ee("GetNodeDetail",p.id);L&&(t(21,B=""),_t(L))}catch(L){t(20,R=String(L))}}async function Ut(){const p=Object.keys(Me).filter(te=>Me[te]),L=await ee("ListWorkspaceTree")||[];for(const te of p){const lt=(await ee("ListWorkspaceChildren",te)||[]).map(Gt=>({...Gt}));$o(L,te,lt)}t(1,o=L)}async function fl(p){const L=await ee("ListWorkspaceChildren",p)||[];Jt(o,p,L),t(1,o=[...o])}function Xl(){t(42,Z=!0),t(43,oe="")}function js(){t(42,Z=!1),t(43,oe="")}async function Zl(){if(!(!oe.trim()||!P))try{const p=await ee("CreateNote",P.id,oe.trim());t(24,U=[...U,p&&p.id?p:{id:Date.now().toString(),title:oe.trim(),createdAt:new Date().toISOString()}]),t(42,Z=!1),t(43,oe="")}catch{const L={id:Date.now().toString(),title:oe.trim(),createdAt:new Date().toISOString()};t(24,U=[...U,L]),t(42,Z=!1),t(43,oe="")}}async function At(p){if(K&&K.dirty){Vt({title:m("note.unsavedTitle"),message:m("note.unsavedMessage"),confirmText:m("note.unsavedClose"),danger:!1,onConfirm:async()=>{await Ql(p)}});return}await Ql(p)}async function Ql(p){try{const L=await ee("ReadNote",p.id);t(25,K={id:p.id,title:p.title,content:L||"",dirty:!1})}catch{t(25,K={id:p.id,title:p.title,content:"# "+p.title+` + +`,dirty:!1})}}function Ts(){if(K&&K.dirty){Vt({title:m("note.unsavedTitle"),message:m("note.unsavedMessage"),confirmText:m("note.unsavedClose"),danger:!1,onConfirm:()=>{t(25,K=null)}});return}t(25,K=null)}function Ss(p){K&&(t(25,K.content=p.target.value,K),t(25,K.dirty=!0,K))}async function Ns(){if(K)try{await ee("SaveNote",K.id,K.content),t(25,K.dirty=!1,K)}catch{t(25,K.dirty=!1,K)}}function Es(){t(29,Q=""),t(30,z=""),t(31,le=""),t(32,ve=""),t(33,ie=!1),t(34,$=!1),t(28,q=!0)}function Ms(){t(28,q=!1)}async function Ds(){const p=parseInt(z,10);if(!(!Q.trim()||isNaN(p)||p<=0||!P)){try{await ee("CreateWorklogFull",P.id,Q.trim(),ve,le,p,$,ie)}catch{}t(27,W=kl(await ee("ListWorklog",P.id))||W),t(28,q=!1)}}async function xl(){t(35,x=await ee("GetSuggestions")||[]),t(36,ce=x.length),P&&t(27,W=kl(await ee("ListWorklog",P.id))),B==="journal"&&await Lt()}async function dl(p){try{await ee("AcceptSuggestionWith",p,p.suggestedMin,""),await xl()}catch(L){console.error(L)}}async function $l(p){try{await ee("AcceptSuggestionWith",p,p.suggestedMin,""),await xl()}catch(L){console.error(L)}}async function Lt(){try{const[p,L,te]=await Promise.all([ee("ListWorklogReport",_,b,k,y,j,T),ee("WorklogReportSummary",_,b,k,y,j,T),ee("GetSuggestions")]);if(t(5,v=(p||[]).map(ge=>(ge._expanded===void 0&&(ge._expanded=!1),ge))),t(6,g=L||null),t(35,x=te||[]),t(36,ce=x.length),k&&!E)if(p&&p.length>0&&p[0].nodePath)t(13,E=p[0].nodePath);else try{t(13,E=await ee("GetNodeTitle",k))}catch{t(13,E="")}}catch{t(5,v=[]),t(6,g=null),t(35,x=[]),t(36,ce=0)}}async function Qt(p){try{const L=await ee("SaveWorklogReport",p,_,b,k,y,j,T);t(14,D=L),setTimeout(()=>t(14,D=""),4e3)}catch(L){if(String(L).includes("отменено"))return;t(14,D="Ошибка: "+String(L)),setTimeout(()=>t(14,D=""),6e3)}}let en;async function pl(p){if(p._expanded=!p._expanded,t(5,v),p._expanded&&!p._events&&p._hasEvents===void 0)try{p._events=await ee("GetWorklogEntryEvents",p.id)||[],p._hasEvents=p._events.length>0,t(5,v)}catch{p._events=[],p._hasEvents=!1,t(5,v)}}async function ml(p){if(p._expanded=!p._expanded,p._expanded&&p.source==="suggestion"&&!p._events&&p._hasEvents===void 0)try{p._events=await ee("GetWorklogEntryEvents",p.id)||[],p._hasEvents=p._events.length>0}catch(L){L._events=[],L._hasEvents=!1}t(27,W)}async function Is(){const p=M.trim();if(!p||p.length<2){t(16,N=[]),t(17,F=!1);return}try{t(16,N=await ee("SearchNodes",p)||[]),t(17,F=N.length>0)}catch{t(16,N=[]),t(17,F=!1)}}function Fs(){clearTimeout(en),en=setTimeout(Is,200)}function tn(p){t(10,k=p.id),t(13,E=p.path||p.title),t(9,y=!0),t(15,M=""),t(16,N=[]),t(17,F=!1),Lt()}function ln(){t(10,k=""),t(9,y=!1),t(13,E=""),t(15,M=""),t(16,N=[]),t(17,F=!1),Lt()}function As(){t(7,_=""),t(8,b=""),t(10,k=""),t(9,y=!1),t(11,j="all"),t(12,T="all"),t(13,E=""),t(15,M=""),t(16,N=[]),t(17,F=!1),Lt()}async function nn(){const p=await ee("PickFile");if(!p)return;const L=_e||P.id;await _l(L,p)}async function Ls(){const p=await ee("PickDirectory");if(!p)return;const L=_e||P.id;await _l(L,p)}async function _l(p,L){t(49,ze=!0);try{const te=await ee("PreviewImport",L);t(50,be=te),De=L,Be=p,t(51,We=!0)}catch(te){t(20,R=String(te))}t(49,ze=!1)}async function gl(p){try{const L=Be||P.id,te=p==="copy"?await ee("AddPathCopy",L,De):await ee("AddPathLink",L,De);t(51,We=!1),t(50,be=null),t(55,de=[]),t(54,_e=null),await Promise.all([Ml(L),tt(L),fl(L)])}catch(L){t(20,R=String(L))}}function Ps(){t(51,We=!1),t(50,be=null)}async function on({id:p,type:L}){const te=m(L==="folder"?"delete.folder":"delete.file");Vt({title:m("delete.confirmTitle"),message:m("delete.confirmMessage")+" "+te+"?",confirmText:m("common.delete"),danger:!0,onConfirm:async()=>{try{await ee("DeleteFileOrFolder",p),X=X.filter(lt=>lt.nodeId!==p);const ge=_e||P.id;await tt(ge)}catch(ge){t(20,R=String(ge))}}})}async function Os(p){if(!p||p.length===0)return;if(!P){t(20,R=m("error.selectCaseFirst"));return}const L=p[0];await _l(P.id,L)}function Rs(p){return{note_created:m("event.noteCreated"),note_updated:m("event.noteUpdated"),file_added:m("event.fileAdded"),file_deleted:m("event.fileDeleted"),file_renamed:m("event.fileRenamed"),file_copied:m("event.fileCopied"),file_moved:m("event.fileMoved"),folder_added:m("event.folderAdded"),folder_deleted:m("event.folderDeleted"),folder_renamed:m("event.folderRenamed"),node_created:m("event.caseCreated"),node_updated:m("event.caseUpdated")}[p]||p}function zs(p){return{project:m("kind.project"),client:m("kind.client"),document:m("kind.document"),recipe:m("kind.recipe"),folder:m("kind.folder"),note:m("kind.note"),file:m("kind.file"),archive:m("kind.archive"),case:m("kind.case")}[p]||p||m("kind.case")}function Bs(){t(44,me=!0),t(45,je=""),t(46,Je="open_url"),t(47,Le="")}function Hs(){t(44,me=!1),t(45,je=""),t(47,Le="")}async function vl(){if(!(!je.trim()||!Le.trim()||!P))try{const p=await ee("CreateAction",P.id,Je,je.trim(),Le.trim());p&&p.id&&t(26,Y=[...Y,p]),t(44,me=!1),t(45,je=""),t(47,Le="")}catch(p){t(20,R=String(p))}}async function sn(p){try{await ee("DeleteAction",p),t(26,Y=Y.filter(L=>L.id!==p))}catch(L){t(20,R=String(L))}}function Ws(p){const L=Qe.find(te=>te.id===p);return L?L.label:p}async function rt(p){try{const L=await ee("GetNodeDetail",p);L&&_t(L)}catch(L){t(20,R=String(L))}}async function Nt(p){const L=p.nodeId;if(L)try{const te=await ee("GetNodeDetail",L);if(!te)return;if(p.targetType==="note"){if(_t(te),t(23,H="notes"),p.targetId){try{t(24,U=await ee("ListNotes",L)||[])}catch{}const ge=U.find(lt=>lt.id===p.targetId);ge&&setTimeout(()=>At(ge),100)}}else p.targetType==="file"||p.targetType==="folder"?(_t(te),t(23,H="files")):_t(te)}catch(te){t(20,R=String(te))}}async function Kt(){try{t(73,mt=await ee("SyncStatus"))}catch{t(73,mt={configured:!1,serverUrl:"",deviceId:"",unpushedOps:0,lastSyncAt:"",syncInterval:0})}}function Vs(){t(72,Ct=!0),t(75,Dt=(mt==null?void 0:mt.serverUrl)||""),t(76,jt=""),t(77,Tt=""),t(78,St=(mt==null?void 0:mt.syncInterval)||0),t(79,Ze="")}function Us(){t(72,Ct=!1),t(79,Ze="")}async function Ks(){t(74,ft=!0),t(79,Ze="");try{await ee("SyncConfigure",Dt,jt,Tt),St>0&&await ee("SyncSetInterval",St),t(77,Tt=""),t(76,jt=""),await Kt(),t(72,Ct=!1)}catch(p){t(79,Ze="err: "+String(p))}t(74,ft=!1)}async function Gs(){t(74,ft=!0),t(79,Ze="");try{await ee("SyncSetInterval",St),t(79,Ze=m("sync.settingsSaved")),await Kt()}catch(p){t(79,Ze="err: "+String(p))}t(74,ft=!1)}async function qs(){t(74,ft=!0),t(79,Ze="");try{await ee("SyncTestConnection",Dt,jt,Tt),t(79,Ze="connection ok")}catch(p){t(79,Ze="connection failed: "+String(p))}t(74,ft=!1)}async function Js(){t(74,ft=!0),t(79,Ze="");try{await ee("SyncDisconnect"),t(79,Ze="disconnected"),await Kt()}catch(p){t(79,Ze="err: "+String(p))}t(74,ft=!1)}async function Ys(){t(74,ft=!0),t(79,Ze="");try{const p=await ee("SyncNow");t(79,Ze="pushed "+p.pushed+", pulled "+p.pulled+" (seq "+p.serverSequence+")"),await Kt()}catch(p){t(79,Ze="err: "+String(p))}t(74,ft=!1)}const Xs=p=>p.nodeId===P.id,Zs=p=>El(p.id),Qs=()=>t(20,R=""),xs=()=>t(20,R=""),$s=()=>t(20,R="");function er(){K.content=this.value,t(25,K)}const tr=p=>{t(23,H=p.id),p.id==="files"&&P&&pe.length===0&&!_e&&tt(P.id)},lr=()=>{t(23,H="notes"),Xl()},nr=()=>{t(23,H="files"),nn()},ir=()=>t(23,H="worklog"),or=p=>At(p),sr=p=>At(p);function rr(){oe=this.value,t(43,oe)}const ar=p=>p.key==="Enter"&&Zl(),cr=p=>At(p),ur=p=>At(p),fr=p=>{const L=p.detail;L===0?(t(55,de=[]),t(54,_e=null),tt(P.id)):Il(L-1)},dr=p=>sl(p.detail),pr=p=>rl(p.detail),mr=p=>ee("OpenFile",p.detail),_r=p=>ee("OpenFolder",p.detail),gr=p=>on(p.detail),vr=p=>Al(p.detail.id),hr=p=>Fl(p.detail),yr=p=>Ll(p.detail),br=p=>Pl(p.detail),kr=p=>zl(p.detail),wr=p=>Rl(p.detail),Cr=p=>Bl(p.detail),jr=p=>ee("OpenFile",p.detail),Tr=p=>ee("RunAction",p.id),Sr=p=>sn(p.id),Nr=p=>p.nodeId===P.id,Er=p=>dl(p),Mr=(p,L,te)=>t(35,L[te]._expanded=!p._expanded,x,t(22,P)),Dr=(p,L,te,ge)=>ge.key==="Enter"&&t(35,L[te]._expanded=!p._expanded,x,t(22,P)),Ir=p=>rt(p.nodeId),Fr=p=>Ft(p.nodeId),Ar=p=>rt(p.nodeId),Lr=p=>Ft(p.nodeId),Pr=p=>ml(p),Or=(p,L)=>L.key==="Enter"&&ml(p),Rr=p=>Nt(p),zr=(p,L)=>L.key==="Enter"&&Nt(p);function Br(){_=this.value,t(7,_)}function Hr(){b=this.value,t(8,b)}const Wr=()=>{t(15,M=""),t(13,E=""),ln()};function Vr(){M=this.value,t(15,M)}const Ur=()=>setTimeout(()=>t(17,F=!1),200),Kr=p=>tn(p);function Gr(){y=this.checked,t(9,y)}function qr(){j=yl(this),t(11,j)}function Jr(){T=yl(this),t(12,T)}const Yr=()=>Qt("csv"),Xr=()=>Qt("markdown"),Zr=()=>Qt("pdf"),Qr=p=>rt(p.nodeId),xr=(p,L,te,ge)=>t(35,L[te].suggestedMin=parseInt(ge.target.value),x),$r=p=>$l(p),ea=(p,L,te)=>t(35,L[te]._expanded=!p._expanded,x),ta=(p,L,te,ge)=>ge.key==="Enter"&&t(35,L[te]._expanded=!p._expanded,x),la=p=>rt(p.nodeId),na=p=>Ft(p.nodeId),ia=p=>rt(p.nodeId),oa=p=>pl(p),sa=(p,L)=>L.key==="Enter"&&pl(p),ra=p=>rt(p.nodeId),aa=p=>rt(p.nodeId),ca=(p,L,te,ge)=>t(35,L[te].suggestedMin=parseInt(ge.target.value),x),ua=p=>dl(p),fa=(p,L,te)=>t(35,L[te]._expanded=!p._expanded,x),da=(p,L,te,ge)=>ge.key==="Enter"&&t(35,L[te]._expanded=!p._expanded,x),pa=p=>rt(p.nodeId),ma=p=>Ft(p.nodeId),_a=p=>rt(p.nodeId),ga=(p,L)=>L.key==="Enter"&&rt(p.nodeId),va=p=>rt(p.nodeId),ha=(p,L)=>L.key==="Enter"&&rt(p.nodeId),ya=p=>Nt(p),ba=(p,L)=>L.key==="Enter"&&Nt(p),ka=p=>Nt(p),wa=(p,L)=>L.key==="Enter"&&Nt(p),Ca=()=>t(40,Ce=null),ja=p=>t(40,Ce=p);function Ta(){Ee=this.value,t(38,Ee)}const Sa=p=>p.key==="Enter"&&Gl(),Na=p=>Kl(p),Ea=()=>Yl(G.node),Ma=()=>ql(G.node),Da=()=>Jl(G.node),Ia=()=>Ft(G.node);function Fa(){le=this.value,t(31,le)}function Aa(){Q=this.value,t(29,Q)}function La(){z=tl(this.value),t(30,z)}function Pa(){ve=this.value,t(32,ve)}function Oa(){ie=this.checked,t(33,ie)}function Ra(){$=this.checked,t(34,$)}function za(){je=this.value,t(45,je)}const Ba=p=>p.key==="Enter"&&vl();function Ha(){Je=yl(this),t(46,Je),t(80,Qe)}function Wa(){Le=this.value,t(47,Le)}const Va=p=>p.key==="Enter"&&vl(),Ua=()=>gl("copy"),Ka=()=>gl("link");function Ga(){pt=this.value,t(70,pt)}function qa(){Dt=this.value,t(75,Dt)}function Ja(){jt=this.value,t(76,jt)}function Ya(){Tt=this.value,t(77,Tt)}function Xa(){St=tl(this.value),t(78,St)}return[n,o,s,r,u,v,g,_,b,y,k,j,T,E,D,M,N,F,S,O,R,B,P,H,U,K,Y,W,q,Q,z,le,ve,ie,$,x,ce,Te,Ee,Re,Ce,G,Z,oe,me,je,Je,Le,nt,ze,be,We,Me,Fe,_e,de,pe,Ie,Ae,et,Se,re,se,Ue,Ge,Pe,He,Wt,ne,gt,pt,Xe,Ct,mt,ft,Dt,jt,Tt,St,Ze,Qe,es,El,_t,tt,sl,Dl,Il,rl,al,ts,Fl,Al,Ll,Pl,Ol,Rl,zl,Bl,rs,as,cs,Vl,ds,ps,ms,_s,Kl,gs,vs,Gl,hs,It,ys,bs,ks,ws,Cs,ql,Jl,Ft,Yl,Xl,js,Zl,At,Ts,Ss,Ns,Es,Ms,Ds,dl,$l,Lt,Qt,pl,ml,Fs,tn,ln,As,nn,Ls,gl,Ps,on,Rs,zs,Bs,Hs,vl,sn,Ws,rt,Nt,Vs,Us,Ks,Gs,qs,Js,Ys,Xs,Zs,Qs,xs,$s,er,tr,lr,nr,ir,or,sr,rr,ar,cr,ur,fr,dr,pr,mr,_r,gr,vr,hr,yr,br,kr,wr,Cr,jr,Tr,Sr,Nr,Er,Mr,Dr,Ir,Fr,Ar,Lr,Pr,Or,Rr,zr,Br,Hr,Wr,Vr,Ur,Kr,Gr,qr,Jr,Yr,Xr,Zr,Qr,xr,$r,ea,ta,la,na,ia,oa,sa,ra,aa,ca,ua,fa,da,pa,ma,_a,ga,va,ha,ya,ba,ka,wa,Ca,ja,Ta,Sa,Na,Ea,Ma,Da,Ia,Fa,Aa,La,Pa,Oa,Ra,za,Ba,Ha,Wa,Va,Ua,Ka,Ga,qa,Ja,Ya,Xa]}class Df extends kt{constructor(e){super(),bt(this,e,Mf,Ef,ht,{},null,[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1])}}new Df({target:document.getElementById("app")}); diff --git a/cmd/verstak-gui/frontend-dist/index.html b/cmd/verstak-gui/frontend-dist/index.html index a5fbf33..a6dd04c 100644 --- a/cmd/verstak-gui/frontend-dist/index.html +++ b/cmd/verstak-gui/frontend-dist/index.html @@ -16,8 +16,8 @@ background: #13131f; } - - + +
diff --git a/frontend/src/App.svelte b/frontend/src/App.svelte index e108a80..94c771c 100644 --- a/frontend/src/App.svelte +++ b/frontend/src/App.svelte @@ -61,6 +61,17 @@ let worklog = [] let worklogMinutes = '' let worklogSummary = '' + let worklogDate = '' + let worklogDetails = '' + let worklogBillable = false + let worklogApprox = false + let showWorklogModal = false + let wlModalSummary = '' + let wlModalMinutes = '' + let wlModalDate = '' + let wlModalDetails = '' + let wlModalBillable = false + let wlModalApprox = false let suggestions = [] let suggestionCount = 0 let showCreateNode = false @@ -239,7 +250,7 @@ try { notes = await wailsCall('ListNotes', nodeID) || [] } catch(e) {} try { files = await wailsCall('ListFiles', nodeID) || [] } catch(e) {} try { actions = await wailsCall('ListActions', nodeID) || [] } catch(e) {} - try { worklog = await wailsCall('ListWorklog', nodeID) || [] } catch(e) {} + try { worklog = initWorklogEntries(await wailsCall('ListWorklog', nodeID)) } catch(e) {} try { suggestions = await wailsCall('GetSuggestions') || [] suggestionCount = suggestions.length @@ -795,10 +806,11 @@ }) } - async function openNodeFolder(node) { + async function openNodeFolder(nodeOrId) { closeContextMenu() + const id = typeof nodeOrId === 'string' ? nodeOrId : nodeOrId.id try { - await wailsCall('OpenFolder', node.id) + await wailsCall('OpenFolder', id) } catch (e) { error = String(e) } } @@ -923,24 +935,35 @@ } // ===== Worklog ===== - async function submitWorklog() { - const mins = parseInt(worklogMinutes, 10) - if (!worklogSummary.trim() || isNaN(mins) || mins <= 0 || !selectedNode) return + function openWorklogModal() { + wlModalSummary = '' + wlModalMinutes = '' + wlModalDate = '' + wlModalDetails = '' + wlModalBillable = false + wlModalApprox = false + showWorklogModal = true + } + + function closeWorklogModal() { + showWorklogModal = false + } + + async function submitWorklogModal() { + const mins = parseInt(wlModalMinutes, 10) + if (!wlModalSummary.trim() || isNaN(mins) || mins <= 0 || !selectedNode) return try { - const entry = await wailsCall('CreateWorklog', selectedNode.id, worklogSummary.trim(), mins) - worklog = [...worklog, (entry && entry.id) ? entry : { id: Date.now().toString(), nodeId: selectedNode.id, summary: worklogSummary.trim(), minutes: mins, createdAt: new Date().toISOString() }] - } catch (e) { - worklog = [...worklog, { id: Date.now().toString(), nodeId: selectedNode.id, summary: worklogSummary.trim(), minutes: mins, createdAt: new Date().toISOString() }] - } - worklogSummary = '' - worklogMinutes = '' + await wailsCall('CreateWorklogFull', selectedNode.id, wlModalSummary.trim(), wlModalDetails, wlModalDate, mins, wlModalApprox, wlModalBillable) + } catch (e) { /* fallback */ } + worklog = initWorklogEntries(await wailsCall('ListWorklog', selectedNode.id)) || worklog + showWorklogModal = false } async function refreshAfterSuggestion() { suggestions = await wailsCall('GetSuggestions') || [] suggestionCount = suggestions.length if (selectedNode) { - worklog = await wailsCall('ListWorklog', selectedNode.id) || [] + worklog = initWorklogEntries(await wailsCall('ListWorklog', selectedNode.id)) } if (selectedSection === 'journal') { await loadJournal() @@ -969,7 +992,7 @@ wailsCall('WorklogReportSummary', journalDateFrom, journalDateTo, journalNodeID, journalIncludeChildren, journalBillableFilter, journalApproxFilter), wailsCall('GetSuggestions'), ]) - journalRows = rows || [] + journalRows = (rows || []).map(r => { if (r._expanded === undefined) r._expanded = false; return r }) journalSummary = summary || null suggestions = sugs || [] suggestionCount = suggestions.length @@ -1007,14 +1030,32 @@ async function toggleJournalRow(r) { r._expanded = !r._expanded + journalRows = journalRows if (r._expanded && !r._events && r._hasEvents === undefined) { try { r._events = await wailsCall('GetWorklogEntryEvents', r.id) || [] r._hasEvents = r._events.length > 0 - } catch(e) { r._events = []; r._hasEvents = false } + journalRows = journalRows + } catch(e) { r._events = []; r._hasEvents = false; journalRows = journalRows } } } + async function toggleWorklogEntry(e) { + e._expanded = !e._expanded + if (e._expanded && e.source === 'suggestion' && !e._events && e._hasEvents === undefined) { + try { + e._events = await wailsCall('GetWorklogEntryEvents', e.id) || [] + e._hasEvents = e._events.length > 0 + } catch(e) { e._events = []; e._hasEvents = false } + } + worklog = worklog + } + + function initWorklogEntries(entries) { + if (!entries) return [] + return entries.map(e => { if (e._expanded === undefined) e._expanded = false; return e }) + } + function formatTime(iso) { if (!iso) return '' const d = new Date(iso) @@ -1059,6 +1100,20 @@ loadJournal() } + function resetJournalFilters() { + journalDateFrom = '' + journalDateTo = '' + journalNodeID = '' + journalIncludeChildren = false + journalBillableFilter = 'all' + journalApproxFilter = 'all' + journalFilteredNodeTitle = '' + journalSearchQuery = '' + journalSearchResults = [] + journalShowResults = false + loadJournal() + } + function downloadFile(name, content, mime) { const blob = new Blob([content], { type: mime }) const url = URL.createObjectURL(blob) @@ -1245,6 +1300,36 @@ } } + async function openActivityEvent(ev) { + const targetNode = ev.nodeId + if (!targetNode) return + try { + const node = await wailsCall('GetNodeDetail', targetNode) + if (!node) return + if (ev.targetType === 'note') { + selectNode(node) + activeTab = 'notes' + // If we have a targetId, try to find and open the note + if (ev.targetId) { + // Load notes and open the specific note + try { notes = await wailsCall('ListNotes', targetNode) || [] } catch(e) {} + const note = notes.find(n => n.id === ev.targetId) + if (note) { + // Small delay to let the UI render the notes tab + setTimeout(() => openNote(note), 100) + } + } + } else if (ev.targetType === 'file' || ev.targetType === 'folder') { + selectNode(node) + activeTab = 'files' + } else { + selectNode(node) + } + } catch (e) { + error = String(e) + } + } + // ===== Sync ===== async function loadSyncStatus() { try { @@ -1659,11 +1744,8 @@ {:else if activeTab === 'worklog'}
-
- - - +
+
{#if selectedNode && suggestions.filter(s => s.nodeId === selectedNode.id).length > 0}
@@ -1690,6 +1772,9 @@ {t('event.' + ev.eventType) || ev.eventType} {ev.title} + {#if ev.targetType === 'file' || ev.eventType.startsWith('file_')} + + {/if}
{/each}
@@ -1702,9 +1787,55 @@

{t('worklog.empty')}

{:else} {#each worklog as e} -
-
{e.summary}
-
{e.minutes} {t('worklog.min')} · {formatDate(e.createdAt)}
+
toggleWorklogEntry(e)} role="button" tabindex="0" on:keydown={(e2) => e2.key === 'Enter' && toggleWorklogEntry(e)}> +
+ {e._expanded ? '▾' : '▸'} + {e.summary} + {e.minutes} {t('worklog.min')} + {#if e.billable}{t('journal.billableYes')}{/if} + {#if e.approximate}{t('journal.approxEstimated')}{/if} + +
+ {#if e._expanded} +
+ {#if e.details} +
+ {t('worklog.details')} +

{e.details}

+
+ {/if} +
+ {t('worklog.source')} + {#if e.source === 'manual'} +

{t('worklog.sourceManual')}

+ {:else if e.source === 'suggestion' && e._events && e._events.length > 0} +

{t('worklog.sourceSuggestion')}

+ {:else if e.source === 'suggestion'} +

{t('worklog.sourceSuggestionNoEvents')}

+ {:else if e.source === 'unknown' || e.source === 'imported'} +

{t('worklog.sourceUnknown')}

+ {:else} +

{t('worklog.sourceUnknown')}

+ {/if} +
+ {#if e.source === 'suggestion' && e._events && e._events.length > 0} +
+ {t('journal.relatedEvents')} + {#each e._events as ev} +
+ {formatTime(ev.createdAt)} + {t('event.' + ev.eventType) || ev.eventType} + {ev.title} + + {#if ev.targetType === 'file' || ev.eventType.startsWith('file_')} + + {/if} +
+ {/each} +
+ {/if} +
+ {/if}
{/each} {/if} @@ -1717,7 +1848,7 @@ {:else}
{#each caseActivity as ev} -
+
openActivityEvent(ev)} on:keydown={(e) => e.key === 'Enter' && openActivityEvent(ev)}> {eventIcon(ev.eventType)} {ev.title} {eventLabel(ev.eventType)} @@ -1735,66 +1866,73 @@

{t('journal.title')}

-
- - -
@@ -1825,6 +1963,9 @@ {t('event.' + ev.eventType) || ev.eventType} {ev.title} + {#if ev.targetType === 'file' || ev.eventType.startsWith('file_')} + + {/if}
{/each}
@@ -1863,6 +2004,7 @@ + @@ -1875,6 +2017,7 @@ {#each journalRows as r} toggleJournalRow(r)} role="button" tabindex="0" on:keydown={(e) => e.key === 'Enter' && toggleJournalRow(r)}> + @@ -1885,7 +2028,7 @@ {#if r._expanded} -
{t('journal.title')} {t('journal.node')} {t('journal.path')}
{r._expanded ? '▾' : '▸'} {r.summary} {r.nodePath}
+
{#if r.details}
@@ -1895,7 +2038,19 @@ {/if}
{t('worklog.source')} -

{#if r._hasEvents}{t('worklog.sourceSuggestion')}{:else}{t('worklog.sourceManual')}{/if}

+ {#if r.source === 'manual'} +

{t('worklog.sourceManual')}

+ {:else if r.source === 'suggestion' && r._events && r._events.length > 0} +

{t('worklog.sourceSuggestion')}

+ {:else if r.source === 'suggestion'} +

{t('worklog.sourceSuggestionNoEvents')}

+ {:else if r.source === 'unknown' || r.source === 'imported'} +

{t('worklog.sourceUnknown')}

+ {:else if r._hasEvents} +

{t('worklog.sourceSuggestion')}

+ {:else} +

{t('worklog.sourceUnknown')}

+ {/if}
{#if r._events}
@@ -1962,6 +2117,9 @@ {t('event.' + ev.eventType) || ev.eventType} {ev.title} + {#if ev.targetType === 'file' || ev.eventType.startsWith('file_')} + + {/if}
{/each}
@@ -2002,7 +2160,7 @@

{t('today.timeline')}

{#each todayDashboard.events as ev} -
openNodeById(ev.nodeId)} on:keydown={(e) => e.key === 'Enter' && openNodeById(ev.nodeId)}> +
openActivityEvent(ev)} on:keydown={(e) => e.key === 'Enter' && openActivityEvent(ev)}> {ev.title} {eventLabel(ev.eventType)} @@ -2029,7 +2187,7 @@ {:else}
{#each activityFeed as ev} -
openNodeById(ev.nodeId)} on:keydown={(e) => e.key === 'Enter' && openNodeById(ev.nodeId)}> +
openActivityEvent(ev)} on:keydown={(e) => e.key === 'Enter' && openActivityEvent(ev)}> {eventIcon(ev.eventType)}
{ev.title} @@ -2133,6 +2291,49 @@
{/if} + {#if showWorklogModal} + + {/if} + {#if showCreateAction}