.fm-container{--fm-primary: #66523c;--fm-primary-light: #7d6650;--fm-bg-light: #ede9e4;--fm-text: #303030;--fm-text-muted: #6c757d;--fm-border: rgba(48, 48, 48, .15);--fm-border-dark: rgba(48, 48, 48, .25);--fm-white: #ffffff;--fm-shadow: 0 2px 8px rgba(0, 0, 0, .08);--fm-shadow-lg: 0 4px 16px rgba(0, 0, 0, .12);--fm-radius: 8px;--fm-radius-sm: 4px;--fm-sidebar-width: 280px;--fm-details-width: 320px}.fm-container{height:calc(100vh - 180px);min-height:500px}.fm-layout{display:flex;height:100%;background:var(--fm-white);border-radius:var(--fm-radius);overflow:hidden;box-shadow:var(--fm-shadow)}.fm-sidebar{width:var(--fm-sidebar-width);min-width:var(--fm-sidebar-width);background:var(--fm-bg-light);border-right:1px solid var(--fm-border);display:flex;flex-direction:column}.fm-sidebar-header{padding:16px;border-bottom:1px solid var(--fm-border)}.fm-sidebar-header h3{margin:0;font-size:14px;font-weight:600;color:var(--fm-text);display:flex;align-items:center;gap:8px}.fm-sidebar-header h3 i{color:var(--fm-primary)}.fm-sidebar-content{flex:1;overflow-y:auto;padding:8px}.fm-tree{display:flex;flex-direction:column;gap:8px}.fm-tree-new-folder{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--fm-white);border:1px dashed var(--fm-border-dark);border-radius:var(--fm-radius-sm);color:var(--fm-primary);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.fm-tree-new-folder:hover{background:var(--fm-primary);border-color:var(--fm-primary);color:var(--fm-white)}.fm-tree-list{display:flex;flex-direction:column}.fm-tree-empty{display:flex;flex-direction:column;align-items:center;padding:24px;color:var(--fm-text-muted);text-align:center}.fm-tree-empty i{font-size:32px;margin-bottom:8px;opacity:.5}.fm-tree-item{display:flex;flex-direction:column}.fm-tree-node{display:flex;align-items:center;padding:8px;border-radius:var(--fm-radius-sm);cursor:pointer;transition:all .15s;font-size:13px;color:var(--fm-text)}.fm-tree-node:hover{background:var(--fm-white)}.fm-tree-node.active{background:var(--fm-primary);color:var(--fm-white)}.fm-tree-toggle{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:none;border:none;padding:0;cursor:pointer;color:inherit;opacity:.6}.fm-tree-toggle:hover{opacity:1}.fm-tree-toggle-placeholder{width:20px}.fm-tree-icon{margin-right:8px;color:var(--fm-primary)}.fm-tree-node.active .fm-tree-icon{color:var(--fm-white)}.fm-tree-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-tree-lock{font-size:10px;margin-left:4px;opacity:.6}.fm-tree-count{background:var(--fm-border);padding:2px 6px;border-radius:10px;font-size:11px;margin-left:4px}.fm-tree-node.active .fm-tree-count{background:#fff3}.fm-tree-children{display:flex;flex-direction:column}.fm-tree-loading{display:flex;flex-direction:column;align-items:center;padding:24px;color:var(--fm-text-muted);text-align:center;gap:8px}.fm-tree-loading i{font-size:24px;color:var(--fm-primary)}.fm-tree-actions{display:flex;gap:4px;margin-left:auto;opacity:0;transition:opacity .2s}.fm-tree-node:hover .fm-tree-actions,.fm-tree-node.show-actions .fm-tree-actions{opacity:1}.fm-tree-action-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--fm-white);border:1px solid var(--fm-border);border-radius:var(--fm-radius-sm);color:var(--fm-text-muted);cursor:pointer;font-size:11px;transition:all .15s}.fm-tree-action-btn:hover{background:var(--fm-primary);border-color:var(--fm-primary);color:var(--fm-white)}.fm-tree-node.active .fm-tree-action-btn{background:#fff3;border-color:#ffffff4d;color:var(--fm-white)}.fm-tree-node.active .fm-tree-action-btn:hover{background:#ffffff4d}.fm-tree-action-btn.fm-btn-danger:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.fm-tree-node.active .fm-tree-action-btn.fm-btn-danger:hover{background:#dc26264d;border-color:#ffffff4d;color:var(--fm-white)}.fm-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.fm-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--fm-white);border-bottom:1px solid var(--fm-border);gap:16px}.fm-toolbar-left,.fm-toolbar-right{display:flex;align-items:center;gap:12px}.fm-search{position:relative}.fm-search-input-wrapper{position:relative;display:flex;align-items:center}.fm-search-input-wrapper i{position:absolute;left:12px;color:var(--fm-text-muted);font-size:14px}.fm-search-input{padding:8px 12px 8px 36px;border:1px solid var(--fm-border);border-radius:var(--fm-radius-sm);font-size:13px;width:250px;transition:all .2s}.fm-search-input:focus{outline:none;border-color:var(--fm-primary);box-shadow:0 0 0 3px #66523c1a}.fm-search-clear{position:absolute;right:8px;background:none;border:none;color:var(--fm-text-muted);cursor:pointer;padding:4px}.fm-search-clear:hover{color:var(--fm-text)}.fm-bulk-actions{display:flex;align-items:center;gap:12px;padding-left:12px;border-left:1px solid var(--fm-border)}.fm-bulk-count{font-size:13px;color:var(--fm-text-muted)}.fm-view-toggle{margin-left:auto}.fm-breadcrumb{display:flex;align-items:center;padding:12px 16px;background:var(--fm-bg-light);border-bottom:1px solid var(--fm-border);gap:4px;overflow-x:auto}.fm-breadcrumb-item{display:flex;align-items:center;gap:6px;padding:4px 8px;background:none;border:none;border-radius:var(--fm-radius-sm);font-size:13px;color:var(--fm-text-muted);cursor:pointer;transition:all .15s;white-space:nowrap}.fm-breadcrumb-item:hover{background:var(--fm-white);color:var(--fm-text)}.fm-breadcrumb-item.active{color:var(--fm-primary);font-weight:500}.fm-breadcrumb-separator{color:var(--fm-border-dark);font-size:10px}.fm-browser-container{flex:1;overflow-y:auto;padding:16px}.fm-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:300px;padding:48px;text-align:center;color:var(--fm-text-muted);background:linear-gradient(135deg,var(--fm-bg-light) 0%,var(--fm-white) 100%);border-radius:var(--fm-radius)}.fm-empty-state i:not(.fa-spin){font-size:64px;opacity:.3;margin-bottom:16px;color:var(--fm-primary)}.fm-empty-state h4{margin:0 0 8px;color:var(--fm-text);font-weight:600}.fm-empty-state p{margin:0;max-width:300px;line-height:1.5}.fm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.fm-card{background:var(--fm-white);border:1px solid var(--fm-border);border-radius:var(--fm-radius);padding:16px;cursor:pointer;transition:all .2s;position:relative}.fm-card:hover{border-color:var(--fm-primary);box-shadow:var(--fm-shadow)}.fm-card.selected{border-color:var(--fm-primary);background:#66523c0d}.fm-card.active{border-color:var(--fm-primary);box-shadow:0 0 0 2px var(--fm-primary)}.fm-card-checkbox{position:absolute;top:8px;left:8px}.fm-card-icon{font-size:48px;margin-bottom:12px;text-align:center}.fm-card-info{text-align:center}.fm-card-title{font-size:13px;font-weight:500;color:var(--fm-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px}.fm-card-meta{display:flex;justify-content:center;gap:8px;font-size:11px;color:var(--fm-text-muted)}.fm-card-actions{position:absolute;top:8px;right:8px;opacity:0;transition:opacity .2s}.fm-card:hover .fm-card-actions{opacity:1}.fm-list{border:1px solid var(--fm-border);border-radius:var(--fm-radius);overflow:hidden}.fm-list-header{display:flex;align-items:center;padding:10px 12px;background:var(--fm-bg-light);border-bottom:1px solid var(--fm-border);font-size:12px;font-weight:600;color:var(--fm-text-muted);text-transform:uppercase}.fm-list-body{background:var(--fm-white)}.fm-list-row{display:flex;align-items:center;padding:10px 12px;border-bottom:1px solid var(--fm-border);cursor:pointer;transition:background .15s}.fm-list-row:last-child{border-bottom:none}.fm-list-row:hover{background:var(--fm-bg-light)}.fm-list-row.selected{background:#66523c14}.fm-list-row.active{background:#66523c1f}.fm-list-col{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-list-col-check{width:32px;flex-shrink:0}.fm-list-col-name{flex:1;display:flex;align-items:center;min-width:200px}.fm-list-col-size{width:80px;flex-shrink:0;color:var(--fm-text-muted)}.fm-list-col-type{width:80px;flex-shrink:0}.fm-list-col-modified,.fm-list-col-uploaded-by{width:120px;flex-shrink:0;color:var(--fm-text-muted)}.fm-list-col-actions{width:100px;flex-shrink:0;text-align:right}.fm-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-file-type{display:inline-block;padding:2px 6px;background:var(--fm-bg-light);border-radius:var(--fm-radius-sm);font-size:11px;font-weight:500}.fm-linked-user{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:2px 8px;background:var(--fm-bg-light);border-radius:12px;font-size:11px;color:var(--fm-text-muted)}.fm-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--fm-primary)}.fm-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:none;border:none;border-radius:var(--fm-radius-sm);color:var(--fm-text-muted);cursor:pointer;transition:all .15s}.fm-btn-icon:hover{background:var(--fm-bg-light);color:var(--fm-text)}.fm-btn-icon.fm-btn-danger:hover{background:#fee2e2;color:#dc2626}.fm-details-panel{width:var(--fm-details-width);min-width:var(--fm-details-width);background:var(--fm-white);border-left:1px solid var(--fm-border);overflow-y:auto}.fm-details{padding:16px}.fm-details-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.fm-details-header h4{margin:0;font-size:14px;font-weight:600}.fm-details-preview{text-align:center;padding:24px 0;border-bottom:1px solid var(--fm-border);margin-bottom:16px}.fm-details-icon{font-size:64px;margin-bottom:12px}.fm-details-title{font-size:14px;font-weight:500;margin:0;word-break:break-word}.fm-details-meta{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.fm-details-row{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.fm-details-row-full{flex-direction:column}.fm-details-label{font-size:12px;color:var(--fm-text-muted);flex-shrink:0}.fm-details-value{font-size:13px;color:var(--fm-text);text-align:right;word-break:break-word}.fm-details-row-full .fm-details-value{text-align:left}.fm-details-description{margin:4px 0 0;font-size:13px;color:var(--fm-text)}.fm-details-versions-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px;background:var(--fm-bg-light);border:none;border-radius:var(--fm-radius-sm);font-size:13px;cursor:pointer;margin-bottom:16px}.fm-details-versions-toggle:hover{background:var(--fm-border)}.fm-details-versions{margin-bottom:16px}.fm-version-item{padding:10px;border:1px solid var(--fm-border);border-radius:var(--fm-radius-sm);margin-bottom:8px}.fm-version-info{display:flex;align-items:center;gap:8px;margin-bottom:4px}.fm-version-number{font-weight:600;color:var(--fm-primary)}.fm-version-date,.fm-version-size,.fm-version-meta{font-size:12px;color:var(--fm-text-muted)}.fm-version-comment{display:block;margin-top:4px;font-style:italic}.fm-details-actions{display:flex;gap:8px}.fm-details-actions .btn{flex:1}.fm-loading{display:flex;align-items:center;justify-content:center;height:100%}.fm-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.fm-spinner{position:relative;width:50px;height:50px}.fm-spinner-sm{width:24px;height:24px}.fm-spinner-lg{width:80px;height:80px}.fm-spinner-ring{position:absolute;width:100%;height:100%;border-radius:50%;border:3px solid transparent;animation:fm-spin 1.2s cubic-bezier(.5,0,.5,1) infinite}.fm-spinner-ring:nth-child(1){border-top-color:var(--fm-primary);animation-delay:-.45s}.fm-spinner-ring:nth-child(2){border-right-color:var(--fm-primary-light);animation-delay:-.3s;width:80%;height:80%;top:10%;left:10%}.fm-spinner-ring:nth-child(3){border-bottom-color:var(--fm-primary);animation-delay:-.15s;width:60%;height:60%;top:20%;left:20%}.fm-spinner-dot{position:absolute;width:8px;height:8px;background:var(--fm-primary);border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%);animation:fm-pulse 1.2s ease-in-out infinite}.fm-loader-text{margin-top:16px;color:var(--fm-text-muted);font-size:14px}.fm-spinner-inline{display:inline-flex;align-items:center;justify-content:center;color:var(--fm-primary)}.fm-spinner-inline i{font-size:inherit}@keyframes fm-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fm-pulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(.6);opacity:.5}}.fm-modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;top:0;right:0;bottom:0;left:0;background:#0009!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:1050!important;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.fm-modal{position:relative!important;margin:auto!important;transform:none!important;inset:auto!important;background:#fff;background-color:#fff!important;border-radius:var(--fm-radius);box-shadow:var(--fm-shadow-lg);width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;opacity:1!important;outline:none!important}.fm-modal-upload{max-width:600px}.fm-modal-move{max-width:450px}.fm-modal-folder{max-width:450px;background:var(--fm-white)!important}.fm-modal-overlay-dark{background:#000000d9}.fm-modal-preview{max-width:90vw;max-height:90vh;width:90vw;height:90vh}.fm-preview-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#1a1a1a;color:#fff}.fm-preview-title{display:flex;align-items:center;gap:10px;font-weight:500;font-size:14px}.fm-preview-title i{color:var(--fm-primary-light)}.fm-preview-actions{display:flex;gap:8px}.fm-preview-actions .fm-btn-icon{color:#fff;background:transparent;border:none;padding:8px;cursor:pointer;border-radius:4px;transition:background .2s}.fm-preview-actions .fm-btn-icon:hover{background:#ffffff1a}.fm-preview-body{flex:1;display:flex;align-items:center;justify-content:center;background:#2a2a2a;overflow:hidden}.fm-preview-loading{display:flex;flex-direction:column;align-items:center;gap:16px;color:#999}.fm-preview-error{display:flex;flex-direction:column;align-items:center;gap:12px;color:#dc3545;font-size:14px}.fm-preview-error i{font-size:48px}.fm-preview-image{max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center;padding:20px}.fm-preview-image img{max-width:100%;max-height:calc(90vh - 60px);object-fit:contain;border-radius:4px}.fm-preview-pdf{width:100%;height:100%}.fm-preview-pdf iframe{border:none}.fm-preview-video{display:flex;align-items:center;justify-content:center;width:100%;padding:20px}.fm-preview-video video{max-width:100%;max-height:calc(90vh - 100px)}.fm-preview-audio{display:flex;align-items:center;justify-content:center;padding:40px;width:100%}.fm-preview-audio audio{width:100%;max-width:500px}.fm-preview-text{width:100%;height:100%;padding:20px;overflow:auto;background:#1e1e1e}.fm-preview-text pre{margin:0;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.6;color:#d4d4d4;white-space:pre-wrap;word-wrap:break-word}.fm-preview-unsupported{display:flex;flex-direction:column;align-items:center;gap:16px;color:#999;padding:40px;text-align:center}.fm-preview-unsupported i{font-size:64px;opacity:.5}.fm-preview-unsupported p{margin:0;font-size:14px}.fm-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--fm-border);background:var(--fm-white);border-radius:var(--fm-radius) var(--fm-radius) 0 0}.fm-modal-header h3{margin:0;font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.fm-modal-header h3 i{color:var(--fm-primary)}.fm-modal-body{padding:20px;overflow-y:auto;flex:1;background:var(--fm-white)}.fm-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--fm-border);background:var(--fm-white);border-radius:0 0 var(--fm-radius) var(--fm-radius)}.fm-form-group{margin-bottom:16px}.fm-form-group label{display:block;font-size:13px;font-weight:500;margin-bottom:6px;color:var(--fm-text)}.fm-form-info{display:flex;align-items:center;gap:8px;padding:12px;background:var(--fm-bg-light);border-radius:var(--fm-radius-sm);font-size:13px}.fm-radio-group{display:flex;gap:16px}.fm-radio{display:flex;align-items:center;gap:8px;cursor:pointer}.fm-radio input{margin:0}.fm-radio-label{display:flex;align-items:center;gap:6px;font-size:13px}.fm-error{display:flex;align-items:center;gap:8px;padding:12px;background:#fee2e2;color:#dc2626;border-radius:var(--fm-radius-sm);margin-bottom:16px;font-size:13px}.fm-dropzone{border:2px dashed var(--fm-border-dark);border-radius:var(--fm-radius);padding:48px 24px;text-align:center;cursor:pointer;transition:all .2s;background:var(--fm-bg-light)}.fm-dropzone:hover,.fm-dropzone.dragging{border-color:var(--fm-primary);background:#66523c0d}.fm-dropzone i{font-size:48px;color:var(--fm-primary);margin-bottom:16px;opacity:.6}.fm-dropzone p{margin:0 0 4px;font-size:14px;font-weight:500;color:var(--fm-text)}.fm-dropzone span{font-size:12px;color:var(--fm-text-muted)}.fm-upload-list{margin-top:16px;max-height:200px;overflow-y:auto}.fm-upload-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--fm-white);border:1px solid var(--fm-border);border-radius:var(--fm-radius-sm);margin-bottom:8px}.fm-upload-item-info{display:flex;align-items:center;gap:8px;flex:1;overflow:hidden}.fm-upload-item-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-upload-item-size{font-size:12px;color:var(--fm-text-muted);flex-shrink:0}.fm-upload-progress{width:100px;height:4px;background:var(--fm-border);border-radius:2px;overflow:hidden}.fm-upload-progress-bar{height:100%;background:var(--fm-primary);transition:width .3s}.fm-upload-target{display:flex;align-items:center;gap:8px;margin-top:16px;padding:12px;background:var(--fm-bg-light);border-radius:var(--fm-radius-sm);font-size:13px}.fm-confirm-message{display:flex;align-items:flex-start;gap:16px}.fm-confirm-message i{font-size:32px;flex-shrink:0}.fm-confirm-message p{margin:0;font-size:14px;line-height:1.6}.fm-folder-list{max-height:300px;overflow-y:auto;border:1px solid var(--fm-border);border-radius:var(--fm-radius-sm)}.fm-folder-option{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;transition:background .15s;font-size:13px}.fm-folder-option:hover{background:var(--fm-bg-light)}.fm-folder-option.selected{background:var(--fm-primary);color:var(--fm-white)}.fm-folder-option i.fa-lock{font-size:10px;opacity:.6}.fm-move-info{margin-bottom:12px;font-size:14px}@media (max-width: 1024px){.fm-details-panel{display:none}}@media (max-width: 768px){.fm-layout{flex-direction:column}.fm-sidebar{width:100%;height:auto;max-height:200px;border-right:none;border-bottom:1px solid var(--fm-border)}.fm-toolbar{flex-wrap:wrap}.fm-search-input{width:100%}.fm-list-col-modified,.fm-list-col-uploaded-by{display:none}}.fm-dropzone-wrapper{position:relative;flex:1;display:flex;flex-direction:column}.fm-dropzone-wrapper.dragging{outline:2px dashed var(--fm-primary);outline-offset:-2px}.fm-dropzone-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#66523ce6;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:var(--fm-radius)}.fm-dropzone-content{text-align:center;color:var(--fm-white)}.fm-dropzone-content i{font-size:64px;margin-bottom:16px;opacity:.9}.fm-dropzone-content p{margin:0;font-size:18px;font-weight:500}.fm-modal-s3{max-width:650px}.fm-s3-scan-section{margin-bottom:20px}.fm-s3-scan-section label{display:block;font-size:13px;font-weight:500;margin-bottom:8px}.fm-s3-scan-input{display:flex;gap:8px}.fm-s3-scan-input input{flex:1}.fm-s3-files-section{margin-top:20px}.fm-s3-files-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.fm-s3-files-header label{font-size:13px;font-weight:500}.fm-s3-files-list{max-height:250px;overflow-y:auto;border:1px solid var(--fm-border);border-radius:var(--fm-radius-sm);margin-bottom:16px}.fm-s3-file-item{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer;transition:background .15s;border-bottom:1px solid var(--fm-border)}.fm-s3-file-item:last-child{border-bottom:none}.fm-s3-file-item:hover{background:var(--fm-bg-light)}.fm-s3-file-item.selected{background:#66523c14}.fm-s3-file-info{flex:1;overflow:hidden}.fm-s3-file-name{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fm-s3-file-meta{display:block;font-size:11px;color:var(--fm-text-muted);margin-top:2px}.fm-s3-import-section{margin-top:16px}.fm-s3-import-section label{display:block;font-size:13px;font-weight:500;margin-bottom:6px}.fm-s3-empty{display:flex;flex-direction:column;align-items:center;padding:40px 20px;color:var(--fm-text-muted);text-align:center}.fm-s3-empty i{font-size:48px;opacity:.4;margin-bottom:12px}.fm-modal-permissions{max-width:550px}.fm-modal-subtitle{font-weight:400;color:var(--fm-text-muted);margin-left:4px}.fm-permissions-visibility{display:flex;align-items:center;gap:12px;padding:12px;background:var(--fm-bg-light);border-radius:var(--fm-radius-sm);margin-bottom:20px;font-size:13px}.fm-visibility-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.fm-visibility-badge.public{background:#d1fae5;color:#065f46}.fm-visibility-badge.restricted{background:#fee2e2;color:#991b1b}.fm-add-permission{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--fm-border)}.fm-add-permission h5{font-size:13px;font-weight:600;margin-bottom:12px}.fm-add-permission-form{display:flex;gap:8px}.fm-add-permission-form select,.fm-add-permission-form .form-control{flex:1;font-size:13px}.fm-add-permission-form button{flex-shrink:0}.fm-permissions-list h5{font-size:13px;font-weight:600;margin-bottom:12px}.fm-permissions-empty{padding:20px;text-align:center;color:var(--fm-text-muted);background:var(--fm-bg-light);border-radius:var(--fm-radius-sm)}.fm-permissions-empty p{margin:0;font-size:13px}.fm-permissions-items{display:flex;flex-direction:column;gap:8px}.fm-permission-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--fm-bg-light);border-radius:var(--fm-radius-sm)}.fm-permission-info{display:flex;align-items:center;gap:10px}.fm-permission-type{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:500;text-transform:uppercase}.fm-permission-type.role{background:#dbeafe;color:#1e40af}.fm-permission-type.user{background:#fef3c7;color:#92400e}.fm-permission-name{font-size:13px;font-weight:500}.fm-permission-actions{display:flex;align-items:center;gap:8px}.fm-permission-actions select{width:auto;font-size:12px;padding:4px 8px}.fm-modal-edit{max-width:500px}.fm-form-group textarea{resize:vertical;min-height:80px}.fm-version-upload{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--fm-border)}.fm-version-upload-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background:var(--fm-bg-light);border:1px dashed var(--fm-border-dark);border-radius:var(--fm-radius-sm);font-size:13px;color:var(--fm-primary);cursor:pointer;transition:all .15s}.fm-version-upload-btn:hover{background:var(--fm-primary);border-style:solid;border-color:var(--fm-primary);color:var(--fm-white)}.fm-version-upload-form{display:flex;flex-direction:column;gap:8px}.fm-version-upload-actions{display:flex;gap:8px}.fm-version-revert-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--fm-bg-light);border:1px solid var(--fm-border);border-radius:var(--fm-radius-sm);color:var(--fm-text-muted);cursor:pointer;margin-left:auto;transition:all .15s}.fm-version-revert-btn:hover{background:var(--fm-primary);border-color:var(--fm-primary);color:var(--fm-white)}.fm-version-empty{padding:16px;text-align:center;color:var(--fm-text-muted);font-size:13px}.fm-version-empty p{margin:0}.fm-tree-separator{height:1px;background:var(--fm-border);margin:12px 0}.fm-tree-item-virtual .fm-tree-node-virtual{opacity:.95}.fm-tree-item-virtual .fm-tree-node-virtual:hover{background:#66523c14}.fm-tree-item-virtual .fm-tree-node-virtual.active{background:#66523c26}.fm-virtual-badge{opacity:.6}.fm-list-row.virtual-document{opacity:.9;background:linear-gradient(90deg,transparent 0%,rgba(102,82,60,.02) 100%)}.fm-list-row.virtual-document:hover{background:linear-gradient(90deg,#66523c0a,#66523c14)}.fm-source-badge{font-weight:500;text-transform:uppercase;letter-spacing:.3px}.fm-virtual-banner{animation:fadeIn .2s ease-out}.fm-card.virtual-document{opacity:.9;border:1px dashed var(--fm-border)}.fm-card.virtual-document:hover{border-color:var(--fm-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
