/* Enterprise Bootstrap Theme | MIT License | (c) 2026 Priya Vijai Kalyan */
.fileexplorer{--file-explorer-bg:var(--theme-surface-bg);--file-explorer-border:var(--theme-border-subtle);--file-explorer-font-size:0.8rem;--file-explorer-toolbar-bg:var(--theme-surface-raised-bg);--file-explorer-toolbar-border:var(--theme-border-subtle);--file-explorer-row-hover-bg:var(--theme-hover-bg);--file-explorer-row-selected-bg:rgba(208,235,255,.5);--file-explorer-row-selected-border:#1c7ed6;--file-explorer-row-border:var(--theme-hover-bg);--file-explorer-header-color:var(--theme-text-secondary);--file-explorer-group-color:var(--theme-text-muted);--file-explorer-group-font-size:0.625rem;--file-explorer-card-border:var(--theme-border-subtle);--file-explorer-breadcrumb-color:var(--theme-text-secondary);--file-explorer-breadcrumb-link-color:#1c7ed6;background-color:var(--file-explorer-bg);border:1px solid var(--file-explorer-border);border-radius:0;display:flex;flex-direction:column;font-size:var(--file-explorer-font-size);overflow:hidden;position:relative;width:100%}.fileexplorer-toolbar{align-items:center;background-color:var(--theme-surface-raised-bg);border-bottom:1px solid var(--theme-border-subtle);display:flex;flex-shrink:0;gap:4px;min-height:36px;padding:4px 8px}.fileexplorer-toolbar-btn{align-items:center;background:transparent;border:none;border-radius:0;color:var(--theme-text-secondary);cursor:pointer;display:inline-flex;font-size:.875rem;height:28px;justify-content:center;line-height:1;padding:0;width:28px}.fileexplorer-toolbar-btn:hover{background-color:var(--theme-active-bg)}.fileexplorer-toolbar-btn:focus{box-shadow:0 0 0 2px rgba(28,126,214,.25);outline:0}.fileexplorer-toolbar-btn-active{background-color:#d0ebff;color:#1864ab}.fileexplorer-toolbar-separator{background-color:var(--theme-border-color);flex-shrink:0;height:20px;margin:0 4px;width:1px}.fileexplorer-toolbar-spacer{flex:1}.fileexplorer-sort-select{background-color:var(--theme-surface-bg);border:1px solid var(--theme-border-color);border-radius:0;color:var(--theme-text-primary);cursor:pointer;font-size:.8rem;height:26px;padding:0 6px}.fileexplorer-sort-select:focus{border-color:#2196f3;box-shadow:0 0 0 2px rgba(28,126,214,.25);outline:0}.fileexplorer-split{display:flex;flex:1;overflow:hidden}.fileexplorer-tree-pane{background-color:var(--theme-surface-bg);border-right:1px solid var(--theme-border-subtle);flex-shrink:0;overflow-x:hidden;overflow-y:auto}.fileexplorer-tree{padding:4px 0}.fileexplorer-tree-item{align-items:center;color:var(--theme-text-primary);cursor:pointer;display:flex;font-size:.8rem;gap:4px;padding:4px 8px 4px 4px;transition:background-color .15s ease,box-shadow .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.fileexplorer-tree-item:hover{background-color:var(--theme-hover-bg);box-shadow:0 0 4px var(--theme-glow-color-hover,rgba(37,99,235,.18))}.fileexplorer-tree-item-active{background-color:rgba(208,235,255,.5);color:#1864ab;font-weight:600}.fileexplorer-tree-chevron{color:var(--theme-text-muted);flex-shrink:0;font-size:.625rem;text-align:center;transition:transform .15s ease;width:14px}.fileexplorer-tree-spacer{flex-shrink:0;width:14px}.fileexplorer-tree-icon{color:#f59e0b;flex-shrink:0;font-size:.875rem}.fileexplorer-tree-label{overflow:hidden;text-overflow:ellipsis}.fileexplorer-divider{background-color:var(--theme-border-subtle);cursor:col-resize;flex-shrink:0;position:relative;width:4px}.fileexplorer-divider:hover{background-color:var(--theme-border-color)}.fileexplorer-divider:active{background-color:#4dabf7}.fileexplorer-content-pane{display:flex;flex:1;flex-direction:column;min-width:200px;overflow:hidden}.fileexplorer-breadcrumbs{align-items:center;background-color:var(--theme-surface-bg);border-bottom:1px solid var(--theme-border-subtle);display:flex;flex-shrink:0;font-size:.8rem;gap:4px;min-height:28px;overflow-x:auto;padding:4px 10px;white-space:nowrap}.fileexplorer-breadcrumb-item{color:var(--theme-text-secondary);cursor:pointer;text-decoration:none}.fileexplorer-breadcrumb-item:hover{color:#1c7ed6;text-decoration:underline}.fileexplorer-breadcrumb-current{color:var(--theme-text-primary);font-weight:600}.fileexplorer-breadcrumb-separator{color:#94a3b8;font-size:.625rem}.fileexplorer-breadcrumb-home{font-size:.875rem}.fileexplorer-listing{flex:1;overflow-x:hidden;overflow-y:auto}.fileexplorer-listing:focus{outline:0}.fileexplorer-icon{color:var(--theme-text-secondary);flex-shrink:0;font-size:1rem}.fileexplorer-icon-folder{color:#f59e0b}.fileexplorer-name{color:var(--theme-text-primary);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fileexplorer-size{color:var(--theme-text-muted);flex-shrink:0;font-size:.8rem;margin-left:auto}.fileexplorer-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,120px);padding:8px}.fileexplorer-grid-item{align-items:center;background-color:var(--theme-surface-bg);border:1px solid var(--theme-border-subtle);border-radius:0;cursor:pointer;display:flex;flex-direction:column;gap:6px;height:100px;justify-content:center;padding:8px 4px;transition:background-color .15s ease,box-shadow .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:120px}.fileexplorer-grid-item:hover{background-color:var(--theme-hover-bg);box-shadow:0 0 6px var(--theme-glow-color-hover,rgba(37,99,235,.18))}.fileexplorer-grid-item:focus{outline:2px solid #4dabf7;outline-offset:-2px}.fileexplorer-grid-item-selected{background-color:rgba(208,235,255,.5);border-color:#1c7ed6;border-width:2px}.fileexplorer-grid-icon{color:var(--theme-text-secondary);font-size:32px}.fileexplorer-grid-item .fileexplorer-icon-folder{color:#f59e0b}.fileexplorer-grid-name{color:var(--theme-text-primary);font-size:.8rem;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.fileexplorer-list{padding:0}.fileexplorer-list-row{align-items:center;cursor:pointer;display:flex;gap:8px;height:28px;padding:0 10px;transition:background-color .15s ease,box-shadow .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fileexplorer-list-row:hover{background-color:var(--theme-hover-bg);box-shadow:0 0 4px var(--theme-glow-color-hover,rgba(37,99,235,.18))}.fileexplorer-list-row:focus{outline:1px dotted #64748b;outline-offset:-1px}.fileexplorer-list-row-selected{background-color:rgba(208,235,255,.5)}.fileexplorer-detail{display:flex;flex-direction:column}.fileexplorer-detail-header{align-items:center;background-color:var(--theme-surface-raised-bg);border-bottom:1px solid var(--theme-border-subtle);display:flex;flex-shrink:0;height:28px;position:sticky;top:0;z-index:1}.fileexplorer-detail-header-cell{align-items:center;color:var(--theme-text-secondary);display:flex;font-size:.8rem;font-weight:600;gap:4px;padding:0 10px;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.fileexplorer-detail-header-cell:hover{background-color:var(--theme-active-bg)}.fileexplorer-detail-header-sort{color:var(--theme-text-primary);font-size:.625rem}.fileexplorer-detail-row{align-items:center;border-bottom:1px solid var(--theme-hover-bg);cursor:pointer;display:flex;height:28px;transition:background-color .15s ease,box-shadow .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fileexplorer-detail-row:hover{background-color:var(--theme-hover-bg);box-shadow:0 0 4px var(--theme-glow-color-hover,rgba(37,99,235,.18))}.fileexplorer-detail-row:focus{outline:1px dotted #64748b;outline-offset:-1px}.fileexplorer-detail-row-selected{background-color:rgba(208,235,255,.5)}.fileexplorer-detail-cell{align-items:center;color:var(--theme-text-muted);display:flex;font-size:.8rem;gap:6px;overflow:hidden;padding:0 10px;text-overflow:ellipsis;white-space:nowrap}.fileexplorer-detail-cell-name{color:var(--theme-text-primary);flex:1;min-width:150px}.fileexplorer-detail-cell-date{flex-shrink:0;width:150px}.fileexplorer-detail-cell-size{flex-shrink:0;justify-content:flex-end;text-align:right;width:80px}.fileexplorer-detail-cell-type{flex-shrink:0;width:100px}.fileexplorer-rename-input{border:1px solid #a5d8ff;border-radius:0;font-size:.8rem;height:24px;outline:none;padding:0 4px;width:100%}.fileexplorer-rename-input:focus{border-color:#2196f3;box-shadow:0 0 0 2px rgba(28,126,214,.25)}.fileexplorer-status{align-items:center;background-color:var(--theme-surface-raised-bg);border-top:1px solid var(--theme-border-subtle);color:var(--theme-text-muted);display:flex;flex-shrink:0;font-size:.8rem;min-height:24px;padding:0 10px}.fileexplorer-empty{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:40px 20px;text-align:center}.fileexplorer-empty-icon{color:var(--theme-border-color);font-size:48px}.fileexplorer-empty-message{color:var(--theme-text-muted);font-size:.8rem;font-style:italic}.fileexplorer-empty-action{color:#1c7ed6;cursor:pointer;font-size:.8rem;text-decoration:none}.fileexplorer-empty-action:hover{text-decoration:underline}.fileexplorer-context-menu{background-color:var(--theme-surface-bg);border:1px solid var(--theme-border-color);border-radius:0;box-shadow:var(--theme-shadow-md);max-width:280px;min-width:160px;padding:4px 0;position:absolute;z-index:1050}.fileexplorer-context-item{align-items:center;background:none;border:none;color:var(--theme-text-primary);cursor:pointer;display:flex;font-size:.8rem;gap:8px;padding:6px 12px;text-align:left;width:100%}.fileexplorer-context-item:hover:not(:disabled){background-color:var(--theme-hover-bg)}.fileexplorer-context-item:disabled{color:#94a3b8;cursor:not-allowed}.fileexplorer-context-item:focus{background-color:var(--theme-hover-bg);outline:0}.fileexplorer-context-item-icon{color:var(--theme-text-secondary);flex-shrink:0;font-size:.875rem}.fileexplorer-context-item-label{flex:1}.fileexplorer-context-item-shortcut{color:var(--theme-text-muted);font-size:.7rem;margin-left:auto}.fileexplorer-context-separator{border-top:1px solid var(--theme-border-subtle);height:0;margin:4px 0}.fileexplorer-empty-description{color:var(--theme-text-muted);font-size:.8rem;max-width:300px}.fileexplorer-group-header{align-items:center;background-color:var(--theme-surface-raised-bg);border-bottom:1px solid var(--theme-border-subtle);color:var(--file-explorer-group-color,var(--theme-text-muted));display:flex;font-size:var(--file-explorer-group-font-size,.625rem);font-weight:600;letter-spacing:.04em;padding:6px 10px;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;user-select:none}.fileexplorer-grid .fileexplorer-group-header{grid-column:1/-1}.fileexplorer-detail-cell-custom{flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fileexplorer-drop-target{outline:2px dashed #4dabf7;outline-offset:-2px}.fileexplorer-dragging{opacity:.5}@keyframes fileexplorer-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.fileexplorer-skeleton-row{align-items:center;display:flex;gap:8px;height:28px;padding:0 10px}.fileexplorer-skeleton-bar{animation:fileexplorer-shimmer 1.5s linear infinite;background:linear-gradient(90deg,var(--theme-border-subtle) 25%,var(--theme-hover-bg) 50%,var(--theme-border-subtle) 75%);background-size:800px 100%;border-radius:0;height:12px}.fileexplorer-skeleton-bar-icon{flex-shrink:0;width:18px}.fileexplorer-skeleton-bar-name{flex:1;max-width:200px}.fileexplorer-skeleton-bar-meta{flex-shrink:0;width:80px}.fileexplorer-skeleton-card{animation:fileexplorer-shimmer 1.5s linear infinite;background:linear-gradient(90deg,var(--theme-border-subtle) 25%,var(--theme-hover-bg) 50%,var(--theme-border-subtle) 75%);background-size:800px 100%;border-radius:0;height:100px;width:120px}@media (prefers-reduced-motion:reduce){.fileexplorer-tree-chevron{transition:none}.fileexplorer-skeleton-bar,.fileexplorer-skeleton-card{animation:none}}