.file-manager {
  min-height: 300px;
}

.fm-actions {
  display: flex;
  gap: var(--space-xs);
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-xs);
  border-bottom: 1px solid var(--hairline);
}

.btn-sm {
  padding: 6px var(--space-md);
  font-size: var(--text-caption);
}

.fm-list::-webkit-scrollbar {
  width: 6px;
}

.fm-list::-webkit-scrollbar-thumb {
  background: var(--hairline);
  border-radius: 3px;
}

.fm-file {
  user-select: none;
}

.fm-file:hover {
  background: var(--canvas-soft);
}

.file-item {
  background: var(--surface);
  border: 1px solid var(--hairline);
  border-radius: var(--radius-md);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.file-item-preview {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--canvas-soft);
  overflow: hidden;
  min-height: 100px;
}

.file-item-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.file-item-preview .file-icon {
  font-size: 48px;
  opacity: 0.6;
}

.file-item-info {
  padding: var(--space-xs) var(--space-md);
  border-top: 1px solid var(--hairline);
  font-size: var(--text-caption);
  color: var(--ink-secondary);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.file-player {
  width: 100%;
  height: 100%;
  background: #000;
}

.file-player video,
.file-player audio {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
