.layout-center[data-v-a5c5a4f9]{min-height:100vh;display:grid;place-items:center;padding:var(--space-5)}.layout-center__inner[data-v-a5c5a4f9]{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);width:min(360px,100%)}.ui-icon[data-v-36d20116]{user-select:none}.ui-icon--sm[data-v-36d20116]{font-size:16px}.ui-icon--md[data-v-36d20116]{font-size:20px}.ui-icon--lg[data-v-36d20116]{font-size:24px}.ui-button[data-v-71d2e407]{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;border-radius:var(--radius);padding:var(--space-2) var(--space-3);font-size:14px;font-weight:500;line-height:1.2;cursor:pointer;background:transparent;color:var(--color-fg);transition:background-color var(--ease),color var(--ease),border-color var(--ease),opacity var(--ease)}.ui-button--primary[data-v-71d2e407]{background:var(--color-accent);color:#fff}.ui-button--primary[data-v-71d2e407]:hover{background:var(--color-accent-hover)}.ui-button--primary[data-v-71d2e407]:active{background:var(--color-accent-press)}.ui-button--ghost[data-v-71d2e407]{background:transparent;color:var(--color-fg)}.ui-button--ghost[data-v-71d2e407]:hover{background:var(--color-bg-hover);color:var(--color-accent)}.ui-button--danger[data-v-71d2e407]{background:var(--color-danger);color:#fff}.ui-button--danger[data-v-71d2e407]:hover{background:var(--color-accent-hover)}.ui-button--icon[data-v-71d2e407]{padding:var(--space-2);color:var(--color-fg-muted)}.ui-button--icon[data-v-71d2e407]:hover{background:var(--color-bg-hover);color:var(--color-accent)}.ui-button[data-v-71d2e407]:disabled{opacity:.4;pointer-events:none}.ui-text[data-v-c75e62a3]{margin:0;font-family:var(--font)}.ui-text--title[data-v-c75e62a3]{font-size:20px;font-weight:600;color:var(--color-fg)}.ui-text--body[data-v-c75e62a3]{font-size:14px;font-weight:400;color:var(--color-fg)}.ui-text--muted[data-v-c75e62a3]{font-size:12px;font-weight:400;color:var(--color-fg-muted)}.ui-text--label[data-v-c75e62a3]{font-size:12px;font-weight:500;color:var(--color-fg-muted)}.ui-text--small[data-v-c75e62a3]{font-size:11px;font-weight:400;color:var(--color-fg-muted)}.ui-error[data-v-f4b6c858]{margin:0;color:var(--color-danger);font-size:14px}.ui-field[data-v-a5811d65]{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.ui-input[data-v-a5811d65]{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-raised);color:var(--color-fg);font-size:14px;transition:border-color var(--ease)}.ui-input[data-v-a5811d65]:hover,.ui-input[data-v-a5811d65]:focus{border-color:var(--color-accent);outline:none}.ui-input[data-v-a5811d65]:disabled{opacity:.4;pointer-events:none}.stack[data-v-4a9452c1]{display:flex;flex-direction:column;gap:var(--space-4);width:100%}.stack[data-v-224d234f]{display:flex;flex-direction:column;gap:var(--space-4)}.qr[data-v-224d234f]{width:180px;height:180px;background:#fff;padding:var(--space-2);border-radius:var(--radius)}.stack[data-v-0965f9f3]{display:flex;flex-direction:column;gap:var(--space-4)}.keys[data-v-0965f9f3]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.keys li[data-v-0965f9f3]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.ui-dropdown[data-v-264aa90e]{position:relative;display:inline-flex}.ui-dropdown__menu[data-v-264aa90e]{position:absolute;top:calc(100% + var(--space-1));right:0;z-index:20;min-width:180px;padding:var(--space-1);background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius)}.account[data-v-ef50ac54]{border:0;background:transparent;color:var(--color-fg);padding:var(--space-2) var(--space-3);border-radius:var(--radius);cursor:pointer;transition:background-color var(--ease)}.account[data-v-ef50ac54]:hover{background:var(--color-bg-hover)}.row[data-v-ef50ac54]{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--color-fg);font-size:14px;padding:var(--space-2) var(--space-3);border-radius:var(--radius);cursor:pointer;text-decoration:none;transition:background-color var(--ease),color var(--ease)}.row[data-v-ef50ac54]:hover{background:var(--color-bg-hover)}.topbar[data-v-1a63377d]{position:fixed;top:0;left:0;right:0;z-index:10;height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);background:var(--color-bg-raised);border-bottom:1px solid var(--color-border)}.topbar__left[data-v-1a63377d]{min-width:0}.ui-search[data-v-15b13924]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius)}.ui-search__input[data-v-15b13924]{flex:1;min-width:0;border:0;background:transparent;color:var(--color-fg);font-size:14px;outline:none}.ui-search__input[data-v-15b13924]::placeholder{color:var(--color-fg-muted)}.ui-scroll[data-v-3ce0cff6]{overflow:auto;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.ui-scroll[data-v-3ce0cff6]::-webkit-scrollbar{width:1px;height:1px}.ui-scroll[data-v-3ce0cff6]::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}.ui-scroll[data-v-3ce0cff6]::-webkit-scrollbar-track{background:var(--scrollbar-track)}.ui-dropzone[data-v-a3c509a8]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-fg-muted);cursor:pointer;transition:border-color var(--ease),background-color var(--ease),color var(--ease)}.ui-dropzone[data-v-a3c509a8]:hover,.ui-dropzone--active[data-v-a3c509a8]{border-color:var(--color-accent);background:#cc000014;color:var(--color-accent)}.ui-dropzone__input[data-v-a3c509a8]{display:none}.row[data-v-a64a247e]{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--color-fg);font-size:14px;padding:var(--space-2) var(--space-3);border-radius:var(--radius);cursor:pointer;transition:background-color var(--ease),color var(--ease)}.row[data-v-a64a247e]:hover{background:var(--color-bg-hover)}.item[data-v-b66b331c]{display:flex;align-items:center;border-radius:var(--radius);transition:background-color var(--ease)}.item[data-v-b66b331c]:hover,.item--active[data-v-b66b331c]{background:var(--color-bg-hover)}.item--active .item__name[data-v-b66b331c]{color:var(--color-accent)}.item__row[data-v-b66b331c]{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2);border:0;background:transparent;color:var(--color-fg);text-align:left;padding:var(--space-2) var(--space-2);cursor:pointer}.item__name[data-v-b66b331c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.project-list[data-v-d92ce87c]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.sidebar[data-v-00231d60]{display:flex;flex-direction:column;width:var(--sidebar-width);flex-shrink:0;height:calc(100vh - var(--nav-height) - var(--footer-height));background:var(--color-bg-raised);border-right:1px solid var(--color-border)}.sidebar__search[data-v-00231d60]{padding:var(--space-4)}.sidebar__list[data-v-00231d60]{flex:1;min-height:0;padding:0 var(--space-4)}.sidebar__drop[data-v-00231d60]{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.viewport[data-v-749c6678]{flex:1;min-width:0;height:calc(100vh - var(--nav-height) - var(--footer-height));overflow:auto;padding:var(--space-4)}.footer[data-v-7d063c17]{position:fixed;left:0;right:0;bottom:0;z-index:10;height:var(--footer-height);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);background:var(--color-bg-raised);border-top:1px solid var(--color-border)}.cog[data-v-7d063c17]{display:inline-flex;border:0;background:transparent;color:var(--color-fg-muted);padding:var(--space-1);cursor:pointer;transition:color var(--ease)}.cog[data-v-7d063c17]:hover{color:var(--color-accent)}.ui-dialog-root[data-v-f06dd66b]{position:fixed;inset:0;z-index:40;display:grid;place-items:center}.ui-dialog-overlay[data-v-f06dd66b]{position:absolute;inset:0;background:#0000008c}.ui-dialog[data-v-f06dd66b]{position:relative;z-index:1;width:min(480px,calc(100vw - var(--space-6)));max-height:calc(100vh - var(--space-8));overflow:auto;background:var(--color-bg-raised);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-5)}.ui-dialog__head[data-v-f06dd66b]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-5)}.ui-dialog__body[data-v-f06dd66b]{display:flex;flex-direction:column;gap:var(--space-4)}.ui-dialog__footer[data-v-f06dd66b]{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-5)}.ui-field[data-v-b3958c77]{display:flex;flex-direction:column;gap:var(--space-2);width:100%}.ui-select[data-v-b3958c77]{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-raised);color:var(--color-fg);font-size:14px;transition:border-color var(--ease)}.ui-select[data-v-b3958c77]:hover,.ui-select[data-v-b3958c77]:focus{border-color:var(--color-accent);outline:none}.ui-select[data-v-b3958c77]:disabled{opacity:.4;pointer-events:none}.status[data-v-a365ecf8]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.status li[data-v-a365ecf8]{display:flex;align-items:center;gap:var(--space-3)}.row[data-v-f8a49350]{display:flex;align-items:center;gap:var(--space-3);color:var(--color-fg-muted)}.layout-app[data-v-ab313701]{min-height:100vh;background:var(--color-bg)}.layout-app__body[data-v-ab313701]{display:flex;padding-top:var(--nav-height);padding-bottom:var(--footer-height)}.ui-spinner[data-v-5029cc84]{width:16px;height:16px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin-5029cc84 .8s linear infinite}@keyframes spin-5029cc84{to{transform:rotate(360deg)}}.files[data-v-18bd4cae]{display:flex;flex-direction:column;gap:var(--space-4);max-width:720px}.files__head[data-v-18bd4cae]{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.files__head[data-v-18bd4cae] .ui-text--title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.files__head[data-v-18bd4cae] .ui-button{flex-shrink:0}.crumbs[data-v-18bd4cae]{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1)}.crumb[data-v-18bd4cae]{border:0;background:transparent;color:var(--color-accent);font-size:12px;padding:0;cursor:pointer}.crumb[data-v-18bd4cae]:hover{color:var(--color-accent-hover)}.sep[data-v-18bd4cae]{color:var(--color-fg-muted);font-size:12px}.list[data-v-18bd4cae]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.row[data-v-18bd4cae]{border-bottom:1px solid var(--color-border)}.row__btn[data-v-18bd4cae]{width:100%;display:flex;align-items:center;gap:var(--space-2);border:0;background:transparent;color:var(--color-fg);text-align:left;padding:var(--space-2) 0;cursor:pointer}.row__btn[data-v-18bd4cae]:hover{color:var(--color-accent)}.row__name[data-v-18bd4cae]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.settings[data-v-9033787a]{display:flex;flex-direction:column;gap:var(--space-5);max-width:480px}.form[data-v-55924a7c]{display:flex;flex-direction:column;gap:var(--space-4);max-width:420px}.tables[data-v-66d2956d]{display:flex;flex-direction:column;gap:var(--space-5)}.table[data-v-66d2956d]{width:100%;border-collapse:collapse;font-size:14px}.table th[data-v-66d2956d],.table td[data-v-66d2956d]{text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border)}.table th[data-v-66d2956d]{color:var(--color-fg-muted);font-weight:500}.actions[data-v-66d2956d]{display:flex;gap:var(--space-2)}select[data-v-66d2956d]{background:var(--color-bg-raised);color:var(--color-fg);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-1) var(--space-2)}.users[data-v-9c775775]{display:flex;flex-direction:column;gap:var(--space-5)}
