:root{--c4b-auth-bg: #f5f7fb;--c4b-auth-surface: #ffffff;--c4b-auth-text: #111827;--c4b-auth-muted: #6b7280;--c4b-auth-border: #e5e7eb;--c4b-auth-shadow: 0 20px 60px rgba(15, 23, 42, .12);--c4b-auth-accent: #2563eb;--c4b-auth-accent-hover: #1d4ed8}.c4b-auth-login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--c4b-auth-bg);color:var(--c4b-auth-text)}.c4b-auth-login-card{width:100%;max-width:24rem;padding:2rem;border:1px solid var(--c4b-auth-border);border-radius:1rem;background:var(--c4b-auth-surface);box-shadow:var(--c4b-auth-shadow);text-align:center}.c4b-auth-login-brand{margin-bottom:1.5rem}.c4b-auth-login-title{margin:0 0 .35rem;font-size:1.75rem;line-height:1.15}.c4b-auth-login-version{color:var(--c4b-auth-muted);font-size:.95rem}.c4b-auth-login-button{width:100%;border:0;border-radius:.75rem;padding:.85rem 1rem;background:var(--c4b-auth-accent);color:#fff;font:inherit;font-weight:600;cursor:pointer;transition:background-color .12s ease}.c4b-auth-login-button:hover,.c4b-auth-login-button:focus{background:var(--c4b-auth-accent-hover)}:where(.vfs-explorer-page,.vfs-browse){--vfs-font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--vfs-button-font-family: var(--vfs-font-family);--vfs-button-font-weight: 600;--vfs-button-letter-spacing: 0;--vfs-button-text-transform: none;--vfs-button-radius: .5rem;--vfs-control-radius: .5rem;--vfs-card-radius: .9rem;--vfs-backdrop-bg: rgba(15, 23, 42, .55);--vfs-btn-primary-bg: var(--app-accent);--vfs-btn-primary-text: #ffffff;--vfs-btn-primary-border: var(--app-accent);--vfs-btn-primary-hover-bg: color-mix(in srgb, var(--vfs-btn-primary-bg) 88%, black);--vfs-btn-primary-hover-border: var(--vfs-btn-primary-hover-bg);--vfs-btn-outline-bg: transparent;--vfs-btn-outline-text: var(--app-text);--vfs-btn-outline-border: var(--app-border);--vfs-btn-outline-hover-bg: var(--app-hover);--vfs-btn-outline-hover-border: var(--app-muted);--vfs-btn-danger-bg: #dc2626;--vfs-btn-danger-text: #ffffff;--vfs-btn-danger-border: #dc2626;--vfs-btn-danger-hover-bg: #b91c1c;--vfs-btn-danger-hover-border: #b91c1c;--vfs-control-bg: var(--app-surface);--vfs-control-text: var(--app-text);--vfs-control-border: var(--app-border);--vfs-control-placeholder: var(--app-muted);--vfs-control-focus-ring: color-mix(in srgb, var(--app-accent) 35%, transparent);background:var(--app-bg);color:var(--app-text);font-family:var(--vfs-font-family)}:where(.vfs-explorer-page,.vfs-browse) *,:where(.vfs-explorer-page,.vfs-browse) *:before,:where(.vfs-explorer-page,.vfs-browse) *:after{box-sizing:border-box}:where(.vfs-explorer-page,.vfs-browse) .btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2rem;padding:.35rem .75rem;border:var(--vfs-button-border-width, 1px) solid transparent;border-radius:var(--vfs-button-radius);background:transparent;color:var(--app-text);box-shadow:none;cursor:pointer;font:inherit;font-family:var(--vfs-button-font-family);font-size:.875rem;font-weight:var(--vfs-button-font-weight);letter-spacing:var(--vfs-button-letter-spacing);line-height:1.2;text-decoration:none;text-transform:var(--vfs-button-text-transform);transition:background-color .12s ease,border-color .12s ease,color .12s ease,opacity .12s ease}:where(.vfs-explorer-page,.vfs-browse) .btn:hover{text-decoration:none}:where(.vfs-explorer-page,.vfs-browse) .btn:disabled{opacity:.55;cursor:default}:where(.vfs-explorer-page,.vfs-browse) .btn-sm{min-height:1.8rem;padding:.25rem .55rem;font-size:.78rem}:where(.vfs-explorer-page,.vfs-browse) .btn-primary{background:var(--vfs-btn-primary-bg)!important;color:var(--vfs-btn-primary-text)!important;border-color:var(--vfs-btn-primary-border)!important}:where(.vfs-explorer-page,.vfs-browse) .btn-primary:hover:not(:disabled),:where(.vfs-explorer-page,.vfs-browse) .btn-primary:focus-visible:not(:disabled){background:var(--vfs-btn-primary-hover-bg)!important;border-color:var(--vfs-btn-primary-hover-border)!important;color:var(--vfs-btn-primary-text)!important}:where(.vfs-explorer-page,.vfs-browse) .btn-danger{background:var(--vfs-btn-danger-bg)!important;color:var(--vfs-btn-danger-text)!important;border-color:var(--vfs-btn-danger-border)!important}:where(.vfs-explorer-page,.vfs-browse) .btn-danger:hover:not(:disabled),:where(.vfs-explorer-page,.vfs-browse) .btn-danger:focus-visible:not(:disabled){background:var(--vfs-btn-danger-hover-bg)!important;border-color:var(--vfs-btn-danger-hover-border)!important;color:var(--vfs-btn-danger-text)!important}:where(.vfs-explorer-page,.vfs-browse) .btn-outline-secondary,:where(.vfs-explorer-page,.vfs-browse) .btn-outline-primary,:where(.vfs-explorer-page,.vfs-browse) .btn-outline-danger{background:var(--vfs-btn-outline-bg)!important;color:var(--vfs-btn-outline-text)!important;border-color:var(--vfs-btn-outline-border)!important}:where(.vfs-explorer-page,.vfs-browse) .btn-outline-secondary:hover:not(:disabled),:where(.vfs-explorer-page,.vfs-browse) .btn-outline-primary:hover:not(:disabled),:where(.vfs-explorer-page,.vfs-browse) .btn-outline-danger:hover:not(:disabled),:where(.vfs-explorer-page,.vfs-browse) .btn-outline-secondary:focus-visible:not(:disabled),:where(.vfs-explorer-page,.vfs-browse) .btn-outline-primary:focus-visible:not(:disabled),:where(.vfs-explorer-page,.vfs-browse) .btn-outline-danger:focus-visible:not(:disabled){background:var(--vfs-btn-outline-hover-bg)!important;border-color:var(--vfs-btn-outline-hover-border)!important;color:var(--vfs-btn-outline-text)!important}:where(.vfs-explorer-page,.vfs-browse) .btn-outline-danger{color:var(--vfs-btn-danger-bg)!important;border-color:color-mix(in srgb,var(--vfs-btn-danger-bg) 72%,var(--app-border))!important}:where(.vfs-explorer-page,.vfs-browse) .btn-outline-danger:hover:not(:disabled),:where(.vfs-explorer-page,.vfs-browse) .btn-outline-danger:focus-visible:not(:disabled){background:color-mix(in srgb,var(--vfs-btn-danger-bg) 12%,transparent)!important;border-color:var(--vfs-btn-danger-bg)!important;color:var(--vfs-btn-danger-hover-bg)!important}:where(.vfs-explorer-page,.vfs-browse) .btn-link{border-color:transparent!important;background:transparent!important;color:var(--app-text)!important;padding:0;justify-content:flex-start}:where(.vfs-explorer-page,.vfs-browse) .btn-link:hover:not(:disabled),:where(.vfs-explorer-page,.vfs-browse) .btn-link:focus-visible:not(:disabled){color:var(--app-text)!important;background:transparent!important;text-decoration:none}:where(.vfs-explorer-page,.vfs-browse) .form-control,:where(.vfs-explorer-page,.vfs-browse) .form-select{display:block;width:100%;min-height:2.1rem;padding:.42rem .7rem;border:1px solid var(--vfs-control-border);border-radius:var(--vfs-control-radius);background:var(--vfs-control-bg);color:var(--vfs-control-text);font:inherit;line-height:1.35;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease,color .12s ease}:where(.vfs-explorer-page,.vfs-browse) .form-control::placeholder{color:var(--vfs-control-placeholder);opacity:1}:where(.vfs-explorer-page,.vfs-browse) .form-control:focus,:where(.vfs-explorer-page,.vfs-browse) .form-select:focus{outline:0;border-color:var(--app-accent);box-shadow:0 0 0 .22rem var(--vfs-control-focus-ring)}:where(.vfs-explorer-page,.vfs-browse) .form-control-sm,:where(.vfs-explorer-page,.vfs-browse) .form-select-sm{min-height:1.9rem;padding:.3rem .55rem;font-size:.82rem}:where(.vfs-explorer-page,.vfs-browse) .form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--app-muted) 50%),linear-gradient(135deg,var(--app-muted) 50%,transparent 50%);background-position:calc(100% - .95rem) calc(50% - .12rem),calc(100% - .65rem) calc(50% - .12rem);background-size:.3rem .3rem,.3rem .3rem;background-repeat:no-repeat;padding-right:2rem}:where(.vfs-explorer-page,.vfs-browse) .form-check-input{width:.95rem;height:.95rem;margin:0;border:1px solid var(--vfs-control-border);border-radius:.25rem;background:var(--vfs-control-bg);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}:where(.vfs-explorer-page,.vfs-browse) .form-check-input[type=radio]{border-radius:999px}:where(.vfs-explorer-page,.vfs-browse) .form-check-input:checked{background:var(--app-accent);border-color:var(--app-accent);box-shadow:inset 0 0 0 2px var(--vfs-control-bg)}:where(.vfs-explorer-page,.vfs-browse) .form-check-input:focus-visible{outline:0;box-shadow:0 0 0 .22rem var(--vfs-control-focus-ring)}:where(.vfs-explorer-page,.vfs-browse) .small{font-size:.78rem}:where(.vfs-explorer-page,.vfs-browse) .text-start{text-align:left!important}:where(.vfs-explorer-page,.vfs-browse) .text-decoration-none{text-decoration:none!important}:where(.vfs-explorer-page,.vfs-browse) .p-0{padding:0!important}:where(.vfs-explorer-page,.vfs-browse) .px-0{padding-inline:0!important}.app-confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#02061794;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1100}.app-confirm-card{width:min(100%,28rem);border:1px solid var(--app-border);border-radius:1rem;background:var(--app-surface);box-shadow:var(--app-shadow);overflow:hidden}.app-confirm-header{padding:1rem 1.1rem .85rem;border-bottom:1px solid var(--app-border)}.app-confirm-header h3{margin:0;font-size:1rem;font-weight:700}.app-confirm-body{padding:1rem 1.1rem}.app-confirm-body p{margin:0;color:var(--app-text)}.app-confirm-footer{display:flex;justify-content:flex-end;gap:.65rem;padding:.9rem 1.1rem 1.1rem;border-top:1px solid var(--app-border)}.vfs-content-path-separator{width:.95rem;height:.95rem;flex:0 0 auto;background:center / contain no-repeat url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.71 7.29l-4-4a1.003 1.003 0 00-1.42 1.42L8.59 8 5.3 11.29c-.19.18-.3.43-.3.71a1.003 1.003 0 001.71.71l4-4c.18-.18.29-.43.29-.71 0-.28-.11-.53-.29-.71z' fill='%235f6b7c'/%3e%3c/svg%3e")}.vfs-explorer-page,.vfs-browse{--vfs-scrollbar-size: 9px;--vfs-scrollbar-radius: 999px;--vfs-scrollbar-track: color-mix(in srgb, var(--app-surface-2) 92%, transparent);--vfs-scrollbar-thumb: color-mix(in srgb, var(--app-border) 72%, var(--app-muted) 28%);--vfs-scrollbar-thumb-hover: color-mix(in srgb, var(--app-muted) 52%, var(--app-border) 48%)}.vfs-explorer-page *,.vfs-browse *{scrollbar-width:thin;scrollbar-color:var(--vfs-scrollbar-thumb) var(--vfs-scrollbar-track)}.vfs-explorer-page *::-webkit-scrollbar,.vfs-browse *::-webkit-scrollbar{width:var(--vfs-scrollbar-size);height:var(--vfs-scrollbar-size)}.vfs-explorer-page *::-webkit-scrollbar-track,.vfs-browse *::-webkit-scrollbar-track{background:var(--vfs-scrollbar-track);border-radius:var(--vfs-scrollbar-radius)}.vfs-explorer-page *::-webkit-scrollbar-thumb,.vfs-browse *::-webkit-scrollbar-thumb{background:var(--vfs-scrollbar-thumb);border-radius:var(--vfs-scrollbar-radius);border:2px solid transparent;background-clip:padding-box}.vfs-explorer-page *::-webkit-scrollbar-thumb:hover,.vfs-browse *::-webkit-scrollbar-thumb:hover{background:var(--vfs-scrollbar-thumb-hover);background-clip:padding-box}.vfs-visibility-badge{display:inline-flex;align-items:center;justify-content:center;padding:.02rem .22rem;border-radius:999px;font-size:.66rem;line-height:1.1;color:var(--app-muted);background:var(--app-surface-2);border:1px solid var(--app-border)}.vfs-visibility-badge.is-public{color:#047857;border-color:#0478572e;background:#10b98114}.vfs-visibility-badge.is-private{color:#7c3aed;border-color:#7c3aed2e;background:#7c3aed14}.vfs-acl-badge{display:inline-flex;align-items:center;justify-content:center;padding:.02rem .22rem;border-radius:999px;font-size:.66rem;line-height:1.1;color:#fde68a;background:var(--app-surface-2);border:1px solid var(--app-border)}.vfs-acl-badge.is-active{color:#fde68a;border-color:#0478573d;background:#10b9812e}.vfs-tile-badge{display:inline-flex;align-items:center;justify-content:center;padding:.02rem .22rem;border-radius:999px;font-size:.66rem;line-height:1.1;color:#93c5fd;background:var(--app-surface-2);border:1px solid var(--app-border)}.vfs-tile-badge.is-active{color:#93c5fd;border-color:#3b82f63d;background:#3b82f629}.vfs-empty-state{padding:2rem 1rem;text-align:center;color:var(--app-muted)}.vfs-empty-state strong{display:block;color:var(--app-text);margin-bottom:.25rem}.vfs-info-table{width:100%;border-collapse:collapse;table-layout:fixed}.vfs-info-table-scroll{min-height:0;overflow:auto}.vfs-info-table-layout{display:flex;flex-direction:column;gap:.75rem}.vfs-info-table th,.vfs-info-table td{padding:.55rem .65rem;border-bottom:1px solid var(--app-border);font-size:.9rem}.vfs-info-table tbody tr{background:var(--app-surface);transition:background-color .12s ease}.vfs-info-table tbody tr:hover{background:var(--app-hover)}.vfs-info-table tbody tr.is-selected{background:var(--app-selected-bg)}.vfs-info-table th:first-child,.vfs-info-table td:first-child{width:2rem;padding-right:.25rem}.vfs-info-table th{position:sticky;top:0;z-index:1;background:var(--app-surface-2);color:var(--app-muted);font-weight:600;text-transform:uppercase;font-size:.74rem}.vfs-info-table-size-column,.vfs-info-table-size-cell{width:8rem;text-align:right}.vfs-info-table button{text-align:left;width:100%;min-width:0}.vfs-directory-cell-button{display:block;justify-content:flex-start}.vfs-explorer-page .vfs-directory-cell-button.btn,.vfs-browse .vfs-directory-cell-button.btn{display:flex;justify-content:flex-start;text-align:left}.vfs-directory-name-wrap{display:flex;align-items:center;gap:.35rem;min-width:0}.vfs-directory-name{min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vfs-pagination{display:flex;align-items:center;justify-content:flex-end;gap:.35rem;flex-wrap:wrap;padding:.2rem .3rem;border:1px solid var(--app-border);border-radius:.65rem;background:var(--app-surface-2);box-shadow:0 6px 18px #0f172a0f}.vfs-pagination-list{list-style:none;display:inline-flex;align-items:center;gap:.2rem;margin:0;padding:0}.vfs-pagination-item{margin:0}.vfs-pagination-link{display:inline-flex;align-items:center;justify-content:center;min-width:1.65rem;height:1.65rem;padding:0 .4rem;border:0;border-radius:.45rem;background:transparent;color:var(--app-text);text-decoration:none;cursor:pointer;font-size:.82rem;line-height:1}.vfs-pagination-link:hover{background:var(--app-hover)}.vfs-pagination-item.is-active .vfs-pagination-link{background:var(--app-accent);color:#fff}.vfs-pagination-item.is-disabled .vfs-pagination-link{opacity:.45;cursor:default}.vfs-pagination-size{display:inline-flex;align-items:center;gap:.25rem}.vfs-pagination-size .form-select{width:auto;min-width:4.25rem;height:1.65rem;padding:.05rem 1.55rem .05rem .45rem;font-size:.78rem;line-height:1.1}.vfs-tree-scroll{min-height:0;flex:1 1 auto;padding:.75rem}.vfs-tree-search-wrap{padding:0 .75rem .75rem}.vfs-tree-search-panel{padding:.75rem;border:1px solid var(--app-border);border-radius:.9rem;background:var(--app-surface);box-shadow:var(--app-shadow)}.vfs-tree-search-actions{margin-top:.6rem;display:flex;justify-content:flex-end;gap:.45rem}.vfs-tree-search-summary,.vfs-tree-search-empty{margin-top:.55rem;color:var(--app-muted);font-size:.78rem}.vfs-tree-node{margin-bottom:0}.vfs-tree-row{display:flex;align-items:center;gap:var(--vfs-tree-row-gap);width:100%;min-height:var(--vfs-tree-row-min-height);border:1px solid transparent;border-radius:.45rem;padding:var(--vfs-tree-row-padding-y) var(--vfs-tree-row-padding-x);background:transparent;transition:background-color .12s ease,border-color .12s ease,box-shadow .12s ease}.vfs-tree-row:hover{background:var(--app-hover)}.vfs-tree-row.is-selected{background:var(--app-selected-bg);border-color:transparent;box-shadow:none}.vfs-tree-row.is-selected .vfs-tree-label{color:var(--app-text);font-weight:inherit}.vfs-tree-row.is-selected .vfs-tree-count,.vfs-tree-row.is-selected .vfs-tree-count-summary,.vfs-tree-row.is-selected .vfs-tree-toggle{color:inherit}.vfs-tree-row.is-drop-target{background:var(--app-drop-bg);border-color:var(--app-drop-border)}.vfs-tree-row.is-dragging{opacity:.45}.vfs-tree-row.is-search-virtual{background:var(--app-surface-2);border-color:var(--app-border)}.vfs-tree-toggle{width:.95rem;height:.95rem;border:0;border-radius:.25rem;background:transparent;color:var(--app-text);opacity:1;filter:none;font-size:var(--vfs-tree-icon-size);line-height:1;padding:0}.vfs-tree-label{flex:1 1 auto;min-width:0;display:flex;align-items:center;justify-content:flex-start;gap:var(--vfs-tree-label-gap);padding:0;color:var(--app-text);font-size:var(--vfs-tree-font-size);line-height:var(--vfs-tree-line-height)}.vfs-explorer-page .vfs-tree-label.btn,.vfs-browse .vfs-tree-label.btn{display:flex;justify-content:flex-start;text-align:left}.vfs-tree-attrs{flex:0 0 auto;margin-left:auto;display:flex;align-items:center;justify-content:center;gap:.3rem;padding-left:.4rem;min-width:0}.vfs-tree-markers{display:inline-flex;align-items:center;justify-content:center;gap:.2rem}.vfs-tree-count,.vfs-tree-count-summary{display:inline-flex;align-items:center;gap:.15rem;min-width:2rem;justify-content:center;padding:.02rem .28rem;border-radius:999px;font-size:.68rem;line-height:1.1;color:var(--app-muted);background:var(--app-surface-2);border:1px solid var(--app-border)}.vfs-tree-count-summary{min-width:auto;gap:.18rem;color:var(--app-muted)}.vfs-tree-count-icon{font-size:.72rem;line-height:1}.vfs-tree-count-divider{opacity:.6}.vfs-tree-marker{flex:0 0 auto}.vfs-tree-count-dir{color:#b45309}.vfs-tree-count-file{color:var(--app-muted)}.vfs-tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--vfs-tree-font-size);line-height:var(--vfs-tree-line-height)}.vfs-tree-children{margin-left:.55rem;padding-left:.35rem;border-left:1px dashed var(--app-border)}.vfs-content-scroll{min-height:0;flex:1 1 auto;padding:.75rem;display:flex;flex-direction:column;gap:.75rem;position:relative}.vfs-content-dropzone{min-height:0;flex:1 1 auto;border:1px solid var(--app-border);border-radius:.9rem;overflow:hidden;background:var(--app-surface-2);display:flex;flex-direction:column}.vfs-content-table-scroll{width:100%;min-height:0;flex:1 1 auto;overflow:auto}.vfs-content-pagination-wrap{position:relative;flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;min-height:var(--vfs-toolbar-min-height);gap:var(--vfs-toolbar-gap);padding:var(--vfs-toolbar-padding-y) var(--vfs-toolbar-padding-x);border-bottom:1px solid var(--app-border);background:var(--app-surface)}.vfs-content-pagination-controls{min-width:0;flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:.5rem}.vfs-content-path{min-width:0;flex:1 1 auto;display:flex;align-items:center;gap:.35rem;overflow:hidden;white-space:nowrap}.vfs-content-path-item{min-width:0;display:inline-flex;align-items:center;gap:.35rem;flex:0 1 auto}.vfs-content-path-item:not(.is-current){max-width:var(--vfs-breadcrumb-item-max-5, 4rem)}.vfs-content-path-item:not(.is-current):nth-last-child(2){max-width:var(--vfs-breadcrumb-item-max-1, 10rem)}.vfs-content-path-item:not(.is-current):nth-last-child(3){max-width:var(--vfs-breadcrumb-item-max-2, 8rem)}.vfs-content-path-item:not(.is-current):nth-last-child(4){max-width:var(--vfs-breadcrumb-item-max-3, 6rem)}.vfs-content-path-item:not(.is-current):nth-last-child(5){max-width:var(--vfs-breadcrumb-item-max-4, 5rem)}.vfs-content-path-item.is-current{min-width:0;flex:1 1 auto}.vfs-content-path-link{display:block;min-width:0;width:100%;max-width:100%;padding:.08rem .2rem;border:0;background:transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;color:var(--app-text);cursor:pointer}.vfs-content-path-link:hover{color:var(--app-accent)}.vfs-content-path-current{display:block;min-width:0;width:100%;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-inline:.1rem;color:var(--app-accent);font-weight:700}.vfs-bookmark-toggle,.vfs-bookmarks-trigger{width:2rem;min-width:2rem;height:2rem;padding:0;flex:0 0 auto;border:0;color:color-mix(in srgb,var(--app-muted) 82%,var(--app-text));background:transparent;box-shadow:none;cursor:pointer}.vfs-bookmark-toggle{font-size:1.18rem;line-height:1}.vfs-bookmark-toggle:hover,.vfs-bookmarks-trigger:hover{color:var(--app-accent);background:transparent}.vfs-bookmark-toggle.is-active,.vfs-bookmarks-trigger.is-active{color:var(--app-accent);background:transparent;box-shadow:none}.vfs-bookmarks{position:relative;flex:0 0 auto}.vfs-bookmarks-panel{position:absolute;top:calc(100% + .55rem);right:0;width:min(24rem,calc(100vw - 4rem));max-height:22rem;overflow:auto;padding:.65rem;border:1px solid var(--app-border);border-radius:.9rem;background:var(--app-surface);box-shadow:var(--app-shadow);z-index:20}.vfs-bookmarks-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.15rem .2rem .55rem;color:var(--app-text)}.vfs-bookmarks-list{display:flex;flex-direction:column;gap:.7rem}.vfs-bookmarks-group{display:flex;flex-direction:column;gap:.35rem}.vfs-bookmarks-group-title{padding:0 .2rem;color:var(--app-muted);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.vfs-bookmarks-group-items{display:flex;flex-direction:column;gap:.35rem}.vfs-bookmarks-item{display:flex;align-items:stretch;gap:.35rem}.vfs-bookmarks-item-button.btn{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;padding:.55rem .7rem;background:var(--app-surface-2)}.vfs-bookmarks-item-button.btn:hover{background:var(--app-hover)}.vfs-bookmarks-item-remove{width:2rem;min-width:2rem;padding:0;color:var(--app-muted)}.vfs-bookmarks-item-remove:hover{color:#b91c1c}.vfs-bookmarks-item-name,.vfs-bookmarks-item-path{display:block;overflow:hidden}.vfs-bookmarks-item-name{width:100%;align-self:flex-start;color:var(--app-text);font-weight:600;text-overflow:ellipsis;white-space:nowrap;text-align:left}.vfs-bookmarks-item-path{color:var(--app-muted);font-size:.82rem;white-space:normal;overflow-wrap:anywhere;line-height:1.35}.vfs-bookmarks-empty{padding:.4rem .2rem;color:var(--app-muted);font-size:.9rem}.vfs-content-path-separator{width:.95rem;height:.95rem;flex:0 0 auto;background:center / contain no-repeat url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.71 7.29l-4-4a1.003 1.003 0 00-1.42 1.42L8.59 8 5.3 11.29c-.19.18-.3.43-.3.71a1.003 1.003 0 001.71.71l4-4c.18-.18.29-.43.29-.71 0-.28-.11-.53-.29-.71z' fill='%235f6b7c'/%3e%3c/svg%3e")}.vfs-content-dropzone.is-file-drop{border-color:var(--app-accent);background:var(--app-selected-bg);box-shadow:inset 0 0 0 1px #3b82f633}.vfs-content-table{width:100%;border-collapse:collapse;background:var(--app-surface);table-layout:fixed}.vfs-content-table thead th{position:sticky;top:0;z-index:2;background:var(--app-surface-2);font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--app-muted);border-bottom:1px solid var(--app-border)}.vfs-content-table th,.vfs-content-table td{padding:.8rem .9rem;border-bottom:1px solid var(--app-border);text-align:left;vertical-align:middle}.vfs-sortable-column{cursor:pointer;-webkit-user-select:none;user-select:none}.vfs-sort-indicator{color:var(--app-muted)}.vfs-content-row{background:var(--app-surface);transition:background-color .12s ease}.vfs-content-row:hover{background:var(--app-hover)}.vfs-content-row-parent{cursor:pointer}.vfs-content-row-parent .vfs-entry-name{font-weight:600}.vfs-content-row.is-selected{background:var(--app-selected-bg)}.vfs-content-row.is-drop-target{background:var(--app-drop-bg);border-color:var(--app-drop-border)}.vfs-content-row.is-dragging{opacity:.45}.vfs-entry-main{display:flex;align-items:center;gap:.45rem;min-width:0}.vfs-entry-icon,.vfs-icon-cell{width:1.5rem;text-align:center;font-size:.95rem;line-height:1}.vfs-entry-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vfs-content-col-name{width:auto}.vfs-content-col-preview{width:4.75rem;min-width:4.75rem}.vfs-content-col-markers,.vfs-markers-header{width:8.5rem;min-width:8.5rem}.vfs-content-col-type{width:14rem}.vfs-content-col-size{width:7.5rem}.vfs-content-col-modified{width:9.5rem}.vfs-content-modified-value{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.15}.vfs-content-modified-date{font-size:.78rem;color:var(--app-text)}.vfs-content-modified-time{font-size:.68rem;color:var(--app-muted)}.vfs-content-preview-cell{position:relative;display:inline-flex;align-items:center;justify-content:center}.vfs-content-preview-thumb,.vfs-content-preview-placeholder{width:2.5rem;height:2.5rem;border-radius:.75rem;border:1px solid var(--app-border);background:var(--app-surface-2)}.vfs-content-preview-thumb{overflow:hidden;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--app-border) 55%,transparent)}.vfs-content-preview-thumb img{width:100%;height:100%;display:block;object-fit:cover}.vfs-content-preview-placeholder{display:inline-flex;align-items:center;justify-content:center;color:var(--app-muted);font-size:1rem}.vfs-content-preview-popover{position:absolute;left:calc(100% + .75rem);top:50%;transform:translateY(-50%);width:18rem;max-width:min(18rem,calc(100vw - 8rem));padding:.45rem;border:1px solid var(--app-border);border-radius:1rem;background:var(--app-surface);box-shadow:var(--app-shadow);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .12s ease,visibility .12s ease;z-index:15}.vfs-content-preview-cell:hover .vfs-content-preview-popover,.vfs-content-preview-cell:focus-within .vfs-content-preview-popover{opacity:1;visibility:visible}.vfs-content-preview-popover img{width:100%;max-height:18rem;display:block;object-fit:contain;border-radius:.7rem;background:color-mix(in srgb,var(--app-surface-2) 80%,transparent)}.vfs-content-search{position:fixed;right:1.5rem;bottom:1.5rem;display:flex;flex-direction:column;align-items:flex-end;gap:.5rem;z-index:3000;pointer-events:none}.vfs-content-search-panel{width:min(22rem,calc(100vw - 4rem));padding:.75rem;border:1px solid var(--app-border);border-radius:.9rem;background:var(--app-surface);box-shadow:var(--app-shadow);pointer-events:auto}.vfs-content-search-actions{margin-top:.6rem;display:flex;justify-content:flex-end;gap:.45rem}.vfs-content-search-fab{width:2.7rem;height:2.7rem;border-radius:999px;padding:0;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--app-shadow);pointer-events:auto}.vfs-content-search-fab.is-active{box-shadow:0 0 0 2px #2563eb2e,var(--app-shadow)}.vfs-markers-header,.vfs-markers-cell{width:8.5rem;min-width:8.5rem}.vfs-markers{display:inline-flex;align-items:center;gap:.35rem;min-width:7.5rem}.vfs-marker-badge{font-size:.88rem;padding:.08rem .28rem}.vfs-inspector-scroll{flex:1 1 auto;min-height:0;padding:.75rem}.vfs-inspector-layout{display:block}.vfs-inspector-layout>*+*{margin-top:1rem}.vfs-inspector-card{border:var(--vfs-info-card-border);border-radius:var(--vfs-info-card-radius);background:var(--app-surface);overflow:hidden}.vfs-inspector-card-header{display:flex;justify-content:space-between;gap:var(--vfs-toolbar-gap);align-items:center;min-height:var(--vfs-toolbar-min-height);padding:var(--vfs-toolbar-padding-y) var(--vfs-info-padding-x);border-bottom:1px solid var(--app-border);background:var(--app-surface-2)}.vfs-inspector-collapse-toggle{width:100%;padding:0;border:0!important;background:transparent!important;color:inherit!important;text-align:left}.vfs-inspector-collapse-toggle:hover:not(:disabled),.vfs-inspector-collapse-toggle:focus-visible:not(:disabled){background:transparent!important;color:inherit!important}.vfs-inspector-card-title{margin:0;font-size:var(--vfs-title-font-size);line-height:var(--vfs-title-line-height);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vfs-inspector-card-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--vfs-toolbar-gap);width:100%;min-width:0}.vfs-inspector-card-title-wrap{flex:1 1 auto;min-width:0;overflow:hidden;display:flex;align-items:center;gap:var(--vfs-title-gap);flex-wrap:nowrap}.vfs-inspector-card-title-wrap .vfs-inspector-card-title{flex:1 1 auto;min-width:0}.vfs-inspector-card-actions{flex:0 0 auto;display:flex;align-items:center;gap:var(--vfs-toolbar-gap)}.vfs-inspector-tools-button{flex:0 0 auto;padding:.1rem .42rem;line-height:1}.vfs-inspector-card-body{padding:var(--vfs-info-padding-y) var(--vfs-info-padding-x)}.vfs-file-meta{display:grid;grid-template-columns:minmax(7rem,max-content) minmax(0,1fr);gap:.5rem .85rem;font-size:.92rem;align-items:start}.vfs-file-meta dt{margin:0;min-width:0;color:var(--app-muted);font-weight:600}.vfs-file-meta dd{margin:0;min-width:0;word-break:break-word}.vfs-file-meta-value{width:100%;justify-self:end;text-align:right;max-width:100%}.vfs-file-link-row{width:100%;display:flex;align-items:center;gap:.45rem;min-width:0}.vfs-file-link{display:block;min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vfs-file-link-copy{flex:0 0 auto;line-height:1;padding:.1rem .42rem}.vfs-file-devel-grid{display:grid;gap:.5rem}.vfs-file-devel-item{display:grid;gap:.1rem;min-width:0}.vfs-file-devel-label{color:var(--app-muted);font-size:.78rem;font-weight:600}.vfs-file-devel-item>span:last-child{min-width:0;overflow-wrap:anywhere}.vfs-preview{min-height:16rem;border:1px solid var(--app-border);border-radius:.9rem;background:var(--app-surface-2);overflow:hidden}.vfs-preview-document{min-height:24rem;height:min(60vh,42rem)}.vfs-preview-pdf{min-height:32rem;height:min(72vh,56rem)}.vfs-preview iframe,.vfs-preview img,.vfs-preview embed,.vfs-preview object,.vfs-preview video{width:100%;height:100%;border:0;display:block}.vfs-preview img{object-fit:contain;background:var(--app-surface)}.vfs-preview-placeholder{min-height:16rem;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.5rem;text-align:center;color:var(--app-muted)}.vfs-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--vfs-backdrop-bg, rgba(15, 23, 42, .55));display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1055}.vfs-modal-card{width:min(32rem,100%);background:var(--app-surface);color:var(--app-text);border:1px solid var(--app-border);border-radius:1rem;box-shadow:var(--app-shadow);overflow:hidden}.vfs-access-modal-card{width:min(56rem,100%)}.vfs-access-lookup-modal-card{width:min(42rem,100%)}.vfs-acl-index-modal-card{width:min(64rem,100%);max-height:min(80vh,56rem);display:flex;flex-direction:column}.vfs-modal-header,.vfs-modal-footer{padding:1rem 1.25rem;border-bottom:1px solid var(--app-border)}.vfs-modal-footer{border-top:1px solid var(--app-border);border-bottom:0;display:flex;justify-content:flex-end;gap:.75rem}.vfs-modal-body{padding:1.25rem}.vfs-access-modal-body{display:flex;flex-direction:column;gap:1rem}.vfs-access-lookup-modal-body{display:flex;flex-direction:column;gap:.75rem}.vfs-acl-index-modal-body{display:flex;flex-direction:column;gap:.9rem;min-height:0;max-height:calc(min(80vh,56rem) - 8.5rem);overflow:hidden}.vfs-access-rows{display:flex;flex-direction:column;gap:.75rem}.vfs-access-row{display:grid;grid-template-columns:6.5rem minmax(14rem,1fr) minmax(18rem,1.9fr) 6rem auto;gap:.5rem;align-items:start}.vfs-access-visibility-row{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap}.vfs-access-visibility-label{font-weight:600}.vfs-access-visibility-options{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.vfs-access-visibility-option{display:inline-flex;align-items:center;gap:.35rem;margin:0}.vfs-access-principal-inline{display:flex;flex-direction:column;gap:.25rem;min-width:0}.vfs-access-principal-input-wrap{position:relative;min-width:0}.vfs-access-principal-input{padding-right:2.3rem}.vfs-access-row .form-select-sm,.vfs-access-row .form-control-sm{min-width:0}.vfs-access-principal-open{position:absolute;top:50%;right:.25rem;transform:translateY(-50%);padding:.05rem .42rem;line-height:1}.vfs-access-principal-meta{display:flex;justify-content:space-between;gap:.5rem;align-items:center;min-width:0}.vfs-access-principal-meta .small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vfs-access-principal-pager{flex:0 0 auto;display:inline-flex;gap:.25rem}.vfs-access-lookup{border:1px solid var(--app-border);border-radius:.5rem;background:var(--app-surface-2);overflow:hidden}.vfs-access-lookup-list{display:flex;flex-direction:column;max-height:16rem;overflow:auto}.vfs-access-lookup-item{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;width:100%;padding:.45rem .55rem;border:0;border-bottom:1px solid var(--app-border);background:transparent;text-align:left}.vfs-access-lookup-item:last-child{border-bottom:0}.vfs-access-lookup-item:hover{background:var(--app-hover)}.vfs-access-lookup-item.is-selected{background:var(--app-selected-bg)}.vfs-access-lookup-item-label{font-size:.86rem;font-weight:600;color:var(--app-text)}.vfs-access-lookup-item-secondary{font-size:.74rem;color:var(--app-muted)}.vfs-access-lookup-status,.vfs-access-lookup-footer{padding:.4rem .55rem;font-size:.78rem;color:var(--app-muted)}.vfs-access-lookup-footer{border-top:1px solid var(--app-border)}.vfs-acl-index-tabs{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.vfs-acl-index-pager{display:inline-flex;align-items:center;gap:.45rem}.vfs-acl-index-list,.vfs-acl-rule-index-list{display:flex;flex-direction:column;gap:.75rem;min-height:0;flex:1 1 auto;overflow:auto}.vfs-acl-index-item,.vfs-acl-rule-group{border:1px solid var(--app-border);border-radius:.8rem;background:var(--app-surface-2);padding:.75rem .85rem}.vfs-acl-index-item{display:flex;justify-content:space-between;gap:1rem;align-items:start}.vfs-acl-index-item-main{display:flex;flex-direction:column;gap:.2rem;min-width:0}.vfs-acl-index-item-title{display:flex;align-items:center;gap:.35rem;min-width:0;font-weight:600}.vfs-acl-index-item-path{font-size:.8rem;color:var(--app-muted);word-break:break-word}.vfs-acl-index-item-side{display:flex;flex-direction:column;gap:.35rem;align-items:flex-end;flex:0 0 auto}.vfs-acl-index-count{font-size:.75rem;color:var(--app-muted)}.vfs-acl-rule-group-header{display:flex;justify-content:space-between;gap:1rem;align-items:start;margin-bottom:.55rem}.vfs-acl-rule-group-nodes{display:flex;flex-direction:column;gap:.4rem}.vfs-acl-rule-node{display:flex;align-items:center;gap:.45rem;width:100%;padding:.45rem .55rem;border:1px solid var(--app-border);border-radius:.6rem;background:var(--app-surface);text-align:left}.vfs-acl-rule-node:hover{background:var(--app-hover)}.vfs-acl-rule-node-open{flex:0 0 auto;color:inherit}.vfs-acl-rule-node-text{display:flex;flex-direction:column;gap:.1rem;min-width:0;flex:1 1 auto}.vfs-acl-rule-node-path{font-size:.78rem;color:var(--app-muted);word-break:break-word}.vfs-access-permissions{display:flex;flex-wrap:nowrap;gap:.35rem .55rem;padding:.32rem .45rem;border:1px solid var(--app-border);border-radius:.5rem;background:var(--app-surface-2);min-height:2rem;overflow-x:auto}.vfs-access-permission{display:inline-flex;align-items:center;gap:.35rem;margin:0;min-height:1.5rem;white-space:nowrap;flex:0 0 auto}.vfs-access-permission .form-check-input{margin-top:0}.vfs-modal-header h3{margin:0;font-size:1.05rem;font-weight:700}.vfs-explorer-page,.vfs-browse{--app-bg: var(--vfs-app-bg, #f5f7fb);--app-text: var(--vfs-app-text, #1f2937);--app-muted: var(--vfs-app-muted, #64748b);--app-surface: var(--vfs-app-surface, #ffffff);--app-surface-2: var(--vfs-app-surface-2, #f8fafc);--app-border: var(--vfs-app-border, #e5e7eb);--app-hover: var(--vfs-app-hover, #f1f5f9);--app-selected-bg: var(--vfs-app-selected-bg, #eff6ff);--app-selected-border: var(--vfs-app-selected-border, #bfdbfe);--app-drop-bg: var(--vfs-app-drop-bg, #ecfdf5);--app-drop-border: var(--vfs-app-drop-border, #86efac);--app-accent: var(--vfs-app-accent, #eba625);--app-accent-contrast: var(--vfs-app-accent-contrast, #ffffff);--app-split: var(--vfs-app-split, #cbd5e1);--app-shadow: var(--vfs-app-shadow, 0 20px 60px rgba(15, 23, 42, .18));--vfs-tree-row-min-height: 1.6rem;--vfs-tree-row-padding-y: .05rem;--vfs-tree-row-padding-x: .25rem;--vfs-tree-row-gap: .2rem;--vfs-tree-label-gap: 2px;--vfs-tree-font-size: 1em;--vfs-tree-line-height: 1.3;--vfs-tree-icon-size: .85rem;--vfs-button-border-width: 0px;--vfs-toolbar-min-height: 2.5rem;--vfs-toolbar-padding-y: .1rem;--vfs-toolbar-padding-x: 1rem;--vfs-toolbar-gap: .75rem;--vfs-toolbar-control-height: 2rem;--vfs-title-gap: 1rem;--vfs-title-font-size: 1rem;--vfs-title-line-height: 1.25;--vfs-title-subtitle-font-size: .85rem;--vfs-info-card-border: 0px solid var(--app-border);--vfs-info-card-radius: .5rem;--vfs-info-padding-x: .4rem;--vfs-info-padding-y: .75rem;--vfs-control-radius: .65rem;--vfs-control-border: 0px solid var(--app-border);--vfs-control-bg: var(--app-surface);--vfs-control-bg-hover: var(--app-hover);--vfs-control-text: var(--app-text);--vfs-control-muted: var(--app-muted);width:100%;height:100%;min-height:0;padding:0;background:var(--app-bg);color:var(--app-text)}.vfs-explorer-card{width:100%;height:100%;min-height:0;background:var(--app-surface);border:1px solid var(--app-border);border-radius:var(--vfs-card-radius, .9rem);box-shadow:none;overflow:hidden}.vfs-panel{height:100%;min-height:0;display:flex;flex-direction:column;background:var(--app-surface)}.vfs-panel-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--vfs-toolbar-gap);align-items:center;min-height:var(--vfs-toolbar-min-height);padding:var(--vfs-toolbar-padding-y) var(--vfs-toolbar-padding-x);border-bottom:1px solid var(--app-border);background:linear-gradient(180deg,var(--app-surface) 0%,var(--app-surface-2) 100%)}.vfs-panel-title{display:flex;flex-direction:column;gap:var(--vfs-title-gap)}.vfs-panel-title h2{margin:0;font-size:var(--vfs-title-font-size);line-height:var(--vfs-title-line-height);font-weight:700}.vfs-panel-title p{margin:0;color:var(--app-muted);font-size:var(--vfs-title-subtitle-font-size)}.vfs-panel-actions{display:flex;flex-wrap:nowrap;gap:var(--vfs-toolbar-gap);align-items:center;width:100%;min-width:0;overflow-x:auto}.vfs-panel-actions-group{display:flex;align-items:center;gap:var(--vfs-toolbar-gap);min-width:0;flex:0 0 auto}.vfs-panel-actions-group-right{margin-left:auto}.vfs-drag-preview-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;pointer-events:none}.vfs-drag-preview{position:absolute;max-width:min(20rem,calc(100vw - 2rem));padding:.4rem .65rem;border:1px solid var(--app-border);border-radius:.75rem;background:color-mix(in srgb,var(--app-surface) 72%,transparent);color:var(--app-text, #1f2937);box-shadow:var(--app-shadow);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:.85rem;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vfs-explorer-page .btn,.vfs-browse .btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-width:0;padding:.45rem .8rem;border:var(--vfs-control-border);border-width:var(--vfs-button-border-width);border-radius:var(--vfs-control-radius);background:var(--vfs-control-bg);color:var(--vfs-control-text);font:inherit;line-height:1.2;text-decoration:none;box-shadow:none;cursor:pointer;transition:background-color .12s ease,border-color .12s ease,color .12s ease,box-shadow .12s ease}.vfs-explorer-page .btn:hover,.vfs-browse .btn:hover{background:var(--vfs-control-bg-hover)}.vfs-explorer-page .btn:disabled,.vfs-browse .btn:disabled{opacity:.58;cursor:default}.vfs-explorer-page .btn-sm,.vfs-browse .btn-sm{padding:.38rem .7rem;font-size:.88rem}.vfs-explorer-page .btn-primary,.vfs-browse .btn-primary{border-color:color-mix(in srgb,var(--app-accent) 78%,black);background:var(--app-accent);color:var(--app-accent-contrast)}.vfs-explorer-page .btn-primary:hover,.vfs-browse .btn-primary:hover{background:color-mix(in srgb,var(--app-accent) 88%,black)}.vfs-explorer-page .btn-outline-primary,.vfs-browse .btn-outline-primary{border-color:color-mix(in srgb,var(--app-accent) 42%,var(--app-border));color:var(--app-accent);background:color-mix(in srgb,var(--app-accent) 7%,var(--app-surface))}.vfs-explorer-page .btn-outline-primary:hover,.vfs-browse .btn-outline-primary:hover{background:color-mix(in srgb,var(--app-accent) 12%,var(--app-surface))}.vfs-explorer-page .btn-outline-secondary,.vfs-browse .btn-outline-secondary{border-color:var(--app-border);color:var(--vfs-control-text);background:var(--app-surface)}.vfs-explorer-page .btn-outline-danger,.vfs-browse .btn-outline-danger{border-color:color-mix(in srgb,#dc2626 35%,var(--app-border));color:#b91c1c;background:color-mix(in srgb,#dc2626 7%,var(--app-surface))}.vfs-explorer-page .btn-outline-danger:hover,.vfs-browse .btn-outline-danger:hover{background:color-mix(in srgb,#dc2626 12%,var(--app-surface))}.vfs-panel-actions .btn,.vfs-toolbar .btn,.vfs-scope-select{min-height:var(--vfs-toolbar-control-height)}.vfs-explorer-page .btn-link,.vfs-browse .btn-link{border-color:transparent;background:transparent;color:var(--app-text);padding-inline:0;box-shadow:none}.vfs-explorer-page .btn-link:hover,.vfs-browse .btn-link:hover{background:transparent;color:var(--app-accent)}.vfs-explorer-page .btn.is-active,.vfs-browse .btn.is-active{box-shadow:0 0 0 2px #2563eb2e}.vfs-explorer-page .form-control,.vfs-explorer-page .form-select,.vfs-browse .form-control,.vfs-browse .form-select{width:100%;min-width:0;padding:.45rem .75rem;border:var(--vfs-control-border);border-width:var(--vfs-button-border-width);border-radius:var(--vfs-control-radius);background:var(--vfs-control-bg);color:var(--vfs-control-text);font:inherit;line-height:1.2;box-shadow:none;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.vfs-explorer-page .form-control::placeholder,.vfs-browse .form-control::placeholder{color:var(--vfs-control-muted)}.vfs-explorer-page .form-control:focus,.vfs-explorer-page .form-select:focus,.vfs-browse .form-control:focus,.vfs-browse .form-select:focus{outline:none;border-color:color-mix(in srgb,var(--app-accent) 45%,var(--app-border));box-shadow:0 0 0 2px color-mix(in srgb,var(--app-accent) 18%,transparent)}.vfs-toolbar{display:flex;align-items:center;gap:var(--vfs-toolbar-gap);width:100%;min-width:0}.vfs-toolbar-divider{width:1px;align-self:stretch;background:var(--app-border)}.vfs-toolbar-spacer{flex:1 1 auto}.vfs-scope-select{width:auto;min-width:7rem;max-width:12rem;flex:0 1 12rem}.vfs-scroll{min-height:0;overflow:auto}.vfs-split-handle,.vfs-split-handle-vertical{position:relative;flex:0 0 auto;background:var(--app-border)}.vfs-split-handle{width:1px}.vfs-split-handle-vertical{height:1px}.vfs-split-handle:after,.vfs-split-handle-vertical:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--app-split)}.vfs-split-handle:hover:after,.vfs-split-handle-vertical:hover:after{background:var(--app-muted)}.vfs-split-handle[data-resize-handle-state=drag]:after,.vfs-split-handle-vertical[data-resize-handle-state=drag]:after{background:var(--app-accent)}.vfs-split-handle:before{content:"";position:absolute;top:50%;left:50%;width:.35rem;height:3rem;transform:translate(-50%,-50%);border-radius:999px;background:var(--app-split)}.vfs-split-handle-vertical:before{content:"";position:absolute;top:50%;left:50%;width:3rem;height:.35rem;transform:translate(-50%,-50%);border-radius:999px;background:var(--app-split)}.vfs-breadcrumbs{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.vfs-breadcrumbs .btn{padding-inline:.6rem}@media(max-width:991.98px){.vfs-explorer-page{padding:0}.vfs-panel-header{padding:.8rem}.vfs-content-table th:nth-child(4),.vfs-content-table td:nth-child(4),.vfs-content-table th:nth-child(5),.vfs-content-table td:nth-child(5){display:none}.vfs-access-row{grid-template-columns:1fr}}.vfs-browse{--app-bg: var(--vfs-app-bg, #f5f7fb);--app-text: var(--vfs-app-text, #1f2937);--app-muted: var(--vfs-app-muted, #64748b);--app-surface: var(--vfs-app-surface, #ffffff);--app-surface-2: var(--vfs-app-surface-2, #f8fafc);--app-border: var(--vfs-app-border, #e5e7eb);--app-hover: var(--vfs-app-hover, #f1f5f9);--app-selected-bg: var(--vfs-app-selected-bg, #eff6ff);--app-selected-border: var(--vfs-app-selected-border, #bfdbfe);--app-drop-bg: var(--vfs-app-drop-bg, #ecfdf5);--app-drop-border: var(--vfs-app-drop-border, #86efac);--app-accent: var(--vfs-app-accent, #2563eb);--app-split: var(--vfs-app-split, #cbd5e1);--app-shadow: var(--vfs-app-shadow, 0 20px 60px rgba(15, 23, 42, .18));--vfs-browse-row-min-height: var(--vfs-tree-row-min-height, 1.6rem);--vfs-browse-row-gap: var(--vfs-tree-row-gap, .5rem);--vfs-browse-label-gap: var(--vfs-tree-label-gap, 2px);--vfs-browse-button-border-width: var(--vfs-button-border-width, 0px);--vfs-browse-directory-color: var(--app-text, #1f2937);--vfs-browse-file-color: var(--app-text, #1f2937);--vfs-browse-directory-font-style: normal;--vfs-browse-file-font-style: normal;--vfs-browse-directory-font-weight: 500;--vfs-browse-file-font-weight: 400;width:100%;height:100%;min-height:0;min-width:0;background:var(--app-bg);color:var(--app-text)}.vfs-browse .vfs-explorer-card,.vfs-browse .vfs-panel{height:100%}.vfs-browse .vfs-tree-scroll{padding-right:4px}.vfs-browse .btn{border-width:var(--vfs-browse-button-border-width)}.vfs-browse .vfs-tree-row{min-height:var(--vfs-browse-row-min-height);gap:var(--vfs-browse-row-gap)}.vfs-browse .vfs-tree-label{gap:var(--vfs-browse-label-gap)}.vfs-browse .vfs-browse-tree-label.is-directory,.vfs-browse .vfs-browse-tree-name.is-directory{color:var(--vfs-browse-directory-color);font-style:var(--vfs-browse-directory-font-style);font-weight:var(--vfs-browse-directory-font-weight)}.vfs-browse .vfs-browse-tree-label.is-file,.vfs-browse .vfs-browse-tree-name.is-file{color:var(--vfs-browse-file-color);font-style:var(--vfs-browse-file-font-style);font-weight:var(--vfs-browse-file-font-weight)}.vfs-upload{display:flex;flex-direction:column;gap:.75rem;color:var(--app-text)}.vfs-upload-header{display:flex;align-items:center;gap:.75rem}.vfs-upload-spacer{flex:1 1 auto}.vfs-upload-meta{color:var(--app-muted);font-size:.8rem}.vfs-upload-input{display:none}.vfs-upload-list{display:flex;flex-direction:column;gap:.5rem}.vfs-upload-item{display:flex;flex-direction:column;gap:.35rem;padding:.7rem .85rem;border:1px solid var(--app-border);border-radius:.8rem;background:var(--app-surface)}.vfs-upload-item-row{display:flex;align-items:center;gap:.75rem;min-width:0}.vfs-upload-item-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.vfs-upload-item-status{flex:0 0 auto;color:var(--app-muted);font-size:.82rem;white-space:nowrap}.vfs-upload-progress{position:relative;overflow:hidden;width:100%;height:.45rem;border-radius:999px;background:color-mix(in srgb,var(--app-border) 72%,transparent)}.vfs-upload-progress-fill{height:100%;border-radius:inherit;background:var(--app-accent);transition:width .12s ease}.vfs-upload-item.is-error .vfs-upload-progress-fill{background:#dc2626}.vfs-upload-item.is-done .vfs-upload-progress-fill{background:#16a34a}.vfs-upload-error{color:#f87171;font-size:.82rem;line-height:1.35}.vfs-upload-summary{color:var(--app-muted);font-size:.82rem}:root{--app-bg: var(--vfs-app-bg, #f5f7fb);--app-text: var(--vfs-app-text, #1f2937);--app-muted: var(--vfs-app-muted, #64748b);--app-surface: var(--vfs-app-surface, #ffffff);--app-surface-2: var(--vfs-app-surface-2, #f8fafc);--app-border: var(--vfs-app-border, #e5e7eb);--app-hover: var(--vfs-app-hover, #f1f5f9);--app-selected-bg: var(--vfs-app-selected-bg, #eff6ff);--app-selected-border: var(--vfs-app-selected-border, #bfdbfe);--app-drop-bg: var(--vfs-app-drop-bg, #ecfdf5);--app-drop-border: var(--vfs-app-drop-border, #86efac);--app-accent: var(--vfs-app-accent, #2563eb);--app-split: var(--vfs-app-split, #cbd5e1);--app-shadow: var(--vfs-app-shadow, 0 20px 60px rgba(15, 23, 42, .18))}html,body{height:100%;min-height:100vh;background:var(--app-bg);color:var(--app-text);margin:0}#root,.app-shell{height:100%;min-height:100vh}.app-navbar{background:var(--app-surface);border-color:var(--app-border)!important}.app-brand{color:var(--app-text)}.app-brand-stack{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.05rem;line-height:1.1}.app-brand-name{color:var(--app-text)}.app-brand-version{color:var(--app-muted);font-size:.72rem;font-weight:500;letter-spacing:.02em}.app-brand:hover,.app-brand:focus{color:var(--app-text)}.app-nav-link{color:var(--app-muted)}.app-nav-link:hover,.app-nav-link:focus,.app-nav-link.is-active{color:var(--app-text);background:var(--app-hover)}.app-user-label{color:var(--app-muted)}.app-user-menu{position:relative}.app-user-menu-trigger{display:inline-flex;align-items:center;gap:.55rem;min-width:0}.app-user-menu-trigger.is-open{border-color:var(--app-selected-border);background:var(--app-hover)}.app-user-avatar{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:999px;background:var(--app-selected-bg);color:var(--app-text);border:1px solid var(--app-selected-border);font-size:.75rem;font-weight:700;line-height:1}.app-user-menu-dropdown{position:absolute;top:calc(100% + .55rem);right:0;min-width:12rem;padding:.4rem;border-radius:.85rem;border:1px solid var(--app-border);background:var(--app-surface);box-shadow:var(--app-shadow);z-index:1035}.app-user-menu-item{width:100%;display:flex;align-items:center;padding:.55rem .75rem;border:0;border-radius:.6rem;background:transparent;color:var(--app-text);text-decoration:none;text-align:left;font-size:.92rem}.app-user-menu-item:hover,.app-user-menu-item:focus{background:var(--app-hover);color:var(--app-text)}.app-user-menu-item.is-danger{color:#dc2626}.app-user-menu-item.is-danger:hover,.app-user-menu-item.is-danger:focus{color:#dc2626;background:#dc262614}.app-user-menu-divider{height:1px;margin:.35rem 0;background:var(--app-border)}.app-main{position:relative;display:flex;flex:1 1 auto;min-height:0;width:100%}.app-graphql-shell{position:absolute;top:0;right:0;bottom:0;left:0;display:none;min-height:0;background:var(--app-surface)}.app-graphql-shell.is-active{display:block}.app-graphql-frame{display:block;width:100%;height:100%;min-height:0;border:0;background:#fff}.app-main-content{flex:1 1 auto;display:flex;min-height:0;width:100%}.app-main-content.is-hidden{visibility:hidden;pointer-events:none}.navbar .nav-link{border-radius:.5rem}.auth-card{max-width:420px}.auth-login-page{min-height:calc(100vh - 72px);display:flex;align-items:center;width:100%}.auth-login-page>.row{width:100%}.auth-card-version{font-size:.95rem}.json-view{font-size:.875rem;white-space:pre-wrap;word-break:break-word;background:var(--app-surface-2)!important;border-color:var(--app-border)!important}
