livedesk 0.1.685 → 0.1.686

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/bin/livedesk.js +1 -0
  2. package/bootstrap/hub-self-agent.js +1 -0
  3. package/client/bin/livedesk-client.js +1 -1
  4. package/client/package.json +5 -5
  5. package/electron/main.mjs +3 -1
  6. package/hub/package.json +32 -32
  7. package/hub/src/console-direct.js +4 -1
  8. package/hub/src/console-direct.test.mjs +70 -4
  9. package/package.json +6 -6
  10. package/runtime-core/package.json +18 -18
  11. package/web/dist/app.html +1 -1
  12. package/web/dist/app.webmanifest +1 -1
  13. package/web/dist/assets/{AgentSettingsTab-C2yWMYVI.js → AgentSettingsTab-BpaAvVmS.js} +1 -1
  14. package/web/dist/assets/{AgentsPage-BlV_riNE.js → AgentsPage-CviietlX.js} +1 -1
  15. package/web/dist/assets/{CaptureGallery-Dbn6VhEu.js → CaptureGallery-v-uzDN4q.js} +1 -1
  16. package/web/dist/assets/HubApp-CEZWMXxq.js +182 -0
  17. package/web/dist/assets/{HubApp-DFLBNvIi.css → HubApp-DdHHVOM0.css} +1 -1
  18. package/web/dist/assets/MonitorStackIcon-JfWhLRS2.js +8 -0
  19. package/web/dist/assets/{SettingsPage-49Z3Hv0p.js → SettingsPage-XqN0yfRR.js} +1 -1
  20. package/web/dist/assets/{ShareFilesPage-BEOcL51r.js → ShareFilesPage-BcxBsXoN.js} +1 -1
  21. package/web/dist/assets/{SupportPage-CB0Hrnri.js → SupportPage-D_60jn3l.js} +1 -1
  22. package/web/dist/assets/{VuvoDeskApp-CFZWGgYH.js → VuvoDeskApp-DsIm_aTa.js} +1 -1
  23. package/web/dist/assets/{app-CoHWIYYA.js → app-DA8I23kG.js} +2 -2
  24. package/web/dist/assets/{main-D83bJX4i.js → main-B1P8Damh.js} +2 -2
  25. package/web/dist/assets/styles-CQz52HHV.css +1 -0
  26. package/web/dist/index.html +3 -3
  27. package/web/dist/sw.js +2 -2
  28. package/web/dist/vuvodesk-build-evidence.json +47 -47
  29. package/web/dist/assets/HubApp-CjBsQESw.js +0 -182
  30. package/web/dist/assets/MonitorStackIcon-BTi3OZ_m.js +0 -8
  31. package/web/dist/assets/styles-BjyLRq6m.css +0 -1
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/VuvoDeskApp-CFZWGgYH.js","assets/pwa-startup-DvbrYEQi.js","assets/icons-CuXJn-Hz.js","assets/pwa-bootstrap-ljOQTt2e.js","assets/SupportPage-CB0Hrnri.js","assets/HubApp-CjBsQESw.js","assets/preload-helper-DD1OZmLC.js","assets/MonitorStackIcon-BTi3OZ_m.js","assets/supabase-C7qjtLN3.js","assets/frame-lifecycle-D91nchvm.js","assets/HubApp-DFLBNvIi.css","assets/SupportPage-Cxx61WwR.css","assets/DesktopUpdatePanel-DuatXF9C.js","assets/VuvoDeskApp-ao5vkK6F.css"])))=>i.map(i=>d[i]);
2
- import{_ as F}from"./preload-helper-DD1OZmLC.js";import{j as e,P as K,a as G}from"./pwa-startup-DvbrYEQi.js";import{r as x,$ as o,a0 as Y,a1 as E,b as X,a2 as O,o as y,M as V,a3 as N,a4 as v,a5 as j,a6 as M,a7 as g,W as J,a8 as Q,j as Z,D as h,a9 as I,aa as ee,ab as se,ac as S,S as A,ad as _,G as ne}from"./icons-CuXJn-Hz.js";import{a as ae}from"./client-8jUbxy3j.js";import{L as ie,M as R,F as re,p as i,P as te,a as oe,T as le,i as P}from"./MonitorStackIcon-BTi3OZ_m.js";/* empty css */import{f as ce,s as de,r as he}from"./pwa-bootstrap-ljOQTt2e.js";import"./react-rvm9rmed.js";const T="npx -y --prefer-online livedesk@latest",pe="".trim().toLowerCase(),U=pe==="stable"?"stable":"dev",f=`https://livedesk-desktop-updates.lovecrdm.workers.dev/download/${U}`,ue=`${f}/windows/x64`,me=`${f}/macos/x64`,xe=`${f}/macos/arm64`,je=`${f}/linux/x64`,fe=`${f}/linux/x64/deb`,k="".trim().toLowerCase()==="true",d="".trim().toLowerCase()==="true",p="".trim().toLowerCase()==="true",w="".trim().toLowerCase()==="true",b=d||p||w;function ve(){if(typeof window>"u")return"home";const s=window.location.pathname.replace(/\/+$/,"")||"/";return s==="/"?"home":s==="/download"?"download":s==="/pricing"?"pricing":s==="/support"?"support":s==="/terms"?"terms":s==="/privacy"?"privacy":s==="/refunds"?"refunds":"not-found"}function W(){return e.jsxs("a",{className:"site-brand",href:"/","aria-label":"VuvoDesk home",children:[e.jsx("span",{className:"site-brand-mark",children:e.jsx(R,{size:25})}),e.jsx("span",{children:"VuvoDesk"})]})}function we({page:s}){const a=[{label:"Product",href:"/#product",active:s==="home"},{label:"Pricing",href:"/pricing",active:s==="pricing"},{label:"Download",href:"/download",active:s==="download"},{label:"Support",href:"/support",active:s==="support"}];return e.jsx("header",{className:"site-header",children:e.jsxs("div",{className:"site-header-inner",children:[e.jsx(W,{}),e.jsx("nav",{className:"site-nav","aria-label":"Main navigation",children:a.map(n=>e.jsx("a",{className:n.active?"active":"",href:n.href,children:n.label},n.label))}),e.jsxs("div",{className:"site-header-actions",children:[e.jsx("a",{className:"site-text-link",href:"/app",children:"Open web console"}),e.jsxs("a",{className:"site-button site-button-small",href:"/download",children:["Get VuvoDesk ",e.jsx(o,{size:15})]})]}),e.jsxs("details",{className:"site-mobile-menu",children:[e.jsx("summary",{"aria-label":"Open navigation",children:e.jsx(Y,{size:22})}),e.jsxs("nav",{"aria-label":"Mobile navigation",children:[a.map(n=>e.jsxs("a",{href:n.href,children:[n.label,e.jsx(E,{size:15})]},n.label)),e.jsxs("a",{href:"/app",children:["Open web console",e.jsx(E,{size:15})]})]})]})]})})}function ge(){return e.jsxs("footer",{className:"site-footer",children:[e.jsxs("div",{className:"site-footer-main",children:[e.jsxs("div",{children:[e.jsx(W,{}),e.jsx("p",{children:"One calm command center for every computer you manage."})]}),e.jsxs("div",{className:"site-footer-links",children:[e.jsxs("div",{children:[e.jsx("strong",{children:"Product"}),e.jsx("a",{href:"/#product",children:"Overview"}),e.jsx("a",{href:"/pricing",children:"Pricing"}),e.jsx("a",{href:"/download",children:"Download"})]}),e.jsxs("div",{children:[e.jsx("strong",{children:"Use VuvoDesk"}),e.jsx("a",{href:"/app",children:"Web console"}),e.jsx("a",{href:"/support",children:"Support"})]}),e.jsxs("div",{children:[e.jsx("strong",{children:"Platforms"}),e.jsx("span",{children:"Windows"}),e.jsx("span",{children:"macOS"}),e.jsx("span",{children:"Linux"}),e.jsx("span",{children:"Mobile PWA"})]}),e.jsxs("div",{children:[e.jsx("strong",{children:"Legal"}),e.jsx("a",{href:"/terms",children:"Terms"}),e.jsx("a",{href:"/privacy",children:"Privacy"}),e.jsx("a",{href:"/refunds",children:"Cancellation & refunds"})]})]})]}),e.jsxs("div",{className:"site-footer-bottom",children:[e.jsx("span",{children:"© 2026 VuvoDesk"}),e.jsx("span",{children:"Built for people who run real work across many screens."})]})]})}function be(){const s=[{name:"Studio-01",status:"Online",className:"screen-blue",cpu:"42%",ram:"61%"},{name:"Render-Mac",status:"Online",className:"screen-purple",cpu:"67%",ram:"74%"},{name:"Linux-Build",status:"Online",className:"screen-green",cpu:"29%",ram:"48%"},{name:"Office-PC",status:"Idle",className:"screen-orange",cpu:"18%",ram:"37%"}];return e.jsxs("div",{className:"product-mockup","aria-label":"VuvoDesk screen wall preview",children:[e.jsxs("div",{className:"mockup-window-bar",children:[e.jsxs("div",{children:[e.jsx("i",{}),e.jsx("i",{}),e.jsx("i",{})]}),e.jsx("span",{children:"VuvoDesk · Wall"}),e.jsxs("span",{className:"mockup-online",children:[e.jsx("i",{})," 4 online"]})]}),e.jsxs("div",{className:"mockup-body",children:[e.jsxs("aside",{className:"mockup-rail","aria-hidden":"true",children:[e.jsx("span",{className:"active",children:e.jsx(M,{size:17})}),e.jsx("span",{children:e.jsx(g,{size:17})}),e.jsx("span",{children:e.jsx(I,{size:17})}),e.jsx("span",{children:e.jsx(_,{size:17})})]}),e.jsx("div",{className:"mockup-wall",children:s.map(a=>e.jsxs("article",{className:"mockup-screen",children:[e.jsxs("div",{className:`mockup-screen-image ${a.className}`,children:[e.jsx("span",{className:"mockup-code-line wide"}),e.jsx("span",{className:"mockup-code-line"}),e.jsx("span",{className:"mockup-code-line short"}),e.jsx("span",{className:"mockup-panel-block"})]}),e.jsxs("div",{className:"mockup-screen-title",children:[e.jsx("strong",{children:a.name}),e.jsxs("span",{children:[e.jsx("i",{})," ",a.status]})]}),e.jsxs("div",{className:"mockup-metrics",children:[e.jsxs("span",{children:["CPU ",e.jsx("b",{children:a.cpu})]}),e.jsxs("span",{children:["RAM ",e.jsx("b",{children:a.ram})]})]})]},a.name))})]}),e.jsxs("div",{className:"mockup-control-card",children:[e.jsx(g,{size:18}),e.jsxs("span",{children:[e.jsx("small",{children:"Selected computer"}),e.jsx("strong",{children:"Render-Mac"})]}),e.jsx("button",{type:"button",children:"Control"})]})]})}function B({compact:s=!1}){const a=[{key:"free",name:i.free.name,price:i.free.price,suffix:"forever",audience:i.free.audience,description:"A practical personal wall, supported by a standard banner.",features:[`Up to ${re} devices`,"1 person","Standard banner"],action:"Start free",href:"/app",available:!0},{key:"plus",name:i.ltd.name,price:i.ltd.price,suffix:"/ month",audience:i.ltd.audience,description:"A clean personal command center for creators and homelabs.",features:[`Up to ${te} devices`,"1 person · no standard banner","Personal use"],ltd:i.ltd.ltd,action:p||d?"Choose Plus":"Paid checkout opening soon",href:p||d?"/app?view=pricing":"/support#billing",available:p||d},{key:"pro",name:i.pro.name,price:i.pro.price,suffix:"/ month",audience:i.pro.audience,description:"Monitoring for schools, academies, studios, offices, and growing commercial fleets.",features:[`Up to ${oe} devices`,"1 person","Ad-free school, academy, and commercial use"],ltd:i.pro.ltd,action:p||d?"Choose Business":"Paid checkout opening soon",href:p||d?"/app?view=pricing":"/support#billing",available:p||d},{key:"team",name:i.team.name,price:i.team.price,suffix:"/ month",audience:i.team.audience,description:"A shared Team Space for operators who manage the same computers together.",features:["Unlimited computers",`${le} people with their own accounts`,"Commercial use · Owner and Operator roles"],action:w?"Choose Team":"Paid checkout opening soon",href:w?"/app?view=pricing":"/support#billing",available:w}];return e.jsx("div",{className:`site-pricing-grid ${s?"compact":""}`,children:a.map(n=>e.jsxs("article",{className:`site-price-card ${n.key==="plus"?"featured":""} ${n.available?"":"pending"}`,children:[e.jsxs("div",{className:"site-price-heading",children:[e.jsx("span",{children:n.name}),n.key==="plus"&&e.jsx("em",{children:"Most popular"})]}),e.jsx("p",{className:"site-price-audience",children:n.audience}),e.jsxs("div",{className:"site-price",children:[e.jsx("strong",{children:n.price}),e.jsx("small",{children:n.suffix})]}),e.jsx("p",{children:n.description}),e.jsx("ul",{children:n.features.map(t=>e.jsxs("li",{children:[e.jsx(ne,{size:16})," ",t]},t))}),n.ltd&&e.jsxs("div",{className:"site-ltd",children:[e.jsxs("span",{children:[n.name," LTD"]}),e.jsx("strong",{children:n.ltd.replace(" LTD","")}),e.jsx("small",{children:d?"one-time · available now":"one-time · checkout opening soon"})]}),e.jsxs("a",{className:`site-price-action ${n.key==="plus"&&n.available?"primary":""} ${n.available?"":"pending"}`,href:n.href,children:[n.action,e.jsx(o,{size:15})]})]},n.key))})}function ye(){return e.jsx(e.Fragment,{children:e.jsxs("main",{children:[e.jsxs("section",{className:"site-hero",children:[e.jsxs("div",{className:"site-hero-copy",children:[e.jsxs("span",{className:"site-kicker",children:[e.jsx(X,{size:15})," The screen wall for real work"]}),e.jsxs("h1",{children:["Every computer.",e.jsx("br",{}),e.jsx("span",{children:"One calm command center."})]}),e.jsx("p",{children:"See every screen, focus the computer that needs you, and keep work moving from your desk or phone."}),e.jsxs("div",{className:"site-hero-actions",children:[e.jsxs("a",{className:"site-button",href:"/download",children:["Download VuvoDesk ",e.jsx(o,{size:17})]}),e.jsxs("a",{className:"site-button site-button-secondary",href:"/app",children:["Open web console ",e.jsx(O,{size:17})]})]}),e.jsxs("div",{className:"site-hero-notes",children:[e.jsxs("span",{children:[e.jsx(y,{size:15})," Free for 5 devices"]}),e.jsxs("span",{children:[e.jsx(y,{size:15})," No credit card"]}),e.jsxs("span",{children:[e.jsx(y,{size:15})," Windows · macOS · Linux"]})]})]}),e.jsxs("div",{className:"site-hero-visual",children:[e.jsx("div",{className:"site-orbit site-orbit-one"}),e.jsx("div",{className:"site-orbit site-orbit-two"}),e.jsx(be,{})]})]}),e.jsxs("section",{className:"platform-strip","aria-label":"Supported platforms",children:[e.jsx("span",{children:"Built for the computers you already run"}),e.jsxs("div",{children:[e.jsxs("strong",{children:[e.jsx(V,{size:18})," Windows"]}),e.jsxs("strong",{children:[e.jsx(N,{size:18})," macOS"]}),e.jsxs("strong",{children:[e.jsx(v,{size:18})," Linux"]}),e.jsxs("strong",{children:[e.jsx(j,{size:18})," iPhone & Android"]}),e.jsxs("strong",{children:[e.jsx(O,{size:18})," Any browser"]})]})]}),e.jsxs("section",{className:"site-section site-value-section",id:"product",children:[e.jsxs("div",{className:"site-section-heading",children:[e.jsx("span",{children:"Why VuvoDesk"}),e.jsxs("h2",{children:["Spend less time finding the problem.",e.jsx("br",{}),"Spend more time fixing it."]}),e.jsx("p",{children:"VuvoDesk keeps the fleet visible without turning your desktop into a pile of remote windows."})]}),e.jsxs("div",{className:"site-value-grid",children:[e.jsxs("article",{className:"site-value-card large blue",children:[e.jsx("span",{className:"site-feature-icon",children:e.jsx(M,{size:23})}),e.jsx("h3",{children:"A wall that stays readable"}),e.jsx("p",{children:"Move from a compact list to large live previews. Keep the signal you need and hide the noise you do not."}),e.jsxs("div",{className:"feature-wall-demo",children:[e.jsx("i",{}),e.jsx("i",{}),e.jsx("i",{}),e.jsx("i",{}),e.jsx("i",{}),e.jsx("i",{})]})]}),e.jsxs("article",{className:"site-value-card mint",children:[e.jsx("span",{className:"site-feature-icon",children:e.jsx(g,{size:23})}),e.jsx("h3",{children:"Control without losing context"}),e.jsx("p",{children:"Jump from Wall to focused Control, then return to the same fleet view."}),e.jsxs("div",{className:"feature-cursor-demo",children:[e.jsx(g,{size:31}),e.jsx("span",{children:"Direct control"})]})]}),e.jsxs("article",{className:"site-value-card violet",children:[e.jsx("span",{className:"site-feature-icon",children:e.jsx(J,{size:23})}),e.jsx("h3",{children:"Your fleet in your pocket"}),e.jsx("p",{children:"Install the PWA on iPhone or Android and check the room before you walk back to it."}),e.jsxs("div",{className:"feature-phone-demo",children:[e.jsx("span",{}),e.jsxs("div",{children:[e.jsx("i",{}),e.jsx("i",{}),e.jsx("i",{})]})]})]}),e.jsxs("article",{className:"site-value-card wide dark",children:[e.jsxs("div",{children:[e.jsxs("span",{className:"site-kicker dark",children:[e.jsx(Q,{size:14})," Local-first when possible"]}),e.jsx("h3",{children:"Fast where you work. Reachable when you leave."}),e.jsx("p",{children:"VuvoDesk prefers the shortest useful route and keeps the current screen moving instead of building a stale queue."})]}),e.jsxs("div",{className:"feature-route",children:[e.jsxs("span",{children:[e.jsx(N,{size:19})," Hub"]}),e.jsx("i",{}),e.jsxs("span",{children:[e.jsx(Z,{size:19})," Clients"]}),e.jsx("i",{}),e.jsxs("span",{children:[e.jsx(j,{size:19})," PWA"]})]})]})]})]}),e.jsxs("section",{className:"site-section site-workflow",children:[e.jsxs("div",{className:"site-section-heading centered",children:[e.jsx("span",{children:"Start in three steps"}),e.jsx("h2",{children:"From zero to a live wall in minutes."})]}),e.jsxs("div",{className:"workflow-grid",children:[e.jsxs("article",{children:[e.jsx("b",{children:"01"}),e.jsx("span",{children:e.jsx(h,{size:21})}),e.jsx("h3",{children:"Install the Hub"}),e.jsx("p",{children:"Choose the computer that will organize your VuvoDesk fleet."})]}),e.jsxs("article",{children:[e.jsx("b",{children:"02"}),e.jsx("span",{children:e.jsx(I,{size:21})}),e.jsx("h3",{children:"Connect Clients"}),e.jsx("p",{children:"Use one PIN to add the Windows, Mac, and Linux computers you manage."})]}),e.jsxs("article",{children:[e.jsx("b",{children:"03"}),e.jsx("span",{children:e.jsx(j,{size:21})}),e.jsx("h3",{children:"Manage from anywhere"}),e.jsx("p",{children:"Open the web console or install the mobile PWA and keep every screen close."})]})]})]}),e.jsxs("section",{className:"site-section site-pricing-section",children:[e.jsxs("div",{className:"site-section-heading centered",children:[e.jsx("span",{children:"Simple pricing"}),e.jsx("h2",{children:"Start free. Upgrade when the wall earns its place."}),e.jsx("p",{children:b?"Monthly prices stay easy to understand. Lifetime offers are available separately below each paid plan.":"Free is available now. Paid checkout stays closed until live billing and customer support are verified."})]}),e.jsx(B,{compact:!0}),e.jsxs("a",{className:"site-inline-link",href:"/pricing",children:["Compare every plan ",e.jsx(o,{size:15})]})]}),e.jsxs("section",{className:"site-final-cta",children:[e.jsxs("div",{children:[e.jsxs("span",{className:"site-kicker dark",children:[e.jsx(ee,{size:14})," Your fleet, one glance away"]}),e.jsxs("h2",{children:["Give every computer",e.jsx("br",{}),"one clear place to report."]})]}),e.jsxs("div",{children:[e.jsx("p",{children:"Start with five devices for free. Install the Hub, connect a Client, and open your first live wall."}),e.jsxs("div",{children:[e.jsxs("a",{className:"site-button light",href:"/download",children:["Get VuvoDesk ",e.jsx(o,{size:17})]}),e.jsx("a",{className:"site-button ghost",href:"/app",children:"Open console"})]})]})]})]})})}function ke(){const[s,a]=x.useState(!1),n=async()=>{try{await navigator.clipboard.writeText(T),a(!0),window.setTimeout(()=>a(!1),1800)}catch{a(!1)}};return e.jsxs("main",{className:"site-subpage",children:[e.jsxs("section",{className:"site-subpage-hero download-hero",children:[e.jsxs("span",{className:"site-kicker",children:[e.jsx(h,{size:15})," Download VuvoDesk"]}),e.jsxs("h1",{children:["Turn one computer into",e.jsx("br",{}),e.jsx("span",{children:"your command center."})]}),e.jsxs("p",{children:["Use the latest temporary installer for your computer. Available links follow the newest matching file on the ",U," channel; an unavailable platform is never linked to a missing file."]})]}),e.jsxs("section",{className:"download-grid",children:[e.jsxs("article",{id:"windows",children:[e.jsx("span",{className:"download-platform-icon windows",children:e.jsx(V,{size:27})}),e.jsxs("div",{children:[e.jsx("small",{children:"Windows"}),e.jsx("span",{className:"download-version",children:"Latest temporary build · x64 Electron"}),e.jsx("span",{className:"download-preview-note",children:"Temporary installer · unsigned"}),e.jsx("h2",{children:"Install VuvoDesk for Windows"}),e.jsx("p",{children:"Download the normal Electron setup program. Windows SmartScreen may warn about this preview until code signing is ready."})]}),e.jsxs("a",{className:"download-installer-link",href:ue,children:["Download Windows installer ",e.jsx(h,{size:16})]})]}),e.jsxs("article",{id:"macos",children:[e.jsx("span",{className:"download-platform-icon mac",children:e.jsx(N,{size:27})}),e.jsxs("div",{children:[e.jsx("small",{children:"macOS"}),e.jsx("span",{className:"download-version",children:"Intel & Apple silicon"}),e.jsx("span",{className:"download-preview-note",children:k?"Temporary installer · ad-hoc signed · not notarized":"Desktop installer not published yet"}),e.jsx("h2",{children:"Install VuvoDesk for macOS"}),e.jsx("p",{children:k?"Choose the chip in your Mac. On first launch, macOS may require Open Anyway in Privacy & Security because this preview is not Apple-notarized.":"Use the terminal install below while signed and notarized desktop packages are being prepared."})]}),k?e.jsxs("div",{className:"download-actions",children:[e.jsxs("a",{className:"download-installer-link",href:xe,children:["Apple silicon ",e.jsx(h,{size:16})]}),e.jsxs("a",{className:"download-installer-link secondary",href:me,children:["Intel Mac ",e.jsx(h,{size:16})]})]}):e.jsx("div",{className:"download-actions",children:e.jsxs("a",{className:"download-installer-link secondary",href:"#install-command",children:["Use terminal install ",e.jsx(v,{size:16})]})})]}),e.jsxs("article",{id:"linux",children:[e.jsx("span",{className:"download-platform-icon linux",children:e.jsx(v,{size:27})}),e.jsxs("div",{children:[e.jsx("small",{children:"Linux"}),e.jsx("span",{className:"download-version",children:"Latest temporary build · x64 · X11"}),e.jsx("span",{className:"download-preview-note",children:"Temporary installer"}),e.jsx("h2",{children:"Install VuvoDesk for Linux"}),e.jsx("p",{children:"Use the DEB package on Ubuntu, Debian, or Mint. For other distributions, download AppImage, mark it executable, then open it."})]}),e.jsxs("div",{className:"download-actions",children:[e.jsxs("a",{className:"download-installer-link",href:fe,children:["Download .deb ",e.jsx(h,{size:16})]}),e.jsxs("a",{className:"download-installer-link secondary",href:je,children:["Download AppImage ",e.jsx(h,{size:16})]})]})]})]}),e.jsxs("section",{className:"install-command-card",id:"install-command",children:[e.jsxs("div",{children:[e.jsxs("span",{children:[e.jsx(v,{size:18})," One command install"]}),e.jsx("h2",{children:"Terminal fallback and advanced setup"}),e.jsx("p",{children:"Use the npm package when you prefer a command-line install or the temporary desktop package does not suit your system."})]}),e.jsxs("div",{className:"install-command",children:[e.jsx("code",{children:T}),e.jsxs("button",{type:"button",onClick:()=>{n()},children:[e.jsx(se,{size:17})," ",s?"Copied":"Copy"]})]}),e.jsxs("ol",{children:[e.jsxs("li",{children:[e.jsx("b",{children:"1"}),e.jsx("span",{children:"Run the command on the computer that will be your Hub."})]}),e.jsxs("li",{children:[e.jsx("b",{children:"2"}),e.jsx("span",{children:"Open Settings and create a Hub PIN."})]}),e.jsxs("li",{children:[e.jsx("b",{children:"3"}),e.jsx("span",{children:"Run the same package as a Client on the other computers."})]})]})]}),e.jsxs("section",{className:"mobile-install-section",id:"mobile",children:[e.jsxs("div",{className:"mobile-install-heading",children:[e.jsx("span",{children:e.jsx(j,{size:26})}),e.jsxs("div",{children:[e.jsxs("small",{children:["iPhone & Android · PWA ",ie]}),e.jsx("h2",{children:"No app store required."}),e.jsx("p",{children:"Open the public web address, sign in, then install VuvoDesk on the Home Screen. The PWA always starts directly in the console."})]})]}),e.jsxs("div",{className:"mobile-web-address",children:[e.jsx("span",{children:"Mobile web address"}),e.jsx("a",{href:"https://vuvodesk.com/app",children:"https://vuvodesk.com/app"}),e.jsxs("a",{className:"site-button",href:"/app",children:["Open mobile console ",e.jsx(o,{size:16})]})]}),e.jsxs("div",{className:"pwa-guide-grid",children:[e.jsxs("article",{children:[e.jsx("strong",{children:"iPhone & iPad"}),e.jsxs("ol",{children:[e.jsx("li",{children:"Open the address in Safari."}),e.jsx("li",{children:"Tap Share, then Add to Home Screen."}),e.jsx("li",{children:"Choose Open as Web App and add VuvoDesk."})]})]}),e.jsxs("article",{children:[e.jsx("strong",{children:"Android"}),e.jsxs("ol",{children:[e.jsx("li",{children:"Open the address in Chrome."}),e.jsx("li",{children:"Open the browser menu and tap Install app."}),e.jsx("li",{children:"Launch VuvoDesk from the Home Screen."})]})]})]})]})]})}function Ne(){return e.jsxs("main",{className:"site-subpage pricing-subpage",children:[e.jsxs("section",{className:"site-subpage-hero",children:[e.jsxs("span",{className:"site-kicker",children:[e.jsx(S,{size:15})," VuvoDesk pricing"]}),e.jsxs("h1",{children:["Clear plans for",e.jsx("br",{}),e.jsx("span",{children:"growing screen walls."})]}),e.jsxs("p",{children:["Start with one account, choose Pro / Business for a school, academy, or commercial workplace, or give each operator a separate login with Team. ",!b&&"Paid checkout is not open yet."]})]}),e.jsx(B,{}),e.jsxs("section",{className:"pricing-explainer",children:[e.jsxs("article",{children:[e.jsx(A,{size:21}),e.jsxs("div",{children:[e.jsx("h3",{children:"Free stays useful"}),e.jsx("p",{children:"The standard banner helps keep a five-device personal wall available without a subscription."})]})]}),e.jsxs("article",{children:[e.jsx(S,{size:21}),e.jsxs("div",{children:[e.jsx("h3",{children:"Monthly and lifetime are separate"}),e.jsx("p",{children:"$5 Plus, $15 Pro / Business, and $49 Team are monthly prices. Existing Plus LTD $79 and Pro LTD $199 remain one-time offers."})]})]}),e.jsxs("article",{children:[e.jsx(_,{size:21}),e.jsxs("div",{children:[e.jsx("h3",{children:"Upgrade inside VuvoDesk"}),e.jsx("p",{children:"Sign in to the console, open Pricing, and choose the plan that matches the way you use the fleet."})]})]})]}),e.jsxs("section",{className:"pricing-bottom-cta",children:[e.jsxs("div",{children:[e.jsx("h2",{children:"Start with the computers you have today."}),e.jsx("p",{children:"No credit card is needed for Free."})]}),e.jsxs("a",{className:"site-button",href:"/app",children:["Start free ",e.jsx(o,{size:16})]})]})]})}function Se(){return e.jsxs("main",{className:"site-subpage policy-subpage",children:[e.jsxs("section",{className:"site-subpage-hero",children:[e.jsxs("span",{className:"site-kicker",children:[e.jsx(A,{size:15})," VuvoDesk support"]}),e.jsxs("h1",{children:["Start with the shortest",e.jsx("br",{}),e.jsx("span",{children:"path back to work."})]}),e.jsx("p",{children:"Installation help is public. Account-specific diagnostics and billing requests stay inside your signed-in Support board so they are tied to the correct account."})]}),e.jsxs("section",{className:"support-option-grid",children:[e.jsxs("article",{children:[e.jsx(h,{size:23}),e.jsx("h2",{children:"Install or update"}),e.jsx("p",{children:"Use the current Windows or Linux preview package, or the terminal command for every supported desktop."}),e.jsxs("a",{href:"/download",children:["Open download help ",e.jsx(o,{size:15})]})]}),e.jsxs("article",{children:[e.jsx(j,{size:23}),e.jsx("h2",{children:"Connection trouble"}),e.jsx("p",{children:"Sign in, open the Support board, and include the affected computer name, operating system, VuvoDesk version, and the exact message you saw."}),e.jsxs("a",{href:"/support/issues",children:["Open signed-in Support ",e.jsx(o,{size:15})]})]}),e.jsxs("article",{id:"billing",children:[e.jsx(S,{size:23}),e.jsx("h2",{children:"Account or billing"}),e.jsx("p",{children:b?"Use the signed-in Support board for cancellation, refund, duplicate-payment, or access requests.":"Paid checkout is currently closed. No paid entitlement should be granted until verified checkout becomes available."}),e.jsxs("a",{href:"/support/questions",children:["Open account Support ",e.jsx(o,{size:15})]})]})]}),e.jsxs("section",{className:"support-checklist",children:[e.jsx("h2",{children:"Before sending a report"}),e.jsxs("ol",{children:[e.jsx("li",{children:"Confirm the Hub and Client show the same VuvoDesk release."}),e.jsx("li",{children:"Write down whether the problem affects Wall, Control, clipboard, or sign-in."}),e.jsx("li",{children:"Never post a Hub PIN, pairing token, access token, or payment credential."})]})]})]})}function Pe(){return e.jsxs(C,{title:"Terms of Service",summary:"The practical rules for using the VuvoDesk preview.",updated:"August 30, 2026",children:[e.jsx("h2",{children:"1. Authorized use"}),e.jsx("p",{children:"Use VuvoDesk only on computers and networks you own or are explicitly allowed to manage. You are responsible for every remote-control action performed through your account, Hub, Team Space, or pairing credential."}),e.jsx("h2",{children:"2. Accounts and Team Spaces"}),e.jsx("p",{children:"Keep sign-in and pairing credentials private. Team members use separate accounts. A Team Owner is responsible for invitations, roles, removals, and the computers shared with the Team Space."}),e.jsx("h2",{children:"3. Plans and payment"}),e.jsxs("p",{children:["Free, Plus, Pro / Business, and Team features are limited by the plan shown in the product. A displayed price is not a promise that checkout is open. Paid access starts only after a verified payment event grants the entitlement. Cancellation and refund handling follows the ",e.jsx("a",{href:"/refunds",children:"Cancellation & Refund Policy"}),"."]}),e.jsx("h2",{children:"4. Codex Agent features"}),e.jsx("p",{children:"Codex Agent features require a separately installed and signed-in Codex environment and a separate OpenAI account. OpenAI terms apply to that account and service. VuvoDesk does not sell Codex access and is not an OpenAI product."}),e.jsx("h2",{children:"5. Preview software"}),e.jsx("p",{children:"Unsigned or non-notarized installers are clearly labeled preview builds. Do not use preview software for safety-critical systems or where a temporary loss of screen, input, or connectivity could cause harm. Keep local access and backups available."}),e.jsx("h2",{children:"6. Acceptable behavior"}),e.jsx("p",{children:"Do not use VuvoDesk to access another person's device without permission, evade security controls, distribute malware, interfere with the service, or violate law or third-party rights."}),e.jsx("h2",{children:"7. Changes and termination"}),e.jsx("p",{children:"We may suspend access that creates security, abuse, or payment risk. Material policy changes will be dated on this page. Mandatory consumer rights in your country are not excluded."}),e.jsx("h2",{children:"8. Support"}),e.jsxs("p",{children:["Use the ",e.jsx("a",{href:"/support",children:"Support page"})," for product and account requests. Do not include passwords, tokens, or payment credentials."]})]})}function De(){return e.jsxs(C,{title:"Privacy Notice",summary:"What VuvoDesk handles, where it goes, and what is kept local.",updated:"August 30, 2026",children:[e.jsx("h2",{children:"1. Account and product data"}),e.jsx("p",{children:"VuvoDesk processes sign-in identity, device and workspace identifiers, roles, plan entitlements, connection status, version information, and Support content needed to operate the service."}),e.jsx("h2",{children:"2. Screen and input traffic"}),e.jsx("p",{children:"VuvoDesk is designed to send live screen, audio, clipboard, and remote-input traffic directly between your Hub, Clients, and browser when the connection succeeds. The Cloudflare signaling service exchanges authenticated connection metadata and does not intentionally store or forward the screen-media payload. Local diagnostic logs may record status and error details, not passwords or payment credentials."}),e.jsx("h2",{children:"3. Service providers"}),e.jsx("p",{children:"Google and Supabase provide sign-in and account storage. Cloudflare provides the public site, update delivery, and authenticated connection signaling. Dodo Payments is used only when paid checkout is enabled. Optional Codex Agent actions use the separately signed-in OpenAI service selected by the user."}),e.jsx("h2",{children:"4. Retention and control"}),e.jsxs("p",{children:["Account, workspace, entitlement, and Support records are retained while needed to provide the service, resolve disputes, prevent abuse, or meet legal duties. Request account access, correction, export, or deletion through the signed-in ",e.jsx("a",{href:"/support/questions",children:"Support board"}),". Some records may be retained where law or fraud prevention requires it."]}),e.jsx("h2",{children:"5. Security and transfers"}),e.jsx("p",{children:"Internet services may process data in more than one country. We use authenticated sessions, restricted service credentials, and encrypted network transport where supported, but no system can promise absolute security."}),e.jsx("h2",{children:"6. Policy changes"}),e.jsx("p",{children:"Material changes will update the date on this page. Review this notice before enabling new remote-control, clipboard, Team, payment, or Agent features."})]})}function Ae(){return e.jsxs(C,{title:"Cancellation & Refund Policy",summary:"A plain-language policy before any paid checkout is opened.",updated:"August 30, 2026",children:[e.jsx("h2",{children:"1. Current checkout status"}),e.jsx("p",{children:b?"Paid checkout is available only for the plans whose buttons are active.":"Paid checkout is currently closed. Preview access does not create a paid subscription or lifetime entitlement."}),e.jsx("h2",{children:"2. Subscriptions"}),e.jsx("p",{children:"You may request cancellation at any time. Cancellation stops the next renewal and normally keeps access through the already-paid billing period. A cancellation request must be submitted before the renewal is charged."}),e.jsx("h2",{children:"3. Initial purchase refunds"}),e.jsx("p",{children:"For an initial paid purchase, request a refund within 14 calendar days of payment. Duplicate or unauthorized charges and a material service failure will be reviewed even after that period. Mandatory local refund rights always apply."}),e.jsx("h2",{children:"4. Lifetime purchases"}),e.jsx("p",{children:"A lifetime purchase covers the product entitlement described at checkout, not third-party services, future paid add-ons, or a promise that every preview feature will remain unchanged. The same 14-day initial-purchase request window applies."}),e.jsx("h2",{children:"5. How to request"}),e.jsxs("p",{children:["Open the signed-in ",e.jsx("a",{href:"/support/questions",children:"Support board"})," and provide the account email, plan, purchase date, and reason. Never include full card details, passwords, API keys, or access tokens. Access may be removed after a full refund or successful payment dispute."]})]})}function C({title:s,summary:a,updated:n,children:t}){return e.jsxs("main",{className:"site-subpage policy-subpage",children:[e.jsxs("section",{className:"site-subpage-hero policy-hero",children:[e.jsxs("span",{className:"site-kicker",children:[e.jsx(A,{size:15})," VuvoDesk policy"]}),e.jsx("h1",{children:s}),e.jsx("p",{children:a}),e.jsxs("small",{children:["Last updated: ",n]})]}),e.jsx("article",{className:"policy-document",children:t})]})}function Ce(){return e.jsxs("main",{className:"site-not-found",children:[e.jsx("span",{className:"site-brand-mark",children:e.jsx(R,{size:25})}),e.jsx("small",{children:"404"}),e.jsx("h1",{children:"This screen is not on the wall."}),e.jsx("p",{children:"The page may have moved, but your VuvoDesk console is still here."}),e.jsxs("div",{children:[e.jsx("a",{className:"site-button",href:"/",children:"VuvoDesk home"}),e.jsx("a",{className:"site-button site-button-secondary",href:"/app",children:"Open console"})]})]})}function Le(){const s=ve();return x.useEffect(()=>{const a={home:"VuvoDesk — Every computer. One calm command center.",download:"Download VuvoDesk — Windows, macOS, and Linux",pricing:"VuvoDesk Pricing — Free, Plus, Pro / Business, and Team",support:"VuvoDesk Support",terms:"VuvoDesk Terms of Service",privacy:"VuvoDesk Privacy Notice",refunds:"VuvoDesk Cancellation & Refund Policy","not-found":"Page not found — VuvoDesk"},n={home:"See and control the computers you manage from one clear VuvoDesk screen wall.",download:"Download the currently available VuvoDesk desktop preview or install it with one npm command.",pricing:"Compare VuvoDesk Free, Plus, Pro / Business, and Team plan boundaries.",support:"Get public VuvoDesk installation help or open the signed-in Support board.",terms:"Read the VuvoDesk terms for authorized remote-control use, plans, preview software, and Codex Agent features.",privacy:"Learn how VuvoDesk handles account, device, support, signaling, and direct screen traffic data.",refunds:"Read the VuvoDesk cancellation and refund policy before paid checkout opens.","not-found":"The requested VuvoDesk page was not found."};document.title=a[s];const m=`https://vuvodesk.com${s==="not-found"?"/":window.location.pathname.replace(/\/+$/,"")||"/"}`;let r=document.querySelector('link[rel="canonical"]');r||(r=document.createElement("link"),r.rel="canonical",document.head.append(r)),r.href=m;const c=document.querySelector('meta[name="description"]');c&&(c.content=n[s]);let l=document.querySelector('meta[property="og:url"]');return l||(l=document.createElement("meta"),l.setAttribute("property","og:url"),document.head.append(l)),l.content=m,document.documentElement.classList.add("livedesk-marketing-active"),()=>document.documentElement.classList.remove("livedesk-marketing-active")},[s]),e.jsxs("div",{className:"marketing-site",children:[e.jsx(we,{page:s}),s==="home"?e.jsx(ye,{}):s==="download"?e.jsx(ke,{}):s==="pricing"?e.jsx(Ne,{}):s==="support"?e.jsx(Se,{}):s==="terms"?e.jsx(Pe,{}):s==="privacy"?e.jsx(De,{}):s==="refunds"?e.jsx(Ae,{}):e.jsx(Ce,{}),e.jsx(ge,{})]})}function ze(s){return!!s.navigatorStandalone||!!s.displayModeStandalone||!!s.displayModeFullscreen}function Ee({publicOrigin:s,electron:a,pathname:n,search:t="",navigatorStandalone:m=!1,displayModeStandalone:r=!1,displayModeFullscreen:c=!1,marketingPreview:l=!1}){if(a||!s&&!l)return{kind:"app",redirectPath:""};const L=new URLSearchParams(t),$=L.has("pwa")||ze({navigatorStandalone:m,displayModeStandalone:r,displayModeFullscreen:c}),z=n==="/app"||n.startsWith("/app/"),q=n.startsWith("/support/"),H=L.has("checkout");return $||H?{kind:"app",redirectPath:z?"":"/app"}:z||q?{kind:"app",redirectPath:""}:{kind:"site",redirectPath:""}}function Oe({automaticRetry:s}){const[a,n]=x.useState(null),[t,m]=x.useState("");return x.useEffect(()=>{let r=!0;return F(()=>import("./VuvoDeskApp-CFZWGgYH.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13])).then(c=>{r&&n(()=>c.VuvoDeskApp)}).catch(c=>{if(!r)return;console.warn("[VuvoDesk] app startup load failed.",c);const l=window.navigator.onLine?"The latest app file could not be loaded.":"Reconnect to the internet, then try again.";m(l),he("load-error",s)}),()=>{r=!1}},[s]),a?e.jsx(a,{}):t?e.jsx(G,{detail:t,automaticRetry:s}):e.jsx("main",{className:"runtime-role-boot","aria-label":"Starting VuvoDesk","aria-busy":"true",children:e.jsx("span",{className:"runtime-role-boot-mark","aria-hidden":"true"})})}window.liveDesk&&document.documentElement.classList.add("livedesk-electron-desktop");const u=new URL(window.location.href),Te=!!window.navigator.standalone,D=Ee({publicOrigin:P(),electron:!!window.liveDesk,pathname:u.pathname,search:u.search,navigatorStandalone:Te,displayModeStandalone:window.matchMedia("(display-mode: standalone)").matches,displayModeFullscreen:window.matchMedia("(display-mode: fullscreen)").matches,marketingPreview:u.searchParams.get("site")==="1"});D.redirectPath&&(u.pathname=D.redirectPath,window.history.replaceState({},"",`${u.pathname}${u.search}${u.hash}`));ae.createRoot(document.getElementById("root")).render(e.jsx(x.StrictMode,{children:D.kind==="site"?e.jsx(Le,{}):e.jsx(K,{automaticRetry:P(),children:e.jsx(Oe,{automaticRetry:P()})})}));ce();de();
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/VuvoDeskApp-DsIm_aTa.js","assets/pwa-startup-DvbrYEQi.js","assets/icons-CuXJn-Hz.js","assets/pwa-bootstrap-ljOQTt2e.js","assets/SupportPage-D_60jn3l.js","assets/HubApp-CEZWMXxq.js","assets/preload-helper-DD1OZmLC.js","assets/MonitorStackIcon-JfWhLRS2.js","assets/supabase-C7qjtLN3.js","assets/frame-lifecycle-D91nchvm.js","assets/HubApp-DdHHVOM0.css","assets/SupportPage-Cxx61WwR.css","assets/DesktopUpdatePanel-DuatXF9C.js","assets/VuvoDeskApp-ao5vkK6F.css"])))=>i.map(i=>d[i]);
2
+ import{_ as F}from"./preload-helper-DD1OZmLC.js";import{j as e,P as K,a as G}from"./pwa-startup-DvbrYEQi.js";import{r as x,$ as o,a0 as Y,a1 as E,b as X,a2 as O,o as y,M as V,a3 as N,a4 as v,a5 as j,a6 as M,a7 as g,W as J,a8 as Q,j as Z,D as h,a9 as I,aa as ee,ab as se,ac as S,S as A,ad as _,G as ne}from"./icons-CuXJn-Hz.js";import{a as ae}from"./client-8jUbxy3j.js";import{L as ie,M as R,F as re,p as i,P as te,a as oe,T as le,i as P}from"./MonitorStackIcon-JfWhLRS2.js";/* empty css */import{f as ce,s as de,r as he}from"./pwa-bootstrap-ljOQTt2e.js";import"./react-rvm9rmed.js";const T="npx -y --prefer-online livedesk@latest",pe="".trim().toLowerCase(),U=pe==="stable"?"stable":"dev",f=`https://livedesk-desktop-updates.lovecrdm.workers.dev/download/${U}`,ue=`${f}/windows/x64`,me=`${f}/macos/x64`,xe=`${f}/macos/arm64`,je=`${f}/linux/x64`,fe=`${f}/linux/x64/deb`,k="".trim().toLowerCase()==="true",d="".trim().toLowerCase()==="true",p="".trim().toLowerCase()==="true",w="".trim().toLowerCase()==="true",b=d||p||w;function ve(){if(typeof window>"u")return"home";const s=window.location.pathname.replace(/\/+$/,"")||"/";return s==="/"?"home":s==="/download"?"download":s==="/pricing"?"pricing":s==="/support"?"support":s==="/terms"?"terms":s==="/privacy"?"privacy":s==="/refunds"?"refunds":"not-found"}function W(){return e.jsxs("a",{className:"site-brand",href:"/","aria-label":"VuvoDesk home",children:[e.jsx("span",{className:"site-brand-mark",children:e.jsx(R,{size:25})}),e.jsx("span",{children:"VuvoDesk"})]})}function we({page:s}){const a=[{label:"Product",href:"/#product",active:s==="home"},{label:"Pricing",href:"/pricing",active:s==="pricing"},{label:"Download",href:"/download",active:s==="download"},{label:"Support",href:"/support",active:s==="support"}];return e.jsx("header",{className:"site-header",children:e.jsxs("div",{className:"site-header-inner",children:[e.jsx(W,{}),e.jsx("nav",{className:"site-nav","aria-label":"Main navigation",children:a.map(n=>e.jsx("a",{className:n.active?"active":"",href:n.href,children:n.label},n.label))}),e.jsxs("div",{className:"site-header-actions",children:[e.jsx("a",{className:"site-text-link",href:"/app",children:"Open web console"}),e.jsxs("a",{className:"site-button site-button-small",href:"/download",children:["Get VuvoDesk ",e.jsx(o,{size:15})]})]}),e.jsxs("details",{className:"site-mobile-menu",children:[e.jsx("summary",{"aria-label":"Open navigation",children:e.jsx(Y,{size:22})}),e.jsxs("nav",{"aria-label":"Mobile navigation",children:[a.map(n=>e.jsxs("a",{href:n.href,children:[n.label,e.jsx(E,{size:15})]},n.label)),e.jsxs("a",{href:"/app",children:["Open web console",e.jsx(E,{size:15})]})]})]})]})})}function ge(){return e.jsxs("footer",{className:"site-footer",children:[e.jsxs("div",{className:"site-footer-main",children:[e.jsxs("div",{children:[e.jsx(W,{}),e.jsx("p",{children:"One calm command center for every computer you manage."})]}),e.jsxs("div",{className:"site-footer-links",children:[e.jsxs("div",{children:[e.jsx("strong",{children:"Product"}),e.jsx("a",{href:"/#product",children:"Overview"}),e.jsx("a",{href:"/pricing",children:"Pricing"}),e.jsx("a",{href:"/download",children:"Download"})]}),e.jsxs("div",{children:[e.jsx("strong",{children:"Use VuvoDesk"}),e.jsx("a",{href:"/app",children:"Web console"}),e.jsx("a",{href:"/support",children:"Support"})]}),e.jsxs("div",{children:[e.jsx("strong",{children:"Platforms"}),e.jsx("span",{children:"Windows"}),e.jsx("span",{children:"macOS"}),e.jsx("span",{children:"Linux"}),e.jsx("span",{children:"Mobile PWA"})]}),e.jsxs("div",{children:[e.jsx("strong",{children:"Legal"}),e.jsx("a",{href:"/terms",children:"Terms"}),e.jsx("a",{href:"/privacy",children:"Privacy"}),e.jsx("a",{href:"/refunds",children:"Cancellation & refunds"})]})]})]}),e.jsxs("div",{className:"site-footer-bottom",children:[e.jsx("span",{children:"© 2026 VuvoDesk"}),e.jsx("span",{children:"Built for people who run real work across many screens."})]})]})}function be(){const s=[{name:"Studio-01",status:"Online",className:"screen-blue",cpu:"42%",ram:"61%"},{name:"Render-Mac",status:"Online",className:"screen-purple",cpu:"67%",ram:"74%"},{name:"Linux-Build",status:"Online",className:"screen-green",cpu:"29%",ram:"48%"},{name:"Office-PC",status:"Idle",className:"screen-orange",cpu:"18%",ram:"37%"}];return e.jsxs("div",{className:"product-mockup","aria-label":"VuvoDesk screen wall preview",children:[e.jsxs("div",{className:"mockup-window-bar",children:[e.jsxs("div",{children:[e.jsx("i",{}),e.jsx("i",{}),e.jsx("i",{})]}),e.jsx("span",{children:"VuvoDesk · Wall"}),e.jsxs("span",{className:"mockup-online",children:[e.jsx("i",{})," 4 online"]})]}),e.jsxs("div",{className:"mockup-body",children:[e.jsxs("aside",{className:"mockup-rail","aria-hidden":"true",children:[e.jsx("span",{className:"active",children:e.jsx(M,{size:17})}),e.jsx("span",{children:e.jsx(g,{size:17})}),e.jsx("span",{children:e.jsx(I,{size:17})}),e.jsx("span",{children:e.jsx(_,{size:17})})]}),e.jsx("div",{className:"mockup-wall",children:s.map(a=>e.jsxs("article",{className:"mockup-screen",children:[e.jsxs("div",{className:`mockup-screen-image ${a.className}`,children:[e.jsx("span",{className:"mockup-code-line wide"}),e.jsx("span",{className:"mockup-code-line"}),e.jsx("span",{className:"mockup-code-line short"}),e.jsx("span",{className:"mockup-panel-block"})]}),e.jsxs("div",{className:"mockup-screen-title",children:[e.jsx("strong",{children:a.name}),e.jsxs("span",{children:[e.jsx("i",{})," ",a.status]})]}),e.jsxs("div",{className:"mockup-metrics",children:[e.jsxs("span",{children:["CPU ",e.jsx("b",{children:a.cpu})]}),e.jsxs("span",{children:["RAM ",e.jsx("b",{children:a.ram})]})]})]},a.name))})]}),e.jsxs("div",{className:"mockup-control-card",children:[e.jsx(g,{size:18}),e.jsxs("span",{children:[e.jsx("small",{children:"Selected computer"}),e.jsx("strong",{children:"Render-Mac"})]}),e.jsx("button",{type:"button",children:"Control"})]})]})}function B({compact:s=!1}){const a=[{key:"free",name:i.free.name,price:i.free.price,suffix:"forever",audience:i.free.audience,description:"A practical personal wall, supported by a standard banner.",features:[`Up to ${re} devices`,"1 person","Standard banner"],action:"Start free",href:"/app",available:!0},{key:"plus",name:i.ltd.name,price:i.ltd.price,suffix:"/ month",audience:i.ltd.audience,description:"A clean personal command center for creators and homelabs.",features:[`Up to ${te} devices`,"1 person · no standard banner","Personal use"],ltd:i.ltd.ltd,action:p||d?"Choose Plus":"Paid checkout opening soon",href:p||d?"/app?view=pricing":"/support#billing",available:p||d},{key:"pro",name:i.pro.name,price:i.pro.price,suffix:"/ month",audience:i.pro.audience,description:"Monitoring for schools, academies, studios, offices, and growing commercial fleets.",features:[`Up to ${oe} devices`,"1 person","Ad-free school, academy, and commercial use"],ltd:i.pro.ltd,action:p||d?"Choose Business":"Paid checkout opening soon",href:p||d?"/app?view=pricing":"/support#billing",available:p||d},{key:"team",name:i.team.name,price:i.team.price,suffix:"/ month",audience:i.team.audience,description:"A shared Team Space for operators who manage the same computers together.",features:["Unlimited computers",`${le} people with their own accounts`,"Commercial use · Owner and Operator roles"],action:w?"Choose Team":"Paid checkout opening soon",href:w?"/app?view=pricing":"/support#billing",available:w}];return e.jsx("div",{className:`site-pricing-grid ${s?"compact":""}`,children:a.map(n=>e.jsxs("article",{className:`site-price-card ${n.key==="plus"?"featured":""} ${n.available?"":"pending"}`,children:[e.jsxs("div",{className:"site-price-heading",children:[e.jsx("span",{children:n.name}),n.key==="plus"&&e.jsx("em",{children:"Most popular"})]}),e.jsx("p",{className:"site-price-audience",children:n.audience}),e.jsxs("div",{className:"site-price",children:[e.jsx("strong",{children:n.price}),e.jsx("small",{children:n.suffix})]}),e.jsx("p",{children:n.description}),e.jsx("ul",{children:n.features.map(t=>e.jsxs("li",{children:[e.jsx(ne,{size:16})," ",t]},t))}),n.ltd&&e.jsxs("div",{className:"site-ltd",children:[e.jsxs("span",{children:[n.name," LTD"]}),e.jsx("strong",{children:n.ltd.replace(" LTD","")}),e.jsx("small",{children:d?"one-time · available now":"one-time · checkout opening soon"})]}),e.jsxs("a",{className:`site-price-action ${n.key==="plus"&&n.available?"primary":""} ${n.available?"":"pending"}`,href:n.href,children:[n.action,e.jsx(o,{size:15})]})]},n.key))})}function ye(){return e.jsx(e.Fragment,{children:e.jsxs("main",{children:[e.jsxs("section",{className:"site-hero",children:[e.jsxs("div",{className:"site-hero-copy",children:[e.jsxs("span",{className:"site-kicker",children:[e.jsx(X,{size:15})," The screen wall for real work"]}),e.jsxs("h1",{children:["Every computer.",e.jsx("br",{}),e.jsx("span",{children:"One calm command center."})]}),e.jsx("p",{children:"See every screen, focus the computer that needs you, and keep work moving from your desk or phone."}),e.jsxs("div",{className:"site-hero-actions",children:[e.jsxs("a",{className:"site-button",href:"/download",children:["Download VuvoDesk ",e.jsx(o,{size:17})]}),e.jsxs("a",{className:"site-button site-button-secondary",href:"/app",children:["Open web console ",e.jsx(O,{size:17})]})]}),e.jsxs("div",{className:"site-hero-notes",children:[e.jsxs("span",{children:[e.jsx(y,{size:15})," Free for 5 devices"]}),e.jsxs("span",{children:[e.jsx(y,{size:15})," No credit card"]}),e.jsxs("span",{children:[e.jsx(y,{size:15})," Windows · macOS · Linux"]})]})]}),e.jsxs("div",{className:"site-hero-visual",children:[e.jsx("div",{className:"site-orbit site-orbit-one"}),e.jsx("div",{className:"site-orbit site-orbit-two"}),e.jsx(be,{})]})]}),e.jsxs("section",{className:"platform-strip","aria-label":"Supported platforms",children:[e.jsx("span",{children:"Built for the computers you already run"}),e.jsxs("div",{children:[e.jsxs("strong",{children:[e.jsx(V,{size:18})," Windows"]}),e.jsxs("strong",{children:[e.jsx(N,{size:18})," macOS"]}),e.jsxs("strong",{children:[e.jsx(v,{size:18})," Linux"]}),e.jsxs("strong",{children:[e.jsx(j,{size:18})," iPhone & Android"]}),e.jsxs("strong",{children:[e.jsx(O,{size:18})," Any browser"]})]})]}),e.jsxs("section",{className:"site-section site-value-section",id:"product",children:[e.jsxs("div",{className:"site-section-heading",children:[e.jsx("span",{children:"Why VuvoDesk"}),e.jsxs("h2",{children:["Spend less time finding the problem.",e.jsx("br",{}),"Spend more time fixing it."]}),e.jsx("p",{children:"VuvoDesk keeps the fleet visible without turning your desktop into a pile of remote windows."})]}),e.jsxs("div",{className:"site-value-grid",children:[e.jsxs("article",{className:"site-value-card large blue",children:[e.jsx("span",{className:"site-feature-icon",children:e.jsx(M,{size:23})}),e.jsx("h3",{children:"A wall that stays readable"}),e.jsx("p",{children:"Move from a compact list to large live previews. Keep the signal you need and hide the noise you do not."}),e.jsxs("div",{className:"feature-wall-demo",children:[e.jsx("i",{}),e.jsx("i",{}),e.jsx("i",{}),e.jsx("i",{}),e.jsx("i",{}),e.jsx("i",{})]})]}),e.jsxs("article",{className:"site-value-card mint",children:[e.jsx("span",{className:"site-feature-icon",children:e.jsx(g,{size:23})}),e.jsx("h3",{children:"Control without losing context"}),e.jsx("p",{children:"Jump from Wall to focused Control, then return to the same fleet view."}),e.jsxs("div",{className:"feature-cursor-demo",children:[e.jsx(g,{size:31}),e.jsx("span",{children:"Direct control"})]})]}),e.jsxs("article",{className:"site-value-card violet",children:[e.jsx("span",{className:"site-feature-icon",children:e.jsx(J,{size:23})}),e.jsx("h3",{children:"Your fleet in your pocket"}),e.jsx("p",{children:"Install the PWA on iPhone or Android and check the room before you walk back to it."}),e.jsxs("div",{className:"feature-phone-demo",children:[e.jsx("span",{}),e.jsxs("div",{children:[e.jsx("i",{}),e.jsx("i",{}),e.jsx("i",{})]})]})]}),e.jsxs("article",{className:"site-value-card wide dark",children:[e.jsxs("div",{children:[e.jsxs("span",{className:"site-kicker dark",children:[e.jsx(Q,{size:14})," Local-first when possible"]}),e.jsx("h3",{children:"Fast where you work. Reachable when you leave."}),e.jsx("p",{children:"VuvoDesk prefers the shortest useful route and keeps the current screen moving instead of building a stale queue."})]}),e.jsxs("div",{className:"feature-route",children:[e.jsxs("span",{children:[e.jsx(N,{size:19})," Hub"]}),e.jsx("i",{}),e.jsxs("span",{children:[e.jsx(Z,{size:19})," Clients"]}),e.jsx("i",{}),e.jsxs("span",{children:[e.jsx(j,{size:19})," PWA"]})]})]})]})]}),e.jsxs("section",{className:"site-section site-workflow",children:[e.jsxs("div",{className:"site-section-heading centered",children:[e.jsx("span",{children:"Start in three steps"}),e.jsx("h2",{children:"From zero to a live wall in minutes."})]}),e.jsxs("div",{className:"workflow-grid",children:[e.jsxs("article",{children:[e.jsx("b",{children:"01"}),e.jsx("span",{children:e.jsx(h,{size:21})}),e.jsx("h3",{children:"Install the Hub"}),e.jsx("p",{children:"Choose the computer that will organize your VuvoDesk fleet."})]}),e.jsxs("article",{children:[e.jsx("b",{children:"02"}),e.jsx("span",{children:e.jsx(I,{size:21})}),e.jsx("h3",{children:"Connect Clients"}),e.jsx("p",{children:"Use one PIN to add the Windows, Mac, and Linux computers you manage."})]}),e.jsxs("article",{children:[e.jsx("b",{children:"03"}),e.jsx("span",{children:e.jsx(j,{size:21})}),e.jsx("h3",{children:"Manage from anywhere"}),e.jsx("p",{children:"Open the web console or install the mobile PWA and keep every screen close."})]})]})]}),e.jsxs("section",{className:"site-section site-pricing-section",children:[e.jsxs("div",{className:"site-section-heading centered",children:[e.jsx("span",{children:"Simple pricing"}),e.jsx("h2",{children:"Start free. Upgrade when the wall earns its place."}),e.jsx("p",{children:b?"Monthly prices stay easy to understand. Lifetime offers are available separately below each paid plan.":"Free is available now. Paid checkout stays closed until live billing and customer support are verified."})]}),e.jsx(B,{compact:!0}),e.jsxs("a",{className:"site-inline-link",href:"/pricing",children:["Compare every plan ",e.jsx(o,{size:15})]})]}),e.jsxs("section",{className:"site-final-cta",children:[e.jsxs("div",{children:[e.jsxs("span",{className:"site-kicker dark",children:[e.jsx(ee,{size:14})," Your fleet, one glance away"]}),e.jsxs("h2",{children:["Give every computer",e.jsx("br",{}),"one clear place to report."]})]}),e.jsxs("div",{children:[e.jsx("p",{children:"Start with five devices for free. Install the Hub, connect a Client, and open your first live wall."}),e.jsxs("div",{children:[e.jsxs("a",{className:"site-button light",href:"/download",children:["Get VuvoDesk ",e.jsx(o,{size:17})]}),e.jsx("a",{className:"site-button ghost",href:"/app",children:"Open console"})]})]})]})]})})}function ke(){const[s,a]=x.useState(!1),n=async()=>{try{await navigator.clipboard.writeText(T),a(!0),window.setTimeout(()=>a(!1),1800)}catch{a(!1)}};return e.jsxs("main",{className:"site-subpage",children:[e.jsxs("section",{className:"site-subpage-hero download-hero",children:[e.jsxs("span",{className:"site-kicker",children:[e.jsx(h,{size:15})," Download VuvoDesk"]}),e.jsxs("h1",{children:["Turn one computer into",e.jsx("br",{}),e.jsx("span",{children:"your command center."})]}),e.jsxs("p",{children:["Use the latest temporary installer for your computer. Available links follow the newest matching file on the ",U," channel; an unavailable platform is never linked to a missing file."]})]}),e.jsxs("section",{className:"download-grid",children:[e.jsxs("article",{id:"windows",children:[e.jsx("span",{className:"download-platform-icon windows",children:e.jsx(V,{size:27})}),e.jsxs("div",{children:[e.jsx("small",{children:"Windows"}),e.jsx("span",{className:"download-version",children:"Latest temporary build · x64 Electron"}),e.jsx("span",{className:"download-preview-note",children:"Temporary installer · unsigned"}),e.jsx("h2",{children:"Install VuvoDesk for Windows"}),e.jsx("p",{children:"Download the normal Electron setup program. Windows SmartScreen may warn about this preview until code signing is ready."})]}),e.jsxs("a",{className:"download-installer-link",href:ue,children:["Download Windows installer ",e.jsx(h,{size:16})]})]}),e.jsxs("article",{id:"macos",children:[e.jsx("span",{className:"download-platform-icon mac",children:e.jsx(N,{size:27})}),e.jsxs("div",{children:[e.jsx("small",{children:"macOS"}),e.jsx("span",{className:"download-version",children:"Intel & Apple silicon"}),e.jsx("span",{className:"download-preview-note",children:k?"Temporary installer · ad-hoc signed · not notarized":"Desktop installer not published yet"}),e.jsx("h2",{children:"Install VuvoDesk for macOS"}),e.jsx("p",{children:k?"Choose the chip in your Mac. On first launch, macOS may require Open Anyway in Privacy & Security because this preview is not Apple-notarized.":"Use the terminal install below while signed and notarized desktop packages are being prepared."})]}),k?e.jsxs("div",{className:"download-actions",children:[e.jsxs("a",{className:"download-installer-link",href:xe,children:["Apple silicon ",e.jsx(h,{size:16})]}),e.jsxs("a",{className:"download-installer-link secondary",href:me,children:["Intel Mac ",e.jsx(h,{size:16})]})]}):e.jsx("div",{className:"download-actions",children:e.jsxs("a",{className:"download-installer-link secondary",href:"#install-command",children:["Use terminal install ",e.jsx(v,{size:16})]})})]}),e.jsxs("article",{id:"linux",children:[e.jsx("span",{className:"download-platform-icon linux",children:e.jsx(v,{size:27})}),e.jsxs("div",{children:[e.jsx("small",{children:"Linux"}),e.jsx("span",{className:"download-version",children:"Latest temporary build · x64 · X11"}),e.jsx("span",{className:"download-preview-note",children:"Temporary installer"}),e.jsx("h2",{children:"Install VuvoDesk for Linux"}),e.jsx("p",{children:"Use the DEB package on Ubuntu, Debian, or Mint. For other distributions, download AppImage, mark it executable, then open it."})]}),e.jsxs("div",{className:"download-actions",children:[e.jsxs("a",{className:"download-installer-link",href:fe,children:["Download .deb ",e.jsx(h,{size:16})]}),e.jsxs("a",{className:"download-installer-link secondary",href:je,children:["Download AppImage ",e.jsx(h,{size:16})]})]})]})]}),e.jsxs("section",{className:"install-command-card",id:"install-command",children:[e.jsxs("div",{children:[e.jsxs("span",{children:[e.jsx(v,{size:18})," One command install"]}),e.jsx("h2",{children:"Terminal fallback and advanced setup"}),e.jsx("p",{children:"Use the npm package when you prefer a command-line install or the temporary desktop package does not suit your system."})]}),e.jsxs("div",{className:"install-command",children:[e.jsx("code",{children:T}),e.jsxs("button",{type:"button",onClick:()=>{n()},children:[e.jsx(se,{size:17})," ",s?"Copied":"Copy"]})]}),e.jsxs("ol",{children:[e.jsxs("li",{children:[e.jsx("b",{children:"1"}),e.jsx("span",{children:"Run the command on the computer that will be your Hub."})]}),e.jsxs("li",{children:[e.jsx("b",{children:"2"}),e.jsx("span",{children:"Open Settings and create a Hub PIN."})]}),e.jsxs("li",{children:[e.jsx("b",{children:"3"}),e.jsx("span",{children:"Run the same package as a Client on the other computers."})]})]})]}),e.jsxs("section",{className:"mobile-install-section",id:"mobile",children:[e.jsxs("div",{className:"mobile-install-heading",children:[e.jsx("span",{children:e.jsx(j,{size:26})}),e.jsxs("div",{children:[e.jsxs("small",{children:["iPhone & Android · PWA ",ie]}),e.jsx("h2",{children:"No app store required."}),e.jsx("p",{children:"Open the public web address, sign in, then install VuvoDesk on the Home Screen. The PWA always starts directly in the console."})]})]}),e.jsxs("div",{className:"mobile-web-address",children:[e.jsx("span",{children:"Mobile web address"}),e.jsx("a",{href:"https://vuvodesk.com/app",children:"https://vuvodesk.com/app"}),e.jsxs("a",{className:"site-button",href:"/app",children:["Open mobile console ",e.jsx(o,{size:16})]})]}),e.jsxs("div",{className:"pwa-guide-grid",children:[e.jsxs("article",{children:[e.jsx("strong",{children:"iPhone & iPad"}),e.jsxs("ol",{children:[e.jsx("li",{children:"Open the address in Safari."}),e.jsx("li",{children:"Tap Share, then Add to Home Screen."}),e.jsx("li",{children:"Choose Open as Web App and add VuvoDesk."})]})]}),e.jsxs("article",{children:[e.jsx("strong",{children:"Android"}),e.jsxs("ol",{children:[e.jsx("li",{children:"Open the address in Chrome."}),e.jsx("li",{children:"Open the browser menu and tap Install app."}),e.jsx("li",{children:"Launch VuvoDesk from the Home Screen."})]})]})]})]})]})}function Ne(){return e.jsxs("main",{className:"site-subpage pricing-subpage",children:[e.jsxs("section",{className:"site-subpage-hero",children:[e.jsxs("span",{className:"site-kicker",children:[e.jsx(S,{size:15})," VuvoDesk pricing"]}),e.jsxs("h1",{children:["Clear plans for",e.jsx("br",{}),e.jsx("span",{children:"growing screen walls."})]}),e.jsxs("p",{children:["Start with one account, choose Pro / Business for a school, academy, or commercial workplace, or give each operator a separate login with Team. ",!b&&"Paid checkout is not open yet."]})]}),e.jsx(B,{}),e.jsxs("section",{className:"pricing-explainer",children:[e.jsxs("article",{children:[e.jsx(A,{size:21}),e.jsxs("div",{children:[e.jsx("h3",{children:"Free stays useful"}),e.jsx("p",{children:"The standard banner helps keep a five-device personal wall available without a subscription."})]})]}),e.jsxs("article",{children:[e.jsx(S,{size:21}),e.jsxs("div",{children:[e.jsx("h3",{children:"Monthly and lifetime are separate"}),e.jsx("p",{children:"$5 Plus, $15 Pro / Business, and $49 Team are monthly prices. Existing Plus LTD $79 and Pro LTD $199 remain one-time offers."})]})]}),e.jsxs("article",{children:[e.jsx(_,{size:21}),e.jsxs("div",{children:[e.jsx("h3",{children:"Upgrade inside VuvoDesk"}),e.jsx("p",{children:"Sign in to the console, open Pricing, and choose the plan that matches the way you use the fleet."})]})]})]}),e.jsxs("section",{className:"pricing-bottom-cta",children:[e.jsxs("div",{children:[e.jsx("h2",{children:"Start with the computers you have today."}),e.jsx("p",{children:"No credit card is needed for Free."})]}),e.jsxs("a",{className:"site-button",href:"/app",children:["Start free ",e.jsx(o,{size:16})]})]})]})}function Se(){return e.jsxs("main",{className:"site-subpage policy-subpage",children:[e.jsxs("section",{className:"site-subpage-hero",children:[e.jsxs("span",{className:"site-kicker",children:[e.jsx(A,{size:15})," VuvoDesk support"]}),e.jsxs("h1",{children:["Start with the shortest",e.jsx("br",{}),e.jsx("span",{children:"path back to work."})]}),e.jsx("p",{children:"Installation help is public. Account-specific diagnostics and billing requests stay inside your signed-in Support board so they are tied to the correct account."})]}),e.jsxs("section",{className:"support-option-grid",children:[e.jsxs("article",{children:[e.jsx(h,{size:23}),e.jsx("h2",{children:"Install or update"}),e.jsx("p",{children:"Use the current Windows or Linux preview package, or the terminal command for every supported desktop."}),e.jsxs("a",{href:"/download",children:["Open download help ",e.jsx(o,{size:15})]})]}),e.jsxs("article",{children:[e.jsx(j,{size:23}),e.jsx("h2",{children:"Connection trouble"}),e.jsx("p",{children:"Sign in, open the Support board, and include the affected computer name, operating system, VuvoDesk version, and the exact message you saw."}),e.jsxs("a",{href:"/support/issues",children:["Open signed-in Support ",e.jsx(o,{size:15})]})]}),e.jsxs("article",{id:"billing",children:[e.jsx(S,{size:23}),e.jsx("h2",{children:"Account or billing"}),e.jsx("p",{children:b?"Use the signed-in Support board for cancellation, refund, duplicate-payment, or access requests.":"Paid checkout is currently closed. No paid entitlement should be granted until verified checkout becomes available."}),e.jsxs("a",{href:"/support/questions",children:["Open account Support ",e.jsx(o,{size:15})]})]})]}),e.jsxs("section",{className:"support-checklist",children:[e.jsx("h2",{children:"Before sending a report"}),e.jsxs("ol",{children:[e.jsx("li",{children:"Confirm the Hub and Client show the same VuvoDesk release."}),e.jsx("li",{children:"Write down whether the problem affects Wall, Control, clipboard, or sign-in."}),e.jsx("li",{children:"Never post a Hub PIN, pairing token, access token, or payment credential."})]})]})]})}function Pe(){return e.jsxs(C,{title:"Terms of Service",summary:"The practical rules for using the VuvoDesk preview.",updated:"August 30, 2026",children:[e.jsx("h2",{children:"1. Authorized use"}),e.jsx("p",{children:"Use VuvoDesk only on computers and networks you own or are explicitly allowed to manage. You are responsible for every remote-control action performed through your account, Hub, Team Space, or pairing credential."}),e.jsx("h2",{children:"2. Accounts and Team Spaces"}),e.jsx("p",{children:"Keep sign-in and pairing credentials private. Team members use separate accounts. A Team Owner is responsible for invitations, roles, removals, and the computers shared with the Team Space."}),e.jsx("h2",{children:"3. Plans and payment"}),e.jsxs("p",{children:["Free, Plus, Pro / Business, and Team features are limited by the plan shown in the product. A displayed price is not a promise that checkout is open. Paid access starts only after a verified payment event grants the entitlement. Cancellation and refund handling follows the ",e.jsx("a",{href:"/refunds",children:"Cancellation & Refund Policy"}),"."]}),e.jsx("h2",{children:"4. Codex Agent features"}),e.jsx("p",{children:"Codex Agent features require a separately installed and signed-in Codex environment and a separate OpenAI account. OpenAI terms apply to that account and service. VuvoDesk does not sell Codex access and is not an OpenAI product."}),e.jsx("h2",{children:"5. Preview software"}),e.jsx("p",{children:"Unsigned or non-notarized installers are clearly labeled preview builds. Do not use preview software for safety-critical systems or where a temporary loss of screen, input, or connectivity could cause harm. Keep local access and backups available."}),e.jsx("h2",{children:"6. Acceptable behavior"}),e.jsx("p",{children:"Do not use VuvoDesk to access another person's device without permission, evade security controls, distribute malware, interfere with the service, or violate law or third-party rights."}),e.jsx("h2",{children:"7. Changes and termination"}),e.jsx("p",{children:"We may suspend access that creates security, abuse, or payment risk. Material policy changes will be dated on this page. Mandatory consumer rights in your country are not excluded."}),e.jsx("h2",{children:"8. Support"}),e.jsxs("p",{children:["Use the ",e.jsx("a",{href:"/support",children:"Support page"})," for product and account requests. Do not include passwords, tokens, or payment credentials."]})]})}function De(){return e.jsxs(C,{title:"Privacy Notice",summary:"What VuvoDesk handles, where it goes, and what is kept local.",updated:"August 30, 2026",children:[e.jsx("h2",{children:"1. Account and product data"}),e.jsx("p",{children:"VuvoDesk processes sign-in identity, device and workspace identifiers, roles, plan entitlements, connection status, version information, and Support content needed to operate the service."}),e.jsx("h2",{children:"2. Screen and input traffic"}),e.jsx("p",{children:"VuvoDesk is designed to send live screen, audio, clipboard, and remote-input traffic directly between your Hub, Clients, and browser when the connection succeeds. The Cloudflare signaling service exchanges authenticated connection metadata and does not intentionally store or forward the screen-media payload. Local diagnostic logs may record status and error details, not passwords or payment credentials."}),e.jsx("h2",{children:"3. Service providers"}),e.jsx("p",{children:"Google and Supabase provide sign-in and account storage. Cloudflare provides the public site, update delivery, and authenticated connection signaling. Dodo Payments is used only when paid checkout is enabled. Optional Codex Agent actions use the separately signed-in OpenAI service selected by the user."}),e.jsx("h2",{children:"4. Retention and control"}),e.jsxs("p",{children:["Account, workspace, entitlement, and Support records are retained while needed to provide the service, resolve disputes, prevent abuse, or meet legal duties. Request account access, correction, export, or deletion through the signed-in ",e.jsx("a",{href:"/support/questions",children:"Support board"}),". Some records may be retained where law or fraud prevention requires it."]}),e.jsx("h2",{children:"5. Security and transfers"}),e.jsx("p",{children:"Internet services may process data in more than one country. We use authenticated sessions, restricted service credentials, and encrypted network transport where supported, but no system can promise absolute security."}),e.jsx("h2",{children:"6. Policy changes"}),e.jsx("p",{children:"Material changes will update the date on this page. Review this notice before enabling new remote-control, clipboard, Team, payment, or Agent features."})]})}function Ae(){return e.jsxs(C,{title:"Cancellation & Refund Policy",summary:"A plain-language policy before any paid checkout is opened.",updated:"August 30, 2026",children:[e.jsx("h2",{children:"1. Current checkout status"}),e.jsx("p",{children:b?"Paid checkout is available only for the plans whose buttons are active.":"Paid checkout is currently closed. Preview access does not create a paid subscription or lifetime entitlement."}),e.jsx("h2",{children:"2. Subscriptions"}),e.jsx("p",{children:"You may request cancellation at any time. Cancellation stops the next renewal and normally keeps access through the already-paid billing period. A cancellation request must be submitted before the renewal is charged."}),e.jsx("h2",{children:"3. Initial purchase refunds"}),e.jsx("p",{children:"For an initial paid purchase, request a refund within 14 calendar days of payment. Duplicate or unauthorized charges and a material service failure will be reviewed even after that period. Mandatory local refund rights always apply."}),e.jsx("h2",{children:"4. Lifetime purchases"}),e.jsx("p",{children:"A lifetime purchase covers the product entitlement described at checkout, not third-party services, future paid add-ons, or a promise that every preview feature will remain unchanged. The same 14-day initial-purchase request window applies."}),e.jsx("h2",{children:"5. How to request"}),e.jsxs("p",{children:["Open the signed-in ",e.jsx("a",{href:"/support/questions",children:"Support board"})," and provide the account email, plan, purchase date, and reason. Never include full card details, passwords, API keys, or access tokens. Access may be removed after a full refund or successful payment dispute."]})]})}function C({title:s,summary:a,updated:n,children:t}){return e.jsxs("main",{className:"site-subpage policy-subpage",children:[e.jsxs("section",{className:"site-subpage-hero policy-hero",children:[e.jsxs("span",{className:"site-kicker",children:[e.jsx(A,{size:15})," VuvoDesk policy"]}),e.jsx("h1",{children:s}),e.jsx("p",{children:a}),e.jsxs("small",{children:["Last updated: ",n]})]}),e.jsx("article",{className:"policy-document",children:t})]})}function Ce(){return e.jsxs("main",{className:"site-not-found",children:[e.jsx("span",{className:"site-brand-mark",children:e.jsx(R,{size:25})}),e.jsx("small",{children:"404"}),e.jsx("h1",{children:"This screen is not on the wall."}),e.jsx("p",{children:"The page may have moved, but your VuvoDesk console is still here."}),e.jsxs("div",{children:[e.jsx("a",{className:"site-button",href:"/",children:"VuvoDesk home"}),e.jsx("a",{className:"site-button site-button-secondary",href:"/app",children:"Open console"})]})]})}function Le(){const s=ve();return x.useEffect(()=>{const a={home:"VuvoDesk — Every computer. One calm command center.",download:"Download VuvoDesk — Windows, macOS, and Linux",pricing:"VuvoDesk Pricing — Free, Plus, Pro / Business, and Team",support:"VuvoDesk Support",terms:"VuvoDesk Terms of Service",privacy:"VuvoDesk Privacy Notice",refunds:"VuvoDesk Cancellation & Refund Policy","not-found":"Page not found — VuvoDesk"},n={home:"See and control the computers you manage from one clear VuvoDesk screen wall.",download:"Download the currently available VuvoDesk desktop preview or install it with one npm command.",pricing:"Compare VuvoDesk Free, Plus, Pro / Business, and Team plan boundaries.",support:"Get public VuvoDesk installation help or open the signed-in Support board.",terms:"Read the VuvoDesk terms for authorized remote-control use, plans, preview software, and Codex Agent features.",privacy:"Learn how VuvoDesk handles account, device, support, signaling, and direct screen traffic data.",refunds:"Read the VuvoDesk cancellation and refund policy before paid checkout opens.","not-found":"The requested VuvoDesk page was not found."};document.title=a[s];const m=`https://vuvodesk.com${s==="not-found"?"/":window.location.pathname.replace(/\/+$/,"")||"/"}`;let r=document.querySelector('link[rel="canonical"]');r||(r=document.createElement("link"),r.rel="canonical",document.head.append(r)),r.href=m;const c=document.querySelector('meta[name="description"]');c&&(c.content=n[s]);let l=document.querySelector('meta[property="og:url"]');return l||(l=document.createElement("meta"),l.setAttribute("property","og:url"),document.head.append(l)),l.content=m,document.documentElement.classList.add("livedesk-marketing-active"),()=>document.documentElement.classList.remove("livedesk-marketing-active")},[s]),e.jsxs("div",{className:"marketing-site",children:[e.jsx(we,{page:s}),s==="home"?e.jsx(ye,{}):s==="download"?e.jsx(ke,{}):s==="pricing"?e.jsx(Ne,{}):s==="support"?e.jsx(Se,{}):s==="terms"?e.jsx(Pe,{}):s==="privacy"?e.jsx(De,{}):s==="refunds"?e.jsx(Ae,{}):e.jsx(Ce,{}),e.jsx(ge,{})]})}function ze(s){return!!s.navigatorStandalone||!!s.displayModeStandalone||!!s.displayModeFullscreen}function Ee({publicOrigin:s,electron:a,pathname:n,search:t="",navigatorStandalone:m=!1,displayModeStandalone:r=!1,displayModeFullscreen:c=!1,marketingPreview:l=!1}){if(a||!s&&!l)return{kind:"app",redirectPath:""};const L=new URLSearchParams(t),$=L.has("pwa")||ze({navigatorStandalone:m,displayModeStandalone:r,displayModeFullscreen:c}),z=n==="/app"||n.startsWith("/app/"),q=n.startsWith("/support/"),H=L.has("checkout");return $||H?{kind:"app",redirectPath:z?"":"/app"}:z||q?{kind:"app",redirectPath:""}:{kind:"site",redirectPath:""}}function Oe({automaticRetry:s}){const[a,n]=x.useState(null),[t,m]=x.useState("");return x.useEffect(()=>{let r=!0;return F(()=>import("./VuvoDeskApp-DsIm_aTa.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13])).then(c=>{r&&n(()=>c.VuvoDeskApp)}).catch(c=>{if(!r)return;console.warn("[VuvoDesk] app startup load failed.",c);const l=window.navigator.onLine?"The latest app file could not be loaded.":"Reconnect to the internet, then try again.";m(l),he("load-error",s)}),()=>{r=!1}},[s]),a?e.jsx(a,{}):t?e.jsx(G,{detail:t,automaticRetry:s}):e.jsx("main",{className:"runtime-role-boot","aria-label":"Starting VuvoDesk","aria-busy":"true",children:e.jsx("span",{className:"runtime-role-boot-mark","aria-hidden":"true"})})}window.liveDesk&&document.documentElement.classList.add("livedesk-electron-desktop");const u=new URL(window.location.href),Te=!!window.navigator.standalone,D=Ee({publicOrigin:P(),electron:!!window.liveDesk,pathname:u.pathname,search:u.search,navigatorStandalone:Te,displayModeStandalone:window.matchMedia("(display-mode: standalone)").matches,displayModeFullscreen:window.matchMedia("(display-mode: fullscreen)").matches,marketingPreview:u.searchParams.get("site")==="1"});D.redirectPath&&(u.pathname=D.redirectPath,window.history.replaceState({},"",`${u.pathname}${u.search}${u.hash}`));ae.createRoot(document.getElementById("root")).render(e.jsx(x.StrictMode,{children:D.kind==="site"?e.jsx(Le,{}):e.jsx(K,{automaticRetry:P(),children:e.jsx(Oe,{automaticRetry:P()})})}));ce();de();
@@ -0,0 +1 @@
1
+ :root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0b0c0e;color:#f7f7f4;letter-spacing:0;font-synthesis:none;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased}.settings-page{width:min(1120px,calc(100vw - 150px));min-height:calc(100vh - 118px);margin:0 auto;display:grid;align-content:start;gap:18px;color:#0f172a}.settings-page-tabs{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));width:100%;padding:4px;border:1px solid #cbd5e1;border-radius:8px;background:#f1f5f9}.settings-page-tabs button{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:38px;border:0;border-radius:6px;background:transparent;color:#64748b;font-size:12px;font-weight:800;white-space:nowrap}.settings-page-tabs button.active{background:#0f172a;color:#fff;box-shadow:0 6px 14px #0f172a26}.settings-page-tabs button:focus-visible,.settings-page-panel:focus-visible{outline:3px solid rgba(14,165,233,.28);outline-offset:2px}.settings-page-panel{width:100%;min-width:0}.settings-tab-content{width:100%;display:grid;gap:16px}.product-settings-hero,.security-status-card{display:none}.settings-section-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.settings-section-card{width:100%;min-width:0;display:grid;gap:14px;padding:20px;border:1px solid #d7e0ea;border-radius:8px;background:#fff;box-shadow:0 12px 28px #0f172a0f}.settings-section-heading{display:flex;justify-content:space-between;gap:14px;align-items:start}.settings-section-heading>svg{flex:0 0 auto;color:#0d9488}.settings-section-heading span{display:block;margin-bottom:5px;color:#64748b;font-size:10px;font-weight:850;letter-spacing:.06em;text-transform:uppercase}.settings-section-heading h3{margin:0;color:#0f172a;font-size:18px;line-height:1.15;font-weight:850}.product-setting-row{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:4px 0}.product-setting-control{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.product-switch{display:inline-flex;align-items:center;justify-content:center;margin:0;line-height:1}.product-switch input{width:14px;height:14px;margin:0;accent-color:#0f172a}.product-switch>span{display:none}.product-setting-icon{display:inline-flex;align-items:center;justify-content:center;width:17px;height:20px;flex:0 0 17px;color:#334155}.product-setting-copy{display:flex;align-items:baseline;min-width:0;overflow:hidden;color:#0f172a;line-height:1.35;white-space:nowrap}.product-setting-copy strong{flex:0 0 auto;font-size:14px;font-weight:800}.product-setting-copy em{flex:0 0 auto;margin-left:6px;color:#0369a1;font-size:12px;font-style:normal;font-weight:700}.product-setting-copy small{min-width:0;margin-left:14px;overflow:hidden;color:#475569;font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.product-setting-row.disabled .product-setting-copy,.product-setting-row.disabled .product-setting-icon{opacity:.48}.desktop-update-card,.desktop-auto-start-card{max-width:none}.desktop-update-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;color:#475569;font-size:12px}.desktop-update-meta strong{color:#0f172a}.desktop-update-action{width:fit-content;display:inline-flex;align-items:center;gap:7px}.desktop-auto-start-setting{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 16px;align-items:center;padding:12px;border:1px solid #dbeafe;border-radius:7px;background:#f8fbff}.desktop-auto-start-copy{display:flex;gap:10px;align-items:center;min-width:0;color:#2563eb}.desktop-auto-start-copy span{display:grid;gap:3px;min-width:0}.desktop-auto-start-copy strong{color:#0f172a;font-size:12px}.desktop-auto-start-copy small{color:#64748b;font-size:11px}.desktop-auto-start-toggle{min-height:34px;padding:7px 9px}.desktop-auto-start-error{grid-column:1 / -1;margin:0;color:#b91c1c;font-size:11px;font-weight:700}.desktop-update-spin{animation:desktop-update-spin .9s linear infinite}@keyframes desktop-update-spin{to{transform:rotate(360deg)}}.settings-pin-display{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;align-items:center;padding:14px;border:1px solid #bae6fd;border-radius:7px;background:#f0f9ff}.settings-pin-display span{color:#0369a1;font-size:10px;font-weight:850;text-transform:uppercase}.settings-pin-display strong{grid-column:1;color:#0f172a;font-size:30px;line-height:1;letter-spacing:.18em}.settings-pin-display button{grid-column:2;grid-row:1 / span 2}.settings-command-list{display:grid;gap:8px}.settings-command-row{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:8px;align-items:center}.settings-command-row>span{color:#64748b;font-size:11px;font-weight:800}.settings-command-row code{min-width:0;overflow:hidden;padding:9px 10px;border:1px solid #dbe3ec;border-radius:6px;background:#f8fafc;color:#334155;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.settings-status-dot{width:10px;height:10px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 5px #94a3b821}.settings-status-dot.state-ready,.settings-status-dot.state-online{background:#14b8a6;box-shadow:0 0 0 5px #14b8a621}.settings-facts{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px 14px;margin:0;font-size:12px}.settings-facts dt{color:#64748b;font-weight:750}.settings-facts dd{min-width:0;margin:0;overflow-wrap:anywhere;color:#0f172a;font-weight:800;text-align:right}.settings-action-row{display:flex;flex-wrap:wrap;gap:8px}.settings-field,.settings-toggle{display:grid;gap:7px}.settings-field>span{color:#475569;font-size:11px;font-weight:800}.settings-field select,.settings-field input{width:100%;min-height:40px;padding:0 11px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a;font:inherit;font-size:12px;font-weight:700}.settings-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-toggle{grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center;min-height:40px;padding:10px 11px;border:1px solid #e2e8f0;border-radius:6px;color:#334155;font-size:12px;font-weight:750}.settings-toggle input{width:17px;height:17px;accent-color:#0d9488}.settings-summary{display:flex;justify-content:space-between;gap:12px;padding:12px;border:1px solid #99f6e4;border-radius:6px;background:#f0fdfa;color:#0f766e;font-size:11px;font-weight:800}.settings-summary strong{color:#0f172a}.settings-reset{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:38px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#475569;font-size:12px;font-weight:800}.settings-reset:hover{background:#f8fafc;color:#0f172a}.settings-help{margin:-6px 0 0;color:#64748b;font-size:11px;line-height:1.4;font-weight:600}.agent-settings-content{gap:18px}.agent-enable-card{padding-block:14px}.agent-enable-toggle{justify-self:start}.agent-settings-alert{display:flex;align-items:center;min-height:40px;padding:10px 12px;border:1px solid;border-radius:6px;font-size:12px;font-weight:750}.agent-settings-alert.error{border-color:#fecaca;background:#fef2f2;color:#b91c1c}.agent-settings-alert.success{border-color:#a7f3d0;background:#ecfdf5;color:#047857}.agent-connection-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;color:#475569;font-size:11px;font-weight:750}.agent-connection-dot{width:9px;height:9px;border-radius:50%;background:#94a3b8;box-shadow:0 0 0 4px #94a3b824}.agent-connection-dot.connected{background:#10b981;box-shadow:0 0 0 4px #10b98124}.agent-connection-dot.unavailable{background:#ef4444;box-shadow:0 0 0 4px #ef444424}.agent-safety-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;min-height:36px;padding:8px 10px;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;font-size:11px;font-weight:700}.agent-safety-row svg{color:#dc2626}.agent-safety-row strong{color:#b91c1c;font-size:10px;text-transform:uppercase}.agent-safety-row strong.agent-safety-configured{color:#b45309}.agent-safety-row strong.agent-safety-verified{color:#15803d}.agent-settings-actions{justify-content:flex-end}@media(max-width:760px){.settings-page-tabs{width:100%;grid-template-columns:repeat(4,minmax(0,1fr));overflow-x:auto}.agent-enable-toggle{width:100%}.agent-connection-row{grid-template-columns:auto minmax(0,1fr)}.agent-connection-row button{grid-column:1 / -1}}.app-shell .pricing-page{width:min(1180px,calc(100vw - 150px));min-height:calc(100vh - 118px);margin:0 auto;display:grid;align-content:start;gap:18px;color:#0f172a}.pricing-header{position:relative;display:flex;justify-content:space-between;gap:24px;align-items:start;padding:12px 0 4px}.pricing-header h2{margin:12px 0 8px;color:#0f172a;font-size:clamp(28px,4vw,44px);line-height:1.02;font-weight:850}.pricing-header p{max-width:650px;margin:0;color:#64748b;font-size:15px;line-height:1.5;font-weight:650}.pricing-page .pricing-eyebrow{color:#0f766e;letter-spacing:.07em}.pricing-page .pricing-close{position:static;flex:0 0 auto;border-color:#cbd5e1;background:#fff;color:#475569;box-shadow:0 8px 20px #0f172a14}.pricing-page .pricing-close:hover{background:#f8fafc;color:#0f172a}.pricing-status{display:flex;align-items:center;gap:9px;width:fit-content;padding:8px 12px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#64748b;font-size:12px;font-weight:750;box-shadow:0 8px 18px #0f172a0d}.pricing-status strong{color:#0f172a;font-weight:850}.pricing-status small{padding-left:9px;border-left:1px solid #e2e8f0;color:#64748b;font-size:11px}.pricing-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}.pricing-plan-card{min-width:0;display:flex;flex-direction:column;gap:11px;padding:22px;border:1px solid #d7e0ea;border-radius:8px;background:#fff;box-shadow:0 14px 30px #0f172a12}.pricing-plan-card.featured{border-color:#27b9a9;box-shadow:0 18px 34px #0d948821}.pricing-plan-card.pro{border-color:#b8c4f2}.pricing-plan-card.team{border-color:#d8c9f3}.pricing-plan-card.current{box-shadow:0 0 0 2px #14b8a629,0 16px 32px #0f172a14}.pricing-plan-topline{display:flex;justify-content:space-between;gap:12px;align-items:center}.pricing-plan-topline>strong{color:#0f172a;font-size:38px;line-height:.95;font-weight:850}.pricing-plan-price{display:inline-flex;align-items:baseline;justify-content:flex-end;gap:5px;color:#0f172a;white-space:nowrap}.pricing-plan-price>strong{font-size:38px;line-height:.95;font-weight:850}.pricing-plan-price>small{color:#64748b;font-size:11px;font-weight:750}.pricing-plan-badge{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:5px 9px;border:1px solid #bae6fd;border-radius:999px;color:#0369a1;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.pricing-plan-badge.free{border-color:#bbf7d0;color:#15803d}.pricing-plan-badge.plus{border-color:#99f6e4;color:#0f766e}.pricing-plan-badge.pro{border-color:#c7d2fe;color:#4338ca}.pricing-plan-badge.team{border-color:#ddd0f7;color:#6d28d9}.pricing-plan-audience{margin:2px 0 0;color:#64748b;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.pricing-plan-card h3{margin:0;color:#0f172a;font-size:20px;line-height:1.15;font-weight:850}.pricing-plan-card>p:not(.pricing-plan-audience){min-height:42px;margin:0;color:#64748b;font-size:13px;line-height:1.45;font-weight:600}.pricing-plan-card ul{display:grid;gap:9px;margin:3px 0 8px;padding:0;list-style:none}.pricing-plan-card li{display:flex;gap:8px;align-items:start;color:#334155;font-size:13px;line-height:1.35;font-weight:700}.pricing-plan-card li svg{flex:0 0 auto;margin-top:1px;color:#0d9488}.pricing-plan-card.pro li svg{color:#4f46e5}.pricing-plan-card.team li svg{color:#7c3aed}.pricing-team-readiness{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 12px;margin-top:auto;padding:11px 12px;border:1px solid #ddd0f7;border-radius:8px;background:#faf7ff}.pricing-team-readiness span,.pricing-team-readiness small{color:#6b5a7f;font-size:10px;font-weight:700}.pricing-team-readiness strong{color:#5b21b6;font-size:12px}.pricing-team-readiness small{grid-column:1 / -1}.pricing-ltd-offer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 12px;margin-top:auto;padding:11px 12px;border:1px solid #99f6e4;border-radius:7px;background:#f0fdfa}.pricing-ltd-offer>span{color:#0f766e;font-size:12px;font-weight:850;letter-spacing:.03em;text-transform:uppercase}.pricing-ltd-offer>strong{grid-row:span 2;color:#0f172a;font-size:18px;font-weight:900}.pricing-ltd-offer>small{color:#64748b;font-size:10px;font-weight:700}.pricing-ltd-offer.pro{border-color:#c7d2fe;background:#eef2ff}.pricing-ltd-offer.pro>span{color:#4338ca}.pricing-current-label{display:grid;place-items:center;min-height:42px;margin-top:auto;border:1px solid #dbe3ec;border-radius:7px;color:#64748b;font-size:12px;font-weight:800}.pricing-plan-button,.pricing-primary-cta{display:inline-flex;justify-content:center;align-items:center;gap:8px;border:0;border-radius:7px;font-weight:850}.pricing-plan-actions{display:grid;gap:8px}.pricing-plan-button{min-height:42px;margin-top:0;background:#0f766e;color:#fff;font-size:13px}.pricing-plan-button.secondary{color:#0f172a;border:1px solid #cbd5e1;background:#f8fafc}.pricing-plan-card.pro .pricing-plan-button{background:#1e293b}.pricing-plan-card.pro .pricing-plan-button.secondary{color:#1e293b;border-color:#c7d2fe;background:#eef2ff}.pricing-plan-button:hover:not(:disabled){filter:brightness(1.08)}.pricing-plan-button:disabled,.pricing-primary-cta:disabled{cursor:not-allowed;opacity:.52}.pricing-includes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid #dbe3ec;border-radius:8px;background:#dbe3ec}.pricing-includes>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 8px;align-items:center;padding:14px;background:#fff}.pricing-includes svg{grid-row:span 2;color:#0d9488}.pricing-includes span{color:#64748b;font-size:11px;font-weight:750}.pricing-includes strong{color:#0f172a;font-size:12px;font-weight:850}.pricing-note{display:inline-flex;justify-content:center;gap:7px;align-items:center;margin:0;color:#64748b;font-size:12px;line-height:1.4;font-weight:650;text-align:center}.pricing-note svg{flex:0 0 auto;color:#0d9488}.pricing-primary-cta{justify-self:center;min-width:240px;min-height:46px;padding:0 18px;background:#0f172a;color:#fff;font-size:14px;box-shadow:0 12px 24px #0f172a24}.pricing-primary-cta:hover:not(:disabled){background:#1e293b}@media(max-width:980px){.app-shell .pricing-page{width:min(100%,calc(100vw - 110px))}.pricing-cards{grid-template-columns:1fr}.pricing-plan-card>p:not(.pricing-plan-audience){min-height:0}}@media(max-width:620px){.app-shell .pricing-page{width:min(100%,calc(100vw - 84px))}.pricing-header{display:grid}.pricing-header .pricing-close{position:absolute;top:0;right:0}.pricing-status{flex-wrap:wrap}.pricing-includes{grid-template-columns:repeat(2,minmax(0,1fr))}}*{box-sizing:border-box}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}html{overflow-y:scroll;scrollbar-gutter:stable}body{background:linear-gradient(135deg,#2a303a8a,#0b0c0e00 34%),linear-gradient(180deg,#17191d,#0b0c0e 46%,#08090a)}button,textarea,code{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,p{margin:0}.app-shell{min-height:100vh;display:grid;grid-template-columns:72px minmax(0,1fr);color:#f7f7f4}.tool-rail{position:sticky;top:0;height:100vh;min-height:100vh;max-height:100vh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;padding:10px 8px;border-right:1px solid rgba(255,255,255,.08);background:#121417e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:1300}.rail-brand{width:40px;height:40px;margin:0 auto;display:grid;place-items:center;border-radius:8px;background:#f7f7f4;color:#111214;box-shadow:0 14px 32px #0000006b}.rail-tools,.rail-footer{display:flex;flex-direction:column;align-items:center;gap:8px}.rail-footer{position:relative}.rail-tools{scrollbar-width:none}.rail-tools::-webkit-scrollbar{display:none}.rail-tool{width:56px;min-height:56px;display:grid;place-items:center;gap:4px;border:1px solid transparent;border-radius:8px;background:transparent;color:#a9adb5;padding:7px 4px;transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.rail-tool:hover{color:#fff;background:#ffffff14}.rail-tool.active{color:#fff;background:#ffffff1f;border-color:#ffffff24;transform:translateY(-1px)}.rail-tool span{max-width:52px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1;font-weight:700}.rail-tool.accent-mint.active svg{color:#5eead4}.rail-tool.accent-blue.active svg{color:#60a5fa}.rail-tool.accent-red.active svg{color:#fb7185}.rail-tool.accent-violet.active svg{color:#a78bfa}.rail-tool.accent-amber.active svg{color:#fbbf24}.rail-tool.accent-green.active svg{color:#34d399}.rail-tool.compact{min-height:48px}.rail-tool.sync-server span{white-space:normal;line-height:1.05}.rail-tool[data-tooltip]{position:relative}@media(min-width:761px){.rail-tool[data-tooltip]:before,.rail-tool[data-tooltip]:after{position:absolute;left:calc(100% + 12px);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .14s ease,transform .14s ease,visibility .14s ease;z-index:1500}.rail-tool[data-tooltip]:before{content:"";top:50%;width:9px;height:9px;margin-left:-4px;background:#111827;border-left:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12);transform:translate(4px,-50%) rotate(45deg)}.rail-tool[data-tooltip]:after{content:attr(data-tooltip);top:50%;width:min(320px,calc(100vw - 116px));padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#111827;color:#f8fafc;box-shadow:0 18px 42px #0f172a4d;font-size:12px;font-weight:500;line-height:1.5;letter-spacing:0;text-align:start;white-space:pre-line;unicode-bidi:plaintext;transform:translate(4px,-50%)}.rail-tool[data-tooltip]:hover:before,.rail-tool[data-tooltip]:hover:after,.rail-tool[data-tooltip]:focus-visible:before,.rail-tool[data-tooltip]:focus-visible:after{opacity:1;visibility:visible}.rail-tool[data-tooltip]:hover:before,.rail-tool[data-tooltip]:focus-visible:before{transform:translateY(-50%) rotate(45deg)}.rail-tool[data-tooltip]:hover:after,.rail-tool[data-tooltip]:focus-visible:after{transform:translateY(-50%)}}.rail-account{width:56px;min-height:60px;display:grid;place-items:center;gap:5px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#ffffff14;color:#f7f7f4;padding:6px 4px;transition:background .16s ease,border-color .16s ease,transform .16s ease}.rail-account:hover{background:#ffffff21;border-color:#fff3;transform:translateY(-1px)}.rail-account img,.avatar-fallback{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;overflow:hidden}.rail-account img{object-fit:cover;background:#0b0c0e;box-shadow:0 0 0 2px #2dd4bf7a}.avatar-fallback{background:linear-gradient(145deg,#2dd4bf,#60a5fa);color:#061012;font-size:14px;font-weight:900}.rail-account span:last-child{max-width:52px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1;font-weight:800}.rail-account.signed-in{background:#2dd4bf17;border-color:#2dd4bf33}.account-popover{position:fixed;left:78px;bottom:14px;z-index:1400;width:min(304px,calc(100vw - 92px));padding:14px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#121417f5;color:#f7f7f4;box-shadow:0 22px 50px #0000006b}.account-popover-head{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center;margin-bottom:12px}.account-popover-avatar{width:42px;height:42px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:linear-gradient(145deg,#2dd4bf,#60a5fa);color:#061012;font-weight:900}.account-popover-avatar img{width:100%;height:100%;object-fit:cover}.account-popover-head strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:900}.account-popover-head p{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#a9adb5;font-size:12px;font-weight:700}.account-popover-facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 12px;margin:0 0 13px;padding:11px 0 12px;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);font-size:12px}.account-popover-facts dt{color:#a9adb5;font-weight:800}.account-popover-facts dd{margin:0;min-width:0;overflow-wrap:anywhere;color:#fff;font-weight:900;text-align:right}.account-popover-action{width:100%;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,255,255,.16);border-radius:8px;background:#fff;color:#111827;font-size:12px;font-weight:900;box-shadow:0 12px 26px #00000038}.local-settings-popover{position:fixed;left:78px;bottom:86px;z-index:1400;width:min(328px,calc(100vw - 92px));max-height:min(640px,calc(100vh - 28px));overflow:auto;display:grid;gap:12px;padding:14px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:linear-gradient(180deg,#fffffff7,#f9fafbf0),#fff;color:#111827;box-shadow:0 24px 58px #0f172a29,0 3px 9px #0f172a14,0 1px #fffffffa inset}.local-settings-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px}.local-settings-head strong{display:block;font-size:14px;font-weight:900}.local-settings-head p{color:#667085;font-size:12px;font-weight:700}.local-settings-tabs{display:grid;grid-template-columns:1fr 1fr;padding:3px;border:1px solid #d8dee8;border-radius:8px;background:#f2f4f7}.local-settings-tabs button{min-height:31px;border:0;border-radius:6px;background:transparent;color:#667085;font-size:12px;font-weight:800;cursor:pointer}.local-settings-tabs button.active{background:#111827;color:#fff;box-shadow:0 2px 5px #0f172a29}.local-settings-mode-lock{display:grid;gap:5px;padding:10px;border:1px solid #d8dee8;border-radius:8px;background:#f8fafc}.local-settings-mode-lock span{color:#667085;font-size:10px;font-weight:800;text-transform:uppercase}.local-settings-mode-lock strong{color:#111827;font-size:12px;font-weight:850}.local-setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.local-setting-row{display:grid;gap:6px;min-width:0}.local-setting-row span,.local-setting-toggle span{color:#667085;font-size:11px;line-height:1.15;font-weight:900;text-transform:uppercase}.local-setting-row select{width:100%;min-width:0;height:38px;border:1px solid rgba(148,163,184,.32);border-radius:8px;background:#f8fafc;color:#111827;padding:0 10px;font-size:12px;font-weight:800}.local-setting-row select:focus{outline:none;border-color:#60a5fab8;box-shadow:0 0 0 3px #60a5fa24}.local-setting-toggle{min-height:38px;display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:#f8fafc}.local-setting-toggle input{width:16px;height:16px;margin:0;accent-color:#60a5fa}.local-settings-summary{display:grid;gap:4px;padding:10px;border:1px solid rgba(96,165,250,.22);border-radius:8px;background:#eff6ffeb}.local-settings-summary span{color:#2563eb;font-size:11px;line-height:1.1;font-weight:900;text-transform:uppercase}.local-settings-summary strong{min-width:0;overflow-wrap:anywhere;color:#111827;font-size:13px;font-weight:900}.local-settings-summary.control{border-color:#0f172a33;background:#f8fafc}.local-settings-summary.control span{color:#475467}.local-settings-reset{min-height:36px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#fff;color:#111827;font-size:12px;font-weight:900}.local-settings-reset:hover{background:#f8fafc;border-color:#60a5fa5c}.desk-stage{min-width:0;display:flex;flex-direction:column;gap:14px;padding:18px 22px 24px}.topbar{min-height:50px;display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:center;gap:16px;transition:padding-right .18s ease}.desk-stage.dock-open .topbar{padding-right:calc(var(--dock-width) + 18px)}.desk-stage.file-share-stage{height:100vh;min-height:0;overflow:hidden}.desk-stage.file-share-stage .livedesk-file-explorer{min-height:0;flex:1 1 auto}.topbar-tray{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:10px}.topbar-leading{min-width:0;display:flex;align-items:center}.topbar-update-button{position:relative;width:42px;height:42px;min-width:42px;flex:0 0 42px;display:grid;place-items:center;padding:0;border:1px solid rgba(96,165,250,.78);border-radius:50%;background:linear-gradient(145deg,#3b82f6,#1d4ed8);color:#fff;box-shadow:0 10px 22px #2563eb47,inset 0 1px #ffffff38;cursor:pointer;transition:transform .16s ease,filter .16s ease,box-shadow .16s ease,opacity .16s ease}.topbar-update-button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px) scale(1.03);box-shadow:0 13px 26px #2563eb57,inset 0 1px #ffffff40}.topbar-update-button:focus-visible{outline:3px solid rgba(59,130,246,.28);outline-offset:3px}.topbar-update-button:disabled{cursor:wait;opacity:.74}.topbar-update-spinner{width:18px;height:18px;box-sizing:border-box;border:2px solid rgba(255,255,255,.38);border-top-color:#fff;border-radius:50%;animation:topbar-update-spin .72s linear infinite}@keyframes topbar-update-spin{to{transform:rotate(360deg)}}.topbar-update-count{position:absolute;top:-6px;right:-8px;min-width:22px;height:18px;display:grid;place-items:center;padding:0 5px;border:2px solid #f8fafc;border-radius:999px;background:#111827;color:#fff;font-size:8px;line-height:1;font-weight:850;white-space:nowrap}.brand,.top-actions,.status-item,.deck-actions,.panel-title{display:flex;align-items:center}.brand{gap:10px;min-width:0}.brand-copy{min-width:0;flex:0 1 auto}.brand-mark{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:linear-gradient(145deg,#2dd4bf,#60a5fa);color:#061012;box-shadow:0 16px 34px #2dd4bf2e;flex:0 0 auto}h1{color:#fff;font-size:18px;line-height:1.08;font-weight:800}.brand p{color:#8d939d;font-size:12px;font-weight:700}.top-actions{min-width:0;gap:8px;justify-content:flex-end;justify-self:end}.top-actions .segmented-control,.top-actions .wall-view-control{flex:0 0 auto}.icon-button,.text-button{height:36px;border:1px solid rgba(255,255,255,.13);background:#ffffff14;color:#f7f7f4;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:none;transition:background .16s ease,border-color .16s ease,transform .16s ease}.icon-button:hover,.text-button:hover{background:#ffffff21;border-color:#fff3;transform:translateY(-1px)}.icon-button{width:36px;padding:0}.text-button{padding:0 12px;white-space:nowrap;font-size:12px;font-weight:800}.text-button.full{width:100%}.text-button.primary{background:#f7f7f4;border-color:#f7f7f4;color:#0c0d0f}.text-button.primary:hover{background:#fff;border-color:#fff}.text-button.ghost{background:#ffffff0a;border-color:#ffffff1a}.text-button.compact{height:32px;padding:0 10px;font-size:11px}.text-button.active{background:#60a5fa2e;border-color:#60a5fa8c;color:#bfdbfe}.text-button.buy{background:#14b8a6;border-color:#14b8a6;color:#02120f}.notice-band{border:1px solid rgba(251,191,36,.35);background:#fbbf241f;color:#fde68a;border-radius:8px;padding:10px 12px;font-size:13px;font-weight:700}.notice-band.compact{display:grid;gap:8px;padding:9px 10px;font-size:12px}.livedesk-toast{position:fixed;right:20px;bottom:20px;z-index:1600;display:flex;align-items:flex-start;gap:12px;width:min(420px,calc(100vw - 40px));padding:13px 14px;border:1px solid rgba(245,158,11,.55);border-radius:10px;background:#1f2937;color:#fff7ed;box-shadow:0 18px 42px #0f172a47,0 2px #ffffff14 inset;font-size:13px;font-weight:700;line-height:1.45}.livedesk-toast.tone-progress{border-color:#3b82f6b8;background:#172554;color:#dbeafe}.livedesk-toast.tone-success{border-color:#22c55ead;background:#052e24;color:#dcfce7}.livedesk-toast.tone-error{border-color:#f87171bf;background:#450a0a;color:#fee2e2}.livedesk-toast-spinner,.sync-server-spinner{flex:0 0 auto;width:16px;height:16px;box-sizing:border-box;border:2px solid rgba(255,255,255,.35);border-top-color:currentColor;border-radius:50%;animation:rail-update-spin .72s linear infinite}.livedesk-toast-spinner{margin-top:2px}.livedesk-toast>span{min-width:0;overflow-wrap:anywhere}.livedesk-toast-close{display:inline-grid;flex:0 0 auto;place-items:center;width:25px;height:25px;margin:-3px -3px 0 auto;padding:0;border:0;border-radius:6px;background:transparent;color:#fed7aa;cursor:pointer}.livedesk-toast-close:hover{background:#ffffff1a;color:#fff}.transfer-bar{position:fixed;left:50%;right:auto;bottom:12px;transform:translate(-50%);z-index:1200;display:grid;grid-template-columns:minmax(120px,1fr) auto;align-items:center;gap:8px;width:min(420px,calc(100vw - 32px));padding:0;border:0;background:transparent;color:#475569;box-shadow:none;pointer-events:none}.transfer-bar-track{position:relative;height:2px;overflow:hidden;border-radius:999px;background:#94a3b847}.transfer-bar-track span{position:absolute;inset:0 auto 0 0;width:0;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#14b8a6);transition:width .18s ease}.transfer-bar p{margin:0;max-width:min(180px,38vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;font-size:11px;font-weight:650}.transfer-bar.state-failed{color:#b91c1c}.transfer-bar.state-failed .transfer-bar-track span{background:#ef4444}.pricing-page{min-width:0;width:60%;margin:0 auto;display:grid;gap:14px}.pricing-hero{min-width:0;display:grid;grid-template-columns:1fr;gap:14px;align-items:stretch}.pricing-hero-copy,.license-card,.ltd-card,.pricing-panel{min-width:0;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:linear-gradient(180deg,#ffffff0f,#ffffff05),#080a0dbd;box-shadow:inset 0 1px #ffffff12,0 18px 38px #0000003d}.pricing-hero-copy{display:grid;gap:10px;padding:24px;align-content:center;background:linear-gradient(135deg,#14b8a62e,#60a5fa14 52%,#ffffff05),#080a0dc7}.pricing-eyebrow,.plan-badge{width:fit-content;display:inline-flex;align-items:center;gap:7px;color:#5eead4;font-size:11px;font-weight:900;text-transform:uppercase}.pricing-hero-copy h2{color:#fff;font-size:clamp(28px,4vw,52px);line-height:.98;font-weight:950}.pricing-hero-copy p{max-width:680px;color:#aeb5c0;font-size:15px;line-height:1.5;font-weight:700}.license-card{display:grid;gap:8px;padding:18px;align-content:center}.license-card.active{border-color:#2dd4bf70;background:linear-gradient(135deg,#14b8a62e,#ffffff09),#080a0dcc}.license-card span{color:#8d939d;font-size:11px;font-weight:900;text-transform:uppercase}.license-card strong{color:#fff;font-size:24px;font-weight:950}.license-card p{color:#8d939d;font-size:12px;line-height:1.45;font-weight:700}.pricing-grid{min-width:0;display:grid;grid-template-columns:1fr;gap:14px;align-items:stretch}.ltd-card,.pricing-panel{padding:16px}.ltd-card{display:grid;gap:16px;align-content:start;border-color:#14b8a642}.ltd-card.active{border-color:#2dd4bf94}.ltd-card-head{display:grid;gap:7px}.ltd-card-head strong{color:#fff;font-size:58px;line-height:.94;font-weight:950}.ltd-card-head p,.ltd-title span{color:#8d939d;font-size:12px;font-weight:800}.ltd-title{display:grid;gap:5px}.ltd-title h3{margin:0;color:#fff;font-size:19px;line-height:1.1;font-weight:950}.pricing-cta{width:100%;height:44px}.pricing-panel{display:grid;gap:12px;align-content:start}.feature-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.feature-list li{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0b}.feature-list svg{color:#5eead4;margin-top:2px}.feature-list span,.feature-list strong,.feature-list small{min-width:0;display:block}.feature-list strong{color:#fff;font-size:13px;font-weight:900}.feature-list small{margin-top:2px;color:#8d939d;font-size:12px;line-height:1.38;font-weight:700}.pricing-facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 14px;margin:0;font-size:12px}.pricing-facts.compact{padding-top:2px}.pricing-facts dt{color:#8d939d;font-weight:900}.pricing-facts dd{margin:0;min-width:0;overflow-wrap:anywhere;color:#f7f7f4;font-weight:850}.doc-page{min-width:0;width:60%;margin:0 auto;display:grid;gap:14px}.doc-hero{min-width:0;display:grid;grid-template-columns:1fr;gap:14px;align-items:stretch}.doc-hero-copy,.doc-language-picker,.doc-card,.doc-sync,.doc-firewall,.doc-command-panel{min-width:0;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:linear-gradient(180deg,#ffffff0f,#ffffff05),#080a0dbd;box-shadow:inset 0 1px #ffffff12,0 18px 38px #0000003d}.doc-hero-copy{display:grid;gap:10px;padding:24px;align-content:center;background:linear-gradient(135deg,#14b8a62e,#60a5fa14 52%,#ffffff05),#080a0dc7}.doc-hero-copy h2{color:#fff;font-size:clamp(28px,4vw,52px);line-height:.98;font-weight:950}.doc-hero-copy p,.doc-card p,.doc-sync p,.doc-firewall p,.doc-command-head p{color:#aeb5c0;line-height:1.5;font-weight:700}.doc-hero-copy p{max-width:720px;font-size:15px}.doc-language-picker{display:grid;gap:10px;padding:18px;align-content:center}.doc-language-picker span{display:inline-flex;align-items:center;gap:8px;color:#8d939d;font-size:12px;font-weight:900;text-transform:uppercase}.doc-language-picker select{width:100%;min-width:0;height:42px;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:#00000038;color:#f7f7f4;padding:0 12px;font-size:14px;font-weight:850;outline:0}.doc-grid{min-width:0;display:grid;grid-template-columns:1fr;gap:14px}.doc-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;padding:16px}.doc-card-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;background:#14b8a61f;color:#5eead4}.doc-card h3,.doc-sync h3,.doc-firewall h3,.doc-command-panel h3{color:#fff;font-size:16px;line-height:1.2;font-weight:950}.doc-card p,.doc-sync p,.doc-firewall p,.doc-command-head p{margin-top:6px;font-size:13px}.doc-card ul,.doc-sync ul,.doc-firewall ul{display:grid;gap:7px;margin:12px 0 0;padding-left:18px;color:#8d939d;font-size:12px;line-height:1.45;font-weight:750}.doc-page[dir=rtl] .doc-card ul,.doc-page[dir=rtl] .doc-sync ul,.doc-page[dir=rtl] .doc-firewall ul{padding-left:0;padding-right:18px}.doc-firewall,.doc-sync,.doc-command-panel{display:grid;gap:14px;padding:16px}.doc-firewall{border-color:#f59e0b4d}.doc-sync{border-color:#60a5fa4d}.doc-firewall-head,.doc-sync-head,.doc-command-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:start}.doc-firewall-head svg{color:#f59e0b;margin-top:1px}.doc-sync-head svg{color:#93c5fd;margin-top:1px}.doc-command-head svg{color:#5eead4;margin-top:1px}.doc-command-list{display:grid;gap:9px}.doc-command-row{min-width:0;display:grid;grid-template-columns:1fr;gap:10px;align-items:stretch;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#ffffff0b}.doc-command-row span{color:#8d939d;font-size:12px;font-weight:900}.doc-command-row code{min-width:0;overflow-x:auto;color:#5eead4;font-size:12px;font-weight:800;white-space:nowrap}.monitor-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;align-items:start;min-width:0;transition:grid-template-columns .18s ease}.monitor-layout.dock-collapsed{grid-template-columns:minmax(0,1fr) 44px}.right-dock{position:sticky;top:18px;min-width:0;display:flex;flex-direction:column;gap:12px;transition:transform .18s ease,opacity .18s ease}.right-dock.collapsed{width:44px}.dock-toggle{width:36px;height:36px;margin-left:auto;display:grid;place-items:center;border:1px solid rgba(255,255,255,.13);border-radius:8px;background:#ffffff14;color:#c8d0db;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.dock-toggle:hover{color:#fff;background:#ffffff21;border-color:#fff3;transform:translateY(-1px)}.right-dock.collapsed .dock-toggle{width:44px;height:76px;margin-left:0}.action-dock{min-width:0;display:grid;gap:12px}.action-context{min-width:0;display:grid;gap:4px;padding:13px 14px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:linear-gradient(135deg,#2dd4bf1f,#ffffff09 48%),#ffffff0e;box-shadow:inset 0 1px #ffffff12}.action-context span{color:#8d939d;font-size:11px;font-weight:900;text-transform:uppercase}.action-context strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:16px;font-weight:900}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.action-tile{min-width:0;min-height:76px;display:grid;place-items:center;align-content:center;gap:8px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0f;color:#c8d0db;box-shadow:inset 0 1px #fff1;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}.action-tile:hover:not(:disabled){transform:translateY(-1px);color:#fff;background:#ffffff1a;border-color:#ffffff2e}.action-tile.primary{background:#2dd4bf24;border-color:#2dd4bf47;color:#a7f3d0}.action-tile.active{background:#60a5fa2e;border-color:#60a5fa7a;color:#bfdbfe}.action-tile span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:900}.command-deck{display:grid;grid-template-columns:minmax(320px,1fr) auto;gap:12px;align-items:center}.setup-card{min-width:0;display:grid;gap:10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;background:#fff1;box-shadow:inset 0 1px #ffffff12}.settings-card{min-width:0;display:grid;gap:9px;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;background:#fff1;box-shadow:inset 0 1px #ffffff12}.field-row{min-width:0;display:grid;gap:7px}.field-row span{color:#8d939d;font-size:12px;font-weight:900}.field-row input{width:100%;height:38px;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:0 10px;background:#00000038;color:#f7f7f4;outline:0;font-size:12px;font-weight:800}.field-row input:focus{border-color:#2dd4bfb3;box-shadow:0 0 0 2px #2dd4bf24}.hidden-file-input{display:none}.setup-head{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.setup-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:8px;background:#2dd4bf24;color:#5eead4}.setup-head strong,.setup-head span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.setup-head strong{color:#fff;font-size:14px;font-weight:900}.setup-head span{margin-top:2px;color:#8d939d;font-size:12px;font-weight:700}.setup-pin-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:9px 10px;background:#00000029}.setup-pin-row div{min-width:0}.setup-pin-row span,.setup-pin-row strong{display:block}.setup-pin-row span{color:#8d939d;font-size:10px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.setup-pin-row strong{margin-top:2px;color:#fff;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:18px;letter-spacing:.08em;line-height:1}.setup-disclosure{height:30px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:8px;background:transparent;color:#8d939d;font-size:12px;font-weight:800}.setup-disclosure:hover{background:#ffffff14;color:#fff}.setup-code-row{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px;background:#0003}.setup-code-row code{min-width:0;overflow-wrap:anywhere;color:#9fe6d7;font-family:Cascadia Code,SFMono-Regular,Consolas,monospace;font-size:11px;line-height:1.45}.deck-actions{gap:8px;justify-content:flex-end}.right-dock .command-deck{grid-template-columns:1fr;gap:10px}.right-dock .deck-actions{display:grid;grid-template-columns:1fr;gap:8px}.right-dock .deck-actions .text-button{width:100%}.status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.status-item{min-width:0;gap:9px;min-height:58px;padding:11px 12px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#fff1;box-shadow:inset 0 1px #ffffff12}.status-item svg{color:#9ca3af}.status-item span{min-width:0;color:#8d939d;font-size:12px;font-weight:800}.status-item strong{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:13px;font-weight:900}.status-item.state-online svg,.dot.green{color:#34d399}.right-dock .status-strip{grid-template-columns:1fr;gap:8px}.right-dock .status-item{min-height:50px}.screen-wall-panel{position:relative;min-width:0;display:flex;flex-direction:column;gap:12px}.screen-wall-panel.drop-active:after{content:"";position:absolute;inset:-6px 12px 6px -6px;border:2px solid rgba(45,212,191,.58);border-radius:12px;pointer-events:none;box-shadow:0 0 0 4px #2dd4bf14}.control-focus{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:calc(100vh - 82px)}.control-focus-head{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px}.control-focus-title{min-width:0;display:grid;gap:3px}.control-focus-title>span{color:#8d939d;font-size:11px;font-weight:900;text-transform:uppercase}.control-focus-title small{min-width:0;overflow:hidden;color:#64748b;font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.control-focus-head strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:18px;font-weight:900}.control-monitor-tabs{min-width:0;max-width:min(58vw,760px);display:flex;justify-content:flex-end;gap:6px;overflow-x:auto;padding:4px}.control-monitor-tabs button{min-width:116px;height:42px;display:grid;align-content:center;gap:2px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#ffffffb8;color:#1f2937;box-shadow:0 10px 22px #0f172a14,0 1px #ffffffe6 inset;cursor:pointer}.control-monitor-tabs button.active{border-color:#0f172ae0;background:#111827;color:#fff}.control-monitor-tabs span,.control-monitor-tabs small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.control-monitor-tabs span{font-size:12px;font-weight:850}.control-monitor-tabs small{color:currentColor;font-size:10px;font-weight:650;opacity:.68}.control-wall{--control-screen-height: calc(100vh - 128px) ;position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;height:100%;padding:0}.control-wall .device-tile{width:min(100%,calc(var(--control-screen-height) * var(--screen-aspect, 1.77778)));max-width:100%}.control-empty{display:grid;place-items:center;align-content:center;gap:8px;min-width:min(420px,80%);min-height:220px;color:#98a2b3;text-align:center}.control-empty strong{color:#344054;font-size:16px;font-weight:850}.control-connection-overlay{position:absolute;inset:0;z-index:30;display:grid;place-content:center;justify-items:center;gap:8px;color:#344054;background:#f4f7fb;pointer-events:none}.control-connection-overlay strong{font-size:14px;font-weight:750}.control-connection-overlay small{color:#667085;font-size:12px}.control-connection-spinner{width:22px;height:22px;box-sizing:border-box;border:2px solid rgba(100,116,139,.24);border-top-color:#111827;border-radius:50%;animation:control-connection-spin .7s linear infinite}@keyframes control-connection-spin{to{transform:rotate(360deg)}}.control-empty span{font-size:12px;font-weight:650}.segmented-control{min-width:0;display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0e}.segmented-control button{height:30px;min-width:62px;border:0;border-radius:6px;background:transparent;color:#8d939d;padding:0 10px;font-size:12px;font-weight:900}.segmented-control button:hover{color:#fff;background:#ffffff14}.segmented-control button.active{background:#f7f7f4;color:#0c0d0f}.wall-view-control{position:relative;display:inline-block}.wall-view-slider{position:absolute;top:calc(100% - 2px);right:5px;left:5px;display:block;height:8px}.wall-view-slider input[type=range]{appearance:none;-webkit-appearance:none;display:block;width:100%;height:8px;margin:0;padding:0;border:0;background:transparent;cursor:ew-resize}.wall-view-slider input[type=range]::-webkit-slider-runnable-track{height:2px;border-radius:999px;background:#9ca3af}.wall-view-slider input[type=range]::-webkit-slider-thumb{width:8px;height:8px;margin-top:-3px;border:0;border-radius:50%;background:#60a5fa;-webkit-appearance:none}.wall-view-slider input[type=range]::-moz-range-track{height:2px;border:0;border-radius:999px;background:#9ca3af}.wall-view-slider input[type=range]::-moz-range-thumb{width:8px;height:8px;border:0;border-radius:50%;background:#60a5fa}.screen-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(440px,1fr));gap:14px;align-items:start;min-width:0}.atlas-source-canvas{position:fixed;left:-10000px;top:0;width:1px;height:1px;opacity:0;pointer-events:none}.atlas-slot-wall .remote-canvas.has-frame{image-rendering:auto}.atlas-wall{position:relative;width:100%;max-height:calc(100vh - 96px);overflow:hidden;border:1px solid rgba(15,23,42,.14);border-radius:8px;background:#05070a;box-shadow:0 16px 36px #0f172a2e}.atlas-canvas,.atlas-hit-grid{position:absolute;inset:0;width:100%;height:100%}.atlas-canvas{display:block;object-fit:contain;background:#000}.atlas-hit-grid{display:grid}.atlas-hit-tile{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:0;background:transparent;color:#fff;cursor:pointer;outline:none;box-shadow:none}.atlas-hit-tile:hover{border-color:#ffffff9e;background:#ffffff06}.atlas-hit-tile.selected{z-index:2;border-color:#14b8a6;box-shadow:inset 0 0 0 2px #14b8a6db}.atlas-tile-label{position:absolute;left:8px;bottom:8px;display:grid;justify-items:start;gap:1px;max-width:calc(100% - 16px);padding:4px 7px;border-radius:5px;background:#030712bd;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none}.atlas-tile-label strong,.atlas-tile-label small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0}.atlas-tile-label strong{font-size:11px;font-weight:750}.atlas-tile-label small{color:#5eead4;font-size:9px;font-weight:650}.atlas-monitor-cycle{position:absolute;top:7px;left:50%;display:flex;align-items:center;gap:3px;min-height:24px;padding:2px 4px;border-radius:12px;background:#ffffffe6;color:#111827;opacity:0;transform:translate(-50%);transition:opacity .12s ease}.atlas-hit-tile:hover .atlas-monitor-cycle,.atlas-hit-tile:focus-visible .atlas-monitor-cycle{opacity:1}.atlas-monitor-cycle>button{width:20px;height:20px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:transparent;color:inherit}.atlas-monitor-cycle>button:hover{background:#0f172a1a}.atlas-monitor-cycle b{min-width:22px;font-size:9px;font-weight:800}.screen-wall .device-tile{align-self:start}.screen-wall.size-large{grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--wall-tile-min-width, 500px)),1fr));gap:12px}.screen-wall.size-medium{grid-template-columns:repeat(auto-fill,minmax(min(100%,var(--wall-tile-min-width, 300px)),1fr));gap:12px}.device-tile{position:relative;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#ffffff0f;box-shadow:inset 0 1px #ffffff12,0 18px 38px #0000003d}.device-tile.selected{border-color:#3b82f6d1;box-shadow:inset 0 1px #ffffff1a,0 0 0 2px #3b82f633,0 18px 44px #00000061}.device-tile.selected:before{display:none}.device-tile.selected:after{content:none;display:none}.tile-screen{position:relative;width:100%;aspect-ratio:16 / 9;display:block;border:0;padding:1px;overflow:hidden;background:linear-gradient(135deg,#ffffff14,#fff0 44%),#111317;line-height:0}.tile-screen.has-frame{background:#000}.screen-content{position:absolute;inset:1px;z-index:1;display:block;overflow:hidden;border-radius:6px;background:#000}.screen-wall .screen-content{inset:50% auto auto 50%;width:var(--screen-content-width, 100%);height:var(--screen-content-height, 100%);transform:translate(-50%,-50%)}.screen-content.is-empty{opacity:0;pointer-events:none}.control-wall .tile-screen{aspect-ratio:var(--screen-aspect, 16 / 9)}.control-wall .screen-content{inset:1px;width:auto;height:auto;transform:none}.tile-screen:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 40px #00000080}.device-tile.selected .tile-screen:before{content:none;display:none}.tile-health-pill{position:absolute;top:10px;left:10px;z-index:3;display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#080a0da8;color:#f7f7f4;font-size:11px;line-height:1;font-weight:950;pointer-events:none}.wall-device-title{position:absolute;top:10px;right:10px;left:auto;z-index:5;max-width:min(52%,320px);min-height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#080a0dad;color:#fff;box-shadow:0 10px 22px #00000038;font-size:11px;line-height:1;font-weight:900;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;transform:none}.tile-health-pill.state-online,.machine-health.state-online{color:#6ee7b7}.tile-health-pill.state-busy,.machine-health.state-busy{color:#93c5fd}.tile-health-pill.state-warn,.machine-health.state-warn{color:#fbbf24}.tile-health-pill.state-critical,.machine-health.state-critical{color:#fb7185}.tile-health-pill.state-stale,.machine-health.state-stale,.tile-health-pill.state-offline,.machine-health.state-offline{color:#cbd5e1}.tile-workload{position:absolute;left:10px;right:10px;bottom:10px;z-index:3;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px 9px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#080a0d9e;color:#f7f7f4;pointer-events:none}.tile-workload span,.tile-workload strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-workload span{color:#cbd5e1;font-size:11px;font-weight:800}.tile-workload strong{justify-self:end;max-width:45%;color:#fff;font-size:11px;font-weight:950}.remote-canvas{position:relative;z-index:1;width:100%;height:100%;display:block;object-fit:contain;object-position:center;background:#000;border-radius:6px;outline:0}.remote-canvas.control-input-enabled{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.remote-pointer-feedback{position:absolute;z-index:3;width:22px;height:22px;display:grid;place-items:start;color:#fff;pointer-events:none;transform:translate(-2px,-2px);filter:drop-shadow(0 0 1px #000000) drop-shadow(0 1px 2px rgb(0 0 0 / 75%))}.remote-pointer-feedback svg{display:block;fill:#fff;stroke:#111827}.remote-canvas.is-empty{opacity:0}.control-wall .remote-canvas{contain:paint}.monitor-cycle{position:absolute;inset:0;z-index:6;opacity:0;pointer-events:none;transition:opacity .14s ease}.tile-screen:hover .monitor-cycle,.tile-screen:focus-within .monitor-cycle{opacity:1}.monitor-cycle-button{position:absolute;top:50%;width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#080a0db8;color:#fff;box-shadow:0 8px 18px #00000042;cursor:pointer;pointer-events:auto;transform:translateY(-50%)}.monitor-cycle-button svg{width:16px;height:16px;stroke-width:2.5}.monitor-cycle-button:hover{background:#080a0de0}.monitor-cycle-button.previous{left:10px}.monitor-cycle-button.next{right:10px}.monitor-cycle-count{position:absolute;top:10px;left:50%;min-height:24px;display:inline-flex;align-items:center;padding:0 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#080a0dad;color:#fff;font-size:11px;line-height:1;font-weight:900;white-space:nowrap;box-shadow:0 10px 22px #00000038;pointer-events:none;transform:translate(-50%)}.slot-grid{position:absolute;inset:1px;border-radius:6px;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:34px 34px;-webkit-mask-image:linear-gradient(180deg,#000000d9,#00000040);mask-image:linear-gradient(180deg,#000000d9,#00000040)}.empty-screen{position:absolute;inset:1px;display:grid;place-items:center;align-content:center;gap:6px;color:#7c828d;text-align:center;z-index:1}.wall-presentation-loading{position:absolute;inset:1px;z-index:4;display:grid;place-content:center;justify-items:center;gap:9px;border-radius:6px;background:radial-gradient(circle at center,#1e293bb8,#030712f0),#0b1020;color:#e2e8f0;text-align:center;pointer-events:none}.wall-presentation-loading strong{color:#cbd5e1;font-size:11px;line-height:1;font-weight:800;letter-spacing:.01em}.wall-presentation-spinner{width:24px;height:24px;box-sizing:border-box;border:2px solid rgba(148,163,184,.28);border-top-color:#5eead4;border-right-color:#38bdf8;border-radius:50%;animation:wall-presentation-spin .72s linear infinite}@keyframes wall-presentation-spin{to{transform:rotate(360deg)}}.wall-update-status{position:absolute;inset:1px;z-index:5;display:grid;place-content:center;justify-items:center;gap:8px;border-radius:6px;background:#030712c7;color:#e2e8f0;text-align:center;pointer-events:none}.wall-update-status.state-updated{background:#064e3bd1;color:#d1fae5}.wall-update-status.state-failed{background:#7f1d1de0;color:#fee2e2}.wall-update-status.state-offline,.wall-update-status.state-queued{background:#1e293bdb;color:#e2e8f0}.wall-update-status strong{font-size:12px;line-height:1;font-weight:850;letter-spacing:.01em}.wall-update-spinner{width:24px;height:24px;box-sizing:border-box;border:2px solid rgba(148,163,184,.3);border-top-color:#60a5fa;border-right-color:#a78bfa;border-radius:50%;animation:wall-update-spin .72s linear infinite}@keyframes wall-update-spin{to{transform:rotate(360deg)}}.empty-screen strong{color:#f7f7f4;font-size:13px;font-weight:900}.tile-meta{min-height:54px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 11px}.tile-metrics{position:absolute;left:10px;right:10px;bottom:10px;z-index:3;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;line-height:1;pointer-events:none}.tile-metric{position:relative;min-width:0;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center;min-height:25px;padding:4px 7px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:#080a0d9e}.tile-metric b,.tile-metric em{position:relative;z-index:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal}.tile-metric b{color:#8d939d;font-size:10px;line-height:1;font-weight:950}.tile-metric em{color:#f7f7f4;font-size:11px;line-height:1;font-weight:950}.tile-metric i{position:absolute;left:0;bottom:0;height:2px;max-width:100%;border-radius:999px;background:#34d399}.tile-metric.state-warn i{background:#f59e0b}.tile-metric.state-critical i{background:#f43f5e}.tile-metric.state-unknown i{display:none}.side-panel{min-width:0;padding:12px 14px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:linear-gradient(180deg,#ffffff0b,#ffffff04),#060709b8;box-shadow:inset 0 1px #fff1}.side-panel.selected-panel,.side-panel.account-panel{display:flex;flex-direction:column}.side-panel.selected-panel .text-button{width:100%;align-self:stretch}.machine-detail-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.machine-detail-head .panel-title{margin-bottom:0}.machine-health{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border:1px solid rgba(255,255,255,.1);border-radius:999px;background:#ffffff0f;color:#f7f7f4;font-size:11px;font-weight:950}.machine-title{display:grid;gap:3px;margin:7px 0 11px}.machine-title strong,.machine-title span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.machine-title strong{color:#fff;font-size:18px;font-weight:950}.machine-title span{color:#8d939d;font-size:12px;font-weight:850}.machine-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.machine-metric{min-width:0;display:grid;gap:5px;padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:8px;background:#ffffff0b}.machine-metric span,.machine-metric strong,.machine-metric small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.machine-metric span{color:#8d939d;font-size:10px;font-weight:950}.machine-metric strong{color:#fff;font-size:19px;font-weight:950}.machine-metric small{color:#8d939d;font-size:11px;font-weight:750}.machine-metric i{position:relative;height:3px;overflow:hidden;border-radius:999px;background:#94a3b82e}.machine-metric i b{position:absolute;inset:0 auto 0 0;display:block;max-width:100%;border-radius:inherit;background:#34d399}.machine-metric.state-warn i b{background:#f59e0b}.machine-metric.state-critical i b{background:#f43f5e}.machine-section{display:grid;gap:8px;padding-top:10px;margin-top:10px;border-top:1px solid rgba(255,255,255,.08)}.machine-section-title{display:flex;gap:7px;align-items:center;color:#8d939d;font-size:11px;font-weight:950;text-transform:uppercase}.tool-probe-list{display:grid;gap:7px}.tool-probe{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-height:30px;padding:7px 9px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:#ffffff0a}.tool-probe b,.tool-probe em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-probe b{color:#f7f7f4;font-size:12px;font-weight:900}.tool-probe em{color:#8d939d;font-size:11px;font-style:normal;font-weight:800}.tool-probe.state-online em,.tool-probe.state-busy em{color:#6ee7b7}.tool-probe.state-offline em{color:#cbd5e1}.workload-card{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;padding:9px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:#ffffff0a}.workload-card strong,.workload-card span,.workload-card p{min-width:0;overflow:hidden;text-overflow:ellipsis}.workload-card strong{white-space:nowrap;color:#f7f7f4;font-size:12px;font-weight:950}.workload-card span{justify-self:end;color:#8d939d;font-size:11px;font-weight:950}.workload-card p{grid-column:1 / -1;color:#8d939d;font-size:11px;line-height:1.35;font-weight:750}.facts.compact{margin-bottom:0;gap:5px 10px}.panel-warning{margin-top:10px;color:#fb7185;font-size:12px;font-weight:800}.tile-meta strong,.tile-meta span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tile-meta strong{color:#fff;font-size:13px;font-weight:900}.tile-meta span{color:#8d939d;font-size:12px;font-weight:700}.placeholder-tile{border-style:dashed;background:#ffffff0a}.placeholder-tile .tile-screen{cursor:default}.dot{width:9px;height:9px;border-radius:50%;background:#69707b;box-shadow:0 0 0 4px #69707b1f}.dot.green{background:#34d399;box-shadow:0 0 0 4px #34d39924}.dot.gray{background:#69707b}.operator-console{display:grid;grid-template-columns:minmax(220px,.82fr) minmax(360px,1.35fr) minmax(280px,.92fr);gap:0;align-items:stretch;overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:linear-gradient(180deg,#ffffff0b,#ffffff04),#060709b8;box-shadow:inset 0 1px #fff1,0 16px 34px #0003}.console-panel{min-width:0;min-height:118px;padding:12px 14px;border-right:1px solid rgba(255,255,255,.09);background:transparent}.console-panel:last-child{border-right:0}.panel-title{gap:7px;margin-bottom:9px;color:#8d939d}.panel-title h2{color:#c6cad2;font-size:11px;font-weight:900;text-transform:uppercase}.selected-panel,.account-panel{display:flex;flex-direction:column}.selected-panel .text-button{margin-top:auto;width:auto;min-width:142px;align-self:flex-start}.facts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 12px;margin:0 0 10px;font-size:12px}.facts dt{color:#8d939d;font-weight:800}.facts dd{margin:0;min-width:0;overflow-wrap:anywhere;color:#f7f7f4;font-weight:800}.task-panel{display:grid;grid-template-columns:minmax(0,1fr) 160px;grid-template-rows:auto minmax(58px,1fr);gap:9px 10px;align-items:stretch}.task-panel .panel-title{grid-column:1 / -1;margin-bottom:0}.task-panel .text-button{height:auto;min-height:58px;align-self:stretch}.side-panel.task-panel{grid-template-columns:1fr;grid-template-rows:auto minmax(74px,1fr) auto}.side-panel.task-panel .text-button{grid-column:1;min-height:42px}.plan-summary{display:grid;gap:4px;margin-bottom:0}.plan-summary strong{color:#fff;font-size:14px;font-weight:900}.plan-summary span{color:#5eead4;font-weight:900;font-size:13px}.plan-summary p{color:#8d939d;font-size:12px;line-height:1.45;font-weight:700}textarea{width:100%;resize:none;min-height:58px;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:9px 10px;background:#00000038;color:#f7f7f4;margin-bottom:0;outline:0}textarea:focus{border-color:#2dd4bfb3;box-shadow:0 0 0 2px #2dd4bf24}textarea::placeholder{color:#6f7681}.muted{color:#8d939d;font-size:12px;font-weight:700}@media(max-width:1180px){.topbar{grid-template-columns:1fr auto}.pricing-hero,.pricing-grid,.doc-hero,.doc-grid{grid-template-columns:1fr}.pricing-page,.doc-page{width:100%}.monitor-layout,.operator-console{grid-template-columns:1fr}.operator-console{grid-template-columns:repeat(2,minmax(0,1fr))}.console-panel{border-right:1px solid rgba(255,255,255,.09);border-bottom:1px solid rgba(255,255,255,.09)}.console-panel:nth-child(2n){border-right:0}.console-panel:nth-child(n+3){border-bottom:0}.right-dock{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);align-items:start}.right-dock.actions-mode{grid-template-columns:1fr}.right-dock .action-dock{grid-column:1 / -1}.right-dock .notice-band,.right-dock .command-deck{grid-column:1}.right-dock .status-strip{grid-column:2;grid-row:1 / span 2}.deck-actions{justify-content:flex-start;flex-wrap:wrap}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.tool-rail{position:sticky;top:0;height:auto;min-height:auto;max-height:none;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;align-items:center;gap:10px;padding:8px;border-right:0;border-bottom:1px solid rgba(255,255,255,.08)}.desk-stage.file-share-stage{height:auto;overflow:visible}.rail-tools,.rail-footer{flex-direction:row;overflow-x:auto;justify-content:flex-start}.rail-tool,.rail-account{width:54px;min-height:48px;flex:0 0 auto}.rail-account img,.avatar-fallback{width:26px;height:26px}.account-popover{inset:74px 8px auto auto;width:min(320px,calc(100vw - 16px))}.desk-stage{padding:14px 12px 18px}.pricing-hero-copy,.license-card,.ltd-card,.pricing-panel,.doc-hero-copy,.doc-language-picker,.doc-card,.doc-firewall,.doc-command-panel{padding:14px}.ltd-card-head strong{font-size:46px}.topbar{grid-template-columns:minmax(0,1fr) auto}.status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.right-dock{display:flex}.action-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.operator-console{grid-template-columns:1fr}.console-panel,.console-panel:nth-child(2n),.console-panel:nth-child(n+3){border-right:0;border-bottom:1px solid rgba(255,255,255,.09)}.console-panel:last-child{border-bottom:0}.task-panel{grid-template-columns:1fr}.task-panel .text-button{grid-column:1;grid-row:auto;min-width:0}.right-dock .status-strip{grid-template-columns:1fr}.free-ad-banner{grid-template-columns:1fr;gap:6px;min-height:64px;padding:10px 12px}.free-ad-banner .ad-label{writing-mode:horizontal-tb;transform:none}.command-deck{gap:10px}}@media(max-width:480px){.topbar{gap:10px}.topbar .segmented-control button{min-width:54px;padding:0 8px}.status-strip{grid-template-columns:1fr}.deck-actions .text-button,.top-actions .text-button{flex:1 1 auto}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-tile{min-height:68px}.facts,.doc-card,.doc-sync-head,.doc-firewall-head,.doc-command-head,.doc-command-row{grid-template-columns:1fr}.doc-command-row .icon-button{width:100%}}:root{color-scheme:light;--livedesk-workspace-base: #cad6e0;--livedesk-workspace-floor: linear-gradient(215deg, #d4dee7 0%, #c2cfda 52%, #d0dbe4 100%);--livedesk-workspace-mesh-top: radial-gradient(ellipse 18% 24% at 7% 9%, rgba(255, 255, 255, .36) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(ellipse 16% 22% at 36% 22%, rgba(154, 194, 191, .25) 0%, rgba(154, 194, 191, 0) 100%), radial-gradient(ellipse 17% 23% at 66% 18%, rgba(143, 171, 195, .25) 0%, rgba(143, 171, 195, 0) 100%), radial-gradient(ellipse 19% 25% at 93% 9%, rgba(245, 249, 252, .34) 0%, rgba(245, 249, 252, 0) 100%);--livedesk-workspace-mesh-bottom: radial-gradient(ellipse 17% 23% at 8% 84%, rgba(151, 174, 198, .24) 0%, rgba(151, 174, 198, 0) 100%), radial-gradient(ellipse 19% 25% at 37% 96%, rgba(130, 153, 172, .22) 0%, rgba(130, 153, 172, 0) 100%), radial-gradient(ellipse 16% 22% at 67% 82%, rgba(151, 191, 187, .23) 0%, rgba(151, 191, 187, 0) 100%), radial-gradient(ellipse 18% 24% at 94% 95%, rgba(244, 248, 251, .32) 0%, rgba(244, 248, 251, 0) 100%);background:var(--livedesk-workspace-base);color:#172033}body{background:var(--livedesk-workspace-floor);background-attachment:fixed}.app-shell{position:relative;isolation:isolate;color:#172033;background:var(--livedesk-workspace-mesh-bottom),var(--livedesk-workspace-floor)}.app-shell:before{content:"";position:fixed;inset:-9%;z-index:0;pointer-events:none;will-change:transform,opacity}.app-shell:before{background:var(--livedesk-workspace-mesh-top);opacity:.72;animation:livedesk-workspace-mesh-top 12s steps(12,end) infinite alternate}.app-shell.stream-surface-active:before{content:none;animation:none;transform:none;will-change:auto}.app-shell.stream-surface-active{background:var(--livedesk-workspace-mesh-top),var(--livedesk-workspace-mesh-bottom),var(--livedesk-workspace-floor)}.app-shell>.desk-stage{position:relative;z-index:1}@keyframes livedesk-workspace-mesh-top{0%{transform:translate3d(-8.5%,-4%,0) scale(1.03);opacity:.62}50%{transform:translate3d(7.5%,2%,0) scale(1.08);opacity:.82}to{transform:translate3d(-1.5%,8%,0) scale(1.05);opacity:.68}}@media(prefers-reduced-motion:reduce){.app-shell:before{animation:none;transform:none}}html.livedesk-electron-desktop .desk-stage:not(.control-stage){padding-top:14px}.tool-rail{background:#ffffffdb;border-right-color:#94a3b847;box-shadow:10px 0 28px #0f172a14}.rail-brand{background:#111827;color:#fff;box-shadow:0 14px 28px #0f172a2e}.rail-tool{color:#667085}.rail-tool:hover,.rail-tool.active{color:#111827;background:#fff;border-color:#94a3b852;box-shadow:0 10px 22px #0f172a1a}.rail-account{background:#fff;color:#111827;border-color:#94a3b857;box-shadow:0 12px 24px #0f172a1a}.rail-account.signed-in{background:#ecfdf5;border-color:#14b8a652}.account-popover{background:#fffffffa;color:#111827;border-color:#94a3b847;box-shadow:0 22px 46px #0f172a2e}.account-popover-head p,.account-popover-facts dt{color:#667085}.account-popover-facts{border-top-color:#94a3b833;border-bottom-color:#94a3b833}.account-popover-facts dd{color:#111827}.account-popover-action{background:#111827;color:#fff;border-color:#0f172a29;box-shadow:0 14px 28px #0f172a29}.account-popover-action.primary{background:#111827;color:#fff}.desk-stage{--dock-width: 360px;--dock-gutter: 0px;--dock-tab-size: 54px;--dock-tab-half: 27px}h1,.action-context strong,.control-focus-head strong,.setup-head strong,.tile-meta strong,.empty-screen strong,.panel-title h2,.facts dd,.pricing-hero-copy h2,.doc-hero-copy h2,.doc-card h3,.doc-sync h3,.doc-firewall h3,.doc-command-panel h3,.license-card strong,.ltd-card-head strong,.ltd-title h3,.feature-list strong,.pricing-facts dd,.plan-summary strong,.status-item strong{color:#111827}.brand p,.action-context span,.control-focus-title>span,.setup-head span,.field-row span,.setup-disclosure,.tile-meta span,.panel-title,.facts dt,.muted,.license-card span,.license-card p,.ltd-card-head p,.ltd-title span,.feature-list small,.pricing-facts dt,.doc-hero-copy p,.doc-card p,.doc-sync p,.doc-firewall p,.doc-command-head p,.doc-language-picker span,.doc-card ul,.doc-sync ul,.doc-firewall ul,.doc-command-row span,.plan-summary p,.status-item span{color:#667085}.brand-mark,.avatar-fallback{background:linear-gradient(145deg,#10b981,#3b82f6);color:#fff;box-shadow:0 14px 30px #2563eb33}.icon-button,.text-button,.dock-toggle{background:#fff;border-color:#94a3b857;color:#1f2937;box-shadow:0 9px 22px #0f172a1a,0 1px #ffffffe6 inset}.icon-button:hover,.text-button:hover,.dock-toggle:hover{background:#fff;border-color:#47556952;box-shadow:0 14px 30px #0f172a24,0 1px #ffffffeb inset}.text-button.primary,.segmented-control button.active{background:#111827;border-color:#111827;color:#fff}.text-button.buy{background:#10b981;border-color:#10b981;color:#fff;box-shadow:0 14px 28px #10b9813d}.notice-band{background:#fff7ed;border-color:#f59e0b61;color:#9a3412;box-shadow:0 12px 24px #f59e0b1c}.monitor-layout{position:relative;grid-template-columns:minmax(0,1fr) var(--dock-width);gap:0}.screen-wall-panel{position:relative;padding-right:18px}.free-ad-banner{position:sticky;bottom:14px;z-index:40;width:min(760px,calc(100% - 32px));min-height:74px;margin:18px auto 0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;padding:10px 14px;border:1px solid rgba(100,116,139,.38);border-radius:8px;background:#ffffffeb;color:#111827;box-shadow:0 0 0 1px #ffffffad inset,0 2px 5px #0f172a29,0 18px 40px #0f172a24,0 1px #ffffffe6 inset;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.free-ad-banner .ad-label{align-self:start;color:#98a2b3;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}.livedesk-ad-unit{min-width:0;width:100%;min-height:54px}.house-ad-copy{min-width:0;display:grid;gap:4px}.house-ad-copy strong{color:#111827;font-size:13px;font-weight:900}.house-ad-copy span{color:#475467;font-size:12px;line-height:1.35;font-weight:760}.free-ad-banner.adsense-ready{min-height:90px}.monitor-layout.dock-collapsed{grid-template-columns:minmax(0,1fr) 0;gap:0}.monitor-layout.dock-collapsed .screen-wall-panel{padding-right:0}.right-dock{position:fixed;top:0;right:0;bottom:0;width:var(--dock-width);min-width:0;overflow:visible;overflow-y:auto;z-index:900;height:100vh;min-height:100vh;padding:18px 12px 18px 24px;border-left:1px solid rgba(203,213,225,.72);border-radius:0;background:linear-gradient(180deg,#fffffffa,#f9fafbf2),#fff;box-shadow:-12px 0 22px #0f172a21,-3px 0 8px #0f172a14,1px 0 #fffffff2 inset;isolation:isolate}.right-dock.collapsed{width:0;min-width:0;height:0;min-height:0;bottom:auto;padding:0;border-left-width:0;border-left-color:transparent;border-radius:0;background:transparent;box-shadow:none;pointer-events:none}.dock-toggle{position:fixed;top:50vh;right:var(--dock-width);z-index:1000;pointer-events:auto;width:var(--dock-tab-half);height:var(--dock-tab-size);margin:0;border-radius:999px 0 0 999px;color:#475467;transform:translateY(-50%);overflow:hidden;background:#fff;border-color:#cbd5e1eb;border-right-color:#fff0;box-shadow:-8px 0 16px #0f172a29,-2px 0 5px #0f172a1a,0 1px #fffffffa inset}.dock-toggle:after{display:none}.dock-toggle svg{position:relative;z-index:2;transform:translate(1px)}.dock-toggle:hover{color:#475467;background:#fff;border-color:#cbd5e1eb;box-shadow:-8px 0 16px #0f172a29,-2px 0 5px #0f172a1a,0 1px #fffffffa inset;transform:translateY(-50%) scale(1.03)}.dock-toggle:focus-visible{outline:0;color:#475467;box-shadow:-8px 0 16px #0f172a29,-2px 0 5px #0f172a1a,0 0 0 3px #4755692e}.right-dock.collapsed .dock-toggle{right:0;width:var(--dock-tab-half);height:var(--dock-tab-size);pointer-events:auto;border-radius:999px 0 0 999px;box-shadow:-8px 0 18px #0f172a2e,-2px 0 6px #0f172a1a,0 1px #fffffff5 inset}.right-dock.collapsed .dock-toggle:hover{box-shadow:-8px 0 18px #0f172a2e,-2px 0 6px #0f172a1a,0 1px #fffffff5 inset}.right-dock.collapsed .dock-toggle:focus-visible{box-shadow:-8px 0 18px #0f172a2e,-2px 0 6px #0f172a1a,0 0 0 3px #4755692e}.action-context,.setup-card,.settings-card,.status-item,.side-panel,.pricing-hero-copy,.license-card,.ltd-card,.pricing-panel,.doc-hero-copy,.doc-language-picker,.doc-card,.doc-sync,.doc-firewall,.doc-command-panel{background:linear-gradient(180deg,#fffffff5,#f9fafbeb),#fff;border-color:#94a3b847;box-shadow:0 18px 38px #0f172a1c,0 2px 6px #0f172a0f,0 1px #fffffffa inset}.segmented-control{background:#ffffffdb;border-color:#94a3b852;box-shadow:0 12px 26px #0f172a1a,0 1px #ffffffe6 inset}.segmented-control button{color:#667085}.segmented-control button:hover{color:#111827;background:#0f172a0d}.doc-language-picker select{background:#f8fafc;border-color:#94a3b852;color:#111827}.doc-card-icon{background:#ecfdf5;color:#10b981}.doc-firewall{border-color:#f59e0b57}.doc-firewall-head svg{color:#d97706}.doc-command-head svg,.doc-command-row code{color:#047857}.doc-command-row{background:#f8fafc;border-color:#94a3b83d}.device-tile{background:#fff;border-color:#94a3b83d;box-shadow:0 20px 42px #0f172a24,0 3px 9px #0f172a0f,0 1px #fffffff5 inset}.device-tile.selected{border-color:#2563ebdb;box-shadow:0 0 0 3px #2563eb47,0 3px 9px #0f172a14}.wall-device-list{position:relative;min-width:0;max-height:calc(100vh - 82px);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border:1px solid rgba(148,163,184,.3);border-radius:8px;background:#ffffffe6;box-shadow:0 18px 42px #0f172a1a,0 1px #fffffff5 inset}.wall-device-list-head,.wall-device-list-row{display:grid;grid-template-columns:minmax(160px,1.5fr) 84px repeat(4,minmax(52px,.48fr)) minmax(82px,.7fr) minmax(76px,.65fr) minmax(118px,.9fr);min-width:750px}.wall-device-list-head{position:sticky;top:0;z-index:4;min-height:36px;align-items:center;border-bottom:1px solid rgba(148,163,184,.34);background:#f1f5f9f7;color:#64748b;box-shadow:0 2px 6px #0f172a0f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.wall-device-list-head>span{min-width:0;padding:0 8px;overflow:hidden;font-size:10px;font-weight:900;letter-spacing:.045em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.wall-device-list-head>span+span{border-left:1px solid rgba(148,163,184,.18)}.wall-device-list-row{position:relative;min-height:58px;align-items:stretch;border-bottom:1px solid rgba(148,163,184,.2);background:#ffffffd6;color:#1f2937;cursor:default;outline:none}.wall-device-list-row:last-child{border-bottom:0}.wall-device-list-row:hover{z-index:1;background:#f8fafc}.wall-device-list-row:focus-visible{z-index:2;box-shadow:inset 0 0 0 2px #2563eb94}.wall-device-list-row.selected{z-index:1;background:#eff6ff;box-shadow:inset 3px 0 #2563eb,inset 0 0 0 1px #2563eb3d}.wall-device-list-row.state-warn{box-shadow:inset 3px 0 #f59e0b}.wall-device-list-row.state-critical,.wall-device-list-row.state-offline{box-shadow:inset 3px 0 #ef4444}.wall-device-list-row.selected.state-warn,.wall-device-list-row.selected.state-critical,.wall-device-list-row.selected.state-offline{box-shadow:inset 3px 0 #2563eb,inset 0 0 0 1px #2563eb3d}.wall-device-list-row>[role=gridcell]{min-width:0;padding:8px}.wall-device-list-row>[role=gridcell]+[role=gridcell]{border-left:1px solid rgba(148,163,184,.15)}.wall-device-name{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:8px}.wall-device-name>span:not(.wall-device-icon){min-width:0;display:grid;gap:3px}.wall-device-icon{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(59,130,246,.2);border-radius:6px;background:#eff6ff;color:#2563eb}.wall-device-name strong,.wall-device-name small,.wall-device-list-status strong,.wall-device-list-metric strong,.wall-device-list-metric small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wall-device-name strong{color:#172033;font-size:12px;font-weight:850}.wall-device-name small{color:#7c8799;font-size:9px;font-weight:700}.wall-device-name>svg{color:#2563eb}.wall-device-list-status{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:center;gap:7px}.wall-device-list-status>i{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #22c55e1f}.wall-device-list-status strong{color:#475569;font-size:10px;font-weight:850}.wall-device-list-status.state-busy>i,.wall-device-list-status.update-updating>i,.wall-device-list-status.update-queued>i{background:#3b82f6;box-shadow:0 0 0 3px #3b82f61f}.wall-device-list-status.state-warn>i{background:#f59e0b;box-shadow:0 0 0 3px #f59e0b21}.wall-device-list-status.state-critical>i,.wall-device-list-status.state-offline>i,.wall-device-list-status.update-failed>i{background:#ef4444;box-shadow:0 0 0 3px #ef44441f}.wall-device-list-status.state-stale>i{background:#94a3b8;box-shadow:0 0 0 3px #94a3b824}.wall-device-list-metric{position:relative;display:grid;align-content:center;gap:3px}.wall-device-list-metric strong{color:#334155;font-size:11px;font-weight:900}.wall-device-list-metric small{color:#94a3b8;font-size:8px;font-weight:700}.wall-device-list-metric>i{position:absolute;left:8px;bottom:5px;max-width:calc(100% - 16px);height:2px;border-radius:999px;background:#22c55e;opacity:.72}.wall-device-list-metric.state-warn strong{color:#b45309}.wall-device-list-metric.state-warn>i{background:#f59e0b}.wall-device-list-metric.state-critical strong{color:#dc2626}.wall-device-list-metric.state-critical>i{background:#ef4444}.wall-device-list-metric.state-unknown{opacity:.58}.wall-device-list-diagnostics{grid-column:1 / -1;padding:6px 8px 8px!important;border-top:1px solid rgba(148,163,184,.18);border-left:0!important;background:#f1f5f99e}.wall-device-list-diagnostics .remote-status-lines{position:static;max-height:none;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));overflow:visible}.wall-device-list-empty{min-height:240px;display:grid;place-content:center;justify-items:center;gap:9px;color:#94a3b8}.wall-device-list-empty strong{color:#64748b;font-size:12px;font-weight:800}.device-tile.selected:before{border-color:#0d9488eb;box-shadow:0 0 0 2px #ffffffdb,0 0 18px #0d948833}.tile-screen{background:linear-gradient(rgba(17,24,39,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(17,24,39,.045) 1px,transparent 1px),linear-gradient(180deg,#fff,#f8fafc);background-size:34px 34px,34px 34px,auto}.tile-screen.has-frame{background:#000;background-size:auto}.tile-screen:after{border-color:#94a3b847;box-shadow:inset 0 0 0 1px #ffffffa3,inset 0 -24px 40px #0f172a09}.monitor-cycle-button{border-color:#94a3b85c;background:#ffffffe6;color:#111827;box-shadow:0 8px 18px #0f172a29,0 1px #ffffffe6 inset}.monitor-cycle-button:hover{background:#fff}.monitor-cycle-count{border-color:#94a3b847;background:#ffffffe0;color:#111827;box-shadow:0 10px 24px #0f172a1f,0 1px #ffffffe6 inset}.tile-health-pill,.wall-device-title{border:1px solid rgba(148,163,184,.36);background:#fffffff5;color:#64748b;box-shadow:0 1px 2px #0f172a1f,0 1px #fffffff5 inset}.tile-health-pill.state-online{color:#047857}.tile-health-pill.state-busy{color:#1d4ed8}.tile-health-pill.state-warn{color:#b45309}.tile-health-pill.state-critical{color:#be123c}.tile-health-pill.state-stale,.tile-health-pill.state-offline{color:#64748b}.device-tile.selected .wall-device-title{border-color:#60a5fac7;background:#fffffffa;color:#1d4ed8;box-shadow:0 0 0 1px #93c5fdb8,0 0 0 4px #2563eb3d,0 1px #fffffff5 inset}.slot-grid{background-image:linear-gradient(rgba(17,24,39,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(17,24,39,.045) 1px,transparent 1px)}.placeholder-tile{border-style:solid;background:#fff}.empty-screen{color:#98a2b3}.dot.gray{background:#cbd5e1}.dot.green{background:#10b981;box-shadow:0 0 0 4px #10b98124}.machine-metric,.tool-probe,.workload-card{background:#f8fafc;border-color:#94a3b83d}.tile-metric{background:#fffffff5;border-color:#94a3b857;box-shadow:0 1px 2px #0f172a1a}.tile-metric b,.machine-metric span,.machine-metric small,.machine-section-title,.tool-probe em,.workload-card span,.workload-card p,.machine-title span{color:#667085}.tile-metric em,.machine-metric strong,.machine-title strong,.tool-probe b,.workload-card strong{color:#111827}.machine-health{background:#fff;border-color:#94a3b847;color:#111827}.machine-section{border-top-color:#94a3b838}.machine-metric i{background:#94a3b838}.setup-icon{background:#ecfdf5;color:#10b981}.field-row input,.setup-code-row,textarea{background:#f8fafc;border-color:#94a3b852;color:#111827}.setup-code-row code{color:#047857}.field-row input:focus,textarea:focus{border-color:#10b981b8;box-shadow:0 0 0 3px #10b98121}textarea::placeholder{color:#98a2b3}.feature-list li{background:#f8fafc;border-color:#94a3b83d}.feature-list svg,.pricing-eyebrow,.plan-badge,.plan-summary span{color:#10b981}.action-tile{background:#fff;border-color:#94a3b847;color:#475467;box-shadow:0 14px 28px #0f172a1a,0 1px #fffffff5 inset}.action-tile:hover:not(:disabled){color:#111827;background:#fff;border-color:#4755694d;box-shadow:0 18px 34px #0f172a24,0 1px #fffffff5 inset}.action-tile.primary{background:#ecfdf5;border-color:#10b98147;color:#047857}.action-tile.active{background:#eff6ff;border-color:#3b82f65c;color:#1d4ed8}.manual-action-bar{min-height:34px;display:flex;align-items:center;gap:4px;padding:0 2px}.manual-action-tooltip{position:relative;flex:0 0 34px;display:inline-flex}.manual-action-tooltip.disabled{cursor:default}.manual-action-tooltip.disabled .manual-action{pointer-events:none}.manual-action-tooltip:after{position:absolute;top:calc(100% + 7px);left:50%;z-index:100;width:max-content;max-width:min(280px,calc(100vw - 32px));padding:5px 7px;border-radius:4px;background:#1f2937;color:#f8fafc;box-shadow:0 4px 12px #0f172a38;content:attr(data-tooltip);font-size:11px;font-weight:650;line-height:1.3;opacity:0;pointer-events:none;text-align:left;transform:translate(-50%,-2px);transition:opacity .1s ease,transform .1s ease;visibility:hidden;white-space:normal}.manual-action-tooltip:first-child:after{left:0;transform:translateY(-2px)}.manual-action-tooltip:nth-last-child(-n+3):after{right:0;left:auto;transform:translateY(-2px)}.manual-action-tooltip:hover:after,.manual-action-tooltip:focus-within:after{opacity:1;transform:translate(-50%);visibility:visible}.manual-action-tooltip:first-child:hover:after,.manual-action-tooltip:first-child:focus-within:after,.manual-action-tooltip:nth-last-child(-n+3):hover:after,.manual-action-tooltip:nth-last-child(-n+3):focus-within:after{transform:translateY(0)}.manual-action{flex:0 0 34px;width:34px;height:34px;display:inline-flex;min-width:34px;min-height:34px;align-items:center;justify-content:center;border:1px solid transparent;border-radius:5px;background:transparent;color:#526174;cursor:pointer;box-shadow:none;padding:0;transition:background-color .12s ease,color .12s ease,border-color .12s ease}.manual-action:hover:not(:disabled){border-color:transparent;background:#e9eef5;color:#111827}.manual-action:focus-visible{outline:1px solid #5b86c5;outline-offset:-1px}.manual-action.active{border-color:transparent;background:#e7f0ff;color:#1d4ed8}.manual-action.danger{color:#b42318}.manual-action.danger:hover:not(:disabled){background:#feeceb;color:#b42318}.manual-action:disabled{cursor:default;opacity:.35}.manual-action svg{pointer-events:none}.wall-update-status small{max-width:min(90%,320px);overflow:hidden;color:currentColor;font-size:10px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.transfer-bar{color:#475569}.transfer-bar-track{background:#94a3b83d}.transfer-bar.state-failed{color:#991b1b}.pricing-page{width:min(620px,calc(100vw - 130px));min-height:calc(100vh - 112px);place-items:center}.pricing-offer{position:relative;width:100%;min-width:0;display:grid;gap:16px;padding:26px;overflow:hidden;border:1px solid rgba(148,163,184,.28);border-radius:10px;background:radial-gradient(circle at 58% 9%,#ffffff1a,#fff0 16%),linear-gradient(180deg,#1f2937fa,#111827fa 45%,#030712fc);color:#f8fafc;box-shadow:0 30px 70px #0f172a38,0 0 0 1px #ffffff0a inset,0 22px 48px #0f172a38}.pricing-close{position:absolute;top:18px;right:18px;z-index:2;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:#ffffff14;color:#ffffffdb;box-shadow:none}.pricing-close:hover{background:#ffffff24;color:#fff}.pricing-offer-head{display:grid;gap:10px;padding-right:42px}.pricing-offer .pricing-eyebrow{color:#d1d5db;letter-spacing:.08em}.deal-price-line{min-width:0;display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}.deal-price-line strong,.deal-original{color:#fff;font-size:clamp(42px,8vw,64px);line-height:.9;font-weight:950}.deal-original{opacity:.9;text-decoration:line-through;text-decoration-thickness:3px;text-decoration-color:#d1d5dbb8}.deal-arrow{color:#ffffffdb;font-size:clamp(30px,5vw,44px);line-height:1;font-weight:900}.deal-badge{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:8px;background:#e5e7eb;color:#111827;font-size:12px;font-weight:950;box-shadow:0 14px 28px #0f172a38}.pricing-offer-head p{max-width:520px;margin:0;color:#e5e7ebb8;font-size:15px;line-height:1.5;font-weight:750}.deal-table,.deal-module,.deal-open-price{border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#02061747;box-shadow:0 1px #ffffff14 inset}.deal-table{overflow:hidden}.deal-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(160px,1.3fr) minmax(76px,auto);gap:12px;align-items:center;padding:12px 16px;border-top:1px solid rgba(255,255,255,.09);color:#f3f4f6e0;font-size:13px;font-weight:800}.deal-row:first-child{border-top:0}.deal-row-head{padding-block:10px;background:#ffffff14;color:#d1d5db94;font-size:11px;text-transform:uppercase;letter-spacing:.04em}.deal-row-highlight{background:linear-gradient(90deg,#4b55638f,#11182729)}.deal-row strong{color:#fff;font-size:14px;font-weight:950}.deal-row s{color:#ffffff7a;font-weight:950}.deal-row>:last-child{justify-self:end;color:#f9fafb}.deal-card-grid{display:grid;grid-template-columns:1fr;gap:10px}.deal-plan-card{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#02061738;box-shadow:0 1px #ffffff14 inset}.deal-plan-card.featured{border-color:#d1d5db57;background:linear-gradient(90deg,#4b556375,#11182738),#02061742}.deal-plan-card span{grid-column:1 / -1;color:#d1d5db9e;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.deal-plan-card h3{margin:0;color:#fff;font-size:22px;line-height:1;font-weight:950}.deal-plan-card strong{justify-self:end;color:#fff;font-size:18px;line-height:1;font-weight:950}.deal-plan-card p{grid-column:1 / -1;margin:0;color:#e5e7ebb8;font-size:12px;line-height:1.45;font-weight:800}.deal-plan-card ul{grid-column:1 / -1;display:grid;gap:4px;margin:2px 0 0;padding:0;list-style:none;color:#f3f4f6d6;font-size:12px;font-weight:850}.deal-plan-card li:before{content:"";display:inline-block;width:5px;height:5px;margin-right:8px;border-radius:999px;background:#d1d5db;vertical-align:2px}.deal-card-button{grid-column:1 / -1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;border:0;border-radius:8px;background:#f9fafb;color:#111827;font-size:13px;font-weight:950;box-shadow:0 14px 28px #0f172a38,0 1px #ffffffbf inset}.deal-card-button:disabled{cursor:not-allowed;opacity:.58}.deal-module{display:grid;gap:12px;padding:14px}.deal-module-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.deal-module-title strong{color:#fff;font-size:13px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.deal-module-title span{color:#d1d5db;font-size:12px;font-weight:900}.deal-feature-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.deal-feature-list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;color:#f3f4f6e0;font-size:13px;font-weight:850}.deal-feature-list svg{color:#d1d5db}.deal-feature-list b{padding:4px 8px;border:1px solid rgba(209,213,219,.28);border-radius:999px;color:#e5e7eb;font-size:11px}.deal-open-price{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 16px;align-items:center;padding:16px;border-color:#94a3b83d;background:#1118277a}.deal-open-price>span{color:#d1d5dba8;font-size:12px;font-weight:950;text-transform:uppercase}.deal-open-price strong{justify-self:end;color:#fff;font-size:24px;line-height:1;font-weight:950}.deal-open-price small{grid-column:1 / -1;color:#d1d5db9e;font-size:12px;line-height:1.45;font-weight:800}.deal-note{display:inline-flex;justify-content:center;gap:8px;align-items:center;margin:2px 0 0;color:#d1d5dbb8;font-size:12px;line-height:1.4;font-weight:850;text-align:center}.deal-note svg{color:#d1d5db;flex:0 0 auto}.deal-cta{display:inline-flex;justify-content:center;align-items:center;gap:9px;width:100%;min-height:58px;border:0;border-radius:10px;background:linear-gradient(90deg,#111827,#374151);color:#fff;font-size:16px;font-weight:950;box-shadow:0 18px 40px #0f172a52,0 1px #ffffff57 inset}.deal-cta:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 24px 48px #0f172a61,0 1px #fff6 inset}.deal-cta:disabled{cursor:not-allowed;opacity:.68}.deal-later{justify-self:center;border:0;background:transparent;color:#d1d5db8f;font-size:13px;font-weight:900}.deal-later:hover{color:#fff}@media(max-width:1180px){.dock-toggle{right:var(--dock-width);top:50vh;bottom:auto}.right-dock.collapsed .dock-toggle{right:0;top:50vh;bottom:auto}.monitor-layout.dock-collapsed{grid-template-columns:1fr}.livedesk-toast{right:12px;bottom:12px;width:calc(100vw - 24px)}}@media(max-width:760px){.pricing-page{width:min(100%,calc(100vw - 84px));min-height:auto;align-items:start}.pricing-offer{padding:20px;gap:13px}.deal-price-line strong,.deal-original{font-size:42px}.deal-badge{width:fit-content}.deal-row{grid-template-columns:1fr auto;gap:7px 10px}.deal-row span:nth-child(2){grid-column:1 / -1;order:3}.deal-open-price{grid-template-columns:1fr}.deal-open-price strong{justify-self:start}.transfer-bar{left:50%;right:auto;width:min(320px,calc(100vw - 32px));grid-template-columns:minmax(100px,1fr) auto;gap:6px}.transfer-bar p{max-width:120px}.desk-stage{--dock-width: min(360px, calc(100vw - 24px) )}.desk-stage.dock-open .topbar{padding-right:0}.monitor-layout:not(.dock-collapsed){grid-template-columns:1fr}}.desk-stage.control-stage{height:100vh;min-height:100vh;overflow:hidden;gap:0;padding:0}.desk-stage.control-stage .topbar{display:none}.desk-stage.control-stage .monitor-layout{height:100vh;min-height:0;align-items:stretch;overflow:hidden}.desk-stage.control-stage .screen-wall-panel{height:100vh;min-height:0;overflow:hidden;padding:0}.desk-stage.control-stage .control-focus{min-height:0;height:100vh;display:block}.desk-stage.control-stage .control-wall{--control-screen-height: calc(100vh - 8px) ;position:relative;width:100%;height:100vh;min-height:0;box-sizing:border-box;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:4px 8px}.desk-stage.control-stage .control-wall .device-tile{flex:0 1 auto;align-self:center;width:min(100%,calc(var(--control-screen-height) * var(--screen-aspect, 1.77778)));max-width:100%;height:auto;line-height:0;border:0;border-radius:0;background:transparent;box-shadow:none}.desk-stage.control-stage .control-wall .tile-screen{padding:0}.desk-stage.control-stage .control-wall .screen-content{inset:0;border-radius:0}.desk-stage.control-stage .control-wall .remote-canvas{border-radius:0}.desk-stage.control-stage .control-wall .tile-screen:after{border:0;box-shadow:none}.desk-stage.control-stage .control-monitor-tabs{position:absolute;top:8px;left:50%;z-index:24;max-width:min(82vw,920px);min-height:30px;display:flex;align-items:center;justify-content:center;gap:4px;overflow-x:auto;padding:3px;border:1px solid rgba(148,163,184,.24);border-radius:999px;background:#ffffffc7;box-shadow:0 10px 24px #0f172a1f,0 1px #ffffffe0 inset;transform:translate(-50%)}.desk-stage.control-stage .control-computer-name{flex:0 1 auto;min-width:0;max-width:180px;padding:0 10px 0 8px;overflow:hidden;border-right:1px solid rgba(100,116,139,.28);color:#1d4ed8;font-size:10px;font-weight:900;line-height:24px;text-overflow:ellipsis;white-space:nowrap}.desk-stage.control-stage .control-monitor-tabs button{min-width:0;width:auto;height:24px;display:inline-flex;align-items:center;gap:5px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:#475569;box-shadow:none;font-size:10px;line-height:1}.desk-stage.control-stage .control-monitor-tabs button.active{background:#111827;color:#fff}.desk-stage.control-stage .control-monitor-tabs span{max-width:120px;font-size:10px;font-weight:850}.desk-stage.control-stage .control-monitor-tabs small{font-size:8px;font-weight:700;opacity:.72}.desk-stage.control-stage .control-modifier-bar{position:absolute;left:50%;bottom:12px;z-index:25;display:flex;align-items:center;gap:4px;padding:4px;transform:translate(-50%);border:1px solid rgba(148,163,184,.28);border-radius:999px;background:#ffffffd1;box-shadow:0 10px 24px #0f172a24}.desk-stage.control-stage .control-modifier-bar button{min-width:46px;height:28px;padding:0 10px;border:1px solid transparent;border-radius:999px;background:transparent;color:#475569;font:inherit;font-size:11px;font-weight:900;cursor:pointer}.desk-stage.control-stage .control-modifier-bar button:hover{border-color:#2563eb3d;color:#1d4ed8}.desk-stage.control-stage .control-modifier-bar button.active{border-color:#2563eb;background:#0f172a;color:#fff}.desk-stage.control-stage .remote-keyboard-input{position:fixed;left:50%;bottom:1px;z-index:-1;width:1px;height:1px;min-width:1px;min-height:1px;padding:0;border:0;opacity:0;color:transparent;background:transparent;caret-color:transparent;pointer-events:none;resize:none;transform:translate(-50%);font-size:16px}.desk-stage.control-stage .monitor-cycle{display:none}.share-files-page{width:min(1100px,64vw);min-width:0;margin:0 auto;padding:8px 0 48px;display:grid;gap:18px;color:#172033}.share-files-header,.share-section-heading,.share-files-header-actions,.share-destination-row,.share-folder-row,.share-auto-sync,.share-direct-actions button{display:flex;align-items:center}.share-files-header{justify-content:space-between;gap:22px;padding-bottom:18px;border-bottom:1px solid rgba(148,163,184,.28)}.share-files-header>div:first-child{display:grid;gap:5px}.share-files-eyebrow{display:inline-flex;align-items:center;gap:7px;color:#64748b;font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.share-files-header h2{color:#111827;font-size:25px;line-height:1.15;font-weight:760}.share-files-header p{color:#667085;font-size:13px;font-weight:550}.share-files-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.share-target-panel,.share-sync-section,.share-direct-section{min-width:0;display:grid;gap:14px;padding:18px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#ffffffe0;box-shadow:0 16px 36px #0f172a17,0 1px #fffffff5 inset}.share-section-heading{justify-content:space-between;gap:16px}.share-section-heading>div:first-child{display:grid;gap:2px}.share-section-heading span{color:#667085;font-size:10px;font-weight:800;letter-spacing:0;text-transform:uppercase}.share-section-heading strong{color:#111827;font-size:16px;font-weight:760}.share-section-heading .segmented-control{width:auto;flex:0 0 auto}.share-section-heading .segmented-control button{display:inline-flex;align-items:center;gap:6px;min-width:118px}.share-destination-row{gap:12px;padding:12px 0;border-top:1px solid rgba(148,163,184,.18);border-bottom:1px solid rgba(148,163,184,.18)}.share-directory-field{min-width:0;flex:1 1 auto;display:grid;grid-template-columns:auto minmax(160px,1fr);align-items:center;gap:10px}.share-directory-field>span,.share-directory-hint{color:#667085;font-size:11px;font-weight:700}.share-directory-field input{width:100%;height:38px;box-sizing:border-box;border:1px solid rgba(148,163,184,.34);border-radius:7px;background:#f8fafc;color:#111827;padding:0 11px;outline:none}.share-directory-field input:focus{border-color:#3b82f68f;box-shadow:0 0 0 3px #3b82f61c}.share-device-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.share-device-option{min-width:0;min-height:52px;display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:9px;padding:8px 10px;border:1px solid rgba(148,163,184,.24);border-radius:7px;background:#f8fafc;color:#64748b;cursor:pointer}.share-device-option.selected{border-color:#3b82f652;background:#eff6ff;color:#2563eb}.share-device-option input{width:16px;height:16px;margin:0;accent-color:#2563eb}.share-device-option span{min-width:0;display:grid;gap:2px}.share-device-option strong,.share-device-option small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-device-option strong{color:#111827;font-size:12px}.share-device-option small{color:#7c8799;font-size:10px}.share-folder-list{display:grid;gap:8px}.share-folder-row{min-width:0;gap:12px;padding:11px 12px;border:1px solid rgba(148,163,184,.24);border-radius:7px;background:#f8fafc}.share-folder-row.state-syncing,.share-folder-row.state-scanning{border-color:#3b82f661;background:#eff6ff}.share-folder-row.state-blocked,.share-folder-row.state-error{border-color:#f59e0b5c;background:#fff7ed}.share-folder-icon{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;border-radius:7px;background:#fff;color:#475569;box-shadow:0 7px 16px #0f172a14}.share-folder-info{min-width:0;flex:1 1 auto;display:grid;gap:2px}.share-folder-info strong,.share-folder-info span,.share-folder-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-folder-info strong{color:#111827;font-size:13px}.share-folder-info span,.share-folder-info small{color:#667085;font-size:10px}.share-auto-sync{gap:6px;color:#64748b;font-size:11px;font-weight:750}.share-auto-sync input{width:16px;height:16px;accent-color:#2563eb}.share-remove{flex:0 0 auto;color:#64748b;box-shadow:none}.share-remove:hover{color:#b91c1c}.share-empty-state,.share-empty-inline{color:#7c8799;font-size:12px;text-align:center}.share-empty-state{min-height:112px;display:grid;place-items:center;align-content:center;gap:5px;border:1px dashed rgba(148,163,184,.4);border-radius:7px;background:#f8fafc}.share-empty-state.interactive{width:100%;color:#64748b;cursor:pointer}.share-empty-state.interactive:hover{border-color:#3b82f66b;background:#eff6ff;color:#2563eb}.share-empty-state strong{color:#111827;font-size:13px}.share-empty-state span{max-width:420px;font-size:11px}.share-empty-inline{grid-column:1 / -1;padding:18px}.share-direct-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.share-direct-actions button{min-width:0;min-height:62px;gap:12px;padding:10px 14px;border:1px solid rgba(148,163,184,.26);border-radius:7px;background:#f8fafc;color:#475569;text-align:left}.share-direct-actions button:hover:not(:disabled){border-color:#3b82f657;background:#eff6ff;color:#2563eb}.share-direct-actions button span{min-width:0;display:grid;gap:2px}.share-direct-actions button strong{color:#111827;font-size:12px}.share-direct-actions button small{color:#7c8799;font-size:10px}.share-files-page{width:min(1280px,calc(100vw - 170px));gap:16px;padding-top:4px}.share-files-header{min-height:76px;padding:0 0 14px}.share-files-header h2{font-size:27px}.share-files-header-actions .text-button{min-height:42px;padding-inline:14px}.share-route-map{min-width:0;min-height:118px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.7fr) minmax(240px,1fr);align-items:center;gap:18px;padding:18px 22px;border:1px solid rgba(148,163,184,.28);border-radius:8px;background:#fff;box-shadow:0 18px 38px #0f172a14}.share-route-node{min-width:0;display:flex;align-items:center;gap:13px}.share-route-node>span:last-child{min-width:0;display:grid;gap:2px}.share-route-node small,.share-route-node strong,.share-route-node em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-route-node small{color:#7c8799;font-size:10px;font-style:normal;font-weight:800;text-transform:uppercase}.share-route-node strong{color:#111827;font-size:15px;font-weight:780}.share-route-node em{color:#667085;font-size:11px;font-style:normal;font-weight:600}.share-route-node-icon,.share-route-device-stack{position:relative;width:58px;height:58px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px}.share-route-node-icon{border:1px solid rgba(20,184,166,.28);background:#ecfdf5;color:#0f9f8f;box-shadow:inset 0 0 0 5px #ffffffb3}.share-route-device-stack{border:1px solid rgba(59,130,246,.24);background:#eff6ff;color:#2563eb}.share-route-device-stack svg{position:absolute;padding:3px;border:1px solid rgba(59,130,246,.22);border-radius:5px;background:#fff}.share-route-device-stack svg:nth-child(1){transform:translate(-11px,8px)}.share-route-device-stack svg:nth-child(2){z-index:2;transform:translate(0)}.share-route-device-stack svg:nth-child(3){transform:translate(11px,-8px)}.share-route-connection{min-width:0;display:grid;grid-template-columns:auto minmax(50px,1fr) auto;align-items:center;gap:8px;color:#94a3b8}.share-route-connection>span{position:relative;height:20px;display:flex;align-items:center;justify-content:space-around}.share-route-connection>span:before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:#94a3b880}.share-route-connection i{position:relative;z-index:1;width:6px;height:6px;border:2px solid #ffffff;border-radius:50%;background:#94a3b8}.share-route-connection.active{color:#0f9f8f}.share-route-connection.active i{background:#14b8a6;animation:share-route-pulse .9s ease-in-out infinite alternate}.share-route-connection.active i:nth-child(2){animation-delay:.18s}.share-route-connection.active i:nth-child(3){animation-delay:.36s}@keyframes share-route-pulse{to{transform:scale(1.55)}}.share-target-panel,.share-sync-section,.share-direct-section{gap:16px;padding:18px 20px;box-shadow:0 12px 28px #0f172a11}.share-destination-row{padding:10px 12px;border:1px solid rgba(148,163,184,.24);border-radius:8px;background:#f8fafc}.share-directory-field{grid-template-columns:auto auto minmax(160px,1fr)}.share-directory-field:before{content:"";width:8px;height:8px;border-radius:50%;background:#14b8a6;box-shadow:0 0 0 4px #14b8a61f}.share-directory-field input{height:40px;border-color:transparent;background:#fff;box-shadow:0 1px #0f172a0d}.share-device-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.share-device-option{position:relative;min-height:76px;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;padding:11px 12px;border-radius:8px;background:#f8fafc;transition:border-color .14s ease,background-color .14s ease,transform .14s ease}.share-device-option:hover{border-color:#3b82f65c;transform:translateY(-1px)}.share-device-option.selected{border-color:#2563eb6b;background:#eff6ff;box-shadow:inset 3px 0 #3b82f6}.share-device-option input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.share-device-screen{position:relative;width:44px;height:44px;display:grid;place-items:center;border:1px solid rgba(148,163,184,.24);border-radius:7px;background:#fff;color:#64748b}.share-device-screen i{position:absolute;right:5px;bottom:5px;width:7px;height:7px;border:2px solid #ffffff;border-radius:50%;background:#22c55e}.share-device-option.selected .share-device-screen{border-color:#3b82f647;color:#2563eb}.share-device-check{width:24px;height:24px;display:grid;place-items:center;color:#cbd5e1}.share-device-option.selected .share-device-check{color:#2563eb}.share-empty-state{min-height:154px;gap:7px;border-radius:8px;background:#f8fafc}.share-empty-graphic{position:relative;width:68px;height:56px;display:grid;place-items:center;color:#64748b}.share-empty-graphic svg:last-child{position:absolute;right:4px;bottom:2px;box-sizing:content-box;padding:5px;border:2px solid #f8fafc;border-radius:50%;background:#dbeafe;color:#2563eb}.share-folder-row{min-height:66px;border-radius:8px}.share-folder-icon{position:relative;width:44px;height:44px;color:#2563eb}.share-folder-state{position:absolute;right:3px;bottom:3px;width:8px;height:8px;border:2px solid #ffffff;border-radius:50%;background:#22c55e}.share-folder-state.state-syncing,.share-folder-state.state-scanning{background:#3b82f6;animation:share-route-pulse .7s ease-in-out infinite alternate}.share-folder-state.state-blocked,.share-folder-state.state-error{background:#f59e0b}.share-direct-actions{gap:12px}.share-direct-actions button{min-height:92px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:13px;padding:14px;border-radius:8px;background:#f8fafc}.share-direct-actions button>svg:last-child{color:#94a3b8}.share-direct-actions button:hover:not(:disabled)>svg:last-child{color:#2563eb;transform:translate(2px)}.share-direct-icon{width:54px;height:54px;display:grid;place-items:center;border-radius:8px;background:#e0f2fe;color:#0284c7}.share-direct-icon.folder{background:#fef3c7;color:#d97706}.share-direct-actions button strong{font-size:13px}.share-direct-actions button small{margin-top:2px;font-size:11px}.transfer-bar{width:min(520px,calc(100vw - 32px));min-height:62px;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:10px 12px;border:1px solid rgba(148,163,184,.32);border-radius:8px;background:#fff;box-shadow:0 22px 52px #0f172a33;pointer-events:auto}.transfer-bar-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:7px;background:#eff6ff;color:#2563eb}.transfer-bar-copy{min-width:0;display:grid;align-content:center;gap:7px}.transfer-bar p{max-width:none;color:#334155;font-size:11px}.transfer-bar>strong{color:#111827;font-size:12px;font-weight:800}.transfer-bar-track{height:5px}.transfer-bar.state-queued .transfer-bar-icon{background:#ecfdf5;color:#059669}.transfer-bar.state-failed .transfer-bar-icon{background:#fef2f2;color:#dc2626}@media(max-width:1180px){.share-files-page{width:min(820px,calc(100vw - 116px))}.share-device-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.share-files-page{width:calc(100vw - 92px);gap:12px}.share-files-header,.share-section-heading,.share-destination-row{align-items:stretch;flex-direction:column}.share-files-header-actions{justify-content:flex-start}.share-route-map{grid-template-columns:1fr;gap:10px}.share-route-connection{width:min(260px,80%);justify-self:center}.share-section-heading .segmented-control{width:100%}.share-section-heading .segmented-control button{min-width:0}.share-directory-field,.share-device-list,.share-direct-actions{grid-template-columns:1fr}.share-directory-field:before{display:none}.share-folder-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.share-auto-sync{grid-column:2}.transfer-bar{width:min(420px,calc(100vw - 24px));grid-template-columns:auto minmax(0,1fr) auto}}.runtime-role-settings .settings-reset{margin-top:10px}.runtime-role-success{color:#166534;font-weight:700}.runtime-role-error{color:#b42318;font-weight:700}.runtime-role-boot{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:10px;background:var(--livedesk-workspace-floor);color:#111827;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.wall-presentation-loading small{max-width:240px;color:#94a3b8;font-size:10px;line-height:1.4}.wall-presentation-loading.permission-required svg{color:#fbbf24}.runtime-role-boot-mark{width:30px;height:30px;border:3px solid rgba(15,118,110,.18);border-top-color:#0f766e;border-radius:999px;animation:runtime-role-boot-spin .8s linear infinite}.runtime-role-boot strong{font-size:15px}.runtime-role-boot p{margin:0;color:#667085;font-size:12px}.runtime-role-boot-retry{min-width:108px;min-height:40px;margin-top:4px;border:0;border-radius:10px;background:#0f766e;color:#fff;font:inherit;font-size:13px;font-weight:700;cursor:pointer}.runtime-role-boot-retry:focus-visible{outline:3px solid rgba(15,118,110,.28);outline-offset:3px}@keyframes runtime-role-boot-spin{to{transform:rotate(360deg)}}.mobile-console-header,.mobile-console-nav{display:none}html.livedesk-mobile-console-active,html.livedesk-mobile-console-active body,html.livedesk-mobile-console-active #root{height:100%;min-height:0;overflow:hidden;overscroll-behavior:none;background:var(--livedesk-workspace-base)}html.livedesk-mobile-console-active{scrollbar-gutter:auto}html.livedesk-mobile-console-active #root{position:relative}.mobile-console-shell{--livedesk-mobile-nav-bottom-gap: max(4px, calc(env(safe-area-inset-bottom) - 12px) );--livedesk-mobile-header-height: 58px;position:fixed;top:var(--livedesk-mobile-viewport-top, 0px);right:auto;left:var(--livedesk-mobile-viewport-left, 0px);width:var(--livedesk-mobile-viewport-width, 100vw);height:var(--livedesk-mobile-viewport-height, 100dvh);min-height:0;max-height:var(--livedesk-mobile-viewport-height, 100dvh);grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;overflow:hidden;background:var(--livedesk-workspace-floor);color:#111827}.mobile-console-shell[data-mobile-standalone=true],.mobile-console-shell[data-mobile-ios=true]{--livedesk-mobile-nav-bottom-gap: 0px;position:fixed;inset:0;width:auto;height:auto;max-height:none}.mobile-console-shell[data-mobile-ios=true]{padding-top:var(--livedesk-mobile-ios-top-guard, 0px)}.mobile-console-shell[data-mobile-android=true]:not([data-mobile-standalone=true]){right:0;width:auto}@supports (-webkit-touch-callout: none){.mobile-console-shell{--livedesk-mobile-nav-bottom-gap: 0px;position:fixed;inset:0;width:auto;height:auto;max-height:none;padding-top:var(--livedesk-mobile-ios-top-guard, 0px)}}.mobile-console-shell>.tool-rail{display:none}.mobile-console-shell>.desk-stage>.mobile-console-header{flex:0 0 auto;min-width:0;min-height:58px;max-height:112px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;margin:0 calc(0px - max(10px,env(safe-area-inset-right))) 0 calc(0px - max(10px,env(safe-area-inset-left)));padding:max(8px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));border-bottom:1px solid #dbe3ec;background:#fffffff5;box-shadow:0 6px 18px #0f172a0f;box-sizing:border-box;overflow:hidden;z-index:80}.mobile-console-brand,.mobile-console-hub,.mobile-console-header-actions,.mobile-console-install,.mobile-console-brand-mark,.mobile-console-update{display:inline-flex;align-items:center}.mobile-console-header-actions{grid-column:3;gap:6px}.mobile-wall-preferences{position:relative;z-index:85;flex:0 0 auto;width:100%;min-width:0;display:flex;align-items:flex-start;justify-content:center;gap:10px;padding:2px 0 8px;box-sizing:border-box;pointer-events:auto}.mobile-wall-preferences .segmented-control{gap:2px;padding:3px;border-color:#94a3b85c;background:#fffffff0}.mobile-wall-preferences .segmented-control button{min-width:48px;height:30px;padding:0 6px;font-size:12px;pointer-events:auto;touch-action:manipulation}.mobile-wall-preferences .segmented-control button.active{background:#111827;color:#fff}.mobile-wall-preferences .wall-cadence-control button{min-width:50px}.mobile-wall-preferences[data-list-status-only=true] .wall-view-control>.segmented-control{border-color:#2563eb6b}@media(max-width:359px){.mobile-wall-preferences{gap:6px}.mobile-wall-preferences .segmented-control button,.mobile-wall-preferences .wall-cadence-control button{min-width:44px;padding:0 4px}}.mobile-console-brand{min-width:0;gap:9px}.mobile-console-brand-mark{width:34px;height:34px;flex:0 0 34px;justify-content:center;border-radius:8px;background:#111827;color:#fff;box-shadow:0 8px 18px #0f172a2e}.mobile-console-brand>span:last-child,.mobile-console-hub>span{min-width:0;display:grid}.mobile-console-brand strong{font-size:15px;line-height:1.1}.mobile-console-brand small,.mobile-console-hub small{overflow:hidden;color:#7c8799;font-size:9px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.mobile-console-hub{min-width:0;max-width:142px;justify-self:end;column-gap:9px;padding:0 3px;border:0;background:transparent;color:inherit;text-align:left;touch-action:manipulation}.mobile-console-hub:disabled{cursor:default;opacity:1}.mobile-console-hub:not(:disabled){cursor:pointer}.mobile-console-hub-live{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobile-console-hub>i{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 4px #f59e0b1f}.mobile-console-hub.state-online>i{background:#10b981;box-shadow:0 0 0 4px #10b9811f}.mobile-console-hub.state-offline>i,.mobile-console-hub.state-unavailable>i{background:#ef4444;box-shadow:0 0 0 4px #ef44441a}.mobile-console-hub.state-reconnecting>i{background:#f59e0b;box-shadow:0 0 0 4px #f59e0b1f}.mobile-console-hub.state-checking>i,.mobile-console-hub.state-connecting>i{width:12px;height:12px;flex-basis:12px;border:2px solid rgba(37,99,235,.22);border-top-color:#2563eb;background:transparent;box-shadow:none;box-sizing:border-box;animation:mobile-hub-connecting-spin .75s linear infinite}@keyframes mobile-hub-connecting-spin{to{transform:rotate(360deg)}}.mobile-hub-recovery-overlay{position:fixed;inset:calc(var(--livedesk-mobile-header-height, 58px) + 52px) 0 calc(56px + var(--livedesk-mobile-nav-bottom-gap, env(safe-area-inset-bottom))) 0;z-index:70;display:grid;place-items:center;padding:24px;pointer-events:none;background:#e2e8f0a8;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.mobile-hub-recovery-message{width:min(320px,calc(100vw - 40px));display:grid;justify-items:center;gap:8px;padding:22px 20px;border:1px solid rgba(148,163,184,.42);border-radius:14px;background:#fffffff0;color:#334155;text-align:center;box-shadow:0 18px 42px #0f172a29}.mobile-hub-recovery-message strong{color:#1e293b;font-size:15px;line-height:1.25}.mobile-workspace-recovery-failure{position:fixed;inset:calc(var(--livedesk-mobile-header-height, 58px) + 52px) 0 calc(56px + var(--livedesk-mobile-nav-bottom-gap, env(safe-area-inset-bottom))) 0;z-index:71;display:grid;place-items:center;padding:24px;background:#e2e8f0b8}.mobile-workspace-recovery-failure-message{width:min(340px,calc(100vw - 40px));display:grid;justify-items:center;gap:10px;padding:22px 20px;border:1px solid rgba(239,68,68,.35);border-radius:14px;background:#fff;color:#334155;text-align:center;box-shadow:0 18px 42px #0f172a29}.mobile-workspace-recovery-failure-message small{color:#64748b;line-height:1.4}.mobile-workspace-recovery-failure-message button{min-width:112px;min-height:40px;border:0;border-radius:10px;background:#2563eb;color:#fff;font:inherit;font-weight:700}.mobile-hub-recovery-spinner{width:30px;height:30px;margin-bottom:2px;border:3px solid rgba(37,99,235,.2);border-top-color:#2563eb;border-radius:50%;box-sizing:border-box;animation:mobile-hub-recovery-spin .8s linear infinite}@keyframes mobile-hub-recovery-spin{to{transform:rotate(360deg)}}.desktop-hub-recovery-overlay{position:absolute;inset:0 18px 0 0;z-index:70;display:grid;place-items:center;min-height:360px;padding:24px;pointer-events:none;background:#e2e8f0b8;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.desktop-hub-recovery-message{width:min(360px,calc(100% - 40px));display:grid;justify-items:center;gap:8px;padding:24px 22px;border:1px solid rgba(148,163,184,.42);border-radius:14px;background:#fffffff5;color:#334155;text-align:center;box-shadow:0 18px 42px #0f172a29}.desktop-hub-recovery-message strong{color:#1e293b;font-size:16px}.desktop-hub-recovery-message small{color:#64748b;font-size:13px}.desktop-hub-recovery-spinner{width:32px;height:32px;margin-bottom:2px;border:3px solid rgba(37,99,235,.2);border-top-color:#2563eb;border-radius:50%;box-sizing:border-box;animation:mobile-hub-recovery-spin .8s linear infinite}@media(prefers-reduced-motion:reduce){.mobile-hub-recovery-spinner,.desktop-hub-recovery-spinner{animation:none;border-color:#2563eb33;border-top-color:#2563eb}}.mobile-console-hub strong{overflow:hidden;color:#334155;font-size:10px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.mobile-console-install,.mobile-console-update{width:34px;height:34px;justify-content:center;padding:0;border-radius:8px}.mobile-console-install{border:1px solid #99f6e4;background:#f0fdfa;color:#0f766e}.mobile-console-update{border:1px solid #bfdbfe;background:#eff6ff;color:#2563eb}.mobile-console-account{width:38px;height:34px;min-width:38px;display:grid;place-items:center;align-content:center;gap:1px;padding:2px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#475569;box-shadow:none}.mobile-console-account.signed-in{border-color:#14b8a661;background:#ecfdf5;color:#0f766e}.mobile-console-account img,.mobile-console-account .avatar-fallback{width:18px;height:18px;border-radius:50%}.mobile-console-account img{object-fit:cover;box-shadow:0 0 0 1px #14b8a670}.mobile-console-account .avatar-fallback{font-size:9px}.mobile-console-account>span:last-child{max-width:34px;overflow:hidden;font-size:7px;font-weight:800;line-height:1;text-overflow:ellipsis;white-space:nowrap}.mobile-console-account:disabled{opacity:.6}.mobile-pwa-guide-backdrop{position:fixed;inset:0;z-index:160;display:flex;align-items:flex-end;justify-content:center;padding:16px 12px max(16px,env(safe-area-inset-bottom));background:#0f172a7a}.mobile-pwa-guide{width:min(100%,430px);padding:18px;border:1px solid #dbe3ec;border-radius:18px;background:#fff;box-shadow:0 24px 64px #0f172a3d;color:#1e293b}.mobile-pwa-guide>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.mobile-pwa-guide>header>span:nth-child(2){min-width:0;display:grid;gap:2px}.mobile-pwa-guide>header strong{font-size:16px}.mobile-pwa-guide>header small{color:#64748b;font-size:12px}.mobile-pwa-guide-mark{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#eff6ff;color:#2563eb}.mobile-pwa-guide>header>button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:9px;background:#f1f5f9;color:#475569}.mobile-pwa-guide ol{margin:16px 0;padding-left:24px;color:#475569;font-size:14px;line-height:1.55}.mobile-pwa-guide li+li{margin-top:8px}.mobile-pwa-guide-done{width:100%;min-height:44px;border:0;border-radius:11px;background:#2563eb;color:#fff;font-size:14px;font-weight:800}.mobile-console-shell>.desk-stage{grid-row:1;grid-column:1 / -1;width:100%;height:100%;min-height:0;gap:10px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0 max(10px,env(safe-area-inset-right)) 10px max(10px,env(safe-area-inset-left))}.mobile-console-shell .topbar{display:none!important}.mobile-console-shell .monitor-layout,.mobile-console-shell .monitor-layout:not(.dock-collapsed),.mobile-console-shell .monitor-layout.dock-collapsed{width:100%;min-width:0;grid-template-columns:minmax(0,1fr)!important;gap:10px}.mobile-console-shell .right-dock{display:none!important}.mobile-console-shell .screen-wall-panel{width:100%;min-width:0;gap:10px;padding-right:0}.mobile-console-shell .screen-wall,.mobile-console-shell .screen-wall.size-large,.mobile-console-shell .screen-wall.size-medium{width:100%;grid-template-columns:minmax(0,1fr);gap:10px}.mobile-console-shell .placeholder-tile{display:none}.mobile-console-shell .device-tile{width:100%;border-radius:9px}.mobile-console-shell>.mobile-console-nav{grid-row:2;grid-column:1 / -1;min-height:calc(56px + var(--livedesk-mobile-nav-bottom-gap));display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding:4px max(4px,env(safe-area-inset-right)) var(--livedesk-mobile-nav-bottom-gap) max(4px,env(safe-area-inset-left));border-top:1px solid #dbe3ec;background:#fffffffa;box-shadow:0 -8px 24px #0f172a14;z-index:90}@media(orientation:portrait){.mobile-console-shell[data-mobile-ios=true]{--livedesk-mobile-header-height: 44px}.mobile-console-shell[data-mobile-ios=true]>.desk-stage{padding:0 10px 10px}.mobile-console-shell[data-mobile-ios=true]>.desk-stage>.mobile-console-header{margin:0 -10px;min-height:44px;max-height:44px;padding:2px 12px}.mobile-console-shell[data-mobile-ios=true]>.mobile-console-nav{height:44px;min-height:44px;padding:0 4px}.mobile-console-shell[data-mobile-ios=true]>.mobile-console-nav>button{height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0 1px}}@supports (-webkit-touch-callout: none){@media(orientation:portrait){.mobile-console-shell{--livedesk-mobile-header-height: 44px}.mobile-console-shell>.desk-stage{padding:0 10px 10px}.mobile-console-shell>.desk-stage>.mobile-console-header{margin:0 -10px;min-height:44px;max-height:44px;padding:2px 12px}.mobile-console-shell>.mobile-console-nav{height:44px;min-height:44px;padding:0 4px}.mobile-console-shell>.mobile-console-nav>button{height:100%;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0 1px}}}.mobile-console-nav button{min-width:0;min-height:44px;display:grid;place-items:center;align-content:center;gap:3px;padding:4px 1px;border:0;border-radius:8px;background:transparent;color:#7c8799;box-shadow:none}.mobile-console-nav button.active{background:#eff6ff;color:#1d4ed8}.mobile-console-nav button span{font-size:9px;font-weight:800}.mobile-console-shell .settings-page,.mobile-console-shell .share-files-page,.mobile-console-shell .pricing-page{width:100%!important;min-height:0;margin:0}.mobile-console-shell .settings-section-grid,.mobile-console-shell .share-route-map,.mobile-console-shell .share-device-list,.mobile-console-shell .share-direct-actions{grid-template-columns:minmax(0,1fr)}.mobile-console-shell .settings-page-tabs{width:100%;grid-template-columns:repeat(3,minmax(0,1fr));overflow-x:hidden}.mobile-console-shell .settings-section-card,.mobile-console-shell .share-target-panel,.mobile-console-shell .share-sync-section,.mobile-console-shell .share-direct-section{padding:14px}.mobile-console-shell .product-setting-row{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px 10px;padding:7px 0}.mobile-console-shell .product-setting-control{grid-column:2;grid-row:1;min-height:22px}.mobile-console-shell .product-setting-icon{display:none}.mobile-console-shell .product-setting-copy{grid-column:1;grid-row:1;flex-wrap:wrap;overflow:visible;white-space:normal}.mobile-console-shell .product-setting-copy em{font-size:10px}.mobile-console-shell .product-setting-copy small{flex:0 0 100%;margin:3px 0 0;overflow:visible;line-height:1.35;text-overflow:clip;white-space:normal}.mobile-console-shell .desk-stage.file-share-stage,.mobile-console-shell .desk-stage.agents-stage{height:100%;min-height:0;overflow:hidden}.mobile-console-shell .agents-page{height:100%;padding:10px 0}.mobile-console-shell .desk-stage.control-stage{height:100%;min-height:0;overflow:hidden;padding:0}.mobile-console-shell .desk-stage.control-stage .monitor-layout,.mobile-console-shell .desk-stage.control-stage .screen-wall-panel,.mobile-console-shell .desk-stage.control-stage .control-focus,.mobile-console-shell .desk-stage.control-stage .control-wall{width:100%;height:100%;min-height:0}.mobile-console-shell .desk-stage.control-stage .control-wall{--control-screen-height: calc(var(--livedesk-mobile-viewport-height, 100dvh) - 132px);padding:4px}.mobile-console-shell .desk-stage.control-stage .control-monitor-tabs{top:6px;max-width:calc(100vw - 12px)}.mobile-console-shell .desk-stage.control-stage .control-computer-name{max-width:108px}.mobile-console-shell .desk-stage.control-stage .control-modifier-bar{bottom:8px;max-width:calc(var(--livedesk-mobile-viewport-width, 100vw) - 16px);overflow-x:auto}.mobile-console-shell .desk-stage.control-stage .control-modifier-bar button{min-width:40px;padding:0 8px}.mobile-console-shell .desk-stage.control-stage .control-modifier-bar .remote-keyboard-button{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:0}.mobile-console-shell .livedesk-toast{right:10px;bottom:calc(62px + var(--livedesk-mobile-nav-bottom-gap, env(safe-area-inset-bottom)));width:calc(var(--livedesk-mobile-viewport-width, 100vw) - 20px)}@media(orientation:landscape)and (max-height:500px){.mobile-console-shell{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);padding-top:0}.mobile-console-shell>.desk-stage>.mobile-console-header{display:none}.mobile-hub-recovery-overlay,.mobile-workspace-recovery-failure{inset:0 calc(62px + env(safe-area-inset-right)) 0 0}.mobile-console-brand-mark{width:30px;height:30px;flex-basis:30px}.mobile-console-shell>.desk-stage{grid-row:1;grid-column:1;gap:7px;padding:max(8px,env(safe-area-inset-top)) max(7px,env(safe-area-inset-right)) 7px max(7px,env(safe-area-inset-left))}.mobile-console-shell .screen-wall,.mobile-console-shell .screen-wall.size-large,.mobile-console-shell .screen-wall.size-medium{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.mobile-console-shell>.mobile-console-nav{grid-row:1 / -1;grid-column:2;width:auto;min-width:62px;min-height:0;grid-template-columns:minmax(48px,1fr);grid-template-rows:repeat(6,minmax(0,1fr));padding:max(4px,env(safe-area-inset-top)) max(4px,env(safe-area-inset-right)) max(4px,env(safe-area-inset-bottom)) 4px;border-top:0;border-left:1px solid #dbe3ec;box-shadow:-8px 0 24px #0f172a14}.mobile-console-nav button{min-height:0;gap:1px;padding:2px 1px}.mobile-console-nav button span{font-size:8px}.mobile-console-shell .desk-stage.control-stage .control-wall{--control-screen-height: var(--livedesk-mobile-viewport-height, 100dvh);padding:0}.mobile-console-shell .livedesk-toast{right:calc(72px + env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));width:calc(var(--livedesk-mobile-viewport-width, 100vw) - 92px - env(safe-area-inset-left) - env(safe-area-inset-right))}}@media(max-width:480px){.mobile-console-hub{max-width:118px}.mobile-console-brand small,.mobile-console-hub small{display:none}}
@@ -55,16 +55,16 @@
55
55
  .vuvodesk-static-boot [hidden] { display: none; }
56
56
  @keyframes vuvodesk-static-boot-spin { to { transform: rotate(360deg); } }
57
57
  </style>
58
- <script type="module" crossorigin src="/assets/main-D83bJX4i.js" data-vuvodesk-entry></script>
58
+ <script type="module" crossorigin src="/assets/main-B1P8Damh.js" data-vuvodesk-entry></script>
59
59
  <link rel="modulepreload" crossorigin href="/assets/preload-helper-DD1OZmLC.js">
60
60
  <link rel="modulepreload" crossorigin href="/assets/icons-CuXJn-Hz.js">
61
61
  <link rel="modulepreload" crossorigin href="/assets/pwa-bootstrap-ljOQTt2e.js">
62
62
  <link rel="modulepreload" crossorigin href="/assets/pwa-startup-DvbrYEQi.js">
63
63
  <link rel="modulepreload" crossorigin href="/assets/react-rvm9rmed.js">
64
64
  <link rel="modulepreload" crossorigin href="/assets/client-8jUbxy3j.js">
65
- <link rel="modulepreload" crossorigin href="/assets/MonitorStackIcon-BTi3OZ_m.js">
65
+ <link rel="modulepreload" crossorigin href="/assets/MonitorStackIcon-JfWhLRS2.js">
66
66
  <link rel="stylesheet" crossorigin href="/assets/main-CLwaKs4-.css">
67
- <link rel="stylesheet" crossorigin href="/assets/styles-BjyLRq6m.css">
67
+ <link rel="stylesheet" crossorigin href="/assets/styles-CQz52HHV.css">
68
68
  </head>
69
69
  <body>
70
70
  <div id="root">
package/web/dist/sw.js CHANGED
@@ -1,8 +1,8 @@
1
- const PWA_RELEASE = '0.1.685';
1
+ const PWA_RELEASE = '0.1.686';
2
2
  const PWA_CACHE = `livedesk-pwa-shell-${PWA_RELEASE}`;
3
3
  const OFFLINE_URL = '/offline.html';
4
4
  const PWA_APP_URL = `/app?pwa=${PWA_RELEASE}&shell=${PWA_RELEASE}`;
5
- const PWA_SHELL_ASSETS = ["/assets/app-CoHWIYYA.js","/assets/preload-helper-DD1OZmLC.js","/assets/pwa-bootstrap-ljOQTt2e.js","/assets/client-8jUbxy3j.js","/assets/icons-CuXJn-Hz.js","/assets/react-rvm9rmed.js","/assets/HubApp-CjBsQESw.js","/assets/pwa-startup-DvbrYEQi.js","/assets/MonitorStackIcon-BTi3OZ_m.js","/assets/supabase-C7qjtLN3.js","/assets/frame-lifecycle-D91nchvm.js","/assets/HubApp-DFLBNvIi.css","/assets/styles-BjyLRq6m.css"];
5
+ const PWA_SHELL_ASSETS = ["/assets/app-DA8I23kG.js","/assets/preload-helper-DD1OZmLC.js","/assets/pwa-bootstrap-ljOQTt2e.js","/assets/client-8jUbxy3j.js","/assets/icons-CuXJn-Hz.js","/assets/react-rvm9rmed.js","/assets/HubApp-CEZWMXxq.js","/assets/pwa-startup-DvbrYEQi.js","/assets/MonitorStackIcon-JfWhLRS2.js","/assets/supabase-C7qjtLN3.js","/assets/frame-lifecycle-D91nchvm.js","/assets/HubApp-DdHHVOM0.css","/assets/styles-CQz52HHV.css"];
6
6
  const PWA_SHELL_ASSET_PATHS = new Set(PWA_SHELL_ASSETS);
7
7
 
8
8
  self.addEventListener('install', event => {